@reusa/ngx-reusa-app-lib 0.0.1320 → 0.0.1321

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 (589) hide show
  1. package/README.md +46 -46
  2. package/esm2022/lib/annimations/app-animations.mjs +1 -1
  3. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2404 -1286
  4. package/esm2022/lib/components/add-participant/add-participant.component.mjs +159 -105
  5. package/esm2022/lib/components/add-payment/add-payment.component.mjs +59 -53
  6. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  7. package/esm2022/lib/components/address/address.component.mjs +285 -150
  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 +79 -219
  13. package/esm2022/lib/components/captcha/captcha.component.mjs +6 -6
  14. package/esm2022/lib/components/card/card.component.mjs +1 -1
  15. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  16. package/esm2022/lib/components/contact-us/contact-us.component.mjs +17 -43
  17. package/esm2022/lib/components/content/content.component.mjs +1 -1
  18. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
  19. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
  20. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
  21. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  22. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  23. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  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 +63 -140
  27. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +363 -560
  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 +22 -5
  32. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  33. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  34. package/esm2022/lib/components/file-download/file-download.component.mjs +1 -1
  35. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
  36. package/esm2022/lib/components/footer/footer.component.mjs +94 -83
  37. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  38. package/esm2022/lib/components/header/header.component.mjs +440 -174
  39. package/esm2022/lib/components/help/help.component.mjs +1 -1
  40. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  41. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +25 -36
  42. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  43. package/esm2022/lib/components/info/info.component.mjs +4 -12
  44. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
  45. package/esm2022/lib/components/job-title/job-title.component.mjs +92 -97
  46. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +143 -513
  47. package/esm2022/lib/components/link/link.component.mjs +1 -1
  48. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +1 -1
  49. package/esm2022/lib/components/mask/mask.component.mjs +1 -1
  50. package/esm2022/lib/components/menu/menu.component.mjs +69 -100
  51. package/esm2022/lib/components/mfa/mfa.component.mjs +158 -287
  52. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
  53. package/esm2022/lib/components/money-expect/money-expect.component.mjs +158 -54
  54. package/esm2022/lib/components/msg/msg.component.mjs +1 -1
  55. package/esm2022/lib/components/news/news.component.mjs +1 -1
  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 +1 -1
  61. package/esm2022/lib/components/page/page.component.mjs +1 -1
  62. package/esm2022/lib/components/profile/profile.component.mjs +717 -353
  63. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +108 -38
  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 +296 -47
  67. package/esm2022/lib/components/questionnaire/FbConstants.mjs +1 -1
  68. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
  69. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +377 -173
  70. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +76 -95
  71. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +855 -1122
  72. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +207 -667
  73. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
  74. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +116 -32
  75. package/esm2022/lib/components/questionnaire/question-base.mjs +1 -1
  76. package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
  77. package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
  78. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
  79. package/esm2022/lib/components/read-more/read-more.component.mjs +6 -6
  80. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +491 -237
  81. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  82. package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -30
  83. package/esm2022/lib/components/select/select.component.mjs +5 -10
  84. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  85. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  86. package/esm2022/lib/components/ssn/ssn.component.mjs +1 -1
  87. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
  88. package/esm2022/lib/components/test/test.component.mjs +1 -1
  89. package/esm2022/lib/components/user-login/user-login.component.mjs +139 -357
  90. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  91. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  92. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  93. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  94. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +613 -237
  95. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +114 -59
  96. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +806 -0
  97. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  98. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  99. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  100. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  101. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  102. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  103. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +685 -0
  104. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  105. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  106. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  107. package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +1 -1
  108. package/esm2022/lib/directives/caps-lock.directive.mjs +1 -1
  109. package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +1 -1
  110. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  111. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  112. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  113. package/esm2022/lib/enums/EmailStatusEnum.mjs +1 -1
  114. package/esm2022/lib/guards/auth.guard.mjs +50 -2
  115. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  116. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
  117. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  118. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  119. package/esm2022/lib/models/CountyModel.mjs +3 -0
  120. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  121. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  122. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  123. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  124. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  125. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  126. package/esm2022/lib/models/ErrorModel.mjs +1 -1
  127. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  128. package/esm2022/lib/models/FileModel.mjs +1 -1
  129. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  130. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  131. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  132. package/esm2022/lib/models/LibConstants.mjs +45 -6
  133. package/esm2022/lib/models/NotificationModel.mjs +1 -1
  134. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  135. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  136. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  137. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  138. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  139. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  140. package/esm2022/lib/models/TrendModel.mjs +1 -1
  141. package/esm2022/lib/models/UserDetailsModel.mjs +1 -1
  142. package/esm2022/lib/models/UserModel.mjs +1 -1
  143. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  144. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  145. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  146. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  147. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  148. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  149. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  150. package/esm2022/lib/models/claimant/ClaimantModel.mjs +1 -1
  151. package/esm2022/lib/models/claimant/JobResultsData.mjs +1 -1
  152. package/esm2022/lib/models/claimant/MatchingJobs.mjs +1 -1
  153. package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +1 -1
  154. package/esm2022/lib/models/combo-model.mjs +343 -0
  155. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  156. package/esm2022/lib/models/dependent.model.mjs +1 -1
  157. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  158. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  159. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  160. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  161. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  162. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  163. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
  164. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  165. package/esm2022/lib/models/questionnaire/ComboModel.mjs +96 -653
  166. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  167. package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +1 -1
  168. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  169. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  170. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  171. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  172. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  173. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  174. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  175. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  176. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  177. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  178. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  179. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  180. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +5 -5
  181. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
  182. package/esm2022/lib/ngx-reusa-app-lib.service.mjs +1 -1
  183. package/esm2022/lib/pages/BasePage.mjs +4 -23
  184. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
  185. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
  186. package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
  187. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  188. package/esm2022/lib/pages/common/login/login.component.mjs +7 -11
  189. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +1 -1
  190. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  191. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  192. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +1 -1
  193. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -2
  194. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  195. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
  196. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +1 -1
  197. package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
  198. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  199. package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +1 -1
  200. package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +1 -1
  201. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  202. package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +1 -1
  203. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  204. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  205. package/esm2022/lib/services/base-service.mjs +4 -1
  206. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  207. package/esm2022/lib/services/captcha/captcha.service.mjs +1 -1
  208. package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
  209. package/esm2022/lib/services/chatbot/script.const.mjs +1 -1
  210. package/esm2022/lib/services/claimant/claimant.service.mjs +1 -1
  211. package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
  212. package/esm2022/lib/services/claims/claims.service.mjs +102 -14
  213. package/esm2022/lib/services/dms-service/dms.service.mjs +1 -1
  214. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  215. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  216. package/esm2022/lib/services/fpjs/fingerprint.service.mjs +1 -1
  217. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +1 -1
  218. package/esm2022/lib/services/help/help.service.mjs +1 -1
  219. package/esm2022/lib/services/idle/idle.service.mjs +1 -1
  220. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  221. package/esm2022/lib/services/login/login.service.mjs +29 -11
  222. package/esm2022/lib/services/maintenance/maintenance.service.mjs +1 -1
  223. package/esm2022/lib/services/notification/notification.service.mjs +1 -1
  224. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  225. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  226. package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
  227. package/esm2022/lib/services/security-service/security.service.mjs +23 -6
  228. package/esm2022/lib/services/tour/tour.service.mjs +1 -1
  229. package/esm2022/lib/services/util/util.service.mjs +61 -5
  230. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  231. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
  232. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  233. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  234. package/esm2022/lib/validations/AppRegex.mjs +1 -3
  235. package/esm2022/lib/validations/AppValidators.mjs +84 -31
  236. package/esm2022/public-api.mjs +47 -5
  237. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +40573 -22575
  238. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  239. package/lib/components/add-employer/add-employer.component.d.ts +137 -50
  240. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  241. package/lib/components/add-participant/add-participant.component.d.ts +11 -5
  242. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  243. package/lib/components/add-payment/add-payment.component.d.ts +9 -3
  244. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  245. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  246. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  247. package/lib/components/address/address.component.d.ts +42 -15
  248. package/lib/components/address/address.component.d.ts.map +1 -1
  249. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  250. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  251. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  252. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  253. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  254. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  255. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  256. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  257. package/lib/components/bank-details/bank-details.component.d.ts +1 -23
  258. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  259. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  260. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  261. package/lib/components/contact-us/contact-us.component.d.ts +1 -4
  262. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  263. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  264. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  265. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  266. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  267. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  268. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  269. package/lib/components/email-update/email-update.component.d.ts +1 -12
  270. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  271. package/lib/components/employer-grid/employer-grid.component.d.ts +21 -14
  272. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  273. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  274. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  275. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  276. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  277. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  278. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  279. package/lib/components/error/error.component.d.ts +3 -2
  280. package/lib/components/error/error.component.d.ts.map +1 -1
  281. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  282. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  283. package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
  284. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  285. package/lib/components/footer/footer.component.d.ts.map +1 -1
  286. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  287. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  288. package/lib/components/header/header.component.d.ts +17 -5
  289. package/lib/components/header/header.component.d.ts.map +1 -1
  290. package/lib/components/history-page/history-page.component.d.ts +80 -0
  291. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  292. package/lib/components/idme/idme.component.d.ts +19 -0
  293. package/lib/components/idme/idme.component.d.ts.map +1 -0
  294. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
  295. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  296. package/lib/components/job-title/job-title.component.d.ts +22 -23
  297. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  298. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -6
  299. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  300. package/lib/components/menu/menu.component.d.ts +3 -12
  301. package/lib/components/menu/menu.component.d.ts.map +1 -1
  302. package/lib/components/mfa/mfa.component.d.ts +7 -19
  303. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  304. package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
  305. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  306. package/lib/components/money-expect/money-expect.component.d.ts +15 -4
  307. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  308. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  309. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  310. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  311. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  312. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  313. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  314. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  315. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  316. package/lib/components/profile/profile.component.d.ts +81 -49
  317. package/lib/components/profile/profile.component.d.ts.map +1 -1
  318. package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
  319. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  320. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  321. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  322. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  323. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  324. package/lib/components/questionnaire/AppValidators.d.ts +1 -0
  325. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  326. package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
  327. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  328. package/lib/components/questionnaire/common-success/common-success.page.d.ts +7 -1
  329. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  330. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
  331. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  332. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +31 -33
  333. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  334. package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
  335. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  336. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
  337. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  338. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +7 -1
  339. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  340. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  341. package/lib/components/questionnaire/question.service.d.ts +0 -1
  342. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  343. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
  344. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  345. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +11 -3
  346. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  347. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  348. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  349. package/lib/components/search-employer/search-employer.component.d.ts +5 -4
  350. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  351. package/lib/components/sms/sms.component.d.ts +63 -0
  352. package/lib/components/sms/sms.component.d.ts.map +1 -0
  353. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
  354. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  355. package/lib/components/user-login/user-login.component.d.ts +5 -38
  356. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  357. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  358. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  359. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  360. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  361. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  362. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  363. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  364. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  365. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +27 -10
  366. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  367. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +9 -3
  368. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  369. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  370. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  371. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  372. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  373. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  374. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  375. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  376. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  377. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  378. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  379. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  380. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  381. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  382. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  383. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  384. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  385. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  386. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  387. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  388. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  389. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  390. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  391. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  392. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  393. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  394. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  395. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  396. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  397. package/lib/guards/auth.guard.d.ts.map +1 -1
  398. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  399. package/lib/models/ActiveClaimModel.d.ts +8 -0
  400. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  401. package/lib/models/CountyModel.d.ts +8 -0
  402. package/lib/models/CountyModel.d.ts.map +1 -0
  403. package/lib/models/DuaAppDataModel.d.ts +5 -0
  404. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  405. package/lib/models/DuaRequestModel.d.ts +10 -0
  406. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  407. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  408. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  409. package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
  410. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  411. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  412. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  413. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  414. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  415. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  416. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  417. package/lib/models/GrossEarningsModel.d.ts +6 -0
  418. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  419. package/lib/models/HelpConstants.d.ts +5 -0
  420. package/lib/models/HelpConstants.d.ts.map +1 -0
  421. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  422. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  423. package/lib/models/LibConstants.d.ts +40 -1
  424. package/lib/models/LibConstants.d.ts.map +1 -1
  425. package/lib/models/PaymentComponentModel.d.ts +1 -1
  426. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  427. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  428. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  429. package/lib/models/RetroWeeksModel.d.ts +11 -0
  430. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  431. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  432. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  433. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  434. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  435. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  436. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  437. package/lib/models/WageCalculatorModel.d.ts +15 -0
  438. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  439. package/lib/models/WageInfoModel.d.ts +9 -0
  440. package/lib/models/WageInfoModel.d.ts.map +1 -0
  441. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  442. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  443. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  444. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  445. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  446. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  447. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  448. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  449. package/lib/models/combo-model.d.ts +42 -0
  450. package/lib/models/combo-model.d.ts.map +1 -0
  451. package/lib/models/dashboard-model.d.ts +22 -0
  452. package/lib/models/dashboard-model.d.ts.map +1 -1
  453. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  454. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  455. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  456. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  457. package/lib/models/fileupload/FileObject.d.ts +8 -0
  458. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  459. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  460. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  461. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  462. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  463. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
  464. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  465. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +13 -4
  466. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  467. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
  468. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  469. package/lib/models/questionnaire/ComboModel.d.ts +14 -82
  470. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  471. package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
  472. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  473. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
  474. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  475. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  476. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  477. package/lib/models/questionnaire/StatusModel.d.ts +1 -0
  478. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  479. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  480. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  481. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  482. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  483. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  484. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  485. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  486. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  487. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  488. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  489. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  490. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  491. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  492. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  493. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  494. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  495. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  496. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  497. package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
  498. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  499. package/lib/pages/BasePage.d.ts +3 -6
  500. package/lib/pages/BasePage.d.ts.map +1 -1
  501. package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
  502. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  503. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  504. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  505. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  506. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  507. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  508. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  509. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  510. package/lib/services/appeal/appeal.service.d.ts +16 -0
  511. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  512. package/lib/services/base-service.d.ts +12 -0
  513. package/lib/services/base-service.d.ts.map +1 -1
  514. package/lib/services/birt-service/birt.service.d.ts +17 -0
  515. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  516. package/lib/services/claimant-service/claimant.service.d.ts +5 -6
  517. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  518. package/lib/services/claims/claims.service.d.ts +38 -5
  519. package/lib/services/claims/claims.service.d.ts.map +1 -1
  520. package/lib/services/employer/employer-service.d.ts +16 -0
  521. package/lib/services/employer/employer-service.d.ts.map +1 -0
  522. package/lib/services/event-service/event-service.d.ts +20 -0
  523. package/lib/services/event-service/event-service.d.ts.map +1 -0
  524. package/lib/services/login/login.service.d.ts +5 -3
  525. package/lib/services/login/login.service.d.ts.map +1 -1
  526. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  527. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  528. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  529. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  530. package/lib/services/questionnaire/validation.service.d.ts +3 -0
  531. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  532. package/lib/services/security-service/security.service.d.ts +12 -4
  533. package/lib/services/security-service/security.service.d.ts.map +1 -1
  534. package/lib/services/util/util.service.d.ts +6 -0
  535. package/lib/services/util/util.service.d.ts.map +1 -1
  536. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  537. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  538. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
  539. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  540. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  541. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  542. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  543. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  544. package/lib/validations/AppRegex.d.ts +0 -2
  545. package/lib/validations/AppRegex.d.ts.map +1 -1
  546. package/lib/validations/AppValidators.d.ts +20 -14
  547. package/lib/validations/AppValidators.d.ts.map +1 -1
  548. package/package.json +2 -2
  549. package/public-api.d.ts +46 -4
  550. package/public-api.d.ts.map +1 -1
  551. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -402
  552. package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -285
  553. package/esm2022/lib/components/security-question/security-question.component.mjs +0 -199
  554. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
  555. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
  556. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
  557. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
  558. package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
  559. package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
  560. package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
  561. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
  562. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
  563. package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
  564. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
  565. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
  566. package/lib/components/mfa2/mfa2.component.d.ts +0 -48
  567. package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
  568. package/lib/components/security-question/security-question.component.d.ts +0 -37
  569. package/lib/components/security-question/security-question.component.d.ts.map +0 -1
  570. package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
  571. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
  572. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
  573. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
  574. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
  575. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
  576. package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
  577. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
  578. package/lib/models/LexisNexisResponseModel.d.ts +0 -7
  579. package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
  580. package/lib/models/PartialEmploymentModel.d.ts +0 -6
  581. package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
  582. package/lib/models/SecurityQuestionModel.d.ts +0 -7
  583. package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
  584. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
  585. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
  586. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
  587. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
  588. package/lib/services/ovp/ovp.service.d.ts +0 -17
  589. package/lib/services/ovp/ovp.service.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
- import { afterNextRender, AfterRenderPhase, ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR, FormGroup, FormControl, Validators } from '@angular/forms';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { ClaimAppEmpResponseModel } from '../../models/questionnaire/ClaimAppEmpResponseModel';
4
4
  import { ClaimAppEmployerDetailsModel } from '../../models/questionnaire/ClaimAppEmployerDetailsModel';
5
5
  import { ClaimAppEmpRequestModel } from '../../models/questionnaire/ClaimAppEmpRequestModel';
@@ -16,387 +16,375 @@ import * as i5 from "../../services/login/login.service";
16
16
  import * as i6 from "@angular/router";
17
17
  import * as i7 from "../../services/claims/claims.service";
18
18
  import * as i8 from "@ionic/storage-angular";
19
- import * as i9 from "@angular/common";
20
- import * as i10 from "primeng/api";
21
- import * as i11 from "@angular/forms";
22
- import * as i12 from "primeng/dialog";
23
- import * as i13 from "primeng/table";
24
- import * as i14 from "@fortawesome/angular-fontawesome";
25
- import * as i15 from "primeng/dropdown";
26
- import * as i16 from "../add-employer/add-employer.component";
27
- import * as i17 from "@ngx-translate/core";
28
- import * as i18 from "../../pipes/trust-html/trust-html.pipe";
29
- function EmployerGridComponent_p_table_27_ng_template_2_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelementStart(0, "tr")(1, "th", 11);
19
+ const _c0 = () => ["fal", "edit"];
20
+ function EmployerGridComponent_div_23_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "div", 10);
22
+ i0.ɵɵelement(1, "fa-icon", 4)(2, "span", 2);
23
+ i0.ɵɵpipe(3, "trustHtml");
24
+ i0.ɵɵpipe(4, "translate");
25
+ i0.ɵɵtext(5, ",\u00A0 ");
26
+ i0.ɵɵelementEnd();
27
+ } if (rf & 2) {
28
+ i0.ɵɵadvance(1);
29
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(6, _c0));
30
+ i0.ɵɵadvance(1);
31
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(3, 2, i0.ɵɵpipeBind1(4, 4, "induction.employment.subheader.edit")), i0.ɵɵsanitizeHtml);
32
+ } }
33
+ function EmployerGridComponent_br_24_Template(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵelement(0, "br", 3);
35
+ } }
36
+ function EmployerGridComponent_p_table_29_ng_template_2_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "tr")(1, "th", 16);
31
38
  i0.ɵɵtext(2);
32
39
  i0.ɵɵpipe(3, "translate");
33
40
  i0.ɵɵelementEnd();
34
- i0.ɵɵelementStart(4, "th");
35
- i0.ɵɵtext(5);
36
- i0.ɵɵpipe(6, "translate");
41
+ i0.ɵɵelement(4, "th");
42
+ i0.ɵɵelementStart(5, "th");
43
+ i0.ɵɵtext(6);
44
+ i0.ɵɵpipe(7, "translate");
37
45
  i0.ɵɵelementEnd();
38
- i0.ɵɵelementStart(7, "th");
39
- i0.ɵɵtext(8);
40
- i0.ɵɵpipe(9, "translate");
46
+ i0.ɵɵelementStart(8, "th");
47
+ i0.ɵɵtext(9);
48
+ i0.ɵɵpipe(10, "translate");
41
49
  i0.ɵɵelementEnd();
42
- i0.ɵɵelementStart(10, "th");
43
- i0.ɵɵtext(11);
44
- i0.ɵɵpipe(12, "translate");
50
+ i0.ɵɵelementStart(11, "th");
51
+ i0.ɵɵtext(12);
52
+ i0.ɵɵpipe(13, "translate");
45
53
  i0.ɵɵelementEnd();
46
- i0.ɵɵelementStart(13, "th");
47
- i0.ɵɵtext(14);
48
- i0.ɵɵpipe(15, "translate");
54
+ i0.ɵɵelementStart(14, "th");
55
+ i0.ɵɵtext(15);
56
+ i0.ɵɵpipe(16, "translate");
49
57
  i0.ɵɵelementEnd()();
50
58
  } if (rf & 2) {
51
59
  i0.ɵɵadvance(2);
52
60
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "induction.employment.table.employer.name"), " ");
61
+ i0.ɵɵadvance(4);
62
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 7, "induction.employment.table.job.title"), " ");
53
63
  i0.ɵɵadvance(3);
54
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 7, "induction.employment.table.job.title"), " ");
55
- i0.ɵɵadvance(3);
56
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 9, "induction.employment.table.pay"), " ");
64
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 9, "induction.employment.table.pay"), " ");
57
65
  i0.ɵɵadvance(3);
58
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 11, "induction.employment.table.dates"), " ");
66
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 11, "induction.employment.table.dates"), " ");
59
67
  i0.ɵɵadvance(3);
60
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 13, "induction.employment.table.sep.reason"), " ");
68
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 13, "induction.employment.table.sep.reason"), " ");
61
69
  } }
62
- function EmployerGridComponent_p_table_27_ng_template_3_td_1_Template(rf, ctx) { if (rf & 1) {
63
- i0.ɵɵelementStart(0, "td", 21)(1, "span", 22);
64
- i0.ɵɵtext(2);
65
- i0.ɵɵpipe(3, "translate");
70
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_1_Template(rf, ctx) { if (rf & 1) {
71
+ i0.ɵɵelementStart(0, "td", 16)(1, "span", 31);
72
+ i0.ɵɵtext(2, "Employer");
66
73
  i0.ɵɵelementEnd();
67
- i0.ɵɵelementStart(4, "span");
68
- i0.ɵɵtext(5);
69
- i0.ɵɵelement(6, "br");
70
- i0.ɵɵtext(7);
71
- i0.ɵɵelement(8, "br");
72
- i0.ɵɵelementEnd();
73
- i0.ɵɵelement(9, "div", 23);
74
- i0.ɵɵpipe(10, "trustHtml");
74
+ i0.ɵɵelementStart(3, "span", 32);
75
+ i0.ɵɵtext(4);
76
+ i0.ɵɵelement(5, "br");
77
+ i0.ɵɵelementEnd()();
78
+ } if (rf & 2) {
79
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
80
+ i0.ɵɵadvance(4);
81
+ i0.ɵɵtextInterpolate2(" ", employer_r10.employerData.displayName, " - ", employer_r10.employerData.displayState.text, "");
82
+ } }
83
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ng_template_2_td_0_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelementStart(0, "td", 16)(1, "span", 31);
85
+ i0.ɵɵtext(2, "Employer");
75
86
  i0.ɵɵelementEnd();
87
+ i0.ɵɵelementStart(3, "span", 32);
88
+ i0.ɵɵtext(4);
89
+ i0.ɵɵelement(5, "br");
90
+ i0.ɵɵelementEnd()();
76
91
  } if (rf & 2) {
77
- const employer_r9 = i0.ɵɵnextContext().$implicit;
78
- i0.ɵɵadvance(2);
79
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "induction.employment.employer.text"));
80
- i0.ɵɵadvance(3);
81
- i0.ɵɵtextInterpolate1(" ", employer_r9.employerData.displayName, "");
82
- i0.ɵɵadvance(2);
83
- i0.ɵɵtextInterpolate1(" ", employer_r9.employerData.tradeName, "");
84
- i0.ɵɵadvance(2);
85
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(10, 6, employer_r9.employerData.mailingAddressDisplay), i0.ɵɵsanitizeHtml);
92
+ const employer_r10 = i0.ɵɵnextContext(3).$implicit;
93
+ i0.ɵɵadvance(4);
94
+ i0.ɵɵtextInterpolate2(" ", employer_r10.employerData.displayName, " - ", employer_r10.workState.text, "");
86
95
  } }
87
- function EmployerGridComponent_p_table_27_ng_template_3_td_2_Template(rf, ctx) { if (rf & 1) {
88
- i0.ɵɵelementStart(0, "td", 21)(1, "span", 22);
89
- i0.ɵɵtext(2);
90
- i0.ɵɵpipe(3, "translate");
96
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
97
+ i0.ɵɵtemplate(0, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ng_template_2_td_0_Template, 6, 2, "td", 19);
98
+ } if (rf & 2) {
99
+ i0.ɵɵnextContext();
100
+ const _r17 = i0.ɵɵreference(5);
101
+ const employer_r10 = i0.ɵɵnextContext().$implicit;
102
+ i0.ɵɵproperty("ngIf", employer_r10.osaBpEmployerFlag === "1" && employer_r10.employerType === "REG" && employer_r10.workState != null)("ngIfElse", _r17);
103
+ } }
104
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ng_template_4_td_0_Template(rf, ctx) { if (rf & 1) {
105
+ i0.ɵɵelementStart(0, "td", 16)(1, "span", 31);
106
+ i0.ɵɵtext(2, "Employer");
107
+ i0.ɵɵelementEnd();
108
+ i0.ɵɵelementStart(3, "span", 32);
109
+ i0.ɵɵtext(4);
110
+ i0.ɵɵelement(5, "br");
91
111
  i0.ɵɵelementEnd();
92
- i0.ɵɵelement(4, "span");
112
+ i0.ɵɵelement(6, "div", 33);
113
+ i0.ɵɵpipe(7, "trustHtml");
93
114
  i0.ɵɵelementEnd();
94
115
  } if (rf & 2) {
116
+ const employer_r10 = i0.ɵɵnextContext(3).$implicit;
117
+ i0.ɵɵadvance(4);
118
+ i0.ɵɵtextInterpolate1(" ", employer_r10.employerData.displayName, " ");
95
119
  i0.ɵɵadvance(2);
96
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.employment.employer.text"));
120
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(7, 2, employer_r10.employerData.mailingAddressDisplay), i0.ɵɵsanitizeHtml);
97
121
  } }
98
- function EmployerGridComponent_p_table_27_ng_template_3_td_3_Template(rf, ctx) { if (rf & 1) {
99
- i0.ɵɵelementStart(0, "td")(1, "span", 24);
100
- i0.ɵɵtext(2);
101
- i0.ɵɵpipe(3, "translate");
122
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ng_template_4_Template(rf, ctx) { if (rf & 1) {
123
+ i0.ɵɵtemplate(0, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ng_template_4_td_0_Template, 8, 4, "td", 22);
124
+ } if (rf & 2) {
125
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
126
+ i0.ɵɵproperty("ngIf", employer_r10.employerData.displayName && employer_r10.employerType != "MIL");
127
+ } }
128
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_6_Template(rf, ctx) { if (rf & 1) {
129
+ i0.ɵɵelementStart(0, "td", 16)(1, "span", 31);
130
+ i0.ɵɵtext(2, "Employer");
102
131
  i0.ɵɵelementEnd();
103
- i0.ɵɵelementStart(4, "span");
104
- i0.ɵɵtext(5);
105
- i0.ɵɵelement(6, "br");
132
+ i0.ɵɵelement(3, "span");
133
+ i0.ɵɵelementEnd();
134
+ } }
135
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_7_Template(rf, ctx) { if (rf & 1) {
136
+ i0.ɵɵelementStart(0, "td", 16)(1, "span", 31);
137
+ i0.ɵɵtext(2, "Employer");
138
+ i0.ɵɵelementEnd();
139
+ i0.ɵɵelementStart(3, "span");
140
+ i0.ɵɵtext(4);
141
+ i0.ɵɵelement(5, "br");
106
142
  i0.ɵɵelementEnd()();
107
143
  } if (rf & 2) {
108
- const employer_r9 = i0.ɵɵnextContext().$implicit;
109
- i0.ɵɵadvance(2);
110
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "induction.employment.employer.text"));
111
- i0.ɵɵadvance(3);
112
- i0.ɵɵtextInterpolate1(" ", employer_r9.serviceBranch.text, " ");
144
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
145
+ i0.ɵɵadvance(4);
146
+ i0.ɵɵtextInterpolate1(" ", employer_r10.serviceBranch.text, " ");
113
147
  } }
114
- const _c0 = () => ["fal", "edit"];
115
- function EmployerGridComponent_p_table_27_ng_template_3_ion_button_5_Template(rf, ctx) { if (rf & 1) {
116
- const _r36 = i0.ɵɵgetCurrentView();
117
- i0.ɵɵelementStart(0, "ion-button", 25);
118
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_27_ng_template_3_ion_button_5_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const employer_r9 = i0.ɵɵnextContext().$implicit; const ctx_r34 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r34.editBasePeriodEmployer(employer_r9)); });
119
- i0.ɵɵelement(1, "fa-icon", 26);
148
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_9_Template(rf, ctx) { if (rf & 1) {
149
+ const _r46 = i0.ɵɵgetCurrentView();
150
+ i0.ɵɵelementStart(0, "ion-button", 34);
151
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_9_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r46); const employer_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r44 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r44.editBasePeriodEmployer(employer_r10)); });
152
+ i0.ɵɵelement(1, "fa-icon", 35);
120
153
  i0.ɵɵelementEnd();
121
154
  } if (rf & 2) {
122
155
  i0.ɵɵadvance(1);
123
156
  i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c0));
124
157
  } }
125
- function EmployerGridComponent_p_table_27_ng_template_3_ion_button_6_Template(rf, ctx) { if (rf & 1) {
126
- const _r39 = i0.ɵɵgetCurrentView();
127
- i0.ɵɵelementStart(0, "ion-button", 27);
128
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_27_ng_template_3_ion_button_6_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r39); const employer_r9 = i0.ɵɵnextContext().$implicit; const ctx_r37 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r37.editEmployer(employer_r9)); });
129
- i0.ɵɵelement(1, "fa-icon", 26);
158
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_10_Template(rf, ctx) { if (rf & 1) {
159
+ const _r49 = i0.ɵɵgetCurrentView();
160
+ i0.ɵɵelementStart(0, "ion-button", 36);
161
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_10_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r49); const employer_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r47 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r47.editEmployer(employer_r10)); });
162
+ i0.ɵɵelement(1, "fa-icon", 35);
130
163
  i0.ɵɵelementEnd();
131
164
  } if (rf & 2) {
132
165
  i0.ɵɵadvance(1);
133
166
  i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c0));
134
167
  } }
135
168
  const _c1 = () => ["fal", "check-circle"];
136
- function EmployerGridComponent_p_table_27_ng_template_3_ion_button_7_Template(rf, ctx) { if (rf & 1) {
137
- const _r42 = i0.ɵɵgetCurrentView();
138
- i0.ɵɵelementStart(0, "ion-button", 28);
139
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_27_ng_template_3_ion_button_7_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r42); const employer_r9 = i0.ɵɵnextContext().$implicit; const ctx_r40 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r40.finish(employer_r9)); });
140
- i0.ɵɵelement(1, "fa-icon", 26);
169
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_11_Template(rf, ctx) { if (rf & 1) {
170
+ const _r52 = i0.ɵɵgetCurrentView();
171
+ i0.ɵɵelementStart(0, "ion-button", 37);
172
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_11_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r52); const employer_r10 = i0.ɵɵnextContext(2).$implicit; const ctx_r50 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r50.finish(employer_r10)); });
173
+ i0.ɵɵelement(1, "fa-icon", 35);
141
174
  i0.ɵɵelementEnd();
