@uiapplib/ngx-ui-web-lib 0.0.1

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 (820) hide show
  1. package/README.md +46 -0
  2. package/esm2022/lib/annimations/app-animations.mjs +37 -0
  3. package/esm2022/lib/components/add-employer/add-employer.component.mjs +3725 -0
  4. package/esm2022/lib/components/add-participant/add-participant.component.mjs +453 -0
  5. package/esm2022/lib/components/add-payment/add-payment.component.mjs +207 -0
  6. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  7. package/esm2022/lib/components/address/address.component.mjs +700 -0
  8. package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
  9. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
  10. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
  11. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
  12. package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -0
  13. package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
  14. package/esm2022/lib/components/card/card.component.mjs +55 -0
  15. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  16. package/esm2022/lib/components/contact-us/contact-us.component.mjs +958 -0
  17. package/esm2022/lib/components/content/content.component.mjs +61 -0
  18. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
  19. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +251 -0
  20. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +316 -0
  21. package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
  22. package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
  23. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
  24. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
  25. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
  26. package/esm2022/lib/components/email-update/email-update.component.mjs +283 -0
  27. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +950 -0
  28. package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
  29. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
  30. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
  31. package/esm2022/lib/components/error/error.component.mjs +103 -0
  32. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  33. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
  34. package/esm2022/lib/components/file-download/file-download.component.mjs +104 -0
  35. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +444 -0
  36. package/esm2022/lib/components/footer/footer.component.mjs +361 -0
  37. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  38. package/esm2022/lib/components/header/header.component.mjs +801 -0
  39. package/esm2022/lib/components/help/help.component.mjs +49 -0
  40. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  41. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
  42. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  43. package/esm2022/lib/components/info/info.component.mjs +179 -0
  44. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
  45. package/esm2022/lib/components/job-title/job-title.component.mjs +157 -0
  46. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +247 -0
  47. package/esm2022/lib/components/link/link.component.mjs +131 -0
  48. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
  49. package/esm2022/lib/components/mask/mask.component.mjs +48 -0
  50. package/esm2022/lib/components/menu/menu.component.mjs +420 -0
  51. package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
  52. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
  53. package/esm2022/lib/components/money-expect/money-expect.component.mjs +202 -0
  54. package/esm2022/lib/components/msg/msg.component.mjs +48 -0
  55. package/esm2022/lib/components/news/news.component.mjs +90 -0
  56. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
  57. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
  58. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
  59. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
  60. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
  61. package/esm2022/lib/components/page/page.component.mjs +136 -0
  62. package/esm2022/lib/components/profile/profile.component.mjs +901 -0
  63. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +140 -0
  64. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
  65. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
  66. package/esm2022/lib/components/questionnaire/AppValidators.mjs +790 -0
  67. package/esm2022/lib/components/questionnaire/FbConstants.mjs +8 -0
  68. package/esm2022/lib/components/questionnaire/SelectItem.mjs +2 -0
  69. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +355 -0
  70. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +732 -0
  71. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1096 -0
  72. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +2246 -0
  73. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1297 -0
  74. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +262 -0
  75. package/esm2022/lib/components/questionnaire/input-focus.directive.mjs +44 -0
  76. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +342 -0
  77. package/esm2022/lib/components/questionnaire/question-base.mjs +3 -0
  78. package/esm2022/lib/components/questionnaire/question-control.service.mjs +409 -0
  79. package/esm2022/lib/components/questionnaire/question.service.mjs +31 -0
  80. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +268 -0
  81. package/esm2022/lib/components/read-more/read-more.component.mjs +72 -0
  82. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +950 -0
  83. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  84. package/esm2022/lib/components/search-employer/search-employer.component.mjs +257 -0
  85. package/esm2022/lib/components/select/select.component.mjs +154 -0
  86. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +141 -0
  87. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  88. package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
  89. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
  90. package/esm2022/lib/components/test/test.component.mjs +19 -0
  91. package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
  92. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  93. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  94. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  95. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  96. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +1040 -0
  97. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +420 -0
  98. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +828 -0
  99. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  100. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  101. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  102. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  103. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  104. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  105. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +690 -0
  106. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  107. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  108. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  109. package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +31 -0
  110. package/esm2022/lib/directives/caps-lock.directive.mjs +38 -0
  111. package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +30 -0
  112. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  113. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  114. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  115. package/esm2022/lib/enums/EmailStatusEnum.mjs +9 -0
  116. package/esm2022/lib/guards/auth.guard.mjs +186 -0
  117. package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
  118. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +155 -0
  119. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +98 -0
  120. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  121. package/esm2022/lib/models/AddressComponentModel.mjs +3 -0
  122. package/esm2022/lib/models/BankDetailsComponentModel.mjs +3 -0
  123. package/esm2022/lib/models/BankDetailsModel.mjs +3 -0
  124. package/esm2022/lib/models/CinRequalificationCriteriaModel.mjs +3 -0
  125. package/esm2022/lib/models/CountyModel.mjs +3 -0
  126. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  127. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  128. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  129. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +6 -0
  130. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  131. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  132. package/esm2022/lib/models/ErrorModel.mjs +6 -0
  133. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  134. package/esm2022/lib/models/FileModel.mjs +2 -0
  135. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  136. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  137. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  138. package/esm2022/lib/models/LibConstants.mjs +171 -0
  139. package/esm2022/lib/models/NewsAndAnnouncementModel.mjs +3 -0
  140. package/esm2022/lib/models/NotificationModel.mjs +6 -0
  141. package/esm2022/lib/models/OtpAuthModel.mjs +3 -0
  142. package/esm2022/lib/models/PaymentComponentModel.mjs +2 -0
  143. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  144. package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
  145. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  146. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  147. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  148. package/esm2022/lib/models/SsaVerificationModel.mjs +3 -0
  149. package/esm2022/lib/models/TrendModel.mjs +3 -0
  150. package/esm2022/lib/models/UserDetailsModel.mjs +3 -0
  151. package/esm2022/lib/models/UserModel.mjs +6 -0
  152. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  153. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  154. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  155. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  156. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  157. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  158. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  159. package/esm2022/lib/models/case/CaseAttachmentModel.mjs +3 -0
  160. package/esm2022/lib/models/claimant/ClaimantModel.mjs +3 -0
  161. package/esm2022/lib/models/claimant/JobResultsData.mjs +3 -0
  162. package/esm2022/lib/models/claimant/MatchingJobs.mjs +3 -0
  163. package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +3 -0
  164. package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
  165. package/esm2022/lib/models/cmp/ComplaintCategoryModel.mjs +3 -0
  166. package/esm2022/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -0
  167. package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
  168. package/esm2022/lib/models/cmp/EmailTemplateModel.mjs +3 -0
  169. package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
  170. package/esm2022/lib/models/cmp/messageRourceModel.mjs +3 -0
  171. package/esm2022/lib/models/combo-model.mjs +343 -0
  172. package/esm2022/lib/models/dashboard-model.mjs +3 -0
  173. package/esm2022/lib/models/dependent.model.mjs +8 -0
  174. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  175. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  176. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  177. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  178. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  179. package/esm2022/lib/models/questionnaire/AutocoderModel.mjs +3 -0
  180. package/esm2022/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +3 -0
  181. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +8 -0
  182. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +7 -0
  183. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +3 -0
  184. package/esm2022/lib/models/questionnaire/ComboModel.mjs +453 -0
  185. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +8 -0
  186. package/esm2022/lib/models/questionnaire/EmployerDetailSearchResult.mjs +3 -0
  187. package/esm2022/lib/models/questionnaire/EmployerWagesModel.mjs +3 -0
  188. package/esm2022/lib/models/questionnaire/FBConfigModel.mjs +6 -0
  189. package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +3 -0
  190. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +3 -0
  191. package/esm2022/lib/models/questionnaire/LoaderModel.mjs +3 -0
  192. package/esm2022/lib/models/questionnaire/PollingStatusModel.mjs +3 -0
  193. package/esm2022/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +3 -0
  194. package/esm2022/lib/models/questionnaire/QuestionnaireQueryModel.mjs +8 -0
  195. package/esm2022/lib/models/questionnaire/QuestionnaireReturnModel.mjs +11 -0
  196. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +3 -0
  197. package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
  198. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  199. package/esm2022/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -0
  200. package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
  201. package/esm2022/lib/models/questionnaire/SuccessPageElement.mjs +3 -0
  202. package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
  203. package/esm2022/lib/models/questionnaire/ValidationModel.mjs +3 -0
  204. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  205. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  206. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  207. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  208. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  209. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  210. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  211. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  212. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  213. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
  214. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +522 -0
  215. package/esm2022/lib/ngx-reusa-app-lib.service.mjs +14 -0
  216. package/esm2022/lib/pages/BasePage.mjs +79 -0
  217. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
  218. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +489 -0
  219. package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
  220. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
  221. package/esm2022/lib/pages/common/login/login.component.mjs +527 -0
  222. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
  223. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
  224. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
  225. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
  226. package/esm2022/lib/pages/popovers/language/language.page.mjs +61 -0
  227. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
  228. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +134 -0
  229. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
  230. package/esm2022/lib/pipes/filter.pipe.mjs +30 -0
  231. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  232. package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +23 -0
  233. package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +27 -0
  234. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -0
  235. package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +20 -0
  236. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  237. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  238. package/esm2022/lib/services/base-service.mjs +53 -0
  239. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  240. package/esm2022/lib/services/captcha/captcha.service.mjs +46 -0
  241. package/esm2022/lib/services/case-service/case.service.mjs +47 -0
  242. package/esm2022/lib/services/chatbot/chatbot.service.mjs +257 -0
  243. package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
  244. package/esm2022/lib/services/claimant/claimant.service.mjs +31 -0
  245. package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
  246. package/esm2022/lib/services/claimant-service/claimant.service.mjs +56 -0
  247. package/esm2022/lib/services/claims/claims.service.mjs +193 -0
  248. package/esm2022/lib/services/cmp-service/cmp.service.mjs +84 -0
  249. package/esm2022/lib/services/dms-service/dms.service.mjs +60 -0
  250. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  251. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  252. package/esm2022/lib/services/fpjs/fingerprint.service.mjs +70 -0
  253. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +29 -0
  254. package/esm2022/lib/services/help/help.service.mjs +63 -0
  255. package/esm2022/lib/services/idle/idle.service.mjs +159 -0
  256. package/esm2022/lib/services/logger/logger.service.mjs +67 -0
  257. package/esm2022/lib/services/login/login.service.mjs +358 -0
  258. package/esm2022/lib/services/maintenance/maintenance.service.mjs +21 -0
  259. package/esm2022/lib/services/notification/notification.service.mjs +113 -0
  260. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  261. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +72 -0
  262. package/esm2022/lib/services/questionnaire/validation.service.mjs +62 -0
  263. package/esm2022/lib/services/security-service/security.service.mjs +59 -0
  264. package/esm2022/lib/services/tour/tour.service.mjs +60 -0
  265. package/esm2022/lib/services/util/util.service.mjs +506 -0
  266. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  267. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +214 -0
  268. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  269. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  270. package/esm2022/lib/validations/AppRegex.mjs +49 -0
  271. package/esm2022/lib/validations/AppValidators.mjs +269 -0
  272. package/esm2022/public-api.mjs +180 -0
  273. package/esm2022/uiapplib-ngx-ui-web-lib.mjs +5 -0
  274. package/fesm2022/uiapplib-ngx-ui-web-lib.mjs +51647 -0
  275. package/fesm2022/uiapplib-ngx-ui-web-lib.mjs.map +1 -0
  276. package/index.d.ts +6 -0
  277. package/lib/annimations/app-animations.d.ts +4 -0
  278. package/lib/annimations/app-animations.d.ts.map +1 -0
  279. package/lib/components/add-employer/add-employer.component.d.ts +318 -0
  280. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -0
  281. package/lib/components/add-participant/add-participant.component.d.ts +55 -0
  282. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -0
  283. package/lib/components/add-payment/add-payment.component.d.ts +39 -0
  284. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -0
  285. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  286. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  287. package/lib/components/address/address.component.d.ts +108 -0
  288. package/lib/components/address/address.component.d.ts.map +1 -0
  289. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  290. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  291. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  292. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  293. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  294. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  295. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  296. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  297. package/lib/components/bank-details/bank-details.component.d.ts +40 -0
  298. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -0
  299. package/lib/components/captcha/captcha.component.d.ts +45 -0
  300. package/lib/components/captcha/captcha.component.d.ts.map +1 -0
  301. package/lib/components/card/card.component.d.ts +12 -0
  302. package/lib/components/card/card.component.d.ts.map +1 -0
  303. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  304. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  305. package/lib/components/contact-us/contact-us.component.d.ts +106 -0
  306. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -0
  307. package/lib/components/content/content.component.d.ts +14 -0
  308. package/lib/components/content/content.component.d.ts.map +1 -0
  309. package/lib/components/correspondence-download/correspondence-download.component.d.ts +22 -0
  310. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -0
  311. package/lib/components/dashboard-card/dashboard-card.component.d.ts +26 -0
  312. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -0
  313. package/lib/components/dependent-grid/dependent-grid.component.d.ts +36 -0
  314. package/lib/components/dependent-grid/dependent-grid.component.d.ts.map +1 -0
  315. package/lib/components/disclosure/disclosure.component.d.ts +13 -0
  316. package/lib/components/disclosure/disclosure.component.d.ts.map +1 -0
  317. package/lib/components/dropdown/dropdown.component.d.ts +582 -0
  318. package/lib/components/dropdown/dropdown.component.d.ts.map +1 -0
  319. package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
  320. package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
  321. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  322. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  323. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  324. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  325. package/lib/components/email-update/email-update.component.d.ts +32 -0
  326. package/lib/components/email-update/email-update.component.d.ts.map +1 -0
  327. package/lib/components/employer-grid/employer-grid.component.d.ts +100 -0
  328. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -0
  329. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  330. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  331. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  332. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  333. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  334. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  335. package/lib/components/error/error.component.d.ts +19 -0
  336. package/lib/components/error/error.component.d.ts.map +1 -0
  337. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  338. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  339. package/lib/components/fav-menu/fav-menu.component.d.ts +22 -0
  340. package/lib/components/fav-menu/fav-menu.component.d.ts.map +1 -0
  341. package/lib/components/file-download/file-download.component.d.ts +23 -0
  342. package/lib/components/file-download/file-download.component.d.ts.map +1 -0
  343. package/lib/components/file-uploader/file-uploader.component.d.ts +52 -0
  344. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -0
  345. package/lib/components/footer/footer.component.d.ts +37 -0
  346. package/lib/components/footer/footer.component.d.ts.map +1 -0
  347. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  348. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  349. package/lib/components/header/header.component.d.ts +76 -0
  350. package/lib/components/header/header.component.d.ts.map +1 -0
  351. package/lib/components/help/help.component.d.ts +11 -0
  352. package/lib/components/help/help.component.d.ts.map +1 -0
  353. package/lib/components/history-page/history-page.component.d.ts +80 -0
  354. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  355. package/lib/components/idle-detector/idle-detector.component.d.ts +16 -0
  356. package/lib/components/idle-detector/idle-detector.component.d.ts.map +1 -0
  357. package/lib/components/idme/idme.component.d.ts +19 -0
  358. package/lib/components/idme/idme.component.d.ts.map +1 -0
  359. package/lib/components/info/info.component.d.ts +23 -0
  360. package/lib/components/info/info.component.d.ts.map +1 -0
  361. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +22 -0
  362. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -0
  363. package/lib/components/job-title/job-title.component.d.ts +37 -0
  364. package/lib/components/job-title/job-title.component.d.ts.map +1 -0
  365. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +38 -0
  366. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -0
  367. package/lib/components/link/link.component.d.ts +35 -0
  368. package/lib/components/link/link.component.d.ts.map +1 -0
  369. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +16 -0
  370. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts.map +1 -0
  371. package/lib/components/mask/mask.component.d.ts +12 -0
  372. package/lib/components/mask/mask.component.d.ts.map +1 -0
  373. package/lib/components/menu/menu.component.d.ts +45 -0
  374. package/lib/components/menu/menu.component.d.ts.map +1 -0
  375. package/lib/components/mfa/mfa.component.d.ts +60 -0
  376. package/lib/components/mfa/mfa.component.d.ts.map +1 -0
  377. package/lib/components/mfa-popup/mfa-popup.component.d.ts +17 -0
  378. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -0
  379. package/lib/components/money-expect/money-expect.component.d.ts +30 -0
  380. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -0
  381. package/lib/components/msg/msg.component.d.ts +11 -0
  382. package/lib/components/msg/msg.component.d.ts.map +1 -0
  383. package/lib/components/news/news.component.d.ts +15 -0
  384. package/lib/components/news/news.component.d.ts.map +1 -0
  385. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  386. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  387. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  388. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  389. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  390. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  391. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  392. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  393. package/lib/components/overlay-info/overlay-info.component.d.ts +35 -0
  394. package/lib/components/overlay-info/overlay-info.component.d.ts.map +1 -0
  395. package/lib/components/page/page.component.d.ts +24 -0
  396. package/lib/components/page/page.component.d.ts.map +1 -0
  397. package/lib/components/profile/profile.component.d.ts +107 -0
  398. package/lib/components/profile/profile.component.d.ts.map +1 -0
  399. package/lib/components/profile-redirect/profile-redirect.component.d.ts +21 -0
  400. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -0
  401. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  402. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  403. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  404. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  405. package/lib/components/questionnaire/AppValidators.d.ts +17 -0
  406. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -0
  407. package/lib/components/questionnaire/FbConstants.d.ts +8 -0
  408. package/lib/components/questionnaire/FbConstants.d.ts.map +1 -0
  409. package/lib/components/questionnaire/SelectItem.d.ts +5 -0
  410. package/lib/components/questionnaire/SelectItem.d.ts.map +1 -0
  411. package/lib/components/questionnaire/account-success/account-success.page.d.ts +64 -0
  412. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -0
  413. package/lib/components/questionnaire/common-success/common-success.page.d.ts +83 -0
  414. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -0
  415. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +49 -0
  416. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -0
  417. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +126 -0
  418. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -0
  419. package/lib/components/questionnaire/dynamic-form.component.d.ts +137 -0
  420. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -0
  421. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +67 -0
  422. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -0
  423. package/lib/components/questionnaire/input-focus.directive.d.ts +12 -0
  424. package/lib/components/questionnaire/input-focus.directive.d.ts.map +1 -0
  425. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +45 -0
  426. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -0
  427. package/lib/components/questionnaire/question-base.d.ts +17 -0
  428. package/lib/components/questionnaire/question-base.d.ts.map +1 -0
  429. package/lib/components/questionnaire/question-control.service.d.ts +21 -0
  430. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -0
  431. package/lib/components/questionnaire/question.service.d.ts +18 -0
  432. package/lib/components/questionnaire/question.service.d.ts.map +1 -0
  433. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +77 -0
  434. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -0
  435. package/lib/components/read-more/read-more.component.d.ts +15 -0
  436. package/lib/components/read-more/read-more.component.d.ts.map +1 -0
  437. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +76 -0
  438. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -0
  439. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  440. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  441. package/lib/components/search-employer/search-employer.component.d.ts +41 -0
  442. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -0
  443. package/lib/components/select/select.component.d.ts +56 -0
  444. package/lib/components/select/select.component.d.ts.map +1 -0
  445. package/lib/components/sign-ssn/sign-ssn.component.d.ts +34 -0
  446. package/lib/components/sign-ssn/sign-ssn.component.d.ts.map +1 -0
  447. package/lib/components/sms/sms.component.d.ts +63 -0
  448. package/lib/components/sms/sms.component.d.ts.map +1 -0
  449. package/lib/components/ssn/ssn.component.d.ts +12 -0
  450. package/lib/components/ssn/ssn.component.d.ts.map +1 -0
  451. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +23 -0
  452. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -0
  453. package/lib/components/test/test.component.d.ts +9 -0
  454. package/lib/components/test/test.component.d.ts.map +1 -0
  455. package/lib/components/user-login/user-login.component.d.ts +49 -0
  456. package/lib/components/user-login/user-login.component.d.ts.map +1 -0
  457. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  458. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  459. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  460. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  461. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  462. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  463. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  464. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  465. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +84 -0
  466. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -0
  467. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +53 -0
  468. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -0
  469. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  470. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  471. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  472. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  473. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  474. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  475. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  476. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  477. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  478. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  479. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  480. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  481. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  482. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  483. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  484. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  485. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  486. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  487. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  488. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  489. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  490. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  491. package/lib/directives/auto-focus/auto-focus.directive.d.ts +13 -0
  492. package/lib/directives/auto-focus/auto-focus.directive.d.ts.map +1 -0
  493. package/lib/directives/caps-lock.directive.d.ts +12 -0
  494. package/lib/directives/caps-lock.directive.d.ts.map +1 -0
  495. package/lib/directives/required-roles/required-roles.directive.d.ts +15 -0
  496. package/lib/directives/required-roles/required-roles.directive.d.ts.map +1 -0
  497. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  498. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  499. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  500. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  501. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  502. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  503. package/lib/enums/EmailStatusEnum.d.ts +8 -0
  504. package/lib/enums/EmailStatusEnum.d.ts.map +1 -0
  505. package/lib/guards/auth.guard.d.ts +29 -0
  506. package/lib/guards/auth.guard.d.ts.map +1 -0
  507. package/lib/guards/no-login/no-login.guard.d.ts +12 -0
  508. package/lib/guards/no-login/no-login.guard.d.ts.map +1 -0
  509. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +23 -0
  510. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -0
  511. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +22 -0
  512. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -0
  513. package/lib/models/ActiveClaimModel.d.ts +8 -0
  514. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  515. package/lib/models/AddressComponentModel.d.ts +14 -0
  516. package/lib/models/AddressComponentModel.d.ts.map +1 -0
  517. package/lib/models/BankDetailsComponentModel.d.ts +12 -0
  518. package/lib/models/BankDetailsComponentModel.d.ts.map +1 -0
  519. package/lib/models/BankDetailsModel.d.ts +5 -0
  520. package/lib/models/BankDetailsModel.d.ts.map +1 -0
  521. package/lib/models/CinRequalificationCriteriaModel.d.ts +11 -0
  522. package/lib/models/CinRequalificationCriteriaModel.d.ts.map +1 -0
  523. package/lib/models/CountyModel.d.ts +8 -0
  524. package/lib/models/CountyModel.d.ts.map +1 -0
  525. package/lib/models/DuaAppDataModel.d.ts +5 -0
  526. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  527. package/lib/models/DuaRequestModel.d.ts +10 -0
  528. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  529. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  530. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  531. package/lib/models/EmployerDetailSearchResult.d.ts +54 -0
  532. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -0
  533. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  534. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  535. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  536. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  537. package/lib/models/ErrorModel.d.ts +7 -0
  538. package/lib/models/ErrorModel.d.ts.map +1 -0
  539. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  540. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  541. package/lib/models/FileModel.d.ts +5 -0
  542. package/lib/models/FileModel.d.ts.map +1 -0
  543. package/lib/models/GrossEarningsModel.d.ts +6 -0
  544. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  545. package/lib/models/HelpConstants.d.ts +5 -0
  546. package/lib/models/HelpConstants.d.ts.map +1 -0
  547. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  548. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  549. package/lib/models/LibConstants.d.ts +162 -0
  550. package/lib/models/LibConstants.d.ts.map +1 -0
  551. package/lib/models/NewsAndAnnouncementModel.d.ts +6 -0
  552. package/lib/models/NewsAndAnnouncementModel.d.ts.map +1 -0
  553. package/lib/models/NotificationModel.d.ts +11 -0
  554. package/lib/models/NotificationModel.d.ts.map +1 -0
  555. package/lib/models/OtpAuthModel.d.ts +7 -0
  556. package/lib/models/OtpAuthModel.d.ts.map +1 -0
  557. package/lib/models/PaymentComponentModel.d.ts +8 -0
  558. package/lib/models/PaymentComponentModel.d.ts.map +1 -0
  559. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  560. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  561. package/lib/models/RequalifyLiftPageModel.d.ts +12 -0
  562. package/lib/models/RequalifyLiftPageModel.d.ts.map +1 -0
  563. package/lib/models/RetroWeeksModel.d.ts +11 -0
  564. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  565. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  566. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  567. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  568. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  569. package/lib/models/SsaVerificationModel.d.ts +9 -0
  570. package/lib/models/SsaVerificationModel.d.ts.map +1 -0
  571. package/lib/models/TrendModel.d.ts +14 -0
  572. package/lib/models/TrendModel.d.ts.map +1 -0
  573. package/lib/models/UserDetailsModel.d.ts +10 -0
  574. package/lib/models/UserDetailsModel.d.ts.map +1 -0
  575. package/lib/models/UserModel.d.ts +47 -0
  576. package/lib/models/UserModel.d.ts.map +1 -0
  577. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  578. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  579. package/lib/models/WageCalculatorModel.d.ts +15 -0
  580. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  581. package/lib/models/WageInfoModel.d.ts +9 -0
  582. package/lib/models/WageInfoModel.d.ts.map +1 -0
  583. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  584. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  585. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  586. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  587. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  588. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  589. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  590. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  591. package/lib/models/case/CaseAttachmentModel.d.ts +6 -0
  592. package/lib/models/case/CaseAttachmentModel.d.ts.map +1 -0
  593. package/lib/models/claimant/ClaimantModel.d.ts +23 -0
  594. package/lib/models/claimant/ClaimantModel.d.ts.map +1 -0
  595. package/lib/models/claimant/JobResultsData.d.ts +8 -0
  596. package/lib/models/claimant/JobResultsData.d.ts.map +1 -0
  597. package/lib/models/claimant/MatchingJobs.d.ts +13 -0
  598. package/lib/models/claimant/MatchingJobs.d.ts.map +1 -0
  599. package/lib/models/claimant/ResetPasswordModel.d.ts +9 -0
  600. package/lib/models/claimant/ResetPasswordModel.d.ts.map +1 -0
  601. package/lib/models/cmp/CaseCoreModel.d.ts +21 -0
  602. package/lib/models/cmp/CaseCoreModel.d.ts.map +1 -0
  603. package/lib/models/cmp/ComplaintCategoryModel.d.ts +9 -0
  604. package/lib/models/cmp/ComplaintCategoryModel.d.ts.map +1 -0
  605. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +6 -0
  606. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts.map +1 -0
  607. package/lib/models/cmp/ContactUsModel.d.ts +23 -0
  608. package/lib/models/cmp/ContactUsModel.d.ts.map +1 -0
  609. package/lib/models/cmp/EmailTemplateModel.d.ts +7 -0
  610. package/lib/models/cmp/EmailTemplateModel.d.ts.map +1 -0
  611. package/lib/models/cmp/contactUsInqueryModel.d.ts +47 -0
  612. package/lib/models/cmp/contactUsInqueryModel.d.ts.map +1 -0
  613. package/lib/models/cmp/messageRourceModel.d.ts +6 -0
  614. package/lib/models/cmp/messageRourceModel.d.ts.map +1 -0
  615. package/lib/models/combo-model.d.ts +42 -0
  616. package/lib/models/combo-model.d.ts.map +1 -0
  617. package/lib/models/dashboard-model.d.ts +66 -0
  618. package/lib/models/dashboard-model.d.ts.map +1 -0
  619. package/lib/models/dependent.model.d.ts +20 -0
  620. package/lib/models/dependent.model.d.ts.map +1 -0
  621. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  622. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  623. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  624. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  625. package/lib/models/fileupload/FileObject.d.ts +8 -0
  626. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  627. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  628. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  629. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  630. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  631. package/lib/models/questionnaire/AutocoderModel.d.ts +9 -0
  632. package/lib/models/questionnaire/AutocoderModel.d.ts.map +1 -0
  633. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +9 -0
  634. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts.map +1 -0
  635. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +21 -0
  636. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -0
  637. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +167 -0
  638. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -0
  639. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +21 -0
  640. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -0
  641. package/lib/models/questionnaire/ComboModel.d.ts +110 -0
  642. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -0
  643. package/lib/models/questionnaire/ElementsModel.d.ts +70 -0
  644. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -0
  645. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +18 -0
  646. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts.map +1 -0
  647. package/lib/models/questionnaire/EmployerWagesModel.d.ts +5 -0
  648. package/lib/models/questionnaire/EmployerWagesModel.d.ts.map +1 -0
  649. package/lib/models/questionnaire/FBConfigModel.d.ts +12 -0
  650. package/lib/models/questionnaire/FBConfigModel.d.ts.map +1 -0
  651. package/lib/models/questionnaire/KeyValueModel.d.ts +11 -0
  652. package/lib/models/questionnaire/KeyValueModel.d.ts.map +1 -0
  653. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +13 -0
  654. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -0
  655. package/lib/models/questionnaire/LoaderModel.d.ts +5 -0
  656. package/lib/models/questionnaire/LoaderModel.d.ts.map +1 -0
  657. package/lib/models/questionnaire/PollingStatusModel.d.ts +7 -0
  658. package/lib/models/questionnaire/PollingStatusModel.d.ts.map +1 -0
  659. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +9 -0
  660. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts.map +1 -0
  661. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +24 -0
  662. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts.map +1 -0
  663. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +21 -0
  664. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts.map +1 -0
  665. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +25 -0
  666. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -0
  667. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +14 -0
  668. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts.map +1 -0
  669. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  670. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  671. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +7 -0
  672. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts.map +1 -0
  673. package/lib/models/questionnaire/StatusModel.d.ts +17 -0
  674. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -0
  675. package/lib/models/questionnaire/SuccessPageElement.d.ts +9 -0
  676. package/lib/models/questionnaire/SuccessPageElement.d.ts.map +1 -0
  677. package/lib/models/questionnaire/UI512AResponseModel.d.ts +13 -0
  678. package/lib/models/questionnaire/UI512AResponseModel.d.ts.map +1 -0
  679. package/lib/models/questionnaire/ValidationModel.d.ts +18 -0
  680. package/lib/models/questionnaire/ValidationModel.d.ts.map +1 -0
  681. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  682. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  683. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  684. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  685. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  686. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  687. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  688. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  689. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  690. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  691. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  692. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  693. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  694. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  695. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  696. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  697. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  698. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  699. package/lib/ngx-reusa-app-lib.component.d.ts +9 -0
  700. package/lib/ngx-reusa-app-lib.component.d.ts.map +1 -0
  701. package/lib/ngx-reusa-app-lib.module.d.ts +193 -0
  702. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -0
  703. package/lib/ngx-reusa-app-lib.service.d.ts +7 -0
  704. package/lib/ngx-reusa-app-lib.service.d.ts.map +1 -0
  705. package/lib/pages/BasePage.d.ts +29 -0
  706. package/lib/pages/BasePage.d.ts.map +1 -0
  707. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +12 -0
  708. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts.map +1 -0
  709. package/lib/pages/common/change-password/change-password.page.d.ts +44 -0
  710. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -0
  711. package/lib/pages/common/landing/landing.component.d.ts +25 -0
  712. package/lib/pages/common/landing/landing.component.d.ts.map +1 -0
  713. package/lib/pages/common/landing2/landing2.component.d.ts +31 -0
  714. package/lib/pages/common/landing2/landing2.component.d.ts.map +1 -0
  715. package/lib/pages/common/login/login.component.d.ts +65 -0
  716. package/lib/pages/common/login/login.component.d.ts.map +1 -0
  717. package/lib/pages/common/not-found/not-found.page.d.ts +9 -0
  718. package/lib/pages/common/not-found/not-found.page.d.ts.map +1 -0
  719. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +12 -0
  720. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts.map +1 -0
  721. package/lib/pages/common/security-policy/security-policy.page.d.ts +12 -0
  722. package/lib/pages/common/security-policy/security-policy.page.d.ts.map +1 -0
  723. package/lib/pages/common/unauthorized/unauthorized.page.d.ts +9 -0
  724. package/lib/pages/common/unauthorized/unauthorized.page.d.ts.map +1 -0
  725. package/lib/pages/popovers/language/language.page.d.ts +17 -0
  726. package/lib/pages/popovers/language/language.page.d.ts.map +1 -0
  727. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +22 -0
  728. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts.map +1 -0
  729. package/lib/pages/popovers/my-profile/my-profile.page.d.ts +21 -0
  730. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -0
  731. package/lib/pages/popovers/user-search/user-search.component.d.ts +32 -0
  732. package/lib/pages/popovers/user-search/user-search.component.d.ts.map +1 -0
  733. package/lib/pipes/filter.pipe.d.ts +8 -0
  734. package/lib/pipes/filter.pipe.d.ts.map +1 -0
  735. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  736. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  737. package/lib/pipes/mask/mask.email.pipe.d.ts +11 -0
  738. package/lib/pipes/mask/mask.email.pipe.d.ts.map +1 -0
  739. package/lib/pipes/proper-case/proper-case.pipe.d.ts +9 -0
  740. package/lib/pipes/proper-case/proper-case.pipe.d.ts.map +1 -0
  741. package/lib/pipes/translate/dynamic-translate.pipe.d.ts +11 -0
  742. package/lib/pipes/translate/dynamic-translate.pipe.d.ts.map +1 -0
  743. package/lib/pipes/trust-html/trust-html.pipe.d.ts +11 -0
  744. package/lib/pipes/trust-html/trust-html.pipe.d.ts.map +1 -0
  745. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  746. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  747. package/lib/services/appeal/appeal.service.d.ts +16 -0
  748. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  749. package/lib/services/base-service.d.ts +105 -0
  750. package/lib/services/base-service.d.ts.map +1 -0
  751. package/lib/services/birt-service/birt.service.d.ts +17 -0
  752. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  753. package/lib/services/captcha/captcha.service.d.ts +16 -0
  754. package/lib/services/captcha/captcha.service.d.ts.map +1 -0
  755. package/lib/services/case-service/case.service.d.ts +20 -0
  756. package/lib/services/case-service/case.service.d.ts.map +1 -0
  757. package/lib/services/chatbot/chatbot.service.d.ts +61 -0
  758. package/lib/services/chatbot/chatbot.service.d.ts.map +1 -0
  759. package/lib/services/chatbot/script.const.d.ts +16 -0
  760. package/lib/services/chatbot/script.const.d.ts.map +1 -0
  761. package/lib/services/claimant/claimant.service.d.ts +18 -0
  762. package/lib/services/claimant/claimant.service.d.ts.map +1 -0
  763. package/lib/services/claimant-context/claimant-context.service.d.ts +19 -0
  764. package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -0
  765. package/lib/services/claimant-service/claimant.service.d.ts +25 -0
  766. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -0
  767. package/lib/services/claims/claims.service.d.ts +76 -0
  768. package/lib/services/claims/claims.service.d.ts.map +1 -0
  769. package/lib/services/cmp-service/cmp.service.d.ts +34 -0
  770. package/lib/services/cmp-service/cmp.service.d.ts.map +1 -0
  771. package/lib/services/dms-service/dms.service.d.ts +24 -0
  772. package/lib/services/dms-service/dms.service.d.ts.map +1 -0
  773. package/lib/services/employer/employer-service.d.ts +16 -0
  774. package/lib/services/employer/employer-service.d.ts.map +1 -0
  775. package/lib/services/event-service/event-service.d.ts +20 -0
  776. package/lib/services/event-service/event-service.d.ts.map +1 -0
  777. package/lib/services/fpjs/fingerprint.service.d.ts +19 -0
  778. package/lib/services/fpjs/fingerprint.service.d.ts.map +1 -0
  779. package/lib/services/google-analytics/google-analytics.service.d.ts +9 -0
  780. package/lib/services/google-analytics/google-analytics.service.d.ts.map +1 -0
  781. package/lib/services/help/help.service.d.ts +26 -0
  782. package/lib/services/help/help.service.d.ts.map +1 -0
  783. package/lib/services/idle/idle.service.d.ts +44 -0
  784. package/lib/services/idle/idle.service.d.ts.map +1 -0
  785. package/lib/services/logger/logger.service.d.ts +32 -0
  786. package/lib/services/logger/logger.service.d.ts.map +1 -0
  787. package/lib/services/login/login.service.d.ts +81 -0
  788. package/lib/services/login/login.service.d.ts.map +1 -0
  789. package/lib/services/maintenance/maintenance.service.d.ts +16 -0
  790. package/lib/services/maintenance/maintenance.service.d.ts.map +1 -0
  791. package/lib/services/notification/notification.service.d.ts +39 -0
  792. package/lib/services/notification/notification.service.d.ts.map +1 -0
  793. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  794. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  795. package/lib/services/questionnaire/questionnaire.service.d.ts +37 -0
  796. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -0
  797. package/lib/services/questionnaire/validation.service.d.ts +85 -0
  798. package/lib/services/questionnaire/validation.service.d.ts.map +1 -0
  799. package/lib/services/security-service/security.service.d.ts +26 -0
  800. package/lib/services/security-service/security.service.d.ts.map +1 -0
  801. package/lib/services/tour/tour.service.d.ts +25 -0
  802. package/lib/services/tour/tour.service.d.ts.map +1 -0
  803. package/lib/services/util/util.service.d.ts +200 -0
  804. package/lib/services/util/util.service.d.ts.map +1 -0
  805. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  806. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  807. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +59 -0
  808. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -0
  809. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  810. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  811. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  812. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  813. package/lib/validations/AppRegex.d.ts +48 -0
  814. package/lib/validations/AppRegex.d.ts.map +1 -0
  815. package/lib/validations/AppValidators.d.ts +78 -0
  816. package/lib/validations/AppValidators.d.ts.map +1 -0
  817. package/package.json +25 -0
  818. package/public-api.d.ts +170 -0
  819. package/public-api.d.ts.map +1 -0
  820. package/uiapplib-ngx-ui-web-lib.d.ts.map +1 -0