142
175
  } if (rf & 2) {
176
+ const rowIndex_r11 = i0.ɵɵnextContext(2).rowIndex;
177
+ const ctx_r22 = i0.ɵɵnextContext(2);
178
+ i0.ɵɵproperty("id", "btnConfirmEmployer-" + rowIndex_r11);
143
179
  i0.ɵɵadvance(1);
144
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c1));
180
+ i0.ɵɵproperty("icon", ctx_r22.util.isState("MS") ? i0.ɵɵpureFunction0(2, _c0) : i0.ɵɵpureFunction0(3, _c1));
145
181
  } }
146
182
  const _c2 = () => ["fal", "trash-alt"];
147
- function EmployerGridComponent_p_table_27_ng_template_3_ion_button_8_Template(rf, ctx) { if (rf & 1) {
148
- const _r45 = i0.ɵɵgetCurrentView();
149
- i0.ɵɵelementStart(0, "ion-button", 29);
150
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_27_ng_template_3_ion_button_8_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r45); const rowIndex_r10 = i0.ɵɵnextContext().rowIndex; const ctx_r43 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r43.deleteEmployer(rowIndex_r10)); });
151
- i0.ɵɵelement(1, "fa-icon", 26);
183
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_12_Template(rf, ctx) { if (rf & 1) {
184
+ const _r56 = i0.ɵɵgetCurrentView();
185
+ i0.ɵɵelementStart(0, "ion-button", 38);
186
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_12_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r56); const rowIndex_r11 = i0.ɵɵnextContext(2).rowIndex; const ctx_r54 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r54.deleteEmployer(rowIndex_r11)); });
187
+ i0.ɵɵelement(1, "fa-icon", 35);
152
188
  i0.ɵɵelementEnd();
153
189
  } if (rf & 2) {
190
+ const rowIndex_r11 = i0.ɵɵnextContext(2).rowIndex;
191
+ i0.ɵɵproperty("id", "btnDeleteEmployer-" + rowIndex_r11);
154
192
  i0.ɵɵadvance(1);
155
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c2));
193
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(2, _c2));
156
194
  } }
157
- function EmployerGridComponent_p_table_27_ng_template_3_ion_button_9_Template(rf, ctx) { if (rf & 1) {
158
- const _r48 = i0.ɵɵgetCurrentView();
159
- i0.ɵɵelementStart(0, "ion-button", 29);
160
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_27_ng_template_3_ion_button_9_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r48); const ctx_r47 = i0.ɵɵnextContext(); const employer_r9 = ctx_r47.$implicit; const rowIndex_r10 = ctx_r47.rowIndex; const ctx_r46 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r46.removeEmployment(employer_r9, rowIndex_r10)); });
161
- i0.ɵɵelement(1, "fa-icon", 26);
195
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_13_Template(rf, ctx) { if (rf & 1) {
196
+ const _r60 = i0.ɵɵgetCurrentView();
197
+ i0.ɵɵelementStart(0, "ion-button", 38);
198
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_13_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(2); const employer_r10 = ctx_r59.$implicit; const rowIndex_r11 = ctx_r59.rowIndex; const ctx_r58 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r58.removeEmployment(employer_r10, rowIndex_r11)); });
199
+ i0.ɵɵelement(1, "fa-icon", 35);
162
200
  i0.ɵɵelementEnd();
163
201
  } if (rf & 2) {
202
+ const rowIndex_r11 = i0.ɵɵnextContext(2).rowIndex;
203
+ i0.ɵɵproperty("id", "btnRemoveEmployer-" + rowIndex_r11);
164
204
  i0.ɵɵadvance(1);
165
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c2));
205
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(2, _c2));
166
206
  } }
167
207
  const _c3 = () => ["fal", "trash-restore-alt"];
168
- function EmployerGridComponent_p_table_27_ng_template_3_ion_button_10_Template(rf, ctx) { if (rf & 1) {
169
- const _r51 = i0.ɵɵgetCurrentView();
170
- i0.ɵɵelementStart(0, "ion-button", 30);
171
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_27_ng_template_3_ion_button_10_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r51); const ctx_r50 = i0.ɵɵnextContext(); const employer_r9 = ctx_r50.$implicit; const rowIndex_r10 = ctx_r50.rowIndex; const ctx_r49 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r49.restoreEmployment(employer_r9, rowIndex_r10)); });
172
- i0.ɵɵelement(1, "fa-icon", 26);
208
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_14_Template(rf, ctx) { if (rf & 1) {
209
+ const _r64 = i0.ɵɵgetCurrentView();
210
+ i0.ɵɵelementStart(0, "ion-button", 39);
211
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_14_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(2); const employer_r10 = ctx_r63.$implicit; const rowIndex_r11 = ctx_r63.rowIndex; const ctx_r62 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r62.restoreEmployment(employer_r10, rowIndex_r11)); });
212
+ i0.ɵɵelement(1, "fa-icon", 35);
173
213
  i0.ɵɵelementEnd();
174
214
  } if (rf & 2) {
175
215
  i0.ɵɵadvance(1);
176
216
  i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(1, _c3));
177
217
  } }
178
- function EmployerGridComponent_p_table_27_ng_template_3_td_11_Template(rf, ctx) { if (rf & 1) {
179
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
180
- i0.ɵɵtext(2);
181
- i0.ɵɵpipe(3, "translate");
218
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_15_Template(rf, ctx) { if (rf & 1) {
219
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
220
+ i0.ɵɵtext(2, "Job Title");
182
221
  i0.ɵɵelementEnd();
183
- i0.ɵɵtext(4);
222
+ i0.ɵɵtext(3);
184
223
  i0.ɵɵelementEnd();
185
224
  } if (rf & 2) {
186
- const employer_r9 = i0.ɵɵnextContext().$implicit;
187
- i0.ɵɵadvance(2);
188
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "induction.employment.job.title"));
189
- i0.ɵɵadvance(2);
190
- i0.ɵɵtextInterpolate(employer_r9.jobTileOrPosition);
191
- } }
192
- function EmployerGridComponent_p_table_27_ng_template_3_td_12_Template(rf, ctx) { if (rf & 1) {
193
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
194
- i0.ɵɵtext(2);
195
- i0.ɵɵpipe(3, "translate");
196
- i0.ɵɵelementEnd()();
197
- } if (rf & 2) {
198
- i0.ɵɵadvance(2);
199
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.employment.job.title"));
225
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
226
+ i0.ɵɵadvance(3);
227
+ i0.ɵɵtextInterpolate(employer_r10.jobTileOrPosition);
200
228
  } }
201
- function EmployerGridComponent_p_table_27_ng_template_3_td_13_Template(rf, ctx) { if (rf & 1) {
202
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
203
- i0.ɵɵtext(2);
204
- i0.ɵɵpipe(3, "translate");
229
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_16_Template(rf, ctx) { if (rf & 1) {
230
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
231
+ i0.ɵɵtext(2, "Job Title");
205
232
  i0.ɵɵelementEnd();
206
- i0.ɵɵtext(4);
233
+ i0.ɵɵtext(3);
207
234
  i0.ɵɵelementEnd();
208
235
  } if (rf & 2) {
209
- const employer_r9 = i0.ɵɵnextContext().$implicit;
210
- i0.ɵɵadvance(2);
211
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "induction.employment.job.title"));
212
- i0.ɵɵadvance(2);
213
- i0.ɵɵtextInterpolate(employer_r9.fedJobTileOrPosition);
236
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
237
+ i0.ɵɵadvance(3);
238
+ i0.ɵɵtextInterpolate(employer_r10.fedJobTileOrPosition);
214
239
  } }
215
- function EmployerGridComponent_p_table_27_ng_template_3_td_14_Template(rf, ctx) { if (rf & 1) {
216
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
217
- i0.ɵɵtext(2);
218
- i0.ɵɵpipe(3, "translate");
219
- i0.ɵɵelementEnd();
220
- i0.ɵɵtext(4);
221
- i0.ɵɵelementEnd();
222
- } if (rf & 2) {
223
- const employer_r9 = i0.ɵɵnextContext().$implicit;
224
- i0.ɵɵadvance(2);
225
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "induction.employment.job.title"));
226
- i0.ɵɵadvance(2);
227
- i0.ɵɵtextInterpolate2("", employer_r9.jobTileOrPosition, "", employer_r9.fedJobTileOrPosition, "");
240
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_17_Template(rf, ctx) { if (rf & 1) {
241
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
242
+ i0.ɵɵtext(2, "Job Title");
243
+ i0.ɵɵelementEnd()();
228
244
  } }
229
- function EmployerGridComponent_p_table_27_ng_template_3_td_15_Template(rf, ctx) { if (rf & 1) {
230
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
231
- i0.ɵɵtext(2);
232
- i0.ɵɵpipe(3, "translate");
245
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_18_Template(rf, ctx) { if (rf & 1) {
246
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
247
+ i0.ɵɵtext(2, "Pay");
233
248
  i0.ɵɵelementEnd();
234
- i0.ɵɵtext(4);
235
- i0.ɵɵpipe(5, "currency");
249
+ i0.ɵɵtext(3);
250
+ i0.ɵɵpipe(4, "currency");
236
251
  i0.ɵɵelementEnd();
237
252
  } if (rf & 2) {
238
- const employer_r9 = i0.ɵɵnextContext().$implicit;
239
- i0.ɵɵadvance(2);
240
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "induction.employment.pay"));
241
- i0.ɵɵadvance(2);
242
- i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(5, 5, employer_r9.payRate), "/", employer_r9.payRateFrequency.text, "");
253
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
254
+ i0.ɵɵadvance(3);
255
+ i0.ɵɵtextInterpolate2("", i0.ɵɵpipeBind1(4, 2, employer_r10.payRate), "/", employer_r10.payRateFrequency.text, "");
243
256
  } }
244
- function EmployerGridComponent_p_table_27_ng_template_3_td_16_Template(rf, ctx) { if (rf & 1) {
245
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
246
- i0.ɵɵtext(2);
247
- i0.ɵɵpipe(3, "translate");
257
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_19_Template(rf, ctx) { if (rf & 1) {
258
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
259
+ i0.ɵɵtext(2, "Pay");
248
260
  i0.ɵɵelementEnd()();
249
- } if (rf & 2) {
250
- i0.ɵɵadvance(2);
251
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.employment.pay"));
252
261
  } }
253
- function EmployerGridComponent_p_table_27_ng_template_3_td_17_Template(rf, ctx) { if (rf & 1) {
254
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
255
- i0.ɵɵtext(2);
256
- i0.ɵɵpipe(3, "translate");
262
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_20_Template(rf, ctx) { if (rf & 1) {
263
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
264
+ i0.ɵɵtext(2, "Start and End");
257
265
  i0.ɵɵelementEnd();
258
- i0.ɵɵtext(4);
266
+ i0.ɵɵtext(3);
267
+ i0.ɵɵpipe(4, "date");
259
268
  i0.ɵɵpipe(5, "date");
260
- i0.ɵɵpipe(6, "date");
261
269
  i0.ɵɵelementEnd();
262
270
  } if (rf & 2) {
263
- const employer_r9 = i0.ɵɵnextContext().$implicit;
264
- i0.ɵɵadvance(2);
265
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "induction.employment.start.and.end"));
266
- i0.ɵɵadvance(2);
267
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(5, 5, employer_r9.startDate, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(6, 8, employer_r9.endDate, "M/d/yyyy"), " ");
271
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
272
+ i0.ɵɵadvance(3);
273
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r10.startDate, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r10.endDate, "M/d/yyyy"), " ");
268
274
  } }
269
- function EmployerGridComponent_p_table_27_ng_template_3_td_18_Template(rf, ctx) { if (rf & 1) {
270
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
271
- i0.ɵɵtext(2);
272
- i0.ɵɵpipe(3, "translate");
275
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_21_Template(rf, ctx) { if (rf & 1) {
276
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
277
+ i0.ɵɵtext(2, "Start and End");
273
278
  i0.ɵɵelementEnd();
274
- i0.ɵɵtext(4);
279
+ i0.ɵɵtext(3);
280
+ i0.ɵɵpipe(4, "date");
275
281
  i0.ɵɵpipe(5, "date");
276
- i0.ɵɵpipe(6, "date");
277
282
  i0.ɵɵelementEnd();
278
283
  } if (rf & 2) {
279
- const employer_r9 = i0.ɵɵnextContext().$implicit;
280
- i0.ɵɵadvance(2);
281
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "induction.employment.start.and.end"));
282
- i0.ɵɵadvance(2);
283
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(5, 5, employer_r9.startDateFed, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(6, 8, employer_r9.endDateFed, "M/d/yyyy"), " ");
284
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
285
+ i0.ɵɵadvance(3);
286
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r10.startDateFed, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r10.endDateFed, "M/d/yyyy"), " ");
284
287
  } }
285
- function EmployerGridComponent_p_table_27_ng_template_3_td_19_Template(rf, ctx) { if (rf & 1) {
286
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
287
- i0.ɵɵtext(2);
288
- i0.ɵɵpipe(3, "translate");
288
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_22_Template(rf, ctx) { if (rf & 1) {
289
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
290
+ i0.ɵɵtext(2, "Start and End");
289
291
  i0.ɵɵelementEnd();
290
- i0.ɵɵtext(4);
292
+ i0.ɵɵtext(3);
293
+ i0.ɵɵpipe(4, "date");
291
294
  i0.ɵɵpipe(5, "date");
292
- i0.ɵɵpipe(6, "date");
293
295
  i0.ɵɵelementEnd();
294
296
  } if (rf & 2) {
295
- const employer_r9 = i0.ɵɵnextContext().$implicit;
296
- i0.ɵɵadvance(2);
297
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "induction.employment.start.and.end"));
298
- i0.ɵɵadvance(2);
299
- i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(5, 5, employer_r9.startDateMil, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(6, 8, employer_r9.endDateMil, "M/d/yyyy"), " ");
300
- } }
301
- function EmployerGridComponent_p_table_27_ng_template_3_td_20_Template(rf, ctx) { if (rf & 1) {
302
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
303
- i0.ɵɵtext(2);
304
- i0.ɵɵpipe(3, "translate");
305
- i0.ɵɵelementEnd()();
306
- } if (rf & 2) {
307
- i0.ɵɵadvance(2);
308
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.employment.start.and.end"));
297
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
298
+ i0.ɵɵadvance(3);
299
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind2(4, 2, employer_r10.startDateMil, "M/d/yyyy"), " - ", i0.ɵɵpipeBind2(5, 5, employer_r10.endDateMil, "M/d/yyyy"), " ");
309
300
  } }
310
- function EmployerGridComponent_p_table_27_ng_template_3_td_21_Template(rf, ctx) { if (rf & 1) {
311
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
312
- i0.ɵɵtext(2);
313
- i0.ɵɵpipe(3, "translate");
301
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_23_Template(rf, ctx) { if (rf & 1) {
302
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
303
+ i0.ɵɵtext(2, "Separation Reason");
314
304
  i0.ɵɵelementEnd();
315
- i0.ɵɵtext(4);
305
+ i0.ɵɵtext(3);
316
306
  i0.ɵɵelementEnd();
317
307
  } if (rf & 2) {
318
- const employer_r9 = i0.ɵɵnextContext().$implicit;
319
- i0.ɵɵadvance(2);
320
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "induction.employment.seperation.reason"));
321
- i0.ɵɵadvance(2);
322
- i0.ɵɵtextInterpolate1("", employer_r9.reasonSeparation.text, " ");
308
+ const employer_r10 = i0.ɵɵnextContext(2).$implicit;
309
+ i0.ɵɵadvance(3);
310
+ i0.ɵɵtextInterpolate1("", employer_r10.reasonSeparation.text, " ");
323
311
  } }
324
- function EmployerGridComponent_p_table_27_ng_template_3_td_22_Template(rf, ctx) { if (rf & 1) {
325
- i0.ɵɵelementStart(0, "td")(1, "span", 22);
326
- i0.ɵɵtext(2);
327
- i0.ɵɵpipe(3, "translate");
312
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_24_Template(rf, ctx) { if (rf & 1) {
313
+ i0.ɵɵelementStart(0, "td")(1, "span", 31);
314
+ i0.ɵɵtext(2, "Separation Reason");
328
315
  i0.ɵɵelementEnd()();
329
- } if (rf & 2) {
330
- i0.ɵɵadvance(2);
331
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.employment.seperation.reason"));
332
316
  } }
333
- function EmployerGridComponent_p_table_27_ng_template_3_Template(rf, ctx) { if (rf & 1) {
334
- i0.ɵɵelementStart(0, "tr", 12);
335
- i0.ɵɵtemplate(1, EmployerGridComponent_p_table_27_ng_template_3_td_1_Template, 11, 8, "td", 13)(2, EmployerGridComponent_p_table_27_ng_template_3_td_2_Template, 5, 3, "td", 13)(3, EmployerGridComponent_p_table_27_ng_template_3_td_3_Template, 7, 4, "td", 14);
336
- i0.ɵɵelementStart(4, "td", 15);
337
- i0.ɵɵtemplate(5, EmployerGridComponent_p_table_27_ng_template_3_ion_button_5_Template, 2, 2, "ion-button", 16)(6, EmployerGridComponent_p_table_27_ng_template_3_ion_button_6_Template, 2, 2, "ion-button", 17)(7, EmployerGridComponent_p_table_27_ng_template_3_ion_button_7_Template, 2, 2, "ion-button", 18)(8, EmployerGridComponent_p_table_27_ng_template_3_ion_button_8_Template, 2, 2, "ion-button", 19)(9, EmployerGridComponent_p_table_27_ng_template_3_ion_button_9_Template, 2, 2, "ion-button", 19)(10, EmployerGridComponent_p_table_27_ng_template_3_ion_button_10_Template, 2, 2, "ion-button", 20);
317
+ function EmployerGridComponent_p_table_29_ng_template_3_tr_0_Template(rf, ctx) { if (rf & 1) {
318
+ i0.ɵɵelementStart(0, "tr", 18);
319
+ i0.ɵɵtemplate(1, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_1_Template, 6, 2, "td", 19)(2, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ng_template_2_Template, 1, 2, "ng-template", null, 20, i0.ɵɵtemplateRefExtractor)(4, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ng_template_4_Template, 1, 1, "ng-template", null, 21, i0.ɵɵtemplateRefExtractor)(6, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_6_Template, 4, 0, "td", 22)(7, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_7_Template, 6, 1, "td", 22);
320
+ i0.ɵɵelementStart(8, "td", 23);
321
+ i0.ɵɵtemplate(9, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_9_Template, 2, 2, "ion-button", 24)(10, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_10_Template, 2, 2, "ion-button", 25)(11, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_11_Template, 2, 4, "ion-button", 26)(12, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_12_Template, 2, 3, "ion-button", 27)(13, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_13_Template, 2, 3, "ion-button", 27)(14, EmployerGridComponent_p_table_29_ng_template_3_tr_0_ion_button_14_Template, 2, 2, "ion-button", 28);
338
322
  i0.ɵɵelementEnd();
339
- i0.ɵɵtemplate(11, EmployerGridComponent_p_table_27_ng_template_3_td_11_Template, 5, 4, "td", 14)(12, EmployerGridComponent_p_table_27_ng_template_3_td_12_Template, 4, 3, "td", 14)(13, EmployerGridComponent_p_table_27_ng_template_3_td_13_Template, 5, 4, "td", 14)(14, EmployerGridComponent_p_table_27_ng_template_3_td_14_Template, 5, 5, "td", 14)(15, EmployerGridComponent_p_table_27_ng_template_3_td_15_Template, 6, 7, "td", 14)(16, EmployerGridComponent_p_table_27_ng_template_3_td_16_Template, 4, 3, "td", 14)(17, EmployerGridComponent_p_table_27_ng_template_3_td_17_Template, 7, 11, "td", 14)(18, EmployerGridComponent_p_table_27_ng_template_3_td_18_Template, 7, 11, "td", 14)(19, EmployerGridComponent_p_table_27_ng_template_3_td_19_Template, 7, 11, "td", 14)(20, EmployerGridComponent_p_table_27_ng_template_3_td_20_Template, 4, 3, "td", 14)(21, EmployerGridComponent_p_table_27_ng_template_3_td_21_Template, 5, 4, "td", 14)(22, EmployerGridComponent_p_table_27_ng_template_3_td_22_Template, 4, 3, "td", 14);
323
+ i0.ɵɵtemplate(15, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_15_Template, 4, 1, "td", 29)(16, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_16_Template, 4, 1, "td", 29)(17, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_17_Template, 3, 0, "td", 29)(18, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_18_Template, 5, 4, "td", 29)(19, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_19_Template, 3, 0, "td", 29)(20, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_20_Template, 6, 8, "td", 29)(21, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_21_Template, 6, 8, "td", 29)(22, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_22_Template, 6, 8, "td", 29)(23, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_23_Template, 4, 1, "td", 29)(24, EmployerGridComponent_p_table_29_ng_template_3_tr_0_td_24_Template, 3, 0, "td", 29);
324
+ i0.ɵɵelement(25, "td", 30);
340
325
  i0.ɵɵelementEnd();
341
326
  } if (rf & 2) {
342
- const employer_r9 = ctx.$implicit;
343
- i0.ɵɵproperty("ngClass", employer_r9.empDeleted == "Y" ? "strikethrough" : null);
327
+ const _r15 = i0.ɵɵreference(3);
328
+ const employer_r10 = i0.ɵɵnextContext().$implicit;
329
+ i0.ɵɵproperty("ngClass", employer_r10.empDeleted == "Y" ? "strikethrough" : null);
344
330
  i0.ɵɵadvance(1);
345
- i0.ɵɵproperty("ngIf", (employer_r9.employerData.tradeName || employer_r9.employerData.displayName) && employer_r9.employerType != "MIL");
346
- i0.ɵɵadvance(1);
347
- i0.ɵɵproperty("ngIf", !employer_r9.employerData.displayName && employer_r9.employerType != "MIL");
331
+ i0.ɵɵproperty("ngIf", employer_r10.osaBpEmployerFlag === "1" && employer_r10.employerType === "REG" && employer_r10.employerData.displayState != null)("ngIfElse", _r15);
332
+ i0.ɵɵadvance(5);
333
+ i0.ɵɵproperty("ngIf", !employer_r10.employerData.displayName && employer_r10.employerType != "MIL");
348
334
  i0.ɵɵadvance(1);
349
- i0.ɵɵproperty("ngIf", employer_r9.employerType === "MIL");
335
+ i0.ɵɵproperty("ngIf", employer_r10.employerType === "MIL");
350
336
  i0.ɵɵadvance(2);
351
- i0.ɵɵproperty("ngIf", employer_r9.bpEmployerFlag === "1" && employer_r9.payRate && employer_r9.startDate && employer_r9.empDeleted != "Y");
337
+ i0.ɵɵproperty("ngIf", employer_r10.bpEmployerFlag === "1" && employer_r10.payRate && employer_r10.startDate && employer_r10.empDeleted != "Y");
352
338
  i0.ɵɵadvance(1);
353
- i0.ɵɵproperty("ngIf", employer_r9.bpEmployerFlag === "0");
339
+ i0.ɵɵproperty("ngIf", employer_r10.bpEmployerFlag === "0");
354
340
  i0.ɵɵadvance(1);
355
- i0.ɵɵproperty("ngIf", employer_r9.bpEmployerFlag === "1" && !employer_r9.payRate && !employer_r9.startDate && employer_r9.empDeleted != "Y");
341
+ i0.ɵɵproperty("ngIf", employer_r10.bpEmployerFlag === "1" && !employer_r10.payRate && !employer_r10.startDate && employer_r10.empDeleted != "Y");
356
342
  i0.ɵɵadvance(1);
357
- i0.ɵɵproperty("ngIf", employer_r9.bpEmployerFlag === "0");
343
+ i0.ɵɵproperty("ngIf", employer_r10.bpEmployerFlag === "0");
358
344
  i0.ɵɵadvance(1);
359
- i0.ɵɵproperty("ngIf", employer_r9.bpEmployerFlag === "1" && employer_r9.empDeleted != "Y");
345
+ i0.ɵɵproperty("ngIf", employer_r10.bpEmployerFlag === "1" && employer_r10.empDeleted != "Y");
360
346
  i0.ɵɵadvance(1);
361
- i0.ɵɵproperty("ngIf", employer_r9.bpEmployerFlag === "1" && employer_r9.empDeleted == "Y");
347
+ i0.ɵɵproperty("ngIf", employer_r10.bpEmployerFlag === "1" && employer_r10.empDeleted == "Y");
362
348
  i0.ɵɵadvance(1);
363
- i0.ɵɵproperty("ngIf", employer_r9.jobTileOrPosition && !employer_r9.fedJobTileOrPosition);
349
+ i0.ɵɵproperty("ngIf", employer_r10.jobTileOrPosition && !employer_r10.fedJobTileOrPosition);
364
350
  i0.ɵɵadvance(1);
365
- i0.ɵɵproperty("ngIf", !employer_r9.jobTileOrPosition && !employer_r9.fedJobTileOrPosition);
351
+ i0.ɵɵproperty("ngIf", employer_r10.fedJobTileOrPosition && !employer_r10.jobTileOrPosition);
366
352
  i0.ɵɵadvance(1);
367
- i0.ɵɵproperty("ngIf", !employer_r9.jobTileOrPosition && employer_r9.fedJobTileOrPosition);
353
+ i0.ɵɵproperty("ngIf", employer_r10.employerType == "MIL");
368
354
  i0.ɵɵadvance(1);
369
- i0.ɵɵproperty("ngIf", employer_r9.jobTileOrPosition && employer_r9.fedJobTileOrPosition);
355
+ i0.ɵɵproperty("ngIf", employer_r10.employerType != "MIL" && employer_r10.payRate && employer_r10.payRateFrequency);
370
356
  i0.ɵɵadvance(1);
371
- i0.ɵɵproperty("ngIf", employer_r9.payRate);
357
+ i0.ɵɵproperty("ngIf", employer_r10.employerType == "MIL");
372
358
  i0.ɵɵadvance(1);
373
- i0.ɵɵproperty("ngIf", !employer_r9.payRate);
359
+ i0.ɵɵproperty("ngIf", employer_r10.employerType === "REG" && employer_r10.startDate && employer_r10.endDate);
374
360
  i0.ɵɵadvance(1);
375
- i0.ɵɵproperty("ngIf", employer_r9.employerType === "REG");
361
+ i0.ɵɵproperty("ngIf", employer_r10.employerType === "FED" && employer_r10.startDateFed && employer_r10.endDateFed);
376
362
  i0.ɵɵadvance(1);
377
- i0.ɵɵproperty("ngIf", employer_r9.employerType === "FED");
363
+ i0.ɵɵproperty("ngIf", employer_r10.employerType === "MIL" && employer_r10.startDateMil && employer_r10.endDateMil);
378
364
  i0.ɵɵadvance(1);
379
- i0.ɵɵproperty("ngIf", employer_r9.employerType === "MIL");
365
+ i0.ɵɵproperty("ngIf", employer_r10.employerType != "MIL" && employer_r10.reasonSeparation);
380
366
  i0.ɵɵadvance(1);
381
- i0.ɵɵproperty("ngIf", !employer_r9.startDate && !employer_r9.startDateFed && !employer_r9.startDateMil);
382
- i0.ɵɵadvance(1);
383
- i0.ɵɵproperty("ngIf", employer_r9.employerType != "MIL" && employer_r9.reasonSeparation);
384
- i0.ɵɵadvance(1);
385
- i0.ɵɵproperty("ngIf", employer_r9.employerType === "MIL" && !employer_r9.reasonSeparation);
367
+ i0.ɵɵproperty("ngIf", employer_r10.employerType === "MIL");
368
+ } }
369
+ function EmployerGridComponent_p_table_29_ng_template_3_Template(rf, ctx) { if (rf & 1) {
370
+ i0.ɵɵtemplate(0, EmployerGridComponent_p_table_29_ng_template_3_tr_0_Template, 26, 21, "tr", 17);
371
+ } if (rf & 2) {
372
+ const employer_r10 = ctx.$implicit;
373
+ i0.ɵɵproperty("ngIf", employer_r10.displaySeasonalEmp === true);
386
374
  } }
387
375
  const _c4 = () => ["fal", "plus"];
388
- function EmployerGridComponent_p_table_27_ng_template_4_Template(rf, ctx) { if (rf & 1) {
389
- const _r62 = i0.ɵɵgetCurrentView();
390
- i0.ɵɵelementStart(0, "table")(1, "tr")(2, "td", 31);
376
+ function EmployerGridComponent_p_table_29_ng_template_4_Template(rf, ctx) { if (rf & 1) {
377
+ const _r75 = i0.ɵɵgetCurrentView();
378
+ i0.ɵɵelementStart(0, "table")(1, "tr")(2, "td", 40);
391
379
  i0.ɵɵelement(3, "div", 2);
392
380
  i0.ɵɵpipe(4, "trustHtml");
393
381
  i0.ɵɵpipe(5, "translate");
394
382
  i0.ɵɵelementEnd();
395
- i0.ɵɵelementStart(6, "td", 32)(7, "ion-button", 33);
396
- i0.ɵɵlistener("click", function EmployerGridComponent_p_table_27_ng_template_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r61.addNewEmpDetails()); });
397
- i0.ɵɵelement(8, "fa-icon", 26);
383
+ i0.ɵɵelementStart(6, "td", 41)(7, "ion-button", 42);
384
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_table_29_ng_template_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r75); const ctx_r74 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r74.addNewEmpDetails()); });
385
+ i0.ɵɵelement(8, "fa-icon", 35);
398
386
  i0.ɵɵelementEnd()();
399
- i0.ɵɵelementStart(9, "td", 34);
387
+ i0.ɵɵelementStart(9, "td", 30);
400
388
  i0.ɵɵtext(10, "\u00A0");
401
389
  i0.ɵɵelementEnd()()();
402
390
  } if (rf & 2) {
@@ -409,32 +397,42 @@ function EmployerGridComponent_p_table_27_ng_template_4_Template(rf, ctx) { if (
409
397
  i0.ɵɵadvance(1);
410
398
  i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(8, _c4));
411
399
  } }
412
- function EmployerGridComponent_p_table_27_Template(rf, ctx) { if (rf & 1) {
413
- i0.ɵɵelementStart(0, "p-table", 6, 7);
414
- i0.ɵɵtemplate(2, EmployerGridComponent_p_table_27_ng_template_2_Template, 16, 15, "ng-template", 8)(3, EmployerGridComponent_p_table_27_ng_template_3_Template, 23, 22, "ng-template", 9)(4, EmployerGridComponent_p_table_27_ng_template_4_Template, 11, 9, "ng-template", 10);
400
+ function EmployerGridComponent_p_table_29_Template(rf, ctx) { if (rf & 1) {
401
+ i0.ɵɵelementStart(0, "p-table", 11, 12);
402
+ i0.ɵɵtemplate(2, EmployerGridComponent_p_table_29_ng_template_2_Template, 17, 15, "ng-template", 13)(3, EmployerGridComponent_p_table_29_ng_template_3_Template, 1, 1, "ng-template", 14)(4, EmployerGridComponent_p_table_29_ng_template_4_Template, 11, 9, "ng-template", 15);
415
403
  i0.ɵɵelementEnd();
416
404
  } if (rf & 2) {
417
- const ctx_r0 = i0.ɵɵnextContext();
418
- i0.ɵɵproperty("columns", ctx_r0.cols)("value", ctx_r0.claimAppEmpResponseModelFromService.bpEmpList)("loading", ctx_r0.showProgressBar)("rowHover", true);
405
+ const ctx_r2 = i0.ɵɵnextContext();
406
+ i0.ɵɵproperty("columns", ctx_r2.cols)("value", ctx_r2.claimAppEmpResponseModelFromService.bpEmpList)("loading", ctx_r2.showProgressBar)("rowHover", true);
419
407
  } }
420
- function EmployerGridComponent_app_add_employer_28_Template(rf, ctx) { if (rf & 1) {
421
- const _r64 = i0.ɵɵgetCurrentView();
422
- i0.ɵɵelementStart(0, "app-add-employer", 35);
423
- i0.ɵɵlistener("success", function EmployerGridComponent_app_add_employer_28_Template_app_add_employer_success_0_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r63.addEmployer($event)); })("basePeriodIndex", function EmployerGridComponent_app_add_employer_28_Template_app_add_employer_basePeriodIndex_0_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r65 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r65.deleteBpEmpl($event)); })("modelCancel", function EmployerGridComponent_app_add_employer_28_Template_app_add_employer_modelCancel_0_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r66 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r66.onModelCancel($event)); });
408
+ function EmployerGridComponent_app_add_employer_30_Template(rf, ctx) { if (rf & 1) {
409
+ const _r77 = i0.ɵɵgetCurrentView();
410
+ i0.ɵɵelementStart(0, "app-add-employer", 43);
411
+ i0.ɵɵlistener("success", function EmployerGridComponent_app_add_employer_30_Template_app_add_employer_success_0_listener($event) { i0.ɵɵrestoreView(_r77); const ctx_r76 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r76.addEmployer($event)); })("basePeriodIndex", function EmployerGridComponent_app_add_employer_30_Template_app_add_employer_basePeriodIndex_0_listener($event) { i0.ɵɵrestoreView(_r77); const ctx_r78 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r78.deleteBpEmpl($event)); })("modelCancel", function EmployerGridComponent_app_add_employer_30_Template_app_add_employer_modelCancel_0_listener($event) { i0.ɵɵrestoreView(_r77); const ctx_r79 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r79.onModelCancel($event)); });
412
+ i0.ɵɵelementEnd();
413
+ } if (rf & 2) {
414
+ const ctx_r3 = i0.ɵɵnextContext();
415
+ i0.ɵɵproperty("recordIndexToEdit", ctx_r3.indexToEdit)("isBasePeriodEmployer", ctx_r3.isBasePeriodEmployer)("isNewClaim", ctx_r3.isNewClaim)("dob", ctx_r3.claimantDob);
416
+ } }
417
+ function EmployerGridComponent_p_dialog_31_div_6_Template(rf, ctx) { if (rf & 1) {
418
+ i0.ɵɵelementStart(0, "div");
419
+ i0.ɵɵtext(1);
420
+ i0.ɵɵpipe(2, "translate");
424
421
  i0.ɵɵelementEnd();
425
422
  } if (rf & 2) {
426
- const ctx_r1 = i0.ɵɵnextContext();
427
- i0.ɵɵproperty("recordIndexToEdit", ctx_r1.indexToEdit)("isBasePeriodEmployer", ctx_r1.isBasePeriodEmployer)("isNewClaim", ctx_r1.isNewClaim)("dob", ctx_r1.claimantDob)("noEditMode", ctx_r1.noEditMode);
423
+ const ctx_r80 = i0.ɵɵnextContext(2);
424
+ i0.ɵɵadvance(1);
425
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(2, 2, "induction.confirm.employment.dba"), " ", ctx_r80.selectedEmployer.employerData.tradeName, "");
428
426
  } }
429
- function EmployerGridComponent_p_dialog_29_ng_template_51_Template(rf, ctx) { if (rf & 1) {
430
- const _r69 = i0.ɵɵgetCurrentView();
431
- i0.ɵɵelementStart(0, "ion-button", 40);
432
- i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_29_ng_template_51_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r69); const ctx_r68 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r68.close()); });
427
+ function EmployerGridComponent_p_dialog_31_ng_template_20_Template(rf, ctx) { if (rf & 1) {
428
+ const _r83 = i0.ɵɵgetCurrentView();
429
+ i0.ɵɵelementStart(0, "ion-button", 48);
430
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_31_ng_template_20_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r83); const ctx_r82 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r82.close()); });
433
431
  i0.ɵɵtext(1);
434
432
  i0.ɵɵpipe(2, "translate");
435
433
  i0.ɵɵelementEnd();
436
- i0.ɵɵelementStart(3, "ion-button", 41);
437
- i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_29_ng_template_51_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r69); const ctx_r70 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r70.displayBpEmpConfirmation()); });
434
+ i0.ɵɵelementStart(3, "ion-button", 49);
435
+ i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_31_ng_template_20_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r83); const ctx_r84 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r84.removeBasePeriodEmployer()); });
438
436
  i0.ɵɵtext(4);
439
437
  i0.ɵɵpipe(5, "translate");
440
438
  i0.ɵɵelementEnd();
@@ -446,171 +444,49 @@ function EmployerGridComponent_p_dialog_29_ng_template_51_Template(rf, ctx) { if
446
444
  } }
447
445
  const _c5 = () => ({ width: "45vw" });
448
446
  const _c6 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
449
- function EmployerGridComponent_p_dialog_29_Template(rf, ctx) { if (rf & 1) {
450
- i0.ɵɵelementStart(0, "p-dialog", 36)(1, "h4", 37);
447
+ const _c7 = a0 => [a0];
448
+ function EmployerGridComponent_p_dialog_31_Template(rf, ctx) { if (rf & 1) {
449
+ i0.ɵɵelementStart(0, "p-dialog", 44)(1, "h4", 45);
451
450
  i0.ɵɵtext(2);
452
451
  i0.ɵɵpipe(3, "translate");
453
452
  i0.ɵɵelementEnd();
454
453
  i0.ɵɵelementStart(4, "ion-label");
455
454
  i0.ɵɵtext(5);
455
+ i0.ɵɵtemplate(6, EmployerGridComponent_p_dialog_31_div_6_Template, 3, 4, "div", 29);
456
+ i0.ɵɵelement(7, "br");
456
457
  i0.ɵɵelementEnd();
457
- i0.ɵɵelement(6, "br");
458
- i0.ɵɵelementStart(7, "ion-label");
459
- i0.ɵɵtext(8);
460
- i0.ɵɵelementEnd();
461
- i0.ɵɵelementStart(9, "ion-label");
462
- i0.ɵɵelement(10, "div", 23);
463
- i0.ɵɵpipe(11, "trustHtml");
464
- i0.ɵɵelementEnd();
465
- i0.ɵɵelement(12, "br");
466
- i0.ɵɵelementStart(13, "ion-label", 38);
467
- i0.ɵɵtext(14);
468
- i0.ɵɵpipe(15, "translate");
469
- i0.ɵɵelementEnd();
470
- i0.ɵɵelement(16, "br")(17, "br");
471
- i0.ɵɵelementStart(18, "ion-label")(19, "b");
472
- i0.ɵɵtext(20);
473
- i0.ɵɵpipe(21, "translate");
474
- i0.ɵɵelementEnd()();
475
- i0.ɵɵelement(22, "br");
476
- i0.ɵɵelementStart(23, "ion-label");
477
- i0.ɵɵtext(24);
478
- i0.ɵɵpipe(25, "translate");
458
+ i0.ɵɵelementStart(8, "ion-label");
459
+ i0.ɵɵelement(9, "div", 46);
460
+ i0.ɵɵpipe(10, "trustHtml");
479
461
  i0.ɵɵelementEnd();
480
- i0.ɵɵelement(26, "br")(27, "br");
481
- i0.ɵɵelementStart(28, "ion-label")(29, "b");
482
- i0.ɵɵtext(30);
483
- i0.ɵɵpipe(31, "translate");
484
- i0.ɵɵelementEnd()();
485
- i0.ɵɵelement(32, "br");
486
- i0.ɵɵelementStart(33, "ion-label");
487
- i0.ɵɵtext(34);
488
- i0.ɵɵpipe(35, "translate");
462
+ i0.ɵɵelement(11, "br");
463
+ i0.ɵɵelementStart(12, "ion-label");
464
+ i0.ɵɵtext(13);
465
+ i0.ɵɵpipe(14, "translate");
489
466
  i0.ɵɵelementEnd();
490
- i0.ɵɵelement(36, "br")(37, "br");
491
- i0.ɵɵelementStart(38, "ion-label")(39, "b");
492
- i0.ɵɵtext(40);
493
- i0.ɵɵpipe(41, "translate");
494
- i0.ɵɵelementEnd()();
495
- i0.ɵɵelement(42, "br");
496
- i0.ɵɵelementStart(43, "ion-label");
497
- i0.ɵɵtext(44);
498
- i0.ɵɵpipe(45, "translate");
467
+ i0.ɵɵelement(15, "br")(16, "br");
468
+ i0.ɵɵelementStart(17, "ion-label");
469
+ i0.ɵɵelement(18, "div", 2);
470
+ i0.ɵɵpipe(19, "translate");
499
471
  i0.ɵɵelementEnd();
500
- i0.ɵɵelement(46, "br")(47, "br");
501
- i0.ɵɵelementStart(48, "ion-label");
502
- i0.ɵɵtext(49);
503
- i0.ɵɵpipe(50, "translate");
504
- i0.ɵɵelementEnd();
505
- i0.ɵɵtemplate(51, EmployerGridComponent_p_dialog_29_ng_template_51_Template, 6, 6, "ng-template", 39);
472
+ i0.ɵɵtemplate(20, EmployerGridComponent_p_dialog_31_ng_template_20_Template, 6, 6, "ng-template", 47);
506
473
  i0.ɵɵelementEnd();
507
474
  } if (rf & 2) {
508
- const ctx_r2 = i0.ɵɵnextContext();
509
- i0.ɵɵstyleMap(i0.ɵɵpureFunction0(40, _c5));
510
- i0.ɵɵproperty("visible", ctx_r2.showConfirmPopup)("modal", true)("breakpoints", i0.ɵɵpureFunction0(41, _c6))("baseZIndex", 5000)("draggable", false)("resizable", false);
475
+ const ctx_r4 = i0.ɵɵnextContext();
476
+ i0.ɵɵstyleMap(i0.ɵɵpureFunction0(22, _c5));
477
+ i0.ɵɵproperty("visible", ctx_r4.showConfirmPopup)("modal", true)("breakpoints", i0.ɵɵpureFunction0(23, _c6))("baseZIndex", 5000)("draggable", false)("resizable", false);
511
478
  i0.ɵɵadvance(2);
512
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 20, "induction.employment.grid.popup.heading"));
479
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 14, "induction.employment.grid.popup.heading"));
513
480
  i0.ɵɵadvance(3);
514
- i0.ɵɵtextInterpolate(ctx_r2.selectedEmployer.employerData.displayName);
481
+ i0.ɵɵtextInterpolate1(" ", ctx_r4.selectedEmployer.employerData.displayName, " ");
482
+ i0.ɵɵadvance(1);
483
+ i0.ɵɵproperty("ngIf", ctx_r4.selectedEmployer.employerData.tradeName != null);
515
484
  i0.ɵɵadvance(3);
516
- i0.ɵɵtextInterpolate(ctx_r2.selectedEmployer.employerData.tradeName);
517
- i0.ɵɵadvance(2);
518
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(11, 22, ctx_r2.selectedEmployer.employerData.mailingAddressDisplay), i0.ɵɵsanitizeHtml);
519
- i0.ɵɵadvance(4);
520
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 24, "induction.employment.grid.popup.failure.label"), " ");
521
- i0.ɵɵadvance(6);
522
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 26, "induction.employment.grid.popup.text1.q.label"));
523
- i0.ɵɵadvance(4);
524
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(25, 28, "induction.employment.grid.popup.text1.a.label"), " ");
525
- i0.ɵɵadvance(6);
526
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(31, 30, "induction.employment.grid.popup.text2.q.label"));
527
- i0.ɵɵadvance(4);
528
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(35, 32, "induction.employment.grid.popup.text2.a.label"), " ");
529
- i0.ɵɵadvance(6);
530
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(41, 34, "induction.employment.grid.popup.text3.q.label"));
485
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(10, 16, ctx_r4.selectedEmployer.employerData.mailingAddressDisplay), i0.ɵɵsanitizeHtml);
531
486
  i0.ɵɵadvance(4);
532
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(45, 36, "induction.employment.grid.popup.text3.a.label"), " ");
487
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(14, 18, "induction.employment.grid.popup.failure.label"), " ");
533
488
  i0.ɵɵadvance(5);
534
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(50, 38, "induction.employment.grid.popup.didnt.work.label"), " ");
535
- } }
536
- function EmployerGridComponent_p_dialog_30_div_7_small_7_Template(rf, ctx) { if (rf & 1) {
537
- i0.ɵɵelementStart(0, "small", 46);
538
- i0.ɵɵtext(1);
539
- i0.ɵɵpipe(2, "translate");
540
- i0.ɵɵelementEnd();
541
- } if (rf & 2) {
542
- i0.ɵɵadvance(1);
543
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "induction.employment.grid.delete.bpemployer.popup.field.required"), " ");
544
- } }
545
- function EmployerGridComponent_p_dialog_30_div_7_Template(rf, ctx) { if (rf & 1) {
546
- i0.ɵɵelementStart(0, "div")(1, "label", 43);
547
- i0.ɵɵtext(2);
548
- i0.ɵɵpipe(3, "translate");
549
- i0.ɵɵelementEnd();
550
- i0.ɵɵelement(4, "br")(5, "textarea", 44);
551
- i0.ɵɵpipe(6, "translate");
552
- i0.ɵɵtemplate(7, EmployerGridComponent_p_dialog_30_div_7_small_7_Template, 3, 3, "small", 45);
553
- i0.ɵɵelementStart(8, "small");
554
- i0.ɵɵtext(9);
555
- i0.ɵɵpipe(10, "translate");
556
- i0.ɵɵelementEnd()();
557
- } if (rf & 2) {
558
- const ctx_r71 = i0.ɵɵnextContext(2);
559
- let tmp_2_0;
560
- i0.ɵɵadvance(2);
561
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "induction.employment.grid.delete.bpemployer.popup.reason.selecting"), " ");
562
- i0.ɵɵadvance(3);
563
- i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(6, 6, "induction.employment.grid.delete.bpemployer.popup.explain.reason"));
564
- i0.ɵɵadvance(2);
565
- i0.ɵɵproperty("ngIf", ((tmp_2_0 = ctx_r71.form.get("otherComment")) == null ? null : tmp_2_0.invalid) && ((tmp_2_0 = ctx_r71.form.get("otherComment")) == null ? null : tmp_2_0.touched));
566
- i0.ɵɵadvance(2);
567
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(10, 8, "induction.employment.grid.delete.bpemployer.popup.maxlength.250"), " ");
568
- } }
569
- function EmployerGridComponent_p_dialog_30_ng_template_8_Template(rf, ctx) { if (rf & 1) {
570
- const _r75 = i0.ɵɵgetCurrentView();
571
- i0.ɵɵelementStart(0, "ion-button", 40);
572
- i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_30_ng_template_8_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r75); const ctx_r74 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r74.close()); });
573
- i0.ɵɵtext(1);
574
- i0.ɵɵpipe(2, "translate");
575
- i0.ɵɵelementEnd();
576
- i0.ɵɵelementStart(3, "ion-button", 47);
577
- i0.ɵɵlistener("click", function EmployerGridComponent_p_dialog_30_ng_template_8_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r75); const ctx_r76 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r76.removeBasePeriodEmployer()); });
578
- i0.ɵɵtext(4);
579
- i0.ɵɵpipe(5, "translate");
580
- i0.ɵɵelementEnd();
581
- } if (rf & 2) {
582
- const ctx_r72 = i0.ɵɵnextContext(2);
583
- i0.ɵɵadvance(1);
584
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, "induction.employment.grid.delete.bpemployer.popup.cancel"), " ");
585
- i0.ɵɵadvance(2);
586
- i0.ɵɵproperty("disabled", ctx_r72.form.invalid);
587
- i0.ɵɵadvance(1);
588
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 5, "induction.employment.grid.delete.bpemployer.popup.remove"), " ");
589
- } }
590
- function EmployerGridComponent_p_dialog_30_Template(rf, ctx) { if (rf & 1) {
591
- const _r78 = i0.ɵɵgetCurrentView();
592
- i0.ɵɵelementStart(0, "p-dialog", 36)(1, "h4", 37);
593
- i0.ɵɵtext(2);
594
- i0.ɵɵpipe(3, "translate");
595
- i0.ɵɵelementEnd();
596
- i0.ɵɵelement(4, "br");
597
- i0.ɵɵelementStart(5, "p-dropdown", 42);
598
- i0.ɵɵlistener("ngModelChange", function EmployerGridComponent_p_dialog_30_Template_p_dropdown_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r78); const ctx_r77 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r77.selectedOption = $event); })("onChange", function EmployerGridComponent_p_dialog_30_Template_p_dropdown_onChange_5_listener($event) { i0.ɵɵrestoreView(_r78); const ctx_r79 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r79.onDropdownChange($event)); });
599
- i0.ɵɵpipe(6, "translate");
600
- i0.ɵɵelementEnd();
601
- i0.ɵɵtemplate(7, EmployerGridComponent_p_dialog_30_div_7_Template, 11, 10, "div", 14)(8, EmployerGridComponent_p_dialog_30_ng_template_8_Template, 6, 7, "ng-template", 39);
602
- i0.ɵɵelementEnd();
603
- } if (rf & 2) {
604
- const ctx_r3 = i0.ɵɵnextContext();
605
- i0.ɵɵstyleMap(i0.ɵɵpureFunction0(18, _c5));
606
- i0.ɵɵproperty("visible", ctx_r3.showbpEmpDelPopup)("modal", true)("breakpoints", i0.ɵɵpureFunction0(19, _c6))("baseZIndex", 5000)("draggable", false)("resizable", false);
607
- i0.ɵɵadvance(2);
608
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 14, "induction.employment.grid.delete.bpemployer.popup.heading"));
609
- i0.ɵɵadvance(3);
610
- i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(6, 16, "induction.employment.grid.delete.bpemployer.popup.heading.placeholder"));
611
- i0.ɵɵproperty("options", ctx_r3.bpEmpDelOptions)("ngModel", ctx_r3.selectedOption)("autoDisplayFirst", false);
612
- i0.ɵɵadvance(2);
613
- i0.ɵɵproperty("ngIf", ctx_r3.showCommentBox);
489
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpureFunction1(24, _c7, i0.ɵɵpipeBind1(19, 20, "induction.employment.grid.popup.didnt.work.label")), i0.ɵɵsanitizeHtml);
614
490
  } }