@@ -0,0 +1,958 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { Validators, FormGroup, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { ComplaintCategoryOutputModel } from '../../models/cmp/ComplaintCategoryOutputModel';
4
+ import { ChoicesModel, ContactUsInqueryModel } from '../../models/cmp/contactUsInqueryModel';
5
+ import { AppRegex } from '../../validations/AppRegex';
6
+ import { AppValidators } from '../../validations/AppValidators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "../../services/case-service/case.service";
10
+ import * as i3 from "../../services/cmp-service/cmp.service";
11
+ import * as i4 from "../../services/security-service/security.service";
12
+ import * as i5 from "../../services/util/util.service";
13
+ import * as i6 from "../../services/logger/logger.service";
14
+ const _c0 = ["contactFormDirective"];
15
+ function ContactUsComponent_h1_0_Template(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵelementStart(0, "h1", 4);
17
+ i0.ɵɵtext(1);
18
+ i0.ɵɵpipe(2, "translate");
19
+ i0.ɵɵelementEnd();
20
+ } if (rf & 2) {
21
+ i0.ɵɵadvance(1);
22
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "contact.us.pageTitle"));
23
+ } }
24
+ function ContactUsComponent_div_1_p_2_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "p", 31);
26
+ i0.ɵɵtext(1);
27
+ i0.ɵɵpipe(2, "translate");
28
+ i0.ɵɵelementEnd();
29
+ } if (rf & 2) {
30
+ i0.ɵɵadvance(1);
31
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "contact.us.pageHeader"), " ");
32
+ } }
33
+ const _c1 = () => ({ required: "required" });
34
+ function ContactUsComponent_div_1_div_26_Template(rf, ctx) { if (rf & 1) {
35
+ const _r20 = i0.ɵɵgetCurrentView();
36
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 33);
37
+ i0.ɵɵtext(2);
38
+ i0.ɵɵpipe(3, "translate");
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵelement(4, "br");
41
+ i0.ɵɵelementStart(5, "p-inputMask", 34);
42
+ i0.ɵɵlistener("onFocus", function ContactUsComponent_div_1_div_26_Template_p_inputMask_onFocus_5_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.inputType = "text"); })("onBlur", function ContactUsComponent_div_1_div_26_Template_p_inputMask_onBlur_5_listener() { i0.ɵɵrestoreView(_r20); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.inputType = "password"); });
43
+ i0.ɵɵelementEnd();
44
+ i0.ɵɵelement(6, "app-error", 13);
45
+ i0.ɵɵelementEnd();
46
+ } if (rf & 2) {
47
+ i0.ɵɵnextContext();
48
+ const _r6 = i0.ɵɵreference(4);
49
+ const ctx_r7 = i0.ɵɵnextContext();
50
+ i0.ɵɵadvance(2);
51
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "contact.us.ssn"));
52
+ i0.ɵɵadvance(3);
53
+ i0.ɵɵproperty("type", ctx_r7.inputType);
54
+ i0.ɵɵadvance(1);
55
+ i0.ɵɵclassMap("app-grid");
56
+ i0.ɵɵproperty("field", ctx_r7.ssn)("form", _r6)("errDef", i0.ɵɵpureFunction0(9, _c1));
57
+ } }
58
+ function ContactUsComponent_div_1_div_27_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 35);
60
+ i0.ɵɵtext(2);
61
+ i0.ɵɵpipe(3, "translate");
62
+ i0.ɵɵelementEnd();
63
+ i0.ɵɵelement(4, "br")(5, "p-inputNumber", 36);
64
+ i0.ɵɵelementEnd();
65
+ } if (rf & 2) {
66
+ i0.ɵɵadvance(2);
67
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "contact.us.claimantID"));
68
+ i0.ɵɵadvance(3);
69
+ i0.ɵɵproperty("useGrouping", false);
70
+ } }
71
+ function ContactUsComponent_div_1_div_28_Template(rf, ctx) { if (rf & 1) {
72
+ const _r23 = i0.ɵɵgetCurrentView();
73
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 37);
74
+ i0.ɵɵtext(2);
75
+ i0.ɵɵpipe(3, "translate");
76
+ i0.ɵɵelementEnd();
77
+ i0.ɵɵelement(4, "br");
78
+ i0.ɵɵelementStart(5, "p-inputMask", 38);
79
+ i0.ɵɵlistener("onFocus", function ContactUsComponent_div_1_div_28_Template_p_inputMask_onFocus_5_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.inputType = "text"); })("onBlur", function ContactUsComponent_div_1_div_28_Template_p_inputMask_onBlur_5_listener() { i0.ɵɵrestoreView(_r23); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.inputType = "password"); });
80
+ i0.ɵɵelementEnd();
81
+ i0.ɵɵelement(6, "app-error", 13);
82
+ i0.ɵɵelementEnd();
83
+ } if (rf & 2) {
84
+ i0.ɵɵnextContext();
85
+ const _r6 = i0.ɵɵreference(4);
86
+ const ctx_r9 = i0.ɵɵnextContext();
87
+ i0.ɵɵadvance(2);
88
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "contact.us.ean"));
89
+ i0.ɵɵadvance(3);
90
+ i0.ɵɵproperty("type", ctx_r9.inputType);
91
+ i0.ɵɵadvance(1);
92
+ i0.ɵɵclassMap("app-grid");
93
+ i0.ɵɵproperty("field", ctx_r9.ean)("form", _r6)("errDef", i0.ɵɵpureFunction0(9, _c1));
94
+ } }
95
+ function ContactUsComponent_div_1_div_29_Template(rf, ctx) { if (rf & 1) {
96
+ const _r26 = i0.ɵɵgetCurrentView();
97
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 39);
98
+ i0.ɵɵtext(2);
99
+ i0.ɵɵpipe(3, "translate");
100
+ i0.ɵɵelementEnd();
101
+ i0.ɵɵelement(4, "br");
102
+ i0.ɵɵelementStart(5, "p-inputMask", 40);
103
+ i0.ɵɵlistener("onFocus", function ContactUsComponent_div_1_div_29_Template_p_inputMask_onFocus_5_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.inputType = "text"); })("onBlur", function ContactUsComponent_div_1_div_29_Template_p_inputMask_onBlur_5_listener() { i0.ɵɵrestoreView(_r26); const ctx_r27 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r27.inputType = "password"); });
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵelement(6, "app-error", 13);
106
+ i0.ɵɵelementEnd();
107
+ } if (rf & 2) {
108
+ i0.ɵɵnextContext();
109
+ const _r6 = i0.ɵɵreference(4);
110
+ const ctx_r10 = i0.ɵɵnextContext();
111
+ i0.ɵɵadvance(2);
112
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "contact.us.fein"));
113
+ i0.ɵɵadvance(3);
114
+ i0.ɵɵproperty("type", ctx_r10.inputType);
115
+ i0.ɵɵadvance(1);
116
+ i0.ɵɵclassMap("app-grid");
117
+ i0.ɵɵproperty("field", ctx_r10.fein)("form", _r6)("errDef", i0.ɵɵpureFunction0(9, _c1));
118
+ } }
119
+ function ContactUsComponent_div_1_div_30_Template(rf, ctx) { if (rf & 1) {
120
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 41);
121
+ i0.ɵɵtext(2);
122
+ i0.ɵɵpipe(3, "translate");
123
+ i0.ɵɵelementEnd();
124
+ i0.ɵɵelement(4, "br")(5, "p-dropdown", 42)(6, "app-error", 13);
125
+ i0.ɵɵelementEnd();
126
+ } if (rf & 2) {
127
+ i0.ɵɵnextContext();
128
+ const _r6 = i0.ɵɵreference(4);
129
+ const ctx_r11 = i0.ɵɵnextContext();
130
+ i0.ɵɵadvance(2);
131
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.selectedReason"));
132
+ i0.ɵɵadvance(3);
133
+ i0.ɵɵproperty("options", ctx_r11.activeComplaintCategory)("autoDisplayFirst", false);
134
+ i0.ɵɵadvance(1);
135
+ i0.ɵɵclassMap("app-grid");
136
+ i0.ɵɵproperty("field", ctx_r11.selectedReason)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
137
+ } }
138
+ function ContactUsComponent_div_1_div_60_Template(rf, ctx) { if (rf & 1) {
139
+ i0.ɵɵelementStart(0, "div", 10);
140
+ i0.ɵɵelement(1, "app-captcha", 43)(2, "app-error", 13);
141
+ i0.ɵɵelementEnd();
142
+ } if (rf & 2) {
143
+ i0.ɵɵnextContext();
144
+ const _r6 = i0.ɵɵreference(4);
145
+ const ctx_r12 = i0.ɵɵnextContext();
146
+ i0.ɵɵadvance(2);
147
+ i0.ɵɵclassMap("app-grid");
148
+ i0.ɵɵproperty("field", ctx_r12.captcha)("form", _r6)("errDef", i0.ɵɵpureFunction0(5, _c1));
149
+ } }
150
+ function ContactUsComponent_div_1_div_61_Template(rf, ctx) { if (rf & 1) {
151
+ const _r29 = i0.ɵɵgetCurrentView();
152
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 44);
153
+ i0.ɵɵtext(2);
154
+ i0.ɵɵpipe(3, "translate");
155
+ i0.ɵɵelementEnd();
156
+ i0.ɵɵelementStart(4, "p-dropdown", 45);
157
+ i0.ɵɵlistener("onChange", function ContactUsComponent_div_1_div_61_Template_p_dropdown_onChange_4_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r28.fetchUnitsBasedOnDepType($event)); });
158
+ i0.ɵɵelementEnd();
159
+ i0.ɵɵelement(5, "app-error", 13);
160
+ i0.ɵɵelementEnd();
161
+ } if (rf & 2) {
162
+ i0.ɵɵnextContext();
163
+ const _r6 = i0.ɵɵreference(4);
164
+ const ctx_r13 = i0.ɵɵnextContext();
165
+ i0.ɵɵadvance(2);
166
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.division"));
167
+ i0.ɵɵadvance(2);
168
+ i0.ɵɵproperty("options", ctx_r13.allDepartments)("autoDisplayFirst", false);
169
+ i0.ɵɵadvance(1);
170
+ i0.ɵɵclassMap("app-grid");
171
+ i0.ɵɵproperty("field", ctx_r13.division)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
172
+ } }
173
+ function ContactUsComponent_div_1_div_62_Template(rf, ctx) { if (rf & 1) {
174
+ const _r31 = i0.ɵɵgetCurrentView();
175
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 46);
176
+ i0.ɵɵtext(2);
177
+ i0.ɵɵpipe(3, "translate");
178
+ i0.ɵɵelementEnd();
179
+ i0.ɵɵelementStart(4, "p-dropdown", 47);
180
+ i0.ɵɵlistener("onChange", function ContactUsComponent_div_1_div_62_Template_p_dropdown_onChange_4_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r30.fetchUsersBasedOnUnit($event)); });
181
+ i0.ɵɵelementEnd();
182
+ i0.ɵɵelement(5, "app-error", 13);
183
+ i0.ɵɵelementEnd();
184
+ } if (rf & 2) {
185
+ i0.ɵɵnextContext();
186
+ const _r6 = i0.ɵɵreference(4);
187
+ const ctx_r14 = i0.ɵɵnextContext();
188
+ i0.ɵɵadvance(2);
189
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.unit"));
190
+ i0.ɵɵadvance(2);
191
+ i0.ɵɵproperty("options", ctx_r14.unitsBasedOnDept)("autoDisplayFirst", false);
192
+ i0.ɵɵadvance(1);
193
+ i0.ɵɵclassMap("app-grid");
194
+ i0.ɵɵproperty("field", ctx_r14.unit)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
195
+ } }
196
+ function ContactUsComponent_div_1_div_63_Template(rf, ctx) { if (rf & 1) {
197
+ const _r33 = i0.ɵɵgetCurrentView();
198
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 48);
199
+ i0.ɵɵtext(2);
200
+ i0.ɵɵpipe(3, "translate");
201
+ i0.ɵɵelementEnd();
202
+ i0.ɵɵelement(4, "br");
203
+ i0.ɵɵelementStart(5, "p-dropdown", 49);
204
+ i0.ɵɵlistener("onChange", function ContactUsComponent_div_1_div_63_Template_p_dropdown_onChange_5_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r32.fetchUsersBasedOnRoles($event)); });
205
+ i0.ɵɵelementEnd();
206
+ i0.ɵɵelement(6, "app-error", 13);
207
+ i0.ɵɵelementEnd();
208
+ } if (rf & 2) {
209
+ i0.ɵɵnextContext();
210
+ const _r6 = i0.ɵɵreference(4);
211
+ const ctx_r15 = i0.ɵɵnextContext();
212
+ i0.ɵɵadvance(2);
213
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.generalAssignment"));
214
+ i0.ɵɵadvance(3);
215
+ i0.ɵɵproperty("options", ctx_r15.allRoles)("autoDisplayFirst", false);
216
+ i0.ɵɵadvance(1);
217
+ i0.ɵɵclassMap("app-grid");
218
+ i0.ɵɵproperty("field", ctx_r15.generalAssignment)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
219
+ } }
220
+ function ContactUsComponent_div_1_div_64_Template(rf, ctx) { if (rf & 1) {
221
+ i0.ɵɵelementStart(0, "div", 32)(1, "label", 50);
222
+ i0.ɵɵtext(2);
223
+ i0.ɵɵpipe(3, "translate");
224
+ i0.ɵɵelementEnd();
225
+ i0.ɵɵelement(4, "br")(5, "app-dropdown", 51)(6, "app-error", 13);
226
+ i0.ɵɵelementEnd();
227
+ } if (rf & 2) {
228
+ i0.ɵɵnextContext();
229
+ const _r6 = i0.ɵɵreference(4);
230
+ const ctx_r16 = i0.ɵɵnextContext();
231
+ i0.ɵɵadvance(2);
232
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.assignCaseTo"));
233
+ i0.ɵɵadvance(3);
234
+ i0.ɵɵproperty("options", ctx_r16.usersFLname)("autoDisplayFirst", false);
235
+ i0.ɵɵadvance(1);
236
+ i0.ɵɵclassMap("app-grid");
237
+ i0.ɵɵproperty("field", ctx_r16.assignCaseTo)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
238
+ } }
239
+ function ContactUsComponent_div_1_div_65_Template(rf, ctx) { if (rf & 1) {
240
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 52);
241
+ i0.ɵɵtext(2);
242
+ i0.ɵɵpipe(3, "translate");
243
+ i0.ɵɵelementEnd();
244
+ i0.ɵɵelement(4, "br")(5, "p-dropdown", 53)(6, "app-error", 13);
245
+ i0.ɵɵelementEnd();
246
+ } if (rf & 2) {
247
+ i0.ɵɵnextContext();
248
+ const _r6 = i0.ɵɵreference(4);
249
+ const ctx_r17 = i0.ɵɵnextContext();
250
+ i0.ɵɵadvance(2);
251
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "contact.us.msgGeneratedThrough"));
252
+ i0.ɵɵadvance(3);
253
+ i0.ɵɵproperty("options", ctx_r17.msgGeneratedThroughList)("autoDisplayFirst", false);
254
+ i0.ɵɵadvance(1);
255
+ i0.ɵɵclassMap("app-grid");
256
+ i0.ɵɵproperty("field", ctx_r17.generatedThrough)("form", _r6)("errDef", i0.ɵɵpureFunction0(10, _c1));
257
+ } }
258
+ function ContactUsComponent_div_1_div_66_Template(rf, ctx) { if (rf & 1) {
259
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 54);
260
+ i0.ɵɵtext(2);
261
+ i0.ɵɵpipe(3, "translate");
262
+ i0.ɵɵelementEnd();
263
+ i0.ɵɵelement(4, "br")(5, "p-dropdown", 55);
264
+ i0.ɵɵelementEnd();
265
+ } if (rf & 2) {
266
+ const ctx_r18 = i0.ɵɵnextContext(2);
267
+ i0.ɵɵadvance(2);
268
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "contact.us.close"));
269
+ i0.ɵɵadvance(3);
270
+ i0.ɵɵproperty("options", ctx_r18.allCloseReasons)("autoDisplayFirst", false);
271
+ } }
272
+ const _c2 = () => ({ required: "required", email: "Enter a valid email" });
273
+ function ContactUsComponent_div_1_Template(rf, ctx) { if (rf & 1) {
274
+ const _r35 = i0.ɵɵgetCurrentView();
275
+ i0.ɵɵelementStart(0, "div")(1, "span", 5);
276
+ i0.ɵɵtemplate(2, ContactUsComponent_div_1_p_2_Template, 3, 3, "p", 6);
277
+ i0.ɵɵelementEnd();
278
+ i0.ɵɵelementStart(3, "form", 7, 8);
279
+ i0.ɵɵlistener("ngSubmit", function ContactUsComponent_div_1_Template_form_ngSubmit_3_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.submitContactUs); });
280
+ i0.ɵɵelementStart(5, "div", 9)(6, "div", 10)(7, "label", 11);
281
+ i0.ɵɵtext(8);
282
+ i0.ɵɵpipe(9, "translate");
283
+ i0.ɵɵelementEnd();
284
+ i0.ɵɵelementStart(10, "p-selectButton", 12);
285
+ i0.ɵɵlistener("onOptionClick", function ContactUsComponent_div_1_Template_p_selectButton_onOptionClick_10_listener($event) { i0.ɵɵrestoreView(_r35); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.activeUserType($event)); });
286
+ i0.ɵɵelementEnd();
287
+ i0.ɵɵelement(11, "app-error", 13);
288
+ i0.ɵɵelementEnd();
289
+ i0.ɵɵelementStart(12, "div", 14)(13, "label", 15);
290
+ i0.ɵɵtext(14);
291
+ i0.ɵɵpipe(15, "translate");
292
+ i0.ɵɵelementEnd();
293
+ i0.ɵɵelement(16, "br")(17, "input", 16)(18, "app-error", 13);
294
+ i0.ɵɵelementEnd();
295
+ i0.ɵɵelementStart(19, "div", 14)(20, "label", 17);
296
+ i0.ɵɵtext(21);
297
+ i0.ɵɵpipe(22, "translate");
298
+ i0.ɵɵelementEnd();
299
+ i0.ɵɵelement(23, "br")(24, "input", 18)(25, "app-error", 13);
300
+ i0.ɵɵelementEnd();
301
+ i0.ɵɵtemplate(26, ContactUsComponent_div_1_div_26_Template, 7, 10, "div", 19)(27, ContactUsComponent_div_1_div_27_Template, 6, 4, "div", 19)(28, ContactUsComponent_div_1_div_28_Template, 7, 10, "div", 20)(29, ContactUsComponent_div_1_div_29_Template, 7, 10, "div", 20)(30, ContactUsComponent_div_1_div_30_Template, 7, 11, "div", 21);
302
+ i0.ɵɵelementStart(31, "div", 10)(32, "label", 22);
303
+ i0.ɵɵtext(33);
304
+ i0.ɵɵpipe(34, "translate");
305
+ i0.ɵɵelementEnd();
306
+ i0.ɵɵelement(35, "br")(36, "textarea", 23)(37, "br")(38, "app-error", 13);
307
+ i0.ɵɵelementStart(39, "small");
308
+ i0.ɵɵtext(40);
309
+ i0.ɵɵpipe(41, "translate");
310
+ i0.ɵɵelementEnd()();
311
+ i0.ɵɵelementStart(42, "div", 10)(43, "label", 24);
312
+ i0.ɵɵtext(44);
313
+ i0.ɵɵpipe(45, "translate");
314
+ i0.ɵɵelementEnd();
315
+ i0.ɵɵelement(46, "input", 25)(47, "app-error", 13);
316
+ i0.ɵɵelementEnd();
317
+ i0.ɵɵelementStart(48, "div", 14)(49, "label", 26);
318
+ i0.ɵɵtext(50);
319
+ i0.ɵɵpipe(51, "translate");
320
+ i0.ɵɵelementEnd();
321
+ i0.ɵɵelement(52, "p-inputMask", 27);
322
+ i0.ɵɵelementEnd();
323
+ i0.ɵɵelementStart(53, "div", 14)(54, "label", 28);
324
+ i0.ɵɵtext(55);
325
+ i0.ɵɵpipe(56, "translate");
326
+ i0.ɵɵelementEnd();
327
+ i0.ɵɵelement(57, "p-inputMask", 29);
328
+ i0.ɵɵelementEnd();
329
+ i0.ɵɵelementStart(58, "div", 10);
330
+ i0.ɵɵelement(59, "app-address", 30);
331
+ i0.ɵɵelementEnd();
332
+ i0.ɵɵtemplate(60, ContactUsComponent_div_1_div_60_Template, 3, 6, "div", 21)(61, ContactUsComponent_div_1_div_61_Template, 6, 11, "div", 19)(62, ContactUsComponent_div_1_div_62_Template, 6, 11, "div", 19)(63, ContactUsComponent_div_1_div_63_Template, 7, 11, "div", 19)(64, ContactUsComponent_div_1_div_64_Template, 7, 11, "div", 19)(65, ContactUsComponent_div_1_div_65_Template, 7, 11, "div", 20)(66, ContactUsComponent_div_1_div_66_Template, 6, 5, "div", 21);
333
+ i0.ɵɵelementEnd()()();
334
+ } if (rf & 2) {
335
+ const _r6 = i0.ɵɵreference(4);
336
+ const ctx_r1 = i0.ɵɵnextContext();
337
+ i0.ɵɵadvance(2);
338
+ i0.ɵɵproperty("ngIf", ctx_r1.isNewCase);
339
+ i0.ɵɵadvance(1);
340
+ i0.ɵɵproperty("formGroup", ctx_r1.contactUsForm);
341
+ i0.ɵɵadvance(5);
342
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 49, "contact.us.userType"));
343
+ i0.ɵɵadvance(2);
344
+ i0.ɵɵproperty("options", ctx_r1.type);
345
+ i0.ɵɵadvance(1);
346
+ i0.ɵɵclassMap("app-grid");
347
+ i0.ɵɵproperty("field", ctx_r1.userType)("form", _r6)("errDef", i0.ɵɵpureFunction0(65, _c1));
348
+ i0.ɵɵadvance(3);
349
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(15, 51, "contact.us.firstname"));
350
+ i0.ɵɵadvance(4);
351
+ i0.ɵɵclassMap("app-grid");
352
+ i0.ɵɵproperty("field", ctx_r1.firstName)("form", _r6)("errDef", i0.ɵɵpureFunction0(66, _c1));
353
+ i0.ɵɵadvance(3);
354
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(22, 53, "contact.us.lastName"));
355
+ i0.ɵɵadvance(4);
356
+ i0.ɵɵclassMap("app-grid");
357
+ i0.ɵɵproperty("field", ctx_r1.lastName)("form", _r6)("errDef", i0.ɵɵpureFunction0(67, _c1));
358
+ i0.ɵɵadvance(1);
359
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "CLMT");
360
+ i0.ɵɵadvance(1);
361
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "CLMT");
362
+ i0.ɵɵadvance(1);
363
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "EMPR");
364
+ i0.ɵɵadvance(1);
365
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "EMPR");
366
+ i0.ɵɵadvance(1);
367
+ i0.ɵɵproperty("ngIf", ctx_r1.userType.value == "CLMT" || ctx_r1.userType.value == "EMPR");
368
+ i0.ɵɵadvance(3);
369
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(34, 55, "contact.us.issue"));
370
+ i0.ɵɵadvance(5);
371
+ i0.ɵɵclassMap("app-grid");
372
+ i0.ɵɵproperty("field", ctx_r1.issue)("form", _r6)("errDef", i0.ɵɵpureFunction0(68, _c1));
373
+ i0.ɵɵadvance(2);
374
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 57, "contact.us.issueNotes"));
375
+ i0.ɵɵadvance(4);
376
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45, 59, "contact.us.email"));
377
+ i0.ɵɵadvance(3);
378
+ i0.ɵɵclassMap("app-grid");
379
+ i0.ɵɵproperty("field", ctx_r1.email)("form", _r6)("errDef", i0.ɵɵpureFunction0(69, _c2));
380
+ i0.ɵɵadvance(3);
381
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(51, 61, "contact.us.phone"));
382
+ i0.ɵɵadvance(5);
383
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(56, 63, "contact.us.altPhone"));
384
+ i0.ɵɵadvance(4);
385
+ i0.ɵɵproperty("fromPopup", true);
386
+ i0.ɵɵadvance(1);
387
+ i0.ɵɵproperty("ngIf", !ctx_r1.isCsr);
388
+ i0.ɵɵadvance(1);
389
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
390
+ i0.ɵɵadvance(1);
391
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
392
+ i0.ɵɵadvance(1);
393
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
394
+ i0.ɵɵadvance(1);
395
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
396
+ i0.ɵɵadvance(1);
397
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr);
398
+ i0.ɵɵadvance(1);
399
+ i0.ɵɵproperty("ngIf", ctx_r1.isCsr && ctx_r1.selectedCase);
400
+ } }
401
+ function ContactUsComponent_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
402
+ i0.ɵɵelementStart(0, "div")(1, "ion-row")(2, "ion-col", 56);
403
+ i0.ɵɵtext(3);
404
+ i0.ɵɵpipe(4, "translate");
405
+ i0.ɵɵelementStart(5, "span", 57);
406
+ i0.ɵɵtext(6);
407
+ i0.ɵɵelementEnd()()();
408
+ i0.ɵɵelementStart(7, "ion-row")(8, "ion-col", 58);
409
+ i0.ɵɵelement(9, "ion-icon", 59);
410
+ i0.ɵɵelementEnd()();
411
+ i0.ɵɵelementStart(10, "ion-row")(11, "ion-col", 60);
412
+ i0.ɵɵtext(12);
413
+ i0.ɵɵpipe(13, "translate");
414
+ i0.ɵɵelementEnd()()();
415
+ } if (rf & 2) {
416
+ const ctx_r37 = i0.ɵɵnextContext(2);
417
+ i0.ɵɵadvance(3);
418
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, "contact.us.successMsg"), "");
419
+ i0.ɵɵadvance(3);
420
+ i0.ɵɵtextInterpolate(ctx_r37.caseNo);
421
+ i0.ɵɵadvance(6);
422
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 5, "contact.us.contactAgain"), " ");
423
+ } }
424
+ function ContactUsComponent_div_2_div_2_Template(rf, ctx) { if (rf & 1) {
425
+ i0.ɵɵelementStart(0, "div")(1, "ion-row")(2, "ion-col", 56);
426
+ i0.ɵɵtext(3);
427
+ i0.ɵɵpipe(4, "translate");
428
+ i0.ɵɵelementEnd()()();
429
+ } if (rf & 2) {
430
+ i0.ɵɵadvance(3);
431
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 1, "contact.us.failedMsg"), " ");
432
+ } }
433
+ function ContactUsComponent_div_2_Template(rf, ctx) { if (rf & 1) {
434
+ i0.ɵɵelementStart(0, "div");
435
+ i0.ɵɵtemplate(1, ContactUsComponent_div_2_div_1_Template, 14, 7, "div", 1)(2, ContactUsComponent_div_2_div_2_Template, 5, 3, "div", 1);
436
+ i0.ɵɵelementEnd();
437
+ } if (rf & 2) {
438
+ const ctx_r2 = i0.ɵɵnextContext();
439
+ i0.ɵɵadvance(1);
440
+ i0.ɵɵproperty("ngIf", ctx_r2.submitSuccess);
441
+ i0.ɵɵadvance(1);
442
+ i0.ɵɵproperty("ngIf", !ctx_r2.submitSuccess);
443
+ } }
444
+ function ContactUsComponent_ion_button_4_Template(rf, ctx) { if (rf & 1) {
445
+ const _r40 = i0.ɵɵgetCurrentView();
446
+ i0.ɵɵelementStart(0, "ion-button", 61);
447
+ i0.ɵɵlistener("click", function ContactUsComponent_ion_button_4_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.submitContactUs(ctx_r39.contactUsForm)); });
448
+ i0.ɵɵtext(1, "Submit ");
449
+ i0.ɵɵelementEnd();
450
+ } }
451
+ function ContactUsComponent_ion_button_5_Template(rf, ctx) { if (rf & 1) {
452
+ const _r42 = i0.ɵɵgetCurrentView();
453
+ i0.ɵɵelementStart(0, "ion-button", 61);
454
+ i0.ɵɵlistener("click", function ContactUsComponent_ion_button_5_Template_ion_button_click_0_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.emitHide($event)); });
455
+ i0.ɵɵtext(1, " Close ");
456
+ i0.ɵɵelementEnd();
457
+ } }
458
+ export class ContactUsComponent {
459
+ constructor(formBuilder, caseService, cmpService, securityService, util, loggerService) {
460
+ this.formBuilder = formBuilder;
461
+ this.caseService = caseService;
462
+ this.cmpService = cmpService;
463
+ this.securityService = securityService;
464
+ this.util = util;
465
+ this.loggerService = loggerService;
466
+ this.allRoles = [];
467
+ this.usersFLname = [];
468
+ this.isCsr = false;
469
+ this.isNewCase = true;
470
+ this.modelCancel = new EventEmitter();
471
+ this.success = new EventEmitter();
472
+ this.updateSuccess = new EventEmitter();
473
+ this.onHide = new EventEmitter();
474
+ this.onLoad = new EventEmitter();
475
+ this.showSuccess = false;
476
+ this.display = true;
477
+ this.submitSuccess = false;
478
+ this.inputType = 'text';
479
+ this.type = [
480
+ { text: 'a claimant', value: 'CLMT' },
481
+ { text: 'an employer', value: 'EMPR' }
482
+ ];
483
+ this.onChange = (value) => {
484
+ };
485
+ this.onTouch = () => {
486
+ };
487
+ }
488
+ writeValue(value) {
489
+ }
490
+ registerOnChange(fn) {
491
+ this.onChange = fn;
492
+ }
493
+ registerOnTouched(fn) {
494
+ this.onTouch = fn;
495
+ }
496
+ setDisabledState(isDisabled) {
497
+ throw new Error('Method not implemented.');
498
+ }
499
+ ngOnInit() {
500
+ this.contactUsForm = this.formBuilder.group({
501
+ 'userType': [null, Validators.required],
502
+ 'firstName': [null, Validators.required],
503
+ 'lastName': [null, Validators.required],
504
+ 'ssn': [null],
505
+ 'claimantId': [null],
506
+ 'ean': [null],
507
+ 'fein': [null],
508
+ 'selectedReason': [null, Validators.required],
509
+ 'issue': [null, Validators.required],
510
+ 'email': [null, [Validators.required, AppValidators.match(AppRegex.EMAIL_REGEX, { email: true })]],
511
+ 'phone': [null],
512
+ 'altPhone': [null],
513
+ 'address': [null],
514
+ 'division': [null],
515
+ 'unit': [null],
516
+ 'generalAssignment': [null],
517
+ 'assignCaseTo': [null],
518
+ 'closeCaseReason': [null],
519
+ 'generatedThrough': [null],
520
+ 'captcha': [null, Validators.required]
521
+ });
522
+ this.selectButtonValidation();
523
+ this.selectCSRvalidation();
524
+ this.getComplaintCategory();
525
+ this.fetchMstDepartments();
526
+ this.fetchMstAllUnits();
527
+ this.fetchMstCaseCloseReasons();
528
+ this.getAllRoles();
529
+ this.getMsgGeneratedThrough();
530
+ if (this.selectedCase && this.isCsr == true) {
531
+ this.loadPreSavedContactUsDetails();
532
+ }
533
+ }
534
+ loadPreSavedContactUsDetails() {
535
+ this.loggerService.debug("selected case : ", this.selectedCase);
536
+ this.cmpService.fetchInquiryDetailsByInquiryId(this.selectedCase.caseNumber).subscribe(res => {
537
+ this.loggerService.info(res);
538
+ this.contactUsForm.patchValue(res);
539
+ this.userType.setValue(res["userType"].value);
540
+ this.division.setValue(this.allDepartments.filter(c => c.key == this.selectedCase.department.key)[0]);
541
+ this.generalAssignment.setValue(this.allRoles.filter(c => c.value == this.selectedCase.level.text)[0]);
542
+ if (res["userType"].value === 'EMPR') {
543
+ this.activeComplaintCategory = this.complaintCategoryRetrivedListEmpr;
544
+ this.selectButtonValidation();
545
+ }
546
+ else if (res["userType"].value === 'CLMT') {
547
+ this.activeComplaintCategory = this.complaintCategoryRetrivedListClmt;
548
+ this.selectButtonValidation();
549
+ }
550
+ this.selectedReason.setValue(this.activeComplaintCategory.filter(c => c.complaintCategoryId == res.complaintCategory)[0]);
551
+ this.selectedDepType = this.division.value.key;
552
+ this.getUnitsBasedOnDepSelected();
553
+ if (this.selectedCase.unit != null) {
554
+ this.unit.setValue(this.unitsBasedOnDept.filter(c => c.key == this.selectedCase.unit.key)[0]);
555
+ this.selectedUnit = this.unit.value.key;
556
+ }
557
+ this.selectedRole = this.generalAssignment.value.type;
558
+ this.getUsersBasedOnDeptAndRole();
559
+ if (this.selectedCase.closeCaseReason != null) {
560
+ this.closeCaseReason.setValue(this.allCloseReasons.filter(c => c.key == this.selectedCase.closeCaseReason.value)[0]);
561
+ }
562
+ if (res.generatedThrough != null) {
563
+ this.generatedThrough.setValue(this.msgGeneratedThroughList.filter(c => c.key == res.generatedThrough.value)[0]);
564
+ }
565
+ this.onLoad.emit(res);
566
+ }, err => {
567
+ this.loggerService.error("Unable to fetch inquiry details.");
568
+ });
569
+ }
570
+ emitHide(event) {
571
+ this.onHide.emit(event);
572
+ this.display = false;
573
+ this.showSuccess = false;
574
+ }
575
+ selectButtonValidation() {
576
+ this.userType.valueChanges.subscribe(val => {
577
+ if (val === 'CLMT') {
578
+ this.util.setRequiredValidator(this.ssn);
579
+ this.util.clearValidation(this.ean);
580
+ this.util.clearValidation(this.fein);
581
+ }
582
+ if (val === 'EMPR') {
583
+ this.util.clearValidation(this.ssn);
584
+ this.util.setRequiredValidator(this.ean);
585
+ this.util.setRequiredValidator(this.fein);
586
+ }
587
+ });
588
+ }
589
+ selectCSRvalidation() {
590
+ if (this.isCsr) {
591
+ this.util.setRequiredValidator(this.division);
592
+ this.util.setRequiredValidator(this.unit);
593
+ this.util.setRequiredValidator(this.generalAssignment);
594
+ this.util.setRequiredValidator(this.assignCaseTo);
595
+ this.util.setRequiredValidator(this.generatedThrough);
596
+ this.util.clearValidation(this.captcha);
597
+ }
598
+ }
599
+ submitContactUs(input) {
600
+ if (!this.contactUsForm.valid) {
601
+ this.validateAllFormFields(this.contactUsForm);
602
+ }
603
+ else {
604
+ let contactUsInquiryModel = new ContactUsInqueryModel();
605
+ contactUsInquiryModel.inquiryBy = this.userType.value;
606
+ contactUsInquiryModel.firstName = this.firstName.value;
607
+ contactUsInquiryModel.lastName = this.lastName.value;
608
+ contactUsInquiryModel.ssn = this.ssn.value;
609
+ contactUsInquiryModel.claimantId = this.claimantId.value;
610
+ contactUsInquiryModel.ean = this.ean.value;
611
+ contactUsInquiryModel.fein = this.fein.value;
612
+ let choiceModel = new ComplaintCategoryOutputModel();
613
+ choiceModel.text = this.selectedReason.value.description;
614
+ choiceModel.value = this.selectedReason.value.complaintCategoryId;
615
+ contactUsInquiryModel.complaintCategory = choiceModel;
616
+ contactUsInquiryModel.question = this.issue.value;
617
+ contactUsInquiryModel.email = this.email.value;
618
+ contactUsInquiryModel.phone = this.phone.value;
619
+ contactUsInquiryModel.altPhone = this.altPhone.value;
620
+ contactUsInquiryModel.streetAddress = this.address.value?.streetAddress;
621
+ contactUsInquiryModel.optionalAddress = this.address.value?.optionalAddress;
622
+ contactUsInquiryModel.city = this.address.value?.city;
623
+ contactUsInquiryModel.state = this.address.value?.state?.value;
624
+ contactUsInquiryModel.zip = this.address.value?.zip;
625
+ contactUsInquiryModel.country = this.address.value?.country.value;
626
+ if (this.isCsr === false) {
627
+ let choiceModel = new ChoicesModel();
628
+ choiceModel.text = "Self service";
629
+ choiceModel.value = "SELF";
630
+ contactUsInquiryModel.generatedThrough = choiceModel;
631
+ }
632
+ if (this.isCsr === true) {
633
+ let choiceModel3 = new ChoicesModel();
634
+ choiceModel3.text = this.division.value.value;
635
+ choiceModel3.value = this.division.value.key;
636
+ contactUsInquiryModel.division = choiceModel3;
637
+ let choiceModel6 = new ChoicesModel();
638
+ choiceModel6.text = this.unit.value.value;
639
+ choiceModel6.value = this.unit.value.key;
640
+ contactUsInquiryModel.unit = choiceModel6;
641
+ let choiceModel = new ChoicesModel();
642
+ choiceModel.text = this.generalAssignment.value.description;
643
+ choiceModel.value = this.generalAssignment.value.key;
644
+ contactUsInquiryModel.caseOwnerGroupKey = choiceModel;
645
+ let choiceModel2 = new ChoicesModel();
646
+ choiceModel2.text = this.assignCaseTo.value.text;
647
+ choiceModel2.value = this.assignCaseTo.value.value;
648
+ contactUsInquiryModel.assignCaseTo = choiceModel2;
649
+ if (this.closeCaseReason.value != null) {
650
+ let choiceModel4 = new ChoicesModel();
651
+ choiceModel4.text = this.closeCaseReason.value.description;
652
+ choiceModel4.value = this.closeCaseReason.value.key;
653
+ contactUsInquiryModel.closeCaseReason = choiceModel4;
654
+ }
655
+ if (this.generatedThrough.value != null) {
656
+ let choiceModel5 = new ChoicesModel();
657
+ choiceModel5.text = this.generatedThrough.value.description;
658
+ choiceModel5.value = this.generatedThrough.value.key;
659
+ contactUsInquiryModel.generatedThrough = choiceModel5;
660
+ }
661
+ }
662
+ this.success.emit(this.contactUsForm);
663
+ if (this.selectedCase && this.selectedCase.caseNumber) {
664
+ this.loggerService.debug('update called = ', this.selectedCase.caseNumber);
665
+ contactUsInquiryModel.inquiryId = this.selectedCase.caseNumber;
666
+ this.util.showLoader().then(() => {
667
+ this.cmpService.updateInquiryData(contactUsInquiryModel, this.selectedCase.caseNumber)
668
+ .subscribe(res => {
669
+ this.responseCall = res;
670
+ this.caseNo = this.responseCall.inquiryId;
671
+ this.util.success(this.responseCall["msg"]);
672
+ this.util.hideLoader();
673
+ }, err => {
674
+ this.util.errorHandler(err);
675
+ this.loggerService.error("err", err);
676
+ this.util.hideLoader();
677
+ });
678
+ });
679
+ }
680
+ else {
681
+ this.loggerService.debug("creating new case");
682
+ if (this.isCsr === true) {
683
+ this.util.showLoader().then(() => {
684
+ this.cmpService.submitQueryForCSR(contactUsInquiryModel)
685
+ .subscribe(res => {
686
+ this.processSubmitQueryResponse(res);
687
+ }, err => {
688
+ this.processSubmitQueryErrorResponse(err);
689
+ });
690
+ });
691
+ }
692
+ else {
693
+ this.util.showLoader().then(() => {
694
+ this.cmpService.submitQuery(contactUsInquiryModel)
695
+ .subscribe(res => {
696
+ this.processSubmitQueryResponse(res);
697
+ }, err => {
698
+ this.processSubmitQueryErrorResponse(err);
699
+ });
700
+ });
701
+ }
702
+ }
703
+ }
704
+ }
705
+ processSubmitQueryErrorResponse(err) {
706
+ this.showSuccess = false;
707
+ this.loggerService.error("err", err);
708
+ if (this.isCsr === true) {
709
+ this.updateSuccess.emit("true");
710
+ }
711
+ this.util.hideLoader();
712
+ }
713
+ processSubmitQueryResponse(res) {
714
+ this.responseCall = res;
715
+ this.caseNo = this.responseCall.inquiryId;
716
+ if (this.caseNo != "0") {
717
+ this.loggerService.info('Submit contact us case No:', this.caseNo);
718
+ this.showSuccess = true;
719
+ this.submitSuccess = true;
720
+ if (this.isCsr === true) {
721
+ this.updateSuccess.emit("true");
722
+ }
723
+ this.util.hideLoader();
724
+ }
725
+ else {
726
+ this.loggerService.error('failed to submit contact us case');
727
+ this.showSuccess = true;
728
+ if (this.isCsr === true) {
729
+ this.updateSuccess.emit("true");
730
+ }
731
+ this.util.hideLoader();
732
+ }
733
+ }
734
+ validateAllFormFields(formGroup) {
735
+ Object.keys(formGroup.controls).forEach(field => {
736
+ const control = formGroup.get(field);
737
+ if (control instanceof FormControl) {
738
+ control.markAsDirty({ onlySelf: true });
739
+ }
740
+ else if (control instanceof FormGroup) {
741
+ this.validateAllFormFields(control);
742
+ }
743
+ });
744
+ }
745
+ getComplaintCategory() {
746
+ this.cmpService.getComplaintCategory().subscribe((res) => {
747
+ this.complaintCategoryRetrivedList = res;
748
+ this.complaintCategoryRetrivedListEmpr = res.filter(r => r.type === "EMPR");
749
+ this.complaintCategoryRetrivedListClmt = res.filter(r => r.type === "CLMT");
750
+ });
751
+ }
752
+ activeUserType(event) {
753
+ let currentValue = event.option.value;
754
+ if (currentValue === 'EMPR') {
755
+ this.activeComplaintCategory = this.complaintCategoryRetrivedListEmpr;
756
+ this.selectButtonValidation();
757
+ }
758
+ else if (currentValue === 'CLMT') {
759
+ this.activeComplaintCategory = this.complaintCategoryRetrivedListClmt;
760
+ this.selectButtonValidation();
761
+ }
762
+ }
763
+ selectDepartmentBasedOnCategory(event) {
764
+ let currentValue = event.value;
765
+ let depId = currentValue.departmentUnitId;
766
+ let searched_dep = this.allDepartments.filter(dep => dep.key == depId)[0];
767
+ this.division.setValue(searched_dep);
768
+ this.selectedDepType = this.division.value.type;
769
+ }
770
+ fetchUnitsBasedOnDepType(event) {
771
+ let deptId = event.value.key;
772
+ if (this.allUnits != null) {
773
+ this.unitsBasedOnDept = this.allUnits.filter(s => s.type == deptId);
774
+ }
775
+ }
776
+ getUnitsBasedOnDepSelected() {
777
+ if (this.allUnits != null && this.selectedDepType != null) {
778
+ this.unitsBasedOnDept = this.allUnits.filter(s => s.type == this.selectedDepType);
779
+ }
780
+ }
781
+ fetchUsersBasedOnUnit(event) {
782
+ this.selectedUnit = event.value.key;
783
+ if (this.selectedRole != null) {
784
+ this.getUsersBasedOnDeptAndRole();
785
+ }
786
+ }
787
+ fetchUsersBasedOnRoles(event) {
788
+ this.selectedRole = event.value.type;
789
+ if (this.selectedUnit != null) {
790
+ this.getUsersBasedOnDeptAndRole();
791
+ }
792
+ }
793
+ getUsersBasedOnDeptAndRole() {
794
+ this.usersFLname = [];
795
+ this.loggerService.debug('fetching users for unit : ', this.selectedUnit, 'and role ', this.selectedRole);
796
+ if (this.selectedUnit == null || this.selectedRole == null) {
797
+ return;
798
+ }
799
+ this.securityService.getUserUnitIdRoleId(this.selectedUnit, this.selectedRole).subscribe(res => {
800
+ this.users = res;
801
+ this.loggerService.debug(this.users);
802
+ if (this.users) {
803
+ this.users.forEach((e) => {
804
+ let temp = new ChoicesModel();
805
+ temp.text = (e.firstName + ' ' + e.lastName + ' (' + e.userId + ')');
806
+ //temp.text=e.firstName + ' ' + e.lastName;
807
+ temp.value = e.userId;
808
+ this.usersFLname.push(temp);
809
+ });
810
+ if (this.selectedCase.assignedTouser != null) {
811
+ this.assignCaseTo.setValue(this.usersFLname.filter(c => c.value == this.selectedCase.assignedTouser.value)[0]);
812
+ }
813
+ }
814
+ }, err => {
815
+ this.loggerService.info("No user configured for this role");
816
+ });
817
+ }
818
+ fetchMstDepartments() {
819
+ return this.caseService.fetchMstDepartments().subscribe((res) => {
820
+ this.allDepartments = res;
821
+ });
822
+ }
823
+ fetchMstAllUnits() {
824
+ return this.caseService.fetchMstAllUnits().subscribe((res) => {
825
+ this.allUnits = res;
826
+ });
827
+ }
828
+ fetchMstCaseCloseReasons() {
829
+ return this.caseService.fetchMstCaseCloseReasons().subscribe((res) => {
830
+ this.allCloseReasons = res;
831
+ });
832
+ }
833
+ getAllRoles() {
834
+ return this.caseService.getMstOwnerGroups().subscribe((res) => {
835
+ this.allRoles = res;
836
+ });
837
+ }
838
+ getMsgGeneratedThrough() {
839
+ return this.cmpService.getMsgGeneratedThrough().subscribe((res) => {
840
+ this.msgGeneratedThroughList = res;
841
+ });
842
+ }
843
+ get userType() {
844
+ return this.contactUsForm.controls['userType'];
845
+ }
846
+ get firstName() {
847
+ return this.contactUsForm.controls['firstName'];
848
+ }
849
+ get lastName() {
850
+ return this.contactUsForm.controls['lastName'];
851
+ }
852
+ get ssn() {
853
+ return this.contactUsForm.controls['ssn'];
854
+ }
855
+ get claimantId() {
856
+ return this.contactUsForm.controls['claimantId'];
857
+ }
858
+ get ean() {
859
+ return this.contactUsForm.controls['ean'];
860
+ }
861
+ get fein() {
862
+ return this.contactUsForm.controls['fein'];
863
+ }
864
+ get selectedReason() {
865
+ return this.contactUsForm.controls['selectedReason'];
866
+ }
867
+ get issue() {
868
+ return this.contactUsForm.controls['issue'];
869
+ }
870
+ get email() {
871
+ return this.contactUsForm.controls['email'];
872
+ }
873
+ get phone() {
874
+ return this.contactUsForm.controls['phone'];
875
+ }
876
+ get altPhone() {
877
+ return this.contactUsForm.controls['altPhone'];
878
+ }
879
+ get address() {
880
+ return this.contactUsForm.controls['address'];
881
+ }
882
+ get captcha() {
883
+ return this.contactUsForm.controls['captcha'];
884
+ }
885
+ get division() {
886
+ return this.contactUsForm.controls['division'];
887
+ }
888
+ get unit() {
889
+ return this.contactUsForm.controls['unit'];
890
+ }
891
+ get generalAssignment() {
892
+ return this.contactUsForm.controls['generalAssignment'];
893
+ }
894
+ get assignCaseTo() {
895
+ return this.contactUsForm.controls['assignCaseTo'];
896
+ }
897
+ get closeCaseReason() {
898
+ return this.contactUsForm.controls['closeCaseReason'];
899
+ }
900
+ get generatedThrough() {
901
+ return this.contactUsForm.controls['generatedThrough'];
902
+ }
903
+ static { this.ɵfac = function ContactUsComponent_Factory(t) { return new (t || ContactUsComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.CaseService), i0.ɵɵdirectiveInject(i3.CmpService), i0.ɵɵdirectiveInject(i4.SecurityService), i0.ɵɵdirectiveInject(i5.UtilService), i0.ɵɵdirectiveInject(i6.LoggerService)); }; }
904
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContactUsComponent, selectors: [["app-contact-us"]], viewQuery: function ContactUsComponent_Query(rf, ctx) { if (rf & 1) {
905
+ i0.ɵɵviewQuery(_c0, 5);
906
+ } if (rf & 2) {
907
+ let _t;
908
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contactFormDirective = _t.first);
909
+ } }, inputs: { isCsr: "isCsr", isNewCase: "isNewCase", selectedCase: "selectedCase" }, outputs: { modelCancel: "modelCancel", success: "success", updateSuccess: "updateSuccess", onHide: "onHide", onLoad: "onLoad" }, features: [i0.ɵɵProvidersFeature([{
910
+ provide: NG_VALUE_ACCESSOR,
911
+ useExisting: ContactUsComponent,
912
+ multi: true
913
+ }])], decls: 6, vars: 5, consts: [["class", "contactUsPageTitle", 4, "ngIf"], [4, "ngIf"], [1, "field", "col-12", "ion-text-right"], ["shape", "round", "type", "submit", "color", "primary", 3, "click", 4, "ngIf"], [1, "contactUsPageTitle"], [2, "font-family", "var(--app-font-light)"], ["class", "contactUsPageHeader", 4, "ngIf"], [3, "formGroup", "ngSubmit"], ["contactFormDirective", "ngForm"], [1, "p-fluid", "grid"], [1, "field", "col-12"], ["for", "type"], ["formControlName", "userType", "optionLabel", "text", "optionValue", "value", 3, "options", "onOptionClick"], [3, "field", "form", "errDef"], [1, "field", "col-12", "md:col-6"], ["for", "firstName"], ["type", "text", "pInputText", "", "formControlName", "firstName", "maxlength", "30"], ["for", "lastName"], ["type", "text", "pInputText", "", "formControlName", "lastName", "maxlength", "30"], ["class", "field col-6", 4, "ngIf"], ["class", "field col-12 md:col-6", 4, "ngIf"], ["class", "field col-12", 4, "ngIf"], ["for", "issue"], ["pInputTextarea", "", "formControlName", "issue", "maxlength", "500"], ["for", "email"], ["type", "text", "pInputText", "", "formControlName", "email", "maxlength", "100"], ["for", "phone"], ["mask", "(999) 999-9999", "formControlName", "phone", "placeholder", "(999) 999-9999", "unmask", "true"], ["for", "altPhone"], ["mask", "(999) 999-9999", "formControlName", "altPhone", "placeholder", "(999) 999-9999", "unmask", "true"], ["formControlName", "address", 3, "fromPopup"], [1, "contactUsPageHeader"], [1, "field", "col-6"], ["for", "ssn"], ["mask", "9999", "formControlName", "ssn", 3, "type", "onFocus", "onBlur"], ["for", "claimantId"], ["formControlName", "claimantId", "mode", "decimal", "inputId", "claimantId", "placeholder", "optional", "maxlength", "8", 3, "useGrouping"], ["for", "ean"], ["mask", "9999999999", "formControlName", "ean", 3, "type", "onFocus", "onBlur"], ["for", "fein"], ["mask", "999999999", "formControlName", "fein", 3, "type", "onFocus", "onBlur"], ["for", "selectedReason"], ["formControlName", "selectedReason", "placeholder", "Select category", "optionLabel", "description", "appendTo", "body", 1, "queryCategory", 3, "options", "autoDisplayFirst"], ["formControlName", "captcha"], ["for", "division"], ["formControlName", "division", "placeholder", "Select Department", "optionLabel", "value", "appendTo", "body", 1, "roleName", 3, "options", "autoDisplayFirst", "onChange"], ["for", "unit"], ["formControlName", "unit", "placeholder", "Select Unit", "optionLabel", "value", "appendTo", "body", 1, "roleName", 3, "options", "autoDisplayFirst", "onChange"], ["for", "generalAssignment"], ["formControlName", "generalAssignment", "placeholder", "Select Assignment", "optionLabel", "value", "appendTo", "body", 3, "options", "autoDisplayFirst", "onChange"], ["for", "assignCaseTo"], ["formControlName", "assignCaseTo", "placeholder", "Assign Case To", "optionLabel", "text", "appendTo", "body", 3, "options", "autoDisplayFirst"], ["for", "generatedThrough"], ["formControlName", "generatedThrough", "placeholder", "Message generated through", "optionLabel", "description", "appendTo", "body", 3, "options", "autoDisplayFirst"], ["for", "closeCaseReason"], ["formControlName", "closeCaseReason", "placeholder", "Select Reason", "optionLabel", "description", "appendTo", "body", "showClear", "true", 1, "queryCategory", 3, "options", "autoDisplayFirst"], [1, "ion-text-left", "text-lg", 2, "font-family", "var(--app-font-light)"], [2, "font-weight", "bold", "color", "var(--ion-color-primary)"], [1, "ion-text-center"], ["name", "checkmark-circle", 1, "zoomin", "animation-duration-1000", 2, "font-size", "80px", "color", "var(--ion-color-green)"], [1, "ion-text-left", "text-lg", "contactUsPageHeader"], ["shape", "round", "type", "submit", "color", "primary", 3, "click"]], template: function ContactUsComponent_Template(rf, ctx) { if (rf & 1) {
914
+ i0.ɵɵtemplate(0, ContactUsComponent_h1_0_Template, 3, 3, "h1", 0)(1, ContactUsComponent_div_1_Template, 67, 70, "div", 1)(2, ContactUsComponent_div_2_Template, 3, 2, "div", 1);
915
+ i0.ɵɵelementStart(3, "div", 2);
916
+ i0.ɵɵtemplate(4, ContactUsComponent_ion_button_4_Template, 2, 0, "ion-button", 3)(5, ContactUsComponent_ion_button_5_Template, 2, 0, "ion-button", 3);
917
+ i0.ɵɵelementEnd();
918
+ } if (rf & 2) {
919
+ i0.ɵɵproperty("ngIf", ctx.isNewCase);
920
+ i0.ɵɵadvance(1);
921
+ i0.ɵɵproperty("ngIf", !ctx.showSuccess);
922
+ i0.ɵɵadvance(1);
923
+ i0.ɵɵproperty("ngIf", ctx.showSuccess);
924
+ i0.ɵɵadvance(2);
925
+ i0.ɵɵproperty("ngIf", !ctx.showSuccess && !ctx.isCsr);
926
+ i0.ɵɵadvance(1);
927
+ i0.ɵɵproperty("ngIf", !ctx.isCsr);
928
+ } }, styles: ["ion-col[_ngcontent-%COMP%]{padding-left:0}div[_ngcontent-%COMP%]{margin-bottom:0!important}.error[_ngcontent-%COMP%]{color:var(--ion-color-danger)}[_nghost-%COMP%] .p-fluid .p-dropdown .p-dropdown-label{white-space:wrap!important}.contactUsPageTitle[_ngcontent-%COMP%]{color:#000;margin-top:0}.contactUsPageHeader[_ngcontent-%COMP%]{font-weight:500;color:#000}"] }); }
929
+ }
930
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContactUsComponent, [{
931
+ type: Component,
932
+ args: [{ selector: 'app-contact-us', providers: [{
933
+ provide: NG_VALUE_ACCESSOR,
934
+ useExisting: ContactUsComponent,
935
+ multi: true
936
+ }], template: "<h1 class=\"contactUsPageTitle\" \r\n*ngIf=\"isNewCase\">{{'contact.us.pageTitle' | translate}}</h1>\r\n\r\n<div *ngIf=\"!showSuccess\">\r\n <span style=\"font-family: var(--app-font-light)\">\r\n <p *ngIf=\"isNewCase\" class=\"contactUsPageHeader\" >\r\n {{'contact.us.pageHeader' | translate}}\r\n </p>\r\n </span>\r\n <form [formGroup]=\"contactUsForm\" #contactFormDirective=\"ngForm\" (ngSubmit)=\"submitContactUs\">\r\n <div class=\"p-fluid grid\">\r\n <div class=\"field col-12\">\r\n <label for=\"type\">{{\"contact.us.userType\"| translate}}</label>\r\n <p-selectButton [options]=\"type\" formControlName=\"userType\" optionLabel=\"text\" optionValue=\"value\"\r\n (onOptionClick)=\"activeUserType($event)\">\r\n </p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='userType' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <label for=\"firstName\">{{\"contact.us.firstname\"| translate}}</label><br />\r\n <input type=\"text\" pInputText formControlName=\"firstName\" maxlength=\"30\" />\r\n <app-error [class]=\"'app-grid'\" [field]='firstName' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <label for=\"lastName\">{{'contact.us.lastName'| translate}}</label><br />\r\n <input type=\"text\" pInputText formControlName=\"lastName\" maxlength=\"30\" />\r\n <app-error [class]=\"'app-grid'\" [field]='lastName' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"userType.value=='CLMT'\">\r\n <label for=\"ssn\">{{'contact.us.ssn'| translate}}</label><br />\r\n <p-inputMask mask=\"9999\" formControlName=\"ssn\" (onFocus)=\"inputType='text'\" (onBlur)=\"inputType='password'\"\r\n [type]=\"inputType\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='ssn' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"userType.value=='CLMT'\">\r\n <label for=\"claimantId\">{{'contact.us.claimantID'| translate}}</label><br />\r\n <p-inputNumber formControlName=\"claimantId\" mode=\"decimal\" inputId=\"claimantId\" [useGrouping]=\"false\"\r\n placeholder=\"optional\" maxlength=\"8\"> </p-inputNumber>\r\n </div>\r\n <div class=\"field col-12 md:col-6\" *ngIf=\"userType.value=='EMPR'\">\r\n <label for=\"ean\">{{'contact.us.ean'| translate}}</label><br />\r\n <p-inputMask mask=\"9999999999\" formControlName=\"ean\" (onFocus)=\"inputType='text'\"\r\n (onBlur)=\"inputType='password'\" [type]=\"inputType\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='ean' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12 md:col-6\" *ngIf=\"userType.value=='EMPR'\">\r\n <label for=\"fein\">{{'contact.us.fein'| translate}}</label><br />\r\n <p-inputMask mask=\"999999999\" formControlName=\"fein\" (onFocus)=\"inputType='text'\"\r\n (onBlur)=\"inputType='password'\" [type]=\"inputType\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='fein' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field col-12\" *ngIf=\"userType.value=='CLMT' || userType.value=='EMPR'\">\r\n <label for=\"selectedReason\">{{'contact.us.selectedReason'| translate}}</label><br />\r\n <p-dropdown [options]=\"activeComplaintCategory\" formControlName=\"selectedReason\" placeholder=\"Select category\"\r\n optionLabel=\"description\" [autoDisplayFirst]=\"false\" class=\"queryCategory\" appendTo=\"body\">\r\n </p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='selectedReason' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12\">\r\n <label for=\"issue\">{{'contact.us.issue'| translate}}</label><br />\r\n <textarea pInputTextarea formControlName=\"issue\" maxlength=\"500\"></textarea><br />\r\n <app-error [class]=\"'app-grid'\" [field]='issue' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n <small>{{'contact.us.issueNotes'| translate}}</small>\r\n \r\n </div>\r\n\r\n <div class=\"field col-12\">\r\n <label for=\"email\">{{'contact.us.email'| translate}}</label>\r\n <input type=\"text\" pInputText formControlName=\"email\" maxlength=\"100\" />\r\n <app-error [class]=\"'app-grid'\" [field]='email' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required', email: 'Enter a valid email'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <label for=\"phone\">{{'contact.us.phone'| translate}}</label>\r\n <p-inputMask mask=\"(999) 999-9999\" formControlName=\"phone\" placeholder=\"(999) 999-9999\" unmask=\"true\">\r\n </p-inputMask>\r\n </div>\r\n <div class=\"field col-12 md:col-6\">\r\n <label for=\"altPhone\">{{'contact.us.altPhone'| translate}}</label>\r\n <p-inputMask mask=\"(999) 999-9999\" formControlName=\"altPhone\" placeholder=\"(999) 999-9999\" unmask=\"true\">\r\n </p-inputMask>\r\n </div>\r\n <div class=\"field col-12\">\r\n <app-address [fromPopup]=\"true\" formControlName=\"address\"></app-address>\r\n </div>\r\n <div class=\"field col-12\" *ngIf=\"!isCsr\">\r\n <app-captcha formControlName=\"captcha\"></app-captcha>\r\n <app-error [class]=\"'app-grid'\" [field]='captcha' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field col-6\" *ngIf=\"isCsr\">\r\n <label for=\"division\">{{'contact.us.division'| translate}}</label>\r\n <p-dropdown [options]=\"allDepartments\" formControlName=\"division\" placeholder=\"Select Department\"\r\n optionLabel=\"value\" [autoDisplayFirst]=\"false\" class=\"roleName\" appendTo=\"body\" (onChange)=\"fetchUnitsBasedOnDepType($event)\">\r\n </p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='division' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"isCsr\">\r\n <label for=\"unit\">{{'contact.us.unit'| translate}}</label>\r\n <p-dropdown [options]=\"unitsBasedOnDept\" formControlName=\"unit\" placeholder=\"Select Unit\"\r\n optionLabel=\"value\" [autoDisplayFirst]=\"false\" class=\"roleName\" appendTo=\"body\" (onChange)=\"fetchUsersBasedOnUnit($event)\">\r\n </p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='unit' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"isCsr\">\r\n <label for=\"generalAssignment\">{{'contact.us.generalAssignment'| translate}}</label><br />\r\n <p-dropdown [options]=\"allRoles\" formControlName=\"generalAssignment\" (onChange)=\"fetchUsersBasedOnRoles($event)\"\r\n placeholder=\"Select Assignment\" optionLabel=\"value\" [autoDisplayFirst]=\"false\" \r\n appendTo=\"body\"></p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='generalAssignment' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field col-6\" *ngIf=\"isCsr\">\r\n <label for=\"assignCaseTo\">{{\"contact.us.assignCaseTo\"| translate}}</label><br />\r\n <app-dropdown [options]=\"usersFLname\" formControlName=\"assignCaseTo\"\r\n placeholder=\"Assign Case To\" [autoDisplayFirst]=\"false\" optionLabel=\"text\" \r\n appendTo=\"body\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='assignCaseTo' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div> \r\n <div class=\"field col-12 md:col-6\" *ngIf=\"isCsr\">\r\n <label for=\"generatedThrough\">{{\"contact.us.msgGeneratedThrough\"| translate}}</label><br />\r\n <p-dropdown [options]=\"msgGeneratedThroughList\" formControlName=\"generatedThrough\"\r\n placeholder=\"Message generated through\" [autoDisplayFirst]=\"false\" optionLabel=\"description\" \r\n appendTo=\"body\"></p-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='generatedThrough' [form]=\"contactFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div> \r\n <div class=\"field col-12\" *ngIf=\"isCsr && selectedCase\">\r\n <label for=\"closeCaseReason\">{{\"contact.us.close\"| translate}}</label><br />\r\n <p-dropdown [options]=\"allCloseReasons\" formControlName=\"closeCaseReason\" class=\"queryCategory\"\r\n placeholder=\"Select Reason\" [autoDisplayFirst]=\"false\" optionLabel=\"description\" \r\n appendTo=\"body\" showClear=\"true\"></p-dropdown>\r\n </div>\r\n \r\n </div>\r\n </form>\r\n</div>\r\n<div *ngIf=\"showSuccess\">\r\n <div *ngIf=\"submitSuccess\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-left text-lg\" style=\"font-family: var(--app-font-light)\">\r\n {{'contact.us.successMsg'| translate}}<span\r\n style=\"font-weight: bold; color: var(--ion-color-primary);\">{{caseNo}}</span>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-center\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"\r\n class=\"zoomin animation-duration-1000\"></ion-icon>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-left text-lg contactUsPageHeader\">\r\n {{'contact.us.contactAgain'| translate}}\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <div *ngIf=\"!submitSuccess\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-left text-lg\" style=\"font-family: var(--app-font-light)\">\r\n {{'contact.us.failedMsg'| translate}}\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n</div>\r\n\r\n<div class=\"field col-12 ion-text-right\">\r\n <ion-button *ngIf=\"!showSuccess && !isCsr\" shape=\"round\" type=\"submit\" color=\"primary\" \r\n (click)=\"submitContactUs(contactUsForm)\">Submit\r\n </ion-button>\r\n <ion-button *ngIf=\"!isCsr\" shape=\"round\" type=\"submit\" color=\"primary\" (click)=\"emitHide($event)\">\r\n Close\r\n </ion-button>\r\n</div>", styles: ["ion-col{padding-left:0}div{margin-bottom:0!important}.error{color:var(--ion-color-danger)}:host ::ng-deep .p-fluid .p-dropdown .p-dropdown-label{white-space:wrap!important}.contactUsPageTitle{color:#000;margin-top:0}.contactUsPageHeader{font-weight:500;color:#000}\n"] }]
937
+ }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.CaseService }, { type: i3.CmpService }, { type: i4.SecurityService }, { type: i5.UtilService }, { type: i6.LoggerService }], { isCsr: [{
938
+ type: Input
939
+ }], isNewCase: [{
940
+ type: Input
941
+ }], selectedCase: [{
942
+ type: Input
943
+ }], modelCancel: [{
944
+ type: Output
945
+ }], success: [{
946
+ type: Output
947
+ }], updateSuccess: [{
948
+ type: Output
949
+ }], onHide: [{
950
+ type: Output
951
+ }], onLoad: [{
952
+ type: Output
953
+ }], contactFormDirective: [{
954
+ type: ViewChild,
955
+ args: ['contactFormDirective', { static: false }]
956
+ }] }); })();
957
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContactUsComponent, { className: "ContactUsComponent", filePath: "lib\\components\\contact-us\\contact-us.component.ts", lineNumber: 26 }); })();
958
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29udGFjdC11cy9jb250YWN0LXVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LXVzL2NvbnRhY3QtdXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFvQixVQUFVLEVBQThCLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0osT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBTzdGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7SUNiaEUsNkJBQ2tCO0lBQUEsWUFBc0M7O0lBQUEsaUJBQUs7O0lBQTNDLGVBQXNDO0lBQXRDLGtFQUFzQzs7O0lBSXBELDZCQUFrRDtJQUNsRCxZQUNBOztJQUFBLGlCQUFJOztJQURKLGVBQ0E7SUFEQSw4RUFDQTs7Ozs7SUEyQkUsK0JBQXdELGdCQUFBO0lBQ3JDLFlBQStCOztJQUFBLGlCQUFRO0lBQUEscUJBQU07SUFDOUQsdUNBQ3FCO0lBRDBCLHFOQUFxQixNQUFNLEtBQUMsc01BQXFCLFVBQVUsS0FBL0I7SUFDdEQsaUJBQWM7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QUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIE5nRm9ybSwgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDYXNlQ29yZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NtcC9DYXNlQ29yZU1vZGVsJztcclxuaW1wb3J0IHsgQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jbXAvQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbCc7XHJcbmltcG9ydCB7IENvbXBsYWludENhdGVnb3J5T3V0cHV0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY21wL0NvbXBsYWludENhdGVnb3J5T3V0cHV0TW9kZWwnO1xyXG5pbXBvcnQgeyBDaG9pY2VzTW9kZWwsIENvbnRhY3RVc0lucXVlcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jbXAvY29udGFjdFVzSW5xdWVyeU1vZGVsJztcclxuaW1wb3J0IHsgS2V5VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0tleVZhbHVlTW9kZWwnO1xyXG5pbXBvcnQgeyBDYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2Utc2VydmljZS9jYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY21wLXNlcnZpY2UvY21wLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VjdXJpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VjdXJpdHktc2VydmljZS9zZWN1cml0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFJlZ2V4IH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwUmVnZXgnO1xyXG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jb250YWN0LXVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC11cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC11cy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IENvbnRhY3RVc0NvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRhY3RVc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBwdWJsaWMgY29udGFjdFVzRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3Q6IENvbXBsYWludENhdGVnb3J5TW9kZWxbXTtcclxuICBwdWJsaWMgY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3RFbXByOiBDb21wbGFpbnRDYXRlZ29yeU1vZGVsW107XHJcbiAgcHVibGljIGNvbXBsYWludENhdGVnb3J5UmV0cml2ZWRMaXN0Q2xtdDogQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbFtdO1xyXG4gIHB1YmxpYyBhY3RpdmVDb21wbGFpbnRDYXRlZ29yeTogQ29tcGxhaW50Q2F0ZWdvcnlNb2RlbFtdO1xyXG4gIHB1YmxpYyBjYXNlTm86IHN0cmluZztcclxuICBwdWJsaWMgcmVzcG9uc2VDYWxsOiBhbnk7XHJcbiAgcHVibGljIGFsbERlcGFydG1lbnRzOiBLZXlWYWx1ZU1vZGVsW107XHJcbiAgcHVibGljIGFsbFVuaXRzOiBLZXlWYWx1ZU1vZGVsW107XHJcbiAgcHVibGljIHVuaXRzQmFzZWRPbkRlcHQ6IEtleVZhbHVlTW9kZWxbXTtcclxuICBwdWJsaWMgYWxsQ2xvc2VSZWFzb25zOiBLZXlWYWx1ZU1vZGVsW107XHJcbiAgcHVibGljIGFsbFJvbGVzOiBLZXlWYWx1ZU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdXNlcnM6IGFueVtdO1xyXG4gIHB1YmxpYyB1c2Vyc0ZMbmFtZTogQXJyYXk8Q2hvaWNlc01vZGVsPiA9IFtdO1xyXG4gIHB1YmxpYyB1bml0SUQ6IGFueTtcclxuICBwdWJsaWMgc2VsZWN0ZWREZXA6IGFueTtcclxuICBwdWJsaWMgc2VsZWN0ZWREZXBUeXBlOiBhbnk7XHJcbiAgcHVibGljIHNlbGVjdGVkUm9sZTogYW55O1xyXG4gIHB1YmxpYyBzZWxlY3RlZFVuaXQ6IGFueTtcclxuICBwdWJsaWMgbXNnR2VuZXJhdGVkVGhyb3VnaExpc3Q6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBpc0NzcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGlzTmV3Q2FzZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkQ2FzZSA6IENhc2VDb3JlTW9kZWw7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgdXBkYXRlU3VjY2VzcyA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkhpZGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvbkxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWN0Rm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyBjb250YWN0Rm9ybURpcmVjdGl2ZTogTmdGb3JtO1xyXG5cclxuICBzaG93U3VjY2VzcyA9IGZhbHNlO1xyXG4gIGRpc3BsYXk6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHN1Ym1pdFN1Y2Nlc3MgPSBmYWxzZTtcclxuICBpbnB1dFR5cGUgPSAndGV4dCc7XHJcblxyXG4gIHR5cGU6IENob2ljZXNNb2RlbFtdID0gW1xyXG4gICAgeyB0ZXh0OiAnYSBjbGFpbWFudCcsIHZhbHVlOiAnQ0xNVCcgfSxcclxuICAgIHsgdGV4dDogJ2FuIGVtcGxveWVyJywgdmFsdWU6ICdFTVBSJyB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyBjYXNlU2VydmljZTogQ2FzZVNlcnZpY2UsIHB1YmxpYyBjbXBTZXJ2aWNlOiBDbXBTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNlY3VyaXR5U2VydmljZTogU2VjdXJpdHlTZXJ2aWNlLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHtcclxuICB9O1xyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmblxyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmblxyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29udGFjdFVzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICAndXNlclR5cGUnOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdmaXJzdE5hbWUnOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdsYXN0TmFtZSc6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ3Nzbic6IFtudWxsXSxcclxuICAgICAgJ2NsYWltYW50SWQnOiBbbnVsbF0sXHJcbiAgICAgICdlYW4nOiBbbnVsbF0sXHJcbiAgICAgICdmZWluJzogW251bGxdLFxyXG4gICAgICAnc2VsZWN0ZWRSZWFzb24nOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdpc3N1ZSc6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ2VtYWlsJzogW251bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLm1hdGNoKEFwcFJlZ2V4LkVNQUlMX1JFR0VYLCB7IGVtYWlsOiB0cnVlIH0pXV0sXHJcbiAgICAgICdwaG9uZSc6IFtudWxsXSxcclxuICAgICAgJ2FsdFBob25lJzogW251bGxdLFxyXG4gICAgICAnYWRkcmVzcyc6IFtudWxsXSxcclxuICAgICAgJ2RpdmlzaW9uJzogW251bGxdLFxyXG4gICAgICAndW5pdCc6IFtudWxsXSxcclxuICAgICAgJ2dlbmVyYWxBc3NpZ25tZW50JzogW251bGxdLFxyXG4gICAgICAnYXNzaWduQ2FzZVRvJzogW251bGxdLFxyXG4gICAgICAnY2xvc2VDYXNlUmVhc29uJzpbbnVsbF0sXHJcbiAgICAgICdnZW5lcmF0ZWRUaHJvdWdoJzpbbnVsbF0sXHJcbiAgICAgICdjYXB0Y2hhJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgdGhpcy5zZWxlY3RCdXR0b25WYWxpZGF0aW9uKCk7XHJcbiAgICB0aGlzLnNlbGVjdENTUnZhbGlkYXRpb24oKTtcclxuICAgIHRoaXMuZ2V0Q29tcGxhaW50Q2F0ZWdvcnkoKTtcclxuICAgIHRoaXMuZmV0Y2hNc3REZXBhcnRtZW50cygpO1xyXG4gICAgdGhpcy5mZXRjaE1zdEFsbFVuaXRzKCk7XHJcbiAgICB0aGlzLmZldGNoTXN0Q2FzZUNsb3NlUmVhc29ucygpO1xyXG4gICAgdGhpcy5nZXRBbGxSb2xlcygpO1xyXG4gICAgdGhpcy5nZXRNc2dHZW5lcmF0ZWRUaHJvdWdoKCk7XHJcblxyXG4gICAgaWYodGhpcy5zZWxlY3RlZENhc2UgJiYgdGhpcy5pc0NzciA9PSB0cnVlKXtcclxuICAgICAgdGhpcy5sb2FkUHJlU2F2ZWRDb250YWN0VXNEZXRhaWxzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkUHJlU2F2ZWRDb250YWN0VXNEZXRhaWxzKCl7XHJcbiAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZGVidWcoXCJzZWxlY3RlZCBjYXNlIDogXCIsIHRoaXMuc2VsZWN0ZWRDYXNlKTtcclxuICAgIHRoaXMuY21wU2VydmljZS5mZXRjaElucXVpcnlEZXRhaWxzQnlJbnF1aXJ5SWQodGhpcy5zZWxlY3RlZENhc2UuY2FzZU51bWJlcikuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5pbmZvKHJlcyk7XHJcbiAgICAgICAgdGhpcy5jb250YWN0VXNGb3JtLnBhdGNoVmFsdWUocmVzKTtcclxuICAgICAgICB0aGlzLnVzZXJUeXBlLnNldFZhbHVlKHJlc1tcInVzZXJUeXBlXCJdLnZhbHVlKTtcclxuICAgICAgICB0aGlzLmRpdmlzaW9uLnNldFZhbHVlKHRoaXMuYWxsRGVwYXJ0bWVudHMuZmlsdGVyKGMgPT4gYy5rZXkgPT0gdGhpcy5zZWxlY3RlZENhc2UuZGVwYXJ0bWVudC5rZXkpWzBdKTtcclxuICAgICAgICB0aGlzLmdlbmVyYWxBc3NpZ25tZW50LnNldFZhbHVlKHRoaXMuYWxsUm9sZXMuZmlsdGVyKGMgPT4gYy52YWx1ZSA9PSB0aGlzLnNlbGVjdGVkQ2FzZS5sZXZlbC50ZXh0KVswXSk7XHJcblxyXG4gICAgICAgIGlmIChyZXNbXCJ1c2VyVHlwZVwiXS52YWx1ZSA9PT0gJ0VNUFInKSB7XHJcbiAgICAgICAgICB0aGlzLmFjdGl2ZUNvbXBsYWludENhdGVnb3J5ID0gdGhpcy5jb21wbGFpbnRDYXRlZ29yeVJldHJpdmVkTGlzdEVtcHI7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEJ1dHRvblZhbGlkYXRpb24oKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHJlc1tcInVzZXJUeXBlXCJdLnZhbHVlID09PSAnQ0xNVCcpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlQ29tcGxhaW50Q2F0ZWdvcnkgPSB0aGlzLmNvbXBsYWludENhdGVnb3J5UmV0cml2ZWRMaXN0Q2xtdDtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0QnV0dG9uVmFsaWRhdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkUmVhc29uLnNldFZhbHVlKHRoaXMuYWN0aXZlQ29tcGxhaW50Q2F0ZWdvcnkuZmlsdGVyKGMgPT4gYy5jb21wbGFpbnRDYXRlZ29yeUlkID09IHJlcy5jb21wbGFpbnRDYXRlZ29yeSlbMF0pO1xyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGVwVHlwZSA9IHRoaXMuZGl2aXNpb24udmFsdWUua2V5O1xyXG4gICAgICAgIHRoaXMuZ2V0VW5pdHNCYXNlZE9uRGVwU2VsZWN0ZWQoKTtcclxuICAgICAgICBpZih0aGlzLnNlbGVjdGVkQ2FzZS51bml0ICE9IG51bGwpe1xyXG4gICAgICAgICAgdGhpcy51bml0LnNldFZhbHVlKHRoaXMudW5pdHNCYXNlZE9uRGVwdC5maWx0ZXIoYyA9PiBjLmtleSA9PSB0aGlzLnNlbGVjdGVkQ2FzZS51bml0LmtleSlbMF0pO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFVuaXQgPSB0aGlzLnVuaXQudmFsdWUua2V5O1xyXG4gICAgICAgIH0gICAgICAgXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvbGUgPSB0aGlzLmdlbmVyYWxBc3NpZ25tZW50LnZhbHVlLnR5cGU7XHJcbiAgICAgICAgdGhpcy5nZXRVc2Vyc0Jhc2VkT25EZXB0QW5kUm9sZSgpO1xyXG4gICAgICAgIGlmKHRoaXMuc2VsZWN0ZWRDYXNlLmNsb3NlQ2FzZVJlYXNvbiAhPSBudWxsKXtcclxuICAgICAgICAgIHRoaXMuY2xvc2VDYXNlUmVhc29uLnNldFZhbHVlKHRoaXMuYWxsQ2xvc2VSZWFzb25zLmZpbHRlcihjID0+IGMua2V5ID09IHRoaXMuc2VsZWN0ZWRDYXNlLmNsb3NlQ2FzZVJlYXNvbi52YWx1ZSlbMF0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYocmVzLmdlbmVyYXRlZFRocm91Z2ggIT0gbnVsbCl7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyYXRlZFRocm91Z2guc2V0VmFsdWUodGhpcy5tc2dHZW5lcmF0ZWRUaHJvdWdoTGlzdC5maWx0ZXIoYyA9PiBjLmtleSA9PSByZXMuZ2VuZXJhdGVkVGhyb3VnaC52YWx1ZSlbMF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgXHJcblx0ICAgICAgdGhpcy5vbkxvYWQuZW1pdChyZXMpO1xyXG4gICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcIlVuYWJsZSB0byBmZXRjaCBpbnF1aXJ5IGRldGFpbHMuXCIpO1xyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBlbWl0SGlkZShldmVudCkge1xyXG4gICAgdGhpcy5vbkhpZGUuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd1N1Y2Nlc3MgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEJ1dHRvblZhbGlkYXRpb24oKSB7XHJcbiAgICB0aGlzLnVzZXJUeXBlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcclxuXHJcbiAgICAgIGlmICh2YWwgPT09ICdDTE1UJykge1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnNzbik7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVhbik7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmZlaW4pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2YWwgPT09ICdFTVBSJykge1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zc24pO1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVhbik7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZmVpbik7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzZWxlY3RDU1J2YWxpZGF0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuaXNDc3IpIHtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZGl2aXNpb24pO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy51bml0KTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZ2VuZXJhbEFzc2lnbm1lbnQpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5hc3NpZ25DYXNlVG8pO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5nZW5lcmF0ZWRUaHJvdWdoKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNhcHRjaGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3VibWl0Q29udGFjdFVzKGlucHV0IDogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuY29udGFjdFVzRm9ybS52YWxpZCkge1xyXG4gICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmNvbnRhY3RVc0Zvcm0pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgY29udGFjdFVzSW5xdWlyeU1vZGVsOiBDb250YWN0VXNJbnF1ZXJ5TW9kZWwgPSBuZXcgQ29udGFjdFVzSW5xdWVyeU1vZGVsKCk7XHJcblxyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuaW5xdWlyeUJ5ID0gdGhpcy51c2VyVHlwZS52YWx1ZTtcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmZpcnN0TmFtZSA9IHRoaXMuZmlyc3ROYW1lLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwubGFzdE5hbWUgPSB0aGlzLmxhc3ROYW1lLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuc3NuID0gdGhpcy5zc24udmFsdWU7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5jbGFpbWFudElkID0gdGhpcy5jbGFpbWFudElkLnZhbHVlO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuZWFuID0gdGhpcy5lYW4udmFsdWU7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5mZWluID0gdGhpcy5mZWluLnZhbHVlO1xyXG5cclxuICAgICAgbGV0IGNob2ljZU1vZGVsOiBDb21wbGFpbnRDYXRlZ29yeU91dHB1dE1vZGVsID0gbmV3IENvbXBsYWludENhdGVnb3J5T3V0cHV0TW9kZWwoKTtcclxuICAgICAgY2hvaWNlTW9kZWwudGV4dCA9IHRoaXMuc2VsZWN0ZWRSZWFzb24udmFsdWUuZGVzY3JpcHRpb247XHJcbiAgICAgIGNob2ljZU1vZGVsLnZhbHVlID0gdGhpcy5zZWxlY3RlZFJlYXNvbi52YWx1ZS5jb21wbGFpbnRDYXRlZ29yeUlkO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuY29tcGxhaW50Q2F0ZWdvcnkgPSBjaG9pY2VNb2RlbDtcclxuXHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5xdWVzdGlvbiA9IHRoaXMuaXNzdWUudmFsdWU7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5lbWFpbCA9IHRoaXMuZW1haWwudmFsdWU7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5waG9uZSA9IHRoaXMucGhvbmUudmFsdWU7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5hbHRQaG9uZSA9IHRoaXMuYWx0UGhvbmUudmFsdWU7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5zdHJlZXRBZGRyZXNzID0gdGhpcy5hZGRyZXNzLnZhbHVlPy5zdHJlZXRBZGRyZXNzO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwub3B0aW9uYWxBZGRyZXNzID0gdGhpcy5hZGRyZXNzLnZhbHVlPy5vcHRpb25hbEFkZHJlc3M7XHJcbiAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5jaXR5ID0gdGhpcy5hZGRyZXNzLnZhbHVlPy5jaXR5O1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuc3RhdGUgPSB0aGlzLmFkZHJlc3MudmFsdWU/LnN0YXRlPy52YWx1ZTtcclxuICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLnppcCA9IHRoaXMuYWRkcmVzcy52YWx1ZT8uemlwO1xyXG4gICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuY291bnRyeSA9IHRoaXMuYWRkcmVzcy52YWx1ZT8uY291bnRyeS52YWx1ZTtcclxuXHJcbiAgICAgIGlmKHRoaXMuaXNDc3IgPT09IGZhbHNlKXtcclxuICAgICAgICBsZXQgY2hvaWNlTW9kZWw6IENob2ljZXNNb2RlbCA9IG5ldyBDaG9pY2VzTW9kZWwoKTtcclxuICAgICAgICBjaG9pY2VNb2RlbC50ZXh0ID0gXCJTZWxmIHNlcnZpY2VcIjtcclxuICAgICAgICBjaG9pY2VNb2RlbC52YWx1ZSA9IFwiU0VMRlwiO1xyXG4gICAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5nZW5lcmF0ZWRUaHJvdWdoID0gY2hvaWNlTW9kZWw7XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5pc0NzciA9PT0gdHJ1ZSl7XHJcbiAgICAgICAgbGV0IGNob2ljZU1vZGVsMzogQ2hvaWNlc01vZGVsID0gbmV3IENob2ljZXNNb2RlbCgpO1xyXG4gICAgICAgIGNob2ljZU1vZGVsMy50ZXh0ID0gdGhpcy5kaXZpc2lvbi52YWx1ZS52YWx1ZTtcclxuICAgICAgICBjaG9pY2VNb2RlbDMudmFsdWUgPSB0aGlzLmRpdmlzaW9uLnZhbHVlLmtleTtcclxuICAgICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuZGl2aXNpb24gPSBjaG9pY2VNb2RlbDM7XHJcblxyXG4gICAgICAgIGxldCBjaG9pY2VNb2RlbDY6IENob2ljZXNNb2RlbCA9IG5ldyBDaG9pY2VzTW9kZWwoKTtcclxuICAgICAgICBjaG9pY2VNb2RlbDYudGV4dCA9IHRoaXMudW5pdC52YWx1ZS52YWx1ZTtcclxuICAgICAgICBjaG9pY2VNb2RlbDYudmFsdWUgPSB0aGlzLnVuaXQudmFsdWUua2V5O1xyXG4gICAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC51bml0ID0gY2hvaWNlTW9kZWw2O1xyXG5cclxuICAgICAgICBsZXQgY2hvaWNlTW9kZWw6IENob2ljZXNNb2RlbCA9IG5ldyBDaG9pY2VzTW9kZWwoKTtcclxuICAgICAgICBjaG9pY2VNb2RlbC50ZXh0ID0gdGhpcy5nZW5lcmFsQXNzaWdubWVudC52YWx1ZS5kZXNjcmlwdGlvbjtcclxuICAgICAgICBjaG9pY2VNb2RlbC52YWx1ZSA9IHRoaXMuZ2VuZXJhbEFzc2lnbm1lbnQudmFsdWUua2V5O1xyXG4gICAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5jYXNlT3duZXJHcm91cEtleSA9IGNob2ljZU1vZGVsO1xyXG5cclxuICAgICAgICBsZXQgY2hvaWNlTW9kZWwyOiBDaG9pY2VzTW9kZWwgPSBuZXcgQ2hvaWNlc01vZGVsKCk7XHJcbiAgICAgICAgY2hvaWNlTW9kZWwyLnRleHQgPSB0aGlzLmFzc2lnbkNhc2VUby52YWx1ZS50ZXh0O1xyXG4gICAgICAgIGNob2ljZU1vZGVsMi52YWx1ZSA9IHRoaXMuYXNzaWduQ2FzZVRvLnZhbHVlLnZhbHVlO1xyXG4gICAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5hc3NpZ25DYXNlVG8gPSBjaG9pY2VNb2RlbDI7IFxyXG5cclxuICAgICAgICBpZih0aGlzLmNsb3NlQ2FzZVJlYXNvbi52YWx1ZSAhPSBudWxsKXtcclxuICAgICAgICAgIGxldCBjaG9pY2VNb2RlbDQ6IENob2ljZXNNb2RlbCA9IG5ldyBDaG9pY2VzTW9kZWwoKTtcclxuICAgICAgICAgIGNob2ljZU1vZGVsNC50ZXh0ID0gdGhpcy5jbG9zZUNhc2VSZWFzb24udmFsdWUuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICBjaG9pY2VNb2RlbDQudmFsdWUgPSB0aGlzLmNsb3NlQ2FzZVJlYXNvbi52YWx1ZS5rZXk7XHJcbiAgICAgICAgICBjb250YWN0VXNJbnF1aXJ5TW9kZWwuY2xvc2VDYXNlUmVhc29uID0gY2hvaWNlTW9kZWw0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5nZW5lcmF0ZWRUaHJvdWdoLnZhbHVlICE9IG51bGwpe1xyXG4gICAgICAgICAgbGV0IGNob2ljZU1vZGVsNTogQ2hvaWNlc01vZGVsID0gbmV3IENob2ljZXNNb2RlbCgpO1xyXG4gICAgICAgICAgY2hvaWNlTW9kZWw1LnRleHQgPSB0aGlzLmdlbmVyYXRlZFRocm91Z2gudmFsdWUuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICBjaG9pY2VNb2RlbDUudmFsdWUgPSB0aGlzLmdlbmVyYXRlZFRocm91Z2gudmFsdWUua2V5O1xyXG4gICAgICAgICAgY29udGFjdFVzSW5xdWlyeU1vZGVsLmdlbmVyYXRlZFRocm91Z2ggPSBjaG9pY2VNb2RlbDU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuY29udGFjdFVzRm9ybSk7XHJcbiAgICAgIGlmKHRoaXMuc2VsZWN0ZWRDYXNlICYmIHRoaXMuc2VsZWN0ZWRDYXNlLmNhc2VOdW1iZXIpe1xyXG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5kZWJ1ZygndXBkYXRlIGNhbGxlZCA9ICcsIHRoaXMuc2VsZWN0ZWRDYXNlLmNhc2VOdW1iZXIpO1xyXG4gICAgICAgIGNvbnRhY3RVc0lucXVpcnlNb2RlbC5pbnF1aXJ5SWQgPSB0aGlzLnNlbGVjdGVkQ2FzZS5jYXNlTnVtYmVyO1xyXG4gICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbXBTZXJ2aWNlLnVwZGF0ZUlucXVpcnlEYXRhKGNvbnRhY3RVc0lucXVpcnlNb2RlbCwgdGhpcy5zZWxlY3RlZENhc2UuY2FzZU51bWJlcilcclxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+e1xyXG4gICAgICAgICAgICB0aGlzLnJlc3BvbnNlQ2FsbCA9IHJlcztcclxuICAgICAgICAgICAgdGhpcy5jYXNlTm8gPSB0aGlzLnJlc3BvbnNlQ2FsbC5pbnF1aXJ5SWQ7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKHRoaXMucmVzcG9uc2VDYWxsW1wibXNnXCJdKTtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFwiZXJyXCIsIGVycik7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZGVidWcoXCJjcmVhdGluZyBuZXcgY2FzZVwiKTtcclxuICAgICAgICBpZih0aGlzLmlzQ3NyID09PSB0cnVlKXtcclxuICAgICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY21wU2VydmljZS5zdWJtaXRRdWVyeUZvckNTUihjb250YWN0VXNJbnF1aXJ5TW9kZWwpXHJcbiAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzU3VibWl0UXVlcnlSZXNwb25zZShyZXMpO1xyXG4gICAgICAgICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NTdWJtaXRRdWVyeUVycm9yUmVzcG9uc2UoZXJyKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNtcFNlcnZpY2Uuc3VibWl0UXVlcnkoY29udGFjdFVzSW5xdWlyeU1vZGVsKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzU3VibWl0UXVlcnlSZXNwb25zZShyZXMpO1xyXG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMucHJvY2Vzc1N1Ym1pdFF1ZXJ5RXJyb3JSZXNwb25zZShlcnIpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gICBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwcm9jZXNzU3VibWl0UXVlcnlFcnJvclJlc3BvbnNlKGVycjogYW55KSB7XHJcbiAgICB0aGlzLnNob3dTdWNjZXNzID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXCJlcnJcIiwgZXJyKTtcclxuICAgIGlmKHRoaXMuaXNDc3IgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy51cGRhdGVTdWNjZXNzLmVtaXQoXCJ0cnVlXCIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICB9XHJcbiAgcHJvY2Vzc1N1Ym1pdFF1ZXJ5UmVzcG9uc2UocmVzOiBhbnkpIHtcclxuICAgIHRoaXMucmVzcG9uc2VDYWxsID0gcmVzO1xyXG4gICAgdGhpcy5jYXNlTm8gPSB0aGlzLnJlc3BvbnNlQ2FsbC5pbnF1aXJ5SWQ7XHJcblxyXG4gICAgaWYgKHRoaXMuY2FzZU5vICE9IFwiMFwiKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5pbmZvKCdTdWJtaXQgY29udGFjdCB1cyBjYXNlIE5vOicsIHRoaXMuY2FzZU5vKTtcclxuICAgICAgdGhpcy5zaG93U3VjY2VzcyA9IHRydWU7XHJcbiAgICAgIHRoaXMuc3VibWl0U3VjY2VzcyA9IHRydWU7XHJcbiAgICAgIGlmKHRoaXMuaXNDc3IgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVN1Y2Nlc3MuZW1pdChcInRydWVcIik7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcignZmFpbGVkIHRvIHN1Ym1pdCBjb250YWN0IHVzIGNhc2UnKTtcclxuICAgICAgdGhpcy5zaG93U3VjY2VzcyA9IHRydWU7XHJcbiAgICAgIGlmKHRoaXMuaXNDc3IgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVN1Y2Nlc3MuZW1pdChcInRydWVcIik7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xyXG4gICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkID0+IHtcclxuXHJcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcclxuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xyXG4gICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRDb21wbGFpbnRDYXRlZ29yeSgpIHtcclxuICAgIHRoaXMuY21wU2VydmljZS5nZXRDb21wbGFpbnRDYXRlZ29yeSgpLnN1YnNjcmliZSgocmVzOiBDb21wbGFpbnRDYXRlZ29yeU1vZGVsW10pID0+IHtcclxuICAgICAgdGhpcy5jb21wbGFpbnRDYXRlZ29yeVJldHJpdmVkTGlzdCA9IHJlcztcclxuICAgICAgdGhpcy5jb21wbGFpbnRDYXRlZ29yeVJldHJpdmVkTGlzdEVtcHIgPSByZXMuZmlsdGVyKHIgPT4gci50eXBlID09PSBcIkVNUFJcIik7XHJcbiAgICAgIHRoaXMuY29tcGxhaW50Q2F0ZWdvcnlSZXRyaXZlZExpc3RDbG10ID0gcmVzLmZpbHRlcihyID0+IHIudHlwZSA9PT0gXCJDTE1UXCIpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuICBhY3RpdmVVc2VyVHlwZShldmVudCkge1xyXG4gICAgbGV0IGN1cnJlbnRWYWx1ZSA9IGV2ZW50Lm9wdGlvbi52YWx1ZTtcclxuICAgIGlmIChjdXJyZW50VmFsdWUgPT09ICdFTVBSJykge1xyXG4gICAgICB0aGlzLmFjdGl2ZUNvbXBsYWludENhdGVnb3J5ID0gdGhpcy5jb21wbGFpbnRDYXRlZ29yeVJldHJpdmVkTGlzdEVtcHI7XHJcbiAgICAgIHRoaXMuc2VsZWN0QnV0dG9uVmFsaWRhdGlvbigpO1xyXG4gICAgfSBlbHNlIGlmIChjdXJyZW50VmFsdWUgPT09ICdDTE1UJykge1xyXG4gICAgICB0aGlzLmFjdGl2ZUNvbXBsYWludENhdGVnb3J5ID0gdGhpcy5jb21wbGFpbnRDYXRlZ29yeVJldHJpdmVkTGlzdENsbXQ7XHJcbiAgICAgIHRoaXMuc2VsZWN0QnV0dG9uVmFsaWRhdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0RGVwYXJ0bWVudEJhc2VkT25DYXRlZ29yeShldmVudCkge1xyXG4gICAgbGV0IGN1cnJlbnRWYWx1ZSA9IGV2ZW50LnZhbHVlO1xyXG4gICAgbGV0IGRlcElkID0gY3VycmVudFZhbHVlLmRlcGFydG1lbnRVbml0SWQ7XHJcbiAgICBsZXQgc2VhcmNoZWRfZGVwID0gdGhpcy5hbGxEZXBhcnRtZW50cy5maWx0ZXIoZGVwID0+IGRlcC5rZXkgPT0gZGVwSWQpWzBdO1xyXG4gICAgdGhpcy5kaXZpc2lvbi5zZXRWYWx1ZShzZWFyY2hlZF9kZXApO1xyXG4gICAgdGhpcy5zZWxlY3RlZERlcFR5cGUgPSB0aGlzLmRpdmlzaW9uLnZhbHVlLnR5cGU7XHJcbiAgfVxyXG5cclxuICBmZXRjaFVuaXRzQmFzZWRPbkRlcFR5cGUoZXZlbnQpIHtcclxuICAgIGxldCBkZXB0SWQgPSBldmVudC52YWx1ZS5rZXk7XHJcbiAgICBpZiAodGhpcy5hbGxVbml0cyAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMudW5pdHNCYXNlZE9uRGVwdCA9IHRoaXMuYWxsVW5pdHMuZmlsdGVyKHMgPT4gcy50eXBlID09IGRlcHRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRVbml0c0Jhc2VkT25EZXBTZWxlY3RlZCgpIHtcclxuICAgIGlmICh0aGlzLmFsbFVuaXRzICE9IG51bGwgJiYgdGhpcy5zZWxlY3RlZERlcFR5cGUgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnVuaXRzQmFzZWRPbkRlcHQgPSB0aGlzLmFsbFVuaXRzLmZpbHRlcihzID0+IHMudHlwZSA9PSB0aGlzLnNlbGVjdGVkRGVwVHlwZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmZXRjaFVzZXJzQmFzZWRPblVuaXQoZXZlbnQpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRVbml0ID0gZXZlbnQudmFsdWUua2V5O1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb2xlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5nZXRVc2Vyc0Jhc2VkT25EZXB0QW5kUm9sZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hVc2Vyc0Jhc2VkT25Sb2xlcyhldmVudCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFJvbGUgPSBldmVudC52YWx1ZS50eXBlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRVbml0ICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5nZXRVc2Vyc0Jhc2VkT25EZXB0QW5kUm9sZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlcnNCYXNlZE9uRGVwdEFuZFJvbGUoKSB7XHJcbiAgICB0aGlzLnVzZXJzRkxuYW1lID0gW107XHJcbiAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZGVidWcoJ2ZldGNoaW5nIHVzZXJzIGZvciB1bml0IDogJywgdGhpcy5zZWxlY3RlZFVuaXQgLCAnYW5kIHJvbGUgJywgdGhpcy5zZWxlY3RlZFJvbGUpO1xyXG4gICAgaWYodGhpcy5zZWxlY3RlZFVuaXQgPT0gbnVsbCB8fCB0aGlzLnNlbGVjdGVkUm9sZSA9PSBudWxsKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWN1cml0eVNlcnZpY2UuZ2V0VXNlclVuaXRJZFJvbGVJZCh0aGlzLnNlbGVjdGVkVW5pdCwgdGhpcy5zZWxlY3RlZFJvbGUpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgdGhpcy51c2VycyA9IHJlcztcclxuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmRlYnVnKHRoaXMudXNlcnMpO1xyXG4gICAgICBpZih0aGlzLnVzZXJzKXtcclxuICAgICAgICB0aGlzLnVzZXJzLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgICAgIGxldCB0ZW1wOiBDaG9pY2VzTW9kZWwgID0gbmV3IENob2ljZXNNb2RlbCgpO1xyXG4gICAgICAgICAgdGVtcC50ZXh0PShlLmZpcnN0TmFtZSArICcgJyArIGUubGFzdE5hbWUgKyAnICgnKyBlLnVzZXJJZCArJyknKTtcclxuICAgICAgICAgIC8vdGVtcC50ZXh0PWUuZmlyc3ROYW1lICsgJyAnICsgZS5sYXN0TmFtZTtcclxuICAgICAgICAgIHRlbXAudmFsdWUgPSBlLnVzZXJJZDtcclxuICAgICAgICAgIHRoaXMudXNlcnNGTG5hbWUucHVzaCh0ZW1wKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZih0aGlzLnNlbGVjdGVkQ2FzZS5hc3NpZ25lZFRvdXNlciAhPSBudWxsKXtcclxuICAgICAgICAgIHRoaXMuYXNzaWduQ2FzZVRvLnNldFZhbHVlKHRoaXMudXNlcnNGTG5hbWUuZmlsdGVyKGMgPT4gYy52YWx1ZSA9PSB0aGlzLnNlbGVjdGVkQ2FzZS5hc3NpZ25lZFRvdXNlci52YWx1ZSlbMF0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgZXJyID0+IHtcclxuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmluZm8oXCJObyB1c2VyIGNvbmZpZ3VyZWQgZm9yIHRoaXMgcm9sZVwiKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hNc3REZXBhcnRtZW50cygpIHtcclxuICAgIHJldHVybiB0aGlzLmNhc2VTZXJ2aWNlLmZldGNoTXN0RGVwYXJ0bWVudHMoKS5zdWJzY3JpYmUoKHJlczogYW55W10pID0+IHtcclxuICAgICAgdGhpcy5hbGxEZXBhcnRtZW50cyA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hNc3RBbGxVbml0cygpIHtcclxuICAgIHJldHVybiB0aGlzLmNhc2VTZXJ2aWNlLmZldGNoTXN0QWxsVW5pdHMoKS5zdWJzY3JpYmUoKHJlczogYW55W10pID0+IHtcclxuICAgICAgdGhpcy5hbGxVbml0cyA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hNc3RDYXNlQ2xvc2VSZWFzb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FzZVNlcnZpY2UuZmV0Y2hNc3RDYXNlQ2xvc2VSZWFzb25zKCkuc3Vic2NyaWJlKChyZXM6IGFueVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuYWxsQ2xvc2VSZWFzb25zID0gcmVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBbGxSb2xlcygpIHtcclxuICAgIHJldHVybiB0aGlzLmNhc2VTZXJ2aWNlLmdldE1zdE93bmVyR3JvdXBzKCkuc3Vic2NyaWJlKChyZXM6IGFueVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuYWxsUm9sZXMgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldE1zZ0dlbmVyYXRlZFRocm91Z2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jbXBTZXJ2aWNlLmdldE1zZ0dlbmVyYXRlZFRocm91Z2goKS5zdWJzY3JpYmUoKHJlczogYW55W10pID0+IHtcclxuICAgICAgdGhpcy5tc2dHZW5lcmF0ZWRUaHJvdWdoTGlzdCA9IHJlcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXJUeXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1sndXNlclR5cGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdE5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydmaXJzdE5hbWUnXTtcclxuICB9XHJcblxyXG4gIGdldCBsYXN0TmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2xhc3ROYW1lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc3NuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snc3NuJ107XHJcbiAgfVxyXG5cclxuICBnZXQgY2xhaW1hbnRJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2NsYWltYW50SWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBlYW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydlYW4nXTtcclxuICB9XHJcblxyXG4gIGdldCBmZWluKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snZmVpbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlbGVjdGVkUmVhc29uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snc2VsZWN0ZWRSZWFzb24nXTtcclxuICB9XHJcblxyXG4gIGdldCBpc3N1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2lzc3VlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1haWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydlbWFpbCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBob25lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1sncGhvbmUnXTtcclxuICB9XHJcblxyXG4gIGdldCBhbHRQaG9uZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2FsdFBob25lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWRkcmVzcygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2FkZHJlc3MnXTtcclxuICB9XHJcblxyXG4gIGdldCBjYXB0Y2hhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snY2FwdGNoYSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpdmlzaW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snZGl2aXNpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCB1bml0KCl7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWyd1bml0J107XHJcbiAgfVxyXG5cclxuICBnZXQgZ2VuZXJhbEFzc2lnbm1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250YWN0VXNGb3JtLmNvbnRyb2xzWydnZW5lcmFsQXNzaWdubWVudCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFzc2lnbkNhc2VUbygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2Fzc2lnbkNhc2VUbyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNsb3NlQ2FzZVJlYXNvbigpe1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGFjdFVzRm9ybS5jb250cm9sc1snY2xvc2VDYXNlUmVhc29uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZ2VuZXJhdGVkVGhyb3VnaCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRhY3RVc0Zvcm0uY29udHJvbHNbJ2dlbmVyYXRlZFRocm91Z2gnXTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCI8aDEgY2xhc3M9XCJjb250YWN0VXNQYWdlVGl0bGVcIiAgXHJcbipuZ0lmPVwiaXNOZXdDYXNlXCI+e3snY29udGFjdC51cy5wYWdlVGl0bGUnIHwgdHJhbnNsYXRlfX08L2gxPlxyXG5cclxuPGRpdiAqbmdJZj1cIiFzaG93U3VjY2Vzc1wiPlxyXG4gIDxzcGFuIHN0eWxlPVwiZm9udC1mYW1pbHk6IHZhcigtLWFwcC1mb250LWxpZ2h0KVwiPlxyXG4gICAgPHAgKm5nSWY9XCJpc05ld0Nhc2VcIiBjbGFzcz1cImNvbnRhY3RVc1BhZ2VIZWFkZXJcIiA+XHJcbiAgICB7eydjb250YWN0LnVzLnBhZ2VIZWFkZXInIHwgdHJhbnNsYXRlfX1cclxuICAgIDwvcD5cclxuICA8L3NwYW4+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJjb250YWN0VXNGb3JtXCIgI2NvbnRhY3RGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdENvbnRhY3RVc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgZ3JpZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cInR5cGVcIj57e1wiY29udGFjdC51cy51c2VyVHlwZVwifCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInR5cGVcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VyVHlwZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgKG9uT3B0aW9uQ2xpY2spPVwiYWN0aXZlVXNlclR5cGUoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3VzZXJUeXBlJyBbZm9ybV09XCJjb250YWN0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTZcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiZmlyc3ROYW1lXCI+e3tcImNvbnRhY3QudXMuZmlyc3RuYW1lXCJ8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cImZpcnN0TmFtZVwiIG1heGxlbmd0aD1cIjMwXCIgLz5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmlyc3ROYW1lJyBbZm9ybV09XCJjb250YWN0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTZcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwibGFzdE5hbWVcIj57eydjb250YWN0LnVzLmxhc3ROYW1lJ3wgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgZm9ybUNvbnRyb2xOYW1lPVwibGFzdE5hbWVcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2xhc3ROYW1lJyBbZm9ybV09XCJjb250YWN0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNlwiICpuZ0lmPVwidXNlclR5cGUudmFsdWU9PSdDTE1UJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJzc25cIj57eydjb250YWN0LnVzLnNzbid8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OTlcIiBmb3JtQ29udHJvbE5hbWU9XCJzc25cIiAob25Gb2N1cyk9XCJpbnB1dFR5cGU9J3RleHQnXCIgKG9uQmx1cik9XCJpbnB1dFR5cGU9J3Bhc3N3b3JkJ1wiXHJcbiAgICAgICAgICBbdHlwZV09XCJpbnB1dFR5cGVcIj48L3AtaW5wdXRNYXNrPlxyXG4gICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzc24nIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC02XCIgKm5nSWY9XCJ1c2VyVHlwZS52YWx1ZT09J0NMTVQnXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImNsYWltYW50SWRcIj57eydjb250YWN0LnVzLmNsYWltYW50SUQnfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgPHAtaW5wdXROdW1iZXIgZm9ybUNvbnRyb2xOYW1lPVwiY2xhaW1hbnRJZFwiIG1vZGU9XCJkZWNpbWFsXCIgaW5wdXRJZD1cImNsYWltYW50SWRcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJvcHRpb25hbFwiIG1heGxlbmd0aD1cIjhcIj4gPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiICpuZ0lmPVwidXNlclR5cGUudmFsdWU9PSdFTVBSJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJlYW5cIj57eydjb250YWN0LnVzLmVhbid8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OTk5OTk5OTlcIiBmb3JtQ29udHJvbE5hbWU9XCJlYW5cIiAob25Gb2N1cyk9XCJpbnB1dFR5cGU9J3RleHQnXCJcclxuICAgICAgICAgIChvbkJsdXIpPVwiaW5wdXRUeXBlPSdwYXNzd29yZCdcIiBbdHlwZV09XCJpbnB1dFR5cGVcIj48L3AtaW5wdXRNYXNrPlxyXG4gICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlYW4nIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiICpuZ0lmPVwidXNlclR5cGUudmFsdWU9PSdFTVBSJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJmZWluXCI+e3snY29udGFjdC51cy5mZWluJ3wgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxwLWlucHV0TWFzayBtYXNrPVwiOTk5OTk5OTk5XCIgZm9ybUNvbnRyb2xOYW1lPVwiZmVpblwiIChvbkZvY3VzKT1cImlucHV0VHlwZT0ndGV4dCdcIlxyXG4gICAgICAgICAgKG9uQmx1cik9XCJpbnB1dFR5cGU9J3Bhc3N3b3JkJ1wiIFt0eXBlXT1cImlucHV0VHlwZVwiPjwvcC1pbnB1dE1hc2s+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlaW4nIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTJcIiAqbmdJZj1cInVzZXJUeXBlLnZhbHVlPT0nQ0xNVCcgfHwgdXNlclR5cGUudmFsdWU9PSdFTVBSJ1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJzZWxlY3RlZFJlYXNvblwiPnt7J2NvbnRhY3QudXMuc2VsZWN0ZWRSZWFzb24nfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwiYWN0aXZlQ29tcGxhaW50Q2F0ZWdvcnlcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZFJlYXNvblwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGNhdGVnb3J5XCJcclxuICAgICAgICAgIG9wdGlvbkxhYmVsPVwiZGVzY3JpcHRpb25cIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGNsYXNzPVwicXVlcnlDYXRlZ29yeVwiIGFwcGVuZFRvPVwiYm9keVwiPlxyXG4gICAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2VsZWN0ZWRSZWFzb24nIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMlwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJpc3N1ZVwiPnt7J2NvbnRhY3QudXMuaXNzdWUnfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgPHRleHRhcmVhIHBJbnB1dFRleHRhcmVhIGZvcm1Db250cm9sTmFtZT1cImlzc3VlXCIgbWF4bGVuZ3RoPVwiNTAwXCI+PC90ZXh0YXJlYT48YnIgLz5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naXNzdWUnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPHNtYWxsPnt7J2NvbnRhY3QudXMuaXNzdWVOb3Rlcyd8IHRyYW5zbGF0ZX19PC9zbWFsbD5cclxuICAgICAgICBcclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImVtYWlsXCI+e3snY29udGFjdC51cy5lbWFpbCd8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1haWwnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJywgZW1haWw6ICdFbnRlciBhIHZhbGlkIGVtYWlsJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJwaG9uZVwiPnt7J2NvbnRhY3QudXMucGhvbmUnfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCIoOTk5KSA5OTktOTk5OVwiIGZvcm1Db250cm9sTmFtZT1cInBob25lXCIgcGxhY2Vob2xkZXI9XCIoOTk5KSA5OTktOTk5OVwiIHVubWFzaz1cInRydWVcIj5cclxuICAgICAgICA8L3AtaW5wdXRNYXNrPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJhbHRQaG9uZVwiPnt7J2NvbnRhY3QudXMuYWx0UGhvbmUnfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgPHAtaW5wdXRNYXNrIG1hc2s9XCIoOTk5KSA5OTktOTk5OVwiIGZvcm1Db250cm9sTmFtZT1cImFsdFBob25lXCIgcGxhY2Vob2xkZXI9XCIoOTk5KSA5OTktOTk5OVwiIHVubWFzaz1cInRydWVcIj5cclxuICAgICAgICA8L3AtaW5wdXRNYXNrPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMlwiPlxyXG4gICAgICAgIDxhcHAtYWRkcmVzcyBbZnJvbVBvcHVwXT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzXCI+PC9hcHAtYWRkcmVzcz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTJcIiAqbmdJZj1cIiFpc0NzclwiPlxyXG4gICAgICAgIDxhcHAtY2FwdGNoYSBmb3JtQ29udHJvbE5hbWU9XCJjYXB0Y2hhXCI+PC9hcHAtY2FwdGNoYT5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nY2FwdGNoYScgW2Zvcm1dPVwiY29udGFjdEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC02XCIgKm5nSWY9XCJpc0NzclwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJkaXZpc2lvblwiPnt7J2NvbnRhY3QudXMuZGl2aXNpb24nfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwiYWxsRGVwYXJ0bWVudHNcIiBmb3JtQ29udHJvbE5hbWU9XCJkaXZpc2lvblwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERlcGFydG1lbnRcIlxyXG4gICAgICAgICAgb3B0aW9uTGFiZWw9XCJ2YWx1ZVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgY2xhc3M9XCJyb2xlTmFtZVwiIGFwcGVuZFRvPVwiYm9keVwiIChvbkNoYW5nZSk9XCJmZXRjaFVuaXRzQmFzZWRPbkRlcFR5cGUoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGl2aXNpb24nIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC02XCIgKm5nSWY9XCJpc0NzclwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJ1bml0XCI+e3snY29udGFjdC51cy51bml0J3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInVuaXRzQmFzZWRPbkRlcHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ1bml0XCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVW5pdFwiXHJcbiAgICAgICAgICBvcHRpb25MYWJlbD1cInZhbHVlXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBjbGFzcz1cInJvbGVOYW1lXCIgYXBwZW5kVG89XCJib2R5XCIgKG9uQ2hhbmdlKT1cImZldGNoVXNlcnNCYXNlZE9uVW5pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9wLWRyb3Bkb3duPlxyXG4gICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd1bml0JyBbZm9ybV09XCJjb250YWN0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNlwiICpuZ0lmPVwiaXNDc3JcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiZ2VuZXJhbEFzc2lnbm1lbnRcIj57eydjb250YWN0LnVzLmdlbmVyYWxBc3NpZ25tZW50J3wgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImFsbFJvbGVzXCIgZm9ybUNvbnRyb2xOYW1lPVwiZ2VuZXJhbEFzc2lnbm1lbnRcIiAob25DaGFuZ2UpPVwiZmV0Y2hVc2Vyc0Jhc2VkT25Sb2xlcygkZXZlbnQpXCJcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEFzc2lnbm1lbnRcIiBvcHRpb25MYWJlbD1cInZhbHVlXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBcclxuICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ2VuZXJhbEFzc2lnbm1lbnQnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC02XCIgKm5nSWY9XCJpc0NzclwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJhc3NpZ25DYXNlVG9cIj57e1wiY29udGFjdC51cy5hc3NpZ25DYXNlVG9cInwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwidXNlcnNGTG5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJhc3NpZ25DYXNlVG9cIlxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJBc3NpZ24gQ2FzZSBUb1wiICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIFxyXG4gICAgICAgICAgYXBwZW5kVG89XCJib2R5XCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2Fzc2lnbkNhc2VUbycgW2Zvcm1dPVwiY29udGFjdEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwvZGl2PiAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiICpuZ0lmPVwiaXNDc3JcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiZ2VuZXJhdGVkVGhyb3VnaFwiPnt7XCJjb250YWN0LnVzLm1zZ0dlbmVyYXRlZFRocm91Z2hcInwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cIm1zZ0dlbmVyYXRlZFRocm91Z2hMaXN0XCIgZm9ybUNvbnRyb2xOYW1lPVwiZ2VuZXJhdGVkVGhyb3VnaFwiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1lc3NhZ2UgZ2VuZXJhdGVkIHRocm91Z2hcIiAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25MYWJlbD1cImRlc2NyaXB0aW9uXCIgXHJcbiAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2dlbmVyYXRlZFRocm91Z2gnIFtmb3JtXT1cImNvbnRhY3RGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj4gXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTJcIiAqbmdJZj1cImlzQ3NyICYmIHNlbGVjdGVkQ2FzZVwiPlxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cImNsb3NlQ2FzZVJlYXNvblwiPnt7XCJjb250YWN0LnVzLmNsb3NlXCJ8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImFsbENsb3NlUmVhc29uc1wiIGZvcm1Db250cm9sTmFtZT1cImNsb3NlQ2FzZVJlYXNvblwiIGNsYXNzPVwicXVlcnlDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IFJlYXNvblwiICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvbkxhYmVsPVwiZGVzY3JpcHRpb25cIiBcclxuICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgc2hvd0NsZWFyPVwidHJ1ZVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgICBcclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJzaG93U3VjY2Vzc1wiPlxyXG4gIDxkaXYgKm5nSWY9XCJzdWJtaXRTdWNjZXNzXCI+XHJcbiAgICA8aW9uLXJvdz5cclxuICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1sZWZ0IHRleHQtbGdcIiBzdHlsZT1cImZvbnQtZmFtaWx5OiB2YXIoLS1hcHAtZm9udC1saWdodClcIj5cclxuICAgICAge3snY29udGFjdC51cy5zdWNjZXNzTXNnJ3wgdHJhbnNsYXRlfX08c3BhblxyXG4gICAgICAgICAgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDsgY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5KTtcIj57e2Nhc2VOb319PC9zcGFuPlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICA8L2lvbi1yb3c+XHJcbiAgICA8aW9uLXJvdz5cclxuICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFyay1jaXJjbGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogODBweDsgY29sb3I6IHZhcigtLWlvbi1jb2xvci1ncmVlbik7XCJcclxuICAgICAgICAgIGNsYXNzPVwiem9vbWluIGFuaW1hdGlvbi1kdXJhdGlvbi0xMDAwXCI+PC9pb24taWNvbj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gICAgPGlvbi1yb3c+XHJcbiAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtbGVmdCB0ZXh0LWxnIGNvbnRhY3RVc1BhZ2VIZWFkZXJcIj5cclxuICAgICAgICB7eydjb250YWN0LnVzLmNvbnRhY3RBZ2Fpbid8IHRyYW5zbGF0ZX19XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgIDwvaW9uLXJvdz5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiIXN1Ym1pdFN1Y2Nlc3NcIj5cclxuICAgIDxpb24tcm93PlxyXG4gICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnQgdGV4dC1sZ1wiIHN0eWxlPVwiZm9udC1mYW1pbHk6IHZhcigtLWFwcC1mb250LWxpZ2h0KVwiPlxyXG4gICAgICAgIHt7J2NvbnRhY3QudXMuZmFpbGVkTXNnJ3wgdHJhbnNsYXRlfX1cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgaW9uLXRleHQtcmlnaHRcIj5cclxuICA8aW9uLWJ1dHRvbiAqbmdJZj1cIiFzaG93U3VjY2VzcyAmJiAhaXNDc3JcIiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGNvbG9yPVwicHJpbWFyeVwiIFxyXG4gIChjbGljayk9XCJzdWJtaXRDb250YWN0VXMoY29udGFjdFVzRm9ybSlcIj5TdWJtaXRcclxuICA8L2lvbi1idXR0b24+XHJcbiAgPGlvbi1idXR0b24gKm5nSWY9XCIhaXNDc3JcIiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJlbWl0SGlkZSgkZXZlbnQpXCI+XHJcbiAgICBDbG9zZVxyXG4gIDwvaW9uLWJ1dHRvbj5cclxuPC9kaXY+Il19