615
491
  export class EmployerGridComponent {
616
492
  constructor(popup, logger, validationService, navController, util, ls, activatedRoute, claimsService, storage) {
@@ -626,38 +502,25 @@ export class EmployerGridComponent {
626
502
  this.claimAppEmpResponseModelFromService = new ClaimAppEmpResponseModel();
627
503
  this.modelDisplay = new EventEmitter();
628
504
  this.onComplete = new EventEmitter();
629
- this.modelDataPass = new EventEmitter();
630
505
  this.claimdetailModel = new ClaimAppEmployerDetailsModel();
631
506
  this.caimAppEmpResponseModel = new ClaimAppEmpResponseModel();
632
507
  this.isBasePeriodEmployer = false;
633
508
  this.isNewClaim = false;
634
509
  this.showConfirmPopup = false;
635
- this.showbpEmpDelPopup = false;
636
510
  this.showProgressBar = false;
637
511
  this.uuid = null;
638
512
  this.dischargeReasonOptionsAll = [];
639
513
  this.volQuitReasonOptionsAll = [];
640
514
  this.employmentStatusOptionsAll = [];
641
- this.payRateOptions = [];
642
- this.countryOptions = [];
643
- this.workCountryOptions = [];
644
- this.statesOptions = [];
645
- this.militaryServiceOptions = [];
646
- this.showCommentBox = false;
647
- this.bpEmpDelOptions = [];
515
+ this.payRateOptions = ComboOption.PAY_PERIOD;
516
+ this.countryOptions = ComboOption.COUNTRY;
517
+ this.workCountryOptions = ComboOption.WORK_COUNTRY;
518
+ this.statesOptions = ComboOption.US_STATES;
519
+ this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
648
520
  this.onChange = (value) => {
649
521
  };
650
522
  this.onTouch = () => {
651
523
  };
652
- afterNextRender(() => {
653
- document.querySelectorAll('p-table table').forEach(e => {
654
- e.setAttribute('role', 'presentation');
655
- });
656
- document.querySelectorAll('p-selectbutton div div').forEach(el => {
657
- el.removeAttribute('aria-labelledby');
658
- el.removeAttribute('aria-pressed');
659
- });
660
- }, { phase: AfterRenderPhase.Write });
661
524
  }
662
525
  loadMasterData() {
663
526
  this.claimsService.loadMasterData();
@@ -674,22 +537,6 @@ export class EmployerGridComponent {
674
537
  ngOnInit() {
675
538
  this.logger.debug('ng onit of employer grid');
676
539
  this.loadMasterData();
677
- if (localStorage.getItem("language") === "es") {
678
- this.payRateOptions = ComboOption.PAY_PERIOD_ES;
679
- this.countryOptions = ComboOption.COUNTRY_ES;
680
- this.workCountryOptions = ComboOption.WORK_COUNTRY_ES;
681
- this.statesOptions = ComboOption.US_STATES_ES;
682
- this.militaryServiceOptions = ComboOption.MILITARY_SERVICE_ES;
683
- this.bpEmpDelOptions = ComboOption.BP_EMP_DEL_OPTS_ES;
684
- }
685
- else {
686
- this.payRateOptions = ComboOption.PAY_PERIOD;
687
- this.countryOptions = ComboOption.COUNTRY;
688
- this.workCountryOptions = ComboOption.WORK_COUNTRY;
689
- this.statesOptions = ComboOption.US_STATES;
690
- this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
691
- this.bpEmpDelOptions = ComboOption.BP_EMP_DEL_OPTS;
692
- }
693
540
  this.cols = [
694
541
  { field: 'employer', header: 'Employer' },
695
542
  { field: 'jobTitle', header: 'Job Title' },
@@ -698,10 +545,6 @@ export class EmployerGridComponent {
698
545
  { field: 'separationReason', header: 'Separation Reason' },
699
546
  { field: '', header: '' }
700
547
  ];
701
- this.form = new FormGroup({
702
- selectedDropdown: new FormControl(null, Validators.required),
703
- otherComment: new FormControl('', Validators.required)
704
- });
705
548
  if (this.validationService.bpEmpLstFrmService) {
706
549
  this.validationService.bpEmpLstFrmService.subscribe(res => {
707
550
  if (res) {
@@ -714,27 +557,19 @@ export class EmployerGridComponent {
714
557
  });
715
558
  }
716
559
  }
717
- onDropdownChange(event) {
718
- this.selectedOption = event.value;
719
- this.showCommentBox = this.selectedOption === 'Other'; // Check if 'other' is selected
720
- if (this.showCommentBox) {
721
- this.form.get('otherComment')?.setValidators(Validators.required);
722
- }
723
- else {
724
- this.form.get('otherComment')?.clearValidators();
725
- }
726
- this.form.get('otherComment')?.updateValueAndValidity();
727
- }
728
560
  async addNewEmpDetails() {
729
561
  this.display = true;
730
562
  this.isBasePeriodEmployer = false;
731
- this.noEditMode = false;
732
563
  this.modelDisplay.emit(true);
733
564
  }
734
565
  writeValue(value) {
735
566
  if (value) {
736
567
  this.validationService.bpEmpLstFrmService.next(value);
737
568
  }
569
+ else if (this.validationService.bpEmpLstFrmService.getValue()) {
570
+ this.validationService.bpEmpLstFrmService.next(this.validationService.bpEmpLstFrmService.getValue());
571
+ this.onChange(this.validationService.bpEmpLstFrmService.getValue());
572
+ }
738
573
  else {
739
574
  this.setupEmployer();
740
575
  }
@@ -769,32 +604,29 @@ export class EmployerGridComponent {
769
604
  let processtype = this.activatedRoute.snapshot.queryParamMap.get('processtype');
770
605
  if (processtype === 'aic-reopen') {
771
606
  this.storage.remove(FbConstants.uuid);
772
- model.flowFrom = "Aic-Reopen-flow";
773
- }
774
- else if (localStorage.getItem("flowKey") == '600') {
607
+ //this.logger.debug('objData ====', objData);
775
608
  model.flowFrom = "Aic-Reopen-flow";
776
609
  }
777
610
  }
778
611
  else {
779
- let data = this.activatedRoute.snapshot.queryParamMap.get('key');
780
- if (data) {
781
- this.ssnForCSR = JSON.parse(atob(data));
782
- model.ssn = this.ssnForCSR;
783
- }
784
612
  url = "/claims-service/claim/app/bpemployers";
613
+ let processtype = this.activatedRoute.snapshot.queryParamMap.get('processtype');
614
+ if (processtype === 'aic-reopen') {
615
+ model.flowFrom = "Aic-Reopen-flow";
616
+ }
785
617
  }
786
- this.logger.info('the uuid used in model is : ', this.uuid);
618
+ this.logger.debug('the uuid used in model is : ', this.uuid);
787
619
  if (model.flowFrom === 'Aic-Reopen-flow') {
788
- this.logger.info("Inside aic reopen flow");
620
+ this.logger.debug("Inside aic reopen flow");
789
621
  this.fetchEmployersFromBackEnd(model, url);
790
622
  }
791
623
  else if (this.uuid) {
792
- this.logger.info("Inside getting values based on uuid");
624
+ this.logger.debug("Inside getting values based on uuid");
793
625
  model.uuid = this.uuid;
794
626
  this.fetchEmployersFromBackEnd(model, url);
795
627
  }
796
628
  else {
797
- this.logger.info("Keep waiting....uuid not found..");
629
+ this.logger.debug("Keep waiting....uuid not found..");
798
630
  }
799
631
  }
800
632
  }
@@ -830,8 +662,6 @@ export class EmployerGridComponent {
830
662
  this.logger.debug('Delete method base period employer called for = ', elementIndex);
831
663
  this.validationService.bpEmpLstFrmService.getValue().bpEmpList[elementIndex].workFlag = "N";
832
664
  this.validationService.bpEmpLstFrmService.getValue().bpEmpList[elementIndex].empDeleted = "Y";
833
- const bpDelReason = this.selectedOption + " " + (this.showCommentBox ? "- " + this.form.get('otherComment')?.value : "");
834
- this.validationService.bpEmpLstFrmService.getValue().bpEmpList[elementIndex].bpEmpDelReason = bpDelReason;
835
665
  this.logger.debug('After delete base period employer list is = ', this.claimAppEmpResponseModelFromService);
836
666
  }
837
667
  editEmployer(employer) {
@@ -839,7 +669,6 @@ export class EmployerGridComponent {
839
669
  this.indexToEdit = this.claimAppEmpResponseModelFromService.bpEmpList.indexOf(employer);
840
670
  this.logger.debug('Index To Edit = ', this.indexToEdit);
841
671
  this.display = true;
842
- this.noEditMode = true;
843
672
  }
844
673
  finish(employer) {
845
674
  this.logger.debug('Finish Employer called', employer);
@@ -886,20 +715,14 @@ export class EmployerGridComponent {
886
715
  this.claimdetailModel = event;
887
716
  empDataModel = new ClaimOnlyEmployerDataModel();
888
717
  if (event.employerType === 'REG') {
889
- if (event.prevWorkedState === 'KS') {
890
- empDataModel.displayName = event.employerName;
891
- }
892
- else {
893
- empDataModel.displayName = event.othStateEmpName;
894
- empDataModel.prevWorkedState = event.prevWorkedState;
895
- }
718
+ empDataModel.displayName = event.employerName;
896
719
  empDataModel.mailingAddressDisplay =
897
- event.address['streetAddress'] + '<br>-' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-<br>' + (event.address['country'] ? event.address['country'].value : '');
720
+ event.address['streetAddress'] + ' ' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
898
721
  }
899
722
  else if (event.employerType === 'FED') {
900
723
  empDataModel.displayName = event.fedEmployerName;
901
724
  empDataModel.mailingAddressDisplay =
902
- event.address['streetAddress'] + '<br>-' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-<br>' + (event.address['country'] ? event.address['country'].value : '');
725
+ event.address['streetAddress'] + ' ' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
903
726
  }
904
727
  else {
905
728
  this.logger.debug("no address for this employer type");
@@ -920,20 +743,14 @@ export class EmployerGridComponent {
920
743
  this.claimdetailModel = event;
921
744
  empDataModel = new ClaimOnlyEmployerDataModel();
922
745
  if (event.employerType === 'REG') {
923
- if (event.prevWorkedState === 'KS') {
924
- empDataModel.displayName = event.employerName;
925
- }
926
- else {
927
- empDataModel.displayName = event.othStateEmpName;
928
- empDataModel.prevWorkedState = event.prevWorkedState;
929
- }
746
+ empDataModel.displayName = event.employerName;
930
747
  empDataModel.mailingAddressDisplay =
931
- event.address['streetAddress'] + '<br>' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-<br>' + (event.address['country'] ? event.address['country'].value : '');
748
+ event.address['streetAddress'] + ' ' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
932
749
  }
933
750
  else if (event.employerType === 'FED') {
934
751
  empDataModel.displayName = event.fedEmployerName;
935
752
  empDataModel.mailingAddressDisplay =
936
- event.address['streetAddress'] + '<br>' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-<br>' + (event.address['country'] ? event.address['country'].value : '');
753
+ event.address['streetAddress'] + ' ' + event.address['city'] + '-' + (event.address['state'] ? event.address['state'].text : '') + '-' + (event.address['country'] ? event.address['country'].value : '');
937
754
  }
938
755
  else {
939
756
  this.logger.debug("Inside else - no address for this employer type");
@@ -948,12 +765,8 @@ export class EmployerGridComponent {
948
765
  else {
949
766
  this.claimdetailModel.bpEmployerFlag = '0';
950
767
  }
951
- console.log("Adding emplr data to claimdetailmode::", empDataModel);
952
768
  this.claimdetailModel.employerData = empDataModel;
953
- console.log("Adding emplr data to claimdetailmode::", empDataModel);
954
769
  this.validationService.bpEmpLstFrmService.getValue().bpEmpList.push(this.claimdetailModel);
955
- console.log("from bplist in grid:::", this.validationService.bpEmpLstFrmService.getValue().bpEmpList.length);
956
- this.modelDataPass.emit(empDataModel);
957
770
  }
958
771
  this.display = false;
959
772
  this.indexToEdit = null;
@@ -963,13 +776,9 @@ export class EmployerGridComponent {
963
776
  this.selectedEmployer = selectedEmployer;
964
777
  this.showConfirmPopup = true;
965
778
  }
966
- displayBpEmpConfirmation() {
967
- this.showbpEmpDelPopup = true;
968
- }
969
779
  removeBasePeriodEmployer() {
970
780
  this.deleteEmployerBasePeriod(this.indexToEdit);
971
781
  this.showConfirmPopup = false;
972
- this.showbpEmpDelPopup = false;
973
782
  this.selectedEmployer = null;
974
783
  this.indexToEdit = null;
975
784
  }
@@ -983,9 +792,7 @@ export class EmployerGridComponent {
983
792
  close() {
984
793
  this.indexToEdit = null;
985
794
  this.showConfirmPopup = false;
986
- this.showbpEmpDelPopup = false;
987
795
  this.selectedEmployer = null;
988
- this.form.reset();
989
796
  }
990
797
  setChoiseModels(emp) {
991
798
  let sepReason = this.employmentStatusOptionsAll.filter(s => s.value == emp.reasonSeparation?.value);
@@ -1020,65 +827,63 @@ export class EmployerGridComponent {
1020
827
  emp.workState = workState[0];
1021
828
  }
1022
829
  static { this.ɵfac = function EmployerGridComponent_Factory(t) { return new (t || EmployerGridComponent)(i0.ɵɵdirectiveInject(i1.PopoverController), i0.ɵɵdirectiveInject(i2.LoggerService), i0.ɵɵdirectiveInject(i3.ValidationService), i0.ɵɵdirectiveInject(i1.NavController), i0.ɵɵdirectiveInject(i4.UtilService), i0.ɵɵdirectiveInject(i5.LoginService), i0.ɵɵdirectiveInject(i6.ActivatedRoute), i0.ɵɵdirectiveInject(i7.ClaimService), i0.ɵɵdirectiveInject(i8.Storage)); }; }
1023
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EmployerGridComponent, selectors: [["app-employer-grid"]], inputs: { form: "form", dynamicParam: "dynamicParam" }, outputs: { modelDisplay: "modelDisplay", onComplete: "onComplete", modelDataPass: "modelDataPass" }, features: [i0.ɵɵProvidersFeature([{
830
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EmployerGridComponent, selectors: [["app-employer-grid"]], inputs: { form: "form", dynamicParam: "dynamicParam" }, outputs: { modelDisplay: "modelDisplay", onComplete: "onComplete" }, features: [i0.ɵɵProvidersFeature([{
1024
831
  provide: NG_VALUE_ACCESSOR,
1025
832
  useExisting: EmployerGridComponent,
1026
833
  multi: true
1027
- }])], decls: 31, vars: 40, consts: [[2, "margin-left", "-5px", 3, "formGroup"], [1, "action-icon", "font-bold", 3, "icon"], [3, "innerHtml"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "columns", "value", "loading", "rowHover", 4, "ngIf"], [3, "recordIndexToEdit", "isBasePeriodEmployer", "isNewClaim", "dob", "noEditMode", "success", "basePeriodIndex", "modelCancel", 4, "ngIf"], ["appendTo", "body", "position", "top", "appendTo", "body", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "style", "baseZIndex", "draggable", "resizable", 4, "ngIf"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "columns", "value", "loading", "rowHover"], ["dt", ""], ["pTemplate", "header", "role", "presentation"], ["pTemplate", "body"], ["pTemplate", "summary"], ["colspan", "2", "scope", "colgroup", 2, "width", "20%"], [1, "ui-selectable-row", 3, "ngClass"], ["style", "width: 20%;", 4, "ngIf"], [4, "ngIf"], [2, "text-align", "center"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Add employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Edit employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Confirm employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Remove employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Restore", 3, "click", 4, "ngIf"], [2, "width", "20%"], [1, "p-column-title"], [2, "font-size", "12px", 3, "innerHtml"], [1, "p-column-title", 2, "width", "20%"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Add employer", 1, "action-button", 3, "click"], [1, "action-icon", 3, "icon"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Edit employer", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Confirm employer", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Remove employer", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Restore", 1, "action-button", 3, "click"], [2, "width", "40%"], [2, "width", "9.75%", "text-align", "right"], ["fill", "outline", "size", "small", "aria-label", "Add employer", 1, "action-button", 3, "id", "click"], ["colspan", "4"], [3, "recordIndexToEdit", "isBasePeriodEmployer", "isNewClaim", "dob", "noEditMode", "success", "basePeriodIndex", "modelCancel"], ["appendTo", "body", "position", "top", "appendTo", "body", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "baseZIndex", "draggable", "resizable"], [1, "heading"], ["color", "danger"], ["pTemplate", "footer"], ["shape", "round", "type", "submit", "fill", "outline", 3, "click"], ["shape", "round", "type", "submit", "fill", "solid", 3, "click"], ["formControlName", "selectedDropdown", "inputId", "bpEmpDelOptions", "appendTo", "body", "optionLabel", "text", "optionValue", "value", "required", "", 3, "options", "ngModel", "autoDisplayFirst", "placeholder", "ngModelChange", "onChange"], ["for", "comment"], ["formControlName", "otherComment", "rows", "5", "cols", "30", "maxlength", "250", 3, "placeholder"], ["class", "p-error", 4, "ngIf"], [1, "p-error"], ["shape", "round", "type", "submit", "fill", "solid", 3, "disabled", "click"]], template: function EmployerGridComponent_Template(rf, ctx) { if (rf & 1) {
834
+ }])], decls: 32, vars: 39, consts: [[2, "margin-left", "-5px", 3, "formGroup"], [3, "icon"], [3, "innerHtml"], [1, "mobile-action-view"], [1, "action-icon", "font-bold", 3, "icon"], ["style", "display: inline-block;", 4, "ngIf"], ["class", "mobile-action-view", 4, "ngIf"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "columns", "value", "loading", "rowHover", 4, "ngIf"], [3, "recordIndexToEdit", "isBasePeriodEmployer", "isNewClaim", "dob", "success", "basePeriodIndex", "modelCancel", 4, "ngIf"], ["appendTo", "body", "position", "top", "appendTo", "body", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "style", "baseZIndex", "draggable", "resizable", 4, "ngIf"], [2, "display", "inline-block"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "columns", "value", "loading", "rowHover"], ["dt", ""], ["pTemplate", "header"], ["pTemplate", "body"], ["pTemplate", "summary"], ["colspan", "2", 1, "dataHeadings", 2, "width", "20%"], ["class", "ui-selectable-row", 3, "ngClass", 4, "ngIf"], [1, "ui-selectable-row", 3, "ngClass"], ["colspan", "2", "class", "dataHeadings", "style", "width:20%;", 4, "ngIf", "ngIfElse"], ["workState", ""], ["notOsaBpAndRegEmployer", ""], ["colspan", "2", "class", "dataHeadings", "style", "width:20%;", 4, "ngIf"], [2, "text-align", "center"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Add employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Edit employer", 3, "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Confirm employer", 3, "id", "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Remove employer", "style", "padding-left: 5px;", 3, "id", "click", 4, "ngIf"], ["size", "small", "color", "success", "fill", "outline", "class", "action-button", "aria-label", "Restore", 3, "click", 4, "ngIf"], [4, "ngIf"], ["colspan", "4"], [1, "p-column-title"], [1, "displayName"], [1, "displayNameText", 2, "font-size", "12px", 3, "innerHtml"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Add employer", 1, "action-button", 3, "click"], [1, "action-icon", 3, "icon"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Edit employer", 1, "action-button", 3, "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Confirm employer", 1, "action-button", 3, "id", "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Remove employer", 1, "action-button", 2, "padding-left", "5px", 3, "id", "click"], ["size", "small", "color", "success", "fill", "outline", "aria-label", "Restore", 1, "action-button", 3, "click"], [1, "action-footer", 2, "width", "40%"], [1, "add-employer"], ["fill", "outline", "size", "small", "aria-label", "Add employer", 1, "action-button", 3, "id", "click"], [3, "recordIndexToEdit", "isBasePeriodEmployer", "isNewClaim", "dob", "success", "basePeriodIndex", "modelCancel"], ["appendTo", "body", "position", "top", "appendTo", "body", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "baseZIndex", "draggable", "resizable"], [1, "heading"], [2, "font-size", "12px", 3, "innerHtml"], ["pTemplate", "footer"], ["shape", "round", "type", "submit", "fill", "outline", 3, "click"], ["shape", "round", "type", "submit", "fill", "solid", 3, "click"]], template: function EmployerGridComponent_Template(rf, ctx) { if (rf & 1) {
1028
835
  i0.ɵɵelementStart(0, "div", 0)(1, "ion-row")(2, "ion-col");
1029
836
  i0.ɵɵelement(3, "fa-icon", 1)(4, "span", 2);
1030
837
  i0.ɵɵpipe(5, "trustHtml");
1031
838
  i0.ɵɵpipe(6, "translate");
1032
- i0.ɵɵtext(7, ",\u00A0 ");
1033
- i0.ɵɵelement(8, "fa-icon", 1)(9, "span", 2);
1034
- i0.ɵɵpipe(10, "trustHtml");
1035
- i0.ɵɵpipe(11, "translate");
1036
- i0.ɵɵtext(12, ",\u00A0 ");
1037
- i0.ɵɵelement(13, "fa-icon", 1)(14, "span", 2);
1038
- i0.ɵɵpipe(15, "trustHtml");
1039
- i0.ɵɵpipe(16, "translate");
1040
- i0.ɵɵtext(17, ",\u00A0 ");
1041
- i0.ɵɵelement(18, "fa-icon", 1)(19, "span", 2);
1042
- i0.ɵɵpipe(20, "trustHtml");
1043
- i0.ɵɵpipe(21, "translate");
1044
- i0.ɵɵtext(22, ",\u00A0 ");
1045
- i0.ɵɵelement(23, "fa-icon", 1)(24, "span", 2);
1046
- i0.ɵɵpipe(25, "trustHtml");
1047
- i0.ɵɵpipe(26, "translate");
839
+ i0.ɵɵpipe(7, "trustHtml");
840
+ i0.ɵɵpipe(8, "translate");
841
+ i0.ɵɵtext(9, ",\u00A0 ");
842
+ i0.ɵɵelement(10, "br", 3)(11, "fa-icon", 4)(12, "span", 2);
843
+ i0.ɵɵpipe(13, "trustHtml");
844
+ i0.ɵɵpipe(14, "translate");
845
+ i0.ɵɵtext(15, ",\u00A0 ");
846
+ i0.ɵɵelement(16, "br", 3)(17, "fa-icon", 4)(18, "span", 2);
847
+ i0.ɵɵpipe(19, "trustHtml");
848
+ i0.ɵɵpipe(20, "translate");
849
+ i0.ɵɵtext(21, ",\u00A0 ");
850
+ i0.ɵɵelement(22, "br", 3);
851
+ i0.ɵɵtemplate(23, EmployerGridComponent_div_23_Template, 6, 7, "div", 5)(24, EmployerGridComponent_br_24_Template, 1, 0, "br", 6);
852
+ i0.ɵɵelement(25, "fa-icon", 4)(26, "span", 2);
853
+ i0.ɵɵpipe(27, "trustHtml");
854
+ i0.ɵɵpipe(28, "translate");
1048
855
  i0.ɵɵelementEnd()();
1049
- i0.ɵɵtemplate(27, EmployerGridComponent_p_table_27_Template, 5, 4, "p-table", 3)(28, EmployerGridComponent_app_add_employer_28_Template, 1, 5, "app-add-employer", 4)(29, EmployerGridComponent_p_dialog_29_Template, 52, 42, "p-dialog", 5)(30, EmployerGridComponent_p_dialog_30_Template, 9, 20, "p-dialog", 5);
856
+ i0.ɵɵtemplate(29, EmployerGridComponent_p_table_29_Template, 5, 4, "p-table", 7)(30, EmployerGridComponent_app_add_employer_30_Template, 1, 4, "app-add-employer", 8)(31, EmployerGridComponent_p_dialog_31_Template, 21, 26, "p-dialog", 9);
1050
857
  i0.ɵɵelementEnd();
1051
858
  } if (rf & 2) {
1052
859
  i0.ɵɵproperty("formGroup", ctx.form);
1053
860
  i0.ɵɵadvance(3);
1054
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(35, _c1));
861
+ i0.ɵɵproperty("icon", ctx.util.isState("MS") ? i0.ɵɵpureFunction0(34, _c0) : i0.ɵɵpureFunction0(35, _c1));
1055
862
  i0.ɵɵadvance(1);
1056
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(5, 15, i0.ɵɵpipeBind1(6, 17, "induction.employment.subheader.confirm")), i0.ɵɵsanitizeHtml);
1057
- i0.ɵɵadvance(4);
863
+ i0.ɵɵproperty("innerHtml", ctx.util.isState("MS") ? i0.ɵɵpipeBind1(5, 14, i0.ɵɵpipeBind1(6, 16, "induction.employment.subheader.confirm.ms")) : i0.ɵɵpipeBind1(7, 18, i0.ɵɵpipeBind1(8, 20, "induction.employment.subheader.confirm")), i0.ɵɵsanitizeHtml);
864
+ i0.ɵɵadvance(7);
1058
865
  i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(36, _c2));
1059
866
  i0.ɵɵadvance(1);
1060
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(10, 19, i0.ɵɵpipeBind1(11, 21, "induction.employment.subheader.delete")), i0.ɵɵsanitizeHtml);
1061
- i0.ɵɵadvance(4);
867
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(13, 22, i0.ɵɵpipeBind1(14, 24, "induction.employment.subheader.delete")), i0.ɵɵsanitizeHtml);
868
+ i0.ɵɵadvance(5);
1062
869
  i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(37, _c4));
1063
870
  i0.ɵɵadvance(1);
1064
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(15, 23, i0.ɵɵpipeBind1(16, 25, "induction.employment.subheader.add")), i0.ɵɵsanitizeHtml);
1065
- i0.ɵɵadvance(4);
1066
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(38, _c0));
871
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(19, 26, i0.ɵɵpipeBind1(20, 28, "induction.employment.subheader.add")), i0.ɵɵsanitizeHtml);
872
+ i0.ɵɵadvance(5);
873
+ i0.ɵɵproperty("ngIf", !ctx.util.isState("MS"));
874
+ i0.ɵɵadvance(1);
875
+ i0.ɵɵproperty("ngIf", !ctx.util.isState("MS"));
1067
876
  i0.ɵɵadvance(1);
1068
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(20, 27, i0.ɵɵpipeBind1(21, 29, "induction.employment.subheader.edit")), i0.ɵɵsanitizeHtml);
1069
- i0.ɵɵadvance(4);
1070
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(39, _c3));
877
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(38, _c3));
1071
878
  i0.ɵɵadvance(1);
1072
- i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(25, 31, i0.ɵɵpipeBind1(26, 33, "induction.employment.subheader.restore")), i0.ɵɵsanitizeHtml);
879
+ i0.ɵɵproperty("innerHtml", i0.ɵɵpipeBind1(27, 30, i0.ɵɵpipeBind1(28, 32, "induction.employment.subheader.restore")), i0.ɵɵsanitizeHtml);
1073
880
  i0.ɵɵadvance(3);
1074
881
  i0.ɵɵproperty("ngIf", ctx.claimAppEmpResponseModelFromService);
1075
882
  i0.ɵɵadvance(1);
1076
883
  i0.ɵɵproperty("ngIf", ctx.display);
1077
884
  i0.ɵɵadvance(1);
1078
885
  i0.ɵɵproperty("ngIf", ctx.selectedEmployer);
1079
- i0.ɵɵadvance(1);
1080
- i0.ɵɵproperty("ngIf", ctx.selectedEmployer);
1081
- } }, dependencies: [i1.IonButton, i1.IonCol, i1.IonLabel, i1.IonRow, i9.NgClass, i9.NgIf, i10.PrimeTemplate, i11.DefaultValueAccessor, i11.NgControlStatus, i11.NgControlStatusGroup, i11.RequiredValidator, i11.MaxLengthValidator, i11.FormGroupDirective, i11.FormControlName, i12.Dialog, i13.Table, i14.FaIconComponent, i15.Dropdown, i16.AddEmployerComponent, i9.CurrencyPipe, i9.DatePipe, i17.TranslatePipe, i18.TrustHtmlPipe], styles: ["[_nghost-%COMP%] .p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{display:none}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{color:var(--ion-color-primary);text-align:left;font-weight:700;padding:8px;width:-webkit-fill-available!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{font-size:16px;padding:3px;width:-webkit-fill-available!important}[_nghost-%COMP%] .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:none}@media screen and (max-width: 50rem){ion-col[_ngcontent-%COMP%]{text-align:left!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{display:none!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{text-align:left!important;display:block;width:100%;float:left;clear:left;border:0 none}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid var(--surface-d)}}.strikethrough[_ngcontent-%COMP%]{text-decoration:line-through}"] }); }
886
+ } }, styles: [".add-employer[_ngcontent-%COMP%]{width:9.75%;text-align:right}.mobile-action-view[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{display:none}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{color:var(--ion-color-primary);text-align:left;font-weight:700;padding:8px;width:-webkit-fill-available!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{font-size:16px;padding:3px;width:-webkit-fill-available!important}[_nghost-%COMP%] .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:none}@media screen and (max-width: 767px){.mobile-action-view[_ngcontent-%COMP%]{display:block}}@media screen and (max-width: 40rem){.action-footer[_ngcontent-%COMP%]{width:300px!important}ion-col[_ngcontent-%COMP%]{text-align:left!important}.dataHeadings[_ngcontent-%COMP%]{width:500px!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{display:none!important}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{text-align:left!important;display:block;width:100%!important;float:left;clear:left;border:0 none}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}[_nghost-%COMP%] .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid var(--surface-d)}}@media screen and (max-width: 40rem){[_nghost-%COMP%] .p-datatable.app-datatable .p-datatable-thead>tr>th, [_nghost-%COMP%] .p-datatable.app-datatable .p-datatable-tfoot>tr>td{display:none!important}[_nghost-%COMP%] .p-datatable.app-datatable .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:0%!important;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}}@media (min-width: 767px) and (max-width: 1325px){.displayNameText[_ngcontent-%COMP%]{font-size:12px!important;width:max-content}}.strikethrough[_ngcontent-%COMP%]{text-decoration:line-through}"] }); }
1082
887
  }
1083
888
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EmployerGridComponent, [{
1084
889
  type: Component,
@@ -1086,7 +891,7 @@ export class EmployerGridComponent {
1086
891
  provide: NG_VALUE_ACCESSOR,
1087
892
  useExisting: EmployerGridComponent,
1088
893
  multi: true
1089
- }], changeDetection: ChangeDetectionStrategy.Default, template: "<div [formGroup]=\"form\" style=\"margin-left: -5px;\">\r\n<ion-row>\r\n <ion-col>\r\n <fa-icon [icon]=\"['fal', 'check-circle']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.confirm' | translate | trustHtml\"></span>,&nbsp;\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.delete' | translate | trustHtml\"></span>,&nbsp;\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.add' | translate | trustHtml\"></span>,&nbsp;\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.edit' | translate | trustHtml\"></span>,&nbsp;\r\n <fa-icon [icon]=\"['fal', 'trash-restore-alt']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.restore' | translate | trustHtml\"></span>\r\n </ion-col>\r\n</ion-row>\r\n\r\n<p-table #dt [columns]=\"cols\" [value]=\"claimAppEmpResponseModelFromService.bpEmpList\" [loading]=\"showProgressBar\"\r\n [rowHover]=\"true\" *ngIf=\"claimAppEmpResponseModelFromService\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\">\r\n <ng-template pTemplate=\"header\" let-columns role=\"presentation\">\r\n <tr>\r\n <th colspan=\"2\" scope=\"colgroup\" style=\"width: 20%;\">\r\n {{\"induction.employment.table.employer.name\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.job.title\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.pay\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.dates\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.sep.reason\"|translate}}\r\n </th>\r\n \r\n </tr>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr class=\"ui-selectable-row\" [ngClass]=\"employer.empDeleted=='Y' ? 'strikethrough' : null\">\r\n\r\n <td *ngIf=\"(employer.employerData.tradeName || employer.employerData.displayName) && employer.employerType!='MIL'\" style=\"width: 20%;\"><span class=\"p-column-title\">{{\"induction.employment.employer.text\"|translate}}</span><span>\r\n {{employer.employerData.displayName}}<br>\r\n {{employer.employerData.tradeName}}<br>\r\n </span><div style=\"font-size: 12px;\" [innerHtml]=\"employer.employerData.mailingAddressDisplay | trustHtml\">\r\n </div>\r\n </td>\r\n \r\n <td *ngIf=\"!employer.employerData.displayName && employer.employerType!='MIL'\" style=\"width: 20%;\"><span class=\"p-column-title\">{{\"induction.employment.employer.text\"|translate}}</span><span>\r\n </span>\r\n </td>\r\n\r\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\" style=\"width: 20%;\">{{\"induction.employment.employer.text\"|translate}}</span><span>\r\n {{employer.serviceBranch.text}} <br>\r\n </span>\r\n </td>\r\n <td style=\"text-align: center;\"> \r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.payRate && employer.startDate && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \r\n (click)=\"editBasePeriodEmployer(employer);\" class=\"action-button\" aria-label=\"Add employer\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='0'\" color=\"success\" fill=\"outline\" \r\n (click)=\"editEmployer(employer);\" class=\"action-button\" aria-label=\"Edit employer\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && !employer.payRate && !employer.startDate && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \r\n (click)=\"finish(employer);\" class=\"action-button\" aria-label=\"Confirm employer\">\r\n <fa-icon [icon]=\"['fal', 'check-circle']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='0'\" color=\"success\" fill=\"outline\" \r\n (click)=\"deleteEmployer(rowIndex);\" class=\"action-button\" aria-label=\"Remove employer\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \r\n (click)=\"removeEmployment(employer, rowIndex);\" class=\"action-button\" aria-label=\"Remove employer\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.empDeleted=='Y'\" color=\"success\" fill=\"outline\" \r\n (click)=\"restoreEmployment(employer, rowIndex);\" class=\"action-button\" aria-label=\"Restore\">\r\n <fa-icon [icon]=\"['fal', 'trash-restore-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td *ngIf=\"employer.jobTileOrPosition && !employer.fedJobTileOrPosition\"><span class=\"p-column-title\">{{\"induction.employment.job.title\"|translate}}</span>{{employer.jobTileOrPosition}}</td>\r\n <td *ngIf=\"!employer.jobTileOrPosition && !employer.fedJobTileOrPosition\"><span class=\"p-column-title\">{{\"induction.employment.job.title\"|translate}}</span></td>\r\n <td *ngIf=\"!employer.jobTileOrPosition && employer.fedJobTileOrPosition\"><span class=\"p-column-title\">{{\"induction.employment.job.title\"|translate}}</span>{{employer.fedJobTileOrPosition}}</td>\r\n <td *ngIf=\"employer.jobTileOrPosition && employer.fedJobTileOrPosition\"><span class=\"p-column-title\">{{\"induction.employment.job.title\"|translate}}</span>{{employer.jobTileOrPosition}}{{employer.fedJobTileOrPosition}}</td>\r\n \r\n <td *ngIf=\"employer.payRate\"><span class=\"p-column-title\">{{\"induction.employment.pay\"|translate}}</span>{{employer.payRate | currency}}/{{employer.payRateFrequency.text}}</td>\r\n <td *ngIf=\"!employer.payRate\"><span class=\"p-column-title\">{{\"induction.employment.pay\"|translate}}</span></td>\r\n \r\n <td *ngIf=\"employer.employerType==='REG'\"><span class=\"p-column-title\">{{\"induction.employment.start.and.end\"|translate}}</span>\r\n {{employer.startDate | date:'M/d/yyyy'}} - {{employer.endDate | date:'M/d/yyyy'}}\r\n </td>\r\n \r\n <td *ngIf=\"employer.employerType==='FED'\"><span class=\"p-column-title\">{{\"induction.employment.start.and.end\"|translate}}</span>\r\n {{employer.startDateFed | date:'M/d/yyyy'}} - {{employer.endDateFed | date:'M/d/yyyy'}}\r\n </td>\r\n\r\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\">{{\"induction.employment.start.and.end\"|translate}}</span>\r\n {{employer.startDateMil | date:'M/d/yyyy'}} - {{employer.endDateMil | date:'M/d/yyyy'}}\r\n </td>\r\n\r\n <td *ngIf=\"!employer.startDate && !employer.startDateFed && !employer.startDateMil\"><span class=\"p-column-title\">{{\"induction.employment.start.and.end\"|translate}}</span></td>\r\n\r\n <td *ngIf=\"employer.employerType!='MIL' && employer.reasonSeparation\"><span class=\"p-column-title\">{{\"induction.employment.seperation.reason\"|translate}}</span>{{employer.reasonSeparation.text}}\r\n </td>\r\n \r\n <td *ngIf=\"employer.employerType==='MIL' && !employer.reasonSeparation\"><span class=\"p-column-title\">{{\"induction.employment.seperation.reason\"|translate}}</span>\r\n </td>\r\n \r\n \r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"summary\" let-columns>\r\n <table>\r\n <tr>\r\n <td [attr.colspan]=\"2\" style=\"width: 40%;\">\r\n <div [innerHtml]=\"'induction.employment.footer.label' | translate | trustHtml\"></div>\r\n </td>\r\n <td style=\"width: 9.75%; text-align: right;\">\r\n <ion-button fill=\"outline\" size=\"small\" class=\"action-button\" (click)=\"addNewEmpDetails()\" class=\"action-button\" aria-label=\"Add employer\" [id]=\"'btnAddEmployer'\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td colspan=\"4\">&nbsp;</td>\r\n </tr>\r\n </table>\r\n </ng-template>\r\n\r\n</p-table>\r\n <app-add-employer *ngIf=\"display\" (success)=\"addEmployer($event)\" [recordIndexToEdit]=\"indexToEdit\" \r\n (basePeriodIndex)=\"deleteBpEmpl($event)\" [isBasePeriodEmployer]=\"isBasePeriodEmployer\" [isNewClaim]=\"isNewClaim\" \r\n (modelCancel)=\"onModelCancel($event)\" [dob]=\"claimantDob\" [noEditMode]=\"noEditMode\">\r\n </app-add-employer>\r\n\r\n <p-dialog [visible]=\"showConfirmPopup\" [modal]=\"true\" appendTo=\"body\" position=\"top\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\" [style]=\"{width: '45vw'}\"\r\n [baseZIndex]=\"5000\" [draggable]=\"false\" [resizable]=\"false\" appendTo=\"body\" closeOnEscape=\"false\" *ngIf=\"selectedEmployer\">\r\n <h4 class=\"heading\">{{'induction.employment.grid.popup.heading' | translate}}</h4>\r\n <ion-label>{{selectedEmployer.employerData.displayName}}</ion-label><br/>\r\n <ion-label>{{selectedEmployer.employerData.tradeName}}</ion-label>\r\n <ion-label><div style=\"font-size: 12px;\" [innerHtml]=\"selectedEmployer.employerData.mailingAddressDisplay | trustHtml\"></div></ion-label><br/>\r\n <ion-label color=\"danger\">\r\n {{'induction.employment.grid.popup.failure.label' | translate}}\r\n </ion-label><br/><br/>\r\n <ion-label>\r\n <b>{{'induction.employment.grid.popup.text1.q.label' | translate}}</b>\r\n </ion-label><br/>\r\n <ion-label>\r\n {{'induction.employment.grid.popup.text1.a.label' | translate}}\r\n </ion-label><br/><br/>\r\n <ion-label>\r\n <b>{{'induction.employment.grid.popup.text2.q.label' | translate}}</b>\r\n </ion-label><br/>\r\n <ion-label>\r\n {{'induction.employment.grid.popup.text2.a.label' | translate}}\r\n </ion-label><br/><br/>\r\n <ion-label>\r\n <b>{{'induction.employment.grid.popup.text3.q.label' | translate}}</b>\r\n </ion-label><br/>\r\n <ion-label>\r\n {{'induction.employment.grid.popup.text3.a.label' | translate}}\r\n </ion-label><br/><br/>\r\n <ion-label>\r\n {{'induction.employment.grid.popup.didnt.work.label' | translate}}\r\n </ion-label>\r\n <ng-template pTemplate=\"footer\">\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"outline\" (click)=\"close()\">\r\n {{'induction.employment.grid.popup.cancel' | translate}}\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"solid\" (click)=\"displayBpEmpConfirmation()\">\r\n {{'induction.employment.grid.popup.remove' | translate}}\r\n </ion-button>\r\n </ng-template>\r\n </p-dialog>\r\n <p-dialog [visible]=\"showbpEmpDelPopup\" [modal]=\"true\" appendTo=\"body\" position=\"top\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\" [style]=\"{width: '45vw'}\"\r\n [baseZIndex]=\"5000\" [draggable]=\"false\" [resizable]=\"false\" appendTo=\"body\" closeOnEscape=\"false\" *ngIf=\"selectedEmployer\">\r\n <h4 class=\"heading\">{{'induction.employment.grid.delete.bpemployer.popup.heading' | translate}}</h4><br/>\r\n <p-dropdown formControlName=\"selectedDropdown\" inputId=\"bpEmpDelOptions\" [options]=\"bpEmpDelOptions\" [(ngModel)]=\"selectedOption\" [autoDisplayFirst]=\"false\" (onChange)=\"onDropdownChange($event)\" appendTo=\"body\"\r\n placeholder='{{\"induction.employment.grid.delete.bpemployer.popup.heading.placeholder\" | translate}}' optionLabel=\"text\" optionValue=\"value\" required> \r\n </p-dropdown>\r\n <div *ngIf=\"showCommentBox\">\r\n <label for=\"comment\">\r\n {{'induction.employment.grid.delete.bpemployer.popup.reason.selecting' | translate}}\r\n </label><br/>\r\n <textarea formControlName=\"otherComment\" rows=\"5\" cols=\"30\" maxlength=\"250\" placeholder='{{\"induction.employment.grid.delete.bpemployer.popup.explain.reason\" | translate}}'></textarea>\r\n <small *ngIf=\"this.form.get('otherComment')?.invalid && this.form.get('otherComment')?.touched\" class=\"p-error\">\r\n {{'induction.employment.grid.delete.bpemployer.popup.field.required' | translate}}\r\n </small>\r\n <small>\r\n {{'induction.employment.grid.delete.bpemployer.popup.maxlength.250' | translate}}\r\n </small>\r\n\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"outline\" (click)=\"close()\">\r\n {{'induction.employment.grid.delete.bpemployer.popup.cancel' | translate}}\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" [disabled]=\"this.form.invalid\" fill=\"solid\" (click)=\"removeBasePeriodEmployer()\">\r\n {{'induction.employment.grid.delete.bpemployer.popup.remove' | translate}}\r\n </ion-button>\r\n </ng-template>\r\n </p-dialog>\r\n</div>", styles: [":host ::ng-deep .p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{display:none}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{color:var(--ion-color-primary);text-align:left;font-weight:700;padding:8px;width:-webkit-fill-available!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{font-size:16px;padding:3px;width:-webkit-fill-available!important}:host ::ng-deep .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:none}@media screen and (max-width: 50rem){ion-col{text-align:left!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{display:none!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{text-align:left!important;display:block;width:100%;float:left;clear:left;border:0 none}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid var(--surface-d)}}.strikethrough{text-decoration:line-through}\n"] }]
894
+ }], changeDetection: ChangeDetectionStrategy.Default, template: "<div [formGroup]=\"form\" style=\"margin-left: -5px;\">\r\n<ion-row>\r\n <ion-col> \r\n <fa-icon [icon]=\"util.isState('MS') ? ['fal', 'edit'] : ['fal', 'check-circle']\"></fa-icon>\r\n <span [innerHtml]=\"util.isState('MS') ? ('induction.employment.subheader.confirm.ms' | translate | trustHtml) : ('induction.employment.subheader.confirm' | translate | trustHtml)\"></span>,&nbsp;\r\n <br class=\"mobile-action-view\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.delete' | translate | trustHtml\"></span>,&nbsp;\r\n <br class=\"mobile-action-view\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.add' | translate | trustHtml\"></span>,&nbsp;\r\n <br class=\"mobile-action-view\">\r\n <div *ngIf=\"!util.isState('MS')\" style=\"display: inline-block;\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.edit' | translate | trustHtml\"></span>,&nbsp;\r\n </div>\r\n <br *ngIf=\"!util.isState('MS')\" class=\"mobile-action-view\">\r\n <fa-icon [icon]=\"['fal', 'trash-restore-alt']\" class=\"action-icon font-bold\"></fa-icon>\r\n <span [innerHtml]=\"'induction.employment.subheader.restore' | translate | trustHtml\"></span>\r\n </ion-col>\r\n</ion-row>\r\n\r\n<p-table #dt [columns]=\"cols\" [value]=\"claimAppEmpResponseModelFromService.bpEmpList\" [loading]=\"showProgressBar\"\r\n [rowHover]=\"true\" *ngIf=\"claimAppEmpResponseModelFromService\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th colspan=\"2\" class=\"dataHeadings\" style=\"width:20%;\" >\r\n {{\"induction.employment.table.employer.name\"|translate}}\r\n </th>\r\n <th>\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.job.title\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.pay\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.dates\"|translate}}\r\n </th>\r\n <th>\r\n {{\"induction.employment.table.sep.reason\"|translate}}\r\n </th>\r\n \r\n </tr>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"body\" let-employer let-rowIndex=\"rowIndex\">\r\n <tr class=\"ui-selectable-row\" [ngClass]=\"employer.empDeleted=='Y' ? 'strikethrough' : null\" *ngIf=\"employer.displaySeasonalEmp === true\">\r\n \r\n <td *ngIf=\"employer.osaBpEmployerFlag === '1' && employer.employerType ==='REG' && employer.employerData.displayState != null; else workState\" colspan=\"2\" class=\"dataHeadings\" style=\"width:20%;\" ><span class=\"p-column-title\">Employer</span><span class=\"displayName\">\r\n {{employer.employerData.displayName}} - {{employer.employerData.displayState.text}}<br>\r\n </span>\r\n </td>\r\n <ng-template #workState>\r\n <td *ngIf=\"employer.osaBpEmployerFlag === '1' && employer.employerType ==='REG' && employer.workState != null; else notOsaBpAndRegEmployer\" colspan=\"2\" class=\"dataHeadings\" style=\"width:20%;\" ><span class=\"p-column-title\">Employer</span><span class=\"displayName\">\r\n {{employer.employerData.displayName}} - {{employer.workState.text}}<br>\r\n </span>\r\n </td>\r\n </ng-template>\r\n <ng-template #notOsaBpAndRegEmployer>\r\n <td *ngIf=\"employer.employerData.displayName && employer.employerType!='MIL'\" colspan=\"2\" class=\"dataHeadings\" style=\"width:20%;\" ><span class=\"p-column-title\">Employer</span><span class=\"displayName\">\r\n {{employer.employerData.displayName}} <br>\r\n </span><div style=\"font-size: 12px;\" class=\"displayNameText\" [innerHtml]=\"employer.employerData.mailingAddressDisplay | trustHtml\">\r\n </div>\r\n </td> \r\n </ng-template>\r\n \r\n <td *ngIf=\"!employer.employerData.displayName && employer.employerType!='MIL'\" colspan=\"2\" class=\"dataHeadings\" style=\"width:20%;\" ><span class=\"p-column-title\">Employer</span><span>\r\n </span>\r\n </td>\r\n\r\n <td *ngIf=\"employer.employerType==='MIL'\" colspan=\"2\" class=\"dataHeadings\" style=\"width:20%;\" ><span class=\"p-column-title\">Employer</span><span>\r\n {{employer.serviceBranch.text}} <br>\r\n </span>\r\n </td>\r\n <td style=\"text-align: center;\"> \r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.payRate && employer.startDate && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \r\n (click)=\"editBasePeriodEmployer(employer);\" class=\"action-button\" aria-label=\"Add employer\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='0'\" color=\"success\" fill=\"outline\" \r\n (click)=\"editEmployer(employer);\" class=\"action-button\" aria-label=\"Edit employer\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button [id]=\"'btnConfirmEmployer-' + rowIndex\" size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && !employer.payRate && !employer.startDate && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \r\n (click)=\"finish(employer);\" class=\"action-button\" aria-label=\"Confirm employer\">\r\n <fa-icon [icon]=\"util.isState('MS') ? ['fal', 'edit'] : ['fal', 'check-circle']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button [id]=\"'btnDeleteEmployer-' + rowIndex\" size=\"small\" *ngIf=\"employer.bpEmployerFlag==='0'\" color=\"success\" fill=\"outline\" \r\n (click)=\"deleteEmployer(rowIndex);\" class=\"action-button\" aria-label=\"Remove employer\" style=\"padding-left: 5px;\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button [id]=\"'btnRemoveEmployer-' + rowIndex\" size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.empDeleted!='Y'\" color=\"success\" fill=\"outline\" \r\n (click)=\"removeEmployment(employer, rowIndex);\" class=\"action-button\" aria-label=\"Remove employer\" style=\"padding-left: 5px;\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" *ngIf=\"employer.bpEmployerFlag==='1' && employer.empDeleted=='Y'\" color=\"success\" fill=\"outline\" \r\n (click)=\"restoreEmployment(employer, rowIndex);\" class=\"action-button\" aria-label=\"Restore\">\r\n <fa-icon [icon]=\"['fal', 'trash-restore-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td> \r\n <td *ngIf=\"employer.jobTileOrPosition && !employer.fedJobTileOrPosition\"><span class=\"p-column-title\">Job Title</span>{{employer.jobTileOrPosition}}</td>\r\n\r\n <td *ngIf=\"employer.fedJobTileOrPosition && !employer.jobTileOrPosition\"><span class=\"p-column-title\">Job Title</span>{{employer.fedJobTileOrPosition}}</td>\r\n\r\n <td *ngIf=\"employer.employerType =='MIL'\"><span class=\"p-column-title\">Job Title</span></td>\r\n\r\n \r\n <td *ngIf=\"employer.employerType !='MIL' && employer.payRate && employer.payRateFrequency\"><span class=\"p-column-title\">Pay</span>{{employer.payRate | currency}}/{{employer.payRateFrequency.text}}</td>\r\n <td *ngIf=\"employer.employerType =='MIL'\"><span class=\"p-column-title\">Pay</span></td>\r\n\r\n \r\n <td *ngIf=\"employer.employerType==='REG' && employer.startDate && employer.endDate\"><span class=\"p-column-title\">Start and End</span>\r\n {{employer.startDate | date:'M/d/yyyy'}} - {{employer.endDate | date:'M/d/yyyy'}}\r\n </td>\r\n \r\n <td *ngIf=\"employer.employerType==='FED' && employer.startDateFed && employer.endDateFed\"><span class=\"p-column-title\">Start and End</span>\r\n {{employer.startDateFed | date:'M/d/yyyy'}} - {{employer.endDateFed | date:'M/d/yyyy'}}\r\n </td>\r\n\r\n <td *ngIf=\"employer.employerType==='MIL' && employer.startDateMil && employer.endDateMil\"><span class=\"p-column-title\">Start and End</span>\r\n {{employer.startDateMil | date:'M/d/yyyy'}} - {{employer.endDateMil | date:'M/d/yyyy'}}\r\n </td>\r\n\r\n\r\n <td *ngIf=\"employer.employerType!='MIL' && employer.reasonSeparation\"><span class=\"p-column-title\">Separation Reason</span>{{employer.reasonSeparation.text}}\r\n </td>\r\n\r\n <td *ngIf=\"employer.employerType==='MIL'\"><span class=\"p-column-title\">Separation Reason</span>\r\n </td>\r\n \r\n <td colspan=\"4\"></td>\r\n\r\n \r\n \r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"summary\" let-columns>\r\n <table>\r\n <tr>\r\n <td [attr.colspan]=\"2\" style=\"width: 40%;\" class=\"action-footer\">\r\n <div [innerHtml]=\"'induction.employment.footer.label' | translate | trustHtml\"></div>\r\n </td>\r\n <td class=\"add-employer\">\r\n <ion-button fill=\"outline\" size=\"small\" class=\"action-button\" (click)=\"addNewEmpDetails()\" class=\"action-button\" aria-label=\"Add employer\" [id]=\"'btnAddEmployer'\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td colspan=\"4\">&nbsp;</td>\r\n </tr>\r\n </table>\r\n </ng-template>\r\n\r\n</p-table>\r\n <app-add-employer *ngIf=\"display\" (success)=\"addEmployer($event)\" [recordIndexToEdit]=\"indexToEdit\" \r\n (basePeriodIndex)=\"deleteBpEmpl($event)\" [isBasePeriodEmployer]=\"isBasePeriodEmployer\" [isNewClaim]=\"isNewClaim\" \r\n (modelCancel)=\"onModelCancel($event)\" [dob]=\"claimantDob\">\r\n </app-add-employer>\r\n\r\n <p-dialog [visible]=\"showConfirmPopup\" [modal]=\"true\" appendTo=\"body\" position=\"top\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\" [style]=\"{width: '45vw'}\"\r\n [baseZIndex]=\"5000\" [draggable]=\"false\" [resizable]=\"false\" appendTo=\"body\" closeOnEscape=\"false\" *ngIf=\"selectedEmployer\">\r\n <h4 class=\"heading\">{{'induction.employment.grid.popup.heading' | translate}}</h4>\r\n <ion-label>\r\n {{selectedEmployer.employerData.displayName}}\r\n <div *ngIf=\"selectedEmployer.employerData.tradeName != null\">\r\n {{\"induction.confirm.employment.dba\"|translate}} {{selectedEmployer.employerData.tradeName}}</div>\r\n <br>\r\n </ion-label>\r\n <ion-label><div style=\"font-size: 12px;\" [innerHtml]=\"selectedEmployer.employerData.mailingAddressDisplay | trustHtml\"></div></ion-label><br/>\r\n <ion-label>\r\n {{'induction.employment.grid.popup.failure.label' | translate}}\r\n </ion-label><br/><br/>\r\n <ion-label>\r\n <div [innerHtml]=\"['induction.employment.grid.popup.didnt.work.label' | translate]\"></div>\r\n </ion-label>\r\n <ng-template pTemplate=\"footer\">\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"outline\" (click)=\"close()\">\r\n {{'induction.employment.grid.popup.cancel' | translate}}\r\n </ion-button>\r\n <ion-button shape=\"round\" type=\"submit\" fill=\"solid\" (click)=\"removeBasePeriodEmployer()\">\r\n {{'induction.employment.grid.popup.remove' | translate}}\r\n </ion-button>\r\n </ng-template>\r\n </p-dialog>\r\n</div>", styles: [".add-employer{width:9.75%;text-align:right}.mobile-action-view{display:none}:host ::ng-deep .p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{display:none}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{color:var(--ion-color-primary);text-align:left;font-weight:700;padding:8px;width:-webkit-fill-available!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{font-size:16px;padding:3px;width:-webkit-fill-available!important}:host ::ng-deep .p-datatable.p-datatable-striped .p-datatable-tbody>tr:nth-child(2n){background:none}@media screen and (max-width: 767px){.mobile-action-view{display:block}}@media screen and (max-width: 40rem){.action-footer{width:300px!important}ion-col{text-align:left!important}.dataHeadings{width:500px!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tfoot>tr>td{display:none!important}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td{text-align:left!important;display:block;width:100%!important;float:left;clear:left;border:0 none}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}:host ::ng-deep .p-datatable.p-datatable-worksearch .p-datatable-tbody>tr>td:last-child{border-bottom:1px solid var(--surface-d)}}@media screen and (max-width: 40rem){:host ::ng-deep .p-datatable.app-datatable .p-datatable-thead>tr>th,:host ::ng-deep .p-datatable.app-datatable .p-datatable-tfoot>tr>td{display:none!important}:host ::ng-deep .p-datatable.app-datatable .p-datatable-tbody>tr>td .p-column-title{padding:.6rem;min-width:0%!important;display:inline-block;margin:-.4em 1em -.4em -.4rem;font-weight:700}}@media (min-width: 767px) and (max-width: 1325px){.displayNameText{font-size:12px!important;width:max-content}}.strikethrough{text-decoration:line-through}\n"] }]
1090
895
  }], () => [{ type: i1.PopoverController }, { type: i2.LoggerService }, { type: i3.ValidationService }, { type: i1.NavController }, { type: i4.UtilService }, { type: i5.LoginService }, { type: i6.ActivatedRoute }, { type: i7.ClaimService }, { type: i8.Storage }], { form: [{
1091
896
  type: Input
1092
897
  }], dynamicParam: [{
@@ -1095,8 +900,6 @@ export class EmployerGridComponent {
1095
900
  type: Output
1096
901
  }], onComplete: [{
1097
902
  type: Output
1098
- }], modelDataPass: [{
1099
- type: Output
1100
903
  }] }); })();
1101
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EmployerGridComponent, { className: "EmployerGridComponent", filePath: "lib\\components\\employer-grid\\employer-grid.component.ts", lineNumber: 32 }); })();
1102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZW1wbG95ZXItZ3JpZC9lbXBsb3llci1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbXBsb3llci1ncmlkL2VtcGxveWVyLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTVLLE9BQU8sRUFBMEMsaUJBQWlCLEVBQWUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1SSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUtuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUduRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNHdkQsMEJBQUksYUFBQTtJQUVBLFlBQ0Y7O0lBQUEsaUJBQUs7SUFDTCwwQkFBSTtJQUNGLFlBQ0Q7O0lBQUEsaUJBQUs7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ZUFBeUM7WUFBekMsOERBQXlDO1lBd0h4QyxlQUFhO1lBQWIsa0NBQWE7WUFNcUUsZUFBc0I7WUFBdEIsMkNBQXNCO1lBdUN0QixlQUFzQjtZQUF0QiwyQ0FBc0I7OztpRkR2SmhILHFCQUFxQjtjQVpqQyxTQUFTOzJCQUNFLG1CQUFtQixhQUdsQixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsdUJBQXVCO3dCQUNsQyxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDLG1CQUNlLHVCQUF1QixDQUFDLE9BQU87NlFBc0J2QyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxZQUFZO2tCQUFwQixLQUFLO1lBSUksWUFBWTtrQkFBckIsTUFBTTtZQUNHLFVBQVU7a0JBQW5CLE1BQU07WUFDRyxhQUFhO2tCQUF0QixNQUFNOztrRkExQkkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBBZnRlclJlbmRlclBoYXNlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ01vZHVsZSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFVudHlwZWRGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SLCBGb3Jtc01vZHVsZSwgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltT25seUVtcGxveWVyRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1Pbmx5RW1wbG95ZXJEYXRhTW9kZWwnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEVtcGxveWVyV2FnZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0VtcGxveWVyV2FnZXNNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IENob2ljZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9BZGRyZXNzQ29tcG9uZW50TW9kZWwnO1xyXG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xyXG5pbXBvcnQgeyBGYkNvbnN0YW50cyB9IGZyb20gJy4uL3F1ZXN0aW9ubmFpcmUvRmJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1lbXBsb3llci1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IEVtcGxveWVyR3JpZENvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0XHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRW1wbG95ZXJHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwb3B1cDogUG9wb3ZlckNvbnRyb2xsZXIsIHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlLCBwdWJsaWMgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlciwgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLFxyXG4gICAgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZSA6IEFjdGl2YXRlZFJvdXRlLCBwdWJsaWMgY2xhaW1zU2VydmljZSA6IENsYWltU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZSA6IFN0b3JhZ2UpIHtcclxuICAgICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdwLXRhYmxlIHRhYmxlJykuZm9yRWFjaChlID0+IHtcclxuICAgICAgICAgIGUuc2V0QXR0cmlidXRlKCdyb2xlJywgJ3ByZXNlbnRhdGlvbicpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgncC1zZWxlY3RidXR0b24gZGl2IGRpdicpLmZvckVhY2goZWwgPT4ge1xyXG4gICAgICAgICAgZWwucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWxhYmVsbGVkYnknKTtcclxuICAgICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJyk7IFxyXG4gICAgICB9KTtcclxuICAgICAgfSwge3BoYXNlOiBBZnRlclJlbmRlclBoYXNlLldyaXRlfSk7XHJcbiAgfVxyXG5cclxuICBjbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZTogIENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwoKTtcclxuICBjb2xzOiBhbnlbXTtcclxuICBASW5wdXQoKSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIGR5bmFtaWNQYXJhbSA6IGFueTtcclxuICBkaXNwbGF5OiBib29sZWFuO1xyXG4gIG5vRWRpdE1vZGU6IGJvb2xlYW47XHJcbiAgYmFzZVBlcmlvZGRpc3BsYXk6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIG1vZGVsRGlzcGxheSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgb25Db21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbW9kZWxEYXRhUGFzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjbGFpbWRldGFpbE1vZGVsID0gbmV3IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwoKTtcclxuICBjYWltQXBwRW1wUmVzcG9uc2VNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwoKTtcclxuICBzZWxlY3RlZEVtcGxveWVyOiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsO1xyXG4gIHNlbGVjdGVkQmFzZVBlcmlvZEVtcGxveWVyOiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsO1xyXG4gIHB1YmxpYyBpbmRleFRvRWRpdDtcclxuICBwdWJsaWMgaXNCYXNlUGVyaW9kRW1wbG95ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNOZXdDbGFpbTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Q29uZmlybVBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93YnBFbXBEZWxQb3B1cCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzc25Gb3JDU1IgOiBzdHJpbmc7XHJcbiAgcHVibGljIHNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xyXG4gIHV1aWQ6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIHB1YmxpYyBkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB2b2xRdWl0UmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHBheVJhdGVPcHRpb25zIDogYW55ID0gW107XHJcbiAgcHVibGljIGNvdW50cnlPcHRpb25zIDogYW55ID0gW107XHJcbiAgcHVibGljIHdvcmtDb3VudHJ5T3B0aW9ucyA6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBzdGF0ZXNPcHRpb25zIDogYW55ID0gW107XHJcbiAgcHVibGljIG1pbGl0YXJ5U2VydmljZU9wdGlvbnMgOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY2xhaW1hbnREb2IgOiBEYXRlO1xyXG4gIHB1YmxpYyBzZWxlY3RlZE9wdGlvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93Q29tbWVudEJveDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBicEVtcERlbE9wdGlvbnMgOiBhbnkgPSBbXTtcclxuXHJcbiAgbG9hZE1hc3RlckRhdGEoKXtcclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5sb2FkTWFzdGVyRGF0YSgpO1xyXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldFJlYXNvblNlcGFyYXRpb24oKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZhbHVlID0+IHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXREaXNjaGFyZ2VSZWFzb25zKCkuc3Vic2NyaWJlKFxyXG4gICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXRRdWl0UmVhc29ucygpLnN1YnNjcmliZShcclxuICAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCduZyBvbml0IG9mIGVtcGxveWVyIGdyaWQnKVxyXG4gICAgdGhpcy5sb2FkTWFzdGVyRGF0YSgpO1xyXG4gICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0RfRVM7XHJcbiAgICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZX0VTO1xyXG4gICAgICB0aGlzLndvcmtDb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLldPUktfQ09VTlRSWV9FUztcclxuICAgICAgdGhpcy5zdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTO1xyXG4gICAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFX0VTO1xyXG4gICAgICB0aGlzLmJwRW1wRGVsT3B0aW9ucyA9IENvbWJvT3B0aW9uLkJQX0VNUF9ERUxfT1BUU19FUztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGF5UmF0ZU9wdGlvbnMgPSBDb21ib09wdGlvbi5QQVlfUEVSSU9EO1xyXG4gICAgICB0aGlzLmNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcclxuICAgICAgdGhpcy53b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUlk7XHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcclxuICAgICAgdGhpcy5taWxpdGFyeVNlcnZpY2VPcHRpb25zID0gQ29tYm9PcHRpb24uTUlMSVRBUllfU0VSVklDRTtcclxuICAgICAgdGhpcy5icEVtcERlbE9wdGlvbnMgPSBDb21ib09wdGlvbi5CUF9FTVBfREVMX09QVFM7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHMgPSBbXHJcbiAgICAgIHsgZmllbGQ6ICdlbXBsb3llcicsIGhlYWRlcjogJ0VtcGxveWVyJyB9LFxyXG4gICAgICB7IGZpZWxkOiAnam9iVGl0bGUnLCBoZWFkZXI6ICdKb2IgVGl0bGUnIH0sXHJcbiAgICAgIHsgZmllbGQ6ICdQYXknLCBoZWFkZXI6ICdQYXknIH0sXHJcbiAgICAgIHsgZmllbGQ6ICdzdGFydEVuZERhdGUnLCBoZWFkZXI6ICdTdGFydCBhbmQgRW5kJyB9LFxyXG4gICAgICB7IGZpZWxkOiAnc2VwYXJhdGlvblJlYXNvbicsIGhlYWRlcjogJ1NlcGFyYXRpb24gUmVhc29uJyB9LFxyXG4gICAgICB7IGZpZWxkOiAnJywgaGVhZGVyOiAnJyB9XHJcbiAgICBdO1xyXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICAgIHNlbGVjdGVkRHJvcGRvd246IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgb3RoZXJDb21tZW50OiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQgKX0pO1xyXG5cclxuICAgIGlmICh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZSkge1xyXG4gICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5zdWJzY3JpYmUoXHJcbiAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZSA9IHJlcy52YWx1ZU9mKCk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UgJiYgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5pc05ld0NsYWltQXBwbGljYXRpb24pe1xyXG4gICAgICAgICAgICAgIHRoaXMuaXNOZXdDbGFpbSA9IHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuaXNOZXdDbGFpbUFwcGxpY2F0aW9uLnZhbHVlT2YoKTtcclxuICAgICAgICAgICAgICB0aGlzLmNsYWltYW50RG9iID0gbmV3IERhdGUodGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5kYXRlT2ZCaXJ0aC5yZXBsYWNlKFwiLVwiLFwiL1wiKS5yZXBsYWNlKFwiLVwiLFwiL1wiKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRHJvcGRvd25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbiA9IGV2ZW50LnZhbHVlO1xyXG4gICAgdGhpcy5zaG93Q29tbWVudEJveCA9IHRoaXMuc2VsZWN0ZWRPcHRpb24gPT09ICdPdGhlcic7IC8vIENoZWNrIGlmICdvdGhlcicgaXMgc2VsZWN0ZWRcclxuICAgIGlmICh0aGlzLnNob3dDb21tZW50Qm94KSB7XHJcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ290aGVyQ29tbWVudCcpPy5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtLmdldCgnb3RoZXJDb21tZW50Jyk/LmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtLmdldCgnb3RoZXJDb21tZW50Jyk/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGFkZE5ld0VtcERldGFpbHMoKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcj1mYWxzZTtcclxuICAgIHRoaXMubm9FZGl0TW9kZT1mYWxzZTtcclxuICAgIHRoaXMubW9kZWxEaXNwbGF5LmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbiA9ICh2YWx1ZTogU3RyaW5nKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmKHZhbHVlKXtcclxuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UubmV4dCh2YWx1ZSk7XHJcbiAgICB9IGVsc2V7XHJcbiAgICAgIHRoaXMuc2V0dXBFbXBsb3llcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm5cclxuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLnN1YnNjcmliZShmbik7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmblxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0SWRlbnRpZmllcigpe1xyXG4gICAgbGV0IHV1aWQ7XHJcbiAgICBsZXQgZGF0YSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2lkZW50aWZpZXInKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiZGF0YSBmb3IgaWRlbnRpZmllciBpcyA6IFwiLCBkYXRhKVxyXG4gICAgICBpZihkYXRhKXsgICAgICAgICAgXHJcbiAgICAgICAgdXVpZCA9IGRhdGE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdXVpZCA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMudXVpZCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHV1aWQ7XHJcbiAgfVxyXG4gIGFzeW5jIHNldHVwRW1wbG95ZXIoKSB7XHJcbiAgICBsZXQgbW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwoKTtcclxuICAgIGlmICghdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSkge1xyXG4gICAgICB0aGlzLnV1aWQgPSBhd2FpdCB0aGlzLmdldElkZW50aWZpZXIoKTtcclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3V1aWQgaXMgPT09PScsIHRoaXMudXVpZCk7XHJcbiAgICAgIGxldCB1cmwgPSBcIlwiO1xyXG4gICAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSA9PT0gdHJ1ZSl7XHJcbiAgICAgICAgdXJsID0gXCIvY2xhaW1zLXNlcnZpY2UvY2xhaW0vY2xhaW1hbnQvYXBwL2JwZW1wbG95ZXJzXCI7XHJcbiAgICAgICAgbGV0IHByb2Nlc3N0eXBlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgncHJvY2Vzc3R5cGUnKTtcclxuICAgICAgICBpZihwcm9jZXNzdHlwZSA9PT0gJ2FpYy1yZW9wZW4nKXtcclxuICAgICAgICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMudXVpZCk7XHJcbiAgICAgICAgICBtb2RlbC5mbG93RnJvbSA9IFwiQWljLVJlb3Blbi1mbG93XCI7XHJcbiAgICAgICAgfSAgZWxzZSBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImZsb3dLZXlcIikgPT0gJzYwMCcpIHtcclxuICAgICAgICAgIG1vZGVsLmZsb3dGcm9tID0gXCJBaWMtUmVvcGVuLWZsb3dcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdrZXknKTtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgIHRoaXMuc3NuRm9yQ1NSID0gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcclxuICAgICAgICAgIG1vZGVsLnNzbiA9IHRoaXMuc3NuRm9yQ1NSO1xyXG4gICAgICAgIH0gICBcclxuICAgICAgICB1cmwgPSBcIi9jbGFpbXMtc2VydmljZS9jbGFpbS9hcHAvYnBlbXBsb3llcnNcIjtcclxuICAgICAgfVxyXG4gICAgICAgdGhpcy5sb2dnZXIuaW5mbygndGhlIHV1aWQgdXNlZCBpbiBtb2RlbCBpcyA6ICcsIHRoaXMudXVpZCk7XHJcbiAgICAgIGlmKG1vZGVsLmZsb3dGcm9tID09PSAnQWljLVJlb3Blbi1mbG93Jyl7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcIkluc2lkZSBhaWMgcmVvcGVuIGZsb3dcIik7XHJcbiAgICAgICAgdGhpcy5mZXRjaEVtcGxveWVyc0Zyb21CYWNrRW5kKG1vZGVsLCB1cmwpO1xyXG4gICAgICB9IGVsc2UgaWYodGhpcy51dWlkKXtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXCJJbnNpZGUgZ2V0dGluZyB2YWx1ZXMgYmFzZWQgb24gdXVpZFwiKTtcclxuICAgICAgICAgIG1vZGVsLnV1aWQgPSB0aGlzLnV1aWQ7XHJcbiAgICAgICAgICB0aGlzLmZldGNoRW1wbG95ZXJzRnJvbUJhY2tFbmQobW9kZWwsIHVybCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcIktlZXAgd2FpdGluZy4uLi51dWlkIG5vdCBmb3VuZC4uXCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGZldGNoRW1wbG95ZXJzRnJvbUJhY2tFbmQobW9kZWw6IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsLCB1cmw6IHN0cmluZykge1xyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSB0cnVlO1xyXG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5wb3N0PENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbD4odXJsLCBtb2RlbCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIGlmKHJlcy5icEVtcExpc3QubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICByZXMuYnBFbXBMaXN0LmZvckVhY2goZW1wID0+IHRoaXMuc2V0Q2hvaXNlTW9kZWxzKGVtcCkpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLm5leHQocmVzKTtcclxuICAgICAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCh0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xyXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbXBsb3llciBMaXN0IGZyb20gU2VydmljZScsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgbGV0IGxpc3QgPSBuZXcgQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsKCk7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UubmV4dChsaXN0KTtcclxuICAgICAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuICBkZWxldGVCcEVtcGwoZXZlbnQ6bnVtYmVyKXtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdEZWxldGUgbWV0aG9kIGNhbGxlZCAnLCBldmVudCk7XHJcbiAgICB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmJwRW1wTGlzdC5zcGxpY2UoZXZlbnQsIDEpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRW1wbG95ZXIoZWxlbWVudEluZGV4KSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRGVsZXRlIG1ldGhvZCBjYWxsZWQgZm9yID0gJywgZWxlbWVudEluZGV4KTtcclxuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXI9ZmFsc2U7XHJcbiAgICAvL3RoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0W2VsZW1lbnRJbmRleF0uZW1wRGVsZXRlZCA9IFwiWVwiO1xyXG4gICAgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3Quc3BsaWNlKGVsZW1lbnRJbmRleCwgMSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQWZ0ZXIgZGVsZXRlIGxpc3QgaXMgPSAnLCB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUVtcGxveWVyQmFzZVBlcmlvZChlbGVtZW50SW5kZXgpIHtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdEZWxldGUgbWV0aG9kIGJhc2UgcGVyaW9kIGVtcGxveWVyIGNhbGxlZCBmb3IgPSAnLCBlbGVtZW50SW5kZXgpO1xyXG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbZWxlbWVudEluZGV4XS53b3JrRmxhZyA9IFwiTlwiO1xyXG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbZWxlbWVudEluZGV4XS5lbXBEZWxldGVkID0gXCJZXCI7XHJcbiAgICBjb25zdCBicERlbFJlYXNvbiA9IHRoaXMuc2VsZWN0ZWRPcHRpb24gKyBcIiBcIiArICh0aGlzLnNob3dDb21tZW50Qm94ID8gXCItIFwiK3RoaXMuZm9ybS5nZXQoJ290aGVyQ29tbWVudCcpPy52YWx1ZTogXCJcIik7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFtlbGVtZW50SW5kZXhdLmJwRW1wRGVsUmVhc29uID0gYnBEZWxSZWFzb247XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQWZ0ZXIgZGVsZXRlIGJhc2UgcGVyaW9kIGVtcGxveWVyIGxpc3QgaXMgPSAnLCB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIGVkaXRFbXBsb3llcihlbXBsb3llcikge1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0VkaXQgbWV0aG9kIGNhbGxlZCcsIGVtcGxveWVyKTtcclxuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmJwRW1wTGlzdC5pbmRleE9mKGVtcGxveWVyKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdJbmRleCBUbyBFZGl0ID0gJywgdGhpcy5pbmRleFRvRWRpdCk7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xyXG4gICAgdGhpcy5ub0VkaXRNb2RlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGZpbmlzaChlbXBsb3llcikge1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0ZpbmlzaCBFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llcik7XHJcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3QuaW5kZXhPZihlbXBsb3llcik7XHJcbiAgICBlbXBsb3llci53b3JrRmxhZyA9ICdZJztcclxuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gdHJ1ZTtcclxuICAgIHRoaXMubW9kZWxEaXNwbGF5LmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBlZGl0QmFzZVBlcmlvZEVtcGxveWVyKGVtcGxveWVyKSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRWRpdCBCYXNlUGVyaW9kIEVtcGxveWVyIGNhbGxlZCBmb3IgJywgZW1wbG95ZXIpO1xyXG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0LmluZGV4T2YoZW1wbG95ZXIpO1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0luZGV4IFRvIEVkaXQgPSAnLCB0aGlzLmluZGV4VG9FZGl0KTtcclxuICB9XHJcblxyXG4gIG9uTW9kZWxDYW5jZWwoY2FuY2VsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnQ2FuY2VsIE1ldGhvZCAgJywgY2FuY2VsKTtcclxuICAgIHRoaXMuZGlzcGxheSA9IGNhbmNlbDtcclxuICAgIHRoaXMuYmFzZVBlcmlvZGRpc3BsYXkgPSBjYW5jZWw7XHJcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gbnVsbDtcclxuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhZnRlciB2YWx1ZSBjaGFuZ2Ugb24gZW1wbG95ZXIgZ3JpZCAnLCB0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgYWRkRW1wbG95ZXIoZXZlbnQ6IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwpIHtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdBZGQgRW1wbG95ZXIgY2FsbGVkIGZyb20gZ3JpZCAnLCBldmVudCwgJ2luZGV4VG9FZGl0JywgdGhpcy5pbmRleFRvRWRpdCwndGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcicsdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcik7XHJcbiAgICBldmVudC5lbXBEZWxldGVkID0gJ04nO1xyXG4gICAgaWYgKHRoaXMuaW5kZXhUb0VkaXQgfHwgdGhpcy5pbmRleFRvRWRpdCA9PSAwKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdJbnNpZGUgaWYgb2YgYWRkIGVtcGxveWVyIC0tICcsZXZlbnQpXHJcbiAgICAgIGxldCBlbXBEYXRhTW9kZWwgPSBuZXcgQ2xhaW1Pbmx5RW1wbG95ZXJEYXRhTW9kZWwoKTtcclxuICAgICAgbGV0IGVtcFByb3ZpZGVkV2FnZU1vZGVsID0gbmV3IEVtcGxveWVyV2FnZXNNb2RlbCgpO1xyXG4gICAgICBpZiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikge1xyXG4gICAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKCk7XHJcbiAgICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsID0gZXZlbnQ7XHJcbiAgICAgICAgZW1wRGF0YU1vZGVsID0gIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMuaW5kZXhUb0VkaXRdLmVtcGxveWVyRGF0YTtcclxuICAgICAgICBlbXBQcm92aWRlZFdhZ2VNb2RlbCA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMuaW5kZXhUb0VkaXRdLmVtcGxveWVyUHJvdmlkZWRXYWdlcztcclxuICAgICAgICBldmVudC5icEVtcGxveWVyRmxhZyA9ICcxJ1xyXG4gICAgICAgIGV2ZW50LmVtcGxveWVyRGF0YSA9IGVtcERhdGFNb2RlbDtcclxuICAgICAgICBldmVudC5lbXBsb3llclByb3ZpZGVkV2FnZXMgPSBlbXBQcm92aWRlZFdhZ2VNb2RlbDtcclxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzZXR0aW5nIHRoZSB2YWx1ZSBhZ2FpbiA9ICAnLGV2ZW50KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xyXG4gICAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbCA9IGV2ZW50O1xyXG4gICAgICAgIGVtcERhdGFNb2RlbCA9IG5ldyBDbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCgpO1xyXG4gICAgICAgaWYoZXZlbnQuZW1wbG95ZXJUeXBlPT09J1JFRycpe1xyXG4gICAgICAgIGlmKGV2ZW50LnByZXZXb3JrZWRTdGF0ZT09PSdLUycpe1xyXG4gICAgICAgIGVtcERhdGFNb2RlbC5kaXNwbGF5TmFtZSA9IGV2ZW50LmVtcGxveWVyTmFtZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGVtcERhdGFNb2RlbC5kaXNwbGF5TmFtZSA9IGV2ZW50Lm90aFN0YXRlRW1wTmFtZTtcclxuICAgICAgICBlbXBEYXRhTW9kZWwucHJldldvcmtlZFN0YXRlID0gZXZlbnQucHJldldvcmtlZFN0YXRlOyAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVtcERhdGFNb2RlbC5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPVxyXG4gICAgICAgIGV2ZW50LmFkZHJlc3NbJ3N0cmVldEFkZHJlc3MnXSArICc8YnI+LScgKyBldmVudC5hZGRyZXNzWydjaXR5J10gICsgJy0nICsgKGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10gPyBldmVudC5hZGRyZXNzWydzdGF0ZSddLnRleHQgOiAnJykgKyAnLTxicj4nICsgKGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXSA/IGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXS52YWx1ZSA6ICcnKTtcclxuICAgICAgfSBlbHNlIGlmKGV2ZW50LmVtcGxveWVyVHlwZT09PSdGRUQnKXsgXHJcbiAgICAgICAgZW1wRGF0YU1vZGVsLmRpc3BsYXlOYW1lID0gZXZlbnQuZmVkRW1wbG95ZXJOYW1lO1xyXG4gICAgICAgIGVtcERhdGFNb2RlbC5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPVxyXG4gICAgICAgIGV2ZW50LmFkZHJlc3NbJ3N0cmVldEFkZHJlc3MnXSArICc8YnI+LScgKyBldmVudC5hZGRyZXNzWydjaXR5J10gICsgJy0nICsgKGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10gPyBldmVudC5hZGRyZXNzWydzdGF0ZSddLnRleHQgOiAnJykgKyAnLTxicj4nICsgKGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXSA/IGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXS52YWx1ZSA6ICcnKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIm5vIGFkZHJlc3MgZm9yIHRoaXMgZW1wbG95ZXIgdHlwZVwiKTtcclxuICAgICAgfVxyXG4gICAgICAgIGVtcERhdGFNb2RlbC5lbXBsb3llclR5cGUgPSBldmVudC5lbXBsb3llclR5cGU7XHJcbiAgICAgICAgZXZlbnQuZW1wbG95ZXJEYXRhID0gZW1wRGF0YU1vZGVsO1xyXG4gICAgICAgIGVtcERhdGFNb2RlbC5lbXBsb3llcklkPWV2ZW50LmVtcGxveWVySWQ7XHJcbiAgICAgICAgZW1wRGF0YU1vZGVsLm1haWxBZGRyZXNzTGluZTE9ZXZlbnQuYWRkcmVzcz8uc3RyZWV0QWRkcmVzcztcclxuICAgICAgICBlbXBEYXRhTW9kZWwubWFpbEFkZHJlc3NMaW5lMj1ldmVudC5hZGRyZXNzPy5vcHRpb25hbEFkZHJlc3M7XHJcbiAgICAgICAgZXZlbnQuYnBFbXBsb3llckZsYWcgPSAnMCdcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFt0aGlzLmluZGV4VG9FZGl0XSA9IGV2ZW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0luc2lkZSBlbHNlIG9mIGFkZCBlbXBsb3llciAtLSAnLGV2ZW50KVxyXG4gICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xyXG4gICAgICBsZXQgZW1wRGF0YU1vZGVsID0gbmV3IENsYWltT25seUVtcGxveWVyRGF0YU1vZGVsKClcclxuICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsID0gZXZlbnQ7XHJcbiAgICAgIGVtcERhdGFNb2RlbCA9IG5ldyBDbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCgpO1xyXG4gICAgICBpZihldmVudC5lbXBsb3llclR5cGU9PT0nUkVHJyl7XHJcbiAgICAgICAgaWYoZXZlbnQucHJldldvcmtlZFN0YXRlPT09J0tTJyl7XHJcbiAgICAgICAgICAgIGVtcERhdGFNb2RlbC5kaXNwbGF5TmFtZSA9IGV2ZW50LmVtcGxveWVyTmFtZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZW1wRGF0YU1vZGVsLmRpc3BsYXlOYW1lID0gZXZlbnQub3RoU3RhdGVFbXBOYW1lO1xyXG4gICAgICAgICAgZW1wRGF0YU1vZGVsLnByZXZXb3JrZWRTdGF0ZSA9IGV2ZW50LnByZXZXb3JrZWRTdGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgIGVtcERhdGFNb2RlbC5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPVxyXG4gICAgICBldmVudC5hZGRyZXNzWydzdHJlZXRBZGRyZXNzJ10gKyAnPGJyPicrIGV2ZW50LmFkZHJlc3NbJ2NpdHknXSAgKyAnLScgKyAoZXZlbnQuYWRkcmVzc1snc3RhdGUnXSA/IGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10udGV4dCA6ICcnKSArICctPGJyPicgKyhldmVudC5hZGRyZXNzWydjb3VudHJ5J10gPyBldmVudC5hZGRyZXNzWydjb3VudHJ5J10udmFsdWUgOiAnJyk7XHJcbiAgICAgIH0gZWxzZSBpZihldmVudC5lbXBsb3llclR5cGU9PT0nRkVEJyl7XHJcbiAgICAgICAgZW1wRGF0YU1vZGVsLmRpc3BsYXlOYW1lID0gZXZlbnQuZmVkRW1wbG95ZXJOYW1lO1xyXG4gICAgICAgIGVtcERhdGFNb2RlbC5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPVxyXG4gICAgICAgIGV2ZW50LmFkZHJlc3NbJ3N0cmVldEFkZHJlc3MnXSsgJzxicj4nICsgZXZlbnQuYWRkcmVzc1snY2l0eSddICArICctJyArIChldmVudC5hZGRyZXNzWydzdGF0ZSddID8gZXZlbnQuYWRkcmVzc1snc3RhdGUnXS50ZXh0IDogJycpICsgJy08YnI+JyArIChldmVudC5hZGRyZXNzWydjb3VudHJ5J10gPyBldmVudC5hZGRyZXNzWydjb3VudHJ5J10udmFsdWUgOiAnJyk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkluc2lkZSBlbHNlIC0gbm8gYWRkcmVzcyBmb3IgdGhpcyBlbXBsb3llciB0eXBlXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGVtcERhdGFNb2RlbC5lbXBsb3llclR5cGUgPSBldmVudC5lbXBsb3llclR5cGU7XHJcbiAgICAgIGVtcERhdGFNb2RlbC5lbXBsb3llcklkPWV2ZW50LmVtcGxveWVySWQ7XHJcbiAgICAgIGVtcERhdGFNb2RlbC5tYWlsQWRkcmVzc0xpbmUxPWV2ZW50LmFkZHJlc3M/LnN0cmVldEFkZHJlc3M7XHJcbiAgICAgIGVtcERhdGFNb2RlbC5tYWlsQWRkcmVzc0xpbmUyPWV2ZW50LmFkZHJlc3M/Lm9wdGlvbmFsQWRkcmVzcztcclxuICAgICAgaWYgKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpIHtcclxuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwuYnBFbXBsb3llckZsYWcgPSAnMSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jbGFpbWRldGFpbE1vZGVsLmJwRW1wbG95ZXJGbGFnID0gJzAnO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiQWRkaW5nIGVtcGxyIGRhdGEgdG8gY2xhaW1kZXRhaWxtb2RlOjpcIixlbXBEYXRhTW9kZWwpO1xyXG4gICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwuZW1wbG95ZXJEYXRhID0gZW1wRGF0YU1vZGVsO1xyXG4gICAgICBjb25zb2xlLmxvZyhcIkFkZGluZyBlbXBsciBkYXRhIHRvIGNsYWltZGV0YWlsbW9kZTo6XCIsZW1wRGF0YU1vZGVsKTtcclxuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3QucHVzaCh0aGlzLmNsYWltZGV0YWlsTW9kZWwpO1xyXG4gICAgICBjb25zb2xlLmxvZyhcImZyb20gYnBsaXN0IGluIGdyaWQ6OjpcIix0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdC5sZW5ndGgpO1xyXG4gICAgICB0aGlzLm1vZGVsRGF0YVBhc3MuZW1pdChlbXBEYXRhTW9kZWwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJlbW92ZUVtcGxveW1lbnQoc2VsZWN0ZWRFbXBsb3llcjogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCwgaW5kZXgpe1xyXG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IGluZGV4O1xyXG4gICAgdGhpcy5zZWxlY3RlZEVtcGxveWVyID0gc2VsZWN0ZWRFbXBsb3llcjtcclxuICAgIHRoaXMuc2hvd0NvbmZpcm1Qb3B1cCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5QnBFbXBDb25maXJtYXRpb24oKXtcclxuICAgIHRoaXMuc2hvd2JwRW1wRGVsUG9wdXAgPSB0cnVlO1xyXG4gIH1cclxuICByZW1vdmVCYXNlUGVyaW9kRW1wbG95ZXIoKXtcclxuICAgIHRoaXMuZGVsZXRlRW1wbG95ZXJCYXNlUGVyaW9kKHRoaXMuaW5kZXhUb0VkaXQpO1xyXG4gICAgdGhpcy5zaG93Q29uZmlybVBvcHVwID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dicEVtcERlbFBvcHVwID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkRW1wbG95ZXIgPSBudWxsO1xyXG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXN0b3JlRW1wbG95bWVudChzZWxlY3RlZEVtcGxveWVyOiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsLCBpbmRleCl7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRGVsZXRlIG1ldGhvZCBiYXNlIHBlcmlvZCBlbXBsb3llciBjYWxsZWQgZm9yID0gJywgaW5kZXgpO1xyXG4gICAgbGV0IGN1cnJlbnRXb3JrRmxhZ1ZhbHVlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbaW5kZXhdLndvcmtGbGFnO1xyXG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbaW5kZXhdLndvcmtGbGFnID0gY3VycmVudFdvcmtGbGFnVmFsdWUgPyAoY3VycmVudFdvcmtGbGFnVmFsdWUgPT0gXCJOXCIgPyBcIllcIiA6IFwiTlwiKSA6IG51bGw7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFtpbmRleF0uZW1wRGVsZXRlZCA9IFwiTlwiO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0FmdGVyIGRlbGV0ZSBiYXNlIHBlcmlvZCBlbXBsb3llciBsaXN0IGlzID0gJywgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBudWxsO1xyXG4gICAgdGhpcy5zaG93Q29uZmlybVBvcHVwID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dicEVtcERlbFBvcHVwID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkRW1wbG95ZXIgPSBudWxsO1xyXG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgfVxyXG4gIHNldENob2lzZU1vZGVscyhlbXA6IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwpOiB2b2lkIHtcclxuICAgIGxldCBzZXBSZWFzb24gOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAucmVhc29uU2VwYXJhdGlvbj8udmFsdWUpO1xyXG4gICAgaWYoc2VwUmVhc29uLmxlbmd0aCA+IDApe1xyXG4gICAgICBlbXAucmVhc29uU2VwYXJhdGlvbiA9IHNlcFJlYXNvblswXTtcclxuICAgIH1cclxuICAgIGxldCBkaXNjaGFyZ2VSZWFzb24gOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5maWx0ZXIocyA9PiBzLnZhbHVlID09IGVtcC5kaXNjaGFyZ2VEZXRhaWw/LnZhbHVlKTtcclxuICAgIGlmKGRpc2NoYXJnZVJlYXNvbi5sZW5ndGggPiAwKXtcclxuICAgICAgZW1wLmRpc2NoYXJnZURldGFpbCA9IGRpc2NoYXJnZVJlYXNvblswXTtcclxuICAgIH1cclxuICAgIGxldCB2b2xRdWl0IDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLnZvbFF1aXREZXRhaWxzPy52YWx1ZSk7XHJcbiAgICBpZih2b2xRdWl0Lmxlbmd0aCA+IDApe1xyXG4gICAgICBlbXAudm9sUXVpdERldGFpbHMgPSB2b2xRdWl0WzBdO1xyXG4gICAgfVxyXG4gICAgbGV0IHBheVJhdGVGcmVxdWVuY3kgOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMucGF5UmF0ZU9wdGlvbnMuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAucGF5UmF0ZUZyZXF1ZW5jeT8udmFsdWUpO1xyXG4gICAgaWYocGF5UmF0ZUZyZXF1ZW5jeS5sZW5ndGggPiAwKXtcclxuICAgICAgZW1wLnBheVJhdGVGcmVxdWVuY3kgPSBwYXlSYXRlRnJlcXVlbmN5WzBdO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjb3VudHJ5IDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLndvcmtDb3VudHJ5T3B0aW9ucy5maWx0ZXIocyA9PiBzLnZhbHVlID09IGVtcC5mZWRXb3JrQ291bnRyeT8udmFsdWUpO1xyXG4gICAgaWYoY291bnRyeS5sZW5ndGggPiAwKXtcclxuICAgICAgZW1wLmZlZFdvcmtDb3VudHJ5ID0gY291bnRyeVswXTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3RhdGUgOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMuc3RhdGVzT3B0aW9ucy5maWx0ZXIocyA9PiBzLnZhbHVlID09IGVtcC5mZWRXb3JrU3RhdGU/LnZhbHVlKTtcclxuICAgIGlmKHN0YXRlLmxlbmd0aCA+IDApe1xyXG4gICAgICBlbXAuZmVkV29ya1N0YXRlID0gc3RhdGVbMF07XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNlcnZpY2VCcmFuY2ggOiBDaG9pY2VzTW9kZWxbXSA9IHRoaXMubWlsaXRhcnlTZXJ2aWNlT3B0aW9ucy5maWx0ZXIocyA9PiBzLnZhbHVlID09IGVtcC5zZXJ2aWNlQnJhbmNoPy52YWx1ZSk7XHJcbiAgICBpZihzZXJ2aWNlQnJhbmNoLmxlbmd0aCA+IDApe1xyXG4gICAgICBlbXAuc2VydmljZUJyYW5jaCA9IHNlcnZpY2VCcmFuY2hbMF07XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHdvcmtTdGF0ZSA6IENob2ljZXNNb2RlbFtdID0gdGhpcy5zdGF0ZXNPcHRpb25zLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLndvcmtTdGF0ZT8udmFsdWU/LnRyaW0oKSk7XHJcbiAgICBlbXAud29ya1N0YXRlID0gd29ya1N0YXRlWzBdO1xyXG5cclxuICB9XHJcbn1cclxuXHJcblxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC01cHg7XCI+XHJcbjxpb24tcm93PlxyXG4gIDxpb24tY29sPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAnY2hlY2stY2lyY2xlJ11cIiBjbGFzcz1cImFjdGlvbi1pY29uIGZvbnQtYm9sZFwiPjwvZmEtaWNvbj5cclxuICAgIDxzcGFuIFtpbm5lckh0bWxdPVwiJ2luZHVjdGlvbi5lbXBsb3ltZW50LnN1YmhlYWRlci5jb25maXJtJyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiPjwvc3Bhbj4sJm5ic3A7XHJcbiAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICd0cmFzaC1hbHQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb24gZm9udC1ib2xkXCI+PC9mYS1pY29uPlxyXG4gICAgPHNwYW4gW2lubmVySHRtbF09XCInaW5kdWN0aW9uLmVtcGxveW1lbnQuc3ViaGVhZGVyLmRlbGV0ZScgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIj48L3NwYW4+LCZuYnNwO1xyXG4gICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAncGx1cyddXCIgY2xhc3M9XCJhY3Rpb24taWNvbiBmb250LWJvbGRcIj48L2ZhLWljb24+XHJcbiAgICA8c3BhbiBbaW5uZXJIdG1sXT1cIidpbmR1Y3Rpb24uZW1wbG95bWVudC5zdWJoZWFkZXIuYWRkJyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiPjwvc3Bhbj4sJm5ic3A7XHJcbiAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdlZGl0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uIGZvbnQtYm9sZFwiPjwvZmEtaWNvbj5cclxuICAgIDxzcGFuIFtpbm5lckh0bWxdPVwiJ2luZHVjdGlvbi5lbXBsb3ltZW50LnN1YmhlYWRlci5lZGl0JyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiPjwvc3Bhbj4sJm5ic3A7XHJcbiAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICd0cmFzaC1yZXN0b3JlLWFsdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvbiBmb250LWJvbGRcIj48L2ZhLWljb24+XHJcbiAgICA8c3BhbiBbaW5uZXJIdG1sXT1cIidpbmR1Y3Rpb24uZW1wbG95bWVudC5zdWJoZWFkZXIucmVzdG9yZScgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIj48L3NwYW4+XHJcbiAgPC9pb24tY29sPlxyXG48L2lvbi1yb3c+XHJcblxyXG48cC10YWJsZSAjZHQgW2NvbHVtbnNdPVwiY29sc1wiIFt2YWx1ZV09XCJjbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3RcIiBbbG9hZGluZ109XCJzaG93UHJvZ3Jlc3NCYXJcIlxyXG4gW3Jvd0hvdmVyXT1cInRydWVcIiAqbmdJZj1cImNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnMgcm9sZT1cInByZXNlbnRhdGlvblwiPlxyXG4gICAgPHRyPlxyXG4gICAgICA8dGggY29sc3Bhbj1cIjJcIiBzY29wZT1cImNvbGdyb3VwXCIgc3R5bGU9XCJ3aWR0aDogMjAlO1wiPlxyXG4gICAgICAgIHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC50YWJsZS5lbXBsb3llci5uYW1lXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgPC90aD5cclxuICAgICAgPHRoPlxyXG4gICAgICAgIHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC50YWJsZS5qb2IudGl0bGVcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgPC90aD5cclxuICAgICAgIDx0aD5cclxuICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQudGFibGUucGF5XCJ8dHJhbnNsYXRlfX1cclxuICAgICAgIDwvdGg+XHJcbiAgICAgICA8dGg+XHJcbiAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnRhYmxlLmRhdGVzXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgIDwvdGg+XHJcbiAgICAgICA8dGg+XHJcbiAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnRhYmxlLnNlcC5yZWFzb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgPC90aD5cclxuICAgICAgIFxyXG4gICAgPC90cj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIFxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICA8dHIgY2xhc3M9XCJ1aS1zZWxlY3RhYmxlLXJvd1wiIFtuZ0NsYXNzXT1cImVtcGxveWVyLmVtcERlbGV0ZWQ9PSdZJyA/ICdzdHJpa2V0aHJvdWdoJyA6IG51bGxcIj5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cIihlbXBsb3llci5lbXBsb3llckRhdGEudHJhZGVOYW1lIHx8IGVtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZSkgJiYgZW1wbG95ZXIuZW1wbG95ZXJUeXBlIT0nTUlMJ1wiIHN0eWxlPVwid2lkdGg6IDIwJTtcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+e3tcImluZHVjdGlvbi5lbXBsb3ltZW50LmVtcGxveWVyLnRleHRcInx0cmFuc2xhdGV9fTwvc3Bhbj48c3Bhbj5cclxuICAgICAgICB7e2VtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZX19PGJyPlxyXG4gICAgICAgIHt7ZW1wbG95ZXIuZW1wbG95ZXJEYXRhLnRyYWRlTmFtZX19PGJyPlxyXG4gICAgICA8L3NwYW4+PGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDtcIiBbaW5uZXJIdG1sXT1cImVtcGxveWVyLmVtcGxveWVyRGF0YS5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgfCB0cnVzdEh0bWxcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIFxyXG4gICAgICA8dGQgKm5nSWY9XCIhZW1wbG95ZXIuZW1wbG95ZXJEYXRhLmRpc3BsYXlOYW1lICYmIGVtcGxveWVyLmVtcGxveWVyVHlwZSE9J01JTCdcIiBzdHlsZT1cIndpZHRoOiAyMCU7XCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5lbXBsb3llci50ZXh0XCJ8dHJhbnNsYXRlfX08L3NwYW4+PHNwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZW1wbG95ZXJUeXBlPT09J01JTCdcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCIgc3R5bGU9XCJ3aWR0aDogMjAlO1wiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5lbXBsb3llci50ZXh0XCJ8dHJhbnNsYXRlfX08L3NwYW4+PHNwYW4+XHJcbiAgICAgICAgICB7e2VtcGxveWVyLnNlcnZpY2VCcmFuY2gudGV4dH19IDxicj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj4gXHJcbiAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMScgJiYgZW1wbG95ZXIucGF5UmF0ZSAmJiBlbXBsb3llci5zdGFydERhdGUgJiYgZW1wbG95ZXIuZW1wRGVsZXRlZCE9J1knXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiBcclxuICAgICAgICAgIChjbGljayk9XCJlZGl0QmFzZVBlcmlvZEVtcGxveWVyKGVtcGxveWVyKTtcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiQWRkIGVtcGxveWVyXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdlZGl0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJlbXBsb3llci5icEVtcGxveWVyRmxhZz09PScwJ1wiIGNvbG9yPVwic3VjY2Vzc1wiIGZpbGw9XCJvdXRsaW5lXCIgXHJcbiAgICAgICAgICAoY2xpY2spPVwiZWRpdEVtcGxveWVyKGVtcGxveWVyKTtcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiRWRpdCBlbXBsb3llclwiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAnZWRpdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMScgJiYgIWVtcGxveWVyLnBheVJhdGUgJiYgIWVtcGxveWVyLnN0YXJ0RGF0ZSAmJiBlbXBsb3llci5lbXBEZWxldGVkIT0nWSdcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImZpbmlzaChlbXBsb3llcik7XCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNvbmZpcm0gZW1wbG95ZXJcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ2NoZWNrLWNpcmNsZSddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMCdcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZUVtcGxveWVyKHJvd0luZGV4KTtcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiUmVtb3ZlIGVtcGxveWVyXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICd0cmFzaC1hbHQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBzaXplPVwic21hbGxcIiAqbmdJZj1cImVtcGxveWVyLmJwRW1wbG95ZXJGbGFnPT09JzEnICYmIGVtcGxveWVyLmVtcERlbGV0ZWQhPSdZJ1wiIGNvbG9yPVwic3VjY2Vzc1wiIGZpbGw9XCJvdXRsaW5lXCIgXHJcbiAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRW1wbG95bWVudChlbXBsb3llciwgcm93SW5kZXgpO1wiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJSZW1vdmUgZW1wbG95ZXJcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3RyYXNoLWFsdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMScgJiYgZW1wbG95ZXIuZW1wRGVsZXRlZD09J1knXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiBcclxuICAgICAgICAgIChjbGljayk9XCJyZXN0b3JlRW1wbG95bWVudChlbXBsb3llciwgcm93SW5kZXgpO1wiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJSZXN0b3JlXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICd0cmFzaC1yZXN0b3JlLWFsdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmpvYlRpbGVPclBvc2l0aW9uICYmICFlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuam9iLnRpdGxlXCJ8dHJhbnNsYXRlfX08L3NwYW4+e3tlbXBsb3llci5qb2JUaWxlT3JQb3NpdGlvbn19PC90ZD5cclxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLmpvYlRpbGVPclBvc2l0aW9uICYmICFlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuam9iLnRpdGxlXCJ8dHJhbnNsYXRlfX08L3NwYW4+PC90ZD5cclxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLmpvYlRpbGVPclBvc2l0aW9uICYmIGVtcGxveWVyLmZlZEpvYlRpbGVPclBvc2l0aW9uXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5qb2IudGl0bGVcInx0cmFuc2xhdGV9fTwvc3Bhbj57e2VtcGxveWVyLmZlZEpvYlRpbGVPclBvc2l0aW9ufX08L3RkPlxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5qb2JUaWxlT3JQb3NpdGlvbiAmJiBlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuam9iLnRpdGxlXCJ8dHJhbnNsYXRlfX08L3NwYW4+e3tlbXBsb3llci5qb2JUaWxlT3JQb3NpdGlvbn19e3tlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvbn19PC90ZD5cclxuICAgICAgICAgICAgXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLnBheVJhdGVcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+e3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnBheVwifHRyYW5zbGF0ZX19PC9zcGFuPnt7ZW1wbG95ZXIucGF5UmF0ZSB8IGN1cnJlbmN5fX0ve3tlbXBsb3llci5wYXlSYXRlRnJlcXVlbmN5LnRleHR9fTwvdGQ+XHJcbiAgICAgIDx0ZCAqbmdJZj1cIiFlbXBsb3llci5wYXlSYXRlXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5wYXlcInx0cmFuc2xhdGV9fTwvc3Bhbj48L3RkPlxyXG4gICAgICBcclxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZW1wbG95ZXJUeXBlPT09J1JFRydcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+e3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnN0YXJ0LmFuZC5lbmRcInx0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICB7e2VtcGxveWVyLnN0YXJ0RGF0ZSB8IGRhdGU6J00vZC95eXl5J319IC0ge3tlbXBsb3llci5lbmREYXRlIHwgZGF0ZTonTS9kL3l5eXknfX1cclxuICAgICAgPC90ZD5cclxuICAgICAgXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZT09PSdGRUQnXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5zdGFydC5hbmQuZW5kXCJ8dHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAge3tlbXBsb3llci5zdGFydERhdGVGZWQgfCBkYXRlOidNL2QveXl5eSd9fSAtIHt7ZW1wbG95ZXIuZW5kRGF0ZUZlZCB8IGRhdGU6J00vZC95eXl5J319XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGU9PT0nTUlMJ1wiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuc3RhcnQuYW5kLmVuZFwifHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIHt7ZW1wbG95ZXIuc3RhcnREYXRlTWlsIHwgZGF0ZTonTS9kL3l5eXknfX0gLSB7e2VtcGxveWVyLmVuZERhdGVNaWwgfCBkYXRlOidNL2QveXl5eSd9fVxyXG4gICAgICA8L3RkPlxyXG5cclxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLnN0YXJ0RGF0ZSAmJiAgIWVtcGxveWVyLnN0YXJ0RGF0ZUZlZCAmJiAhZW1wbG95ZXIuc3RhcnREYXRlTWlsXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPnt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5zdGFydC5hbmQuZW5kXCJ8dHJhbnNsYXRlfX08L3NwYW4+PC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZSE9J01JTCcgJiYgZW1wbG95ZXIucmVhc29uU2VwYXJhdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuc2VwZXJhdGlvbi5yZWFzb25cInx0cmFuc2xhdGV9fTwvc3Bhbj57e2VtcGxveWVyLnJlYXNvblNlcGFyYXRpb24udGV4dH19XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIFxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGU9PT0nTUlMJyAmJiAhZW1wbG95ZXIucmVhc29uU2VwYXJhdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj57e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuc2VwZXJhdGlvbi5yZWFzb25cInx0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPC90ZD5cclxuICAgIFxyXG4gICAgICBcclxuICAgIDwvdHI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInN1bW1hcnlcIiBsZXQtY29sdW1ucz5cclxuICAgIDx0YWJsZT5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cIjJcIiBzdHlsZT1cIndpZHRoOiA0MCU7XCI+XHJcbiAgICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiJ2luZHVjdGlvbi5lbXBsb3ltZW50LmZvb3Rlci5sYWJlbCcgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIj48L2Rpdj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA5Ljc1JTsgdGV4dC1hbGlnbjogcmlnaHQ7XCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIChjbGljayk9XCJhZGROZXdFbXBEZXRhaWxzKClcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiQWRkIGVtcGxveWVyXCIgW2lkXT1cIididG5BZGRFbXBsb3llcidcIj5cclxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAncGx1cyddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZCBjb2xzcGFuPVwiNFwiPiZuYnNwOzwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG48L3AtdGFibGU+XHJcbiAgPGFwcC1hZGQtZW1wbG95ZXIgKm5nSWY9XCJkaXNwbGF5XCIgKHN1Y2Nlc3MpPVwiYWRkRW1wbG95ZXIoJGV2ZW50KVwiICBbcmVjb3JkSW5kZXhUb0VkaXRdPVwiaW5kZXhUb0VkaXRcIiBcclxuICAgIChiYXNlUGVyaW9kSW5kZXgpPVwiZGVsZXRlQnBFbXBsKCRldmVudClcIiBbaXNCYXNlUGVyaW9kRW1wbG95ZXJdPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBbaXNOZXdDbGFpbV09XCJpc05ld0NsYWltXCIgXHJcbiAgICAobW9kZWxDYW5jZWwpPVwib25Nb2RlbENhbmNlbCgkZXZlbnQpXCIgW2RvYl09XCJjbGFpbWFudERvYlwiIFtub0VkaXRNb2RlXT1cIm5vRWRpdE1vZGVcIj5cclxuICA8L2FwcC1hZGQtZW1wbG95ZXI+XHJcblxyXG4gIDxwLWRpYWxvZyBbdmlzaWJsZV09XCJzaG93Q29uZmlybVBvcHVwXCIgW21vZGFsXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiBwb3NpdGlvbj1cInRvcFwiIFticmVha3BvaW50c109XCJ7JzEyMDBweCc6ICc2NjBweCcsICc5OTJweCc6ICc2NjBweCcsICc3NjhweCc6ICc2NjBweCcsICc1NzZweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInt3aWR0aDogJzQ1dncnfVwiXHJcbiAgICBbYmFzZVpJbmRleF09XCI1MDAwXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiIFtyZXNpemFibGVdPVwiZmFsc2VcIiBhcHBlbmRUbz1cImJvZHlcIiBjbG9zZU9uRXNjYXBlPVwiZmFsc2VcIiAqbmdJZj1cInNlbGVjdGVkRW1wbG95ZXJcIj5cclxuICAgICAgICA8aDQgY2xhc3M9XCJoZWFkaW5nXCI+e3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5wb3B1cC5oZWFkaW5nJyB8IHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICA8aW9uLWxhYmVsPnt7c2VsZWN0ZWRFbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWV9fTwvaW9uLWxhYmVsPjxici8+XHJcbiAgICAgICAgPGlvbi1sYWJlbD57e3NlbGVjdGVkRW1wbG95ZXIuZW1wbG95ZXJEYXRhLnRyYWRlTmFtZX19PC9pb24tbGFiZWw+XHJcbiAgICAgICAgPGlvbi1sYWJlbD48ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiIFtpbm5lckh0bWxdPVwic2VsZWN0ZWRFbXBsb3llci5lbXBsb3llckRhdGEubWFpbGluZ0FkZHJlc3NEaXNwbGF5IHwgdHJ1c3RIdG1sXCI+PC9kaXY+PC9pb24tbGFiZWw+PGJyLz5cclxuICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwiZGFuZ2VyXCI+XHJcbiAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLmZhaWx1cmUubGFiZWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2lvbi1sYWJlbD48YnIvPjxici8+XHJcbiAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgIDxiPnt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAudGV4dDEucS5sYWJlbCcgfCB0cmFuc2xhdGV9fTwvYj5cclxuICAgICAgICA8L2lvbi1sYWJlbD48YnIvPlxyXG4gICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLnRleHQxLmEubGFiZWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2lvbi1sYWJlbD48YnIvPjxici8+XHJcbiAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgIDxiPnt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAudGV4dDIucS5sYWJlbCcgfCB0cmFuc2xhdGV9fTwvYj5cclxuICAgICAgICA8L2lvbi1sYWJlbD48YnIvPlxyXG4gICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLnRleHQyLmEubGFiZWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2lvbi1sYWJlbD48YnIvPjxici8+XHJcbiAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgIDxiPnt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAudGV4dDMucS5sYWJlbCcgfCB0cmFuc2xhdGV9fTwvYj5cclxuICAgICAgICA8L2lvbi1sYWJlbD48YnIvPlxyXG4gICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLnRleHQzLmEubGFiZWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2lvbi1sYWJlbD48YnIvPjxici8+XHJcbiAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgIHt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAuZGlkbnQud29yay5sYWJlbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICAgICAge3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5wb3B1cC5jYW5jZWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJzb2xpZFwiIChjbGljayk9XCJkaXNwbGF5QnBFbXBDb25maXJtYXRpb24oKVwiPlxyXG4gICAgICAgICAgICAgIHt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAucmVtb3ZlJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9wLWRpYWxvZz5cclxuICAgIDxwLWRpYWxvZyBbdmlzaWJsZV09XCJzaG93YnBFbXBEZWxQb3B1cFwiIFttb2RhbF09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgcG9zaXRpb249XCJ0b3BcIiBbYnJlYWtwb2ludHNdPVwieycxMjAwcHgnOiAnNjYwcHgnLCAnOTkycHgnOiAnNjYwcHgnLCAnNzY4cHgnOiAnNjYwcHgnLCAnNTc2cHgnOiAnMTAwdncnfVwiIFtzdHlsZV09XCJ7d2lkdGg6ICc0NXZ3J31cIlxyXG4gICAgW2Jhc2VaSW5kZXhdPVwiNTAwMFwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIiBbcmVzaXphYmxlXT1cImZhbHNlXCIgYXBwZW5kVG89XCJib2R5XCIgY2xvc2VPbkVzY2FwZT1cImZhbHNlXCIgKm5nSWY9XCJzZWxlY3RlZEVtcGxveWVyXCI+XHJcbiAgICAgICAgPGg0IGNsYXNzPVwiaGVhZGluZ1wiPnt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQuZGVsZXRlLmJwZW1wbG95ZXIucG9wdXAuaGVhZGluZycgfCB0cmFuc2xhdGV9fTwvaDQ+PGJyLz5cclxuICAgICAgICA8cC1kcm9wZG93biBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RlZERyb3Bkb3duXCIgaW5wdXRJZD1cImJwRW1wRGVsT3B0aW9uc1wiICAgW29wdGlvbnNdPVwiYnBFbXBEZWxPcHRpb25zXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE9wdGlvblwiICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIChvbkNoYW5nZSk9XCJvbkRyb3Bkb3duQ2hhbmdlKCRldmVudClcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICBwbGFjZWhvbGRlcj0ne3tcImluZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQuZGVsZXRlLmJwZW1wbG95ZXIucG9wdXAuaGVhZGluZy5wbGFjZWhvbGRlclwiIHwgdHJhbnNsYXRlfX0nIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiByZXF1aXJlZD4gXHJcbiAgICAgICAgPC9wLWRyb3Bkb3duPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dDb21tZW50Qm94XCI+XHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwiY29tbWVudFwiPlxyXG4gICAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLmRlbGV0ZS5icGVtcGxveWVyLnBvcHVwLnJlYXNvbi5zZWxlY3RpbmcnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgIDwvbGFiZWw+PGJyLz5cclxuICAgICAgICAgIDx0ZXh0YXJlYSBmb3JtQ29udHJvbE5hbWU9XCJvdGhlckNvbW1lbnRcIiByb3dzPVwiNVwiIGNvbHM9XCIzMFwiIG1heGxlbmd0aD1cIjI1MFwiIHBsYWNlaG9sZGVyPSd7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5kZWxldGUuYnBlbXBsb3llci5wb3B1cC5leHBsYWluLnJlYXNvblwiIHwgdHJhbnNsYXRlfX0nPjwvdGV4dGFyZWE+XHJcbiAgICAgICAgICA8c21hbGwgKm5nSWY9XCJ0aGlzLmZvcm0uZ2V0KCdvdGhlckNvbW1lbnQnKT8uaW52YWxpZCAmJiB0aGlzLmZvcm0uZ2V0KCdvdGhlckNvbW1lbnQnKT8udG91Y2hlZFwiIGNsYXNzPVwicC1lcnJvclwiPlxyXG4gICAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLmRlbGV0ZS5icGVtcGxveWVyLnBvcHVwLmZpZWxkLnJlcXVpcmVkJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgPHNtYWxsPlxyXG4gICAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLmRlbGV0ZS5icGVtcGxveWVyLnBvcHVwLm1heGxlbmd0aC4yNTAnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgIDwvc21hbGw+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICAgICAge3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5kZWxldGUuYnBlbXBsb3llci5wb3B1cC5jYW5jZWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCJ0aGlzLmZvcm0uaW52YWxpZFwiIGZpbGw9XCJzb2xpZFwiIChjbGljayk9XCJyZW1vdmVCYXNlUGVyaW9kRW1wbG95ZXIoKVwiPlxyXG4gICAgICAgICAgICAgIHt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQuZGVsZXRlLmJwZW1wbG95ZXIucG9wdXAucmVtb3ZlJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9wLWRpYWxvZz5cclxuPC9kaXY+Il19
904
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EmployerGridComponent, { className: "EmployerGridComponent", filePath: "lib\\components\\employer-grid\\employer-grid.component.ts", lineNumber: 31 }); })();
905
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZW1wbG95ZXItZ3JpZC9lbXBsb3llci1ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbXBsb3llci1ncmlkL2VtcGxveWVyLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkgsT0FBTyxFQUEwQyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBS25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBR25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7OztJQ0p2RCwrQkFBZ0U7SUFDaEUsNkJBQTBFLGNBQUE7OztJQUNlLHdCQUN6RjtJQUFBLGlCQUFNOztJQUZHLGVBQXdCO0lBQXhCLGlEQUF3QjtJQUMzQixlQUEyRTtJQUEzRSxnSUFBMkU7OztJQUVqRix3QkFBMkQ7OztJQVMzRCwwQkFB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QSxlQUFBOzs7WUFFNEQseUJBQzNGO1lBQUEseUJBQStCLGtCQUFBLGVBQUE7OztZQUV5RCx5QkFDeEY7WUFBQSx5QkFBK0I7WUFDL0Isd0VBR00seURBQUE7WUFFTiw4QkFBdUYsZUFBQTs7O1lBRXpGLGlCQUFVLEVBQUE7WUFHWixnRkEwSVUscUZBQUEsdUVBQUE7WUErQlYsaUJBQU07O1lBL0xELG9DQUFrQjtZQUdWLGVBQXVFO1lBQXZFLHlHQUF1RTtZQUMxRSxlQUE2SztZQUE3SywwUEFBNks7WUFFMUssZUFBNkI7WUFBN0Isa0RBQTZCO1lBQ2hDLGVBQTZFO1lBQTdFLHNJQUE2RTtZQUUxRSxlQUF3QjtZQUF4QixrREFBd0I7WUFDM0IsZUFBMEU7WUFBMUUsbUlBQTBFO1lBRTFFLGVBQXlCO1lBQXpCLDhDQUF5QjtZQUkxQixlQUF5QjtZQUF6Qiw4Q0FBeUI7WUFDckIsZUFBcUM7WUFBckMsa0RBQXFDO1lBQ3hDLGVBQThFO1lBQTlFLHVJQUE4RTtZQUtwRSxlQUF5QztZQUF6Qyw4REFBeUM7WUEwSXhDLGVBQWE7WUFBYixrQ0FBYTtZQU1xRSxlQUFzQjtZQUF0QiwyQ0FBc0I7OztpRkR6SWhILHFCQUFxQjtjQVhqQyxTQUFTOzJCQUNFLG1CQUFtQixhQUdsQixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsdUJBQXVCO3dCQUNsQyxLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDLG1CQUNlLHVCQUF1QixDQUFDLE9BQU87NlFBYXZDLElBQUk7a0JBQVosS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFHSSxZQUFZO2tCQUFyQixNQUFNO1lBQ0csVUFBVTtrQkFBbkIsTUFBTTs7a0ZBaEJJLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIsIFBvcG92ZXJDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFVudHlwZWRGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwnO1xuaW1wb3J0IHsgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwnO1xuaW1wb3J0IHsgQ2xhaW1BcHBFbXBSZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCc7XG5pbXBvcnQgeyBDbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltT25seUVtcGxveWVyRGF0YU1vZGVsJztcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS92YWxpZGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEVtcGxveWVyV2FnZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0VtcGxveWVyV2FnZXNNb2RlbCc7XG5pbXBvcnQgeyBDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbXMvY2xhaW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xuaW1wb3J0IHsgRmJDb25zdGFudHMgfSBmcm9tICcuLi9xdWVzdGlvbm5haXJlL0ZiQ29uc3RhbnRzJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWVtcGxveWVyLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW1wbG95ZXItZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VtcGxveWVyLWdyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBFbXBsb3llckdyaWRDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBFbXBsb3llckdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcG9wdXA6IFBvcG92ZXJDb250cm9sbGVyLCBwdWJsaWMgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyB2YWxpZGF0aW9uU2VydmljZTogVmFsaWRhdGlvblNlcnZpY2UsIHB1YmxpYyBuYXZDb250cm9sbGVyOiBOYXZDb250cm9sbGVyLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsXG4gICAgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZSA6IEFjdGl2YXRlZFJvdXRlLCBwdWJsaWMgY2xhaW1zU2VydmljZSA6IENsYWltU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2UgOiBTdG9yYWdlKSB7XG5cbiAgfVxuXG4gIGNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlOiAgQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsID0gbmV3IENsYWltQXBwRW1wUmVzcG9uc2VNb2RlbCgpO1xuICBjb2xzOiBhbnlbXTtcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgQElucHV0KCkgZHluYW1pY1BhcmFtIDogYW55O1xuICBkaXNwbGF5OiBib29sZWFuO1xuICBiYXNlUGVyaW9kZGlzcGxheTogYm9vbGVhbjtcbiAgQE91dHB1dCgpIG1vZGVsRGlzcGxheSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIG9uQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNsYWltZGV0YWlsTW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xuICBjYWltQXBwRW1wUmVzcG9uc2VNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwoKTtcbiAgc2VsZWN0ZWRFbXBsb3llcjogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbDtcbiAgc2VsZWN0ZWRCYXNlUGVyaW9kRW1wbG95ZXI6IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWw7XG4gIHB1YmxpYyBpbmRleFRvRWRpdDtcbiAgcHVibGljIGlzQmFzZVBlcmlvZEVtcGxveWVyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBpc05ld0NsYWltOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Q29uZmlybVBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xuICBzc25Gb3JDU1IgOiBzdHJpbmc7XG4gIHB1YmxpYyBzaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgdXVpZDogc3RyaW5nID0gbnVsbDtcblxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyBwYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XG4gIHB1YmxpYyBjb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XG4gIHB1YmxpYyB3b3JrQ291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5XT1JLX0NPVU5UUlk7XG4gIHB1YmxpYyBzdGF0ZXNPcHRpb25zID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xuICBwdWJsaWMgbWlsaXRhcnlTZXJ2aWNlT3B0aW9ucyA9IENvbWJvT3B0aW9uLk1JTElUQVJZX1NFUlZJQ0U7XG4gIHB1YmxpYyBjbGFpbWFudERvYiA6IERhdGU7XG5cbiAgbG9hZE1hc3RlckRhdGEoKXtcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UubG9hZE1hc3RlckRhdGEoKTtcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0UmVhc29uU2VwYXJhdGlvbigpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwucHVzaChhcnIpKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldERpc2NoYXJnZVJlYXNvbnMoKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5jbGFpbXNTZXJ2aWNlLmdldFF1aXRSZWFzb25zKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG4gIH1cbiAgXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCduZyBvbml0IG9mIGVtcGxveWVyIGdyaWQnKVxuICAgIHRoaXMubG9hZE1hc3RlckRhdGEoKTtcbiAgICB0aGlzLmNvbHMgPSBbXG4gICAgICB7IGZpZWxkOiAnZW1wbG95ZXInLCBoZWFkZXI6ICdFbXBsb3llcicgfSxcbiAgICAgIHsgZmllbGQ6ICdqb2JUaXRsZScsIGhlYWRlcjogJ0pvYiBUaXRsZScgfSxcbiAgICAgIHsgZmllbGQ6ICdQYXknLCBoZWFkZXI6ICdQYXknIH0sXG4gICAgICB7IGZpZWxkOiAnc3RhcnRFbmREYXRlJywgaGVhZGVyOiAnU3RhcnQgYW5kIEVuZCcgfSxcbiAgICAgIHsgZmllbGQ6ICdzZXBhcmF0aW9uUmVhc29uJywgaGVhZGVyOiAnU2VwYXJhdGlvbiBSZWFzb24nIH0sXG4gICAgICB7IGZpZWxkOiAnJywgaGVhZGVyOiAnJyB9XG4gICAgXTtcbiAgICBpZiAodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlID0gcmVzLnZhbHVlT2YoKTtcbiAgICAgICAgICAgIGlmKHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UgJiYgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5pc05ld0NsYWltQXBwbGljYXRpb24pe1xuICAgICAgICAgICAgICB0aGlzLmlzTmV3Q2xhaW0gPSB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmlzTmV3Q2xhaW1BcHBsaWNhdGlvbi52YWx1ZU9mKCk7XG4gICAgICAgICAgICAgIHRoaXMuY2xhaW1hbnREb2IgPSBuZXcgRGF0ZSh0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmRhdGVPZkJpcnRoLnJlcGxhY2UoXCItXCIsXCIvXCIpLnJlcGxhY2UoXCItXCIsXCIvXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBhc3luYyBhZGROZXdFbXBEZXRhaWxzKCkge1xuICAgIHRoaXMuZGlzcGxheSA9IHRydWU7XG4gICAgdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcj1mYWxzZTtcbiAgICB0aGlzLm1vZGVsRGlzcGxheS5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xuICB9O1xuXG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7XG4gIH07XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYodmFsdWUpe1xuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UubmV4dCh2YWx1ZSk7XG4gICAgfSBlbHNlIGlmKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLm5leHQodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuICAgIH1lbHNle1xuICAgICAgdGhpcy5zZXR1cEVtcGxveWVyKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuXG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2Uuc3Vic2NyaWJlKGZuKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIGFzeW5jIGdldElkZW50aWZpZXIoKXtcbiAgICBsZXQgdXVpZDtcbiAgICBsZXQgZGF0YSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2lkZW50aWZpZXInKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImRhdGEgZm9yIGlkZW50aWZpZXIgaXMgOiBcIiwgZGF0YSlcbiAgICAgIGlmKGRhdGEpeyAgICAgICAgICBcbiAgICAgICAgdXVpZCA9IGRhdGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1dWlkID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy51dWlkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1dWlkO1xuICB9XG4gIGFzeW5jIHNldHVwRW1wbG95ZXIoKSB7XG4gICAgbGV0IG1vZGVsID0gbmV3IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsKCk7XG4gICAgaWYgKCF0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKSB7XG4gICAgICB0aGlzLnV1aWQgPSBhd2FpdCB0aGlzLmdldElkZW50aWZpZXIoKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd1dWlkIGlzID09PT0nLCB0aGlzLnV1aWQpO1xuICAgICAgbGV0IHVybCA9IFwiXCI7XG4gICAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSA9PT0gdHJ1ZSl7XG4gICAgICAgIHVybCA9IFwiL2NsYWltcy1zZXJ2aWNlL2NsYWltL2NsYWltYW50L2FwcC9icGVtcGxveWVyc1wiOyAgICAgXG4gICAgICAgIGxldCBwcm9jZXNzdHlwZSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ3Byb2Nlc3N0eXBlJyk7XG4gICAgICAgIGlmKHByb2Nlc3N0eXBlID09PSAnYWljLXJlb3Blbicpe1xuICAgICAgICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMudXVpZCk7XG4gICAgICAgICAgLy90aGlzLmxvZ2dlci5kZWJ1Zygnb2JqRGF0YSA9PT09Jywgb2JqRGF0YSk7XG4gICAgICAgICAgbW9kZWwuZmxvd0Zyb20gPSBcIkFpYy1SZW9wZW4tZmxvd1wiO1xuICAgICAgICB9ICBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCA9IFwiL2NsYWltcy1zZXJ2aWNlL2NsYWltL2FwcC9icGVtcGxveWVyc1wiO1xuICAgICAgICBsZXQgcHJvY2Vzc3R5cGUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdwcm9jZXNzdHlwZScpO1xuICAgICAgICBpZihwcm9jZXNzdHlwZSA9PT0gJ2FpYy1yZW9wZW4nKXtcbiAgICAgICAgICBtb2RlbC5mbG93RnJvbSA9IFwiQWljLVJlb3Blbi1mbG93XCI7XG4gICAgICAgIH0gIFxuICAgICAgfVxuICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGUgdXVpZCB1c2VkIGluIG1vZGVsIGlzIDogJywgdGhpcy51dWlkKTtcbiAgICAgIGlmKG1vZGVsLmZsb3dGcm9tID09PSAnQWljLVJlb3Blbi1mbG93Jyl7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW5zaWRlIGFpYyByZW9wZW4gZmxvd1wiKTtcbiAgICAgICAgdGhpcy5mZXRjaEVtcGxveWVyc0Zyb21CYWNrRW5kKG1vZGVsLCB1cmwpO1xuICAgICAgfSBlbHNlIGlmKHRoaXMudXVpZCl7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJJbnNpZGUgZ2V0dGluZyB2YWx1ZXMgYmFzZWQgb24gdXVpZFwiKTtcbiAgICAgICAgICBtb2RlbC51dWlkID0gdGhpcy51dWlkO1xuICAgICAgICAgIHRoaXMuZmV0Y2hFbXBsb3llcnNGcm9tQmFja0VuZChtb2RlbCwgdXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiS2VlcCB3YWl0aW5nLi4uLnV1aWQgbm90IGZvdW5kLi5cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZldGNoRW1wbG95ZXJzRnJvbUJhY2tFbmQobW9kZWw6IENsYWltQXBwRW1wUmVxdWVzdE1vZGVsLCB1cmw6IHN0cmluZykge1xuICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gdHJ1ZTtcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLnBvc3Q8Q2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsPih1cmwsIG1vZGVsKS5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICBpZihyZXMuYnBFbXBMaXN0Lmxlbmd0aCA+IDApe1xuICAgICAgICAgIHJlcy5icEVtcExpc3QuZm9yRWFjaChlbXAgPT4gdGhpcy5zZXRDaG9pc2VNb2RlbHMoZW1wKSlcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5uZXh0KHJlcyk7XG4gICAgICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW1wbG95ZXIgTGlzdCBmcm9tIFNlcnZpY2UnLCB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnIgPT4ge1xuICAgICAgICBsZXQgbGlzdCA9IG5ldyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwoKTtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UubmV4dChsaXN0KTtcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICApO1xuICB9XG4gIFxuICBkZWxldGVCcEVtcGwoZXZlbnQ6bnVtYmVyKXtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRGVsZXRlIG1ldGhvZCBjYWxsZWQgJywgZXZlbnQpO1xuICAgIHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0LnNwbGljZShldmVudCwgMSk7XG4gIH1cblxuICBkZWxldGVFbXBsb3llcihlbGVtZW50SW5kZXgpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRGVsZXRlIG1ldGhvZCBjYWxsZWQgZm9yID0gJywgZWxlbWVudEluZGV4KTtcbiAgICB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyPWZhbHNlO1xuICAgIC8vdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3RbZWxlbWVudEluZGV4XS5lbXBEZWxldGVkID0gXCJZXCI7XG4gICAgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3Quc3BsaWNlKGVsZW1lbnRJbmRleCwgMSk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0FmdGVyIGRlbGV0ZSBsaXN0IGlzID0gJywgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZSk7XG4gIH1cblxuICBkZWxldGVFbXBsb3llckJhc2VQZXJpb2QoZWxlbWVudEluZGV4KSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0RlbGV0ZSBtZXRob2QgYmFzZSBwZXJpb2QgZW1wbG95ZXIgY2FsbGVkIGZvciA9ICcsIGVsZW1lbnRJbmRleCk7XG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbZWxlbWVudEluZGV4XS53b3JrRmxhZyA9IFwiTlwiO1xuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W2VsZW1lbnRJbmRleF0uZW1wRGVsZXRlZCA9IFwiWVwiO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdBZnRlciBkZWxldGUgYmFzZSBwZXJpb2QgZW1wbG95ZXIgbGlzdCBpcyA9ICcsIHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UpO1xuICB9XG5cbiAgZWRpdEVtcGxveWVyKGVtcGxveWVyKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0VkaXQgbWV0aG9kIGNhbGxlZCcsIGVtcGxveWVyKTtcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZS5icEVtcExpc3QuaW5kZXhPZihlbXBsb3llcik7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0luZGV4IFRvIEVkaXQgPSAnLCB0aGlzLmluZGV4VG9FZGl0KTtcbiAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xuICB9XG5cbiAgZmluaXNoKGVtcGxveWVyKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0ZpbmlzaCBFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llcik7XG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IHRoaXMuY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0LmluZGV4T2YoZW1wbG95ZXIpO1xuICAgIGVtcGxveWVyLndvcmtGbGFnID0gJ1knO1xuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSB0cnVlO1xuICAgIHRoaXMuZGlzcGxheSA9IHRydWU7XG4gICAgdGhpcy5tb2RlbERpc3BsYXkuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIGVkaXRCYXNlUGVyaW9kRW1wbG95ZXIoZW1wbG95ZXIpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRWRpdCBCYXNlUGVyaW9kIEVtcGxveWVyIGNhbGxlZCBmb3IgJywgZW1wbG95ZXIpO1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSB0aGlzLmNsYWltQXBwRW1wUmVzcG9uc2VNb2RlbEZyb21TZXJ2aWNlLmJwRW1wTGlzdC5pbmRleE9mKGVtcGxveWVyKTtcbiAgICB0aGlzLmRpc3BsYXkgPSB0cnVlO1xuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSB0cnVlO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdJbmRleCBUbyBFZGl0ID0gJywgdGhpcy5pbmRleFRvRWRpdCk7XG4gIH1cblxuICBvbk1vZGVsQ2FuY2VsKGNhbmNlbDogYm9vbGVhbikge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdDYW5jZWwgTWV0aG9kICAnLCBjYW5jZWwpO1xuICAgIHRoaXMuZGlzcGxheSA9IGNhbmNlbDtcbiAgICB0aGlzLmJhc2VQZXJpb2RkaXNwbGF5ID0gY2FuY2VsO1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBudWxsO1xuICAgIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnYWZ0ZXIgdmFsdWUgY2hhbmdlIG9uIGVtcGxveWVyIGdyaWQgJywgdGhpcy5kaXNwbGF5KTtcbiAgfVxuXG4gIGFkZEVtcGxveWVyKGV2ZW50OiBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0FkZCBFbXBsb3llciBjYWxsZWQgZnJvbSBncmlkICcsIGV2ZW50LCAnaW5kZXhUb0VkaXQnLCB0aGlzLmluZGV4VG9FZGl0LCd0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyJyx0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKTtcbiAgICBldmVudC5lbXBEZWxldGVkID0gJ04nO1xuICAgIGlmICh0aGlzLmluZGV4VG9FZGl0IHx8IHRoaXMuaW5kZXhUb0VkaXQgPT0gMCkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0luc2lkZSBpZiBvZiBhZGQgZW1wbG95ZXIgLS0gJyxldmVudClcbiAgICAgIGxldCBlbXBEYXRhTW9kZWwgPSBuZXcgQ2xhaW1Pbmx5RW1wbG95ZXJEYXRhTW9kZWwoKTtcbiAgICAgIGxldCBlbXBQcm92aWRlZFdhZ2VNb2RlbCA9IG5ldyBFbXBsb3llcldhZ2VzTW9kZWwoKTtcbiAgICAgIGlmICh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSB7XG4gICAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsKCk7XG4gICAgICAgIHRoaXMuY2xhaW1kZXRhaWxNb2RlbCA9IGV2ZW50O1xuICAgICAgICBlbXBEYXRhTW9kZWwgPSAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbdGhpcy5pbmRleFRvRWRpdF0uZW1wbG95ZXJEYXRhO1xuICAgICAgICBlbXBQcm92aWRlZFdhZ2VNb2RlbCA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W3RoaXMuaW5kZXhUb0VkaXRdLmVtcGxveWVyUHJvdmlkZWRXYWdlcztcbiAgICAgICAgZXZlbnQuYnBFbXBsb3llckZsYWcgPSAnMSdcbiAgICAgICAgZXZlbnQuZW1wbG95ZXJEYXRhID0gZW1wRGF0YU1vZGVsO1xuICAgICAgICBldmVudC5lbXBsb3llclByb3ZpZGVkV2FnZXMgPSBlbXBQcm92aWRlZFdhZ2VNb2RlbDtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3Jlc2V0dGluZyB0aGUgdmFsdWUgYWdhaW4gPSAgJyxldmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwgPSBldmVudDtcbiAgICAgICAgZW1wRGF0YU1vZGVsID0gbmV3IENsYWltT25seUVtcGxveWVyRGF0YU1vZGVsKCk7XG4gICAgICAgaWYoZXZlbnQuZW1wbG95ZXJUeXBlPT09J1JFRycpe1xuICAgICAgICBlbXBEYXRhTW9kZWwuZGlzcGxheU5hbWUgPSBldmVudC5lbXBsb3llck5hbWU7XG4gICAgICAgIGVtcERhdGFNb2RlbC5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPVxuICAgICAgICBldmVudC5hZGRyZXNzWydzdHJlZXRBZGRyZXNzJ10gKyAnICcgKyBldmVudC5hZGRyZXNzWydjaXR5J10gICsgJy0nICsgKGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10gPyBldmVudC5hZGRyZXNzWydzdGF0ZSddLnRleHQgOiAnJykgKyctJyArIChldmVudC5hZGRyZXNzWydjb3VudHJ5J10gPyBldmVudC5hZGRyZXNzWydjb3VudHJ5J10udmFsdWUgOiAnJyk7XG4gICAgICB9IGVsc2UgaWYoZXZlbnQuZW1wbG95ZXJUeXBlPT09J0ZFRCcpeyBcbiAgICAgICAgZW1wRGF0YU1vZGVsLmRpc3BsYXlOYW1lID0gZXZlbnQuZmVkRW1wbG95ZXJOYW1lO1xuICAgICAgICBlbXBEYXRhTW9kZWwubWFpbGluZ0FkZHJlc3NEaXNwbGF5ID1cbiAgICAgICAgZXZlbnQuYWRkcmVzc1snc3RyZWV0QWRkcmVzcyddICsgJyAnICsgZXZlbnQuYWRkcmVzc1snY2l0eSddICArICctJyArIChldmVudC5hZGRyZXNzWydzdGF0ZSddID8gZXZlbnQuYWRkcmVzc1snc3RhdGUnXS50ZXh0IDogJycpICsgJy0nICsgKGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXSA/IGV2ZW50LmFkZHJlc3NbJ2NvdW50cnknXS52YWx1ZSA6ICcnKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIm5vIGFkZHJlc3MgZm9yIHRoaXMgZW1wbG95ZXIgdHlwZVwiKTtcbiAgICAgIH1cbiAgICAgICAgZW1wRGF0YU1vZGVsLmVtcGxveWVyVHlwZSA9IGV2ZW50LmVtcGxveWVyVHlwZTtcbiAgICAgICAgZXZlbnQuZW1wbG95ZXJEYXRhID0gZW1wRGF0YU1vZGVsO1xuICAgICAgICBlbXBEYXRhTW9kZWwuZW1wbG95ZXJJZD1ldmVudC5lbXBsb3llcklkO1xuICAgICAgICBlbXBEYXRhTW9kZWwubWFpbEFkZHJlc3NMaW5lMT1ldmVudC5hZGRyZXNzPy5zdHJlZXRBZGRyZXNzO1xuICAgICAgICBlbXBEYXRhTW9kZWwubWFpbEFkZHJlc3NMaW5lMj1ldmVudC5hZGRyZXNzPy5vcHRpb25hbEFkZHJlc3M7XG4gICAgICAgIGV2ZW50LmJwRW1wbG95ZXJGbGFnID0gJzAnXG4gICAgICB9XG4gICAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFt0aGlzLmluZGV4VG9FZGl0XSA9IGV2ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnSW5zaWRlIGVsc2Ugb2YgYWRkIGVtcGxveWVyIC0tICcsZXZlbnQpXG4gICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwgPSBuZXcgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCgpO1xuICAgICAgbGV0IGVtcERhdGFNb2RlbCA9IG5ldyBDbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCgpXG4gICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwgPSBldmVudDtcbiAgICAgIGVtcERhdGFNb2RlbCA9IG5ldyBDbGFpbU9ubHlFbXBsb3llckRhdGFNb2RlbCgpO1xuICAgICAgaWYoZXZlbnQuZW1wbG95ZXJUeXBlPT09J1JFRycpe1xuICAgICAgZW1wRGF0YU1vZGVsLmRpc3BsYXlOYW1lID0gZXZlbnQuZW1wbG95ZXJOYW1lO1xuICAgICAgZW1wRGF0YU1vZGVsLm1haWxpbmdBZGRyZXNzRGlzcGxheSA9XG4gICAgICBldmVudC5hZGRyZXNzWydzdHJlZXRBZGRyZXNzJ10gKyAnICcgKyBldmVudC5hZGRyZXNzWydjaXR5J10gICsgJy0nICsgKGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10gPyBldmVudC5hZGRyZXNzWydzdGF0ZSddLnRleHQgOiAnJykgKyAnLScgKyhldmVudC5hZGRyZXNzWydjb3VudHJ5J10gPyBldmVudC5hZGRyZXNzWydjb3VudHJ5J10udmFsdWUgOiAnJyk7XG4gICAgICB9IGVsc2UgaWYoZXZlbnQuZW1wbG95ZXJUeXBlPT09J0ZFRCcpe1xuICAgICAgICBlbXBEYXRhTW9kZWwuZGlzcGxheU5hbWUgPSBldmVudC5mZWRFbXBsb3llck5hbWU7XG4gICAgICAgIGVtcERhdGFNb2RlbC5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPVxuICAgICAgICBldmVudC5hZGRyZXNzWydzdHJlZXRBZGRyZXNzJ10gKyAnICcgKyBldmVudC5hZGRyZXNzWydjaXR5J10gKyAnLScgKyAoZXZlbnQuYWRkcmVzc1snc3RhdGUnXSA/IGV2ZW50LmFkZHJlc3NbJ3N0YXRlJ10udGV4dCA6ICcnKSArICctJyArIChldmVudC5hZGRyZXNzWydjb3VudHJ5J10gPyBldmVudC5hZGRyZXNzWydjb3VudHJ5J10udmFsdWUgOiAnJyk7XG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW5zaWRlIGVsc2UgLSBubyBhZGRyZXNzIGZvciB0aGlzIGVtcGxveWVyIHR5cGVcIik7XG4gICAgICB9XG4gICAgICBlbXBEYXRhTW9kZWwuZW1wbG95ZXJUeXBlID0gZXZlbnQuZW1wbG95ZXJUeXBlO1xuICAgICAgZW1wRGF0YU1vZGVsLmVtcGxveWVySWQ9ZXZlbnQuZW1wbG95ZXJJZDtcbiAgICAgIGVtcERhdGFNb2RlbC5tYWlsQWRkcmVzc0xpbmUxPWV2ZW50LmFkZHJlc3M/LnN0cmVldEFkZHJlc3M7XG4gICAgICBlbXBEYXRhTW9kZWwubWFpbEFkZHJlc3NMaW5lMj1ldmVudC5hZGRyZXNzPy5vcHRpb25hbEFkZHJlc3M7XG4gICAgICBpZiAodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikge1xuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwuYnBFbXBsb3llckZsYWcgPSAnMSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwuYnBFbXBsb3llckZsYWcgPSAnMCc7XG4gICAgICB9XG4gICAgICB0aGlzLmNsYWltZGV0YWlsTW9kZWwuZW1wbG95ZXJEYXRhID0gZW1wRGF0YU1vZGVsO1xuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3QucHVzaCh0aGlzLmNsYWltZGV0YWlsTW9kZWwpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXkgPSBmYWxzZTtcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gbnVsbDtcbiAgfVxuXG4gIHJlbW92ZUVtcGxveW1lbnQoc2VsZWN0ZWRFbXBsb3llcjogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCwgaW5kZXgpe1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBpbmRleDtcbiAgICB0aGlzLnNlbGVjdGVkRW1wbG95ZXIgPSBzZWxlY3RlZEVtcGxveWVyO1xuICAgIHRoaXMuc2hvd0NvbmZpcm1Qb3B1cCA9IHRydWU7XG4gIH1cblxuICByZW1vdmVCYXNlUGVyaW9kRW1wbG95ZXIoKXtcbiAgICB0aGlzLmRlbGV0ZUVtcGxveWVyQmFzZVBlcmlvZCh0aGlzLmluZGV4VG9FZGl0KTtcbiAgICB0aGlzLnNob3dDb25maXJtUG9wdXAgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkRW1wbG95ZXIgPSBudWxsO1xuICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBudWxsO1xuICB9XG5cbiAgcmVzdG9yZUVtcGxveW1lbnQoc2VsZWN0ZWRFbXBsb3llcjogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCwgaW5kZXgpe1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdEZWxldGUgbWV0aG9kIGJhc2UgcGVyaW9kIGVtcGxveWVyIGNhbGxlZCBmb3IgPSAnLCBpbmRleCk7XG4gICAgbGV0IGN1cnJlbnRXb3JrRmxhZ1ZhbHVlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKS5icEVtcExpc3RbaW5kZXhdLndvcmtGbGFnO1xuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W2luZGV4XS53b3JrRmxhZyA9IGN1cnJlbnRXb3JrRmxhZ1ZhbHVlID8gKGN1cnJlbnRXb3JrRmxhZ1ZhbHVlID09IFwiTlwiID8gXCJZXCIgOiBcIk5cIikgOiBudWxsO1xuICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkuYnBFbXBMaXN0W2luZGV4XS5lbXBEZWxldGVkID0gXCJOXCI7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ0FmdGVyIGRlbGV0ZSBiYXNlIHBlcmlvZCBlbXBsb3llciBsaXN0IGlzID0gJywgdGhpcy5jbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZSk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gbnVsbDtcbiAgICB0aGlzLnNob3dDb25maXJtUG9wdXAgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkRW1wbG95ZXIgPSBudWxsO1xuICB9XG4gIHNldENob2lzZU1vZGVscyhlbXA6IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwpOiB2b2lkIHtcbiAgICBsZXQgc2VwUmVhc29uIDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLnJlYXNvblNlcGFyYXRpb24/LnZhbHVlKTtcbiAgICBpZihzZXBSZWFzb24ubGVuZ3RoID4gMCl7XG4gICAgICBlbXAucmVhc29uU2VwYXJhdGlvbiA9IHNlcFJlYXNvblswXTtcbiAgICB9XG4gICAgbGV0IGRpc2NoYXJnZVJlYXNvbiA6IENob2ljZXNNb2RlbFtdID0gdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLmRpc2NoYXJnZURldGFpbD8udmFsdWUpO1xuICAgIGlmKGRpc2NoYXJnZVJlYXNvbi5sZW5ndGggPiAwKXtcbiAgICAgIGVtcC5kaXNjaGFyZ2VEZXRhaWwgPSBkaXNjaGFyZ2VSZWFzb25bMF07XG4gICAgfVxuICAgIGxldCB2b2xRdWl0IDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLnZvbFF1aXREZXRhaWxzPy52YWx1ZSk7XG4gICAgaWYodm9sUXVpdC5sZW5ndGggPiAwKXtcbiAgICAgIGVtcC52b2xRdWl0RGV0YWlscyA9IHZvbFF1aXRbMF07XG4gICAgfVxuICAgIGxldCBwYXlSYXRlRnJlcXVlbmN5IDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLnBheVJhdGVPcHRpb25zLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLnBheVJhdGVGcmVxdWVuY3k/LnZhbHVlKTtcbiAgICBpZihwYXlSYXRlRnJlcXVlbmN5Lmxlbmd0aCA+IDApe1xuICAgICAgZW1wLnBheVJhdGVGcmVxdWVuY3kgPSBwYXlSYXRlRnJlcXVlbmN5WzBdO1xuICAgIH1cblxuICAgIGxldCBjb3VudHJ5IDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLndvcmtDb3VudHJ5T3B0aW9ucy5maWx0ZXIocyA9PiBzLnZhbHVlID09IGVtcC5mZWRXb3JrQ291bnRyeT8udmFsdWUpO1xuICAgIGlmKGNvdW50cnkubGVuZ3RoID4gMCl7XG4gICAgICBlbXAuZmVkV29ya0NvdW50cnkgPSBjb3VudHJ5WzBdO1xuICAgIH1cblxuICAgIGxldCBzdGF0ZSA6IENob2ljZXNNb2RlbFtdID0gdGhpcy5zdGF0ZXNPcHRpb25zLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLmZlZFdvcmtTdGF0ZT8udmFsdWUpO1xuICAgIGlmKHN0YXRlLmxlbmd0aCA+IDApe1xuICAgICAgZW1wLmZlZFdvcmtTdGF0ZSA9IHN0YXRlWzBdO1xuICAgIH1cblxuICAgIGxldCBzZXJ2aWNlQnJhbmNoIDogQ2hvaWNlc01vZGVsW10gPSB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMuZmlsdGVyKHMgPT4gcy52YWx1ZSA9PSBlbXAuc2VydmljZUJyYW5jaD8udmFsdWUpO1xuICAgIGlmKHNlcnZpY2VCcmFuY2gubGVuZ3RoID4gMCl7XG4gICAgICBlbXAuc2VydmljZUJyYW5jaCA9IHNlcnZpY2VCcmFuY2hbMF07XG4gICAgfVxuXG4gICAgbGV0IHdvcmtTdGF0ZSA6IENob2ljZXNNb2RlbFtdID0gdGhpcy5zdGF0ZXNPcHRpb25zLmZpbHRlcihzID0+IHMudmFsdWUgPT0gZW1wLndvcmtTdGF0ZT8udmFsdWU/LnRyaW0oKSk7XG4gICAgZW1wLndvcmtTdGF0ZSA9IHdvcmtTdGF0ZVswXTtcblxuICB9XG59XG5cblxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtNXB4O1wiPlxyXG48aW9uLXJvdz5cclxuICA8aW9uLWNvbD4gICAgXHJcbiAgICA8ZmEtaWNvbiBbaWNvbl09XCJ1dGlsLmlzU3RhdGUoJ01TJykgPyBbJ2ZhbCcsICdlZGl0J10gOiBbJ2ZhbCcsICdjaGVjay1jaXJjbGUnXVwiPjwvZmEtaWNvbj5cclxuICAgIDxzcGFuIFtpbm5lckh0bWxdPVwidXRpbC5pc1N0YXRlKCdNUycpID8gKCdpbmR1Y3Rpb24uZW1wbG95bWVudC5zdWJoZWFkZXIuY29uZmlybS5tcycgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWwpIDogKCdpbmR1Y3Rpb24uZW1wbG95bWVudC5zdWJoZWFkZXIuY29uZmlybScgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWwpXCI+PC9zcGFuPiwmbmJzcDtcclxuICAgIDxiciBjbGFzcz1cIm1vYmlsZS1hY3Rpb24tdmlld1wiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAndHJhc2gtYWx0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uIGZvbnQtYm9sZFwiPjwvZmEtaWNvbj5cclxuICAgIDxzcGFuIFtpbm5lckh0bWxdPVwiJ2luZHVjdGlvbi5lbXBsb3ltZW50LnN1YmhlYWRlci5kZWxldGUnIHwgdHJhbnNsYXRlIHwgdHJ1c3RIdG1sXCI+PC9zcGFuPiwmbmJzcDtcclxuICAgIDxiciBjbGFzcz1cIm1vYmlsZS1hY3Rpb24tdmlld1wiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAncGx1cyddXCIgY2xhc3M9XCJhY3Rpb24taWNvbiBmb250LWJvbGRcIj48L2ZhLWljb24+XHJcbiAgICA8c3BhbiBbaW5uZXJIdG1sXT1cIidpbmR1Y3Rpb24uZW1wbG95bWVudC5zdWJoZWFkZXIuYWRkJyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiPjwvc3Bhbj4sJm5ic3A7XHJcbiAgICA8YnIgY2xhc3M9XCJtb2JpbGUtYWN0aW9uLXZpZXdcIj5cclxuICAgIDxkaXYgKm5nSWY9XCIhdXRpbC5pc1N0YXRlKCdNUycpXCIgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XCI+XHJcbiAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdlZGl0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uIGZvbnQtYm9sZFwiPjwvZmEtaWNvbj5cclxuICAgIDxzcGFuIFtpbm5lckh0bWxdPVwiJ2luZHVjdGlvbi5lbXBsb3ltZW50LnN1YmhlYWRlci5lZGl0JyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiPjwvc3Bhbj4sJm5ic3A7XHJcbiAgICA8L2Rpdj5cclxuICAgIDxiciAqbmdJZj1cIiF1dGlsLmlzU3RhdGUoJ01TJylcIiBjbGFzcz1cIm1vYmlsZS1hY3Rpb24tdmlld1wiPlxyXG4gICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAndHJhc2gtcmVzdG9yZS1hbHQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb24gZm9udC1ib2xkXCI+PC9mYS1pY29uPlxyXG4gICAgPHNwYW4gW2lubmVySHRtbF09XCInaW5kdWN0aW9uLmVtcGxveW1lbnQuc3ViaGVhZGVyLnJlc3RvcmUnIHwgdHJhbnNsYXRlIHwgdHJ1c3RIdG1sXCI+PC9zcGFuPlxyXG4gIDwvaW9uLWNvbD5cclxuPC9pb24tcm93PlxyXG5cclxuPHAtdGFibGUgI2R0IFtjb2x1bW5zXT1cImNvbHNcIiBbdmFsdWVdPVwiY2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsRnJvbVNlcnZpY2UuYnBFbXBMaXN0XCIgW2xvYWRpbmddPVwic2hvd1Byb2dyZXNzQmFyXCJcclxuIFtyb3dIb3Zlcl09XCJ0cnVlXCIgKm5nSWY9XCJjbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWxGcm9tU2VydmljZVwiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgPHRyPlxyXG4gICAgICA8dGggY29sc3Bhbj1cIjJcIiBjbGFzcz1cImRhdGFIZWFkaW5nc1wiIHN0eWxlPVwid2lkdGg6MjAlO1wiID5cclxuICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQudGFibGUuZW1wbG95ZXIubmFtZVwifHRyYW5zbGF0ZX19XHJcbiAgICAgIDwvdGg+XHJcbiAgICAgIDx0aD5cclxuICAgICAgIDwvdGg+XHJcbiAgICAgIDx0aD5cclxuICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQudGFibGUuam9iLnRpdGxlXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgIDwvdGg+XHJcbiAgICAgICA8dGg+XHJcbiAgICAgICAge3tcImluZHVjdGlvbi5lbXBsb3ltZW50LnRhYmxlLnBheVwifHRyYW5zbGF0ZX19XHJcbiAgICAgICA8L3RoPlxyXG4gICAgICAgPHRoPlxyXG4gICAgICAgIHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC50YWJsZS5kYXRlc1wifHRyYW5zbGF0ZX19XHJcbiAgICAgICA8L3RoPlxyXG4gICAgICAgPHRoPlxyXG4gICAgICAgIHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC50YWJsZS5zZXAucmVhc29uXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgIDwvdGg+XHJcbiAgICAgICBcclxuICAgIDwvdHI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICBcclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbXBsb3llciBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gICAgPHRyIGNsYXNzPVwidWktc2VsZWN0YWJsZS1yb3dcIiBbbmdDbGFzc109XCJlbXBsb3llci5lbXBEZWxldGVkPT0nWScgPyAnc3RyaWtldGhyb3VnaCcgOiBudWxsXCIgKm5nSWY9XCJlbXBsb3llci5kaXNwbGF5U2Vhc29uYWxFbXAgPT09IHRydWVcIj5cclxuICAgICAgXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLm9zYUJwRW1wbG95ZXJGbGFnID09PSAnMScgJiYgZW1wbG95ZXIuZW1wbG95ZXJUeXBlID09PSdSRUcnICYmIGVtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5U3RhdGUgIT0gbnVsbDsgZWxzZSB3b3JrU3RhdGVcIiAgY29sc3Bhbj1cIjJcIiBjbGFzcz1cImRhdGFIZWFkaW5nc1wiIHN0eWxlPVwid2lkdGg6MjAlO1wiID48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+RW1wbG95ZXI8L3NwYW4+PHNwYW4gY2xhc3M9XCJkaXNwbGF5TmFtZVwiPlxyXG4gICAgICAgIHt7ZW1wbG95ZXIuZW1wbG95ZXJEYXRhLmRpc3BsYXlOYW1lfX0gLSB7e2VtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5U3RhdGUudGV4dH19PGJyPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjd29ya1N0YXRlPlxyXG4gICAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLm9zYUJwRW1wbG95ZXJGbGFnID09PSAnMScgJiYgZW1wbG95ZXIuZW1wbG95ZXJUeXBlID09PSdSRUcnICYmIGVtcGxveWVyLndvcmtTdGF0ZSAhPSBudWxsOyBlbHNlIG5vdE9zYUJwQW5kUmVnRW1wbG95ZXJcIiAgY29sc3Bhbj1cIjJcIiBjbGFzcz1cImRhdGFIZWFkaW5nc1wiIHN0eWxlPVwid2lkdGg6MjAlO1wiID48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+RW1wbG95ZXI8L3NwYW4+PHNwYW4gY2xhc3M9XCJkaXNwbGF5TmFtZVwiPlxyXG4gICAgICAgICAge3tlbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWV9fSAtIHt7ZW1wbG95ZXIud29ya1N0YXRlLnRleHR9fTxicj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlICNub3RPc2FCcEFuZFJlZ0VtcGxveWVyPlxyXG4gICAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZSAmJiBlbXBsb3llci5lbXBsb3llclR5cGUhPSdNSUwnXCIgIGNvbHNwYW49XCIyXCIgY2xhc3M9XCJkYXRhSGVhZGluZ3NcIiBzdHlsZT1cIndpZHRoOjIwJTtcIiA+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPkVtcGxveWVyPC9zcGFuPjxzcGFuIGNsYXNzPVwiZGlzcGxheU5hbWVcIj5cclxuICAgICAgICAgIHt7ZW1wbG95ZXIuZW1wbG95ZXJEYXRhLmRpc3BsYXlOYW1lfX0gPGJyPlxyXG4gICAgICAgIDwvc3Bhbj48ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiIGNsYXNzPVwiZGlzcGxheU5hbWVUZXh0XCIgW2lubmVySHRtbF09XCJlbXBsb3llci5lbXBsb3llckRhdGEubWFpbGluZ0FkZHJlc3NEaXNwbGF5IHwgdHJ1c3RIdG1sXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC90ZD4gICAgICAgICBcclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICBcclxuICAgICAgPHRkICpuZ0lmPVwiIWVtcGxveWVyLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZSAmJiBlbXBsb3llci5lbXBsb3llclR5cGUhPSdNSUwnXCIgIGNvbHNwYW49XCIyXCIgY2xhc3M9XCJkYXRhSGVhZGluZ3NcIiBzdHlsZT1cIndpZHRoOjIwJTtcIiA+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPkVtcGxveWVyPC9zcGFuPjxzcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZT09PSdNSUwnXCIgY29sc3Bhbj1cIjJcIiBjbGFzcz1cImRhdGFIZWFkaW5nc1wiIHN0eWxlPVwid2lkdGg6MjAlO1wiID48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+RW1wbG95ZXI8L3NwYW4+PHNwYW4+XHJcbiAgICAgICAgICB7e2VtcGxveWVyLnNlcnZpY2VCcmFuY2gudGV4dH19IDxicj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj4gXHJcbiAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMScgJiYgZW1wbG95ZXIucGF5UmF0ZSAmJiBlbXBsb3llci5zdGFydERhdGUgJiYgZW1wbG95ZXIuZW1wRGVsZXRlZCE9J1knXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiBcclxuICAgICAgICAgIChjbGljayk9XCJlZGl0QmFzZVBlcmlvZEVtcGxveWVyKGVtcGxveWVyKTtcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiQWRkIGVtcGxveWVyXCI+XHJcbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdlZGl0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJlbXBsb3llci5icEVtcGxveWVyRmxhZz09PScwJ1wiIGNvbG9yPVwic3VjY2Vzc1wiIGZpbGw9XCJvdXRsaW5lXCIgXHJcbiAgICAgICAgICAoY2xpY2spPVwiZWRpdEVtcGxveWVyKGVtcGxveWVyKTtcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIiBhcmlhLWxhYmVsPVwiRWRpdCBlbXBsb3llclwiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAnZWRpdCddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIFtpZF09XCInYnRuQ29uZmlybUVtcGxveWVyLScgKyByb3dJbmRleFwiIHNpemU9XCJzbWFsbFwiICpuZ0lmPVwiZW1wbG95ZXIuYnBFbXBsb3llckZsYWc9PT0nMScgJiYgIWVtcGxveWVyLnBheVJhdGUgJiYgIWVtcGxveWVyLnN0YXJ0RGF0ZSAmJiBlbXBsb3llci5lbXBEZWxldGVkIT0nWSdcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImZpbmlzaChlbXBsb3llcik7XCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkNvbmZpcm0gZW1wbG95ZXJcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cInV0aWwuaXNTdGF0ZSgnTVMnKSA/IFsnZmFsJywgJ2VkaXQnXSA6IFsnZmFsJywgJ2NoZWNrLWNpcmNsZSddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcblxyXG4gICAgICAgIDxpb24tYnV0dG9uIFtpZF09XCInYnRuRGVsZXRlRW1wbG95ZXItJyArIHJvd0luZGV4XCIgc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJlbXBsb3llci5icEVtcGxveWVyRmxhZz09PScwJ1wiIGNvbG9yPVwic3VjY2Vzc1wiIGZpbGw9XCJvdXRsaW5lXCIgXHJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlRW1wbG95ZXIocm93SW5kZXgpO1wiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJSZW1vdmUgZW1wbG95ZXJcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogNXB4O1wiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAndHJhc2gtYWx0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPGlvbi1idXR0b24gW2lkXT1cIididG5SZW1vdmVFbXBsb3llci0nICsgcm93SW5kZXhcIiBzaXplPVwic21hbGxcIiAqbmdJZj1cImVtcGxveWVyLmJwRW1wbG95ZXJGbGFnPT09JzEnICYmIGVtcGxveWVyLmVtcERlbGV0ZWQhPSdZJ1wiIGNvbG9yPVwic3VjY2Vzc1wiIGZpbGw9XCJvdXRsaW5lXCIgXHJcbiAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlRW1wbG95bWVudChlbXBsb3llciwgcm93SW5kZXgpO1wiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJSZW1vdmUgZW1wbG95ZXJcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogNXB4O1wiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAndHJhc2gtYWx0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgKm5nSWY9XCJlbXBsb3llci5icEVtcGxveWVyRmxhZz09PScxJyAmJiBlbXBsb3llci5lbXBEZWxldGVkPT0nWSdcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIFxyXG4gICAgICAgICAgKGNsaWNrKT1cInJlc3RvcmVFbXBsb3ltZW50KGVtcGxveWVyLCByb3dJbmRleCk7XCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cIlJlc3RvcmVcIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3RyYXNoLXJlc3RvcmUtYWx0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgPC90ZD4gICAgXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmpvYlRpbGVPclBvc2l0aW9uICYmICFlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5Kb2IgVGl0bGU8L3NwYW4+e3tlbXBsb3llci5qb2JUaWxlT3JQb3NpdGlvbn19PC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmZlZEpvYlRpbGVPclBvc2l0aW9uICYmICFlbXBsb3llci5qb2JUaWxlT3JQb3NpdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5Kb2IgVGl0bGU8L3NwYW4+e3tlbXBsb3llci5mZWRKb2JUaWxlT3JQb3NpdGlvbn19PC90ZD5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZSA9PSdNSUwnXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPkpvYiBUaXRsZTwvc3Bhbj48L3RkPlxyXG5cclxuICAgICAgICAgICAgXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZSAhPSdNSUwnICYmIGVtcGxveWVyLnBheVJhdGUgJiYgZW1wbG95ZXIucGF5UmF0ZUZyZXF1ZW5jeVwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5QYXk8L3NwYW4+e3tlbXBsb3llci5wYXlSYXRlIHwgY3VycmVuY3l9fS97e2VtcGxveWVyLnBheVJhdGVGcmVxdWVuY3kudGV4dH19PC90ZD5cclxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZW1wbG95ZXJUeXBlID09J01JTCdcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+UGF5PC9zcGFuPjwvdGQ+XHJcblxyXG4gICAgICBcclxuICAgICAgPHRkICpuZ0lmPVwiZW1wbG95ZXIuZW1wbG95ZXJUeXBlPT09J1JFRycgJiYgZW1wbG95ZXIuc3RhcnREYXRlICYmIGVtcGxveWVyLmVuZERhdGVcIj48c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+U3RhcnQgYW5kIEVuZDwvc3Bhbj5cclxuICAgICAgICB7e2VtcGxveWVyLnN0YXJ0RGF0ZSB8IGRhdGU6J00vZC95eXl5J319IC0ge3tlbXBsb3llci5lbmREYXRlIHwgZGF0ZTonTS9kL3l5eXknfX1cclxuICAgICAgPC90ZD5cclxuICAgICAgXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZT09PSdGRUQnICYmIGVtcGxveWVyLnN0YXJ0RGF0ZUZlZCAmJiBlbXBsb3llci5lbmREYXRlRmVkXCI+PHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPlN0YXJ0IGFuZCBFbmQ8L3NwYW4+XHJcbiAgICAgICAge3tlbXBsb3llci5zdGFydERhdGVGZWQgfCBkYXRlOidNL2QveXl5eSd9fSAtIHt7ZW1wbG95ZXIuZW5kRGF0ZUZlZCB8IGRhdGU6J00vZC95eXl5J319XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGU9PT0nTUlMJyAmJiBlbXBsb3llci5zdGFydERhdGVNaWwgJiYgZW1wbG95ZXIuZW5kRGF0ZU1pbFwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5TdGFydCBhbmQgRW5kPC9zcGFuPlxyXG4gICAgICAgIHt7ZW1wbG95ZXIuc3RhcnREYXRlTWlsIHwgZGF0ZTonTS9kL3l5eXknfX0gLSB7e2VtcGxveWVyLmVuZERhdGVNaWwgfCBkYXRlOidNL2QveXl5eSd9fVxyXG4gICAgICA8L3RkPlxyXG5cclxuXHJcbiAgICAgIDx0ZCAqbmdJZj1cImVtcGxveWVyLmVtcGxveWVyVHlwZSE9J01JTCcgJiYgZW1wbG95ZXIucmVhc29uU2VwYXJhdGlvblwiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5TZXBhcmF0aW9uIFJlYXNvbjwvc3Bhbj57e2VtcGxveWVyLnJlYXNvblNlcGFyYXRpb24udGV4dH19XHJcbiAgICAgIDwvdGQ+XHJcblxyXG4gICAgICA8dGQgKm5nSWY9XCJlbXBsb3llci5lbXBsb3llclR5cGU9PT0nTUlMJ1wiPjxzcGFuIGNsYXNzPVwicC1jb2x1bW4tdGl0bGVcIj5TZXBhcmF0aW9uIFJlYXNvbjwvc3Bhbj5cclxuICAgICAgPC90ZD5cclxuICAgICAgXHJcbiAgICAgIDx0ZCBjb2xzcGFuPVwiNFwiPjwvdGQ+XHJcblxyXG4gICAgICBcclxuICAgICAgXHJcbiAgICA8L3RyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJzdW1tYXJ5XCIgbGV0LWNvbHVtbnM+XHJcbiAgICA8dGFibGU+XHJcbiAgICAgIDx0cj5cclxuICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCIyXCIgc3R5bGU9XCJ3aWR0aDogNDAlO1wiIGNsYXNzPVwiYWN0aW9uLWZvb3RlclwiPlxyXG4gICAgICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cIidpbmR1Y3Rpb24uZW1wbG95bWVudC5mb290ZXIubGFiZWwnIHwgdHJhbnNsYXRlIHwgdHJ1c3RIdG1sXCI+PC9kaXY+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJhZGQtZW1wbG95ZXJcIj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgKGNsaWNrKT1cImFkZE5ld0VtcERldGFpbHMoKVwiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJBZGQgZW1wbG95ZXJcIiBbaWRdPVwiJ2J0bkFkZEVtcGxveWVyJ1wiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdwbHVzJ11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPHRkIGNvbHNwYW49XCI0XCI+Jm5ic3A7PC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvcC10YWJsZT5cclxuICA8YXBwLWFkZC1lbXBsb3llciAqbmdJZj1cImRpc3BsYXlcIiAoc3VjY2Vzcyk9XCJhZGRFbXBsb3llcigkZXZlbnQpXCIgIFtyZWNvcmRJbmRleFRvRWRpdF09XCJpbmRleFRvRWRpdFwiIFxyXG4gICAgKGJhc2VQZXJpb2RJbmRleCk9XCJkZWxldGVCcEVtcGwoJGV2ZW50KVwiIFtpc0Jhc2VQZXJpb2RFbXBsb3llcl09XCJpc0Jhc2VQZXJpb2RFbXBsb3llclwiIFtpc05ld0NsYWltXT1cImlzTmV3Q2xhaW1cIiBcclxuICAgIChtb2RlbENhbmNlbCk9XCJvbk1vZGVsQ2FuY2VsKCRldmVudClcIiBbZG9iXT1cImNsYWltYW50RG9iXCI+XHJcbiAgPC9hcHAtYWRkLWVtcGxveWVyPlxyXG5cclxuICA8cC1kaWFsb2cgW3Zpc2libGVdPVwic2hvd0NvbmZpcm1Qb3B1cFwiIFttb2RhbF09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgcG9zaXRpb249XCJ0b3BcIiBbYnJlYWtwb2ludHNdPVwieycxMjAwcHgnOiAnNjYwcHgnLCAnOTkycHgnOiAnNjYwcHgnLCAnNzY4cHgnOiAnNjYwcHgnLCAnNTc2cHgnOiAnMTAwdncnfVwiIFtzdHlsZV09XCJ7d2lkdGg6ICc0NXZ3J31cIlxyXG4gICAgW2Jhc2VaSW5kZXhdPVwiNTAwMFwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIiBbcmVzaXphYmxlXT1cImZhbHNlXCIgYXBwZW5kVG89XCJib2R5XCIgY2xvc2VPbkVzY2FwZT1cImZhbHNlXCIgKm5nSWY9XCJzZWxlY3RlZEVtcGxveWVyXCI+XHJcbiAgICAgICAgPGg0IGNsYXNzPVwiaGVhZGluZ1wiPnt7J2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAuaGVhZGluZycgfCB0cmFuc2xhdGV9fTwvaDQ+XHJcbiAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgIHt7c2VsZWN0ZWRFbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWV9fVxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cInNlbGVjdGVkRW1wbG95ZXIuZW1wbG95ZXJEYXRhLnRyYWRlTmFtZSAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmRiYVwifHRyYW5zbGF0ZX19IHt7c2VsZWN0ZWRFbXBsb3llci5lbXBsb3llckRhdGEudHJhZGVOYW1lfX08L2Rpdj5cclxuICAgICAgICAgIDxicj5cclxuICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICA8aW9uLWxhYmVsPjxkaXYgc3R5bGU9XCJmb250LXNpemU6IDEycHg7XCIgW2lubmVySHRtbF09XCJzZWxlY3RlZEVtcGxveWVyLmVtcGxveWVyRGF0YS5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgfCB0cnVzdEh0bWxcIj48L2Rpdj48L2lvbi1sYWJlbD48YnIvPlxyXG4gICAgICAgIDxpb24tbGFiZWw+XHJcbiAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLmZhaWx1cmUubGFiZWwnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L2lvbi1sYWJlbD48YnIvPjxici8+XHJcbiAgICAgICAgPGlvbi1sYWJlbD5cclxuICAgICAgICAgIDxkaXYgW2lubmVySHRtbF09XCJbJ2luZHVjdGlvbi5lbXBsb3ltZW50LmdyaWQucG9wdXAuZGlkbnQud29yay5sYWJlbCcgfCB0cmFuc2xhdGVdXCI+PC9kaXY+XHJcbiAgICAgICAgPC9pb24tbGFiZWw+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImZvb3RlclwiPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgICAgICAgICAgICB7eydpbmR1Y3Rpb24uZW1wbG95bWVudC5ncmlkLnBvcHVwLmNhbmNlbCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgZmlsbD1cInNvbGlkXCIgKGNsaWNrKT1cInJlbW92ZUJhc2VQZXJpb2RFbXBsb3llcigpXCI+XHJcbiAgICAgICAgICAgICAge3snaW5kdWN0aW9uLmVtcGxveW1lbnQuZ3JpZC5wb3B1cC5yZW1vdmUnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L3AtZGlhbG9nPlxyXG48L2Rpdj4iXX0=