@ksremp/ngx-ksremp-app-lib 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/README.md +46 -0
  2. package/esm2022/ksremp-ngx-ksremp-app-lib.mjs +5 -0
  3. package/esm2022/lib/annimations/app-animations.mjs +37 -0
  4. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2655 -0
  5. package/esm2022/lib/components/add-participant/add-participant.component.mjs +399 -0
  6. package/esm2022/lib/components/add-payment/add-payment.component.mjs +201 -0
  7. package/esm2022/lib/components/address/address.component.mjs +565 -0
  8. package/esm2022/lib/components/bank-details/bank-details.component.mjs +416 -0
  9. package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
  10. package/esm2022/lib/components/card/card.component.mjs +55 -0
  11. package/esm2022/lib/components/contact-us/contact-us.component.mjs +984 -0
  12. package/esm2022/lib/components/content/content.component.mjs +61 -0
  13. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +89 -0
  14. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
  15. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +301 -0
  16. package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
  17. package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
  18. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
  19. package/esm2022/lib/components/email-update/email-update.component.mjs +376 -0
  20. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +1102 -0
  21. package/esm2022/lib/components/error/error.component.mjs +86 -0
  22. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
  23. package/esm2022/lib/components/file-download/file-download.component.mjs +104 -0
  24. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
  25. package/esm2022/lib/components/footer/footer.component.mjs +350 -0
  26. package/esm2022/lib/components/header/header.component.mjs +535 -0
  27. package/esm2022/lib/components/help/help.component.mjs +49 -0
  28. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +76 -0
  29. package/esm2022/lib/components/info/info.component.mjs +187 -0
  30. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +212 -0
  31. package/esm2022/lib/components/job-title/job-title.component.mjs +162 -0
  32. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +617 -0
  33. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
  34. package/esm2022/lib/components/link/link.component.mjs +131 -0
  35. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
  36. package/esm2022/lib/components/mask/mask.component.mjs +48 -0
  37. package/esm2022/lib/components/menu/menu.component.mjs +452 -0
  38. package/esm2022/lib/components/mfa/mfa.component.mjs +574 -0
  39. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +57 -0
  40. package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
  41. package/esm2022/lib/components/money-expect/money-expect.component.mjs +98 -0
  42. package/esm2022/lib/components/msg/msg.component.mjs +48 -0
  43. package/esm2022/lib/components/news/news.component.mjs +90 -0
  44. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
  45. package/esm2022/lib/components/page/page.component.mjs +136 -0
  46. package/esm2022/lib/components/profile/profile.component.mjs +505 -0
  47. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +70 -0
  48. package/esm2022/lib/components/questionnaire/AppValidators.mjs +541 -0
  49. package/esm2022/lib/components/questionnaire/FbConstants.mjs +8 -0
  50. package/esm2022/lib/components/questionnaire/SelectItem.mjs +2 -0
  51. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +310 -0
  52. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +528 -0
  53. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1115 -0
  54. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +2521 -0
  55. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1788 -0
  56. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +256 -0
  57. package/esm2022/lib/components/questionnaire/input-focus.directive.mjs +44 -0
  58. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +255 -0
  59. package/esm2022/lib/components/questionnaire/question-base.mjs +3 -0
  60. package/esm2022/lib/components/questionnaire/question-control.service.mjs +408 -0
  61. package/esm2022/lib/components/questionnaire/question.service.mjs +33 -0
  62. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +282 -0
  63. package/esm2022/lib/components/read-more/read-more.component.mjs +72 -0
  64. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
  65. package/esm2022/lib/components/search-employer/search-employer.component.mjs +132 -0
  66. package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
  67. package/esm2022/lib/components/select/select.component.mjs +159 -0
  68. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +141 -0
  69. package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
  70. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +171 -0
  71. package/esm2022/lib/components/test/test.component.mjs +19 -0
  72. package/esm2022/lib/components/user-login/user-login.component.mjs +619 -0
  73. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +772 -0
  74. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +356 -0
  75. package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +31 -0
  76. package/esm2022/lib/directives/caps-lock.directive.mjs +38 -0
  77. package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +30 -0
  78. package/esm2022/lib/enums/EmailStatusEnum.mjs +9 -0
  79. package/esm2022/lib/guards/auth.guard.mjs +138 -0
  80. package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
  81. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -0
  82. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -0
  83. package/esm2022/lib/models/AddressComponentModel.mjs +3 -0
  84. package/esm2022/lib/models/BankDetailsComponentModel.mjs +3 -0
  85. package/esm2022/lib/models/BankDetailsModel.mjs +3 -0
  86. package/esm2022/lib/models/CinRequalificationCriteriaModel.mjs +3 -0
  87. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +6 -0
  88. package/esm2022/lib/models/ErrorModel.mjs +6 -0
  89. package/esm2022/lib/models/FileModel.mjs +2 -0
  90. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  91. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  92. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  93. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  94. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  95. package/esm2022/lib/models/LibConstants.mjs +132 -0
  96. package/esm2022/lib/models/NewsAndAnnouncementModel.mjs +3 -0
  97. package/esm2022/lib/models/NotificationModel.mjs +6 -0
  98. package/esm2022/lib/models/OtpAuthModel.mjs +3 -0
  99. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  100. package/esm2022/lib/models/PaymentComponentModel.mjs +2 -0
  101. package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
  102. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  103. package/esm2022/lib/models/SsaVerificationModel.mjs +3 -0
  104. package/esm2022/lib/models/TrendModel.mjs +3 -0
  105. package/esm2022/lib/models/UserDetailsModel.mjs +3 -0
  106. package/esm2022/lib/models/UserModel.mjs +6 -0
  107. package/esm2022/lib/models/case/CaseAttachmentModel.mjs +3 -0
  108. package/esm2022/lib/models/claimant/ClaimantModel.mjs +3 -0
  109. package/esm2022/lib/models/claimant/JobResultsData.mjs +3 -0
  110. package/esm2022/lib/models/claimant/MatchingJobs.mjs +3 -0
  111. package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +3 -0
  112. package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
  113. package/esm2022/lib/models/cmp/ComplaintCategoryModel.mjs +3 -0
  114. package/esm2022/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -0
  115. package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
  116. package/esm2022/lib/models/cmp/EmailTemplateModel.mjs +3 -0
  117. package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
  118. package/esm2022/lib/models/cmp/messageRourceModel.mjs +3 -0
  119. package/esm2022/lib/models/dashboard-model.mjs +3 -0
  120. package/esm2022/lib/models/dependent.model.mjs +8 -0
  121. package/esm2022/lib/models/questionnaire/AutocoderModel.mjs +3 -0
  122. package/esm2022/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +3 -0
  123. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +8 -0
  124. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +6 -0
  125. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +3 -0
  126. package/esm2022/lib/models/questionnaire/ComboModel.mjs +1010 -0
  127. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +8 -0
  128. package/esm2022/lib/models/questionnaire/EmployerDetailSearchResult.mjs +3 -0
  129. package/esm2022/lib/models/questionnaire/EmployerWagesModel.mjs +3 -0
  130. package/esm2022/lib/models/questionnaire/FBConfigModel.mjs +6 -0
  131. package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +3 -0
  132. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +3 -0
  133. package/esm2022/lib/models/questionnaire/LoaderModel.mjs +3 -0
  134. package/esm2022/lib/models/questionnaire/PollingStatusModel.mjs +3 -0
  135. package/esm2022/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +3 -0
  136. package/esm2022/lib/models/questionnaire/QuestionnaireQueryModel.mjs +8 -0
  137. package/esm2022/lib/models/questionnaire/QuestionnaireReturnModel.mjs +11 -0
  138. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +3 -0
  139. package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
  140. package/esm2022/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -0
  141. package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
  142. package/esm2022/lib/models/questionnaire/SuccessPageElement.mjs +3 -0
  143. package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
  144. package/esm2022/lib/models/questionnaire/ValidationModel.mjs +3 -0
  145. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
  146. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +410 -0
  147. package/esm2022/lib/ngx-reusa-app-lib.service.mjs +14 -0
  148. package/esm2022/lib/pages/BasePage.mjs +98 -0
  149. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +77 -0
  150. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +471 -0
  151. package/esm2022/lib/pages/common/landing/landing.component.mjs +209 -0
  152. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
  153. package/esm2022/lib/pages/common/login/login.component.mjs +533 -0
  154. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
  155. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
  156. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
  157. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
  158. package/esm2022/lib/pages/popovers/language/language.page.mjs +62 -0
  159. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
  160. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
  161. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
  162. package/esm2022/lib/pipes/filter.pipe.mjs +30 -0
  163. package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +23 -0
  164. package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +27 -0
  165. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -0
  166. package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +20 -0
  167. package/esm2022/lib/services/base-service.mjs +50 -0
  168. package/esm2022/lib/services/captcha/captcha.service.mjs +46 -0
  169. package/esm2022/lib/services/case-service/case.service.mjs +47 -0
  170. package/esm2022/lib/services/chatbot/chatbot.service.mjs +258 -0
  171. package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
  172. package/esm2022/lib/services/claimant/claimant.service.mjs +31 -0
  173. package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
  174. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  175. package/esm2022/lib/services/claimant-service/claimant.service.mjs +62 -0
  176. package/esm2022/lib/services/claims/claims.service.mjs +102 -0
  177. package/esm2022/lib/services/cmp-service/cmp.service.mjs +84 -0
  178. package/esm2022/lib/services/dms-service/dms.service.mjs +60 -0
  179. package/esm2022/lib/services/fpjs/fingerprint.service.mjs +70 -0
  180. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +29 -0
  181. package/esm2022/lib/services/help/help.service.mjs +63 -0
  182. package/esm2022/lib/services/idle/idle.service.mjs +159 -0
  183. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  184. package/esm2022/lib/services/logger/logger.service.mjs +67 -0
  185. package/esm2022/lib/services/login/login.service.mjs +343 -0
  186. package/esm2022/lib/services/maintenance/maintenance.service.mjs +21 -0
  187. package/esm2022/lib/services/notification/notification.service.mjs +113 -0
  188. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  189. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +69 -0
  190. package/esm2022/lib/services/questionnaire/validation.service.mjs +59 -0
  191. package/esm2022/lib/services/security-service/security.service.mjs +42 -0
  192. package/esm2022/lib/services/tour/tour.service.mjs +60 -0
  193. package/esm2022/lib/services/util/util.service.mjs +450 -0
  194. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +42 -0
  195. package/esm2022/lib/validations/AppRegex.mjs +51 -0
  196. package/esm2022/lib/validations/AppValidators.mjs +253 -0
  197. package/esm2022/public-api.mjs +138 -0
  198. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs +33786 -0
  199. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs.map +1 -0
  200. package/index.d.ts +6 -0
  201. package/ksremp-ngx-ksremp-app-lib.d.ts.map +1 -0
  202. package/lib/annimations/app-animations.d.ts +4 -0
  203. package/lib/annimations/app-animations.d.ts.map +1 -0
  204. package/lib/components/add-employer/add-employer.component.d.ts +234 -0
  205. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -0
  206. package/lib/components/add-participant/add-participant.component.d.ts +49 -0
  207. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -0
  208. package/lib/components/add-payment/add-payment.component.d.ts +33 -0
  209. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -0
  210. package/lib/components/address/address.component.d.ts +81 -0
  211. package/lib/components/address/address.component.d.ts.map +1 -0
  212. package/lib/components/bank-details/bank-details.component.d.ts +62 -0
  213. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -0
  214. package/lib/components/captcha/captcha.component.d.ts +45 -0
  215. package/lib/components/captcha/captcha.component.d.ts.map +1 -0
  216. package/lib/components/card/card.component.d.ts +12 -0
  217. package/lib/components/card/card.component.d.ts.map +1 -0
  218. package/lib/components/contact-us/contact-us.component.d.ts +109 -0
  219. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -0
  220. package/lib/components/content/content.component.d.ts +14 -0
  221. package/lib/components/content/content.component.d.ts.map +1 -0
  222. package/lib/components/correspondence-download/correspondence-download.component.d.ts +22 -0
  223. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -0
  224. package/lib/components/dashboard-card/dashboard-card.component.d.ts +26 -0
  225. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -0
  226. package/lib/components/dependent-grid/dependent-grid.component.d.ts +36 -0
  227. package/lib/components/dependent-grid/dependent-grid.component.d.ts.map +1 -0
  228. package/lib/components/disclosure/disclosure.component.d.ts +13 -0
  229. package/lib/components/disclosure/disclosure.component.d.ts.map +1 -0
  230. package/lib/components/dropdown/dropdown.component.d.ts +582 -0
  231. package/lib/components/dropdown/dropdown.component.d.ts.map +1 -0
  232. package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
  233. package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
  234. package/lib/components/email-update/email-update.component.d.ts +43 -0
  235. package/lib/components/email-update/email-update.component.d.ts.map +1 -0
  236. package/lib/components/employer-grid/employer-grid.component.d.ts +90 -0
  237. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -0
  238. package/lib/components/error/error.component.d.ts +18 -0
  239. package/lib/components/error/error.component.d.ts.map +1 -0
  240. package/lib/components/fav-menu/fav-menu.component.d.ts +22 -0
  241. package/lib/components/fav-menu/fav-menu.component.d.ts.map +1 -0
  242. package/lib/components/file-download/file-download.component.d.ts +23 -0
  243. package/lib/components/file-download/file-download.component.d.ts.map +1 -0
  244. package/lib/components/file-uploader/file-uploader.component.d.ts +48 -0
  245. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -0
  246. package/lib/components/footer/footer.component.d.ts +37 -0
  247. package/lib/components/footer/footer.component.d.ts.map +1 -0
  248. package/lib/components/header/header.component.d.ts +64 -0
  249. package/lib/components/header/header.component.d.ts.map +1 -0
  250. package/lib/components/help/help.component.d.ts +11 -0
  251. package/lib/components/help/help.component.d.ts.map +1 -0
  252. package/lib/components/idle-detector/idle-detector.component.d.ts +16 -0
  253. package/lib/components/idle-detector/idle-detector.component.d.ts.map +1 -0
  254. package/lib/components/info/info.component.d.ts +23 -0
  255. package/lib/components/info/info.component.d.ts.map +1 -0
  256. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +24 -0
  257. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -0
  258. package/lib/components/job-title/job-title.component.d.ts +38 -0
  259. package/lib/components/job-title/job-title.component.d.ts.map +1 -0
  260. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +39 -0
  261. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -0
  262. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  263. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  264. package/lib/components/link/link.component.d.ts +35 -0
  265. package/lib/components/link/link.component.d.ts.map +1 -0
  266. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +16 -0
  267. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts.map +1 -0
  268. package/lib/components/mask/mask.component.d.ts +12 -0
  269. package/lib/components/mask/mask.component.d.ts.map +1 -0
  270. package/lib/components/menu/menu.component.d.ts +54 -0
  271. package/lib/components/menu/menu.component.d.ts.map +1 -0
  272. package/lib/components/mfa/mfa.component.d.ts +72 -0
  273. package/lib/components/mfa/mfa.component.d.ts.map +1 -0
  274. package/lib/components/mfa-popup/mfa-popup.component.d.ts +19 -0
  275. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -0
  276. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  277. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  278. package/lib/components/money-expect/money-expect.component.d.ts +19 -0
  279. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -0
  280. package/lib/components/msg/msg.component.d.ts +11 -0
  281. package/lib/components/msg/msg.component.d.ts.map +1 -0
  282. package/lib/components/news/news.component.d.ts +15 -0
  283. package/lib/components/news/news.component.d.ts.map +1 -0
  284. package/lib/components/overlay-info/overlay-info.component.d.ts +35 -0
  285. package/lib/components/overlay-info/overlay-info.component.d.ts.map +1 -0
  286. package/lib/components/page/page.component.d.ts +24 -0
  287. package/lib/components/page/page.component.d.ts.map +1 -0
  288. package/lib/components/profile/profile.component.d.ts +74 -0
  289. package/lib/components/profile/profile.component.d.ts.map +1 -0
  290. package/lib/components/profile-redirect/profile-redirect.component.d.ts +14 -0
  291. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -0
  292. package/lib/components/questionnaire/AppValidators.d.ts +16 -0
  293. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -0
  294. package/lib/components/questionnaire/FbConstants.d.ts +8 -0
  295. package/lib/components/questionnaire/FbConstants.d.ts.map +1 -0
  296. package/lib/components/questionnaire/SelectItem.d.ts +5 -0
  297. package/lib/components/questionnaire/SelectItem.d.ts.map +1 -0
  298. package/lib/components/questionnaire/account-success/account-success.page.d.ts +61 -0
  299. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -0
  300. package/lib/components/questionnaire/common-success/common-success.page.d.ts +77 -0
  301. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -0
  302. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +47 -0
  303. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -0
  304. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +128 -0
  305. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -0
  306. package/lib/components/questionnaire/dynamic-form.component.d.ts +161 -0
  307. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -0
  308. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +74 -0
  309. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -0
  310. package/lib/components/questionnaire/input-focus.directive.d.ts +12 -0
  311. package/lib/components/questionnaire/input-focus.directive.d.ts.map +1 -0
  312. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +39 -0
  313. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -0
  314. package/lib/components/questionnaire/question-base.d.ts +17 -0
  315. package/lib/components/questionnaire/question-base.d.ts.map +1 -0
  316. package/lib/components/questionnaire/question-control.service.d.ts +21 -0
  317. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -0
  318. package/lib/components/questionnaire/question.service.d.ts +19 -0
  319. package/lib/components/questionnaire/question.service.d.ts.map +1 -0
  320. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +83 -0
  321. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -0
  322. package/lib/components/read-more/read-more.component.d.ts +15 -0
  323. package/lib/components/read-more/read-more.component.d.ts.map +1 -0
  324. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +68 -0
  325. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -0
  326. package/lib/components/search-employer/search-employer.component.d.ts +40 -0
  327. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -0
  328. package/lib/components/security-question/security-question.component.d.ts +37 -0
  329. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  330. package/lib/components/select/select.component.d.ts +56 -0
  331. package/lib/components/select/select.component.d.ts.map +1 -0
  332. package/lib/components/sign-ssn/sign-ssn.component.d.ts +34 -0
  333. package/lib/components/sign-ssn/sign-ssn.component.d.ts.map +1 -0
  334. package/lib/components/ssn/ssn.component.d.ts +12 -0
  335. package/lib/components/ssn/ssn.component.d.ts.map +1 -0
  336. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +27 -0
  337. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -0
  338. package/lib/components/test/test.component.d.ts +9 -0
  339. package/lib/components/test/test.component.d.ts.map +1 -0
  340. package/lib/components/user-login/user-login.component.d.ts +82 -0
  341. package/lib/components/user-login/user-login.component.d.ts.map +1 -0
  342. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +67 -0
  343. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -0
  344. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +47 -0
  345. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -0
  346. package/lib/directives/auto-focus/auto-focus.directive.d.ts +13 -0
  347. package/lib/directives/auto-focus/auto-focus.directive.d.ts.map +1 -0
  348. package/lib/directives/caps-lock.directive.d.ts +12 -0
  349. package/lib/directives/caps-lock.directive.d.ts.map +1 -0
  350. package/lib/directives/required-roles/required-roles.directive.d.ts +15 -0
  351. package/lib/directives/required-roles/required-roles.directive.d.ts.map +1 -0
  352. package/lib/enums/EmailStatusEnum.d.ts +8 -0
  353. package/lib/enums/EmailStatusEnum.d.ts.map +1 -0
  354. package/lib/guards/auth.guard.d.ts +29 -0
  355. package/lib/guards/auth.guard.d.ts.map +1 -0
  356. package/lib/guards/no-login/no-login.guard.d.ts +12 -0
  357. package/lib/guards/no-login/no-login.guard.d.ts.map +1 -0
  358. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +23 -0
  359. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -0
  360. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +22 -0
  361. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -0
  362. package/lib/models/AddressComponentModel.d.ts +14 -0
  363. package/lib/models/AddressComponentModel.d.ts.map +1 -0
  364. package/lib/models/BankDetailsComponentModel.d.ts +12 -0
  365. package/lib/models/BankDetailsComponentModel.d.ts.map +1 -0
  366. package/lib/models/BankDetailsModel.d.ts +5 -0
  367. package/lib/models/BankDetailsModel.d.ts.map +1 -0
  368. package/lib/models/CinRequalificationCriteriaModel.d.ts +11 -0
  369. package/lib/models/CinRequalificationCriteriaModel.d.ts.map +1 -0
  370. package/lib/models/EmployerDetailSearchResult.d.ts +51 -0
  371. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -0
  372. package/lib/models/ErrorModel.d.ts +7 -0
  373. package/lib/models/ErrorModel.d.ts.map +1 -0
  374. package/lib/models/FileModel.d.ts +5 -0
  375. package/lib/models/FileModel.d.ts.map +1 -0
  376. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  377. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  378. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  379. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  380. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  381. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  382. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  383. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  384. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  385. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  386. package/lib/models/LibConstants.d.ts +125 -0
  387. package/lib/models/LibConstants.d.ts.map +1 -0
  388. package/lib/models/NewsAndAnnouncementModel.d.ts +6 -0
  389. package/lib/models/NewsAndAnnouncementModel.d.ts.map +1 -0
  390. package/lib/models/NotificationModel.d.ts +11 -0
  391. package/lib/models/NotificationModel.d.ts.map +1 -0
  392. package/lib/models/OtpAuthModel.d.ts +8 -0
  393. package/lib/models/OtpAuthModel.d.ts.map +1 -0
  394. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  395. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  396. package/lib/models/PaymentComponentModel.d.ts +8 -0
  397. package/lib/models/PaymentComponentModel.d.ts.map +1 -0
  398. package/lib/models/RequalifyLiftPageModel.d.ts +12 -0
  399. package/lib/models/RequalifyLiftPageModel.d.ts.map +1 -0
  400. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  401. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  402. package/lib/models/SsaVerificationModel.d.ts +9 -0
  403. package/lib/models/SsaVerificationModel.d.ts.map +1 -0
  404. package/lib/models/TrendModel.d.ts +14 -0
  405. package/lib/models/TrendModel.d.ts.map +1 -0
  406. package/lib/models/UserDetailsModel.d.ts +10 -0
  407. package/lib/models/UserDetailsModel.d.ts.map +1 -0
  408. package/lib/models/UserModel.d.ts +48 -0
  409. package/lib/models/UserModel.d.ts.map +1 -0
  410. package/lib/models/case/CaseAttachmentModel.d.ts +6 -0
  411. package/lib/models/case/CaseAttachmentModel.d.ts.map +1 -0
  412. package/lib/models/claimant/ClaimantModel.d.ts +23 -0
  413. package/lib/models/claimant/ClaimantModel.d.ts.map +1 -0
  414. package/lib/models/claimant/JobResultsData.d.ts +8 -0
  415. package/lib/models/claimant/JobResultsData.d.ts.map +1 -0
  416. package/lib/models/claimant/MatchingJobs.d.ts +13 -0
  417. package/lib/models/claimant/MatchingJobs.d.ts.map +1 -0
  418. package/lib/models/claimant/ResetPasswordModel.d.ts +9 -0
  419. package/lib/models/claimant/ResetPasswordModel.d.ts.map +1 -0
  420. package/lib/models/cmp/CaseCoreModel.d.ts +21 -0
  421. package/lib/models/cmp/CaseCoreModel.d.ts.map +1 -0
  422. package/lib/models/cmp/ComplaintCategoryModel.d.ts +9 -0
  423. package/lib/models/cmp/ComplaintCategoryModel.d.ts.map +1 -0
  424. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +6 -0
  425. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts.map +1 -0
  426. package/lib/models/cmp/ContactUsModel.d.ts +23 -0
  427. package/lib/models/cmp/ContactUsModel.d.ts.map +1 -0
  428. package/lib/models/cmp/EmailTemplateModel.d.ts +7 -0
  429. package/lib/models/cmp/EmailTemplateModel.d.ts.map +1 -0
  430. package/lib/models/cmp/contactUsInqueryModel.d.ts +47 -0
  431. package/lib/models/cmp/contactUsInqueryModel.d.ts.map +1 -0
  432. package/lib/models/cmp/messageRourceModel.d.ts +6 -0
  433. package/lib/models/cmp/messageRourceModel.d.ts.map +1 -0
  434. package/lib/models/dashboard-model.d.ts +44 -0
  435. package/lib/models/dashboard-model.d.ts.map +1 -0
  436. package/lib/models/dependent.model.d.ts +20 -0
  437. package/lib/models/dependent.model.d.ts.map +1 -0
  438. package/lib/models/questionnaire/AutocoderModel.d.ts +9 -0
  439. package/lib/models/questionnaire/AutocoderModel.d.ts.map +1 -0
  440. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +9 -0
  441. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts.map +1 -0
  442. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +18 -0
  443. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -0
  444. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +156 -0
  445. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -0
  446. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +18 -0
  447. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -0
  448. package/lib/models/questionnaire/ComboModel.d.ts +178 -0
  449. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -0
  450. package/lib/models/questionnaire/ElementsModel.d.ts +71 -0
  451. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -0
  452. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +18 -0
  453. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts.map +1 -0
  454. package/lib/models/questionnaire/EmployerWagesModel.d.ts +5 -0
  455. package/lib/models/questionnaire/EmployerWagesModel.d.ts.map +1 -0
  456. package/lib/models/questionnaire/FBConfigModel.d.ts +12 -0
  457. package/lib/models/questionnaire/FBConfigModel.d.ts.map +1 -0
  458. package/lib/models/questionnaire/KeyValueModel.d.ts +11 -0
  459. package/lib/models/questionnaire/KeyValueModel.d.ts.map +1 -0
  460. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +11 -0
  461. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -0
  462. package/lib/models/questionnaire/LoaderModel.d.ts +5 -0
  463. package/lib/models/questionnaire/LoaderModel.d.ts.map +1 -0
  464. package/lib/models/questionnaire/PollingStatusModel.d.ts +7 -0
  465. package/lib/models/questionnaire/PollingStatusModel.d.ts.map +1 -0
  466. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +9 -0
  467. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts.map +1 -0
  468. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +24 -0
  469. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts.map +1 -0
  470. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +21 -0
  471. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts.map +1 -0
  472. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +26 -0
  473. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -0
  474. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +14 -0
  475. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts.map +1 -0
  476. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +7 -0
  477. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts.map +1 -0
  478. package/lib/models/questionnaire/StatusModel.d.ts +16 -0
  479. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -0
  480. package/lib/models/questionnaire/SuccessPageElement.d.ts +9 -0
  481. package/lib/models/questionnaire/SuccessPageElement.d.ts.map +1 -0
  482. package/lib/models/questionnaire/UI512AResponseModel.d.ts +13 -0
  483. package/lib/models/questionnaire/UI512AResponseModel.d.ts.map +1 -0
  484. package/lib/models/questionnaire/ValidationModel.d.ts +18 -0
  485. package/lib/models/questionnaire/ValidationModel.d.ts.map +1 -0
  486. package/lib/ngx-reusa-app-lib.component.d.ts +9 -0
  487. package/lib/ngx-reusa-app-lib.component.d.ts.map +1 -0
  488. package/lib/ngx-reusa-app-lib.module.d.ts +155 -0
  489. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -0
  490. package/lib/ngx-reusa-app-lib.service.d.ts +7 -0
  491. package/lib/ngx-reusa-app-lib.service.d.ts.map +1 -0
  492. package/lib/pages/BasePage.d.ts +32 -0
  493. package/lib/pages/BasePage.d.ts.map +1 -0
  494. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +12 -0
  495. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts.map +1 -0
  496. package/lib/pages/common/change-password/change-password.page.d.ts +41 -0
  497. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -0
  498. package/lib/pages/common/landing/landing.component.d.ts +25 -0
  499. package/lib/pages/common/landing/landing.component.d.ts.map +1 -0
  500. package/lib/pages/common/landing2/landing2.component.d.ts +31 -0
  501. package/lib/pages/common/landing2/landing2.component.d.ts.map +1 -0
  502. package/lib/pages/common/login/login.component.d.ts +65 -0
  503. package/lib/pages/common/login/login.component.d.ts.map +1 -0
  504. package/lib/pages/common/not-found/not-found.page.d.ts +9 -0
  505. package/lib/pages/common/not-found/not-found.page.d.ts.map +1 -0
  506. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +12 -0
  507. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts.map +1 -0
  508. package/lib/pages/common/security-policy/security-policy.page.d.ts +12 -0
  509. package/lib/pages/common/security-policy/security-policy.page.d.ts.map +1 -0
  510. package/lib/pages/common/unauthorized/unauthorized.page.d.ts +9 -0
  511. package/lib/pages/common/unauthorized/unauthorized.page.d.ts.map +1 -0
  512. package/lib/pages/popovers/language/language.page.d.ts +17 -0
  513. package/lib/pages/popovers/language/language.page.d.ts.map +1 -0
  514. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +22 -0
  515. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts.map +1 -0
  516. package/lib/pages/popovers/my-profile/my-profile.page.d.ts +21 -0
  517. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -0
  518. package/lib/pages/popovers/user-search/user-search.component.d.ts +32 -0
  519. package/lib/pages/popovers/user-search/user-search.component.d.ts.map +1 -0
  520. package/lib/pipes/filter.pipe.d.ts +8 -0
  521. package/lib/pipes/filter.pipe.d.ts.map +1 -0
  522. package/lib/pipes/mask/mask.email.pipe.d.ts +11 -0
  523. package/lib/pipes/mask/mask.email.pipe.d.ts.map +1 -0
  524. package/lib/pipes/proper-case/proper-case.pipe.d.ts +9 -0
  525. package/lib/pipes/proper-case/proper-case.pipe.d.ts.map +1 -0
  526. package/lib/pipes/translate/dynamic-translate.pipe.d.ts +11 -0
  527. package/lib/pipes/translate/dynamic-translate.pipe.d.ts.map +1 -0
  528. package/lib/pipes/trust-html/trust-html.pipe.d.ts +11 -0
  529. package/lib/pipes/trust-html/trust-html.pipe.d.ts.map +1 -0
  530. package/lib/services/base-service.d.ts +93 -0
  531. package/lib/services/base-service.d.ts.map +1 -0
  532. package/lib/services/captcha/captcha.service.d.ts +16 -0
  533. package/lib/services/captcha/captcha.service.d.ts.map +1 -0
  534. package/lib/services/case-service/case.service.d.ts +20 -0
  535. package/lib/services/case-service/case.service.d.ts.map +1 -0
  536. package/lib/services/chatbot/chatbot.service.d.ts +61 -0
  537. package/lib/services/chatbot/chatbot.service.d.ts.map +1 -0
  538. package/lib/services/chatbot/script.const.d.ts +16 -0
  539. package/lib/services/chatbot/script.const.d.ts.map +1 -0
  540. package/lib/services/claimant/claimant.service.d.ts +18 -0
  541. package/lib/services/claimant/claimant.service.d.ts.map +1 -0
  542. package/lib/services/claimant-context/claimant-context.service.d.ts +19 -0
  543. package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -0
  544. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  545. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  546. package/lib/services/claimant-service/claimant.service.d.ts +26 -0
  547. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -0
  548. package/lib/services/claims/claims.service.d.ts +42 -0
  549. package/lib/services/claims/claims.service.d.ts.map +1 -0
  550. package/lib/services/cmp-service/cmp.service.d.ts +34 -0
  551. package/lib/services/cmp-service/cmp.service.d.ts.map +1 -0
  552. package/lib/services/dms-service/dms.service.d.ts +24 -0
  553. package/lib/services/dms-service/dms.service.d.ts.map +1 -0
  554. package/lib/services/fpjs/fingerprint.service.d.ts +19 -0
  555. package/lib/services/fpjs/fingerprint.service.d.ts.map +1 -0
  556. package/lib/services/google-analytics/google-analytics.service.d.ts +9 -0
  557. package/lib/services/google-analytics/google-analytics.service.d.ts.map +1 -0
  558. package/lib/services/help/help.service.d.ts +26 -0
  559. package/lib/services/help/help.service.d.ts.map +1 -0
  560. package/lib/services/idle/idle.service.d.ts +44 -0
  561. package/lib/services/idle/idle.service.d.ts.map +1 -0
  562. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  563. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  564. package/lib/services/logger/logger.service.d.ts +32 -0
  565. package/lib/services/logger/logger.service.d.ts.map +1 -0
  566. package/lib/services/login/login.service.d.ts +79 -0
  567. package/lib/services/login/login.service.d.ts.map +1 -0
  568. package/lib/services/maintenance/maintenance.service.d.ts +16 -0
  569. package/lib/services/maintenance/maintenance.service.d.ts.map +1 -0
  570. package/lib/services/notification/notification.service.d.ts +39 -0
  571. package/lib/services/notification/notification.service.d.ts.map +1 -0
  572. package/lib/services/ovp/ovp.service.d.ts +17 -0
  573. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  574. package/lib/services/questionnaire/questionnaire.service.d.ts +36 -0
  575. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -0
  576. package/lib/services/questionnaire/validation.service.d.ts +82 -0
  577. package/lib/services/questionnaire/validation.service.d.ts.map +1 -0
  578. package/lib/services/security-service/security.service.d.ts +18 -0
  579. package/lib/services/security-service/security.service.d.ts.map +1 -0
  580. package/lib/services/tour/tour.service.d.ts +25 -0
  581. package/lib/services/tour/tour.service.d.ts.map +1 -0
  582. package/lib/services/util/util.service.d.ts +194 -0
  583. package/lib/services/util/util.service.d.ts.map +1 -0
  584. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +17 -0
  585. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -0
  586. package/lib/validations/AppRegex.d.ts +50 -0
  587. package/lib/validations/AppRegex.d.ts.map +1 -0
  588. package/lib/validations/AppValidators.d.ts +82 -0
  589. package/lib/validations/AppValidators.d.ts.map +1 -0
  590. package/package.json +28 -0
  591. package/public-api.d.ts +128 -0
  592. package/public-api.d.ts.map +1 -0
@@ -0,0 +1,2655 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { ClaimAppEmployerDetailsModel } from '../../models/questionnaire/ClaimAppEmployerDetailsModel';
4
+ import { ComboOption } from '../../models/questionnaire/ComboModel';
5
+ import { AppValidators } from '../../validations/AppValidators';
6
+ import { BasePage } from '../../pages/BasePage';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "../../services/questionnaire/validation.service";
10
+ import * as i3 from "../../services/util/util.service";
11
+ import * as i4 from "primeng/api";
12
+ import * as i5 from "../../services/logger/logger.service";
13
+ import * as i6 from "@angular/platform-browser";
14
+ import * as i7 from "../../services/claims/claims.service";
15
+ import * as i8 from "../../services/login/login.service";
16
+ import * as i9 from "@angular/router";
17
+ import * as i10 from "@ngx-translate/core";
18
+ import * as i11 from "@ionic/angular";
19
+ import * as i12 from "@angular/common";
20
+ import * as i13 from "@angular/material/form-field";
21
+ import * as i14 from "primeng/dialog";
22
+ import * as i15 from "primeng/table";
23
+ import * as i16 from "primeng/inputtext";
24
+ import * as i17 from "primeng/inputmask";
25
+ import * as i18 from "primeng/calendar";
26
+ import * as i19 from "primeng/selectbutton";
27
+ import * as i20 from "primeng/inputnumber";
28
+ import * as i21 from "primeng/dropdown";
29
+ import * as i22 from "../error/error.component";
30
+ import * as i23 from "../overlay-info/overlay-info.component";
31
+ import * as i24 from "../search-employer/search-employer.component";
32
+ import * as i25 from "../address/address.component";
33
+ const _c0 = ["address1"];
34
+ const _c1 = ["address2"];
35
+ const _c2 = ["employerForm"];
36
+ function AddEmployerComponent_ion_grid_6_div_4_div_2_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "div");
38
+ i0.ɵɵtext(1);
39
+ i0.ɵɵpipe(2, "translate");
40
+ i0.ɵɵelementEnd();
41
+ } if (rf & 2) {
42
+ const ctx_r58 = i0.ɵɵnextContext(3);
43
+ i0.ɵɵadvance(1);
44
+ i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind1(2, 2, "induction.confirm.employment.dba"), " ", ctx_r58.aliasName, "");
45
+ } }
46
+ function AddEmployerComponent_ion_grid_6_div_4_div_6_Template(rf, ctx) { if (rf & 1) {
47
+ i0.ɵɵelementStart(0, "div");
48
+ i0.ɵɵelement(1, "br");
49
+ i0.ɵɵtext(2);
50
+ i0.ɵɵpipe(3, "translate");
51
+ i0.ɵɵelementEnd();
52
+ } if (rf & 2) {
53
+ i0.ɵɵadvance(2);
54
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "induction.confirm.employment.employer.wages"), " ");
55
+ } }
56
+ function AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_th_1_Template(rf, ctx) { if (rf & 1) {
57
+ i0.ɵɵelementStart(0, "th")(1, "b");
58
+ i0.ɵɵtext(2);
59
+ i0.ɵɵelementEnd()();
60
+ } if (rf & 2) {
61
+ const col_r65 = ctx.$implicit;
62
+ i0.ɵɵadvance(2);
63
+ i0.ɵɵtextInterpolate(col_r65.qtrYearDisplayString);
64
+ } }
65
+ function AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_td_3_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "td");
67
+ i0.ɵɵtext(1);
68
+ i0.ɵɵpipe(2, "currency");
69
+ i0.ɵɵelementEnd();
70
+ } if (rf & 2) {
71
+ const col_r66 = ctx.$implicit;
72
+ i0.ɵɵadvance(1);
73
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, col_r66.wageAmount), " ");
74
+ } }
75
+ function AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_Template(rf, ctx) { if (rf & 1) {
76
+ i0.ɵɵelementStart(0, "tr");
77
+ i0.ɵɵtemplate(1, AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_th_1_Template, 3, 1, "th", 18);
78
+ i0.ɵɵelementEnd();
79
+ i0.ɵɵelementStart(2, "tr");
80
+ i0.ɵɵtemplate(3, AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_td_3_Template, 3, 3, "td", 18);
81
+ i0.ɵɵelementEnd();
82
+ } if (rf & 2) {
83
+ const columns_r62 = ctx.$implicit;
84
+ i0.ɵɵadvance(1);
85
+ i0.ɵɵproperty("ngForOf", columns_r62);
86
+ i0.ɵɵadvance(2);
87
+ i0.ɵɵproperty("ngForOf", columns_r62);
88
+ } }
89
+ function AddEmployerComponent_ion_grid_6_div_4_div_7_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelementStart(0, "div", 14)(1, "p-table", 16);
91
+ i0.ɵɵtemplate(2, AddEmployerComponent_ion_grid_6_div_4_div_7_ng_template_2_Template, 4, 2, "ng-template", 17);
92
+ i0.ɵɵelementEnd()();
93
+ } if (rf & 2) {
94
+ const ctx_r60 = i0.ɵɵnextContext(3);
95
+ i0.ɵɵadvance(1);
96
+ i0.ɵɵproperty("value", ctx_r60.employerProvidedWages)("columns", ctx_r60.employerProvidedWages);
97
+ } }
98
+ function AddEmployerComponent_ion_grid_6_div_4_Template(rf, ctx) { if (rf & 1) {
99
+ i0.ɵɵelementStart(0, "div", 14);
100
+ i0.ɵɵtext(1);
101
+ i0.ɵɵtemplate(2, AddEmployerComponent_ion_grid_6_div_4_div_2_Template, 3, 4, "div", 4);
102
+ i0.ɵɵelement(3, "br");
103
+ i0.ɵɵelementStart(4, "span", 15);
104
+ i0.ɵɵtext(5);
105
+ i0.ɵɵelementEnd();
106
+ i0.ɵɵtemplate(6, AddEmployerComponent_ion_grid_6_div_4_div_6_Template, 4, 3, "div", 4)(7, AddEmployerComponent_ion_grid_6_div_4_div_7_Template, 3, 2, "div", 7);
107
+ i0.ɵɵelementEnd();
108
+ } if (rf & 2) {
109
+ const ctx_r2 = i0.ɵɵnextContext(2);
110
+ i0.ɵɵadvance(1);
111
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.customerName, " ");
112
+ i0.ɵɵadvance(1);
113
+ i0.ɵɵproperty("ngIf", ctx_r2.aliasName != null);
114
+ i0.ɵɵadvance(3);
115
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.mailingAddressDisplay, " ");
116
+ i0.ɵɵadvance(1);
117
+ i0.ɵɵproperty("ngIf", ctx_r2.isCSR);
118
+ i0.ɵɵadvance(1);
119
+ i0.ɵɵproperty("ngIf", ctx_r2.isCSR);
120
+ } }
121
+ function AddEmployerComponent_ion_grid_6_div_5_Template(rf, ctx) { if (rf & 1) {
122
+ i0.ɵɵelementStart(0, "div", 14)(1, "label");
123
+ i0.ɵɵtext(2);
124
+ i0.ɵɵpipe(3, "translate");
125
+ i0.ɵɵelement(4, "br")(5, "br");
126
+ i0.ɵɵtext(6);
127
+ i0.ɵɵpipe(7, "translate");
128
+ i0.ɵɵelementEnd()();
129
+ } if (rf & 2) {
130
+ i0.ɵɵadvance(2);
131
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "induction.confirm.employment.workflag.no"));
132
+ i0.ɵɵadvance(4);
133
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 4, "induction.confirm.employment.workflag.no.line2"), "");
134
+ } }
135
+ const _c3 = a0 => ({ required: a0 });
136
+ function AddEmployerComponent_ion_grid_6_div_6_Template(rf, ctx) { if (rf & 1) {
137
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 19);
138
+ i0.ɵɵtext(2);
139
+ i0.ɵɵpipe(3, "translate");
140
+ i0.ɵɵelementEnd();
141
+ i0.ɵɵelementStart(4, "div", 20);
142
+ i0.ɵɵelement(5, "p-selectButton", 21)(6, "app-error", 9);
143
+ i0.ɵɵelementEnd()();
144
+ } if (rf & 2) {
145
+ const ctx_r4 = i0.ɵɵnextContext(2);
146
+ i0.ɵɵadvance(2);
147
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.employer.type"));
148
+ i0.ɵɵadvance(3);
149
+ i0.ɵɵclassProp("disabled", ctx_r4.noEditMode);
150
+ i0.ɵɵproperty("options", ctx_r4.employerTypeOptions)("formControl", ctx_r4.employerType);
151
+ i0.ɵɵadvance(1);
152
+ i0.ɵɵclassMap("app-grid");
153
+ i0.ɵɵproperty("form", ctx_r4.isFormSubmitted)("field", ctx_r4.employerType)("errDef", i0.ɵɵpureFunction1(12, _c3, ctx_r4.required));
154
+ } }
155
+ function AddEmployerComponent_ion_grid_6_div_7_Template(rf, ctx) { if (rf & 1) {
156
+ const _r68 = i0.ɵɵgetCurrentView();
157
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 22);
158
+ i0.ɵɵtext(2);
159
+ i0.ɵɵpipe(3, "translate");
160
+ i0.ɵɵelementEnd();
161
+ i0.ɵɵelementStart(4, "div", 23)(5, "p-selectButton", 24);
162
+ i0.ɵɵlistener("onOptionClick", function AddEmployerComponent_ion_grid_6_div_7_Template_p_selectButton_onOptionClick_5_listener($event) { i0.ɵɵrestoreView(_r68); const ctx_r67 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r67.onToggleChangePrevWorkedState($event)); });
163
+ i0.ɵɵelementEnd();
164
+ i0.ɵɵelement(6, "app-error", 9);
165
+ i0.ɵɵelementEnd()();
166
+ } if (rf & 2) {
167
+ const ctx_r5 = i0.ɵɵnextContext(2);
168
+ i0.ɵɵadvance(2);
169
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.work.state"));
170
+ i0.ɵɵadvance(3);
171
+ i0.ɵɵclassProp("disabled", ctx_r5.noEditMode);
172
+ i0.ɵɵproperty("options", ctx_r5.prevWorkedStateOptions)("formControl", ctx_r5.prevWorkedState);
173
+ i0.ɵɵadvance(1);
174
+ i0.ɵɵclassMap("app-grid");
175
+ i0.ɵɵproperty("form", ctx_r5.isFormSubmitted)("field", ctx_r5.prevWorkedState)("errDef", i0.ɵɵpureFunction1(12, _c3, ctx_r5.required));
176
+ } }
177
+ function AddEmployerComponent_ion_grid_6_div_8_div_4_Template(rf, ctx) { if (rf & 1) {
178
+ const _r73 = i0.ɵɵgetCurrentView();
179
+ i0.ɵɵelementStart(0, "div")(1, "app-search-employer", 28);
180
+ i0.ɵɵlistener("onFound", function AddEmployerComponent_ion_grid_6_div_8_div_4_Template_app_search_employer_onFound_1_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r72.setEmployer($event)); })("onEmpty", function AddEmployerComponent_ion_grid_6_div_8_div_4_Template_app_search_employer_onEmpty_1_listener($event) { i0.ɵɵrestoreView(_r73); const ctx_r74 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r74.resetEmployer($event)); });
181
+ i0.ɵɵelementEnd();
182
+ i0.ɵɵelement(2, "app-error", 9);
183
+ i0.ɵɵelementEnd();
184
+ } if (rf & 2) {
185
+ const ctx_r69 = i0.ɵɵnextContext(3);
186
+ i0.ɵɵadvance(1);
187
+ i0.ɵɵproperty("formControl", ctx_r69.employerName);
188
+ i0.ɵɵadvance(1);
189
+ i0.ɵɵclassMap("app-grid");
190
+ i0.ɵɵproperty("form", ctx_r69.isFormSubmitted)("field", ctx_r69.employerName)("errDef", i0.ɵɵpureFunction1(6, _c3, ctx_r69.required));
191
+ } }
192
+ function AddEmployerComponent_ion_grid_6_div_8_ng_template_5_Template(rf, ctx) { if (rf & 1) {
193
+ i0.ɵɵelementStart(0, "div", 14);
194
+ i0.ɵɵelement(1, "input", 29)(2, "app-error", 9);
195
+ i0.ɵɵelementEnd();
196
+ } if (rf & 2) {
197
+ const ctx_r70 = i0.ɵɵnextContext(3);
198
+ i0.ɵɵadvance(1);
199
+ i0.ɵɵproperty("formControl", ctx_r70.othStateEmpName);
200
+ i0.ɵɵadvance(1);
201
+ i0.ɵɵclassMap("app-grid");
202
+ i0.ɵɵproperty("form", ctx_r70.isFormSubmitted)("field", ctx_r70.othStateEmpName)("errDef", i0.ɵɵpureFunction1(6, _c3, ctx_r70.required));
203
+ } }
204
+ function AddEmployerComponent_ion_grid_6_div_8_Template(rf, ctx) { if (rf & 1) {
205
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 25);
206
+ i0.ɵɵtext(2);
207
+ i0.ɵɵpipe(3, "translate");
208
+ i0.ɵɵelementEnd();
209
+ i0.ɵɵtemplate(4, AddEmployerComponent_ion_grid_6_div_8_div_4_Template, 3, 8, "div", 26)(5, AddEmployerComponent_ion_grid_6_div_8_ng_template_5_Template, 3, 8, "ng-template", null, 27, i0.ɵɵtemplateRefExtractor);
210
+ i0.ɵɵelementEnd();
211
+ } if (rf & 2) {
212
+ const _r71 = i0.ɵɵreference(6);
213
+ const ctx_r6 = i0.ɵɵnextContext(2);
214
+ i0.ɵɵadvance(2);
215
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "induction.add.employment.employer.name"));
216
+ i0.ɵɵadvance(2);
217
+ i0.ɵɵproperty("ngIf", ctx_r6.prevWorkedState.value === "KS")("ngIfElse", _r71);
218
+ } }
219
+ function AddEmployerComponent_ion_grid_6_div_9_Template(rf, ctx) { if (rf & 1) {
220
+ const _r76 = i0.ɵɵgetCurrentView();
221
+ i0.ɵɵelementStart(0, "div", 30)(1, "label", 31);
222
+ i0.ɵɵtext(2);
223
+ i0.ɵɵpipe(3, "translate");
224
+ i0.ɵɵelementEnd();
225
+ i0.ɵɵelementStart(4, "app-search-employer", 32);
226
+ i0.ɵɵlistener("onFound", function AddEmployerComponent_ion_grid_6_div_9_Template_app_search_employer_onFound_4_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r75 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r75.setFedEmployer($event)); })("onEmpty", function AddEmployerComponent_ion_grid_6_div_9_Template_app_search_employer_onEmpty_4_listener($event) { i0.ɵɵrestoreView(_r76); const ctx_r77 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r77.resetFedEmployer($event)); });
227
+ i0.ɵɵelementEnd();
228
+ i0.ɵɵelement(5, "app-error", 9);
229
+ i0.ɵɵelementEnd();
230
+ } if (rf & 2) {
231
+ const ctx_r7 = i0.ɵɵnextContext(2);
232
+ i0.ɵɵadvance(2);
233
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.employer.fed.name"));
234
+ i0.ɵɵadvance(2);
235
+ i0.ɵɵproperty("formControl", ctx_r7.fedEmployerName);
236
+ i0.ɵɵadvance(1);
237
+ i0.ɵɵclassMap("app-grid");
238
+ i0.ɵɵproperty("form", ctx_r7.isFormSubmitted)("field", ctx_r7.fedEmployerName)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r7.required));
239
+ } }
240
+ function AddEmployerComponent_ion_grid_6_div_10_Template(rf, ctx) { if (rf & 1) {
241
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 33);
242
+ i0.ɵɵtext(2);
243
+ i0.ɵɵpipe(3, "translate");
244
+ i0.ɵɵelementEnd();
245
+ i0.ɵɵelement(4, "p-dropdown", 34)(5, "app-error", 9);
246
+ i0.ɵɵelementEnd();
247
+ } if (rf & 2) {
248
+ const ctx_r8 = i0.ɵɵnextContext(2);
249
+ i0.ɵɵadvance(2);
250
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.service.branch"));
251
+ i0.ɵɵadvance(2);
252
+ i0.ɵɵproperty("options", ctx_r8.militaryServiceOptions)("formControl", ctx_r8.serviceBranch)("autoDisplayFirst", false);
253
+ i0.ɵɵadvance(1);
254
+ i0.ɵɵclassMap("app-grid");
255
+ i0.ɵɵproperty("form", ctx_r8.isFormSubmitted)("field", ctx_r8.serviceBranch)("errDef", i0.ɵɵpureFunction1(11, _c3, ctx_r8.required));
256
+ } }
257
+ const _c4 = (a0, a1) => ({ required: a0, requiredKansas: a1 });
258
+ function AddEmployerComponent_ion_grid_6_div_11_Template(rf, ctx) { if (rf & 1) {
259
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 35);
260
+ i0.ɵɵtext(2);
261
+ i0.ɵɵpipe(3, "translate");
262
+ i0.ɵɵelementEnd();
263
+ i0.ɵɵelement(4, "p-dropdown", 36)(5, "app-error", 37);
264
+ i0.ɵɵelementEnd();
265
+ } if (rf & 2) {
266
+ const ctx_r9 = i0.ɵɵnextContext(2);
267
+ i0.ɵɵadvance(2);
268
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 6, "induction.add.employment.physical.location"), " ");
269
+ i0.ɵɵadvance(2);
270
+ i0.ɵɵproperty("formControl", ctx_r9.milState)("options", ctx_r9.statesOptions);
271
+ i0.ɵɵadvance(1);
272
+ i0.ɵɵproperty("form", ctx_r9.isFormSubmitted)("field", ctx_r9.milState)("errDef", i0.ɵɵpureFunction2(8, _c4, ctx_r9.required, ctx_r9.requiredKansas));
273
+ } }
274
+ function AddEmployerComponent_ion_grid_6_ion_row_12_Template(rf, ctx) { if (rf & 1) {
275
+ const _r79 = i0.ɵɵgetCurrentView();
276
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 39);
277
+ i0.ɵɵtext(4);
278
+ i0.ɵɵpipe(5, "translate");
279
+ i0.ɵɵelementEnd();
280
+ i0.ɵɵelementStart(6, "p-calendar", 40);
281
+ i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_12_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r79); const ctx_r78 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r78.validate($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_12_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r79); const ctx_r80 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r80.validate($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_12_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r79); const ctx_r81 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r81.dateInput($event)); });
282
+ i0.ɵɵelementEnd();
283
+ i0.ɵɵelement(7, "app-error", 9);
284
+ i0.ɵɵelementEnd()();
285
+ i0.ɵɵelement(8, "ion-col", 41);
286
+ i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 42);
287
+ i0.ɵɵtext(12);
288
+ i0.ɵɵpipe(13, "translate");
289
+ i0.ɵɵelementEnd();
290
+ i0.ɵɵelementStart(14, "p-calendar", 43);
291
+ i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_ion_row_12_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r79); const ctx_r82 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r82.dateInput($event)); });
292
+ i0.ɵɵelementEnd();
293
+ i0.ɵɵelement(15, "app-error", 9);
294
+ i0.ɵɵelementEnd()()();
295
+ } if (rf & 2) {
296
+ const ctx_r10 = i0.ɵɵnextContext(2);
297
+ i0.ɵɵadvance(4);
298
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 24, "induction.add.employment.mil.startdate"));
299
+ i0.ɵɵadvance(2);
300
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r10.startDateMil)("maxDate", ctx_r10.dateTime)("yearNavigator", true)("showOnFocus", false)("minDate", ctx_r10.minWorkStartDate);
301
+ i0.ɵɵadvance(1);
302
+ i0.ɵɵclassMap("app-grid");
303
+ i0.ɵɵproperty("form", ctx_r10.isFormSubmitted)("field", ctx_r10.startDateMil)("errDef", i0.ɵɵpureFunction1(28, _c3, ctx_r10.required));
304
+ i0.ɵɵadvance(5);
305
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 26, "induction.add.employment.mil.enddate"));
306
+ i0.ɵɵadvance(2);
307
+ i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r10.dateTime)("minDate", ctx_r10.minDate)("yearNavigator", true)("formControl", ctx_r10.endDateMil)("showOnFocus", false);
308
+ i0.ɵɵadvance(1);
309
+ i0.ɵɵclassMap("app-grid");
310
+ i0.ɵɵproperty("form", ctx_r10.isFormSubmitted)("field", ctx_r10.endDateMil)("errDef", i0.ɵɵpureFunction1(30, _c3, ctx_r10.required));
311
+ } }
312
+ function AddEmployerComponent_ion_grid_6_ion_row_13_Template(rf, ctx) { if (rf & 1) {
313
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 44);
314
+ i0.ɵɵtext(4);
315
+ i0.ɵɵpipe(5, "translate");
316
+ i0.ɵɵelementEnd();
317
+ i0.ɵɵelement(6, "input", 45)(7, "app-error", 9);
318
+ i0.ɵɵelementEnd()();
319
+ i0.ɵɵelement(8, "ion-col", 41);
320
+ i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 46);
321
+ i0.ɵɵtext(12);
322
+ i0.ɵɵpipe(13, "translate");
323
+ i0.ɵɵelementEnd();
324
+ i0.ɵɵelement(14, "input", 47)(15, "app-error", 9);
325
+ i0.ɵɵelementEnd()()();
326
+ } if (rf & 2) {
327
+ const ctx_r11 = i0.ɵɵnextContext(2);
328
+ i0.ɵɵadvance(4);
329
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 14, "induction.add.employment.fed.fic.code"));
330
+ i0.ɵɵadvance(2);
331
+ i0.ɵɵproperty("formControl", ctx_r11.ficCode);
332
+ i0.ɵɵadvance(1);
333
+ i0.ɵɵclassMap("app-grid");
334
+ i0.ɵɵproperty("form", ctx_r11.isFormSubmitted)("field", ctx_r11.ficCode)("errDef", i0.ɵɵpureFunction1(18, _c3, ctx_r11.required));
335
+ i0.ɵɵadvance(5);
336
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 16, "induction.add.employment.fed.fic.destination"));
337
+ i0.ɵɵadvance(2);
338
+ i0.ɵɵproperty("formControl", ctx_r11.ficDestinationName);
339
+ i0.ɵɵadvance(1);
340
+ i0.ɵɵclassMap("app-grid");
341
+ i0.ɵɵproperty("form", ctx_r11.isFormSubmitted)("field", ctx_r11.ficDestinationName)("errDef", i0.ɵɵpureFunction1(20, _c3, ctx_r11.required));
342
+ } }
343
+ function AddEmployerComponent_ion_grid_6_ion_row_14_Template(rf, ctx) { if (rf & 1) {
344
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 48);
345
+ i0.ɵɵelement(2, "app-address", 49, 50);
346
+ i0.ɵɵelementEnd()();
347
+ } if (rf & 2) {
348
+ const ctx_r12 = i0.ɵɵnextContext(2);
349
+ i0.ɵɵadvance(2);
350
+ i0.ɵɵproperty("formControl", ctx_r12.address)("countyRequired", false)("fromPopup", true);
351
+ } }
352
+ function AddEmployerComponent_ion_grid_6_div_15_mat_error_4_Template(rf, ctx) { if (rf & 1) {
353
+ i0.ɵɵelementStart(0, "mat-error", 54);
354
+ i0.ɵɵtext(1);
355
+ i0.ɵɵpipe(2, "translate");
356
+ i0.ɵɵelementEnd();
357
+ } if (rf & 2) {
358
+ i0.ɵɵadvance(1);
359
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "common.valid.address"), " ");
360
+ } }
361
+ function AddEmployerComponent_ion_grid_6_div_15_Template(rf, ctx) { if (rf & 1) {
362
+ i0.ɵɵelementStart(0, "div", 14);
363
+ i0.ɵɵelement(1, "app-address", 51, 52)(3, "app-error", 9);
364
+ i0.ɵɵtemplate(4, AddEmployerComponent_ion_grid_6_div_15_mat_error_4_Template, 3, 3, "mat-error", 53);
365
+ i0.ɵɵelementEnd();
366
+ } if (rf & 2) {
367
+ const ctx_r13 = i0.ɵɵnextContext(2);
368
+ i0.ɵɵadvance(1);
369
+ i0.ɵɵproperty("formControl", ctx_r13.address)("countyRequired", false)("fromPopup", true);
370
+ i0.ɵɵadvance(2);
371
+ i0.ɵɵclassMap("app-grid");
372
+ i0.ɵɵproperty("form", ctx_r13.isFormSubmitted)("field", ctx_r13.address)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r13.required));
373
+ i0.ɵɵadvance(1);
374
+ i0.ɵɵproperty("ngIf", (ctx_r13.address == null ? null : ctx_r13.address.errors == null ? null : ctx_r13.address.errors.addressValidationFlag) && ctx_r13.isFormSubmitted.submitted);
375
+ } }
376
+ function AddEmployerComponent_ion_grid_6_ion_row_16_Template(rf, ctx) { if (rf & 1) {
377
+ const _r87 = i0.ɵɵgetCurrentView();
378
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 55);
379
+ i0.ɵɵtext(4);
380
+ i0.ɵɵpipe(5, "translate");
381
+ i0.ɵɵelementEnd();
382
+ i0.ɵɵelement(6, "input", 56)(7, "app-error", 9);
383
+ i0.ɵɵelementEnd()();
384
+ i0.ɵɵelement(8, "ion-col", 41);
385
+ i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 57);
386
+ i0.ɵɵtext(12);
387
+ i0.ɵɵpipe(13, "translate");
388
+ i0.ɵɵelementEnd();
389
+ i0.ɵɵelementStart(14, "p-dropdown", 58);
390
+ i0.ɵɵlistener("onChange", function AddEmployerComponent_ion_grid_6_ion_row_16_Template_p_dropdown_onChange_14_listener($event) { i0.ɵɵrestoreView(_r87); const ctx_r86 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r86.validateWagesDisplay($event)); });
391
+ i0.ɵɵelementEnd();
392
+ i0.ɵɵelement(15, "app-error", 9);
393
+ i0.ɵɵelementEnd()()();
394
+ } if (rf & 2) {
395
+ const ctx_r14 = i0.ɵɵnextContext(2);
396
+ i0.ɵɵadvance(4);
397
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(5, 16, "induction.add.employment.work.location.city"), " ");
398
+ i0.ɵɵadvance(2);
399
+ i0.ɵɵproperty("formControl", ctx_r14.workCity);
400
+ i0.ɵɵadvance(1);
401
+ i0.ɵɵclassMap("app-grid");
402
+ i0.ɵɵproperty("form", ctx_r14.isFormSubmitted)("field", ctx_r14.workCity)("errDef", i0.ɵɵpureFunction1(20, _c3, ctx_r14.required));
403
+ i0.ɵɵadvance(5);
404
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 18, "induction.add.employment.work.location.state"));
405
+ i0.ɵɵadvance(2);
406
+ i0.ɵɵproperty("options", ctx_r14.prevWorkedState.value === "KS" ? ctx_r14.statesOptions : ctx_r14.nonKSStatesOptions)("formControl", ctx_r14.workState)("autoDisplayFirst", false);
407
+ i0.ɵɵadvance(1);
408
+ i0.ɵɵclassMap("app-grid");
409
+ i0.ɵɵproperty("form", ctx_r14.isFormSubmitted)("field", ctx_r14.workState)("errDef", i0.ɵɵpureFunction1(22, _c3, ctx_r14.required));
410
+ } }
411
+ function AddEmployerComponent_ion_grid_6_div_17_Template(rf, ctx) { if (rf & 1) {
412
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 59);
413
+ i0.ɵɵtext(2);
414
+ i0.ɵɵpipe(3, "translate");
415
+ i0.ɵɵelementEnd();
416
+ i0.ɵɵelement(4, "p-dropdown", 60)(5, "app-error", 9);
417
+ i0.ɵɵelementEnd();
418
+ } if (rf & 2) {
419
+ const ctx_r15 = i0.ɵɵnextContext(2);
420
+ i0.ɵɵadvance(2);
421
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.add.employment.fed.work.location.country"));
422
+ i0.ɵɵadvance(2);
423
+ i0.ɵɵproperty("options", ctx_r15.workCountryOptions)("formControl", ctx_r15.fedWorkCountry)("autoDisplayFirst", false);
424
+ i0.ɵɵadvance(1);
425
+ i0.ɵɵclassMap("app-grid");
426
+ i0.ɵɵproperty("form", ctx_r15.isFormSubmitted)("field", ctx_r15.fedWorkCountry)("errDef", i0.ɵɵpureFunction1(11, _c3, ctx_r15.required));
427
+ } }
428
+ function AddEmployerComponent_ion_grid_6_ion_row_18_ion_col_9_Template(rf, ctx) { if (rf & 1) {
429
+ i0.ɵɵelementStart(0, "ion-col", 38)(1, "div", 14)(2, "label", 64);
430
+ i0.ɵɵtext(3);
431
+ i0.ɵɵpipe(4, "translate");
432
+ i0.ɵɵelementEnd();
433
+ i0.ɵɵelement(5, "p-dropdown", 65)(6, "app-error", 9);
434
+ i0.ɵɵelementEnd()();
435
+ } if (rf & 2) {
436
+ const ctx_r88 = i0.ɵɵnextContext(3);
437
+ i0.ɵɵadvance(3);
438
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.add.employment.work.location.state"));
439
+ i0.ɵɵadvance(2);
440
+ i0.ɵɵproperty("options", ctx_r88.statesOptions)("formControl", ctx_r88.fedWorkState)("autoDisplayFirst", false);
441
+ i0.ɵɵadvance(1);
442
+ i0.ɵɵclassMap("app-grid");
443
+ i0.ɵɵproperty("form", ctx_r88.isFormSubmitted)("field", ctx_r88.fedWorkState)("errDef", i0.ɵɵpureFunction1(11, _c3, ctx_r88.required));
444
+ } }
445
+ function AddEmployerComponent_ion_grid_6_ion_row_18_Template(rf, ctx) { if (rf & 1) {
446
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 61);
447
+ i0.ɵɵtext(4);
448
+ i0.ɵɵpipe(5, "translate");
449
+ i0.ɵɵelementEnd();
450
+ i0.ɵɵelement(6, "input", 62)(7, "app-error", 9);
451
+ i0.ɵɵelementEnd()();
452
+ i0.ɵɵelement(8, "ion-col", 41);
453
+ i0.ɵɵtemplate(9, AddEmployerComponent_ion_grid_6_ion_row_18_ion_col_9_Template, 7, 13, "ion-col", 63);
454
+ i0.ɵɵelementEnd();
455
+ } if (rf & 2) {
456
+ const ctx_r16 = i0.ɵɵnextContext(2);
457
+ i0.ɵɵadvance(4);
458
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 8, "induction.add.employment.work.location.city"));
459
+ i0.ɵɵadvance(2);
460
+ i0.ɵɵproperty("formControl", ctx_r16.fedWorkCity);
461
+ i0.ɵɵadvance(1);
462
+ i0.ɵɵclassMap("app-grid");
463
+ i0.ɵɵproperty("form", ctx_r16.isFormSubmitted)("field", ctx_r16.fedWorkCity)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r16.required));
464
+ i0.ɵɵadvance(2);
465
+ i0.ɵɵproperty("ngIf", ctx_r16.showWorkState === true);
466
+ } }
467
+ function AddEmployerComponent_ion_grid_6_ion_row_19_Template(rf, ctx) { if (rf & 1) {
468
+ const _r90 = i0.ɵɵgetCurrentView();
469
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 66);
470
+ i0.ɵɵtext(4);
471
+ i0.ɵɵpipe(5, "translate");
472
+ i0.ɵɵelementEnd();
473
+ i0.ɵɵelementStart(6, "p-calendar", 67);
474
+ i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_19_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r90); const ctx_r89 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r89.validate($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_19_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r90); const ctx_r91 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r91.validate($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_19_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r90); const ctx_r92 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r92.dateInput($event)); });
475
+ i0.ɵɵelementEnd();
476
+ i0.ɵɵelement(7, "app-error", 9);
477
+ i0.ɵɵelementEnd()();
478
+ i0.ɵɵelement(8, "ion-col", 41);
479
+ i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 68);
480
+ i0.ɵɵtext(12);
481
+ i0.ɵɵpipe(13, "translate");
482
+ i0.ɵɵelementEnd();
483
+ i0.ɵɵelementStart(14, "p-calendar", 69);
484
+ i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_ion_row_19_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r90); const ctx_r93 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r93.dateInput($event)); });
485
+ i0.ɵɵelementEnd();
486
+ i0.ɵɵelement(15, "app-error", 9);
487
+ i0.ɵɵelementEnd()()();
488
+ } if (rf & 2) {
489
+ const ctx_r17 = i0.ɵɵnextContext(2);
490
+ i0.ɵɵadvance(4);
491
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 24, "induction.add.employment.fed.startdate"));
492
+ i0.ɵɵadvance(2);
493
+ i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r17.dateTime)("formControl", ctx_r17.startDateFed)("yearNavigator", true)("showOnFocus", false)("minDate", ctx_r17.minWorkStartDate);
494
+ i0.ɵɵadvance(1);
495
+ i0.ɵɵclassMap("app-grid");
496
+ i0.ɵɵproperty("form", ctx_r17.isFormSubmitted)("field", ctx_r17.startDateFed)("errDef", i0.ɵɵpureFunction1(28, _c3, ctx_r17.required));
497
+ i0.ɵɵadvance(5);
498
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 26, "induction.add.employment.fed.enddate"));
499
+ i0.ɵɵadvance(2);
500
+ i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r17.dateTime)("minDate", ctx_r17.minDate)("yearNavigator", true)("formControl", ctx_r17.endDateFed)("showOnFocus", false);
501
+ i0.ɵɵadvance(1);
502
+ i0.ɵɵclassMap("app-grid");
503
+ i0.ɵɵproperty("form", ctx_r17.isFormSubmitted)("field", ctx_r17.endDateFed)("errDef", i0.ɵɵpureFunction1(30, _c3, ctx_r17.required));
504
+ } }
505
+ function AddEmployerComponent_ion_grid_6_div_20_Template(rf, ctx) { if (rf & 1) {
506
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 70);
507
+ i0.ɵɵtext(2);
508
+ i0.ɵɵpipe(3, "translate");
509
+ i0.ɵɵelementEnd();
510
+ i0.ɵɵelement(4, "input", 71)(5, "app-error", 9);
511
+ i0.ɵɵelementEnd();
512
+ } if (rf & 2) {
513
+ const ctx_r18 = i0.ɵɵnextContext(2);
514
+ i0.ɵɵadvance(2);
515
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.fed.jobtitle"));
516
+ i0.ɵɵadvance(2);
517
+ i0.ɵɵproperty("formControl", ctx_r18.fedJobTileOrPosition);
518
+ i0.ɵɵadvance(1);
519
+ i0.ɵɵclassMap("app-grid");
520
+ i0.ɵɵproperty("form", ctx_r18.isFormSubmitted)("field", ctx_r18.fedJobTileOrPosition)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r18.required));
521
+ } }
522
+ function AddEmployerComponent_ion_grid_6_div_21_Template(rf, ctx) { if (rf & 1) {
523
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 72);
524
+ i0.ɵɵtext(2);
525
+ i0.ɵɵpipe(3, "translate");
526
+ i0.ɵɵelementEnd();
527
+ i0.ɵɵelementStart(4, "div", 23);
528
+ i0.ɵɵelement(5, "p-selectButton", 73);
529
+ i0.ɵɵelementEnd();
530
+ i0.ɵɵelement(6, "app-error", 9);
531
+ i0.ɵɵelementEnd();
532
+ } if (rf & 2) {
533
+ const ctx_r19 = i0.ɵɵnextContext(2);
534
+ i0.ɵɵadvance(2);
535
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.sfeight"), " ");
536
+ i0.ɵɵadvance(3);
537
+ i0.ɵɵproperty("options", ctx_r19.radioOptions)("formControl", ctx_r19.sfEightflag);
538
+ i0.ɵɵadvance(1);
539
+ i0.ɵɵclassMap("app-grid");
540
+ i0.ɵɵproperty("form", ctx_r19.isFormSubmitted)("field", ctx_r19.sfEightflag)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r19.required));
541
+ } }
542
+ function AddEmployerComponent_ion_grid_6_ion_row_22_Template(rf, ctx) { if (rf & 1) {
543
+ const _r95 = i0.ɵɵgetCurrentView();
544
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 74);
545
+ i0.ɵɵtext(4);
546
+ i0.ɵɵpipe(5, "translate");
547
+ i0.ɵɵelementEnd();
548
+ i0.ɵɵelementStart(6, "p-calendar", 75);
549
+ i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r94 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r94.validate($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r96 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r96.validate($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r97 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r97.dateInput($event)); });
550
+ i0.ɵɵelementEnd();
551
+ i0.ɵɵelement(7, "app-error", 9);
552
+ i0.ɵɵelementEnd()();
553
+ i0.ɵɵelement(8, "ion-col", 41);
554
+ i0.ɵɵelementStart(9, "ion-col", 38)(10, "div", 14)(11, "label", 76);
555
+ i0.ɵɵtext(12);
556
+ i0.ɵɵpipe(13, "translate");
557
+ i0.ɵɵelementEnd();
558
+ i0.ɵɵelementStart(14, "p-calendar", 77);
559
+ i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onBlur_14_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r98 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r98.validateWagesDisplay($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onInput_14_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r99 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r99.dateInput($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_22_Template_p_calendar_onSelect_14_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r100 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r100.validateWagesDisplay($event)); });
560
+ i0.ɵɵelementEnd();
561
+ i0.ɵɵelement(15, "app-error", 9);
562
+ i0.ɵɵelementEnd()()();
563
+ } if (rf & 2) {
564
+ const ctx_r20 = i0.ɵɵnextContext(2);
565
+ i0.ɵɵadvance(4);
566
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 24, "induction.confirm.employment.startdate"));
567
+ i0.ɵɵadvance(2);
568
+ i0.ɵɵproperty("showIcon", true)("maxDate", ctx_r20.dateTime)("formControl", ctx_r20.startDate)("yearNavigator", true)("minDate", ctx_r20.minWorkStartDate)("showOnFocus", false);
569
+ i0.ɵɵadvance(1);
570
+ i0.ɵɵclassMap("app-grid");
571
+ i0.ɵɵproperty("form", ctx_r20.isFormSubmitted)("field", ctx_r20.startDate)("errDef", i0.ɵɵpureFunction1(28, _c3, ctx_r20.required));
572
+ i0.ɵɵadvance(5);
573
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 26, "induction.confirm.employment.enddate"));
574
+ i0.ɵɵadvance(2);
575
+ i0.ɵɵproperty("showIcon", true)("minDate", ctx_r20.minDate)("maxDate", ctx_r20.dateTime)("yearNavigator", true)("formControl", ctx_r20.endDate)("showOnFocus", false);
576
+ i0.ɵɵadvance(1);
577
+ i0.ɵɵclassMap("app-grid");
578
+ i0.ɵɵproperty("form", ctx_r20.isFormSubmitted)("field", ctx_r20.endDate)("errDef", i0.ɵɵpureFunction1(30, _c3, ctx_r20.required));
579
+ } }
580
+ function AddEmployerComponent_ion_grid_6_ion_row_23_Template(rf, ctx) { if (rf & 1) {
581
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 78);
582
+ i0.ɵɵtext(4);
583
+ i0.ɵɵpipe(5, "translate");
584
+ i0.ɵɵelementEnd();
585
+ i0.ɵɵelement(6, "input", 79)(7, "app-error", 9);
586
+ i0.ɵɵelementEnd()()();
587
+ } if (rf & 2) {
588
+ const ctx_r21 = i0.ɵɵnextContext(2);
589
+ i0.ɵɵadvance(4);
590
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "induction.add.employment.reg.work.type"));
591
+ i0.ɵɵadvance(2);
592
+ i0.ɵɵproperty("formControl", ctx_r21.workType);
593
+ i0.ɵɵadvance(1);
594
+ i0.ɵɵclassMap("app-grid");
595
+ i0.ɵɵproperty("form", ctx_r21.isFormSubmitted)("field", ctx_r21.workType)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r21.required));
596
+ } }
597
+ function AddEmployerComponent_ion_grid_6_div_24_Template(rf, ctx) { if (rf & 1) {
598
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 80);
599
+ i0.ɵɵtext(2);
600
+ i0.ɵɵpipe(3, "translate");
601
+ i0.ɵɵelementEnd();
602
+ i0.ɵɵelementStart(4, "div", 23);
603
+ i0.ɵɵelement(5, "p-selectButton", 81)(6, "app-error", 9);
604
+ i0.ɵɵelementEnd()();
605
+ } if (rf & 2) {
606
+ const ctx_r22 = i0.ɵɵnextContext(2);
607
+ i0.ɵɵadvance(2);
608
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.civilian.work"));
609
+ i0.ɵɵadvance(3);
610
+ i0.ɵɵproperty("options", ctx_r22.radioOptions)("formControl", ctx_r22.performedService);
611
+ i0.ɵɵadvance(1);
612
+ i0.ɵɵclassMap("app-grid");
613
+ i0.ɵɵproperty("form", ctx_r22.isFormSubmitted)("field", ctx_r22.performedService)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r22.required));
614
+ } }
615
+ function AddEmployerComponent_ion_grid_6_div_25_Template(rf, ctx) { if (rf & 1) {
616
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 82);
617
+ i0.ɵɵtext(2);
618
+ i0.ɵɵpipe(3, "translate");
619
+ i0.ɵɵelementEnd();
620
+ i0.ɵɵelement(4, "input", 83)(5, "app-error", 9);
621
+ i0.ɵɵelementEnd();
622
+ } if (rf & 2) {
623
+ const ctx_r23 = i0.ɵɵnextContext(2);
624
+ i0.ɵɵadvance(2);
625
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.confirm.employment.jobtitle"));
626
+ i0.ɵɵadvance(2);
627
+ i0.ɵɵproperty("formControl", ctx_r23.jobTileOrPosition);
628
+ i0.ɵɵadvance(1);
629
+ i0.ɵɵclassMap("app-grid");
630
+ i0.ɵɵproperty("form", ctx_r23.isFormSubmitted)("field", ctx_r23.jobTileOrPosition)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r23.required));
631
+ } }
632
+ function AddEmployerComponent_ion_grid_6_ion_row_26_Template(rf, ctx) { if (rf & 1) {
633
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 84)(2, "div", 14)(3, "label", 85);
634
+ i0.ɵɵtext(4);
635
+ i0.ɵɵpipe(5, "translate");
636
+ i0.ɵɵelementEnd();
637
+ i0.ɵɵelement(6, "p-inputNumber", 86)(7, "app-error", 9);
638
+ i0.ɵɵelementEnd()();
639
+ i0.ɵɵelementStart(8, "ion-col", 84)(9, "div", 14)(10, "label", 87);
640
+ i0.ɵɵtext(11);
641
+ i0.ɵɵpipe(12, "translate");
642
+ i0.ɵɵelementEnd();
643
+ i0.ɵɵelement(13, "p-dropdown", 88)(14, "app-error", 9);
644
+ i0.ɵɵelementEnd()()();
645
+ } if (rf & 2) {
646
+ const ctx_r24 = i0.ɵɵnextContext(2);
647
+ i0.ɵɵadvance(4);
648
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 17, "induction.confirm.employment.payrate"));
649
+ i0.ɵɵadvance(2);
650
+ i0.ɵɵproperty("formControl", ctx_r24.payRate)("max", 999999.99);
651
+ i0.ɵɵadvance(1);
652
+ i0.ɵɵclassMap("app-grid");
653
+ i0.ɵɵproperty("form", ctx_r24.isFormSubmitted)("field", ctx_r24.payRate)("errDef", i0.ɵɵpureFunction1(21, _c3, ctx_r24.required));
654
+ i0.ɵɵadvance(4);
655
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 19, "induction.confirm.employment.per"));
656
+ i0.ɵɵadvance(2);
657
+ i0.ɵɵproperty("options", ctx_r24.payRateOptions)("formControl", ctx_r24.payRateFrequency)("autoDisplayFirst", false);
658
+ i0.ɵɵadvance(1);
659
+ i0.ɵɵclassMap("app-grid");
660
+ i0.ɵɵproperty("form", ctx_r24.isFormSubmitted)("field", ctx_r24.payRateFrequency)("errDef", i0.ɵɵpureFunction1(23, _c3, ctx_r24.required));
661
+ } }
662
+ function AddEmployerComponent_ion_grid_6_div_27_Template(rf, ctx) { if (rf & 1) {
663
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 89);
664
+ i0.ɵɵtext(2);
665
+ i0.ɵɵpipe(3, "translate");
666
+ i0.ɵɵelementEnd();
667
+ i0.ɵɵelement(4, "p-inputMask", 90)(5, "app-error", 9);
668
+ i0.ɵɵelementEnd();
669
+ } if (rf & 2) {
670
+ const ctx_r25 = i0.ɵɵnextContext(2);
671
+ i0.ɵɵadvance(2);
672
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.confirm.employment.employer.phone"));
673
+ i0.ɵɵadvance(2);
674
+ i0.ɵɵproperty("formControl", ctx_r25.employerTelephoneNumber);
675
+ i0.ɵɵadvance(1);
676
+ i0.ɵɵclassMap("app-grid");
677
+ i0.ɵɵproperty("form", ctx_r25.isFormSubmitted)("field", ctx_r25.employerTelephoneNumber)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r25.required));
678
+ } }
679
+ function AddEmployerComponent_ion_grid_6_div_28_label_1_Template(rf, ctx) { if (rf & 1) {
680
+ i0.ɵɵelementStart(0, "label", 93);
681
+ i0.ɵɵtext(1);
682
+ i0.ɵɵpipe(2, "translate");
683
+ i0.ɵɵelementEnd();
684
+ } if (rf & 2) {
685
+ i0.ɵɵadvance(1);
686
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "induction.confirm.employment.reason.separation"));
687
+ } }
688
+ function AddEmployerComponent_ion_grid_6_div_28_label_2_Template(rf, ctx) { if (rf & 1) {
689
+ i0.ɵɵelementStart(0, "label", 93);
690
+ i0.ɵɵtext(1);
691
+ i0.ɵɵpipe(2, "translate");
692
+ i0.ɵɵelementEnd();
693
+ } if (rf & 2) {
694
+ i0.ɵɵadvance(1);
695
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "induction.add.employment.fed.reason.separation"));
696
+ } }
697
+ function AddEmployerComponent_ion_grid_6_div_28_Template(rf, ctx) { if (rf & 1) {
698
+ i0.ɵɵelementStart(0, "div", 14);
699
+ i0.ɵɵtemplate(1, AddEmployerComponent_ion_grid_6_div_28_label_1_Template, 3, 3, "label", 91)(2, AddEmployerComponent_ion_grid_6_div_28_label_2_Template, 3, 3, "label", 91);
700
+ i0.ɵɵelement(3, "p-dropdown", 92)(4, "app-error", 9);
701
+ i0.ɵɵelementEnd();
702
+ } if (rf & 2) {
703
+ const ctx_r26 = i0.ɵɵnextContext(2);
704
+ i0.ɵɵadvance(1);
705
+ i0.ɵɵproperty("ngIf", ctx_r26.employerType.value === "REG");
706
+ i0.ɵɵadvance(1);
707
+ i0.ɵɵproperty("ngIf", ctx_r26.employerType.value === "FED");
708
+ i0.ɵɵadvance(1);
709
+ i0.ɵɵproperty("options", ctx_r26.employmentStatusOptionsAll)("formControl", ctx_r26.reasonSeparation)("autoDisplayFirst", false);
710
+ i0.ɵɵadvance(1);
711
+ i0.ɵɵclassMap("app-grid");
712
+ i0.ɵɵproperty("form", ctx_r26.isFormSubmitted)("field", ctx_r26.reasonSeparation)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r26.required));
713
+ } }
714
+ function AddEmployerComponent_ion_grid_6_div_29_Template(rf, ctx) { if (rf & 1) {
715
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 94);
716
+ i0.ɵɵtext(2);
717
+ i0.ɵɵpipe(3, "translate");
718
+ i0.ɵɵelementEnd();
719
+ i0.ɵɵelement(4, "p-dropdown", 95)(5, "app-error", 9);
720
+ i0.ɵɵelementEnd();
721
+ } if (rf & 2) {
722
+ const ctx_r27 = i0.ɵɵnextContext(2);
723
+ i0.ɵɵadvance(2);
724
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.discharge"));
725
+ i0.ɵɵadvance(2);
726
+ i0.ɵɵproperty("options", ctx_r27.dischargeReasonOptionsAll)("formControl", ctx_r27.dischargeDetail)("autoDisplayFirst", false);
727
+ i0.ɵɵadvance(1);
728
+ i0.ɵɵclassMap("app-grid");
729
+ i0.ɵɵproperty("form", ctx_r27.isFormSubmitted)("field", ctx_r27.dischargeDetail)("errDef", i0.ɵɵpureFunction1(11, _c3, ctx_r27.required));
730
+ } }
731
+ function AddEmployerComponent_ion_grid_6_div_30_Template(rf, ctx) { if (rf & 1) {
732
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 96);
733
+ i0.ɵɵtext(2);
734
+ i0.ɵɵpipe(3, "translate");
735
+ i0.ɵɵelementEnd();
736
+ i0.ɵɵelement(4, "p-dropdown", 97)(5, "app-error", 9);
737
+ i0.ɵɵelementEnd();
738
+ } if (rf & 2) {
739
+ const ctx_r28 = i0.ɵɵnextContext(2);
740
+ i0.ɵɵadvance(2);
741
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.quit"));
742
+ i0.ɵɵadvance(2);
743
+ i0.ɵɵproperty("options", ctx_r28.volQuitReasonOptionsAll)("formControl", ctx_r28.volQuitDetails)("autoDisplayFirst", false);
744
+ i0.ɵɵadvance(1);
745
+ i0.ɵɵclassMap("app-grid");
746
+ i0.ɵɵproperty("form", ctx_r28.isFormSubmitted)("field", ctx_r28.volQuitDetails)("errDef", i0.ɵɵpureFunction1(11, _c3, ctx_r28.required));
747
+ } }
748
+ function AddEmployerComponent_ion_grid_6_div_31_Template(rf, ctx) { if (rf & 1) {
749
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 98);
750
+ i0.ɵɵtext(2);
751
+ i0.ɵɵpipe(3, "translate");
752
+ i0.ɵɵelement(4, "br");
753
+ i0.ɵɵtext(5);
754
+ i0.ɵɵpipe(6, "translate");
755
+ i0.ɵɵelementEnd();
756
+ i0.ɵɵelementStart(7, "div", 23);
757
+ i0.ɵɵelement(8, "p-selectButton", 99)(9, "app-error", 9);
758
+ i0.ɵɵelementEnd()();
759
+ } if (rf & 2) {
760
+ const ctx_r29 = i0.ɵɵnextContext(2);
761
+ i0.ɵɵadvance(2);
762
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 9, "induction.add.employment.mil.pension"), " ");
763
+ i0.ɵɵadvance(3);
764
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 11, "induction.add.employment.mil.pension.disclaimer"), " ");
765
+ i0.ɵɵadvance(3);
766
+ i0.ɵɵproperty("options", ctx_r29.radioOptions)("formControl", ctx_r29.milPensionFlag);
767
+ i0.ɵɵadvance(1);
768
+ i0.ɵɵclassMap("app-grid");
769
+ i0.ɵɵproperty("form", ctx_r29.isFormSubmitted)("field", ctx_r29.milPensionFlag)("errDef", i0.ɵɵpureFunction1(13, _c3, ctx_r29.required));
770
+ } }
771
+ function AddEmployerComponent_ion_grid_6_div_32_Template(rf, ctx) { if (rf & 1) {
772
+ const _r104 = i0.ɵɵgetCurrentView();
773
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 100);
774
+ i0.ɵɵtext(2);
775
+ i0.ɵɵpipe(3, "translate");
776
+ i0.ɵɵelementEnd();
777
+ i0.ɵɵelementStart(4, "div")(5, "p-calendar", 101);
778
+ i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_div_32_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r104); const ctx_r103 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r103.dateInput($event)); });
779
+ i0.ɵɵelementEnd();
780
+ i0.ɵɵelement(6, "app-error", 9);
781
+ i0.ɵɵelementEnd()();
782
+ } if (rf & 2) {
783
+ const ctx_r30 = i0.ɵɵnextContext(2);
784
+ i0.ɵɵadvance(2);
785
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.mil.pension.date"));
786
+ i0.ɵɵadvance(3);
787
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r30.milPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
788
+ i0.ɵɵadvance(1);
789
+ i0.ɵɵclassMap("app-grid");
790
+ i0.ɵɵproperty("form", ctx_r30.isFormSubmitted)("field", ctx_r30.milPensionRecvDate)("errDef", i0.ɵɵpureFunction1(12, _c3, ctx_r30.required));
791
+ } }
792
+ function AddEmployerComponent_ion_grid_6_div_33_Template(rf, ctx) { if (rf & 1) {
793
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 102);
794
+ i0.ɵɵtext(2);
795
+ i0.ɵɵpipe(3, "translate");
796
+ i0.ɵɵelementEnd();
797
+ i0.ɵɵelement(4, "br");
798
+ i0.ɵɵelementStart(5, "div", 103);
799
+ i0.ɵɵelement(6, "p-selectButton", 104)(7, "app-overlay-info", 105);
800
+ i0.ɵɵelementEnd()();
801
+ } if (rf & 2) {
802
+ const ctx_r31 = i0.ɵɵnextContext(2);
803
+ i0.ɵɵadvance(2);
804
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 4, "induction.add.employment.mil.dd214"), " ");
805
+ i0.ɵɵadvance(4);
806
+ i0.ɵɵproperty("options", ctx_r31.radioOptions)("formControl", ctx_r31.dd214Flag);
807
+ i0.ɵɵadvance(1);
808
+ i0.ɵɵproperty("overlayText", ctx_r31.dd214Info);
809
+ } }
810
+ function AddEmployerComponent_ion_grid_6_ion_row_37_Template(rf, ctx) { if (rf & 1) {
811
+ i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
812
+ i0.ɵɵelement(2, "div", 14);
813
+ i0.ɵɵelementEnd()();
814
+ } }
815
+ function AddEmployerComponent_ion_grid_6_ion_row_38_Template(rf, ctx) { if (rf & 1) {
816
+ i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
817
+ i0.ɵɵelement(2, "div", 14);
818
+ i0.ɵɵelementEnd()();
819
+ } }
820
+ function AddEmployerComponent_ion_grid_6_ion_row_39_Template(rf, ctx) { if (rf & 1) {
821
+ i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
822
+ i0.ɵɵelement(2, "div", 14);
823
+ i0.ɵɵelementEnd()();
824
+ } }
825
+ function AddEmployerComponent_ion_grid_6_ion_row_40_Template(rf, ctx) { if (rf & 1) {
826
+ i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
827
+ i0.ɵɵelement(2, "div", 14);
828
+ i0.ɵɵelementEnd()();
829
+ } }
830
+ function AddEmployerComponent_ion_grid_6_ion_row_41_Template(rf, ctx) { if (rf & 1) {
831
+ i0.ɵɵelementStart(0, "ion-row", 106)(1, "ion-col");
832
+ i0.ɵɵelement(2, "div", 14);
833
+ i0.ɵɵelementEnd()();
834
+ } }
835
+ function AddEmployerComponent_ion_grid_6_ion_row_42_Template(rf, ctx) { if (rf & 1) {
836
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 107);
837
+ i0.ɵɵelement(2, "div", 108);
838
+ i0.ɵɵpipe(3, "translate");
839
+ i0.ɵɵelement(4, "div", 108);
840
+ i0.ɵɵpipe(5, "translate");
841
+ i0.ɵɵelement(6, "div", 108);
842
+ i0.ɵɵpipe(7, "translate");
843
+ i0.ɵɵelement(8, "div", 108);
844
+ i0.ɵɵpipe(9, "translate");
845
+ i0.ɵɵelement(10, "div", 108);
846
+ i0.ɵɵpipe(11, "translate");
847
+ i0.ɵɵelement(12, "div", 109);
848
+ i0.ɵɵpipe(13, "translate");
849
+ i0.ɵɵelementEnd()();
850
+ } if (rf & 2) {
851
+ const ctx_r37 = i0.ɵɵnextContext(2);
852
+ i0.ɵɵadvance(2);
853
+ i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 6, ctx_r37.paraOne), i0.ɵɵsanitizeHtml);
854
+ i0.ɵɵadvance(2);
855
+ i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(5, 8, ctx_r37.paraTwo)), i0.ɵɵsanitizeHtml);
856
+ i0.ɵɵadvance(2);
857
+ i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(7, 10, ctx_r37.paraThree)), i0.ɵɵsanitizeHtml);
858
+ i0.ɵɵadvance(2);
859
+ i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(9, 12, ctx_r37.paraFour)), i0.ɵɵsanitizeHtml);
860
+ i0.ɵɵadvance(2);
861
+ i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(11, 14, ctx_r37.paraFive)), i0.ɵɵsanitizeHtml);
862
+ i0.ɵɵadvance(2);
863
+ i0.ɵɵproperty("innerHTML", ctx_r37.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(13, 16, ctx_r37.paraSix)), i0.ɵɵsanitizeHtml);
864
+ } }
865
+ function AddEmployerComponent_ion_grid_6_ion_row_43_Template(rf, ctx) { if (rf & 1) {
866
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 107);
867
+ i0.ɵɵelement(2, "div", 108);
868
+ i0.ɵɵpipe(3, "translate");
869
+ i0.ɵɵelement(4, "div", 108);
870
+ i0.ɵɵpipe(5, "translate");
871
+ i0.ɵɵelement(6, "div", 108);
872
+ i0.ɵɵpipe(7, "translate");
873
+ i0.ɵɵelement(8, "div", 109);
874
+ i0.ɵɵpipe(9, "translate");
875
+ i0.ɵɵelement(10, "div", 108);
876
+ i0.ɵɵpipe(11, "translate");
877
+ i0.ɵɵelementEnd()();
878
+ } if (rf & 2) {
879
+ const ctx_r38 = i0.ɵɵnextContext(2);
880
+ i0.ɵɵadvance(2);
881
+ i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(3, 5, ctx_r38.noParaOne), i0.ɵɵsanitizeHtml);
882
+ i0.ɵɵadvance(2);
883
+ i0.ɵɵproperty("innerHTML", ctx_r38.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(5, 7, ctx_r38.noParaTwo)), i0.ɵɵsanitizeHtml);
884
+ i0.ɵɵadvance(2);
885
+ i0.ɵɵproperty("innerHTML", ctx_r38.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(7, 9, ctx_r38.noParaThree)), i0.ɵɵsanitizeHtml);
886
+ i0.ɵɵadvance(2);
887
+ i0.ɵɵproperty("innerHTML", ctx_r38.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(9, 11, ctx_r38.noParaFour)), i0.ɵɵsanitizeHtml);
888
+ i0.ɵɵadvance(2);
889
+ i0.ɵɵproperty("innerHTML", ctx_r38.sanitizer.bypassSecurityTrustHtml(i0.ɵɵpipeBind1(11, 13, ctx_r38.noParaFive)), i0.ɵɵsanitizeHtml);
890
+ } }
891
+ function AddEmployerComponent_ion_grid_6_ion_row_44_Template(rf, ctx) { if (rf & 1) {
892
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 110)(2, "div", 14)(3, "label", 111);
893
+ i0.ɵɵtext(4);
894
+ i0.ɵɵpipe(5, "translate");
895
+ i0.ɵɵelementEnd();
896
+ i0.ɵɵelement(6, "p-inputNumber", 112)(7, "app-error", 9);
897
+ i0.ɵɵelementEnd()()();
898
+ } if (rf & 2) {
899
+ const ctx_r39 = i0.ɵɵnextContext(2);
900
+ i0.ɵɵadvance(4);
901
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 8, "induction.add.employment.total.wages.earned"), " ");
902
+ i0.ɵɵadvance(2);
903
+ i0.ɵɵproperty("formControl", ctx_r39.grossWages)("max", 999999.99);
904
+ i0.ɵɵadvance(1);
905
+ i0.ɵɵclassMap("app-grid");
906
+ i0.ɵɵproperty("form", ctx_r39.isFormSubmitted)("field", ctx_r39.grossWages)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r39.required));
907
+ } }
908
+ function AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_1_Template(rf, ctx) { if (rf & 1) {
909
+ i0.ɵɵelementStart(0, "ion-col", 116)(1, "div", 14)(2, "label", 85);
910
+ i0.ɵɵtext(3);
911
+ i0.ɵɵpipe(4, "translate");
912
+ i0.ɵɵelementEnd();
913
+ i0.ɵɵelement(5, "p-inputNumber", 86)(6, "app-error", 9);
914
+ i0.ɵɵelementEnd()();
915
+ } if (rf & 2) {
916
+ const ctx_r105 = i0.ɵɵnextContext(3);
917
+ i0.ɵɵadvance(3);
918
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "induction.add.employment.payrate"));
919
+ i0.ɵɵadvance(2);
920
+ i0.ɵɵproperty("formControl", ctx_r105.payRate)("max", 999999.99);
921
+ i0.ɵɵadvance(1);
922
+ i0.ɵɵclassMap("app-grid");
923
+ i0.ɵɵproperty("form", ctx_r105.isFormSubmitted)("field", ctx_r105.payRate)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r105.required));
924
+ } }
925
+ function AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_2_Template(rf, ctx) { if (rf & 1) {
926
+ i0.ɵɵelementStart(0, "ion-col", 117)(1, "div", 14)(2, "label", 87);
927
+ i0.ɵɵtext(3);
928
+ i0.ɵɵpipe(4, "translate");
929
+ i0.ɵɵelementEnd();
930
+ i0.ɵɵelement(5, "p-dropdown", 88)(6, "app-error", 9);
931
+ i0.ɵɵelementEnd()();
932
+ } if (rf & 2) {
933
+ const ctx_r106 = i0.ɵɵnextContext(3);
934
+ i0.ɵɵadvance(3);
935
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 9, "induction.add.employment.per"));
936
+ i0.ɵɵadvance(2);
937
+ i0.ɵɵproperty("options", ctx_r106.payRateOptions)("formControl", ctx_r106.payRateFrequency)("autoDisplayFirst", false);
938
+ i0.ɵɵadvance(1);
939
+ i0.ɵɵclassMap("app-grid");
940
+ i0.ɵɵproperty("form", ctx_r106.isFormSubmitted)("field", ctx_r106.payRateFrequency)("errDef", i0.ɵɵpureFunction1(11, _c3, ctx_r106.required));
941
+ } }
942
+ function AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_3_Template(rf, ctx) { if (rf & 1) {
943
+ i0.ɵɵelementStart(0, "ion-col", 110)(1, "div", 14)(2, "label", 111);
944
+ i0.ɵɵtext(3);
945
+ i0.ɵɵpipe(4, "translate");
946
+ i0.ɵɵelementEnd();
947
+ i0.ɵɵelement(5, "p-inputNumber", 112)(6, "app-error", 9);
948
+ i0.ɵɵelementEnd()();
949
+ } if (rf & 2) {
950
+ const ctx_r107 = i0.ɵɵnextContext(3);
951
+ i0.ɵɵadvance(3);
952
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "induction.add.employment.total.wages.earned"));
953
+ i0.ɵɵadvance(2);
954
+ i0.ɵɵproperty("formControl", ctx_r107.grossWages)("max", 999999.99);
955
+ i0.ɵɵadvance(1);
956
+ i0.ɵɵclassMap("app-grid");
957
+ i0.ɵɵproperty("form", ctx_r107.isFormSubmitted)("field", ctx_r107.grossWages)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r107.required));
958
+ } }
959
+ function AddEmployerComponent_ion_grid_6_ion_row_45_Template(rf, ctx) { if (rf & 1) {
960
+ i0.ɵɵelementStart(0, "ion-row");
961
+ i0.ɵɵtemplate(1, AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_1_Template, 7, 12, "ion-col", 113)(2, AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_2_Template, 7, 13, "ion-col", 114)(3, AddEmployerComponent_ion_grid_6_ion_row_45_ion_col_3_Template, 7, 12, "ion-col", 115);
962
+ i0.ɵɵelementEnd();
963
+ } if (rf & 2) {
964
+ const ctx_r40 = i0.ɵɵnextContext(2);
965
+ i0.ɵɵadvance(1);
966
+ i0.ɵɵproperty("ngIf", !ctx_r40.isBasePeriodEmployer);
967
+ i0.ɵɵadvance(1);
968
+ i0.ɵɵproperty("ngIf", !ctx_r40.isBasePeriodEmployer);
969
+ i0.ɵɵadvance(1);
970
+ i0.ɵɵproperty("ngIf", ctx_r40.displayVerificationOfWages.value && !ctx_r40.isBasePeriodEmployer);
971
+ } }
972
+ function AddEmployerComponent_ion_grid_6_div_46_Template(rf, ctx) { if (rf & 1) {
973
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 118);
974
+ i0.ɵɵtext(2);
975
+ i0.ɵɵpipe(3, "translate");
976
+ i0.ɵɵelement(4, "br");
977
+ i0.ɵɵtext(5);
978
+ i0.ɵɵpipe(6, "translate");
979
+ i0.ɵɵelementEnd();
980
+ i0.ɵɵelementStart(7, "div", 119);
981
+ i0.ɵɵelement(8, "p-selectButton", 120)(9, "app-overlay-info", 121);
982
+ i0.ɵɵpipe(10, "translate");
983
+ i0.ɵɵelementEnd();
984
+ i0.ɵɵelement(11, "app-error", 9);
985
+ i0.ɵɵelementEnd();
986
+ } if (rf & 2) {
987
+ const ctx_r41 = i0.ɵɵnextContext(2);
988
+ i0.ɵɵadvance(2);
989
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 10, "induction.add.employment.fed.pension"), " ");
990
+ i0.ɵɵadvance(3);
991
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 12, "induction.add.employment.fed.pension.disclaimer"), " ");
992
+ i0.ɵɵadvance(3);
993
+ i0.ɵɵproperty("options", ctx_r41.radioOptions)("formControl", ctx_r41.fedPensionFlag);
994
+ i0.ɵɵadvance(1);
995
+ i0.ɵɵpropertyInterpolate("overlayText", i0.ɵɵpipeBind1(10, 14, "induction.add.employment.fed.pension.info"));
996
+ i0.ɵɵadvance(2);
997
+ i0.ɵɵclassMap("app-grid");
998
+ i0.ɵɵproperty("form", ctx_r41.isFormSubmitted)("field", ctx_r41.fedPensionFlag)("errDef", i0.ɵɵpureFunction1(16, _c3, ctx_r41.required));
999
+ } }
1000
+ function AddEmployerComponent_ion_grid_6_div_47_Template(rf, ctx) { if (rf & 1) {
1001
+ const _r109 = i0.ɵɵgetCurrentView();
1002
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 122);
1003
+ i0.ɵɵtext(2);
1004
+ i0.ɵɵpipe(3, "translate");
1005
+ i0.ɵɵelementEnd();
1006
+ i0.ɵɵelementStart(4, "div")(5, "p-calendar", 123);
1007
+ i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_div_47_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r109); const ctx_r108 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r108.dateInput($event)); });
1008
+ i0.ɵɵelementEnd();
1009
+ i0.ɵɵelement(6, "app-error", 9);
1010
+ i0.ɵɵelementEnd()();
1011
+ } if (rf & 2) {
1012
+ const ctx_r42 = i0.ɵɵnextContext(2);
1013
+ i0.ɵɵadvance(2);
1014
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.fed.pension.date"));
1015
+ i0.ɵɵadvance(3);
1016
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r42.fedPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
1017
+ i0.ɵɵadvance(1);
1018
+ i0.ɵɵclassMap("app-grid");
1019
+ i0.ɵɵproperty("form", ctx_r42.isFormSubmitted)("field", ctx_r42.fedPensionRecvDate)("errDef", i0.ɵɵpureFunction1(12, _c3, ctx_r42.required));
1020
+ } }
1021
+ function AddEmployerComponent_ion_grid_6_div_48_Template(rf, ctx) { if (rf & 1) {
1022
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 124);
1023
+ i0.ɵɵtext(2);
1024
+ i0.ɵɵpipe(3, "translate");
1025
+ i0.ɵɵelementEnd();
1026
+ i0.ɵɵelementStart(4, "div", 23);
1027
+ i0.ɵɵelement(5, "p-selectButton", 125)(6, "app-error", 9);
1028
+ i0.ɵɵelementEnd()();
1029
+ } if (rf & 2) {
1030
+ const ctx_r43 = i0.ɵɵnextContext(2);
1031
+ i0.ɵɵadvance(2);
1032
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.fed.severance"));
1033
+ i0.ɵɵadvance(3);
1034
+ i0.ɵɵproperty("options", ctx_r43.radioOptions)("formControl", ctx_r43.sevPayFlag);
1035
+ i0.ɵɵadvance(1);
1036
+ i0.ɵɵclassMap("app-grid");
1037
+ i0.ɵɵproperty("form", ctx_r43.isFormSubmitted)("field", ctx_r43.sevPayFlag)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r43.required));
1038
+ } }
1039
+ function AddEmployerComponent_ion_grid_6_ion_row_49_Template(rf, ctx) { if (rf & 1) {
1040
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 126)(2, "div", 14)(3, "label", 127);
1041
+ i0.ɵɵtext(4);
1042
+ i0.ɵɵpipe(5, "translate");
1043
+ i0.ɵɵelementEnd();
1044
+ i0.ɵɵelement(6, "p-inputNumber", 128)(7, "app-error", 9);
1045
+ i0.ɵɵelementEnd()();
1046
+ i0.ɵɵelementStart(8, "ion-col", 126)(9, "div", 14)(10, "label", 129);
1047
+ i0.ɵɵtext(11);
1048
+ i0.ɵɵpipe(12, "translate");
1049
+ i0.ɵɵelementEnd();
1050
+ i0.ɵɵelement(13, "p-inputNumber", 130)(14, "app-error", 9);
1051
+ i0.ɵɵelementEnd()();
1052
+ i0.ɵɵelementStart(15, "ion-col")(16, "div", 14)(17, "label", 131);
1053
+ i0.ɵɵtext(18);
1054
+ i0.ɵɵpipe(19, "translate");
1055
+ i0.ɵɵelementEnd();
1056
+ i0.ɵɵelement(20, "p-inputNumber", 132)(21, "app-error", 9);
1057
+ i0.ɵɵelementEnd()()();
1058
+ } if (rf & 2) {
1059
+ const ctx_r44 = i0.ɵɵnextContext(2);
1060
+ i0.ɵɵadvance(4);
1061
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 24, "induction.add.employment.fed.severance.weekly.amt"));
1062
+ i0.ɵɵadvance(2);
1063
+ i0.ɵɵproperty("formControl", ctx_r44.weeklyAmount)("max", 999999.99);
1064
+ i0.ɵɵadvance(1);
1065
+ i0.ɵɵclassMap("app-grid");
1066
+ i0.ɵɵproperty("form", ctx_r44.isFormSubmitted)("field", ctx_r44.weeklyAmount)("errDef", i0.ɵɵpureFunction1(30, _c3, ctx_r44.required));
1067
+ i0.ɵɵadvance(4);
1068
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 26, "induction.add.employment.fed.severance.weeks"));
1069
+ i0.ɵɵadvance(2);
1070
+ i0.ɵɵproperty("useGrouping", false)("formControl", ctx_r44.numberOfWeeks);
1071
+ i0.ɵɵadvance(1);
1072
+ i0.ɵɵclassMap("app-grid");
1073
+ i0.ɵɵproperty("form", ctx_r44.isFormSubmitted)("field", ctx_r44.numberOfWeeks)("errDef", i0.ɵɵpureFunction1(32, _c3, ctx_r44.required));
1074
+ i0.ɵɵadvance(4);
1075
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 28, "induction.add.employment.fed.severance.entitlement"));
1076
+ i0.ɵɵadvance(2);
1077
+ i0.ɵɵproperty("formControl", ctx_r44.sevPayAmount)("max", 999999.99);
1078
+ i0.ɵɵadvance(1);
1079
+ i0.ɵɵclassMap("app-grid");
1080
+ i0.ɵɵproperty("form", ctx_r44.isFormSubmitted)("field", ctx_r44.sevPayAmount)("errDef", i0.ɵɵpureFunction1(34, _c3, ctx_r44.required));
1081
+ } }
1082
+ function AddEmployerComponent_ion_grid_6_ion_row_50_Template(rf, ctx) { if (rf & 1) {
1083
+ const _r111 = i0.ɵɵgetCurrentView();
1084
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 126)(2, "div", 14)(3, "label", 133);
1085
+ i0.ɵɵtext(4);
1086
+ i0.ɵɵpipe(5, "translate");
1087
+ i0.ɵɵelementEnd();
1088
+ i0.ɵɵelementStart(6, "p-calendar", 134);
1089
+ i0.ɵɵlistener("onBlur", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onBlur_6_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r110 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r110.validate($event)); })("onSelect", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onSelect_6_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r112 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r112.validate($event)); })("onInput", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onInput_6_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r113 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r113.dateInput($event)); });
1090
+ i0.ɵɵelementEnd();
1091
+ i0.ɵɵelement(7, "app-error", 9);
1092
+ i0.ɵɵelementEnd()();
1093
+ i0.ɵɵelementStart(8, "ion-col", 126)(9, "div", 14)(10, "label", 135);
1094
+ i0.ɵɵtext(11);
1095
+ i0.ɵɵpipe(12, "translate");
1096
+ i0.ɵɵelementEnd();
1097
+ i0.ɵɵelementStart(13, "p-calendar", 136);
1098
+ i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onInput_13_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r114 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r114.dateInput($event)); });
1099
+ i0.ɵɵelementEnd();
1100
+ i0.ɵɵelement(14, "app-error", 9);
1101
+ i0.ɵɵelementEnd()();
1102
+ i0.ɵɵelementStart(15, "ion-col")(16, "div", 14)(17, "label", 137);
1103
+ i0.ɵɵtext(18);
1104
+ i0.ɵɵpipe(19, "translate");
1105
+ i0.ɵɵelementEnd();
1106
+ i0.ɵɵelementStart(20, "p-calendar", 138);
1107
+ i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_ion_row_50_Template_p_calendar_onInput_20_listener($event) { i0.ɵɵrestoreView(_r111); const ctx_r115 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r115.dateInput($event)); });
1108
+ i0.ɵɵelementEnd();
1109
+ i0.ɵɵelement(21, "app-error", 9);
1110
+ i0.ɵɵelementEnd()()();
1111
+ } if (rf & 2) {
1112
+ const ctx_r45 = i0.ɵɵnextContext(2);
1113
+ i0.ɵɵadvance(4);
1114
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 31, "induction.add.employment.fed.severance.start.date"));
1115
+ i0.ɵɵadvance(2);
1116
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r45.sevPayStartDate)("yearNavigator", true)("showOnFocus", false);
1117
+ i0.ɵɵadvance(1);
1118
+ i0.ɵɵclassMap("app-grid");
1119
+ i0.ɵɵproperty("form", ctx_r45.isFormSubmitted)("field", ctx_r45.sevPayStartDate)("errDef", i0.ɵɵpureFunction1(37, _c3, ctx_r45.required));
1120
+ i0.ɵɵadvance(4);
1121
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 33, "induction.add.employment.fed.severance.end.date"));
1122
+ i0.ɵɵadvance(2);
1123
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r45.sevPayEndDate)("yearNavigator", true)("minDate", ctx_r45.minDate)("showOnFocus", false);
1124
+ i0.ɵɵadvance(1);
1125
+ i0.ɵɵclassMap("app-grid");
1126
+ i0.ɵɵproperty("form", ctx_r45.isFormSubmitted)("field", ctx_r45.sevPayEndDate)("errDef", i0.ɵɵpureFunction1(39, _c3, ctx_r45.required));
1127
+ i0.ɵɵadvance(4);
1128
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 35, "induction.add.employment.fed.severance.pay.date"));
1129
+ i0.ɵɵadvance(2);
1130
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r45.sevPayPaymentStartDate)("yearNavigator", true)("showOnFocus", false);
1131
+ i0.ɵɵadvance(1);
1132
+ i0.ɵɵclassMap("app-grid");
1133
+ i0.ɵɵproperty("form", ctx_r45.isFormSubmitted)("field", ctx_r45.sevPayPaymentStartDate)("errDef", i0.ɵɵpureFunction1(41, _c3, ctx_r45.required));
1134
+ } }
1135
+ function AddEmployerComponent_ion_grid_6_div_51_Template(rf, ctx) { if (rf & 1) {
1136
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 139);
1137
+ i0.ɵɵtext(2);
1138
+ i0.ɵɵpipe(3, "translate");
1139
+ i0.ɵɵelementEnd();
1140
+ i0.ɵɵelementStart(4, "div", 23);
1141
+ i0.ɵɵelement(5, "p-selectButton", 140)(6, "app-error", 9);
1142
+ i0.ɵɵelementEnd()();
1143
+ } if (rf & 2) {
1144
+ const ctx_r46 = i0.ɵɵnextContext(2);
1145
+ i0.ɵɵadvance(2);
1146
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.confirm.employment.pension"));
1147
+ i0.ɵɵadvance(3);
1148
+ i0.ɵɵproperty("options", ctx_r46.radioOptions)("formControl", ctx_r46.pensionFlag);
1149
+ i0.ɵɵadvance(1);
1150
+ i0.ɵɵclassMap("app-grid");
1151
+ i0.ɵɵproperty("form", ctx_r46.isFormSubmitted)("field", ctx_r46.pensionFlag)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r46.required));
1152
+ } }
1153
+ function AddEmployerComponent_ion_grid_6_div_52_Template(rf, ctx) { if (rf & 1) {
1154
+ const _r117 = i0.ɵɵgetCurrentView();
1155
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 141);
1156
+ i0.ɵɵtext(2);
1157
+ i0.ɵɵpipe(3, "translate");
1158
+ i0.ɵɵelementEnd();
1159
+ i0.ɵɵelementStart(4, "div")(5, "p-calendar", 142);
1160
+ i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_div_52_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r117); const ctx_r116 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r116.dateInput($event)); });
1161
+ i0.ɵɵelementEnd();
1162
+ i0.ɵɵelement(6, "app-error", 9);
1163
+ i0.ɵɵelementEnd()();
1164
+ } if (rf & 2) {
1165
+ const ctx_r47 = i0.ɵɵnextContext(2);
1166
+ i0.ɵɵadvance(2);
1167
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.confirm.employment.pension.date"));
1168
+ i0.ɵɵadvance(3);
1169
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r47.pensionRecvDate)("yearNavigator", true)("showOnFocus", false);
1170
+ i0.ɵɵadvance(1);
1171
+ i0.ɵɵclassMap("app-grid");
1172
+ i0.ɵɵproperty("form", ctx_r47.isFormSubmitted)("field", ctx_r47.pensionRecvDate)("errDef", i0.ɵɵpureFunction1(12, _c3, ctx_r47.required));
1173
+ } }
1174
+ function AddEmployerComponent_ion_grid_6_div_53_Template(rf, ctx) { if (rf & 1) {
1175
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 143);
1176
+ i0.ɵɵtext(2);
1177
+ i0.ɵɵpipe(3, "translate");
1178
+ i0.ɵɵelement(4, "br");
1179
+ i0.ɵɵtext(5);
1180
+ i0.ɵɵpipe(6, "translate");
1181
+ i0.ɵɵelementEnd();
1182
+ i0.ɵɵelementStart(7, "div", 119);
1183
+ i0.ɵɵelement(8, "p-selectButton", 144)(9, "app-overlay-info", 121);
1184
+ i0.ɵɵpipe(10, "translate");
1185
+ i0.ɵɵelementEnd();
1186
+ i0.ɵɵelement(11, "app-error", 9);
1187
+ i0.ɵɵelementEnd();
1188
+ } if (rf & 2) {
1189
+ const ctx_r48 = i0.ɵɵnextContext(2);
1190
+ i0.ɵɵadvance(2);
1191
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(3, 10, "induction.add.employment.reg.pension"), " ");
1192
+ i0.ɵɵadvance(3);
1193
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 12, "induction.add.employment.reg.pension.disclaimer"), "");
1194
+ i0.ɵɵadvance(3);
1195
+ i0.ɵɵproperty("options", ctx_r48.radioOptions)("formControl", ctx_r48.regPensionFlag);
1196
+ i0.ɵɵadvance(1);
1197
+ i0.ɵɵpropertyInterpolate("overlayText", i0.ɵɵpipeBind1(10, 14, "induction.add.employment.reg.pension.info"));
1198
+ i0.ɵɵadvance(2);
1199
+ i0.ɵɵclassMap("app-grid");
1200
+ i0.ɵɵproperty("form", ctx_r48.isFormSubmitted)("field", ctx_r48.regPensionFlag)("errDef", i0.ɵɵpureFunction1(16, _c3, ctx_r48.required));
1201
+ } }
1202
+ function AddEmployerComponent_ion_grid_6_div_54_Template(rf, ctx) { if (rf & 1) {
1203
+ const _r119 = i0.ɵɵgetCurrentView();
1204
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 145);
1205
+ i0.ɵɵtext(2);
1206
+ i0.ɵɵpipe(3, "translate");
1207
+ i0.ɵɵelementEnd();
1208
+ i0.ɵɵelementStart(4, "div")(5, "p-calendar", 146);
1209
+ i0.ɵɵlistener("onInput", function AddEmployerComponent_ion_grid_6_div_54_Template_p_calendar_onInput_5_listener($event) { i0.ɵɵrestoreView(_r119); const ctx_r118 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r118.dateInput($event)); });
1210
+ i0.ɵɵelementEnd();
1211
+ i0.ɵɵelement(6, "app-error", 9);
1212
+ i0.ɵɵelementEnd()();
1213
+ } if (rf & 2) {
1214
+ const ctx_r49 = i0.ɵɵnextContext(2);
1215
+ i0.ɵɵadvance(2);
1216
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 10, "induction.add.employment.reg.pension.date"));
1217
+ i0.ɵɵadvance(3);
1218
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r49.regPensionRecvDate)("yearNavigator", true)("showOnFocus", false);
1219
+ i0.ɵɵadvance(1);
1220
+ i0.ɵɵclassMap("app-grid");
1221
+ i0.ɵɵproperty("form", ctx_r49.isFormSubmitted)("field", ctx_r49.regPensionRecvDate)("errDef", i0.ɵɵpureFunction1(12, _c3, ctx_r49.required));
1222
+ } }
1223
+ function AddEmployerComponent_ion_grid_6_div_55_div_28_Template(rf, ctx) { if (rf & 1) {
1224
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 153);
1225
+ i0.ɵɵtext(2);
1226
+ i0.ɵɵpipe(3, "translate");
1227
+ i0.ɵɵelementEnd();
1228
+ i0.ɵɵelement(4, "p-inputMask", 154)(5, "app-error", 9);
1229
+ i0.ɵɵelementEnd();
1230
+ } if (rf & 2) {
1231
+ const ctx_r120 = i0.ɵɵnextContext(3);
1232
+ i0.ɵɵadvance(2);
1233
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.reg.verification.wages.other.ssn"));
1234
+ i0.ɵɵadvance(2);
1235
+ i0.ɵɵproperty("formControl", ctx_r120.otherSSN);
1236
+ i0.ɵɵadvance(1);
1237
+ i0.ɵɵclassMap("app-grid");
1238
+ i0.ɵɵproperty("form", ctx_r120.isFormSubmitted)("field", ctx_r120.otherSSN)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r120.required));
1239
+ } }
1240
+ function AddEmployerComponent_ion_grid_6_div_55_Template(rf, ctx) { if (rf & 1) {
1241
+ i0.ɵɵelementStart(0, "div")(1, "div", 14)(2, "h4");
1242
+ i0.ɵɵtext(3);
1243
+ i0.ɵɵpipe(4, "translate");
1244
+ i0.ɵɵelementEnd()();
1245
+ i0.ɵɵelementStart(5, "div", 14)(6, "label");
1246
+ i0.ɵɵtext(7);
1247
+ i0.ɵɵpipe(8, "translate");
1248
+ i0.ɵɵelementEnd()();
1249
+ i0.ɵɵelementStart(9, "div", 14)(10, "label", 147);
1250
+ i0.ɵɵtext(11);
1251
+ i0.ɵɵpipe(12, "translate");
1252
+ i0.ɵɵelementEnd();
1253
+ i0.ɵɵelement(13, "p-selectButton", 148)(14, "app-error", 9);
1254
+ i0.ɵɵelementEnd();
1255
+ i0.ɵɵelementStart(15, "div", 14)(16, "label", 149);
1256
+ i0.ɵɵtext(17);
1257
+ i0.ɵɵpipe(18, "translate");
1258
+ i0.ɵɵelementEnd();
1259
+ i0.ɵɵelement(19, "p-selectButton", 150)(20, "app-error", 9);
1260
+ i0.ɵɵelementEnd();
1261
+ i0.ɵɵelementStart(21, "div", 14)(22, "label", 151);
1262
+ i0.ɵɵtext(23);
1263
+ i0.ɵɵpipe(24, "translate");
1264
+ i0.ɵɵelementEnd();
1265
+ i0.ɵɵelementStart(25, "div", 23);
1266
+ i0.ɵɵelement(26, "p-selectButton", 152)(27, "app-error", 9);
1267
+ i0.ɵɵelementEnd()();
1268
+ i0.ɵɵtemplate(28, AddEmployerComponent_ion_grid_6_div_55_div_28_Template, 6, 11, "div", 7);
1269
+ i0.ɵɵelementEnd();
1270
+ } if (rf & 2) {
1271
+ const ctx_r50 = i0.ɵɵnextContext(2);
1272
+ i0.ɵɵadvance(3);
1273
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "induction.add.employment.reg.verification.wages.header"));
1274
+ i0.ɵɵadvance(4);
1275
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(8, 29, "induction.add.employment.reg.verification.wages.subheader"));
1276
+ i0.ɵɵadvance(4);
1277
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 31, "induction.add.employment.reg.verification.wages.paymode"));
1278
+ i0.ɵɵadvance(2);
1279
+ i0.ɵɵproperty("options", ctx_r50.payMethodOptions)("formControl", ctx_r50.paymentType);
1280
+ i0.ɵɵadvance(1);
1281
+ i0.ɵɵclassMap("app-grid");
1282
+ i0.ɵɵproperty("form", ctx_r50.isFormSubmitted)("field", ctx_r50.paymentType)("errDef", i0.ɵɵpureFunction1(37, _c3, ctx_r50.required));
1283
+ i0.ɵɵadvance(3);
1284
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(18, 33, "induction.add.employment.reg.verification.wages.docs"));
1285
+ i0.ɵɵadvance(2);
1286
+ i0.ɵɵproperty("options", ctx_r50.wageProofOptions)("formControl", ctx_r50.docsReceived);
1287
+ i0.ɵɵadvance(1);
1288
+ i0.ɵɵclassMap("app-grid");
1289
+ i0.ɵɵproperty("form", ctx_r50.isFormSubmitted)("field", ctx_r50.docsReceived)("errDef", i0.ɵɵpureFunction1(39, _c3, ctx_r50.required));
1290
+ i0.ɵɵadvance(3);
1291
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(24, 35, "induction.add.employment.reg.verification.wages.other.ssn.flag"), " ");
1292
+ i0.ɵɵadvance(3);
1293
+ i0.ɵɵproperty("options", ctx_r50.radioOptions)("formControl", ctx_r50.otherSSNFlag);
1294
+ i0.ɵɵadvance(1);
1295
+ i0.ɵɵclassMap("app-grid");
1296
+ i0.ɵɵproperty("form", ctx_r50.isFormSubmitted)("field", ctx_r50.otherSSNFlag)("errDef", i0.ɵɵpureFunction1(41, _c3, ctx_r50.required));
1297
+ i0.ɵɵadvance(1);
1298
+ i0.ɵɵproperty("ngIf", ctx_r50.otherSSNFlag.value === "Y");
1299
+ } }
1300
+ function AddEmployerComponent_ion_grid_6_ion_row_56_div_9_Template(rf, ctx) { if (rf & 1) {
1301
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 157);
1302
+ i0.ɵɵtext(2);
1303
+ i0.ɵɵpipe(3, "translate");
1304
+ i0.ɵɵelementEnd();
1305
+ i0.ɵɵelement(4, "input", 158)(5, "app-error", 9);
1306
+ i0.ɵɵelementEnd();
1307
+ } if (rf & 2) {
1308
+ const ctx_r121 = i0.ɵɵnextContext(3);
1309
+ i0.ɵɵadvance(2);
1310
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "induction.add.employment.reg.verification.wages.other.name"));
1311
+ i0.ɵɵadvance(2);
1312
+ i0.ɵɵproperty("formControl", ctx_r121.otherName);
1313
+ i0.ɵɵadvance(1);
1314
+ i0.ɵɵclassMap("app-grid");
1315
+ i0.ɵɵproperty("form", ctx_r121.isFormSubmitted)("field", ctx_r121.otherName)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r121.required));
1316
+ } }
1317
+ function AddEmployerComponent_ion_grid_6_ion_row_56_Template(rf, ctx) { if (rf & 1) {
1318
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 155);
1319
+ i0.ɵɵtext(4);
1320
+ i0.ɵɵpipe(5, "translate");
1321
+ i0.ɵɵelementEnd();
1322
+ i0.ɵɵelementStart(6, "div", 23);
1323
+ i0.ɵɵelement(7, "p-selectButton", 156)(8, "app-error", 9);
1324
+ i0.ɵɵelementEnd()();
1325
+ i0.ɵɵtemplate(9, AddEmployerComponent_ion_grid_6_ion_row_56_div_9_Template, 6, 11, "div", 7);
1326
+ i0.ɵɵelementEnd()();
1327
+ } if (rf & 2) {
1328
+ const ctx_r51 = i0.ɵɵnextContext(2);
1329
+ i0.ɵɵadvance(4);
1330
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 9, "induction.add.employment.reg.verification.wages.other.name.flag"));
1331
+ i0.ɵɵadvance(3);
1332
+ i0.ɵɵproperty("options", ctx_r51.radioOptions)("formControl", ctx_r51.otherNameFlag);
1333
+ i0.ɵɵadvance(1);
1334
+ i0.ɵɵclassMap("app-grid");
1335
+ i0.ɵɵproperty("form", ctx_r51.isFormSubmitted)("field", ctx_r51.otherNameFlag)("errDef", i0.ɵɵpureFunction1(11, _c3, ctx_r51.required));
1336
+ i0.ɵɵadvance(1);
1337
+ i0.ɵɵproperty("ngIf", ctx_r51.otherNameFlag.value === "Y");
1338
+ } }
1339
+ function AddEmployerComponent_ion_grid_6_ion_row_57_Template(rf, ctx) { if (rf & 1) {
1340
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 38)(2, "div", 14)(3, "label", 159);
1341
+ i0.ɵɵtext(4);
1342
+ i0.ɵɵpipe(5, "translate");
1343
+ i0.ɵɵelementEnd();
1344
+ i0.ɵɵelement(6, "input", 160)(7, "app-error", 9);
1345
+ i0.ɵɵelementEnd()()();
1346
+ } if (rf & 2) {
1347
+ const ctx_r52 = i0.ɵɵnextContext(2);
1348
+ i0.ɵɵadvance(4);
1349
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "induction.add.employment.reg.verification.nature"));
1350
+ i0.ɵɵadvance(2);
1351
+ i0.ɵɵproperty("formControl", ctx_r52.businessNature);
1352
+ i0.ɵɵadvance(1);
1353
+ i0.ɵɵclassMap("app-grid");
1354
+ i0.ɵɵproperty("form", ctx_r52.isFormSubmitted)("field", ctx_r52.businessNature)("errDef", i0.ɵɵpureFunction1(9, _c3, ctx_r52.required));
1355
+ } }
1356
+ function AddEmployerComponent_ion_grid_6_div_58_Template(rf, ctx) { if (rf & 1) {
1357
+ i0.ɵɵelementStart(0, "div", 14)(1, "label");
1358
+ i0.ɵɵtext(2);
1359
+ i0.ɵɵpipe(3, "translate");
1360
+ i0.ɵɵelementEnd()();
1361
+ } if (rf & 2) {
1362
+ i0.ɵɵadvance(2);
1363
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 1, "induction.add.employment.fed.verification.wages.statement"));
1364
+ } }
1365
+ function AddEmployerComponent_ion_grid_6_div_59_ng_container_13_tr_1_Template(rf, ctx) { if (rf & 1) {
1366
+ i0.ɵɵelementStart(0, "tr")(1, "td")(2, "label", 166);
1367
+ i0.ɵɵtext(3);
1368
+ i0.ɵɵelementEnd()();
1369
+ i0.ɵɵelementStart(4, "td");
1370
+ i0.ɵɵelement(5, "p-inputNumber", 167);
1371
+ i0.ɵɵelementEnd()();
1372
+ } if (rf & 2) {
1373
+ const ctx_r127 = i0.ɵɵnextContext();
1374
+ const i_r125 = ctx_r127.index;
1375
+ const wageAmountForm_r124 = ctx_r127.$implicit;
1376
+ i0.ɵɵadvance(2);
1377
+ i0.ɵɵproperty("for", "wageAmountArray-" + i_r125);
1378
+ i0.ɵɵadvance(1);
1379
+ i0.ɵɵtextInterpolate(wageAmountForm_r124.value.qtrYearDisplayString);
1380
+ i0.ɵɵadvance(2);
1381
+ i0.ɵɵproperty("inputId", "wageAmountArray-" + i_r125)("min", 0)("max", 999999.99);
1382
+ } }
1383
+ function AddEmployerComponent_ion_grid_6_div_59_ng_container_13_Template(rf, ctx) { if (rf & 1) {
1384
+ i0.ɵɵelementContainerStart(0, 165);
1385
+ i0.ɵɵtemplate(1, AddEmployerComponent_ion_grid_6_div_59_ng_container_13_tr_1_Template, 6, 5, "tr", 4);
1386
+ i0.ɵɵelementContainerEnd();
1387
+ } if (rf & 2) {
1388
+ const wageAmountForm_r124 = ctx.$implicit;
1389
+ const i_r125 = ctx.index;
1390
+ const ctx_r122 = i0.ɵɵnextContext(3);
1391
+ i0.ɵɵproperty("formGroupName", i_r125);
1392
+ i0.ɵɵadvance(1);
1393
+ i0.ɵɵproperty("ngIf", ctx_r122.employerType.value === "FED" || ctx_r122.employerType.value === "REG" && wageAmountForm_r124.value.displayForAll === true);
1394
+ } }
1395
+ const _c5 = () => ({ requireCheckboxToBeChecked: "at least one amount must be greater than zero" });
1396
+ function AddEmployerComponent_ion_grid_6_div_59_tr_14_Template(rf, ctx) { if (rf & 1) {
1397
+ i0.ɵɵelementStart(0, "tr")(1, "td", 168);
1398
+ i0.ɵɵelement(2, "app-error", 169);
1399
+ i0.ɵɵelementEnd()();
1400
+ } if (rf & 2) {
1401
+ const ctx_r123 = i0.ɵɵnextContext(3);
1402
+ i0.ɵɵadvance(2);
1403
+ i0.ɵɵclassMap("app-grid");
1404
+ i0.ɵɵproperty("field", ctx_r123.wageAmountArray)("form", ctx_r123.isFormSubmitted)("errDef", i0.ɵɵpureFunction0(5, _c5));
1405
+ } }
1406
+ function AddEmployerComponent_ion_grid_6_div_59_Template(rf, ctx) { if (rf & 1) {
1407
+ i0.ɵɵelementStart(0, "div", 14)(1, "label");
1408
+ i0.ɵɵtext(2);
1409
+ i0.ɵɵpipe(3, "translate");
1410
+ i0.ɵɵelementEnd();
1411
+ i0.ɵɵelementStart(4, "table", 161)(5, "tr")(6, "th", 162);
1412
+ i0.ɵɵtext(7);
1413
+ i0.ɵɵpipe(8, "translate");
1414
+ i0.ɵɵelementEnd();
1415
+ i0.ɵɵelementStart(9, "th");
1416
+ i0.ɵɵtext(10);
1417
+ i0.ɵɵpipe(11, "translate");
1418
+ i0.ɵɵelementEnd()();
1419
+ i0.ɵɵelementContainerStart(12, 163);
1420
+ i0.ɵɵtemplate(13, AddEmployerComponent_ion_grid_6_div_59_ng_container_13_Template, 2, 2, "ng-container", 164)(14, AddEmployerComponent_ion_grid_6_div_59_tr_14_Template, 3, 6, "tr", 4);
1421
+ i0.ɵɵelementContainerEnd();
1422
+ i0.ɵɵelementEnd()();
1423
+ } if (rf & 2) {
1424
+ const ctx_r54 = i0.ɵɵnextContext(2);
1425
+ i0.ɵɵadvance(2);
1426
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 5, "induction.add.employment.reg.verification.wages"));
1427
+ i0.ɵɵadvance(5);
1428
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(8, 7, "induction.add.employment.reg.verification.wages.col1"), " ");
1429
+ i0.ɵɵadvance(3);
1430
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 9, "induction.add.employment.reg.verification.wages.col2"));
1431
+ i0.ɵɵadvance(3);
1432
+ i0.ɵɵproperty("ngForOf", ctx_r54.wageAmountArray.controls);
1433
+ i0.ɵɵadvance(1);
1434
+ i0.ɵɵproperty("ngIf", ctx_r54.wageAmountArray.errors == null ? null : ctx_r54.wageAmountArray.errors.requireCheckboxToBeChecked);
1435
+ } }
1436
+ function AddEmployerComponent_ion_grid_6_div_60_Template(rf, ctx) { if (rf & 1) {
1437
+ i0.ɵɵelementStart(0, "div", 14)(1, "label", 170);
1438
+ i0.ɵɵtext(2);
1439
+ i0.ɵɵpipe(3, "translate");
1440
+ i0.ɵɵelementEnd();
1441
+ i0.ɵɵelementStart(4, "div");
1442
+ i0.ɵɵelement(5, "p-selectButton", 171);
1443
+ i0.ɵɵelementEnd();
1444
+ i0.ɵɵelement(6, "app-error", 9);
1445
+ i0.ɵɵelementEnd();
1446
+ } if (rf & 2) {
1447
+ const ctx_r55 = i0.ɵɵnextContext(2);
1448
+ i0.ɵɵadvance(2);
1449
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "induction.add.employment.reg.severance"));
1450
+ i0.ɵɵadvance(3);
1451
+ i0.ɵɵproperty("options", ctx_r55.radioOptions)("formControl", ctx_r55.severance);
1452
+ i0.ɵɵadvance(1);
1453
+ i0.ɵɵclassMap("app-grid");
1454
+ i0.ɵɵproperty("form", ctx_r55.isFormSubmitted)("field", ctx_r55.severance)("errDef", i0.ɵɵpureFunction1(10, _c3, ctx_r55.required));
1455
+ } }
1456
+ function AddEmployerComponent_ion_grid_6_ion_button_66_Template(rf, ctx) { if (rf & 1) {
1457
+ const _r129 = i0.ɵɵgetCurrentView();
1458
+ i0.ɵɵelementStart(0, "ion-button", 172);
1459
+ i0.ɵɵlistener("click", function AddEmployerComponent_ion_grid_6_ion_button_66_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r129); const ctx_r128 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r128.save()); })("keyup.space", function AddEmployerComponent_ion_grid_6_ion_button_66_Template_ion_button_keyup_space_0_listener() { i0.ɵɵrestoreView(_r129); const ctx_r130 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r130.save()); })("keyup.enter", function AddEmployerComponent_ion_grid_6_ion_button_66_Template_ion_button_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r129); const ctx_r131 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r131.save()); });
1460
+ i0.ɵɵtext(1);
1461
+ i0.ɵɵpipe(2, "translate");
1462
+ i0.ɵɵelementEnd();
1463
+ } if (rf & 2) {
1464
+ i0.ɵɵadvance(1);
1465
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "induction.employment.button.save"), " ");
1466
+ } }
1467
+ function AddEmployerComponent_ion_grid_6_ion_button_67_Template(rf, ctx) { if (rf & 1) {
1468
+ const _r133 = i0.ɵɵgetCurrentView();
1469
+ i0.ɵɵelementStart(0, "ion-button", 172);
1470
+ i0.ɵɵlistener("click", function AddEmployerComponent_ion_grid_6_ion_button_67_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r133); const ctx_r132 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r132.add()); })("keyup.space", function AddEmployerComponent_ion_grid_6_ion_button_67_Template_ion_button_keyup_space_0_listener() { i0.ɵɵrestoreView(_r133); const ctx_r134 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r134.add()); })("keyup.enter", function AddEmployerComponent_ion_grid_6_ion_button_67_Template_ion_button_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r133); const ctx_r135 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r135.add()); });
1471
+ i0.ɵɵpipe(1, "translate");
1472
+ i0.ɵɵtext(2);
1473
+ i0.ɵɵpipe(3, "translate");
1474
+ i0.ɵɵelementEnd();
1475
+ } if (rf & 2) {
1476
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 2, "Add an employer"));
1477
+ i0.ɵɵadvance(2);
1478
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, "induction.employment.button.add"), " ");
1479
+ } }
1480
+ function AddEmployerComponent_ion_grid_6_Template(rf, ctx) { if (rf & 1) {
1481
+ const _r137 = i0.ɵɵgetCurrentView();
1482
+ i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row")(2, "ion-col", 5)(3, "div", 6);
1483
+ i0.ɵɵtemplate(4, AddEmployerComponent_ion_grid_6_div_4_Template, 8, 5, "div", 7)(5, AddEmployerComponent_ion_grid_6_div_5_Template, 8, 6, "div", 7)(6, AddEmployerComponent_ion_grid_6_div_6_Template, 7, 14, "div", 7)(7, AddEmployerComponent_ion_grid_6_div_7_Template, 7, 14, "div", 7)(8, AddEmployerComponent_ion_grid_6_div_8_Template, 7, 5, "div", 7)(9, AddEmployerComponent_ion_grid_6_div_9_Template, 6, 11, "div", 8)(10, AddEmployerComponent_ion_grid_6_div_10_Template, 6, 13, "div", 7)(11, AddEmployerComponent_ion_grid_6_div_11_Template, 6, 11, "div", 7)(12, AddEmployerComponent_ion_grid_6_ion_row_12_Template, 16, 32, "ion-row", 4)(13, AddEmployerComponent_ion_grid_6_ion_row_13_Template, 16, 22, "ion-row", 4)(14, AddEmployerComponent_ion_grid_6_ion_row_14_Template, 4, 3, "ion-row", 4)(15, AddEmployerComponent_ion_grid_6_div_15_Template, 5, 11, "div", 7)(16, AddEmployerComponent_ion_grid_6_ion_row_16_Template, 16, 24, "ion-row", 4)(17, AddEmployerComponent_ion_grid_6_div_17_Template, 6, 13, "div", 7)(18, AddEmployerComponent_ion_grid_6_ion_row_18_Template, 10, 12, "ion-row", 4)(19, AddEmployerComponent_ion_grid_6_ion_row_19_Template, 16, 32, "ion-row", 4)(20, AddEmployerComponent_ion_grid_6_div_20_Template, 6, 11, "div", 7)(21, AddEmployerComponent_ion_grid_6_div_21_Template, 7, 12, "div", 7)(22, AddEmployerComponent_ion_grid_6_ion_row_22_Template, 16, 32, "ion-row", 4)(23, AddEmployerComponent_ion_grid_6_ion_row_23_Template, 8, 11, "ion-row", 4)(24, AddEmployerComponent_ion_grid_6_div_24_Template, 7, 12, "div", 7)(25, AddEmployerComponent_ion_grid_6_div_25_Template, 6, 11, "div", 7)(26, AddEmployerComponent_ion_grid_6_ion_row_26_Template, 15, 25, "ion-row", 4)(27, AddEmployerComponent_ion_grid_6_div_27_Template, 6, 11, "div", 7)(28, AddEmployerComponent_ion_grid_6_div_28_Template, 5, 12, "div", 7)(29, AddEmployerComponent_ion_grid_6_div_29_Template, 6, 13, "div", 7)(30, AddEmployerComponent_ion_grid_6_div_30_Template, 6, 13, "div", 7)(31, AddEmployerComponent_ion_grid_6_div_31_Template, 10, 15, "div", 7)(32, AddEmployerComponent_ion_grid_6_div_32_Template, 7, 14, "div", 7)(33, AddEmployerComponent_ion_grid_6_div_33_Template, 8, 6, "div", 7);
1484
+ i0.ɵɵelement(34, "app-error", 9);
1485
+ i0.ɵɵelementEnd()();
1486
+ i0.ɵɵelementStart(35, "ion-col", 5)(36, "div", 6);
1487
+ i0.ɵɵtemplate(37, AddEmployerComponent_ion_grid_6_ion_row_37_Template, 3, 0, "ion-row", 10)(38, AddEmployerComponent_ion_grid_6_ion_row_38_Template, 3, 0, "ion-row", 10)(39, AddEmployerComponent_ion_grid_6_ion_row_39_Template, 3, 0, "ion-row", 10)(40, AddEmployerComponent_ion_grid_6_ion_row_40_Template, 3, 0, "ion-row", 10)(41, AddEmployerComponent_ion_grid_6_ion_row_41_Template, 3, 0, "ion-row", 10)(42, AddEmployerComponent_ion_grid_6_ion_row_42_Template, 14, 18, "ion-row", 4)(43, AddEmployerComponent_ion_grid_6_ion_row_43_Template, 12, 15, "ion-row", 4)(44, AddEmployerComponent_ion_grid_6_ion_row_44_Template, 8, 12, "ion-row", 4)(45, AddEmployerComponent_ion_grid_6_ion_row_45_Template, 4, 3, "ion-row", 4)(46, AddEmployerComponent_ion_grid_6_div_46_Template, 12, 18, "div", 7)(47, AddEmployerComponent_ion_grid_6_div_47_Template, 7, 14, "div", 7)(48, AddEmployerComponent_ion_grid_6_div_48_Template, 7, 12, "div", 7)(49, AddEmployerComponent_ion_grid_6_ion_row_49_Template, 22, 36, "ion-row", 4)(50, AddEmployerComponent_ion_grid_6_ion_row_50_Template, 22, 43, "ion-row", 4)(51, AddEmployerComponent_ion_grid_6_div_51_Template, 7, 12, "div", 7)(52, AddEmployerComponent_ion_grid_6_div_52_Template, 7, 14, "div", 7)(53, AddEmployerComponent_ion_grid_6_div_53_Template, 12, 18, "div", 7)(54, AddEmployerComponent_ion_grid_6_div_54_Template, 7, 14, "div", 7)(55, AddEmployerComponent_ion_grid_6_div_55_Template, 29, 43, "div", 4)(56, AddEmployerComponent_ion_grid_6_ion_row_56_Template, 10, 13, "ion-row", 4)(57, AddEmployerComponent_ion_grid_6_ion_row_57_Template, 8, 11, "ion-row", 4)(58, AddEmployerComponent_ion_grid_6_div_58_Template, 4, 3, "div", 7)(59, AddEmployerComponent_ion_grid_6_div_59_Template, 15, 11, "div", 7);
1488
+ i0.ɵɵelementEnd();
1489
+ i0.ɵɵtemplate(60, AddEmployerComponent_ion_grid_6_div_60_Template, 7, 12, "div", 7);
1490
+ i0.ɵɵelementEnd()();
1491
+ i0.ɵɵelementStart(61, "ion-row")(62, "ion-col", 11)(63, "ion-button", 12);
1492
+ i0.ɵɵlistener("click", function AddEmployerComponent_ion_grid_6_Template_ion_button_click_63_listener() { i0.ɵɵrestoreView(_r137); const ctx_r136 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r136.onModelCancel(false)); })("keyup.space", function AddEmployerComponent_ion_grid_6_Template_ion_button_keyup_space_63_listener() { i0.ɵɵrestoreView(_r137); const ctx_r138 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r138.onModelCancel(false)); })("keyup.enter", function AddEmployerComponent_ion_grid_6_Template_ion_button_keyup_enter_63_listener() { i0.ɵɵrestoreView(_r137); const ctx_r139 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r139.onModelCancel(false)); });
1493
+ i0.ɵɵtext(64);
1494
+ i0.ɵɵpipe(65, "translate");
1495
+ i0.ɵɵelementEnd();
1496
+ i0.ɵɵtemplate(66, AddEmployerComponent_ion_grid_6_ion_button_66_Template, 3, 3, "ion-button", 13)(67, AddEmployerComponent_ion_grid_6_ion_button_67_Template, 4, 6, "ion-button", 13);
1497
+ i0.ɵɵelementEnd()()();
1498
+ } if (rf & 2) {
1499
+ const ctx_r1 = i0.ɵɵnextContext();
1500
+ i0.ɵɵadvance(4);
1501
+ i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer);
1502
+ i0.ɵɵadvance(1);
1503
+ i0.ɵɵproperty("ngIf", (ctx_r1.workFlag == null ? null : ctx_r1.workFlag.value) == "Y");
1504
+ i0.ɵɵadvance(1);
1505
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
1506
+ i0.ɵɵadvance(1);
1507
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
1508
+ i0.ɵɵadvance(1);
1509
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
1510
+ i0.ɵɵadvance(1);
1511
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1512
+ i0.ɵɵadvance(1);
1513
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
1514
+ i0.ɵɵadvance(1);
1515
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
1516
+ i0.ɵɵadvance(1);
1517
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
1518
+ i0.ɵɵadvance(1);
1519
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.hideFicCode);
1520
+ i0.ɵɵadvance(1);
1521
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && !ctx_r1.isBasePeriodEmployer);
1522
+ i0.ɵɵadvance(1);
1523
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1524
+ i0.ɵɵadvance(1);
1525
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && !ctx_r1.isBasePeriodEmployer);
1526
+ i0.ɵɵadvance(1);
1527
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1528
+ i0.ɵɵadvance(1);
1529
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1530
+ i0.ɵɵadvance(1);
1531
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1532
+ i0.ɵɵadvance(1);
1533
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1534
+ i0.ɵɵadvance(1);
1535
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1536
+ i0.ɵɵadvance(1);
1537
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG");
1538
+ i0.ɵɵadvance(1);
1539
+ i0.ɵɵproperty("ngIf", ctx_r1.displayVerificationOfWages.value && !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
1540
+ i0.ɵɵadvance(1);
1541
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1542
+ i0.ɵɵadvance(1);
1543
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG");
1544
+ i0.ɵɵadvance(1);
1545
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && ctx_r1.isBasePeriodEmployer && ctx_r1.workFlag.value === "Y");
1546
+ i0.ɵɵadvance(1);
1547
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG");
1548
+ i0.ɵɵadvance(1);
1549
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value == "REG" || ctx_r1.employerType.value === "FED");
1550
+ i0.ɵɵadvance(1);
1551
+ i0.ɵɵproperty("ngIf", (ctx_r1.reasonSeparation.value == null ? null : ctx_r1.reasonSeparation.value.value) === "DCFI" && ctx_r1.employerType.value != "MIL");
1552
+ i0.ɵɵadvance(1);
1553
+ i0.ɵɵproperty("ngIf", (ctx_r1.reasonSeparation.value == null ? null : ctx_r1.reasonSeparation.value.value) === "VOLQ" && ctx_r1.employerType.value != "MIL");
1554
+ i0.ɵɵadvance(1);
1555
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
1556
+ i0.ɵɵadvance(1);
1557
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL" && ctx_r1.milPensionFlag.value === "Y" && ctx_r1.currentState != "ME");
1558
+ i0.ɵɵadvance(1);
1559
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL");
1560
+ i0.ɵɵadvance(1);
1561
+ i0.ɵɵclassMap("app-grid");
1562
+ i0.ɵɵproperty("form", ctx_r1.isFormSubmitted)("field", ctx_r1.dd214Flag)("errDef", i0.ɵɵpureFunction1(65, _c3, ctx_r1.required));
1563
+ i0.ɵɵadvance(3);
1564
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
1565
+ i0.ɵɵadvance(1);
1566
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
1567
+ i0.ɵɵadvance(1);
1568
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
1569
+ i0.ɵɵadvance(1);
1570
+ i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer);
1571
+ i0.ɵɵadvance(1);
1572
+ i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer);
1573
+ i0.ɵɵadvance(1);
1574
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL" && ctx_r1.dd214Flag.value === "Y");
1575
+ i0.ɵɵadvance(1);
1576
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "MIL" && ctx_r1.dd214Flag.value === "N");
1577
+ i0.ɵɵadvance(1);
1578
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && !ctx_r1.isBasePeriodEmployer && ctx_r1.osaBpEmployerFlag.value === "1");
1579
+ i0.ɵɵadvance(1);
1580
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && !ctx_r1.isBasePeriodEmployer);
1581
+ i0.ɵɵadvance(1);
1582
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1583
+ i0.ɵɵadvance(1);
1584
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.fedPensionFlag.value === "Y" && ctx_r1.currentState != "ME");
1585
+ i0.ɵɵadvance(1);
1586
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.currentState === "ME");
1587
+ i0.ɵɵadvance(1);
1588
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.sevPayFlag.value === "Y");
1589
+ i0.ɵɵadvance(1);
1590
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" && ctx_r1.sevPayFlag.value === "Y");
1591
+ i0.ɵɵadvance(1);
1592
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && ctx_r1.workFlag.value === "Y");
1593
+ i0.ɵɵadvance(1);
1594
+ i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer && ctx_r1.workFlag.value === "Y" && ctx_r1.pensionFlag.value === "Y" && ctx_r1.employerType.value === "REG");
1595
+ i0.ɵɵadvance(1);
1596
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
1597
+ i0.ɵɵadvance(1);
1598
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG" && ctx_r1.regPensionFlag.value === "Y");
1599
+ i0.ɵɵadvance(1);
1600
+ i0.ɵɵproperty("ngIf", ctx_r1.displayVerificationOfWages.value && !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
1601
+ i0.ɵɵadvance(1);
1602
+ i0.ɵɵproperty("ngIf", ctx_r1.displayVerificationOfWages.value && !ctx_r1.isBasePeriodEmployer && ctx_r1.employerType.value === "REG");
1603
+ i0.ɵɵadvance(1);
1604
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG" && (ctx_r1.displayVerificationOfWages == null ? null : ctx_r1.displayVerificationOfWages.value) && !ctx_r1.isBasePeriodEmployer);
1605
+ i0.ɵɵadvance(1);
1606
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED");
1607
+ i0.ɵɵadvance(1);
1608
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "FED" || ctx_r1.employerType.value === "REG" && (ctx_r1.displayVerificationOfWages == null ? null : ctx_r1.displayVerificationOfWages.value));
1609
+ i0.ɵɵadvance(1);
1610
+ i0.ɵɵproperty("ngIf", ctx_r1.employerType.value === "REG");
1611
+ i0.ɵɵadvance(3);
1612
+ i0.ɵɵproperty("autofocus", true);
1613
+ i0.ɵɵadvance(1);
1614
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(65, 63, "induction.employment.button.cancel"), " ");
1615
+ i0.ɵɵadvance(2);
1616
+ i0.ɵɵproperty("ngIf", ctx_r1.isBasePeriodEmployer);
1617
+ i0.ɵɵadvance(1);
1618
+ i0.ɵɵproperty("ngIf", !ctx_r1.isBasePeriodEmployer);
1619
+ } }
1620
+ const _c6 = () => ({ width: "60vw" });
1621
+ const _c7 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
1622
+ export class AddEmployerComponent {
1623
+ constructor(formBuilder, validationService, util, filterService, logger, sanitizer, claimsService, ls, el, ar, translateService) {
1624
+ this.formBuilder = formBuilder;
1625
+ this.validationService = validationService;
1626
+ this.util = util;
1627
+ this.filterService = filterService;
1628
+ this.logger = logger;
1629
+ this.sanitizer = sanitizer;
1630
+ this.claimsService = claimsService;
1631
+ this.ls = ls;
1632
+ this.el = el;
1633
+ this.ar = ar;
1634
+ this.translateService = translateService;
1635
+ this.employerTypeOptions = [];
1636
+ this.countryOptions = [];
1637
+ this.countryFedOptions = [];
1638
+ this.payRateOptions = [];
1639
+ this.stateOptions = [];
1640
+ this.fedStateOptions = [];
1641
+ this.jobTileOrPositionOptions = [];
1642
+ this.fedJobTileOptions = [];
1643
+ this.radioOptions = [];
1644
+ this.workOptions = [];
1645
+ this.yesNoNaOptions = [];
1646
+ this.payMethodOptions = [];
1647
+ this.wageProofOptions = [];
1648
+ this.dischargeReasonOptions = [];
1649
+ this.volQuitReasonOptions = [];
1650
+ this.statesOptions = [];
1651
+ this.nonKSStatesOptions = [];
1652
+ this.payPeriod = [];
1653
+ this.employmentStatusOptions = [];
1654
+ this.workCountryOptions = [];
1655
+ this.militaryServiceOptions = [];
1656
+ this.remunerationTypeOptions = [];
1657
+ this.dateTime = new Date();
1658
+ this.groupedReasons = [];
1659
+ this.prevWorkedStateOptions = [];
1660
+ this.dischargeReasonOptionsAll = [];
1661
+ this.volQuitReasonOptionsAll = [];
1662
+ this.employmentStatusOptionsAll = [];
1663
+ this.sf8Info = "SF-8";
1664
+ this.dd214Info = "DD 214";
1665
+ this.paraOne = "induction.add.employment.mil.dd214.yes.para.one";
1666
+ this.paraTwo = "induction.add.employment.mil.dd214.yes.para.two";
1667
+ this.paraThree = "induction.add.employment.mil.dd214.yes.para.three";
1668
+ this.paraFour = "induction.add.employment.mil.dd214.yes.para.four";
1669
+ this.paraFive = "induction.add.employment.mil.dd214.yes.para.five";
1670
+ this.paraSix = "induction.add.employment.mil.dd214.yes.para.six";
1671
+ this.noParaOne = "induction.add.employment.mil.dd214.no.para.one";
1672
+ this.noParaTwo = "induction.add.employment.mil.dd214.no.para.two";
1673
+ this.noParaThree = "induction.add.employment.mil.dd214.no.para.three";
1674
+ this.noParaFour = "induction.add.employment.mil.dd214.no.para.four";
1675
+ this.noParaFive = "induction.add.employment.mil.dd214.no.para.five";
1676
+ this.modelCancel = new EventEmitter();
1677
+ this.success = new EventEmitter();
1678
+ this.isBasePeriodEmployer = false;
1679
+ this.isManualEnterEmp = true;
1680
+ this.basePeriodIndex = new EventEmitter();
1681
+ this.isOsaEmployer = "0";
1682
+ this.showWorkState = true;
1683
+ this.isFormSubmitted = { submitted: false };
1684
+ this.onChange = (value) => {
1685
+ };
1686
+ }
1687
+ ngOnInit() {
1688
+ this.setWorkStartDate();
1689
+ this.loadMasterData();
1690
+ if (localStorage.getItem("language") === "es") {
1691
+ this.employerTypeOptions = ComboOption.EMPLOYER_TYPE_ES;
1692
+ this.countryOptions = ComboOption.COUNTRY_ES;
1693
+ this.countryFedOptions = ComboOption.COUNTRY_ES;
1694
+ this.payRateOptions = ComboOption.PAY_PERIOD_ES;
1695
+ this.radioOptions = ComboOption.YES_NO_ES;
1696
+ this.workOptions = ComboOption.WORK_FOR_EMPL_ES;
1697
+ this.yesNoNaOptions = ComboOption.YES_NO_NA_ES;
1698
+ this.payMethodOptions = ComboOption.PAYMENT_METHOD_ES;
1699
+ this.wageProofOptions = ComboOption.WAGE_PROOF_ES;
1700
+ this.statesOptions = ComboOption.US_STATES_ES;
1701
+ this.nonKSStatesOptions = ComboOption.NON_KS_STATES_ES;
1702
+ this.payPeriod = ComboOption.PAY_PERIOD_ES;
1703
+ this.workCountryOptions = ComboOption.WORK_COUNTRY_ES;
1704
+ this.militaryServiceOptions = ComboOption.MILITARY_SERVICE_ES;
1705
+ this.remunerationTypeOptions = ComboOption.REMUNERATION_TYPES_ES;
1706
+ this.groupedReasons = ComboOption.GROUP_REASONS_ES;
1707
+ this.prevWorkedStateOptions = ComboOption.WORKED_STATE_ES;
1708
+ const currentState = ComboOption.US_STATES_ES.find(state => state.value == this.util.getState());
1709
+ this.statesOptions = [currentState, ...ComboOption.US_STATES_ES.filter(state => state.value != this.util.getState())];
1710
+ }
1711
+ else {
1712
+ this.employerTypeOptions = ComboOption.EMPLOYER_TYPE;
1713
+ this.countryOptions = ComboOption.COUNTRY;
1714
+ this.countryFedOptions = ComboOption.COUNTRY;
1715
+ this.payRateOptions = ComboOption.PAY_PERIOD;
1716
+ this.radioOptions = ComboOption.YES_NO;
1717
+ this.workOptions = ComboOption.WORK_FOR_EMPL;
1718
+ this.yesNoNaOptions = ComboOption.YES_NO_NA;
1719
+ this.payMethodOptions = ComboOption.PAYMENT_METHOD;
1720
+ this.wageProofOptions = ComboOption.WAGE_PROOF;
1721
+ this.statesOptions = ComboOption.US_STATES;
1722
+ this.nonKSStatesOptions = ComboOption.NON_KS_STATES;
1723
+ this.payPeriod = ComboOption.PAY_PERIOD;
1724
+ this.workCountryOptions = ComboOption.WORK_COUNTRY;
1725
+ this.militaryServiceOptions = ComboOption.MILITARY_SERVICE;
1726
+ this.remunerationTypeOptions = ComboOption.REMUNERATION_TYPES;
1727
+ this.groupedReasons = ComboOption.GROUP_REASONS;
1728
+ this.prevWorkedStateOptions = ComboOption.WORKED_STATE;
1729
+ const currentState = ComboOption.US_STATES.find(state => state.value == this.util.getState());
1730
+ this.statesOptions = [currentState, ...ComboOption.US_STATES.filter(state => state.value != this.util.getState())];
1731
+ }
1732
+ this.logger.debug('isBasePeriodEmployer is = ', this.isBasePeriodEmployer, this.statesOptions);
1733
+ this.logger.debug('isNewClaim = ', this.isNewClaim);
1734
+ this.currentState = this.util.getState();
1735
+ this.isCSR = this.ls.isCsr();
1736
+ this.logger.debug("Current State = ", this.currentState);
1737
+ let esm;
1738
+ this.logger.debug("call service =", this.validationService.bpEmpLstFrmService.getValue());
1739
+ if (this.recordIndexToEdit === undefined || this.recordIndexToEdit === null) {
1740
+ esm = new ClaimAppEmployerDetailsModel();
1741
+ this.qtrWageList = this.validationService.bpEmpLstFrmService.getValue()?.qtrYearWageListGeneric;
1742
+ }
1743
+ else {
1744
+ this.logger.debug('recordIndexToEdit', this.recordIndexToEdit);
1745
+ this.logger.debug('this.validationService.bpEmpLstFrmService.getValue()', this.validationService.bpEmpLstFrmService.getValue());
1746
+ this.noEditMode = true;
1747
+ esm = this.validationService.bpEmpLstFrmService.getValue().bpEmpList[this.recordIndexToEdit];
1748
+ this.qtrWageList = esm.wageAmountArray;
1749
+ this.customerName = esm.employerData.displayName;
1750
+ if (esm.employerData.tradeName) {
1751
+ this.aliasName = esm.employerData.tradeName;
1752
+ }
1753
+ else {
1754
+ this.aliasName = null;
1755
+ }
1756
+ if (esm.osaBpEmployerFlag) {
1757
+ this.isOsaEmployer = esm.osaBpEmployerFlag;
1758
+ }
1759
+ this.logger.debug("isOsaEmployer ======= ", this.isOsaEmployer);
1760
+ this.mailingAddressDisplay = esm.employerData.mailingAddressDisplay;
1761
+ this.schoolFlag = esm.employerData.schoolFlag;
1762
+ if (this.isCSR && esm.employerProvidedWages && esm.employerProvidedWages.wagesListQtrWise) {
1763
+ this.employerProvidedWages = esm.employerProvidedWages.wagesListQtrWise;
1764
+ }
1765
+ }
1766
+ this.basePeriodStartDate = this.validationService.bpEmpLstFrmService.getValue()?.basePeriodStartDate;
1767
+ this.basePeriodEndDate = this.validationService.bpEmpLstFrmService.getValue()?.basePeriodEndDate;
1768
+ this.bpStartDateToDisplay = new Date(this.validationService.bpEmpLstFrmService.getValue()?.bpStartDateToDisplay);
1769
+ console.log("this.minWorkStartDate", this.minWorkStartDate);
1770
+ if (this.minWorkStartDate) {
1771
+ this.bpStartDateToDisplay = this.minWorkStartDate;
1772
+ }
1773
+ else {
1774
+ this.minWorkStartDate = this.dob;
1775
+ }
1776
+ this.claimsService.loadMasterData();
1777
+ this.addEmployerForm = this.formBuilder.group({
1778
+ 'employerType': [esm.employerType ?? null, Validators.required],
1779
+ 'employerName': [esm.employerName ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && this.prevWorkedState.value === 'KS')],
1780
+ 'othStateEmpName': [esm.othStateEmpName ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && this.prevWorkedState.value === 'OT')],
1781
+ 'fedEmployerName': [esm.fedEmployerName ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'FED')],
1782
+ 'employerTelephoneNumber': [esm.employerTelephoneNumber ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG')],
1783
+ 'endDate': [esm.endDate ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG')],
1784
+ 'startDate': [esm.startDate ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG')],
1785
+ 'jobTileOrPosition': [esm.jobTileOrPosition ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG')],
1786
+ 'reasonSeparation': [esm.reasonSeparation ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' || this.employerType?.value === 'FED')],
1787
+ 'dischargeDetail': [esm.dischargeDetail ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value != 'MIL' && this.reasonSeparation?.value?.value === 'DCFI')],
1788
+ 'volQuitDetails': [esm.volQuitDetails ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value != 'MIL' && this.reasonSeparation?.value?.value === 'VOLQ')],
1789
+ 'payRate': [esm.payRate ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && ((this.isBasePeriodEmployer && this.workFlag?.value === 'Y') || !this.isBasePeriodEmployer))],
1790
+ 'payRateFrequency': [esm.payRateFrequency ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && ((this.isBasePeriodEmployer && this.workFlag?.value === 'Y') || !this.isBasePeriodEmployer))],
1791
+ 'pensionFlag': [esm.pensionFlag ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && this.workFlag?.value === 'Y')],
1792
+ 'pensionRecvDate': [esm.pensionRecvDate ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && this.pensionFlag.value === 'Y' && this.isBasePeriodEmployer)],
1793
+ 'regPensionFlag': [esm.regPensionFlag ?? null, AppValidators.requiredIfValidator(() => !this.isBasePeriodEmployer && this.employerType?.value === 'REG')],
1794
+ 'regPensionRecvDate': [esm.regPensionRecvDate ?? null, AppValidators.requiredIfValidator(() => !this.isBasePeriodEmployer && this.employerType?.value === 'REG' && this.regPensionFlag.value === 'Y')],
1795
+ // 'isClmtPaidWhileLow': [esm.isClmtPaidWhileLow != null ? esm.isClmtPaidWhileLow : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType?.value === 'REG')],
1796
+ // 'hasShortTermDisability': [esm.hasShortTermDisability != null ? esm.hasShortTermDisability : null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && this.currentState === 'ME')],
1797
+ // 'hasRecvRemuneration': [esm.hasRecvRemuneration != null ? esm.hasRecvRemuneration : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || !this.isBasePeriodEmployer) && this.employerType?.value === 'REG' && this.currentState === 'ME')],
1798
+ 'remunerationTypes': [esm.remunerationTypes ?? null],
1799
+ // 'vacation': [esm.vacation != null ? esm.vacation : null, AppValidators.requiredIfValidator(() => ((this.isBasePeriodEmployer && this.workFlag.value === 'Y' && this.schoolFlag ==='1') || !this.isBasePeriodEmployer) && this.employerType?.value === 'REG' && this.currentState === 'ME')],
1800
+ 'grossWages': [esm.grossWages ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && !this.isBasePeriodEmployer && (this.osaBpEmployerFlag?.value === '1' || this.displayVerificationOfWages?.value))],
1801
+ //'paidBy': [esm.paidBy != null ? esm.paidBy : null,AppValidators.requiredIfValidator(() => (this.isClmtPaidWhileLow.value==='Y'))],
1802
+ 'paymentType': [esm.paymentType ?? null, AppValidators.requiredIfValidator(() => this.displayVerificationOfWages?.value && !this.isBasePeriodEmployer && this.employerType?.value === 'REG')],
1803
+ 'docsReceived': [esm.docsReceived ?? null, AppValidators.requiredIfValidator(() => this.displayVerificationOfWages?.value && this.employerType?.value === 'REG')],
1804
+ 'otherSSNFlag': [esm.otherSSNFlag ?? null, AppValidators.requiredIfValidator(() => this.displayVerificationOfWages?.value && this.employerType?.value === 'REG')],
1805
+ 'otherSSN': [esm.otherSSN ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && this.displayVerificationOfWages.value && this.otherSSNFlag.value === 'Y')],
1806
+ 'otherNameFlag': [esm.otherNameFlag ?? null, AppValidators.requiredIfValidator(() => this.displayVerificationOfWages?.value && !this.isBasePeriodEmployer && this.employerType?.value === 'REG')],
1807
+ 'otherName': [esm.otherName ?? null, AppValidators.requiredIfValidator(() => this.otherNameFlag.value === 'Y')],
1808
+ //'doingBusinessAs': [esm.doingBusinessAs != null ? esm.doingBusinessAs : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='KS'))],
1809
+ 'prevWorkedState': [esm.prevWorkedState ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && !this.isBasePeriodEmployer)],
1810
+ 'workState': [esm.workState ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && !this.isBasePeriodEmployer)],
1811
+ 'workCity': [esm.workCity ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG' && !this.isBasePeriodEmployer)],
1812
+ //'numberEmployed': [esm.numberEmployed != null ? esm.numberEmployed : null, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer))],
1813
+ 'workType': [esm.workType ?? null, AppValidators.requiredIfValidator(() => this.displayVerificationOfWages?.value && !this.isBasePeriodEmployer && this.employerType?.value === 'REG')],
1814
+ // 'fein': [esm.fein],
1815
+ // 'hiredBy': [esm.hiredBy, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='KS'))],
1816
+ //'businessOwner': [esm.businessOwner, AppValidators.requiredIfValidator(() => (this.displayVerificationOfWages.value && !this.isBasePeriodEmployer && this.workState.value && this.workState.value.value==='KS'))],
1817
+ 'businessNature': [esm.businessNature ?? null, AppValidators.requiredIfValidator(() => this.displayVerificationOfWages?.value && this.employerType?.value === 'REG')],
1818
+ 'workFlag': [esm.workFlag ?? null],
1819
+ //'quitreason': [esm.quitreason != null ? esm.quitreason : null, AppValidators.requiredIfValidator(() => ((((this.isBasePeriodEmployer && this.workFlag.value === 'Y') || (!this.isBasePeriodEmployer)) && this.reasonSeparation.value && this.reasonSeparation.value.value === 'VOLQ')))],
1820
+ 'displayVerificationOfWages': [esm.displayVerificationOfWages ?? null],
1821
+ 'ficDestinationCode': [esm.ficDestinationCode ?? null],
1822
+ 'ficCode': [esm.ficCode ?? null],
1823
+ 'ficDestinationName': [esm.ficDestinationName ?? null],
1824
+ 'ficDestinationId': [esm.ficDestinationId ?? null],
1825
+ 'sfEightflag': [esm.sfEightflag ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'FED')],
1826
+ 'fedWorkCity': [esm.fedWorkCity ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'FED')],
1827
+ 'fedWorkState': [esm.fedWorkState ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'FED')],
1828
+ 'fedWorkCountry': [esm.fedWorkCountry ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'FED')],
1829
+ 'startDateFed': [esm.startDateFed ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'FED')],
1830
+ 'endDateFed': [esm.endDateFed ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'FED')],
1831
+ 'fedJobTileOrPosition': [esm.fedJobTileOrPosition ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED'))],
1832
+ //'claimantEmployedWithEmpr': [esm.claimantEmployedWithEmpr != null ? esm.claimantEmployedWithEmpr : null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED'))],
1833
+ 'performedService': [esm.performedService ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'FED')],
1834
+ 'fedPensionFlag': [esm.fedPensionFlag ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED'))],
1835
+ 'fedPensionRecvDate': [esm.fedPensionRecvDate ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED' && this.fedPensionFlag.value === 'Y'))],
1836
+ 'sevPayFlag': [esm.sevPayFlag ?? null],
1837
+ 'weeklyAmount': [esm.weeklyAmount ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1838
+ 'numberOfWeeks': [esm.numberOfWeeks ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1839
+ 'sevPayAmount': [esm.sevPayAmount ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1840
+ 'sevPayStartDate': [esm.sevPayStartDate ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1841
+ 'sevPayEndDate': [esm.sevPayEndDate ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1842
+ 'sevPayPaymentStartDate': [esm.sevPayPaymentStartDate ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'FED' && this.sevPayFlag.value === 'Y'))],
1843
+ 'regEmployerFound': [esm.regEmployerFound ?? null],
1844
+ 'employerId': [esm.employerId ?? null],
1845
+ 'serviceBranch': [esm.serviceBranch ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'MIL')],
1846
+ 'startDateMil': [esm.startDateMil ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'MIL')],
1847
+ 'endDateMil': [esm.endDateMil ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'MIL')],
1848
+ 'dd214Flag': [esm.dd214Flag ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'MIL')],
1849
+ 'lastPayGrade': [esm.lastPayGrade ?? null],
1850
+ 'lastduty': [esm.lastduty ?? null],
1851
+ 'placeSeparated': [esm.placeSeparated ?? null],
1852
+ 'noLeaveDays': [esm.noLeaveDays ?? null],
1853
+ 'completedFullTermFlag': [esm.completedFullTermFlag ?? null],
1854
+ 'reserveOrGuardFlag': [esm.reserveOrGuardFlag ?? null],
1855
+ 'milPensionFlag': [esm.milPensionFlag ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'MIL')],
1856
+ 'milPensionRecvDate': [esm.milPensionRecvDate ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'MIL' && this.milPensionFlag.value === 'Y'))],
1857
+ 'milState': [null, [AppValidators.requiredIfValidator(() => this.employerType?.value === 'MIL'), AppValidators.requiredKansas]],
1858
+ 'addressLine1': [esm.addressLine1 ?? null],
1859
+ 'addressLine2': [esm.addressLine2 ?? null],
1860
+ 'addressLine3': [esm.addressLine3 ?? null],
1861
+ 'reserveBranch': [esm.reserveBranch ?? null],
1862
+ 'startDateReserve': [esm.startDateReserve ?? null],
1863
+ 'endDateReserve': [esm.endDateReserve ?? null],
1864
+ 'dd214File': [esm.dd214File ?? null],
1865
+ 'address': [esm.address ?? null, AppValidators.requiredIfValidator(() => (this.employerType?.value === 'REG' || this.employerType?.value === 'FED'))],
1866
+ 'wageAmountArray': this.formBuilder.array([]),
1867
+ 'testEmp': [esm.employerProvidedWages?.wagesListQtrWise ?? null],
1868
+ 'osaBpEmployerFlag': [esm.osaBpEmployerFlag ?? "0"],
1869
+ 'severance': [esm.severance ?? null, AppValidators.requiredIfValidator(() => this.employerType?.value === 'REG')]
1870
+ });
1871
+ this.employerType.valueChanges.subscribe(() => {
1872
+ // uncomment this if there is an issue with changing employer type.
1873
+ //PGLP-522 this below code was uncommented
1874
+ Object.entries(this.addEmployerForm.controls).forEach((tuple) => { if (tuple[0] !== "employerType" && tuple[0] !== "wageAmountArray" && !tuple[1].valid)
1875
+ tuple[1].reset(); });
1876
+ this.isFormSubmitted.submitted = false;
1877
+ this.employerType.value === 'FED' ? this.address.disable() : this.address.enable();
1878
+ setTimeout(() => {
1879
+ BasePage.primeNGFixes();
1880
+ }, 500);
1881
+ });
1882
+ this.reasonSeparation.valueChanges.subscribe(_ => {
1883
+ this.dischargeDetail.reset();
1884
+ this.volQuitDetails.reset();
1885
+ setTimeout(() => {
1886
+ BasePage.primeNGFixes();
1887
+ }, 100);
1888
+ });
1889
+ this.otherSSNFlag.valueChanges.subscribe(_ => {
1890
+ this.otherSSN.reset();
1891
+ });
1892
+ this.otherNameFlag.valueChanges.subscribe(_ => {
1893
+ this.otherName.reset();
1894
+ });
1895
+ //PGLP-522 this below code was added. if employerType is REG and non baseperiodEmployer. If user change the regPensionFlag 'YES' to 'NO' then regPensionRecvDate validation was reset
1896
+ this.regPensionFlag.valueChanges.subscribe(_ => {
1897
+ this.regPensionRecvDate.reset();
1898
+ });
1899
+ //PGLP-522 this below code was added. if employerType is REG and baseperiodEmployer. If user change the pensionFlag 'YES' to 'NO' then PensionReciveDate validation was reset
1900
+ this.pensionFlag.valueChanges.subscribe(_ => {
1901
+ this.pensionRecvDate.reset();
1902
+ });
1903
+ //PGLP-522 this below code was added. if employerType is REG and baseperiodEmployer. If user change the pensionFlag 'YES' to 'NO' then PensionReciveDate validation was reset
1904
+ this.fedPensionFlag.valueChanges.subscribe(_ => {
1905
+ this.fedPensionRecvDate.reset();
1906
+ });
1907
+ //PGLP-522 this below code was added. if employerType is MIL and baseperiodEmployer. If user change the pensionFlag 'YES' to 'NO' then milPensionRecvDate validation was reset
1908
+ this.milPensionFlag.valueChanges.subscribe(_ => {
1909
+ this.milPensionRecvDate.reset();
1910
+ });
1911
+ if (!this.payRateFrequency.value) {
1912
+ this.payRateFrequency.patchValue({ value: 'HOUR', text: 'Hour' });
1913
+ }
1914
+ if (this.validationService.bpEmpLstFrmService) {
1915
+ if (this.qtrWageList) {
1916
+ for (var qtrWage of this.qtrWageList) {
1917
+ this.wageAmountArray.push(this.wageArray(qtrWage));
1918
+ }
1919
+ }
1920
+ if (this.displayVerificationOfWages.value || (this.employerType.value == 'FED' && this.isNewClaim)) {
1921
+ this.setWageValidation();
1922
+ }
1923
+ }
1924
+ ;
1925
+ }
1926
+ setWorkStartDate() {
1927
+ let data = this.ar.snapshot.queryParamMap.get('data');
1928
+ if (data) {
1929
+ let parsedData = JSON.parse(atob(data));
1930
+ if (Array.isArray(parsedData)) {
1931
+ let lastCwe = parsedData.filter(k => k.key == 'lastCweDate');
1932
+ if (lastCwe.length > 0 && lastCwe[0].key == 'lastCweDate' && !this.isNewClaim) {
1933
+ this.minWorkStartDate = new Date(lastCwe[0].value);
1934
+ }
1935
+ }
1936
+ }
1937
+ }
1938
+ loadMasterData() {
1939
+ this.claimsService.getReasonSeparation().subscribe(value => {
1940
+ value.forEach(arr => this.employmentStatusOptionsAll.push(arr));
1941
+ });
1942
+ this.claimsService.getDischargeReasons().subscribe(value => {
1943
+ value.forEach(arr => this.dischargeReasonOptionsAll.push(arr));
1944
+ });
1945
+ this.claimsService.getQuitReasons().subscribe(value => {
1946
+ value.forEach(arr => this.volQuitReasonOptionsAll.push(arr));
1947
+ });
1948
+ if (this.employmentStatusOptions != null)
1949
+ return true;
1950
+ }
1951
+ get wageAmountArray() {
1952
+ return this.addEmployerForm.controls["wageAmountArray"];
1953
+ }
1954
+ get testEmp() {
1955
+ return this.addEmployerForm.controls["testEmp"];
1956
+ }
1957
+ get severance() {
1958
+ return this.addEmployerForm.controls['severance'];
1959
+ }
1960
+ get employerType() {
1961
+ return this.addEmployerForm?.controls['employerType'];
1962
+ }
1963
+ get employerName() {
1964
+ return this.addEmployerForm.controls['employerName'];
1965
+ }
1966
+ get othStateEmpName() {
1967
+ return this.addEmployerForm.controls['othStateEmpName'];
1968
+ }
1969
+ get employerTelephoneNumber() {
1970
+ return this.addEmployerForm.controls['employerTelephoneNumber'];
1971
+ }
1972
+ get startDate() {
1973
+ return this.addEmployerForm.controls['startDate'];
1974
+ }
1975
+ get endDate() {
1976
+ return this.addEmployerForm.controls['endDate'];
1977
+ }
1978
+ get jobTileOrPosition() {
1979
+ return this.addEmployerForm.controls['jobTileOrPosition'];
1980
+ }
1981
+ get reasonSeparation() {
1982
+ return this.addEmployerForm?.controls['reasonSeparation'];
1983
+ }
1984
+ get dischargeDetail() {
1985
+ return this.addEmployerForm.controls['dischargeDetail'];
1986
+ }
1987
+ get volQuitDetails() {
1988
+ return this.addEmployerForm.controls['volQuitDetails'];
1989
+ }
1990
+ get payRate() {
1991
+ return this.addEmployerForm.controls['payRate'];
1992
+ }
1993
+ get grossWages() {
1994
+ return this.addEmployerForm.controls['grossWages'];
1995
+ }
1996
+ get payRateFrequency() {
1997
+ return this.addEmployerForm.controls['payRateFrequency'];
1998
+ }
1999
+ get pensionFlag() {
2000
+ return this.addEmployerForm.controls['pensionFlag'];
2001
+ }
2002
+ get pensionRecvDate() {
2003
+ return this.addEmployerForm.controls['pensionRecvDate'];
2004
+ }
2005
+ get regPensionFlag() {
2006
+ return this.addEmployerForm.controls['regPensionFlag'];
2007
+ }
2008
+ get regPensionRecvDate() {
2009
+ return this.addEmployerForm.controls['regPensionRecvDate'];
2010
+ }
2011
+ get hasShortTermDisability() {
2012
+ return this.addEmployerForm.controls['hasShortTermDisability'];
2013
+ }
2014
+ get hasRecvRemuneration() {
2015
+ return this.addEmployerForm.controls['hasRecvRemuneration'];
2016
+ }
2017
+ get remunerationTypes() {
2018
+ return this.addEmployerForm.controls['remunerationTypes'];
2019
+ }
2020
+ get vacation() {
2021
+ return this.addEmployerForm.controls['vacation'];
2022
+ }
2023
+ get paymentType() {
2024
+ return this.addEmployerForm.controls['paymentType'];
2025
+ }
2026
+ get docsReceived() {
2027
+ return this.addEmployerForm.controls['docsReceived'];
2028
+ }
2029
+ get otherSSNFlag() {
2030
+ return this.addEmployerForm.controls['otherSSNFlag'];
2031
+ }
2032
+ get otherSSN() {
2033
+ return this.addEmployerForm.controls['otherSSN'];
2034
+ }
2035
+ get otherNameFlag() {
2036
+ return this.addEmployerForm.controls['otherNameFlag'];
2037
+ }
2038
+ get otherName() {
2039
+ return this.addEmployerForm.controls['otherName'];
2040
+ }
2041
+ get doingBusinessAs() {
2042
+ return this.addEmployerForm.controls['doingBusinessAs'];
2043
+ }
2044
+ get workFlag() {
2045
+ return this.addEmployerForm.controls['workFlag'];
2046
+ }
2047
+ // get quitreason() {
2048
+ // return this.addEmployerForm.controls['quitreason'];
2049
+ // }
2050
+ get workCity() {
2051
+ return this.addEmployerForm.controls['workCity'];
2052
+ }
2053
+ get workState() {
2054
+ return this.addEmployerForm.controls['workState'];
2055
+ }
2056
+ get milState() {
2057
+ return this.addEmployerForm.controls['milState'];
2058
+ }
2059
+ /*get hiredBy() {
2060
+ return this.addEmployerForm.controls['hiredBy'];
2061
+ }
2062
+
2063
+ get fein() {
2064
+ return this.addEmployerForm.controls['fein'];
2065
+ }*/
2066
+ get workType() {
2067
+ return this.addEmployerForm.controls['workType'];
2068
+ }
2069
+ /*get numberEmployed() {
2070
+ return this.addEmployerForm.controls['numberEmployed'];
2071
+ }*/
2072
+ get businessNature() {
2073
+ return this.addEmployerForm.controls['businessNature'];
2074
+ }
2075
+ get displayVerificationOfWages() {
2076
+ return this.addEmployerForm.controls['displayVerificationOfWages'];
2077
+ }
2078
+ // get wageQuarter1() {
2079
+ // return this.addEmployerForm.controls['wageQuarter1'];
2080
+ // }
2081
+ // get wageQuarter2() {
2082
+ // return this.addEmployerForm.controls['wageQuarter2'];
2083
+ // }
2084
+ // get wageQuarter3() {
2085
+ // return this.addEmployerForm.controls['wageQuarter3'];
2086
+ // }
2087
+ // get wageQuarter4() {
2088
+ // return this.addEmployerForm.controls['wageQuarter4'];
2089
+ // }
2090
+ get ficCode() {
2091
+ return this.addEmployerForm.controls['ficCode'];
2092
+ }
2093
+ get ficDestinationCode() {
2094
+ return this.addEmployerForm.controls['ficDestinationCode'];
2095
+ }
2096
+ get ficDestinationId() {
2097
+ return this.addEmployerForm.controls['ficDestinationId'];
2098
+ }
2099
+ // get formerlyKnownAs() {
2100
+ // return this.addEmployerForm.controls['formerlyKnownAs'];
2101
+ // }
2102
+ get sfEightflag() {
2103
+ return this.addEmployerForm.controls['sfEightflag'];
2104
+ }
2105
+ get fedWorkCity() {
2106
+ return this.addEmployerForm.controls['fedWorkCity'];
2107
+ }
2108
+ get fedWorkState() {
2109
+ return this.addEmployerForm.controls['fedWorkState'];
2110
+ }
2111
+ get fedWorkCountry() {
2112
+ return this.addEmployerForm.controls['fedWorkCountry'];
2113
+ }
2114
+ get startDateFed() {
2115
+ return this.addEmployerForm.controls['startDateFed'];
2116
+ }
2117
+ get endDateFed() {
2118
+ return this.addEmployerForm.controls['endDateFed'];
2119
+ }
2120
+ get fedJobTileOrPosition() {
2121
+ return this.addEmployerForm.controls['fedJobTileOrPosition'];
2122
+ }
2123
+ /* get claimantEmployedWithEmpr() {
2124
+ return this.addEmployerForm.controls['claimantEmployedWithEmpr'];
2125
+ } */
2126
+ get performedService() {
2127
+ return this.addEmployerForm.controls['performedService'];
2128
+ }
2129
+ get fedPensionFlag() {
2130
+ return this.addEmployerForm.controls['fedPensionFlag'];
2131
+ }
2132
+ get fedPensionRecvDate() {
2133
+ return this.addEmployerForm.controls['fedPensionRecvDate'];
2134
+ }
2135
+ get sevPayFlag() {
2136
+ return this.addEmployerForm.controls['sevPayFlag'];
2137
+ }
2138
+ get weeklyAmount() {
2139
+ return this.addEmployerForm.controls['weeklyAmount'];
2140
+ }
2141
+ get numberOfWeeks() {
2142
+ return this.addEmployerForm.controls['numberOfWeeks'];
2143
+ }
2144
+ get sevPayAmount() {
2145
+ return this.addEmployerForm.controls['sevPayAmount'];
2146
+ }
2147
+ get sevPayStartDate() {
2148
+ return this.addEmployerForm.controls['sevPayStartDate'];
2149
+ }
2150
+ get sevPayEndDate() {
2151
+ return this.addEmployerForm.controls['sevPayEndDate'];
2152
+ }
2153
+ get sevPayPaymentStartDate() {
2154
+ return this.addEmployerForm.controls['sevPayPaymentStartDate'];
2155
+ }
2156
+ get regEmployerFound() {
2157
+ return this.addEmployerForm.controls['regEmployerFound'];
2158
+ }
2159
+ get employerId() {
2160
+ return this.addEmployerForm.controls['employerId'];
2161
+ }
2162
+ get fedEmployerName() {
2163
+ return this.addEmployerForm.controls['fedEmployerName'];
2164
+ }
2165
+ get serviceBranch() {
2166
+ return this.addEmployerForm.controls['serviceBranch'];
2167
+ }
2168
+ get startDateMil() {
2169
+ return this.addEmployerForm.controls['startDateMil'];
2170
+ }
2171
+ get endDateMil() {
2172
+ return this.addEmployerForm.controls['endDateMil'];
2173
+ }
2174
+ get dd214Flag() {
2175
+ return this.addEmployerForm.controls['dd214Flag'];
2176
+ }
2177
+ get lastPayGrade() {
2178
+ return this.addEmployerForm.controls['lastPayGrade'];
2179
+ }
2180
+ get lastduty() {
2181
+ return this.addEmployerForm.controls['lastduty'];
2182
+ }
2183
+ get placeSeparated() {
2184
+ return this.addEmployerForm.controls['placeSeparated'];
2185
+ }
2186
+ get noLeaveDays() {
2187
+ return this.addEmployerForm.controls['noLeaveDays'];
2188
+ }
2189
+ get completedFullTermFlag() {
2190
+ return this.addEmployerForm.controls['completedFullTermFlag'];
2191
+ }
2192
+ get reserveOrGuardFlag() {
2193
+ return this.addEmployerForm.controls['reserveOrGuardFlag'];
2194
+ }
2195
+ get milPensionFlag() {
2196
+ return this.addEmployerForm.controls['milPensionFlag'];
2197
+ }
2198
+ get milPensionRecvDate() {
2199
+ return this.addEmployerForm.controls['milPensionRecvDate'];
2200
+ }
2201
+ get addressLine1() {
2202
+ return this.addEmployerForm.controls['addressLine1'];
2203
+ }
2204
+ get addressLine2() {
2205
+ return this.addEmployerForm.controls['addressLine2'];
2206
+ }
2207
+ get addressLine3() {
2208
+ return this.addEmployerForm.controls['addressLine3'];
2209
+ }
2210
+ get ficDestinationName() {
2211
+ return this.addEmployerForm.controls['ficDestinationName'];
2212
+ }
2213
+ get reserveBranch() {
2214
+ return this.addEmployerForm.controls['reserveBranch'];
2215
+ }
2216
+ get startDateReserve() {
2217
+ return this.addEmployerForm.controls['startDateReserve'];
2218
+ }
2219
+ get endDateReserve() {
2220
+ return this.addEmployerForm.controls['endDateReserve'];
2221
+ }
2222
+ get dd214File() {
2223
+ return this.addEmployerForm.controls['dd214File'];
2224
+ }
2225
+ get address() {
2226
+ return this.addEmployerForm.controls['address'];
2227
+ }
2228
+ get osaBpEmployerFlag() {
2229
+ return this.addEmployerForm.controls['osaBpEmployerFlag'];
2230
+ }
2231
+ get prevWorkedState() {
2232
+ return this.addEmployerForm?.controls['prevWorkedState'];
2233
+ }
2234
+ onToggleChangePrevWorkedState(obj) {
2235
+ this.reasonSeparation.setValue(null);
2236
+ this.address.enable();
2237
+ this.address.setValue(null);
2238
+ this.ficCode.setValue(null);
2239
+ this.ficDestinationCode.setValue(null);
2240
+ this.addressLine1.setValue(null);
2241
+ this.addressLine2.setValue(null);
2242
+ this.addressLine3.setValue(null);
2243
+ this.pensionRecvDate.setValue(null);
2244
+ this.workType.setValue(null);
2245
+ this.employerName.setValue(null);
2246
+ this.othStateEmpName.setValue(null);
2247
+ this.workState.setValue(null);
2248
+ this.workCity.setValue(null);
2249
+ this.startDate.setValue(null);
2250
+ this.endDate.setValue(null);
2251
+ this.payRate.setValue(null);
2252
+ this.payRateFrequency.setValue(null);
2253
+ this.pensionFlag.setValue(null);
2254
+ this.employerTelephoneNumber.setValue(null);
2255
+ this.jobTileOrPosition.setValue(null);
2256
+ this.regPensionFlag.setValue(null);
2257
+ this.regPensionRecvDate.setValue(null);
2258
+ }
2259
+ onModelCancel(cancel) {
2260
+ this.modelCancel.emit(cancel);
2261
+ }
2262
+ setEmployer(employer) {
2263
+ this.logger.debug('setEmployer called', employer, "type", this.employerType, 'this.addEmployerForm', this.addEmployerForm);
2264
+ this.logger.debug('employer.state', employer.state);
2265
+ this.address.setValue({ country: employer.country, city: employer.city,
2266
+ zip: employer.zip, streetAddress: employer.addressDisplayVal, state: employer.state,
2267
+ optionalAddress: null, county: null, town: null
2268
+ });
2269
+ this.address.disable();
2270
+ this.address.setErrors({});
2271
+ this.employerName.setValue(employer.employerName);
2272
+ this.employerId.setValue(employer.employerId);
2273
+ this.addressLine1.setValue(employer.addressLine1);
2274
+ this.addressLine2.setValue(employer.addressLine2);
2275
+ this.addressLine3.setValue(employer.addressLine3);
2276
+ this.regEmployerFound.setValue(true);
2277
+ this.isManualEnterEmp = false;
2278
+ }
2279
+ setFedEmployer(employer) {
2280
+ this.address2.readonly = false;
2281
+ this.logger.debug('setFedEmployer called', employer, "zip ", employer.zip);
2282
+ this.ficCode.enable();
2283
+ this.ficCode.setValue(employer.ficCode);
2284
+ this.ficCode.disable();
2285
+ this.fedEmployerName.setValue(employer.employerName);
2286
+ this.ficDestinationName.enable();
2287
+ this.ficDestinationName.setValue(employer.ficDestinationName);
2288
+ this.ficDestinationId.setValue(employer.ficDestinationId);
2289
+ this.ficDestinationName.disable();
2290
+ this.ficDestinationCode.setValue(employer.ficDestinationCode);
2291
+ this.address.setValue({ country: employer.country, city: employer.city,
2292
+ zip: employer.zip, streetAddress: employer.addressLine1, state: employer.state,
2293
+ optionalAddress: employer.addressLine2, county: null, town: null
2294
+ });
2295
+ this.address.disable();
2296
+ this.employerId.setValue(employer.employerId);
2297
+ this.addressLine1.setValue(employer.addressLine1);
2298
+ this.addressLine2.setValue(employer.addressLine2);
2299
+ this.addressLine3.setValue(employer.addressLine3);
2300
+ this.regEmployerFound.setValue(false);
2301
+ this.address2.readonly = true;
2302
+ this.isManualEnterEmp = false;
2303
+ }
2304
+ resetFedEmployer(employer) {
2305
+ this.address.enable();
2306
+ this.address.setValue({ country: null, city: null,
2307
+ zip: null, streetAddress: null, state: null,
2308
+ optionalAddress: null, county: null, town: null
2309
+ });
2310
+ this.regEmployerFound.setValue(false);
2311
+ }
2312
+ resetEmployer(employer) {
2313
+ this.logger.debug('resetEmployer called', employer);
2314
+ this.address.enable();
2315
+ this.address.setValue({ country: null, city: null,
2316
+ zip: null, streetAddress: null, state: null,
2317
+ optionalAddress: null, county: null, town: null
2318
+ });
2319
+ this.regEmployerFound.setValue(false);
2320
+ }
2321
+ putMilResBranchValidation(event) {
2322
+ if (event.option.value === 'Y') {
2323
+ }
2324
+ else {
2325
+ this.addEmployerForm.controls['reserveBranch'].setValue(null);
2326
+ this.addEmployerForm.controls['startDateReserve'].setValue(null);
2327
+ this.addEmployerForm.controls['endDateReserve'].setValue(null);
2328
+ }
2329
+ }
2330
+ onOptionChange(event) {
2331
+ if (event.option.value !== 'Y') {
2332
+ this.addEmployerForm.controls['employerTelephoneNumber'].setValue(null);
2333
+ this.addEmployerForm.controls['startDate'].setValue(null);
2334
+ this.addEmployerForm.controls['endDate'].setValue(null);
2335
+ this.addEmployerForm.controls['jobTileOrPosition'].setValue(null);
2336
+ this.addEmployerForm.controls['reasonSeparation'].setValue(null);
2337
+ this.addEmployerForm.controls['payRate'].setValue(null);
2338
+ this.addEmployerForm.controls['payRateFrequency'].setValue(null);
2339
+ this.addEmployerForm.controls['pensionFlag'].setValue(null);
2340
+ // this.addEmployerForm.controls['isClmtPaidWhileLow'].setValue(null);
2341
+ }
2342
+ }
2343
+ save() {
2344
+ if (this.isBasePeriodEmployer) {
2345
+ //remove validator since basePeriod employer already has employer coming from backend
2346
+ this.address.clearValidators();
2347
+ this.address.updateValueAndValidity();
2348
+ }
2349
+ this.isFormSubmitted.submitted = true;
2350
+ this.logger.debug('this.save.value', this.addEmployerForm);
2351
+ this.address.enable();
2352
+ this.validateWageGrid();
2353
+ if (this.addEmployerForm.valid && this.address.errors === null) {
2354
+ this.success.emit(this.addEmployerForm.value);
2355
+ this.display = false;
2356
+ }
2357
+ else {
2358
+ this.address.disable();
2359
+ console.log(this.addEmployerForm);
2360
+ const fixFields = Object.entries(this.addEmployerForm.controls).filter(x => !x[1].valid).map(x => x[0]);
2361
+ console.log("fix fields:", fixFields);
2362
+ this.logger.info("add employer failure info:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
2363
+ this.logger.error("add employer failure error:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
2364
+ this.logger.log("add employer failure log:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
2365
+ }
2366
+ }
2367
+ add() {
2368
+ this.isFormSubmitted.submitted = true;
2369
+ if (this.employerType.value != 'MIL') {
2370
+ this.validateWageGrid();
2371
+ this.logger.debug('validate address component');
2372
+ if (this.isManualEnterEmp) {
2373
+ //Validate address only when address is manual entered
2374
+ this.validateAddress();
2375
+ }
2376
+ else {
2377
+ this.address.enable();
2378
+ }
2379
+ }
2380
+ if (this.addEmployerForm.invalid || (this.address.errors && Object.keys(this.address.errors).length > 0)) {
2381
+ console.log(this.addEmployerForm);
2382
+ const fixFields = Object.entries(this.addEmployerForm.controls).filter(x => !x[1].valid).map(x => x[0]);
2383
+ console.log("fix fields:", fixFields);
2384
+ this.logger.info("add employer failure info:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
2385
+ this.logger.error("add employer failure error:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
2386
+ this.logger.log("add employer failure log:", this.ls.getUser().claimantId, fixFields, this.addEmployerForm.value);
2387
+ //this.address.disable();
2388
+ return;
2389
+ }
2390
+ this.logger.debug('this.add.value', this.addEmployerForm);
2391
+ this.addEmployerForm.controls['ficCode'].enable();
2392
+ this.addEmployerForm.controls['ficDestinationName'].enable();
2393
+ this.address.enable();
2394
+ this.success.emit(this.addEmployerForm.value);
2395
+ this.logger.debug("add form details add()- ", this.addEmployerForm);
2396
+ this.display = false;
2397
+ }
2398
+ validateWageGrid() {
2399
+ this.wageAmountArray.setErrors(null);
2400
+ if (this.employerType.value !== 'FED' && !(this.employerType.value === 'REG' && this.displayVerificationOfWages?.value)) {
2401
+ return;
2402
+ }
2403
+ if (Object.values(this.wageAmountArray.controls).filter(x => x.value.wageAmount !== 0).length !== 0) {
2404
+ return;
2405
+ }
2406
+ this.wageAmountArray.setErrors({ requireCheckboxToBeChecked: true });
2407
+ }
2408
+ validateAddress() {
2409
+ // Clear previous errors on the address control
2410
+ const addressControl = this.addEmployerForm.controls['address'];
2411
+ // Get the address component value
2412
+ const addressCompValue = addressControl.value;
2413
+ // List of address fields to validate
2414
+ const addressFields = ['streetAddress', 'city', 'state', 'zip', 'country'];
2415
+ let hasErrors = false;
2416
+ // Loop through each field and validate
2417
+ addressFields.forEach(field => {
2418
+ const fieldValue = addressCompValue?.[field];
2419
+ // Check if the field is missing or empty
2420
+ if (!fieldValue) {
2421
+ // Set required error if field is missing
2422
+ this.setFieldError(field, true);
2423
+ hasErrors = true;
2424
+ }
2425
+ else {
2426
+ // Clear error if field has value
2427
+ this.setFieldError(field, false);
2428
+ }
2429
+ });
2430
+ // If there are errors in any field, mark the address control as invalid
2431
+ if (hasErrors) {
2432
+ addressControl.setErrors({ addressValidationFlag: true });
2433
+ if (this.employerFormElement) {
2434
+ this.employerFormElement.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); // Focus the error element
2435
+ }
2436
+ }
2437
+ else {
2438
+ addressControl.setErrors(null); // Clear error if everything is valid
2439
+ }
2440
+ // Update validity of the form
2441
+ this.addEmployerForm.updateValueAndValidity();
2442
+ // Submit address1 and address2 if they exist
2443
+ if (this.address1) {
2444
+ this.address1.submit();
2445
+ }
2446
+ if (this.address2) {
2447
+ this.address2.submit();
2448
+ }
2449
+ }
2450
+ // Helper function to set or clear errors for each address field
2451
+ setFieldError(field, isError) {
2452
+ const control = this.addEmployerForm.controls['address'].get(field);
2453
+ if (isError) {
2454
+ control?.setErrors({ required: true });
2455
+ }
2456
+ else {
2457
+ control?.setErrors(null);
2458
+ }
2459
+ }
2460
+ setFedWorkStateValues(event) {
2461
+ if (event.value !== 'US') {
2462
+ this.fedWorkState.setValue(null);
2463
+ }
2464
+ }
2465
+ filterJobTileOrPosition(event) {
2466
+ this.validationService.get(`/claims-service/claim/jobtitle/` + `${event.query}`).subscribe(res => {
2467
+ this.logger.debug('res', res);
2468
+ this.jobTileOrPositionOptions = res;
2469
+ });
2470
+ }
2471
+ filterFedJobTileOrPosition(event) {
2472
+ this.validationService.get(`/claims-service/claim/jobtitle/` + `${event.query}`).subscribe(res => {
2473
+ this.logger.debug('res', res);
2474
+ this.fedJobTileOptions = res;
2475
+ });
2476
+ }
2477
+ filterDischargeReasons(event) {
2478
+ let filtered = [];
2479
+ let query = event.query;
2480
+ for (let i = 0; i < this.dischargeReasonOptionsAll.length; i++) {
2481
+ let sepReason = this.dischargeReasonOptionsAll[i];
2482
+ if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2483
+ filtered.push(sepReason);
2484
+ }
2485
+ }
2486
+ this.dischargeReasonOptions = filtered;
2487
+ }
2488
+ filterVoluntaryReason(event) {
2489
+ let filtered = [];
2490
+ let query = event.query;
2491
+ for (let i = 0; i < this.volQuitReasonOptionsAll.length; i++) {
2492
+ let sepReason = this.volQuitReasonOptionsAll[i];
2493
+ if (sepReason.text.toLowerCase().indexOf(query.toLowerCase()) == 0) {
2494
+ filtered.push(sepReason);
2495
+ }
2496
+ }
2497
+ this.volQuitReasonOptions = filtered;
2498
+ }
2499
+ validate(event) {
2500
+ if (event.target?.value) {
2501
+ this.minDate = new Date(event.target.value);
2502
+ }
2503
+ else if (event instanceof Date) {
2504
+ this.minDate = event;
2505
+ }
2506
+ this.endDate.setValue(null);
2507
+ this.logger.debug('this.basePeriodStartDate', this.basePeriodStartDate);
2508
+ }
2509
+ wageArray(qtrWage) {
2510
+ return this.formBuilder.group({
2511
+ wageAmount: [qtrWage.wageAmount != null ? qtrWage.wageAmount : null, AppValidators.requiredIfValidator(() => (((this.employerType.value === 'FED') || (this.employerType.value === 'REG' && qtrWage.displayForAll && this.workState.value && this.workState.value.value === this.currentState))))],
2512
+ quarter: [qtrWage.quarter != null ? qtrWage.quarter : null],
2513
+ year: [qtrWage.year != null ? qtrWage.year : null],
2514
+ qtrYearDisplayString: [qtrWage.qtrYearDisplayString != null ? qtrWage.qtrYearDisplayString : null],
2515
+ displayOrder: [qtrWage.displayOrder != null ? qtrWage.displayOrder : null],
2516
+ displayForAll: [qtrWage.displayForAll != null ? qtrWage.displayForAll : null],
2517
+ });
2518
+ }
2519
+ setWageValidation() {
2520
+ this.util.setValidation(this.wageAmountArray, AppValidators.atLeastOneNonZeroValueValidator(1, 'wageAmount'));
2521
+ this.logger.debug('setting validation for fed employer');
2522
+ }
2523
+ removeWageValidation() {
2524
+ if (this.employerType.value != 'FED') {
2525
+ this.util.clearValidation(this.wageAmountArray);
2526
+ this.logger.debug('removing validation for fed employer');
2527
+ }
2528
+ }
2529
+ validateWagesDisplay(event) {
2530
+ let bpStartDate = new Date(this.basePeriodStartDate);
2531
+ let bpEndDate = new Date(this.basePeriodEndDate);
2532
+ let starteDateVal = new Date(this.startDate.value);
2533
+ let endDateVal = new Date(this.endDate.value);
2534
+ // let endDateVal: Date = event.target?.value ? new Date(event.target.value) : event;
2535
+ this.logger.debug('bpStartDate ', bpStartDate, 'starteDateVal ', starteDateVal);
2536
+ this.logger.debug('endDateVal ', endDateVal, 'bpEndDate ', bpEndDate);
2537
+ this.logger.debug('starteDateVal before bpEndDate ', starteDateVal < bpEndDate);
2538
+ this.logger.debug('endDateVal after bpStartDate ', endDateVal > bpStartDate);
2539
+ this.logger.debug('this.workState ', this.workState);
2540
+ if (this.employerType?.value === 'REG' && this.workState.value && this.workState.value.value == this.currentState && this.isNewClaim) {
2541
+ if (starteDateVal.getTime() < bpEndDate.getTime() && endDateVal.getTime() > bpStartDate.getTime()) {
2542
+ this.displayVerificationOfWages.setValue(true);
2543
+ }
2544
+ else {
2545
+ this.displayVerificationOfWages.setValue(false);
2546
+ }
2547
+ }
2548
+ else {
2549
+ this.displayVerificationOfWages.setValue(false);
2550
+ }
2551
+ }
2552
+ filterGroupedReason(event) {
2553
+ let query = event.query;
2554
+ this.logger.debug('query', query);
2555
+ let filteredGroups = [];
2556
+ if (localStorage.getItem("language") === "es") {
2557
+ this.groupedReasons = ComboOption.GROUP_REASONS_ES;
2558
+ }
2559
+ else {
2560
+ this.groupedReasons = ComboOption.GROUP_REASONS;
2561
+ }
2562
+ for (let optgroup of this.groupedReasons) {
2563
+ this.logger.debug('optgroup.items', optgroup.items);
2564
+ let filteredSubOptions = this.filterService.filter(optgroup.items, ["label"], query, "contains");
2565
+ this.logger.debug('filteredSubOptions', filteredSubOptions);
2566
+ if (filteredSubOptions && filteredSubOptions.length) {
2567
+ filteredGroups.push({
2568
+ label: optgroup.label,
2569
+ value: optgroup.value,
2570
+ items: filteredSubOptions
2571
+ });
2572
+ }
2573
+ }
2574
+ this.groupedReasons = filteredGroups;
2575
+ }
2576
+ onClearAction(event) {
2577
+ this.onChange(null);
2578
+ }
2579
+ dateInput(event) {
2580
+ let currentValue = event.srcElement.value;
2581
+ if (currentValue) {
2582
+ if (currentValue.length == 2 && currentValue.charAt(2) != '/') {
2583
+ event.target.value = currentValue + "/";
2584
+ }
2585
+ if (currentValue.length == 5 && currentValue.charAt(5) != '/') {
2586
+ event.target.value = currentValue + "/";
2587
+ }
2588
+ }
2589
+ }
2590
+ get required() {
2591
+ return this.translateService.instant('common.required');
2592
+ }
2593
+ get requiredKansas() {
2594
+ return this.translateService.instant('induction.add.employment.required.kansas');
2595
+ }
2596
+ static { this.ɵfac = function AddEmployerComponent_Factory(t) { return new (t || AddEmployerComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.ValidationService), i0.ɵɵdirectiveInject(i3.UtilService), i0.ɵɵdirectiveInject(i4.FilterService), i0.ɵɵdirectiveInject(i5.LoggerService), i0.ɵɵdirectiveInject(i6.DomSanitizer), i0.ɵɵdirectiveInject(i7.ClaimService), i0.ɵɵdirectiveInject(i8.LoginService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i9.ActivatedRoute), i0.ɵɵdirectiveInject(i10.TranslateService)); }; }
2597
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddEmployerComponent, selectors: [["app-add-employer"]], viewQuery: function AddEmployerComponent_Query(rf, ctx) { if (rf & 1) {
2598
+ i0.ɵɵviewQuery(_c0, 5);
2599
+ i0.ɵɵviewQuery(_c1, 5);
2600
+ i0.ɵɵviewQuery(_c2, 5);
2601
+ } if (rf & 2) {
2602
+ let _t;
2603
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.address1 = _t.first);
2604
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.address2 = _t.first);
2605
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.employerFormElement = _t.first);
2606
+ } }, inputs: { recordIndexToEdit: "recordIndexToEdit", isBasePeriodEmployer: "isBasePeriodEmployer", noEditMode: "noEditMode", isNewClaim: "isNewClaim", dob: "dob" }, outputs: { modelCancel: "modelCancel", success: "success", basePeriodIndex: "basePeriodIndex" }, decls: 7, vars: 13, consts: [["visible", "true", "position", "top", "appendTo", "body", 3, "showHeader", "draggable", "resizable", "breakpoints"], [2, "color", "var(--ion-color-grey)", "padding-left", "20px"], [3, "formGroup"], ["employerForm", ""], [4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "p-formgrid"], ["class", "field", 4, "ngIf"], ["class", "field", "style", "width: inherit !important;", 4, "ngIf"], [3, "form", "field", "errDef"], ["class", "ion-hide-sm-down", 4, "ngIf"], [1, "ion-text-right"], ["tabindex", "0", "shape", "round", "fill", "outline", "type", "reset", 2, "width", "80px", 3, "autofocus", "click", "keyup.space", "keyup.enter"], ["tabindex", "0", "shape", "round", "style", "width: 80px;", "type", "submit", 3, "click", "keyup.space", "keyup.enter", 4, "ngIf"], [1, "field"], [2, "font-size", "12px"], ["styleClass", "p-datatable-striped app-datatable ion-padding-top", 3, "value", "columns"], ["pTemplate", "header"], [4, "ngFor", "ngForOf"], ["for", "employerType"], [2, "inline-size", "inherit"], ["inputId", "employerType", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "prevWorkedState"], [2, "inline-size", "min-content"], ["inputId", "prevWorkedState", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl", "onOptionClick"], ["for", "employerName"], [4, "ngIf", "ngIfElse"], ["elseBlock", ""], ["inputId", "employerName", "empType", "REG", 3, "formControl", "onFound", "onEmpty"], ["id", "employerName", "type", "input", "pInputText", "", "maxlength", "50", 3, "formControl"], [1, "field", 2, "width", "inherit !important"], ["for", "fedEmployerName"], ["empType", "FED", 3, "formControl", "onFound", "onEmpty"], ["id", "serviceBranch-label", "for", "serviceBranch"], ["optionLabel", "text", "appendTo", "body", "inputId", "serviceBranch", 3, "options", "formControl", "autoDisplayFirst"], ["id", "mil-state-label", "for", "mil-state"], ["optionLabel", "text", "inputId", "mil-state", "appendTo", "body", 3, "formControl", "options"], [1, "app-grid", 3, "form", "field", "errDef"], [2, "padding", "0px"], ["for", "startDateMil"], ["iconAriaLabel", "startDateMil", "inputId", "startDateMil", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "maxDate", "yearNavigator", "showOnFocus", "minDate", "onBlur", "onSelect", "onInput"], ["size", "1"], ["for", "endDateMil"], ["iconAriaLabel", "endDateMil", "inputId", "endDateMil", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "ficCode"], ["id", "ficCode", "type", "input", "pInputText", "", 3, "formControl"], ["for", "ficDestinationName"], ["id", "ficDestinationName", "type", "input", "pInputText", "", 3, "formControl"], [2, "padding-left", "0px", "padding-right", "0px"], [3, "formControl", "countyRequired", "fromPopup"], ["address1", ""], ["readonly", "true", 3, "formControl", "countyRequired", "fromPopup"], ["address2", ""], ["class", "app-grid", 4, "ngIf"], [1, "app-grid"], ["for", "workCity"], ["id", "workCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["id", "workState-label", "for", "workState"], ["optionLabel", "text", "appendTo", "body", "inputId", "workState", 3, "options", "formControl", "autoDisplayFirst", "onChange"], ["id", "fedWorkCountry-label", "for", "fedWorkCountry"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkCountry", 3, "options", "formControl", "autoDisplayFirst"], ["for", "fedWorkCity"], ["id", "fedWorkCity", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["style", "padding: 0px;", 4, "ngIf"], ["id", "fedWorkState-label", "for", "fedWorkState"], ["optionLabel", "text", "appendTo", "body", "inputId", "fedWorkState", 3, "options", "formControl", "autoDisplayFirst"], ["for", "startDateFed"], ["iconAriaLabel", "startDateFed", "inputId", "startDateFed", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "showOnFocus", "minDate", "onBlur", "onSelect", "onInput"], ["for", "endDateFed"], ["iconAriaLabel", "endDateFed", "inputId", "endDateFed", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "maxDate", "minDate", "yearNavigator", "formControl", "showOnFocus", "onInput"], ["for", "fedJobTileOrPosition"], ["id", "fedJobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], ["for", "sfEightflag"], ["inputId", "sfEightflag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "startDate"], ["iconAriaLabel", "startDate", "inputId", "startDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "maxDate", "formControl", "yearNavigator", "minDate", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "endDate"], ["iconAriaLabel", "endDate", "inputId", "endDate", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "yearRange", "1901:2050", "dataType", "string", 3, "showIcon", "minDate", "maxDate", "yearNavigator", "formControl", "showOnFocus", "onBlur", "onInput", "onSelect"], ["for", "workType"], ["id", "workType", "type", "input", "pInputText", "", "maxlength", "50", 3, "formControl"], ["for", "performedService"], ["inputId", "performedService", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "jobTileOrPosition"], ["id", "jobTileOrPosition", "type", "input", "pInputText", "", "maxlength", "100", 3, "formControl"], [2, "padding-right", "5px", "padding-left", "0px"], ["for", "payRate"], ["inputId", "payRate", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["id", "payRateFrequency-label", "for", "payRateFrequency"], ["optionLabel", "text", "appendTo", "body", "inputId", "payRateFrequency", 3, "options", "formControl", "autoDisplayFirst"], ["for", "employerTelephoneNumber"], ["mask", "999-999-9999", "inputId", "employerTelephoneNumber", "placeholder", "999-999-9999", 3, "formControl"], ["id", "reasonSeparation-label", "for", "reasonSeparation", 4, "ngIf"], ["optionLabel", "text", "appendTo", "body", "inputId", "reasonSeparation", 3, "options", "formControl", "autoDisplayFirst"], ["id", "reasonSeparation-label", "for", "reasonSeparation"], ["id", "dischargeDetail-label", "for", "dischargeDetail"], ["optionLabel", "text", "appendTo", "body", "inputId", "dischargeDetail", 3, "options", "formControl", "autoDisplayFirst"], ["id", "volQuitDetails-label", "for", "volQuitDetails"], ["optionLabel", "text", "appendTo", "body", "inputId", "volQuitDetails", 3, "options", "formControl", "autoDisplayFirst"], ["for", "milPensionFlag"], ["inputId", "milPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "milPensionRecvDate"], ["inputId", "milPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "dd214Flag"], [2, "inline-size", "min-content", "display", "inline-flex"], ["inputId", "dd214Flag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [3, "overlayText"], [1, "ion-hide-sm-down"], [2, "border-style", "solid", "border-width", "1px"], [3, "innerHTML"], [2, "padding-left", "15px", 3, "innerHTML"], [2, "padding-top", "0px"], ["for", "grossWages", 2, "inline-size", "max-content"], ["inputId", "grossWages", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["style", "padding-right:5px; padding-left: 0px; padding-top: 0px;", 4, "ngIf"], ["style", "padding-right:5px;padding-top: 0px;", 4, "ngIf"], ["style", "padding-top: 0px;", 4, "ngIf"], [2, "padding-right", "5px", "padding-left", "0px", "padding-top", "0px"], [2, "padding-right", "5px", "padding-top", "0px"], ["for", "fedPensionFlag"], [2, "inline-size", "min-content", "display", "flex"], ["inputId", "fedPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [2, "margin-top", "2px", "margin-left", "6px", 3, "overlayText"], ["for", "fedPensionRecvDate"], ["inputId", "fedPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "sevPayFlag"], ["inputId", "sevPayFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], [2, "padding-right", "5px"], ["for", "weeklyAmount"], ["inputId", "weeklyAmount", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["for", "numberOfWeeks"], ["inputId", "numberOfWeeks", "maxlength", "4", 3, "useGrouping", "formControl"], ["for", "sevPayAmount"], ["inputId", "sevPayAmount", "mode", "currency", "currency", "USD", "maxlength", "12", "locale", "en-US", 3, "formControl", "max"], ["for", "sevPayStartDate"], ["inputId", "sevPayStartDate", "yearRange", "1901:2050", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onBlur", "onSelect", "onInput"], ["for", "sevPayEndDate"], ["inputId", "sevPayEndDate", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "appendTo", "body", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "minDate", "showOnFocus", "onInput"], ["for", "sevPayPaymentStartDate"], ["inputId", "sevPayPaymentStartDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "pensionFlag"], ["inputId", "pensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "pensionRecvDate"], ["inputId", "pensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "regPensionFlag"], ["inputId", "regPensionFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "regPensionRecvDate"], ["inputId", "regPensionRecvDate", "appendTo", "body", "yearRange", "1901:2050", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "dataType", "string", 3, "showIcon", "formControl", "yearNavigator", "showOnFocus", "onInput"], ["for", "paymentType"], ["inputId", "paymentType", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "docsReceived"], ["inputId", "docsReceived", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherSSNFlag"], ["inputId", "otherSSNFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherSSN"], ["inputId", "otherSSN", "mask", "999-99-9999", "placeholder", "999-99-9999", 3, "formControl"], ["for", "otherNameFlag"], ["inputId", "otherNameFlag", "unselectable", "true", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "otherName"], ["id", "otherName", "type", "input", "pInputText", "", "maxlength", "30", 3, "formControl"], ["for", "businessNature"], ["id", "businessNature", "type", "input", "pInputText", "", "maxlength", "250", 3, "formControl"], ["rules", "rows"], [2, "text-align", "center"], ["formArrayName", "wageAmountArray"], [3, "formGroupName", 4, "ngFor", "ngForOf"], [3, "formGroupName"], [3, "for"], ["ariaLabel", "wageAmount", "formControlName", "wageAmount", "mode", "currency", "maxlength", "12", "currency", "USD", "locale", "en-US", 3, "inputId", "min", "max"], ["colspan", "2"], [3, "field", "form", "errDef"], ["for", "severance"], ["inputId", "severance", "optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["tabindex", "0", "shape", "round", "type", "submit", 2, "width", "80px", 3, "click", "keyup.space", "keyup.enter"]], template: function AddEmployerComponent_Template(rf, ctx) { if (rf & 1) {
2607
+ i0.ɵɵelementStart(0, "p-dialog", 0)(1, "h4", 1);
2608
+ i0.ɵɵtext(2);
2609
+ i0.ɵɵpipe(3, "translate");
2610
+ i0.ɵɵelementEnd();
2611
+ i0.ɵɵelementStart(4, "form", 2, 3);
2612
+ i0.ɵɵtemplate(6, AddEmployerComponent_ion_grid_6_Template, 68, 67, "ion-grid", 4);
2613
+ i0.ɵɵelementEnd()();
2614
+ } if (rf & 2) {
2615
+ i0.ɵɵstyleMap(i0.ɵɵpureFunction0(11, _c6));
2616
+ i0.ɵɵproperty("showHeader", false)("draggable", false)("resizable", false)("breakpoints", i0.ɵɵpureFunction0(12, _c7));
2617
+ i0.ɵɵadvance(2);
2618
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.heading"), " ");
2619
+ i0.ɵɵadvance(2);
2620
+ i0.ɵɵproperty("formGroup", ctx.addEmployerForm);
2621
+ i0.ɵɵadvance(2);
2622
+ i0.ɵɵproperty("ngIf", ctx.addEmployerForm == null ? null : ctx.addEmployerForm.controls);
2623
+ } }, dependencies: [i11.IonButton, i11.IonCol, i11.IonGrid, i11.IonRow, i12.NgForOf, i12.NgIf, i4.PrimeTemplate, i13.MatError, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MaxLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i1.FormControlName, i1.FormGroupName, i1.FormArrayName, i14.Dialog, i15.Table, i16.InputText, i17.InputMask, i18.Calendar, i19.SelectButton, i20.InputNumber, i21.Dropdown, i22.ErrorComponent, i23.OverlayInfoComponent, i24.SearchEmployerComponent, i25.AddressComponent, i12.CurrencyPipe, i10.TranslatePipe], styles: [".p-fluid[_ngcontent-%COMP%] .p-buttonset[_ngcontent-%COMP%]{display:flex}.p-selectbutton[_ngcontent-%COMP%] .p-button[_ngcontent-%COMP%]{width:50px!important}.disabled[_ngcontent-%COMP%]{cursor:not-allowed;pointer-events:none}.disabled[_ngcontent-%COMP%] *{color:gray;border-color:gray}table[_ngcontent-%COMP%], th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{border-collapse:collapse;padding:5px}table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{background-color:#f1f1f1}table[_ngcontent-%COMP%]{width:100%}.app-grid[_ngcontent-%COMP%]{color:red}"] }); }
2624
+ }
2625
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddEmployerComponent, [{
2626
+ type: Component,
2627
+ args: [{ selector: 'app-add-employer', template: "<p-dialog visible=\"true\" position=\"top\" appendTo=\"body\" [showHeader]=\"false\" [draggable]=\"false\"\r\n [resizable]=\"false\" [style]=\"{width: '60vw'}\"\r\n [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\">\r\n <h4 style=\"color: var(--ion-color-grey); padding-left: 20px;\"> {{\"induction.confirm.employment.heading\"|translate}}\r\n </h4>\r\n <form #employerForm [formGroup]=\"addEmployerForm\">\r\n <ion-grid *ngIf=\"addEmployerForm?.controls\"> <!--To Review-->\r\n <ion-row>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer\">\r\n {{customerName}}\r\n <div *ngIf=\"aliasName != null\">\r\n {{\"induction.confirm.employment.dba\"|translate}} {{aliasName}}</div>\r\n <br>\r\n <span style=\"font-size: 12px;\"> {{mailingAddressDisplay}}\r\n </span>\r\n <div *ngIf=\"isCSR\">\r\n <br>\r\n {{\"induction.confirm.employment.employer.wages\"|translate}}\r\n </div>\r\n <div class=\"field\" *ngIf=\"isCSR\">\r\n <p-table [value]=\"employerProvidedWages\" styleClass=\"p-datatable-striped app-datatable ion-padding-top\"\r\n [columns]=\"employerProvidedWages\">\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n <b>{{ col.qtrYearDisplayString }}</b>\r\n </th>\r\n </tr>\r\n <tr>\r\n <td *ngFor=\"let col of columns\">\r\n {{col.wageAmount | currency}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"workFlag?.value == 'Y'\">\r\n <label>{{\"induction.confirm.employment.workflag.no\"|translate}}<br /> <br />\r\n {{\"induction.confirm.employment.workflag.no.line2\"|translate}}</label>\r\n </div> \r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer\">\r\n <label for=\"employerType\">{{\"induction.add.employment.employer.type\"|translate}}</label>\r\n <div style=\"inline-size: inherit;\">\r\n <p-selectButton inputId=\"employerType\" [options]=\"employerTypeOptions\" optionLabel=\"text\" optionValue=\"value\"\r\n [formControl]=\"employerType\" [class.disabled]=\"noEditMode\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerType' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG' \">\r\n <label for=\"prevWorkedState\">{{\"induction.add.employment.work.state\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"prevWorkedState\" [options]=\"prevWorkedStateOptions\" [formControl]=\"prevWorkedState\" optionLabel=\"text\"\r\n optionValue=\"value\" [class.disabled]=\"noEditMode\"\r\n (onOptionClick)=\"onToggleChangePrevWorkedState($event)\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='prevWorkedState' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG' \">\r\n <label for=\"employerName\">{{\"induction.add.employment.employer.name\"|translate}}</label>\r\n <div *ngIf=\"prevWorkedState.value==='KS'; else elseBlock\">\r\n <app-search-employer inputId=\"employerName\" [formControl]=\"employerName\" empType=\"REG\" (onFound)=\"setEmployer($event)\"\r\n (onEmpty)=\"resetEmployer($event)\"></app-search-employer>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <ng-template #elseBlock>\r\n <div class=\"field\">\r\n <input id=\"employerName\" type=\"input\" pInputText [formControl]=\"othStateEmpName\" maxlength=\"50\">\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='othStateEmpName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"field\" style=\"width: inherit !important;\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedEmployerName\">{{\"induction.add.employment.employer.fed.name\"|translate}}</label>\r\n <app-search-employer [formControl]=\"fedEmployerName\" empType=\"FED\" (onFound)=\"setFedEmployer($event)\"\r\n (onEmpty)=\"resetFedEmployer($event)\"></app-search-employer>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedEmployerName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL'\">\r\n <label id=\"serviceBranch-label\" for=\"serviceBranch\">{{\"induction.add.employment.mil.service.branch\"|translate}}</label>\r\n <p-dropdown [options]=\"militaryServiceOptions\" [formControl]=\"serviceBranch\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"serviceBranch\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='serviceBranch' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL'\">\r\n <label id=\"mil-state-label\" for=\"mil-state\">\r\n {{\"induction.add.employment.physical.location\"|translate}}\r\n </label>\r\n <p-dropdown [formControl]=\"milState\" [options]=\"statesOptions\" optionLabel=\"text\" inputId=\"mil-state\" appendTo=\"body\">\r\n\r\n </p-dropdown>\r\n <app-error class=\"app-grid\" [form]=\"isFormSubmitted\" [field]=\"milState\" [errDef]=\"{\r\n required: required,\r\n requiredKansas: requiredKansas\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='MIL'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDateMil\">{{\"induction.add.employment.mil.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDateMil\" [showIcon]=\"true\" inputId=\"startDateMil\"\r\n [formControl]=\"startDateMil\" [maxDate]=\"dateTime\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n [minDate]=\"minWorkStartDate\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDateMil' [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDateMil\">{{\"induction.add.employment.mil.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDateMil\" [showIcon]=\"true\" inputId=\"endDateMil\" [maxDate]=\"dateTime\"\r\n [minDate]=\"minDate\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateMil\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDateMil' [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='FED' && hideFicCode\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"ficCode\">{{\"induction.add.employment.fed.fic.code\"|translate}}</label>\r\n <input id=\"ficCode\" type=\"input\" pInputText [formControl]=\"ficCode\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='ficCode' [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"ficDestinationName\">{{\"induction.add.employment.fed.fic.destination\"|translate}}</label>\r\n <input id=\"ficDestinationName\" type=\"input\" pInputText [formControl]=\"ficDestinationName\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='ficDestinationName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding-left: 0px; padding-right: 0px;\">\r\n <app-address #address1 [formControl]=\"address\" [countyRequired]=\"false\" [fromPopup]=\"true\">\r\n </app-address>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <app-address readonly=\"true\" #address2 [formControl]=\"address\" [countyRequired]=\"false\" [fromPopup]=\"true\"> </app-address>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]=\"address\" [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n <mat-error class=\"app-grid\" *ngIf=\"address?.errors?.addressValidationFlag && isFormSubmitted.submitted\">\r\n {{\"common.valid.address\"|translate}}\r\n </mat-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workCity\">{{\"induction.add.employment.work.location.city\"|translate}} </label>\r\n <input id=\"workCity\" type=\"input\" pInputText [formControl]=\"workCity\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workCity' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label id=\"workState-label\" for=\"workState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\r\n <p-dropdown [options]=\"prevWorkedState.value==='KS'?statesOptions:nonKSStatesOptions\"\r\n [formControl]=\"workState\" optionLabel=\"text\" appendTo=\"body\" [autoDisplayFirst]=\"false\"\r\n inputId=\"workState\" (onChange)=\"validateWagesDisplay($event)\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workState' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label id=\"fedWorkCountry-label\" for=\"fedWorkCountry\">{{\"induction.add.employment.fed.work.location.country\"|translate}}</label>\r\n <p-dropdown [options]=\"workCountryOptions\" [formControl]=\"fedWorkCountry\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"fedWorkCountry\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkCountry' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='FED'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"fedWorkCity\">{{\"induction.add.employment.work.location.city\"|translate}}</label>\r\n <input id=\"fedWorkCity\" type=\"input\" pInputText [formControl]=\"fedWorkCity\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkCity' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\" *ngIf=\"showWorkState === true\">\r\n <div class=\"field\">\r\n <label id=\"fedWorkState-label\" for=\"fedWorkState\">{{\"induction.add.employment.work.location.state\"|translate}}</label>\r\n <p-dropdown [options]=\"statesOptions\" [formControl]=\"fedWorkState\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" inputId=\"fedWorkState\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedWorkState' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='FED'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDateFed\">{{\"induction.add.employment.fed.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDateFed\" [showIcon]=\"true\" [maxDate]=\"dateTime\" inputId=\"startDateFed\"\r\n [formControl]=\"startDateFed\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" appendTo=\"body\"\r\n dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n [minDate]=\"minWorkStartDate\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDateFed' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDateFed\">{{\"induction.add.employment.fed.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDateFed\" [showIcon]=\"true\" inputId=\"endDateFed\" [maxDate]=\"dateTime\"\r\n [minDate]=\"minDate\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDateFed\"\r\n [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDateFed' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"fedJobTileOrPosition\">{{\"induction.add.employment.fed.jobtitle\"|translate}}</label>\r\n <input id=\"fedJobTileOrPosition\" type=\"input\" pInputText [formControl]=\"fedJobTileOrPosition\"\r\n maxlength=\"100\" />\r\n <!-- <p-autoComplete [formControl]=\"fedJobTileOrPosition\" [suggestions]=\"fedJobTileOptions\" \r\n (completeMethod)=\"filterFedJobTileOrPosition($event)\" field=\"jobTitle\" [dropdown]=\"false\" \r\n placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\r\n <ng-template let-value pTemplate=\"item\">\r\n <div>\r\n <div>{{value.jobTitle}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete> -->\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedJobTileOrPosition' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"sfEightflag\">{{\"induction.add.employment.fed.sfeight\"|translate}} </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"sfEightflag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"sfEightflag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sfEightflag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG'\">\r\n\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"startDate\">{{\"induction.confirm.employment.startdate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"startDate\" [showIcon]=\"true\" inputId=\"startDate\" [maxDate]=\"dateTime\"\r\n [formControl]=\"startDate\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" [minDate]=\"minWorkStartDate\"\r\n appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='startDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"endDate\">{{\"induction.confirm.employment.enddate\"|translate}}</label>\r\n <p-calendar iconAriaLabel=\"endDate\" [showIcon]=\"true\" inputId=\"endDate\" [minDate]=\"minDate\"\r\n [maxDate]=\"dateTime\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\" [yearNavigator]=\"true\"\r\n appendTo=\"body\" yearRange=\"1901:2050\" dataType=\"string\" [formControl]=\"endDate\"\r\n (onBlur)=\"validateWagesDisplay($event)\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n (onSelect)=\"validateWagesDisplay($event)\"></p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='endDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n \r\n <ion-row *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\"> \r\n <!-- <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"numberEmployed\">{{\"induction.add.employment.reg.employees.no\" | translate}} </label>\r\n <p-inputNumber [id]=\"numberEmployed\" [useGrouping]=\"false\" [formControl]=\"numberEmployed\"\r\n maxlength=\"9\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='numberEmployed' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col> -->\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"workType\">{{\"induction.add.employment.reg.work.type\" | translate}}</label>\r\n <input id=\"workType\" type=\"input\" pInputText [formControl]=\"workType\" maxlength=\"50\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='workType' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <!-- <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"claimantEmployedWithEmpr\">Were you employed while a spouse of a US military member stationed at\r\n a foreign military base?</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"yesNoNaOptions\" [formControl]=\"claimantEmployedWithEmpr\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='claimantEmployedWithEmpr' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label for=\"performedService\">{{\"induction.add.employment.fed.civilian.work\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"performedService\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"performedService\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='performedService' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"jobTileOrPosition\">{{\"induction.confirm.employment.jobtitle\"|translate}}</label>\r\n <input id=\"jobTileOrPosition\" type=\"input\" pInputText [formControl]=\"jobTileOrPosition\" maxlength=\"100\" />\r\n <!-- <p-autoComplete [formControl]=\"jobTileOrPosition\" [suggestions]=\"jobTileOrPositionOptions\" \r\n (completeMethod)=\"filterJobTileOrPosition($event)\" field=\"jobTitle\" (onClear)=\"onClearAction($event)\" \r\n [dropdown]=\"false\" placeholder=\"Start... typing job title\" minLength=3 forceSelection=\"true\">\r\n <ng-template let-value pTemplate=\"item\">\r\n <div>\r\n <div>{{value.jobTitle}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete> -->\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='jobTileOrPosition' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='REG' && isBasePeriodEmployer && workFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px; padding-left: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"payRate\">{{\"induction.confirm.employment.payrate\"|translate}}</label>\r\n <p-inputNumber inputId=\"payRate\" [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\" [max]=\"999999.99\" maxlength=\"12\"\r\n locale=\"en-US\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px; padding-left: 0px;\">\r\n <div class=\"field\">\r\n <label id=\"payRateFrequency-label\" for=\"payRateFrequency\">{{\"induction.confirm.employment.per\"|translate}}</label>\r\n <p-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRateFrequency' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"employerTelephoneNumber\">{{\"induction.confirm.employment.employer.phone\"|translate}}</label>\r\n\r\n <p-inputMask mask=\"999-999-9999\" inputId=\"employerTelephoneNumber\" [formControl]=\"employerTelephoneNumber\"\r\n placeholder=\"999-999-9999\"></p-inputMask>\r\n\r\n\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='employerTelephoneNumber' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value=='REG' || employerType.value==='FED'\">\r\n <label id=\"reasonSeparation-label\" for=\"reasonSeparation\" *ngIf=\"employerType.value==='REG'\">{{\"induction.confirm.employment.reason.separation\"|translate}}</label>\r\n <label id=\"reasonSeparation-label\" for=\"reasonSeparation\" *ngIf=\"employerType.value==='FED'\">{{\"induction.add.employment.fed.reason.separation\"|translate}}</label>\r\n <p-dropdown [options]=\"employmentStatusOptionsAll\" [formControl]=\"reasonSeparation\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"reasonSeparation\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='reasonSeparation' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <!-- add for quit and discharge -->\r\n <div class=\"field\" *ngIf=\"reasonSeparation.value?.value === 'DCFI' \r\n && employerType.value!='MIL'\">\r\n <label id=\"dischargeDetail-label\" for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label>\r\n <p-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"dischargeDetail\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"dischargeDetail\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='dischargeDetail' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"reasonSeparation.value?.value === 'VOLQ' \r\n && employerType.value!='MIL'\">\r\n <label id=\"volQuitDetails-label\" for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label>\r\n <p-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"volQuitDetails\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"volQuitDetails\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='volQuitDetails' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\r\n <label for=\"milPensionFlag\">{{\"induction.add.employment.mil.pension\"|translate}}\r\n <br> {{\"induction.add.employment.mil.pension.disclaimer\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"milPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"milPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='milPensionFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\"\r\n *ngIf=\"employerType.value==='MIL' && this.milPensionFlag.value === 'Y' && this.currentState != 'ME'\">\r\n <label for=\"milPensionRecvDate\">{{\"induction.add.employment.mil.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"milPensionRecvDate\" [formControl]=\"milPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='milPensionRecvDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='MIL' \">\r\n <label for=\"dd214Flag\">{{\"induction.add.employment.mil.dd214\"|translate}}\r\n </label><br>\r\n <div style=\"inline-size: min-content; display: inline-flex;\">\r\n <p-selectButton inputId=\"dd214Flag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"dd214Flag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info [overlayText]=\"dd214Info\"></app-overlay-info>\r\n </div>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='dd214Flag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"isBasePeriodEmployer\" class=\"ion-hide-sm-down\">\r\n <ion-col>\r\n <div class=\"field\"></div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='Y'\">\r\n <ion-col style=\"border-style: solid;\r\n border-width: 1px;\">\r\n <div [innerHTML]=\"paraOne | translate\">\r\n </div>\r\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraTwo | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraThree | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFour | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraFive | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(paraSix| translate)\" style=\"padding-left: 15px;\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"employerType.value==='MIL' && dd214Flag.value==='N'\">\r\n <ion-col style=\"border-style: solid;\r\n border-width: 1px;\">\r\n <div [innerHTML]=\"noParaOne | translate\">\r\n </div>\r\n <!-- <app-file-uploader [formControl]=\"dd214File\" [uploadedFileForEdit]=\"dd214File.value\"></app-file-uploader> -->\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaTwo | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaThree | translate)\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFour | translate)\"\r\n style=\"padding-left: 15px;\">\r\n </div>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(noParaFive | translate)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer && osaBpEmployerFlag.value ==='1'\"> <!--Old code-->\r\n <ion-col style=\"padding-top: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">\r\n {{\"induction.add.employment.total.wages.earned\"|translate}}\r\n </label>\r\n <p-inputNumber inputId=\"grossWages\" [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"employerType.value==='REG' && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding-right:5px; padding-left: 0px; padding-top: 0px;\" *ngIf=\"!isBasePeriodEmployer\">\r\n <div class=\"field\">\r\n <label for=\"payRate\">{{\"induction.add.employment.payrate\"|translate}}</label>\r\n <p-inputNumber inputId=\"payRate\" [formControl]=\"payRate\" mode=\"currency\" currency=\"USD\"\r\n [max]=\"999999.99\" maxlength=\"12\" locale=\"en-US\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px;padding-top: 0px;\" *ngIf=\"!isBasePeriodEmployer\">\r\n <div class=\"field\">\r\n <label id=\"payRateFrequency-label\" for=\"payRateFrequency\">{{\"induction.add.employment.per\"|translate}}</label>\r\n <p-dropdown [options]=\"payRateOptions\" [formControl]=\"payRateFrequency\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" inputId=\"payRateFrequency\"></p-dropdown>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='payRateFrequency' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <!-- <ion-col *ngIf=\"displayVerificationOfWages.value\" style=\"padding-top: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">Total Wages Earned</label>\r\n <p-inputNumber [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col> -->\r\n <!--<ion-col *ngIf=\"displayVerificationOfWages.value style=\"padding-top: 0px;\"> Old Code-->\r\n <ion-col *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer\" style=\"padding-top: 0px;\"> <!--New condition was added-->\r\n <div class=\"field\">\r\n <label for=\"grossWages\" style=\"inline-size: max-content;\">{{\"induction.add.employment.total.wages.earned\"|translate}}</label>\r\n <p-inputNumber inputId=\"grossWages\" [formControl]=\"grossWages\" mode=\"currency\" currency=\"USD\" maxlength=\"12\" [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='grossWages' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col> \r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' \">\r\n <label for=\"fedPensionFlag\">{{\"induction.add.employment.fed.pension\"|translate}}\r\n <br> {{\"induction.add.employment.fed.pension.disclaimer\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content; display:flex\">\r\n <p-selectButton inputId=\"fedPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"fedPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.fed.pension.info'| translate}}\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedPensionFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\"\r\n *ngIf=\"employerType.value==='FED' && this.fedPensionFlag.value === 'Y' && this.currentState != 'ME'\">\r\n <label for=\"fedPensionRecvDate\">{{\"induction.add.employment.fed.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"fedPensionRecvDate\" [formControl]=\"fedPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fedPensionRecvDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' && this.currentState === 'ME' \">\r\n <label for=\"sevPayFlag\">{{\"induction.add.employment.fed.severance\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"sevPayFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"sevPayFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"weeklyAmount\">{{\"induction.add.employment.fed.severance.weekly.amt\"|translate}}</label>\r\n <p-inputNumber inputId=\"weeklyAmount\" [formControl]=\"weeklyAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='weeklyAmount' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"numberOfWeeks\">{{\"induction.add.employment.fed.severance.weeks\"|translate}}</label>\r\n <p-inputNumber inputId=\"numberOfWeeks\" [useGrouping]=\"false\" [formControl]=\"numberOfWeeks\" maxlength=\"4\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='numberOfWeeks' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col>\r\n <div class=\"field\">\r\n <label for=\"sevPayAmount\">{{\"induction.add.employment.fed.severance.entitlement\"|translate}}</label>\r\n <p-inputNumber inputId=\"sevPayAmount\" [formControl]=\"sevPayAmount\" mode=\"currency\" currency=\"USD\" maxlength=\"12\"\r\n [max]=\"999999.99\" locale=\"en-US\">\r\n </p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayAmount' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"employerType.value==='FED' && sevPayFlag.value==='Y'\">\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"sevPayStartDate\">{{\"induction.add.employment.fed.severance.start.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayStartDate\" (onBlur)=\"validate($event)\"\r\n (onSelect)=\"validate($event)\" [formControl]=\"sevPayStartDate\" [yearNavigator]=\"true\"\r\n yearRange=\"1901:2050\" appendTo=\"body\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\"\r\n dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayStartDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n\r\n <ion-col style=\"padding-right:5px;\">\r\n <div class=\"field\">\r\n <label for=\"sevPayEndDate\">{{\"induction.add.employment.fed.severance.end.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayEndDate\" [formControl]=\"sevPayEndDate\"\r\n [yearNavigator]=\"true\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\" placeholder=\"mm/dd/yyyy\"\r\n appendTo=\"body\" [minDate]=\"minDate\" dataType=\"string\" [showOnFocus]=\"false\"\r\n (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayEndDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col>\r\n <div class=\"field\">\r\n <label\r\n for=\"sevPayPaymentStartDate\">{{\"induction.add.employment.fed.severance.pay.date\"|translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"sevPayPaymentStartDate\" [formControl]=\"sevPayPaymentStartDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='sevPayPaymentStartDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG' && workFlag.value==='Y'\">\r\n <label for=\"pensionFlag\">{{\"induction.confirm.employment.pension\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"pensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"pensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='pensionFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> \r\n \r\n <div class=\"field\" *ngIf=\"isBasePeriodEmployer && workFlag.value==='Y' && pensionFlag.value==='Y'\r\n && employerType.value==='REG' \"> <!-- this is questionable because above dependent question does not have isBasePeriodEmployer -->\r\n <label for=\"pensionRecvDate\">{{\"induction.confirm.employment.pension.date\"|translate}}</label>\r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"pensionRecvDate\" [formControl]=\"pensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='pensionRecvDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\">\r\n <label for=\"regPensionFlag\">{{\"induction.add.employment.reg.pension\"|translate}} <br />\r\n {{\"induction.add.employment.reg.pension.disclaimer\"|translate}}</label>\r\n <div style=\"inline-size: min-content; display:flex\">\r\n <p-selectButton inputId=\"regPensionFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"regPensionFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.reg.pension.info'| translate}}\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='regPensionFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"!isBasePeriodEmployer && employerType.value==='REG'\r\n && regPensionFlag.value==='Y'\">\r\n <label for=\"regPensionRecvDate\">{{\"induction.add.employment.reg.pension.date\"|translate}}</label>\r\n \r\n <div>\r\n <p-calendar [showIcon]=\"true\" inputId=\"regPensionRecvDate\" [formControl]=\"regPensionRecvDate\"\r\n [yearNavigator]=\"true\" appendTo=\"body\" yearRange=\"1901:2050\" dateFormat=\"mm/dd/yy\"\r\n placeholder=\"mm/dd/yyyy\" dataType=\"string\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\">\r\n </p-calendar>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='regPensionRecvDate' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"isClmtPaidWhileLow\">{{\"induction.confirm.employment.employer.pay.return.to.work\"|translate}}</label>\r\n <div style=\"inline-size: min-content; display:flex;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"isClmtPaidWhileLow\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-overlay-info overlayText=\"{{'induction.add.employment.reg.employerPayReturnToWorkInfo'| translate}}\" \r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='isClmtPaidWhileLow' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG' && currentState ==='ME'\">\r\n <label for=\"hasShortTermDisability\">{{\"induction.confirm.employment.shorttermdisability\"|translate}} {{bpStartDateToDisplay | date:'MMMM d, yyyy'}} ?</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"hasShortTermDisability\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hasShortTermDisability' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"((isBasePeriodEmployer && workFlag.value==='Y') || !isBasePeriodEmployer)&& employerType.value==='REG' && currentState==='ME'\">\r\n <label for=\"hasRecvRemuneration\">{{\"induction.confirm.employment.remuneration.pay\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"hasRecvRemuneration\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hasRecvRemuneration' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\" *ngIf=\"employerType.value==='REG' && currentState==='ME' && hasRecvRemuneration.value==='Y' && osaBpEmployerFlag.value==='0'\">\r\n <label for=\"remunerationTypes\">{{\"induction.confirm.employment.remuneration.types\"|translate}}</label>\r\n <p-checkbox [name]=\"'remunerationtypes-group'\" [value]=\"choice.value\" \r\n [label]=\"choice.text\" *ngFor=\"let choice of remunerationTypeOptions\" [formControl]=\"remunerationTypes\"\r\n styleClass=\"app-p-checkbox\"></p-checkbox>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='remunerationTypes' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div> -->\r\n\r\n <!-- <div class=\"field\"\r\n *ngIf=\"employerType.value==='REG' && currentState ==='ME'\">\r\n <label for=\"vacation\">{{\"induction.confirm.employment.vacation.break\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"vacation\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='vacation' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div> -->\r\n\r\n <!--<div *ngIf=\"displayVerificationOfWages.value && employerType.value==='REG'\"> Stephen Code-->\r\n <div *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <div class=\"field\">\r\n <h4>{{\"induction.add.employment.reg.verification.wages.header\"|translate}}</h4>\r\n </div>\r\n <div class=\"field\">\r\n <label>{{\"induction.add.employment.reg.verification.wages.subheader\"|translate}}</label>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"paymentType\">{{\"induction.add.employment.reg.verification.wages.paymode\"|translate}}</label>\r\n <p-selectButton inputId=\"paymentType\" unselectable=\"true\" [options]=\"payMethodOptions\" [formControl]=\"paymentType\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='paymentType' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"docsReceived\">{{\"induction.add.employment.reg.verification.wages.docs\"|translate}}</label>\r\n <p-selectButton inputId=\"docsReceived\" unselectable=\"true\" [options]=\"wageProofOptions\" [formControl]=\"docsReceived\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='docsReceived' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"otherSSNFlag\">{{\"induction.add.employment.reg.verification.wages.other.ssn.flag\"|translate}}\r\n </label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"otherSSNFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"otherSSNFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherSSNFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"this.otherSSNFlag.value === 'Y'\">\r\n <label for=\"otherSSN\">{{\"induction.add.employment.reg.verification.wages.other.ssn\"|translate}}</label>\r\n <p-inputMask inputId=\"otherSSN\" mask=\"999-99-9999\" [formControl]=\"otherSSN\" placeholder=\"999-99-9999\">\r\n </p-inputMask>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherSSN' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n\r\n <!-- <div class=\"field\">\r\n <label for=\"hiredBy\">Manager's Name & Title</label>\r\n <input id=\"hiredBy\" type=\"input\" pInputText [formControl]=\"hiredBy\" maxlength=\"40\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='hiredBy' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error> \r\n </div> -->\r\n </div>\r\n\r\n <!-- <ion-row *ngIf=\"employerType.value==='FED'\"> Stephen Code -->\r\n\r\n <ion-row *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\"> \r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label\r\n for=\"otherNameFlag\">{{\"induction.add.employment.reg.verification.wages.other.name.flag\"|translate}}</label>\r\n <div style=\"inline-size: min-content;\">\r\n <p-selectButton inputId=\"otherNameFlag\" unselectable=\"true\" [options]=\"radioOptions\" [formControl]=\"otherNameFlag\"\r\n optionLabel=\"text\" optionValue=\"value\"></p-selectButton>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherNameFlag' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"this.otherNameFlag.value === 'Y'\">\r\n \r\n <label\r\n for=\"otherName\">{{\"induction.add.employment.reg.verification.wages.other.name\"|translate}}</label>\r\n <input id=\"otherName\" type=\"input\" pInputText [formControl]=\"otherName\" maxlength=\"30\" />\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='otherName' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <!-- <ion-row *ngIf=\"workState.value && workState.value.value==='KS' && displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"fein\">FEIN</label>\r\n <p-inputNumber [id]=\"fein\" [useGrouping]=\"false\" [formControl]=\"fein\" maxlength=\"9\"></p-inputNumber>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='fein' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"doingBusinessAs\">Doing Business As/Trade Name</label>\r\n <input id=\"doingBusinessAs\" type=\"input\" pInputText [formControl]=\"doingBusinessAs\" maxlength=\"100\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='doingBusinessAs' [errDef]=\"{ \r\n required: required,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row> -->\r\n\r\n <ion-row *ngIf=\"employerType.value==='REG' && displayVerificationOfWages?.value \r\n && !isBasePeriodEmployer\">\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"businessNature\">{{\"induction.add.employment.reg.verification.nature\"|translate}}</label>\r\n <input id=\"businessNature\" type=\"input\" pInputText [formControl]=\"businessNature\" maxlength=\"250\"/>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='businessNature' [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <!-- <div *ngIf=\"employerType.value==='FED' || (displayVerificationOfWages?.value && employerType.value==='REG' && prevWorkedState?.value === 'KS')\">\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\"> Stephen Code -->\r\n <!-- <div *ngIf=\"employerType.value==='FED' && isNewClaim\">\r\n <!--<label>{{\"induction.add.employment.fed.verification.wages\"|translate}}</label>\r\n </div>\r\n <div class=\"field\" *ngIf=\"displayVerificationOfWages.value && !isBasePeriodEmployer && employerType.value==='REG'\">\r\n \r\n </div> -->\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED'\">\r\n <label>{{\"induction.add.employment.fed.verification.wages.statement\"|translate}}</label>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='FED' || (employerType.value==='REG' && displayVerificationOfWages?.value)\">\r\n <label>{{\"induction.add.employment.reg.verification.wages\"|translate}}</label>\r\n <table rules=\"rows\">\r\n <tr>\r\n <th style=\"text-align: center;\">{{\"induction.add.employment.reg.verification.wages.col1\"|translate}}\r\n </th>\r\n <th>{{\"induction.add.employment.reg.verification.wages.col2\"|translate}}</th>\r\n </tr>\r\n <ng-container formArrayName=\"wageAmountArray\">\r\n <ng-container *ngFor=\"let wageAmountForm of wageAmountArray.controls; let i = index\"\r\n [formGroupName]=\"i\">\r\n <tr *ngIf=\"((employerType.value==='FED') || (employerType.value==='REG' && wageAmountForm.value.displayForAll===true) )\">\r\n <td>\r\n <label [for]=\"'wageAmountArray-' + i\" >{{wageAmountForm.value.qtrYearDisplayString}}</label>\r\n </td>\r\n <td>\r\n <p-inputNumber [inputId]=\"'wageAmountArray-' + i\" ariaLabel=\"wageAmount\" formControlName=\"wageAmount\" mode=\"currency\" [min]=\"0.00\" [max]=\"999999.99\" maxlength=\"12\" currency=\"USD\" locale=\"en-US\">\r\n </p-inputNumber>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <tr *ngIf=\"wageAmountArray.errors?.requireCheckboxToBeChecked\">\r\n <td colspan=\"2\">\r\n <app-error [class]=\"'app-grid'\" [field]='wageAmountArray' [form]=\"isFormSubmitted\" [errDef]=\"{\r\n requireCheckboxToBeChecked: 'at least one amount must be greater than zero'\r\n }\"></app-error>\r\n </td>\r\n </tr> \r\n </ng-container>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"field\" *ngIf=\"employerType.value==='REG'\">\r\n <label for=\"severance\">{{\"induction.add.employment.reg.severance\"|translate}}</label>\r\n <div>\r\n <p-selectButton inputId=\"severance\" [options]=\"radioOptions\" [formControl]=\"severance\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <app-error [form]=\"isFormSubmitted\" [class]=\"'app-grid'\" [field]='severance'\r\n [errDef]=\"{required: required}\"></app-error>\r\n </div>\r\n \r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button [autofocus]=\"true\" tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" fill=\"outline\" (click)=\"onModelCancel(false)\" (keyup.space)=\"onModelCancel(false)\" (keyup.enter)=\"onModelCancel(false)\"\r\n type=\"reset\">{{\"induction.employment.button.cancel\"|translate}} </ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" (click)=\"save()\" type=\"submit\" *ngIf=\"isBasePeriodEmployer\" (keyup.space)=\"save()\" (keyup.enter)=\"save()\">\r\n {{\"induction.employment.button.save\"|translate}} </ion-button>\r\n <ion-button tabindex=\"0\" shape=\"round\" style=\"width: 80px;\" (click)=\"add()\" type=\"submit\" *ngIf=\"!isBasePeriodEmployer\" (keyup.space)=\"add()\" (keyup.enter)=\"add()\"\r\n [attr.aria-label]=\"'Add an employer' | translate\"> {{\"induction.employment.button.add\"|translate}}\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</p-dialog>", styles: [".p-fluid .p-buttonset{display:flex}.p-selectbutton .p-button{width:50px!important}.disabled{cursor:not-allowed;pointer-events:none}.disabled ::ng-deep *{color:gray;border-color:gray}table,th,td{border-collapse:collapse;padding:5px}table th{background-color:#f1f1f1}table{width:100%}.app-grid{color:red}\n"] }]
2628
+ }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.ValidationService }, { type: i3.UtilService }, { type: i4.FilterService }, { type: i5.LoggerService }, { type: i6.DomSanitizer }, { type: i7.ClaimService }, { type: i8.LoginService }, { type: i0.ElementRef }, { type: i9.ActivatedRoute }, { type: i10.TranslateService }], { address1: [{
2629
+ type: ViewChild,
2630
+ args: ['address1']
2631
+ }], address2: [{
2632
+ type: ViewChild,
2633
+ args: ['address2']
2634
+ }], modelCancel: [{
2635
+ type: Output
2636
+ }], success: [{
2637
+ type: Output
2638
+ }], recordIndexToEdit: [{
2639
+ type: Input
2640
+ }], isBasePeriodEmployer: [{
2641
+ type: Input
2642
+ }], noEditMode: [{
2643
+ type: Input
2644
+ }], isNewClaim: [{
2645
+ type: Input
2646
+ }], dob: [{
2647
+ type: Input
2648
+ }], basePeriodIndex: [{
2649
+ type: Output
2650
+ }], employerFormElement: [{
2651
+ type: ViewChild,
2652
+ args: ['employerForm']
2653
+ }] }); })();
2654
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddEmployerComponent, { className: "AddEmployerComponent", filePath: "lib\\components\\add-employer\\add-employer.component.ts", lineNumber: 27 }); })();
2655
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWVtcGxveWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGQtZW1wbG95ZXIvYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBMEQsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBTXBFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU9oRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNObEMsMkJBQStCO0lBQzdCLFlBQThEOztJQUFBLGlCQUFNOzs7SUFBcEUsZUFBOEQ7SUFBOUQsZ0hBQThEOzs7SUFJaEUsMkJBQW1CO0lBQ2pCLHFCQUFJO0lBQ0osWUFDRjs7SUFBQSxpQkFBTTs7SUFESixlQUNGO0lBREUsb0dBQ0Y7OztJQU1RLDBCQUFnQyxRQUFBO0lBQzNCLFlBQThCO0lBQUEsaUJBQUksRUFBQTs7O0lBQWxDLGVBQThCO0lBQTlCLGtEQUE4Qjs7O0lBSW5DLDBCQUFnQztJQUM5QixZQUNGOztJQUFBLGlCQUFLOzs7SUFESCxlQUNGO0lBREUseUVBQ0Y7OztJQVJGLDBCQUFJO0lBQ0YseUdBRUs7SUFDUCxpQkFBSztJQUNMLDBCQUFJO0lBQ0YseUdBRUs7SUFDUCxpQkFBSzs7O0lBUmlCLGVBQVU7SUFBVixxQ0FBVTtJQUtWLGVBQVU7SUFBVixxQ0FBVTs7O0lBVnRDLCtCQUFpQyxrQkFBQTtJQUc3Qiw2R0FXYztJQUNoQixpQkFBVSxFQUFBOzs7SUFkRCxlQUErQjtJQUEvQixxREFBK0IsMENBQUE7OztJQVo1QywrQkFBZ0Q7SUFDOUMsWUFDQTtJQUFBLHNGQUNzRTtJQUN0RSxxQkFBSTtJQUNKLGdDQUErQjtJQUFDLFlBQ2hDO0lBQUEsaUJBQU87SUFDUCxzRkFHTSx5RUFBQTtJQWtCUixpQkFBTTs7O0lBM0JKLGVBQ0E7SUFEQSxvREFDQTtJQUFNLGVBQXVCO0lBQXZCLCtDQUF1QjtJQUdHLGVBQ2hDO0lBRGdDLDZEQUNoQztJQUNNLGVBQVc7SUFBWCxtQ0FBVztJQUlHLGVBQVc7SUFBWCxtQ0FBVzs7O0lBa0JoQywrQkFBa0QsWUFBQTtJQUMxQyxZQUF3RDs7SUFBQSxxQkFBTSxTQUFBO0lBQ25FLFlBQThEOztJQUFBLGlCQUFRLEVBQUE7O0lBRGpFLGVBQXdEO0lBQXhELHNGQUF3RDtJQUM3RCxlQUE4RDtJQUE5RCxzR0FBOEQ7Ozs7SUFFbEUsK0JBQWlELGdCQUFBO0lBQ3JCLFlBQXNEOztJQUFBLGlCQUFRO0lBQ3hGLCtCQUFtQztJQUNqQyxxQ0FDOEUsbUJBQUE7SUFJaEYsaUJBQU0sRUFBQTs7O0lBUG9CLGVBQXNEO0lBQXRELHFGQUFzRDtJQUcvQyxlQUE2QjtJQUE3Qiw2Q0FBNkI7SUFEckIsb0RBQStCLG9DQUFBO0lBRWxDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw2Q0FBd0IsOEJBQUEsd0RBQUE7Ozs7SUFLdkMsK0JBQWlGLGdCQUFBO0lBQ2xELFlBQW1EOztJQUFBLGlCQUFRO0lBQ3hGLCtCQUF1Qyx5QkFBQTtJQUduQyw2TUFBaUIsZUFBQSw2Q0FBcUMsQ0FBQSxJQUFDO0lBQUMsaUJBQWlCO0lBQzNFLCtCQUVhO0lBQ2YsaUJBQU0sRUFBQTs7O0lBUnVCLGVBQW1EO0lBQW5ELGtGQUFtRDtJQUd4RCxlQUE2QjtJQUE3Qiw2Q0FBNkI7SUFEVCx1REFBa0MsdUNBQUE7SUFHeEMsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDZDQUF3QixpQ0FBQSx3REFBQTs7OztJQU9yQywyQkFBMEQsOEJBQUE7SUFDK0IsNE1BQVcsZUFBQSwyQkFBbUIsQ0FBQSxJQUFDLCtMQUN6RyxlQUFBLDZCQUFxQixDQUFBLElBRG9GO0lBQ2xGLGlCQUFzQjtJQUMxRCwrQkFFZTtJQUNqQixpQkFBTTs7O0lBTHdDLGVBQTRCO0lBQTVCLGtEQUE0QjtJQUVwQyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLCtCQUFBLHdEQUFBOzs7SUFLbkMsK0JBQW1CO0lBQ2pCLDRCQUFnRyxtQkFBQTtJQUlsRyxpQkFBTTs7O0lBSjZDLGVBQStCO0lBQS9CLHFEQUErQjtJQUM1QyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLGtDQUFBLHdEQUFBOzs7SUFaekMsK0JBQWlGLGdCQUFBO0lBQ3JELFlBQXNEOztJQUFBLGlCQUFRO0lBQ3hGLHVGQU1NLDJIQUFBO0lBU1IsaUJBQU07Ozs7SUFoQnNCLGVBQXNEO0lBQXRELG9GQUFzRDtJQUMxRSxlQUFvQztJQUFwQyw0REFBb0Msa0JBQUE7Ozs7SUFnQjVDLCtCQUF5RixnQkFBQTtJQUMxRCxZQUEwRDs7SUFBQSxpQkFBUTtJQUMvRiwrQ0FDdUM7SUFENEIsc01BQVcsZUFBQSw4QkFBc0IsQ0FBQSxJQUFDLHlMQUN4RixlQUFBLGdDQUF3QixDQUFBLElBRGdFO0lBQzlELGlCQUFzQjtJQUM3RCwrQkFFZTtJQUNqQixpQkFBTTs7O0lBTnlCLGVBQTBEO0lBQTFELHdGQUEwRDtJQUNsRSxlQUErQjtJQUEvQixvREFBK0I7SUFFaEIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDZDQUF3QixpQ0FBQSx1REFBQTs7O0lBSXJDLCtCQUFzRCxnQkFBQTtJQUNBLFlBQTJEOztJQUFBLGlCQUFRO0lBQ3ZILGlDQUNrRixtQkFBQTtJQUlwRixpQkFBTTs7O0lBTmdELGVBQTJEO0lBQTNELHlGQUEyRDtJQUNuRyxlQUFrQztJQUFsQyx1REFBa0MscUNBQUEsMkJBQUE7SUFFVixlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsNkNBQXdCLCtCQUFBLHdEQUFBOzs7O0lBSXJDLCtCQUFzRCxnQkFBQTtJQUVsRCxZQUNGOztJQUFBLGlCQUFRO0lBQ1IsaUNBRWEsb0JBQUE7SUFLZixpQkFBTTs7O0lBVEYsZUFDRjtJQURFLG1HQUNGO0lBQ1ksZUFBd0I7SUFBeEIsNkNBQXdCLGlDQUFBO0lBR1IsZUFBd0I7SUFBeEIsNkNBQXdCLDBCQUFBLDhFQUFBOzs7O0lBS3RELCtCQUE0QyxrQkFBQSxjQUFBLGdCQUFBO0lBR1osWUFBc0Q7O0lBQUEsaUJBQVE7SUFDeEYsc0NBSStCO0lBRmtDLGdNQUFVLGVBQUEsd0JBQWdCLENBQUEsSUFBQyx1TEFDOUUsZUFBQSx3QkFBZ0IsQ0FBQSxJQUQ4RCxxTEFDVCxlQUFBLHlCQUFpQixDQUFBLElBRFI7SUFHNUYsaUJBQWE7SUFDYiwrQkFFZTtJQUNqQixpQkFBTSxFQUFBO0lBRVIsOEJBQTRCO0lBQzVCLG1DQUErQixlQUFBLGlCQUFBO0lBRUgsYUFBb0Q7O0lBQUEsaUJBQVE7SUFDcEYsdUNBR3NEO0lBQTlCLG1NQUFXLGVBQUEseUJBQWlCLENBQUEsSUFBQztJQUFDLGlCQUFhO0lBQ25FLGdDQUVlO0lBQ2pCLGlCQUFNLEVBQUEsRUFBQTs7O0lBdkJzQixlQUFzRDtJQUF0RCxxRkFBc0Q7SUFDdkMsZUFBaUI7SUFBakIsK0JBQWlCLHFDQUFBLDZCQUFBLHVCQUFBLHNCQUFBLHFDQUFBO0lBTXRCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsK0JBQUEseURBQUE7SUFRWCxlQUFvRDtJQUFwRCxvRkFBb0Q7SUFDckMsZUFBaUI7SUFBakIsK0JBQWlCLDZCQUFBLDRCQUFBLHVCQUFBLG1DQUFBLHNCQUFBO0lBSXBCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsNkJBQUEseURBQUE7OztJQU16QywrQkFBMkQsa0JBQUEsY0FBQSxnQkFBQTtJQUdoQyxZQUFxRDs7SUFBQSxpQkFBUTtJQUNsRiw0QkFBc0UsbUJBQUE7SUFJeEUsaUJBQU0sRUFBQTtJQUVSLDhCQUE0QjtJQUM1QixtQ0FBK0IsZUFBQSxpQkFBQTtJQUVLLGFBQTREOztJQUFBLGlCQUFRO0lBQ3BHLDZCQUE0RixvQkFBQTtJQUk5RixpQkFBTSxFQUFBLEVBQUE7OztJQWZpQixlQUFxRDtJQUFyRCxvRkFBcUQ7SUFDOUIsZUFBdUI7SUFBdkIsNkNBQXVCO0lBQy9CLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsMEJBQUEseURBQUE7SUFRSCxlQUE0RDtJQUE1RCw0RkFBNEQ7SUFDckMsZUFBa0M7SUFBbEMsd0RBQWtDO0lBQ3JELGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IscUNBQUEseURBQUE7OztJQU16QywrQkFBcUUsa0JBQUE7SUFFakUsc0NBQ2M7SUFDaEIsaUJBQVUsRUFBQTs7O0lBRmUsZUFBdUI7SUFBdkIsNkNBQXVCLHlCQUFBLG1CQUFBOzs7SUFTaEQscUNBQXdHO0lBQ3RHLFlBQ0Y7O0lBQUEsaUJBQVk7O0lBRFYsZUFDRjtJQURFLDZFQUNGOzs7SUFQRiwrQkFBc0Q7SUFDcEQsc0NBQTBILG1CQUFBO0lBSTFILG9HQUVZO0lBQ2QsaUJBQU07OztJQVBtQyxlQUF1QjtJQUF2Qiw2Q0FBdUIseUJBQUEsbUJBQUE7SUFDMUIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QiwwQkFBQSx3REFBQTtJQUdOLGVBQXlFO0lBQXpFLG1MQUF5RTs7OztJQUl4RywrQkFBcUUsa0JBQUEsY0FBQSxnQkFBQTtJQUd6QyxZQUE0RDs7SUFBQSxpQkFBUTtJQUMxRiw0QkFBdUYsbUJBQUE7SUFJekYsaUJBQU0sRUFBQTtJQUVSLDhCQUE0QjtJQUM1QixtQ0FBK0IsZUFBQSxpQkFBQTtJQUVpQixhQUE0RDs7SUFBQSxpQkFBUTtJQUNoSCx1Q0FFZ0U7SUFBMUMscU1BQVksZUFBQSxvQ0FBNEIsQ0FBQSxJQUFDO0lBQUMsaUJBQWE7SUFDN0UsZ0NBRWU7SUFDakIsaUJBQU0sRUFBQSxFQUFBOzs7SUFqQmtCLGVBQTREO0lBQTVELG9HQUE0RDtJQUNyQyxlQUF3QjtJQUF4Qiw4Q0FBd0I7SUFDakMsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QiwyQkFBQSx5REFBQTtJQVFTLGVBQTREO0lBQTVELDRGQUE0RDtJQUM1RixlQUF5RTtJQUF6RSxxSEFBeUUsa0NBQUEsMkJBQUE7SUFHakQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3Qiw0QkFBQSx5REFBQTs7O0lBTXpDLCtCQUFzRCxnQkFBQTtJQUNFLFlBQWtFOztJQUFBLGlCQUFRO0lBQ2hJLGlDQUNtRixtQkFBQTtJQUlyRixpQkFBTTs7O0lBTmtELGVBQWtFO0lBQWxFLGdHQUFrRTtJQUM1RyxlQUE4QjtJQUE5QixvREFBOEIsdUNBQUEsMkJBQUE7SUFFTixlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLGlDQUFBLHlEQUFBOzs7SUFlbkMsbUNBQThELGNBQUEsZ0JBQUE7SUFFUixZQUE0RDs7SUFBQSxpQkFBUTtJQUN0SCxpQ0FDaUUsbUJBQUE7SUFJbkUsaUJBQU0sRUFBQTs7O0lBTjhDLGVBQTREO0lBQTVELDBGQUE0RDtJQUNsRyxlQUF5QjtJQUF6QiwrQ0FBeUIscUNBQUEsMkJBQUE7SUFFRCxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLCtCQUFBLHlEQUFBOzs7SUFoQnpDLCtCQUE0QyxrQkFBQSxjQUFBLGdCQUFBO0lBR2IsWUFBMkQ7O0lBQUEsaUJBQVE7SUFDNUYsNEJBQTZGLG1CQUFBO0lBSS9GLGlCQUFNLEVBQUE7SUFFUiw4QkFBNEI7SUFDNUIscUdBU1U7SUFDWixpQkFBVTs7O0lBbEJxQixlQUEyRDtJQUEzRCx5RkFBMkQ7SUFDcEMsZUFBMkI7SUFBM0IsaURBQTJCO0lBQ3ZDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsOEJBQUEseURBQUE7SUFNUCxlQUE0QjtJQUE1QixxREFBNEI7Ozs7SUFXOUQsK0JBQTRDLGtCQUFBLGNBQUEsZ0JBQUE7SUFHWixZQUFzRDs7SUFBQSxpQkFBUTtJQUN4RixzQ0FJK0I7SUFGa0IsZ01BQVUsZUFBQSx3QkFBZ0IsQ0FBQSxJQUFDLHVMQUM5RCxlQUFBLHdCQUFnQixDQUFBLElBRDhDLHFMQUNPLGVBQUEseUJBQWlCLENBQUEsSUFEeEI7SUFHNUUsaUJBQWE7SUFDYiwrQkFFZTtJQUNqQixpQkFBTSxFQUFBO0lBRVIsOEJBQTRCO0lBQzVCLG1DQUErQixlQUFBLGlCQUFBO0lBRUgsYUFBb0Q7O0lBQUEsaUJBQVE7SUFDcEYsdUNBR3NEO0lBQTlCLG1NQUFXLGVBQUEseUJBQWlCLENBQUEsSUFBQztJQUFDLGlCQUFhO0lBQ25FLGdDQUVlO0lBQ2pCLGlCQUFNLEVBQUEsRUFBQTs7O0lBdkJzQixlQUFzRDtJQUF0RCxxRkFBc0Q7SUFDdkMsZUFBaUI7SUFBakIsK0JBQWlCLDZCQUFBLHFDQUFBLHVCQUFBLHNCQUFBLHFDQUFBO0lBTXRCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsK0JBQUEseURBQUE7SUFRWCxlQUFvRDtJQUFwRCxvRkFBb0Q7SUFDckMsZUFBaUI7SUFBakIsK0JBQWlCLDZCQUFBLDRCQUFBLHVCQUFBLG1DQUFBLHNCQUFBO0lBSXBCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsNkJBQUEseURBQUE7OztJQU96QywrQkFBc0QsZ0JBQUE7SUFDbEIsWUFBcUQ7O0lBQUEsaUJBQVE7SUFDL0YsNEJBQ29CLG1CQUFBO0lBYXRCLGlCQUFNOzs7SUFmOEIsZUFBcUQ7SUFBckQsbUZBQXFEO0lBQzlCLGVBQW9DO0lBQXBDLDBEQUFvQztJQVd6RCxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLHVDQUFBLHdEQUFBOzs7SUFJckMsK0JBQXNELGdCQUFBO0lBQzNCLFlBQXFEOztJQUFBLGlCQUFRO0lBQ3RGLCtCQUF1QztJQUNyQyxxQ0FDMEQ7SUFDNUQsaUJBQU07SUFDTiwrQkFFZTtJQUNqQixpQkFBTTs7O0lBUnFCLGVBQXFEO0lBQXJELDRGQUFxRDtJQUVsQixlQUF3QjtJQUF4Qiw4Q0FBd0Isb0NBQUE7SUFHaEQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3Qiw4QkFBQSx5REFBQTs7OztJQUlyQywrQkFBNEMsa0JBQUEsY0FBQSxnQkFBQTtJQUlmLFlBQXNEOztJQUFBLGlCQUFRO0lBQ3JGLHNDQUdzRztJQURyQyxnTUFBVSxlQUFBLHdCQUFnQixDQUFBLElBQUMsdUxBQzlFLGVBQUEsd0JBQWdCLENBQUEsSUFEOEQscUxBQ1QsZUFBQSx5QkFBaUIsQ0FBQSxJQURSO0lBRTVGLGlCQUFhO0lBQ2IsK0JBRWU7SUFDakIsaUJBQU0sRUFBQTtJQUVSLDhCQUE0QjtJQUM1QixtQ0FBK0IsZUFBQSxpQkFBQTtJQUVOLGFBQW9EOztJQUFBLGlCQUFRO0lBQ2pGLHVDQUk0QztJQUQxQyxpTUFBVSxlQUFBLG9DQUE0QixDQUFBLElBQUMsc0xBQWtDLGVBQUEseUJBQWlCLENBQUEsSUFBbkQseUxBQzNCLGVBQUEscUNBQTRCLENBQUEsSUFERDtJQUNHLGlCQUFhO0lBQ3pELGdDQUVlO0lBQ2pCLGlCQUFNLEVBQUEsRUFBQTs7O0lBdkJtQixlQUFzRDtJQUF0RCxxRkFBc0Q7SUFDdkMsZUFBaUI7SUFBakIsK0JBQWlCLDZCQUFBLGtDQUFBLHVCQUFBLHFDQUFBLHNCQUFBO0lBS25CLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsNEJBQUEseURBQUE7SUFRZCxlQUFvRDtJQUFwRCxvRkFBb0Q7SUFDckMsZUFBaUI7SUFBakIsK0JBQWlCLDRCQUFBLDZCQUFBLHVCQUFBLGdDQUFBLHNCQUFBO0lBS2pCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsMEJBQUEseURBQUE7OztJQU96QywrQkFBMEcsa0JBQUEsY0FBQSxnQkFBQTtJQWM5RSxZQUF3RDs7SUFBQSxpQkFBUTtJQUN0Riw0QkFBdUYsbUJBQUE7SUFJekYsaUJBQU0sRUFBQSxFQUFBOzs7SUFMa0IsZUFBd0Q7SUFBeEQsb0ZBQXdEO0lBQ2pDLGVBQXdCO0lBQXhCLDhDQUF3QjtJQUNqQyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLDJCQUFBLHdEQUFBOzs7SUFpQnpDLCtCQUFzRCxnQkFBQTtJQUN0QixZQUEwRDs7SUFBQSxpQkFBUTtJQUNoRywrQkFBdUM7SUFDckMscUNBQzBELG1CQUFBO0lBSTVELGlCQUFNLEVBQUE7OztJQVB3QixlQUEwRDtJQUExRCx3RkFBMEQ7SUFFdkIsZUFBd0I7SUFBeEIsOENBQXdCLHlDQUFBO0lBRW5ELGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsbUNBQUEseURBQUE7OztJQUt2QywrQkFBc0QsZ0JBQUE7SUFDckIsWUFBcUQ7O0lBQUEsaUJBQVE7SUFDNUYsNEJBQTBHLG1CQUFBO0lBYTVHLGlCQUFNOzs7SUFkMkIsZUFBcUQ7SUFBckQsbUZBQXFEO0lBQzlCLGVBQWlDO0lBQWpDLHVEQUFpQztJQVVuRCxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLG9DQUFBLHdEQUFBOzs7SUFJckMsK0JBQTRGLGtCQUFBLGNBQUEsZ0JBQUE7SUFHakUsWUFBb0Q7O0lBQUEsaUJBQVE7SUFDakYsb0NBQ2lDLG1CQUFBO0lBSW5DLGlCQUFNLEVBQUE7SUFFUixtQ0FBdUQsY0FBQSxpQkFBQTtJQUVPLGFBQWdEOztJQUFBLGlCQUFRO0lBQ2xILGtDQUNxRixvQkFBQTtJQUl2RixpQkFBTSxFQUFBLEVBQUE7OztJQWhCaUIsZUFBb0Q7SUFBcEQsbUZBQW9EO0lBQ3hDLGVBQXVCO0lBQXZCLDZDQUF1QixrQkFBQTtJQUVwQixlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLDBCQUFBLHlEQUFBO0lBT3VCLGVBQWdEO0lBQWhELGdGQUFnRDtJQUM5RixlQUEwQjtJQUExQixnREFBMEIseUNBQUEsMkJBQUE7SUFFRixlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLG1DQUFBLHlEQUFBOzs7SUFNekMsK0JBQXNELGdCQUFBO0lBQ2YsWUFBMkQ7O0lBQUEsaUJBQVE7SUFFeEcsa0NBQzJDLG1CQUFBO0lBTTdDLGlCQUFNOzs7SUFUaUMsZUFBMkQ7SUFBM0QseUZBQTJEO0lBRTdCLGVBQXVDO0lBQXZDLDZEQUF1QztJQUl0RSxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLDBDQUFBLHdEQUFBOzs7SUFLbkMsaUNBQTZGO0lBQUEsWUFBOEQ7O0lBQUEsaUJBQVE7O0lBQXRFLGVBQThEO0lBQTlELDRGQUE4RDs7O0lBQzNKLGlDQUE2RjtJQUFBLFlBQThEOztJQUFBLGlCQUFROztJQUF0RSxlQUE4RDtJQUE5RCw0RkFBOEQ7OztJQUY3SiwrQkFBbUY7SUFDakYsNEZBQW1LLCtFQUFBO0lBRW5LLGlDQUNxRixtQkFBQTtJQUl2RixpQkFBTTs7O0lBUHVELGVBQWdDO0lBQWhDLDJEQUFnQztJQUNoQyxlQUFnQztJQUFoQywyREFBZ0M7SUFDL0UsZUFBc0M7SUFBdEMsNERBQXNDLHlDQUFBLDJCQUFBO0lBRWQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QixtQ0FBQSx5REFBQTs7O0lBS3JDLCtCQUNrQyxnQkFBQTtJQUN3QixZQUF3RTs7SUFBQSxpQkFBUTtJQUN4SSxpQ0FDb0YsbUJBQUE7SUFJdEYsaUJBQU07OztJQU5vRCxlQUF3RTtJQUF4RSxzR0FBd0U7SUFDcEgsZUFBcUM7SUFBckMsMkRBQXFDLHdDQUFBLDJCQUFBO0lBRWIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QixrQ0FBQSx5REFBQTs7O0lBSXJDLCtCQUNnQyxnQkFBQTtJQUN3QixZQUFtRTs7SUFBQSxpQkFBUTtJQUNqSSxpQ0FDbUYsbUJBQUE7SUFJckYsaUJBQU07OztJQU5rRCxlQUFtRTtJQUFuRSxpR0FBbUU7SUFDN0csZUFBbUM7SUFBbkMseURBQW1DLHVDQUFBLDJCQUFBO0lBRVgsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QixpQ0FBQSx5REFBQTs7O0lBSXJDLCtCQUF1RCxnQkFBQTtJQUN6QixZQUMxQjs7SUFBQSxxQkFBSTtJQUFDLFlBQ1A7O0lBQUEsaUJBQVE7SUFDUiwrQkFBdUM7SUFDckMscUNBQzBELG1CQUFBO0lBSTVELGlCQUFNLEVBQUE7OztJQVRzQixlQUMxQjtJQUQwQiw0RkFDMUI7SUFBSyxlQUNQO0lBRE8seUdBQ1A7SUFFK0QsZUFBd0I7SUFBeEIsOENBQXdCLHVDQUFBO0lBRWpELGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsaUNBQUEseURBQUE7Ozs7SUFLdkMsK0JBQ3VHLGlCQUFBO0lBQ3JFLFlBQXlEOztJQUFBLGlCQUFRO0lBQ2pHLDJCQUFLLHNCQUFBO0lBR2dFLGdNQUFXLGVBQUEsMEJBQWlCLENBQUEsSUFBQztJQUNoRyxpQkFBYTtJQUNiLCtCQUVpQjtJQUNuQixpQkFBTSxFQUFBOzs7SUFUMEIsZUFBeUQ7SUFBekQsd0ZBQXlEO0lBRTNFLGVBQWlCO0lBQWpCLCtCQUFpQiwyQ0FBQSx1QkFBQSxzQkFBQTtJQUlPLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IscUNBQUEseURBQUE7OztJQUt2QywrQkFBdUQsaUJBQUE7SUFDOUIsWUFDdkI7O0lBQUEsaUJBQVE7SUFBQSxxQkFBSTtJQUNaLGdDQUE2RDtJQUMzRCxzQ0FDMEQsNEJBQUE7SUFFNUQsaUJBQU0sRUFBQTs7O0lBTmlCLGVBQ3ZCO0lBRHVCLDBGQUN2QjtJQUUwRCxlQUF3QjtJQUF4Qiw4Q0FBd0Isa0NBQUE7SUFFOUQsZUFBeUI7SUFBekIsK0NBQXlCOzs7SUFXL0Msb0NBQWdFLGNBQUE7SUFFNUQsMEJBQXlCO0lBQzNCLGlCQUFVLEVBQUE7OztJQUVaLG9DQUFnRSxjQUFBO0lBRTVELDBCQUF5QjtJQUMzQixpQkFBVSxFQUFBOzs7SUFFWixvQ0FBZ0UsY0FBQTtJQUU1RCwwQkFBeUI7SUFDM0IsaUJBQVUsRUFBQTs7O0lBRVosb0NBQStELGNBQUE7SUFFM0QsMEJBQXlCO0lBQzNCLGlCQUFVLEVBQUE7OztJQUVaLG9DQUErRCxjQUFBO0lBRTNELDBCQUF5QjtJQUMzQixpQkFBVSxFQUFBOzs7SUFFWiwrQkFBcUUsbUJBQUE7SUFHakUsMkJBQ007O0lBRU4sMkJBQ007O0lBQ04sMkJBQ007O0lBQ04sMkJBQ007O0lBQ04sNEJBQ007O0lBQ04sNEJBQ007O0lBQ1IsaUJBQVUsRUFBQTs7O0lBYkgsZUFBaUM7SUFBakMsb0ZBQWlDO0lBR2pDLGVBQW9FO0lBQXBFLCtIQUFvRTtJQUVwRSxlQUFzRTtJQUF0RSxrSUFBc0U7SUFFdEUsZUFBcUU7SUFBckUsaUlBQXFFO0lBRXJFLGVBQXFFO0lBQXJFLGtJQUFxRTtJQUVyRSxlQUFtRTtJQUFuRSxpSUFBbUU7OztJQUs1RSwrQkFBcUUsbUJBQUE7SUFHakUsMkJBQ007O0lBRU4sMkJBQ007O0lBQ04sMkJBQ007O0lBQ04sMkJBRU07O0lBQ04sNEJBQ007O0lBQ1IsaUJBQVUsRUFBQTs7O0lBWkgsZUFBbUM7SUFBbkMsc0ZBQW1DO0lBR25DLGVBQXNFO0lBQXRFLGlJQUFzRTtJQUV0RSxlQUF3RTtJQUF4RSxtSUFBd0U7SUFFeEUsZUFBdUU7SUFBdkUsbUlBQXVFO0lBR3ZFLGVBQXVFO0lBQXZFLG9JQUF1RTs7O0lBSTlFLCtCQUF1RyxtQkFBQSxjQUFBLGlCQUFBO0lBSWpHLFlBQ0Y7O0lBQUEsaUJBQVE7SUFDUixxQ0FFZ0IsbUJBQUE7SUFJbEIsaUJBQU0sRUFBQSxFQUFBOzs7SUFSRixlQUNGO0lBREUsb0dBQ0Y7SUFDb0MsZUFBMEI7SUFBMUIsZ0RBQTBCLGtCQUFBO0lBRzFCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsNkJBQUEseURBQUE7OztJQU92QyxvQ0FBdUcsY0FBQSxnQkFBQTtJQUU5RSxZQUFnRDs7SUFBQSxpQkFBUTtJQUM3RSxvQ0FDa0UsbUJBQUE7SUFJcEUsaUJBQU0sRUFBQTs7O0lBTmlCLGVBQWdEO0lBQWhELDhFQUFnRDtJQUNwQyxlQUF1QjtJQUF2Qiw4Q0FBdUIsa0JBQUE7SUFFcEIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLCtDQUF3QiwyQkFBQSwwREFBQTs7O0lBS3ZDLG9DQUFtRixjQUFBLGdCQUFBO0lBRXJCLFlBQTRDOztJQUFBLGlCQUFRO0lBQzlHLGlDQUNxRixtQkFBQTtJQUl2RixpQkFBTSxFQUFBOzs7SUFOc0QsZUFBNEM7SUFBNUMsMEVBQTRDO0lBQzFGLGVBQTBCO0lBQTFCLGlEQUEwQiwwQ0FBQSwyQkFBQTtJQUVGLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3QywrQ0FBd0Isb0NBQUEsMERBQUE7OztJQWdCckMsb0NBQXFHLGNBQUEsaUJBQUE7SUFFeEMsWUFBMkQ7O0lBQUEsaUJBQVE7SUFDOUgscUNBQ2dCLG1CQUFBO0lBSWxCLGlCQUFNLEVBQUE7OztJQU51RCxlQUEyRDtJQUEzRCx5RkFBMkQ7SUFDbEYsZUFBMEI7SUFBMUIsaURBQTBCLGtCQUFBO0lBRTFCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3QywrQ0FBd0IsOEJBQUEsMERBQUE7OztJQXJDekMsK0JBQXFFO0lBQ25FLHNHQVNVLHlGQUFBLHlGQUFBO0lBZ0NaLGlCQUFVOzs7SUF6Q2tFLGVBQTJCO0lBQTNCLG9EQUEyQjtJQVUvQyxlQUEyQjtJQUEzQixvREFBMkI7SUFxQnJFLGVBQStEO0lBQS9ELGdHQUErRDs7O0lBVzdFLCtCQUF1RCxpQkFBQTtJQUN6QixZQUMxQjs7SUFBQSxxQkFBSTtJQUFDLFlBQ1A7O0lBQUEsaUJBQVE7SUFDUixnQ0FBb0Q7SUFDbEQsc0NBQzBELDRCQUFBOztJQUc1RCxpQkFBTTtJQUNOLGdDQUVlO0lBQ2pCLGlCQUFNOzs7SUFad0IsZUFDMUI7SUFEMEIsNkZBQzFCO0lBQUssZUFDUDtJQURPLHlHQUNQO0lBRStELGVBQXdCO0lBQXhCLDhDQUF3Qix1Q0FBQTtJQUVuRSxlQUF3RTtJQUF4RSw0R0FBd0U7SUFHeEQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QixpQ0FBQSx5REFBQTs7OztJQUlyQywrQkFDdUcsaUJBQUE7SUFDckUsWUFBeUQ7O0lBQUEsaUJBQVE7SUFDakcsMkJBQUssc0JBQUE7SUFHZ0UsZ01BQVcsZUFBQSwwQkFBaUIsQ0FBQSxJQUFDO0lBQ2hHLGlCQUFhO0lBQ2IsK0JBRWlCO0lBQ25CLGlCQUFNLEVBQUE7OztJQVQwQixlQUF5RDtJQUF6RCx3RkFBeUQ7SUFFM0UsZUFBaUI7SUFBakIsK0JBQWlCLDJDQUFBLHVCQUFBLHNCQUFBO0lBSU8sZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QixxQ0FBQSx5REFBQTs7O0lBS3ZDLCtCQUFxRixpQkFBQTtJQUMzRCxZQUFzRDs7SUFBQSxpQkFBUTtJQUN0RiwrQkFBdUM7SUFDckMsc0NBQzBELG1CQUFBO0lBSTVELGlCQUFNLEVBQUE7OztJQVBrQixlQUFzRDtJQUF0RCxvRkFBc0Q7SUFFbkIsZUFBd0I7SUFBeEIsOENBQXdCLG1DQUFBO0lBRTdDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsNkJBQUEseURBQUE7OztJQUt2QywrQkFBc0UsbUJBQUEsY0FBQSxpQkFBQTtJQUd0QyxZQUFpRTs7SUFBQSxpQkFBUTtJQUNuRyxxQ0FFZ0IsbUJBQUE7SUFJbEIsaUJBQU0sRUFBQTtJQUVSLG9DQUFvQyxjQUFBLGtCQUFBO0lBRUwsYUFBNEQ7O0lBQUEsaUJBQVE7SUFDL0Ysc0NBQ2dCLG9CQUFBO0lBSWxCLGlCQUFNLEVBQUE7SUFHUixnQ0FBUyxlQUFBLGtCQUFBO0lBRXFCLGFBQWtFOztJQUFBLGlCQUFRO0lBQ3BHLHNDQUVnQixvQkFBQTtJQUlsQixpQkFBTSxFQUFBLEVBQUE7OztJQTdCc0IsZUFBaUU7SUFBakUsZ0dBQWlFO0lBQ3JELGVBQTRCO0lBQTVCLGtEQUE0QixrQkFBQTtJQUc5QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLCtCQUFBLHlEQUFBO0lBT1IsZUFBNEQ7SUFBNUQsNEZBQTREO0lBQ2hELGVBQXFCO0lBQXJCLG1DQUFxQixzQ0FBQTtJQUV4QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLGdDQUFBLHlEQUFBO0lBUVQsZUFBa0U7SUFBbEUsa0dBQWtFO0lBQ3RELGVBQTRCO0lBQTVCLGtEQUE0QixrQkFBQTtJQUc5QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLCtCQUFBLHlEQUFBOzs7O0lBT3pDLCtCQUFzRSxtQkFBQSxjQUFBLGlCQUFBO0lBR25DLFlBQWlFOztJQUFBLGlCQUFRO0lBQ3RHLHVDQUd3RTtJQUhoQixrTUFBVSxlQUFBLHlCQUFnQixDQUFBLElBQUMseUxBQ3JFLGVBQUEseUJBQWdCLENBQUEsSUFEcUQsdUxBRzlCLGVBQUEsMEJBQWlCLENBQUEsSUFIYTtJQUluRixpQkFBYTtJQUNiLCtCQUVlO0lBQ2pCLGlCQUFNLEVBQUE7SUFHUixvQ0FBb0MsY0FBQSxrQkFBQTtJQUVMLGFBQStEOztJQUFBLGlCQUFRO0lBQ2xHLHdDQUdnQztJQUE5QixxTUFBVyxlQUFBLDBCQUFpQixDQUFBLElBQUM7SUFDL0IsaUJBQWE7SUFDYixnQ0FFZTtJQUNqQixpQkFBTSxFQUFBO0lBRVIsZ0NBQVMsZUFBQSxrQkFBQTtJQUcwQixhQUErRDs7SUFBQSxpQkFBUTtJQUN0Ryx3Q0FFaUc7SUFBOUIscU1BQVcsZUFBQSwwQkFBaUIsQ0FBQSxJQUFDO0lBQ2hHLGlCQUFhO0lBQ2IsZ0NBRWU7SUFDakIsaUJBQU0sRUFBQSxFQUFBOzs7SUFwQ3lCLGVBQWlFO0lBQWpFLGdHQUFpRTtJQUNsRixlQUFpQjtJQUFqQiwrQkFBaUIsd0NBQUEsdUJBQUEsc0JBQUE7SUFLTyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLGtDQUFBLHlEQUFBO0lBUVIsZUFBK0Q7SUFBL0QsK0ZBQStEO0lBQzlFLGVBQWlCO0lBQWpCLCtCQUFpQixzQ0FBQSx1QkFBQSw0QkFBQSxzQkFBQTtJQUtPLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsZ0NBQUEseURBQUE7SUFRSixlQUErRDtJQUEvRCwrRkFBK0Q7SUFDbEYsZUFBaUI7SUFBakIsK0JBQWlCLCtDQUFBLHVCQUFBLHNCQUFBO0lBSU8sZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3Qix5Q0FBQSx5REFBQTs7O0lBTXpDLCtCQUE4RSxpQkFBQTtJQUNuRCxZQUFvRDs7SUFBQSxpQkFBUTtJQUNyRiwrQkFBdUM7SUFDckMsc0NBQzBELG1CQUFBO0lBSTVELGlCQUFNLEVBQUE7OztJQVBtQixlQUFvRDtJQUFwRCxrRkFBb0Q7SUFFakIsZUFBd0I7SUFBeEIsOENBQXdCLG9DQUFBO0lBRTlDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsOEJBQUEseURBQUE7Ozs7SUFNdkMsK0JBQ2dDLGlCQUFBO0lBQ0QsWUFBeUQ7O0lBQUEsaUJBQVE7SUFDOUYsMkJBQUssc0JBQUE7SUFHZ0UsZ01BQVcsZUFBQSwwQkFBaUIsQ0FBQSxJQUFDO0lBQ2hHLGlCQUFhO0lBQ2IsK0JBRWlCO0lBQ25CLGlCQUFNLEVBQUE7OztJQVR1QixlQUF5RDtJQUF6RCx3RkFBeUQ7SUFFeEUsZUFBaUI7SUFBakIsK0JBQWlCLHdDQUFBLHVCQUFBLHNCQUFBO0lBSU8sZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QixrQ0FBQSx5REFBQTs7O0lBS3JDLCtCQUErRSxpQkFBQTtJQUNuRCxZQUFxRDs7SUFBQSxxQkFBTTtJQUNyRixZQUErRDs7SUFBQSxpQkFBUTtJQUN6RSxnQ0FBb0Q7SUFDbEQsc0NBQzBELDRCQUFBOztJQUc1RCxpQkFBTTtJQUNOLGdDQUVlO0lBQ2pCLGlCQUFNOzs7SUFYd0IsZUFBcUQ7SUFBckQsNkZBQXFEO0lBQy9FLGVBQStEO0lBQS9ELHdHQUErRDtJQUVGLGVBQXdCO0lBQXhCLDhDQUF3Qix1Q0FBQTtJQUVuRSxlQUF3RTtJQUF4RSw0R0FBd0U7SUFHeEQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QixpQ0FBQSx5REFBQTs7OztJQUtyQywrQkFDK0IsaUJBQUE7SUFDRyxZQUF5RDs7SUFBQSxpQkFBUTtJQUVqRywyQkFBSyxzQkFBQTtJQUdnRSxnTUFBVyxlQUFBLDBCQUFpQixDQUFBLElBQUM7SUFDaEcsaUJBQWE7SUFDYiwrQkFFaUI7SUFDbkIsaUJBQU0sRUFBQTs7O0lBVjBCLGVBQXlEO0lBQXpELHdGQUF5RDtJQUczRSxlQUFpQjtJQUFqQiwrQkFBaUIsMkNBQUEsdUJBQUEsc0JBQUE7SUFJTyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLHFDQUFBLHlEQUFBOzs7SUF1R3JDLCtCQUEyRCxpQkFBQTtJQUNuQyxZQUF5RTs7SUFBQSxpQkFBUTtJQUN2RyxtQ0FDYyxtQkFBQTtJQUloQixpQkFBTTs7O0lBTmtCLGVBQXlFO0lBQXpFLHVHQUF5RTtJQUM1QyxlQUF3QjtJQUF4QiwrQ0FBd0I7SUFFdkMsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLCtDQUF3Qiw0QkFBQSx5REFBQTs7O0lBdkNyQywyQkFBcUcsY0FBQSxTQUFBO0lBRTdGLFlBQXNFOztJQUFBLGlCQUFLLEVBQUE7SUFFakYsK0JBQW1CLFlBQUE7SUFDVixZQUF5RTs7SUFBQSxpQkFBUSxFQUFBO0lBRTVGLCtCQUFtQixrQkFBQTtJQUNRLGFBQXVFOztJQUFBLGlCQUFRO0lBQ3hHLHVDQUMwRCxvQkFBQTtJQUk1RCxpQkFBTTtJQUVOLGdDQUFtQixrQkFBQTtJQUNTLGFBQW9FOztJQUFBLGlCQUFRO0lBQ3RHLHVDQUMwRCxvQkFBQTtJQUk1RCxpQkFBTTtJQUNOLGdDQUFtQixrQkFBQTtJQUNTLGFBQzFCOztJQUFBLGlCQUFRO0lBQ1IsZ0NBQXVDO0lBQ3JDLHVDQUMwRCxvQkFBQTtJQUk1RCxpQkFBTSxFQUFBO0lBRVIsMEZBT007SUFTUixpQkFBTTs7O0lBakRJLGVBQXNFO0lBQXRFLHFHQUFzRTtJQUduRSxlQUF5RTtJQUF6RSx3R0FBeUU7SUFHekQsZUFBdUU7SUFBdkUsdUdBQXVFO0lBQ3RDLGVBQTRCO0lBQTVCLGtEQUE0QixvQ0FBQTtJQUVsRCxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLDhCQUFBLHlEQUFBO0lBTVQsZUFBb0U7SUFBcEUsb0dBQW9FO0lBQ25DLGVBQTRCO0lBQTVCLGtEQUE0QixxQ0FBQTtJQUVuRCxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLCtCQUFBLHlEQUFBO0lBS1QsZUFDMUI7SUFEMEIsd0hBQzFCO0lBRTZELGVBQXdCO0lBQXhCLDhDQUF3QixxQ0FBQTtJQUUvQyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLCtCQUFBLHlEQUFBO0lBS25CLGVBQXFDO0lBQXJDLHlEQUFxQzs7O0lBaUN2RCwrQkFBNEQsaUJBQUE7SUFHeEMsWUFBMEU7O0lBQUEsaUJBQVE7SUFDcEcsNkJBQXlGLG1CQUFBO0lBSTNGLGlCQUFNOzs7SUFMYyxlQUEwRTtJQUExRSx3R0FBMEU7SUFDOUMsZUFBeUI7SUFBekIsZ0RBQXlCO0lBQ25DLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3QywrQ0FBd0IsNkJBQUEseURBQUE7OztJQWxCekMsK0JBQXlHLGtCQUFBLGNBQUEsaUJBQUE7SUFJN0UsWUFBK0U7O0lBQUEsaUJBQVE7SUFDN0csK0JBQXVDO0lBQ3JDLHNDQUMwRCxtQkFBQTtJQUk1RCxpQkFBTSxFQUFBO0lBRVIsNEZBUU07SUFDUixpQkFBVSxFQUFBOzs7SUFsQmdCLGVBQStFO0lBQS9FLDZHQUErRTtJQUV2QyxlQUF3QjtJQUF4Qiw4Q0FBd0Isc0NBQUE7SUFFaEQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDhDQUF3QixnQ0FBQSx5REFBQTtJQUtuQixlQUFzQztJQUF0QywwREFBc0M7OztJQWtDL0QsK0JBQytCLGtCQUFBLGNBQUEsaUJBQUE7SUFHSSxZQUFnRTs7SUFBQSxpQkFBUTtJQUNwRyw2QkFBbUcsbUJBQUE7SUFJckcsaUJBQU0sRUFBQSxFQUFBOzs7SUFMd0IsZUFBZ0U7SUFBaEUsOEZBQWdFO0lBQ3pDLGVBQThCO0lBQTlCLG9EQUE4QjtJQUM3QyxlQUFvQjtJQUFwQix5QkFBb0I7SUFBN0MsOENBQXdCLGlDQUFBLHdEQUFBOzs7SUFjdkMsK0JBQXNELFlBQUE7SUFDN0MsWUFBeUU7O0lBQUEsaUJBQVEsRUFBQTs7SUFBakYsZUFBeUU7SUFBekUsdUdBQXlFOzs7SUFhNUUsMEJBQXlILFNBQUEsaUJBQUE7SUFFOUUsWUFBNkM7SUFBQSxpQkFBUSxFQUFBO0lBRTlGLDBCQUFJO0lBQ0YscUNBQ2dCO0lBQ2xCLGlCQUFLLEVBQUE7Ozs7O0lBTEksZUFBOEI7SUFBOUIsaURBQThCO0lBQUUsZUFBNkM7SUFBN0Msb0VBQTZDO0lBR3JFLGVBQWtDO0lBQWxDLHFEQUFrQyxVQUFBLGtCQUFBOzs7SUFQdkQsa0NBQ3NCO0lBQ3BCLHFHQVFLO0lBQ1QsMEJBQWU7Ozs7O0lBVlgsc0NBQW1CO0lBQ2QsZUFBa0g7SUFBbEgseUpBQWtIOzs7O0lBVTNILDBCQUErRCxjQUFBO0lBRTNELGlDQUVlO0lBQ2pCLGlCQUFLLEVBQUE7OztJQUhRLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLGdEQUF5QixrQ0FBQSxzQ0FBQTs7O0lBdkIvRCwrQkFBMkgsWUFBQTtJQUNsSCxZQUErRDs7SUFBQSxpQkFBUTtJQUM5RSxrQ0FBb0IsU0FBQSxjQUFBO0lBRWdCLFlBQ2hDOztJQUFBLGlCQUFLO0lBQ0wsMEJBQUk7SUFBQSxhQUFvRTs7SUFBQSxpQkFBSyxFQUFBO0lBRWpGLG1DQUE4QztJQUM1Qyw2R0FXYSwwRUFBQTtJQVFqQiwwQkFBZTtJQUNiLGlCQUFRLEVBQUE7OztJQTVCRCxlQUErRDtJQUEvRCw2RkFBK0Q7SUFHbEMsZUFDaEM7SUFEZ0MsNEdBQ2hDO0lBQ0ksZUFBb0U7SUFBcEUsbUdBQW9FO0lBR2pDLGVBQTZCO0lBQTdCLDBEQUE2QjtJQVluRSxlQUF3RDtJQUF4RCxnSUFBd0Q7OztJQVdqRSwrQkFBc0QsaUJBQUE7SUFDN0IsWUFBc0Q7O0lBQUEsaUJBQVE7SUFDckYsMkJBQUs7SUFDSCxzQ0FDdUM7SUFDekMsaUJBQU07SUFDTiwrQkFDOEM7SUFDaEQsaUJBQU07OztJQVBtQixlQUFzRDtJQUF0RCxvRkFBc0Q7SUFFdkMsZUFBd0I7SUFBeEIsOENBQXdCLGtDQUFBO0lBRzFCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUE3Qyw4Q0FBd0IsNEJBQUEseURBQUE7Ozs7SUFVdkMsdUNBQXNLO0lBQTFHLDZMQUFTLGVBQUEsZUFBTSxDQUFBLElBQUMsNExBQTJELGVBQUEsZUFBTSxDQUFBLElBQWpFLDRMQUFrRixlQUFBLGVBQU0sQ0FBQSxJQUF4RjtJQUMxRSxZQUFpRDs7SUFBQSxpQkFBYTs7SUFBOUQsZUFBaUQ7SUFBakQseUZBQWlEOzs7O0lBQ25ELHVDQUNvRDtJQURRLDZMQUFTLGVBQUEsY0FBSyxDQUFBLElBQUMsNExBQTRELGVBQUEsY0FBSyxDQUFBLElBQWpFLDRMQUFrRixlQUFBLGNBQUssQ0FBQSxJQUF2Rjs7SUFDdEIsWUFDckQ7O0lBQUEsaUJBQWE7O0lBRFgscUVBQWlEO0lBQUUsZUFDckQ7SUFEcUQsd0ZBQ3JEOzs7O0lBdCtCTixnQ0FBNEMsY0FBQSxpQkFBQSxhQUFBO0lBSXBDLGdGQTRCTSxtRUFBQSxvRUFBQSxvRUFBQSxtRUFBQSxvRUFBQSxzRUFBQSxzRUFBQSwrRUFBQSwrRUFBQSw2RUFBQSxzRUFBQSwrRUFBQSxzRUFBQSwrRUFBQSwrRUFBQSxzRUFBQSxzRUFBQSwrRUFBQSw4RUFBQSxzRUFBQSxzRUFBQSwrRUFBQSxzRUFBQSxzRUFBQSxzRUFBQSxzRUFBQSx1RUFBQSxzRUFBQSxxRUFBQTtJQWdiTixnQ0FFZTtJQUNqQixpQkFBTSxFQUFBO0lBRVIsbUNBQWdHLGNBQUE7SUFHNUYsMkZBSVUsOEVBQUEsOEVBQUEsOEVBQUEsOEVBQUEsK0VBQUEsK0VBQUEsOEVBQUEsNkVBQUEsdUVBQUEsc0VBQUEsc0VBQUEsK0VBQUEsK0VBQUEsc0VBQUEsc0VBQUEsdUVBQUEsc0VBQUEsdUVBQUEsK0VBQUEsOEVBQUEscUVBQUEsdUVBQUE7SUFxZlYsaUJBQU07SUFDTixtRkFRTTtJQUVWLGlCQUFVLEVBQUE7SUFFWixnQ0FBUyxtQkFBQSxzQkFBQTtJQUV5RiwrS0FBUyxlQUFBLHVCQUFjLEtBQUssQ0FBQyxDQUFBLElBQUMsOEtBQWdCLGVBQUEsdUJBQWMsS0FBSyxDQUFDLENBQUEsSUFBcEMsOEtBQXFELGVBQUEsdUJBQWMsS0FBSyxDQUFDLENBQUEsSUFBekU7SUFDN0csYUFBbUQ7O0lBQUEsaUJBQWE7SUFDL0UsaUdBQ2dFLG9GQUFBO0lBSWxFLGlCQUFVLEVBQUEsRUFBQTs7O0lBbitCYyxlQUEwQjtJQUExQixrREFBMEI7SUE2QnpCLGVBQTRCO0lBQTVCLHNGQUE0QjtJQUk3QixlQUEyQjtJQUEzQixtREFBMkI7SUFVM0IsZUFBeUQ7SUFBekQsMEZBQXlEO0lBV3pELGVBQXlEO0lBQXpELDBGQUF5RDtJQWtCdEIsZUFBZ0M7SUFBaEMsMERBQWdDO0lBUW5FLGVBQWdDO0lBQWhDLDBEQUFnQztJQVFoQyxlQUFnQztJQUFoQywwREFBZ0M7SUFZMUMsZUFBZ0M7SUFBaEMsMERBQWdDO0lBNkJoQyxlQUErQztJQUEvQyxnRkFBK0M7SUFxQi9DLGVBQXlEO0lBQXpELDBGQUF5RDtJQU0vQyxlQUFnQztJQUFoQywwREFBZ0M7SUFTMUMsZUFBeUQ7SUFBekQsMEZBQXlEO0lBdUIvQyxlQUFnQztJQUFoQywwREFBZ0M7SUFRMUMsZUFBZ0M7SUFBaEMsMERBQWdDO0lBc0JoQyxlQUFnQztJQUFoQywwREFBZ0M7SUE4QnRCLGVBQWdDO0lBQWhDLDBEQUFnQztJQWlCaEMsZUFBZ0M7SUFBaEMsMERBQWdDO0lBVTFDLGVBQWdDO0lBQWhDLDBEQUFnQztJQStCaEMsZUFBOEY7SUFBOUYscUlBQThGO0lBaUNwRixlQUFnQztJQUFoQywwREFBZ0M7SUFVaEMsZUFBZ0M7SUFBaEMsMERBQWdDO0lBZ0IxQyxlQUFnRjtJQUFoRiwwSEFBZ0Y7SUFzQnRFLGVBQWdDO0lBQWhDLDBEQUFnQztJQVdoQyxlQUE2RDtJQUE3RCxnR0FBNkQ7SUFVN0QsZUFDVztJQURYLDRKQUNXO0lBUVgsZUFDUztJQURULDRKQUNTO0lBUVQsZUFBZ0M7SUFBaEMsMERBQWdDO0lBYWpELGVBQWtHO0lBQWxHLGdJQUFrRztJQVlqRixlQUFnQztJQUFoQywwREFBZ0M7SUFTaEIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQTdDLDZDQUF3QiwyQkFBQSx3REFBQTtJQVF6QixlQUEyQjtJQUEzQixtREFBMkI7SUFLM0IsZUFBMkI7SUFBM0IsbURBQTJCO0lBSzNCLGVBQTJCO0lBQTNCLG1EQUEyQjtJQUszQixlQUEwQjtJQUExQixrREFBMEI7SUFLMUIsZUFBMEI7SUFBMUIsa0RBQTBCO0lBSzFCLGVBQXlEO0lBQXpELDRGQUF5RDtJQW1CekQsZUFBeUQ7SUFBekQsNEZBQXlEO0lBaUJ2RCxlQUEyRjtJQUEzRixvSUFBMkY7SUFlN0YsZUFBeUQ7SUFBekQsMEZBQXlEO0lBMkMvQyxlQUFnQztJQUFoQywwREFBZ0M7SUFlakQsZUFBa0c7SUFBbEcsZ0lBQWtHO0lBWWpGLGVBQThEO0lBQTlELDBGQUE4RDtJQVV4RSxlQUEwRDtJQUExRCw2RkFBMEQ7SUFvQzFELGVBQTBEO0lBQTFELDZGQUEwRDtJQTBDaEQsZUFBd0Q7SUFBeEQsMkZBQXdEO0lBV3hELGVBQ1E7SUFEUiw4SkFDUTtJQVlOLGVBQXlEO0lBQXpELDBGQUF5RDtJQWMzRCxlQUNRO0lBRFIsaUlBQ1E7SUE0RXBCLGVBQTZGO0lBQTdGLHFJQUE2RjtJQXVEM0YsZUFBNkY7SUFBN0YscUlBQTZGO0lBK0M5RixlQUNrQjtJQURsQiwwTEFDa0I7SUFtQkwsZUFBZ0M7SUFBaEMsMERBQWdDO0lBR2hDLGVBQXFHO0lBQXJHLGlNQUFxRztJQWdDdkcsZUFBZ0M7SUFBaEMsMERBQWdDO0lBYzFDLGVBQWtCO0lBQWxCLGdDQUFrQjtJQUNmLGVBQW1EO0lBQW5ELDRGQUFtRDtJQUMwQixlQUEwQjtJQUExQixrREFBMEI7SUFFM0IsZUFBMkI7SUFBM0IsbURBQTJCOzs7O0FEaDlCaEksTUFBTSxPQUFPLG9CQUFvQjtJQWdIL0IsWUFDUyxXQUErQixFQUMvQixpQkFBb0MsRUFDcEMsSUFBaUIsRUFDaEIsYUFBNEIsRUFDNUIsTUFBcUIsRUFDdEIsU0FBdUIsRUFDdkIsYUFBNEIsRUFDNUIsRUFBZ0IsRUFDaEIsRUFBYyxFQUNiLEVBQWtCLEVBQ25CLGdCQUFtQztRQVZuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBQ2hCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFnQjtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBdEhyQyx3QkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDOUIsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFDekIsc0JBQWlCLEdBQVEsRUFBRSxDQUFDO1FBQzVCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBQ3ZCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQzFCLDZCQUF3QixHQUFPLEVBQUUsQ0FBQztRQUNsQyxzQkFBaUIsR0FBTyxFQUFFLENBQUM7UUFDM0IsaUJBQVksR0FBTyxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBTyxFQUFFLENBQUM7UUFDckIsbUJBQWMsR0FBTyxFQUFFLENBQUM7UUFDeEIscUJBQWdCLEdBQU8sRUFBRSxDQUFDO1FBQzFCLHFCQUFnQixHQUFPLEVBQUUsQ0FBQztRQUMxQiwyQkFBc0IsR0FBbUIsRUFBRSxDQUFDO1FBQzVDLHlCQUFvQixHQUFtQixFQUFFLENBQUM7UUFDMUMsa0JBQWEsR0FBTyxFQUFFLENBQUM7UUFDdkIsdUJBQWtCLEdBQVEsRUFBRSxDQUFDO1FBQzdCLGNBQVMsR0FBTyxFQUFFLENBQUM7UUFDbkIsNEJBQXVCLEdBQW1CLEVBQUUsQ0FBQztRQUM3Qyx1QkFBa0IsR0FBTyxFQUFFLENBQUM7UUFDNUIsMkJBQXNCLEdBQU8sRUFBRSxDQUFDO1FBQ2hDLDRCQUF1QixHQUFPLEVBQUUsQ0FBQztRQWNqQyxhQUFRLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN0QixtQkFBYyxHQUFPLEVBQUUsQ0FBQztRQUV4QiwyQkFBc0IsR0FBTyxFQUFFLENBQUM7UUFFaEMsOEJBQXlCLEdBQW1CLEVBQUUsQ0FBQztRQUMvQyw0QkFBdUIsR0FBbUIsRUFBRSxDQUFDO1FBQzdDLCtCQUEwQixHQUFtQixFQUFFLENBQUM7UUFFaEQsWUFBTyxHQUFDLE1BQU0sQ0FBQztRQUNmLGNBQVMsR0FBQyxRQUFRLENBQUM7UUFFbkIsWUFBTyxHQUFFLGlEQUFpRCxDQUFDO1FBQzNELFlBQU8sR0FBQyxpREFBaUQsQ0FBQztRQUMxRCxjQUFTLEdBQUMsbURBQW1ELENBQUM7UUFDOUQsYUFBUSxHQUFDLGtEQUFrRCxDQUFDO1FBQzVELGFBQVEsR0FBQyxrREFBa0QsQ0FBQztRQUM1RCxZQUFPLEdBQUMsaURBQWlELENBQUM7UUFFMUQsY0FBUyxHQUFFLGdEQUFnRCxDQUFDO1FBQzVELGNBQVMsR0FBQyxnREFBZ0QsQ0FBQztRQUMzRCxnQkFBVyxHQUFDLGtEQUFrRCxDQUFDO1FBQy9ELGVBQVUsR0FBQyxpREFBaUQsQ0FBQztRQUM3RCxlQUFVLEdBQUMsaURBQWlELENBQUM7UUFLcEUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzFDLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU16Qyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFZdEMscUJBQWdCLEdBQVksSUFBSSxDQUFDO1FBR3hDLG9CQUFlLEdBQTJCLElBQUksWUFBWSxFQUFFLENBQUM7UUFTdEQsa0JBQWEsR0FBVSxHQUFHLENBQUM7UUFFM0Isa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFHOUIsb0JBQWUsR0FBRyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQTtRQUNuQyxhQUFRLEdBQWEsQ0FBQyxLQUFhLEVBQUUsRUFBRTtRQUUvQyxDQUFDLENBQUM7SUFlRSxDQUFDO0lBQ0wsUUFBUTtRQUVOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0QixJQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFDO1lBQzNDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7WUFDeEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7WUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsaUJBQWlCLENBQUM7WUFDdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7WUFDbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQzlDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7WUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1lBQzNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDO1lBQ3RELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLENBQUM7WUFDOUQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQztZQUNqRSxJQUFJLENBQUMsY0FBYyxHQUFFLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsRCxJQUFJLENBQUMsc0JBQXNCLEdBQUUsV0FBVyxDQUFDLGVBQWUsQ0FBQztZQUN6RCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQ2hHLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdkg7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1lBQ3JELElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUMxQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDbkQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7WUFDL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1lBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztZQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztZQUNuRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDO1lBQzNELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUM7WUFDOUQsSUFBSSxDQUFDLGNBQWMsR0FBRSxXQUFXLENBQUMsYUFBYSxDQUFDO1lBQy9DLElBQUksQ0FBQyxzQkFBc0IsR0FBRSxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQ3RELE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDN0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNwSDtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6RCxJQUFJLEdBQWlDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLEVBQUU7WUFDM0UsR0FBRyxHQUFHLElBQUksNEJBQTRCLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxzQkFBc0IsQ0FBQztTQUNqRzthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7WUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0RBQXNELEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDaEksSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDN0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsZUFBNkMsQ0FBQztZQUNyRSxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ2pELElBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUM7Z0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7YUFDN0M7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDdkI7WUFDRCxJQUFHLEdBQUcsQ0FBQyxpQkFBaUIsRUFBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7YUFDNUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUM7WUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztZQUM5QyxJQUFHLElBQUksQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLHFCQUFxQixJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsRUFBQztnQkFDdkYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQzthQUN6RTtTQUNGO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQztRQUNyRyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxFQUFFLGlCQUFpQixDQUFDO1FBQ2pHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUVqSCxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVELElBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFDO1lBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDbkQ7YUFBSztZQUNKLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUdwQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzVDLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0QsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQztZQUM5SixpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDcEssaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDN0gseUJBQXlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztZQUM3SSxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDN0csV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ2pILG1CQUFtQixFQUFFLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDakksa0JBQWtCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDckssaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLElBQUUsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQzVLLGdCQUFnQixFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxJQUFFLEtBQUssSUFBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQztZQUMzSyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQ3hNLGtCQUFrQixFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1lBQzFOLGFBQWEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUcsR0FBRyxDQUFDLENBQUM7WUFDakosaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUM1TCxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBRyxLQUFLLENBQUMsQ0FBQztZQUN2SixvQkFBb0IsRUFBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNyTSxxUUFBcVE7WUFDclEsaU5BQWlOO1lBQ2pOLHNTQUFzUztZQUN0UyxtQkFBbUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUM7WUFDcEQsK1JBQStSO1lBRS9SLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBRyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxLQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuTyxvSUFBb0k7WUFDcEksYUFBYSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUcsS0FBSyxDQUFDLENBQUM7WUFDM0wsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDakssY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDakssVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQzNMLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFHLEtBQUssQ0FBQyxDQUFDO1lBQy9MLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsQ0FBQztZQUMvRyw4UEFBOFA7WUFDOVAsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDM0osV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQy9JLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUM3SSw2TEFBNkw7WUFDN0wsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUcsS0FBSyxDQUFDLENBQUM7WUFDdEwsc0JBQXNCO1lBQ3RCLDBNQUEwTTtZQUN6TSxxTkFBcU47WUFDck4sZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztZQUNySyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztZQUNsQywyUkFBMlI7WUFDM1IsNEJBQTRCLEVBQUUsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLElBQUksSUFBSSxDQUFDO1lBQ3RFLG9CQUFvQixFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQztZQUN0RCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQztZQUNoQyxvQkFBb0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUM7WUFDdEQsa0JBQWtCLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDO1lBQ2xELGFBQWEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztZQUNySCxhQUFhLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDckgsY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ3ZILGdCQUFnQixFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQzNILGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN2SCxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDbkgsc0JBQXNCLEVBQUUsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDekksMExBQTBMO1lBQzFMLGtCQUFrQixFQUFFLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDL0gsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzdILG9CQUFvQixFQUFDLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6SyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztZQUN0QyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxSixlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1SixjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxSixpQkFBaUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hLLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzVKLHdCQUF3QixFQUFFLENBQUMsR0FBRyxDQUFDLHNCQUFzQixJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM5SyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUM7WUFDbEQsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7WUFDdEMsZUFBZSxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ3pILGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN2SCxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDbkgsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ2pILGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDO1lBQzFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO1lBQ2xDLGdCQUFnQixFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUM7WUFDOUMsYUFBYSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUM7WUFDeEMsdUJBQXVCLEVBQUUsQ0FBQyxHQUFHLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDO1lBQzVELG9CQUFvQixFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQztZQUN0RCxnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksSUFBSSxFQUFFLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztZQUMzSCxvQkFBb0IsRUFBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDekssVUFBVSxFQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5SCxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQztZQUMxQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQztZQUMxQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQztZQUMxQyxlQUFlLEVBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQztZQUMzQyxrQkFBa0IsRUFBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUM7WUFDakQsZ0JBQWdCLEVBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQztZQUM3QyxXQUFXLEVBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztZQUNuQyxTQUFTLEVBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNwSixpQkFBaUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0MsU0FBUyxFQUFHLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLGdCQUFnQixJQUFJLElBQUksQ0FBQztZQUNqRSxtQkFBbUIsRUFBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxHQUFHLENBQUM7WUFDbEQsV0FBVyxFQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1NBQ2pILENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsbUVBQW1FO1lBQ25FLDBDQUEwQztZQUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFDLEVBQUUsR0FBRSxJQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxjQUFjLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0JBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7WUFDMUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsRixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUNBLENBQUE7UUFFRCx1TEFBdUw7UUFDdkwsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxDQUFDLENBQ0EsQ0FBQTtRQUNBLGdMQUFnTDtRQUNoTCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQ0EsQ0FBQTtRQUdELGdMQUFnTDtRQUNoTCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FDQSxDQUFBO1FBRUMsaUxBQWlMO1FBQ2pMLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUNBLENBQUE7UUFLSCxJQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBQztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNuRTtRQUNELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFO1lBQzdDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsS0FBSyxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO29CQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7aUJBQ3BEO2FBQ0Y7WUFDRCxJQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNqRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUMxQjtTQUNGO1FBQUEsQ0FBQztJQUNKLENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUcsSUFBSSxFQUFDO1lBQ04sSUFBSSxVQUFVLEdBQXFCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFDO2dCQUMzQixJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQztnQkFDN0QsSUFBRyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUM7b0JBQzNFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3BEO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxjQUFjO1FBRVosSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsQ0FDaEQsS0FBSyxDQUFDLEVBQUU7WUFDTixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsQ0FDaEQsS0FBSyxDQUFDLEVBQUU7WUFDTixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQzNDLEtBQUssQ0FBQyxFQUFFO1lBQ04sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQ0YsQ0FBQztRQUVKLElBQUcsSUFBSSxDQUFDLHVCQUF1QixJQUFHLElBQUk7WUFDbEMsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQXFCLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUU7SUFDbkQsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxxQkFBcUI7SUFDckIsd0RBQXdEO0lBQ3hELElBQUk7SUFFSixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFFSCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUVILElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksMEJBQTBCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsdUJBQXVCO0lBQ3ZCLDBEQUEwRDtJQUMxRCxJQUFJO0lBRUosdUJBQXVCO0lBQ3ZCLDBEQUEwRDtJQUMxRCxJQUFJO0lBR0osdUJBQXVCO0lBQ3ZCLDBEQUEwRDtJQUMxRCxJQUFJO0lBSUosdUJBQXVCO0lBQ3ZCLDBEQUEwRDtJQUMxRCxJQUFJO0lBRUosSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUdELDBCQUEwQjtJQUMxQiw2REFBNkQ7SUFDN0QsSUFBSTtJQUVKLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUdELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUdELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O1FBRUk7SUFFSixJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBR0QsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBR0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUtELDZCQUE2QixDQUFDLEdBQVE7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWU7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFvQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFDLE9BQU8sRUFBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxRQUFRLENBQUMsSUFBSTtZQUNqRSxHQUFHLEVBQUMsUUFBUSxDQUFDLEdBQUcsRUFBQyxhQUFhLEVBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFDLEtBQUssRUFBQyxRQUFRLENBQUMsS0FBSztZQUNoRixlQUFlLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUk7U0FDekMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQW9DO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUMsT0FBTyxFQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLFFBQVEsQ0FBQyxJQUFJO1lBQy9ELEdBQUcsRUFBQyxRQUFRLENBQUMsR0FBRyxFQUFDLGFBQWEsRUFBQyxRQUFRLENBQUMsWUFBWSxFQUFDLEtBQUssRUFBQyxRQUFRLENBQUMsS0FBSztZQUMzRSxlQUFlLEVBQUMsUUFBUSxDQUFDLFlBQVksRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLElBQUksRUFBQyxJQUFJO1NBQzFELENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQW9DO1FBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBQyxPQUFPLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxJQUFJO1lBQzFDLEdBQUcsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsSUFBSTtZQUN4QyxlQUFlLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUk7U0FDekMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQW9DO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBQyxPQUFPLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxJQUFJO1lBQzNDLEdBQUcsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsSUFBSTtZQUN4QyxlQUFlLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxJQUFJLEVBQUMsSUFBSSxFQUFDLElBQUk7U0FDekMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBR0QseUJBQXlCLENBQUMsS0FBSztRQUM3QixJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtTQUMvQjthQUNHO1lBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUdELGNBQWMsQ0FBQyxLQUFLO1FBQ2xCLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFO1lBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RCxzRUFBc0U7U0FDdkU7SUFDSCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVCLHFGQUFxRjtZQUNyRixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUN2QztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUN2QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRztZQUNoRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0SCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuSDtJQUNILENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3ZDLElBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksS0FBSyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDaEQsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3hCLHNEQUFzRDtnQkFDdEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQ3hCO2lCQUFLO2dCQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDdkI7U0FDRjtRQUVELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ3hHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0SCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVsSCx5QkFBeUI7WUFDekIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUV2QixDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDbkgsT0FBTztTQUNSO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuRyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFDLDBCQUEwQixFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGVBQWU7UUFDYiwrQ0FBK0M7UUFDL0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFaEUsa0NBQWtDO1FBQ2xDLE1BQU0sZ0JBQWdCLEdBQTBCLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFFckUscUNBQXFDO1FBQ3JDLE1BQU0sYUFBYSxHQUFHLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTNFLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV0Qix1Q0FBdUM7UUFDdkMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTdDLHlDQUF5QztZQUN6QyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNmLHlDQUF5QztnQkFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDbEI7aUJBQU07Z0JBQ0wsaUNBQWlDO2dCQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNsQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsd0VBQXdFO1FBQ3hFLElBQUksU0FBUyxFQUFFO1lBQ2IsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFFLDBCQUEwQjthQUMzSDtTQUNGO2FBQU07WUFDTCxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUUscUNBQXFDO1NBQ3ZFO1FBRUQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5Qyw2Q0FBNkM7UUFDN0MsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDeEI7UUFDRCxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELGdFQUFnRTtJQUNoRSxhQUFhLENBQUMsS0FBYSxFQUFFLE9BQWdCO1FBQzNDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFLO1FBQ3pCLElBQUcsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBSztRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUN4RixHQUFHLENBQUMsRUFBRTtZQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsd0JBQXdCLEdBQUcsR0FBRyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELDBCQUEwQixDQUFDLEtBQUs7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FDeEYsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFLO1FBQzFCLElBQUksUUFBUSxHQUFVLEVBQUUsQ0FBQztRQUN6QixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzlELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbEUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQjtTQUNGO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBSztRQUN6QixJQUFJLFFBQVEsR0FBVSxFQUFFLENBQUM7UUFDekIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1RCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUI7U0FDRjtRQUNELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0M7YUFBTSxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUM7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUN6RSxDQUFDO0lBRUgsU0FBUyxDQUFDLE9BQWdDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDNUIsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxVQUFVLENBQUEsQ0FBQyxDQUFBLElBQUksRUFBRSxhQUFhLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssS0FBRyxLQUFLLElBQUksT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZSLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxPQUFPLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUM7WUFDckQsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksSUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQztZQUM1QyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsSUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDO1lBQzVGLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUUsSUFBSSxDQUFBLENBQUMsQ0FBQSxPQUFPLENBQUMsWUFBWSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUM7WUFDcEUsYUFBYSxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBRSxJQUFJLENBQUEsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxhQUFhLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQztTQUN4RSxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsK0JBQStCLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDOUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksS0FBSyxFQUFDO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUVDLG9CQUFvQixDQUFDLEtBQUs7UUFDeEIsSUFBSSxXQUFXLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0QsSUFBSSxTQUFTLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkQsSUFBSSxhQUFhLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLFVBQVUsR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELHFGQUFxRjtRQUNyRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxFQUFFLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQkFBK0IsRUFBRSxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbEksSUFBSSxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRSxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2hHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDaEQ7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNqRDtTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQUs7UUFDdkIsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRSxXQUFXLENBQUMsZ0JBQWdCLENBQUM7U0FDbkQ7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLEdBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQztTQUNoRDtRQUNELEtBQUssSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkQsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FDaEQsUUFBUSxDQUFDLEtBQUssRUFDZCxDQUFDLE9BQU8sQ0FBQyxFQUNULEtBQUssRUFDTCxVQUFVLENBQ1gsQ0FBQztZQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDM0QsSUFBSSxrQkFBa0IsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQ25ELGNBQWMsQ0FBQyxJQUFJLENBQUM7b0JBQ2xCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztvQkFDckIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO29CQUNyQixLQUFLLEVBQUUsa0JBQWtCO2lCQUMxQixDQUFDLENBQUM7YUFDSjtTQUNGO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFLO1FBQ2IsSUFBSSxZQUFZLEdBQVksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDbkQsSUFBRyxZQUFZLEVBQUM7WUFDWixJQUFHLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFDO2dCQUN6RCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxZQUFZLEdBQUcsR0FBRyxDQUFDO2FBQzNDO1lBQ0QsSUFBRyxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBQztnQkFDekQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsWUFBWSxHQUFHLEdBQUcsQ0FBQzthQUMzQztTQUNKO0lBQ0gsQ0FBQztJQUNELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztxRkE5cUNVLG9CQUFvQjtvRUFBcEIsb0JBQW9COzs7Ozs7Ozs7O1lDMUJqQyxtQ0FFNEYsWUFBQTtZQUMzQixZQUMvRDs7WUFBQSxpQkFBSztZQUNMLGtDQUFrRDtZQUNoRCxpRkF5K0JXO1lBQ2IsaUJBQU8sRUFBQTs7WUEvK0JhLDBDQUF5QjtZQURTLGtDQUFvQixvQkFBQSxvQkFBQSw0Q0FBQTtZQUdYLGVBQy9EO1lBRCtELDZGQUMvRDtZQUNvQixlQUE2QjtZQUE3QiwrQ0FBNkI7WUFDcEMsZUFBK0I7WUFBL0Isd0ZBQStCOzs7aUZEb0JqQyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxrQkFBa0I7NFVBTUwsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBQ0UsUUFBUTtrQkFBOUIsU0FBUzttQkFBQyxVQUFVO1lBaUVyQixXQUFXO2tCQURWLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJQSxpQkFBaUI7a0JBRHZCLEtBQUs7WUFJQyxvQkFBb0I7a0JBRDFCLEtBQUs7WUFJQyxVQUFVO2tCQURoQixLQUFLO1lBSUMsVUFBVTtrQkFEaEIsS0FBSztZQUlDLEdBQUc7a0JBRFQsS0FBSztZQU9OLGVBQWU7a0JBRGQsTUFBTTtZQUdvQixtQkFBbUI7a0JBQTdDLFNBQVM7bUJBQUMsY0FBYzs7a0ZBOUZkLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5LCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcGxveWVyRGV0YWlsc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcbmltcG9ydCB7IEVtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQnO1xyXG5pbXBvcnQgeyBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWwnO1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnRNb2RlbCwgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkZHJlc3NDb21wb25lbnQgfSBmcm9tICcuLi9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgS2V5VmFsdWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0tleVZhbHVlTW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLWVtcGxveWVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLWVtcGxveWVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtZW1wbG95ZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZEVtcGxveWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgnYWRkcmVzczEnKSBhZGRyZXNzMTogQWRkcmVzc0NvbXBvbmVudDsgXHJcbiAgQFZpZXdDaGlsZCgnYWRkcmVzczInKSBhZGRyZXNzMjogQWRkcmVzc0NvbXBvbmVudDsgXHJcblxyXG4gIHB1YmxpYyBlbXBsb3llclR5cGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnRyeU9wdGlvbnM6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBjb3VudHJ5RmVkT3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIHBheVJhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgc3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgZmVkU3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgam9iVGlsZU9yUG9zaXRpb25PcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBmZWRKb2JUaWxlT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgcmFkaW9PcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyB3b3JrT3B0aW9uczogYW55ID1bXTtcclxuICBwdWJsaWMgeWVzTm9OYU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHBheU1ldGhvZE9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHdhZ2VQcm9vZk9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIGRpc2NoYXJnZVJlYXNvbk9wdGlvbnM6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzdGF0ZXNPcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBub25LU1N0YXRlc09wdGlvbnMgOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBwYXlQZXJpb2Q6IGFueSA9W107XHJcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB3b3JrQ291bnRyeU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIG1pbGl0YXJ5U2VydmljZU9wdGlvbnM6IGFueSA9W107XHJcbiAgcHVibGljIHJlbXVuZXJhdGlvblR5cGVPcHRpb25zOiBhbnkgPVtdO1xyXG4gIHB1YmxpYyBhZGRFbXBsb3llckZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIGRpc3BsYXk6IGJvb2xlYW47XHJcbiAgcHVibGljIGJhc2VQZXJpb2RTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGJhc2VQZXJpb2RFbmREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBicFN0YXJ0RGF0ZVRvRGlzcGxheTogRGF0ZTtcclxuICBwdWJsaWMgbWluRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgbWluU3RhcnREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBxdWFydGVyUmFuZ2VPbmU/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZVR3bz86IHN0cmluZztcclxuICBwdWJsaWMgcXVhcnRlclJhbmdlVGhyZWU/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZvdXI/OiBzdHJpbmc7XHJcbiAgcHVibGljIGN1cnJlbnRRdWFydGVyUmFuZ2U/OiBzdHJpbmc7XHJcbiAgcHVibGljIHF1YXJ0ZXJSYW5nZUZpdmU/OiBzdHJpbmc7XHJcbiAgcHVibGljIGRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICBwdWJsaWMgZ3JvdXBlZFJlYXNvbnM6IGFueSA9W107XHJcbiAgcHVibGljIG1pbldvcmtTdGFydERhdGUgOiBEYXRlO1xyXG4gIHB1YmxpYyBwcmV2V29ya2VkU3RhdGVPcHRpb25zOiBhbnkgPVtdO1xyXG5cclxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdm9sUXVpdFJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgc2Y4SW5mbz1cIlNGLThcIjtcclxuICBwdWJsaWMgZGQyMTRJbmZvPVwiREQgMjE0XCI7XHJcblxyXG4gIHB1YmxpYyBwYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQueWVzLnBhcmEub25lXCI7XHJcbiAgcHVibGljIHBhcmFUd289XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnR3b1wiO1xyXG4gIHB1YmxpYyBwYXJhVGhyZWU9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnRocmVlXCI7XHJcbiAgcHVibGljIHBhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5mb3VyXCI7XHJcbiAgcHVibGljIHBhcmFGaXZlPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC55ZXMucGFyYS5maXZlXCI7XHJcbiAgcHVibGljIHBhcmFTaXg9XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0Lnllcy5wYXJhLnNpeFwiO1xyXG5cclxuICBwdWJsaWMgbm9QYXJhT25lID1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5vbmVcIjtcclxuICBwdWJsaWMgbm9QYXJhVHdvPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLnR3b1wiO1xyXG4gIHB1YmxpYyBub1BhcmFUaHJlZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS50aHJlZVwiO1xyXG4gIHB1YmxpYyBub1BhcmFGb3VyPVwiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5kZDIxNC5uby5wYXJhLmZvdXJcIjtcclxuICBwdWJsaWMgbm9QYXJhRml2ZT1cImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZGQyMTQubm8ucGFyYS5maXZlXCI7XHJcblxyXG4gIHB1YmxpYyBlbXBsb3llclByb3ZpZGVkV2FnZXM6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBtb2RlbENhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlY29yZEluZGV4VG9FZGl0OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQmFzZVBlcmlvZEVtcGxveWVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbm9FZGl0TW9kZTogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNOZXdDbGFpbTogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZG9iOiBEYXRlO1xyXG5cclxuICBwdWJsaWMgaGlkZUZpY0NvZGU6IHRydWU7XHJcbiAgcHVibGljIGlzTWFudWFsRW50ZXJFbXA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgXHJcbiAgYmFzZVBlcmlvZEluZGV4OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9ICAgbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbXBsb3llckZvcm0nKSBlbXBsb3llckZvcm1FbGVtZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgY3VycmVudFN0YXRlIDogc3RyaW5nO1xyXG4gIHB1YmxpYyBjdXN0b21lck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgYWxpYXNOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIG1haWxpbmdBZGRyZXNzRGlzcGxheTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzY2hvb2xGbGFnOnN0cmluZztcclxuICBwdWJsaWMgaXNPc2FFbXBsb3llcjpzdHJpbmcgPSBcIjBcIjtcclxuICBwdWJsaWMgaXNDU1I6Ym9vbGVhbjtcclxuICBwdWJsaWMgc2hvd1dvcmtTdGF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIG5vbktzU3RhdGU6e3RleHQ6c3RyaW5nLCB2YWx1ZTpzdHJpbmd9W107XHJcbiAgcHVibGljIHF0cldhZ2VMaXN0OiBRdHJZZWFyRW1wbG95ZXJXYWdlTW9kZWxbXTtcclxuICBwdWJsaWMgaXNGb3JtU3VibWl0dGVkID0ge3N1Ym1pdHRlZDogZmFsc2V9XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xyXG5cclxuICB9O1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgXHJcbiAgICBwdWJsaWMgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlLCBcclxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSxcclxuICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBcclxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgXHJcbiAgICBwdWJsaWMgY2xhaW1zU2VydmljZSA6IENsYWltU2VydmljZSxcclxuICAgIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmLCBcclxuICAgIHByaXZhdGUgYXI6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7IH1cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICB0aGlzLnNldFdvcmtTdGFydERhdGUoKTtcclxuICAgIFxyXG4gICAgdGhpcy5sb2FkTWFzdGVyRGF0YSgpO1xyXG5cclxuICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJUeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLkVNUExPWUVSX1RZUEVfRVM7XHJcbiAgICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZX0VTO1xyXG4gICAgICB0aGlzLmNvdW50cnlGZWRPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWV9FUztcclxuICAgICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0RfRVM7XHJcbiAgICAgIHRoaXMucmFkaW9PcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PX0VTO1xyXG4gICAgICB0aGlzLndvcmtPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19GT1JfRU1QTF9FUztcclxuICAgICAgdGhpcy55ZXNOb05hT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OT19OQV9FUztcclxuICAgICAgdGhpcy5wYXlNZXRob2RPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZTUVOVF9NRVRIT0RfRVM7XHJcbiAgICAgIHRoaXMud2FnZVByb29mT3B0aW9ucyA9IENvbWJvT3B0aW9uLldBR0VfUFJPT0ZfRVM7XHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLlVTX1NUQVRFU19FUztcclxuICAgICAgdGhpcy5ub25LU1N0YXRlc09wdGlvbnMgPSBDb21ib09wdGlvbi5OT05fS1NfU1RBVEVTX0VTO1xyXG4gICAgICB0aGlzLnBheVBlcmlvZCA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0RfRVM7XHJcbiAgICAgIHRoaXMud29ya0NvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19DT1VOVFJZX0VTO1xyXG4gICAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFX0VTO1xyXG4gICAgICB0aGlzLnJlbXVuZXJhdGlvblR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uUkVNVU5FUkFUSU9OX1RZUEVTX0VTO1xyXG4gICAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TX0VTO1xyXG4gICAgICB0aGlzLnByZXZXb3JrZWRTdGF0ZU9wdGlvbnM9IENvbWJvT3B0aW9uLldPUktFRF9TVEFURV9FUztcclxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTLmZpbmQoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IFtjdXJyZW50U3RhdGUsIC4uLkNvbWJvT3B0aW9uLlVTX1NUQVRFU19FUy5maWx0ZXIoc3RhdGUgPT4gc3RhdGUudmFsdWUgIT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJUeXBlT3B0aW9ucyA9IENvbWJvT3B0aW9uLkVNUExPWUVSX1RZUEU7XHJcbiAgICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gICAgICB0aGlzLmNvdW50cnlGZWRPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcclxuICAgICAgdGhpcy5wYXlSYXRlT3B0aW9ucyA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XHJcbiAgICAgIHRoaXMucmFkaW9PcHRpb25zID0gQ29tYm9PcHRpb24uWUVTX05PO1xyXG4gICAgICB0aGlzLndvcmtPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19GT1JfRU1QTDtcclxuICAgICAgdGhpcy55ZXNOb05hT3B0aW9ucyA9IENvbWJvT3B0aW9uLllFU19OT19OQTtcclxuICAgICAgdGhpcy5wYXlNZXRob2RPcHRpb25zID0gQ29tYm9PcHRpb24uUEFZTUVOVF9NRVRIT0Q7XHJcbiAgICAgIHRoaXMud2FnZVByb29mT3B0aW9ucyA9IENvbWJvT3B0aW9uLldBR0VfUFJPT0Y7XHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcclxuICAgICAgdGhpcy5ub25LU1N0YXRlc09wdGlvbnMgPSBDb21ib09wdGlvbi5OT05fS1NfU1RBVEVTO1xyXG4gICAgICB0aGlzLnBheVBlcmlvZCA9IENvbWJvT3B0aW9uLlBBWV9QRVJJT0Q7XHJcbiAgICAgIHRoaXMud29ya0NvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uV09SS19DT1VOVFJZO1xyXG4gICAgICB0aGlzLm1pbGl0YXJ5U2VydmljZU9wdGlvbnMgPSBDb21ib09wdGlvbi5NSUxJVEFSWV9TRVJWSUNFO1xyXG4gICAgICB0aGlzLnJlbXVuZXJhdGlvblR5cGVPcHRpb25zID0gQ29tYm9PcHRpb24uUkVNVU5FUkFUSU9OX1RZUEVTO1xyXG4gICAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TO1xyXG4gICAgICB0aGlzLnByZXZXb3JrZWRTdGF0ZU9wdGlvbnM9IENvbWJvT3B0aW9uLldPUktFRF9TVEFURTtcclxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbmQoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXHJcbiAgICAgIHRoaXMuc3RhdGVzT3B0aW9ucyA9IFtjdXJyZW50U3RhdGUsIC4uLkNvbWJvT3B0aW9uLlVTX1NUQVRFUy5maWx0ZXIoc3RhdGUgPT4gc3RhdGUudmFsdWUgIT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnaXNCYXNlUGVyaW9kRW1wbG95ZXIgaXMgPSAnLCB0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyLCB0aGlzLnN0YXRlc09wdGlvbnMpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2lzTmV3Q2xhaW0gPSAnLCB0aGlzLmlzTmV3Q2xhaW0pO1xyXG4gICAgdGhpcy5jdXJyZW50U3RhdGUgPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKTtcclxuICAgIHRoaXMuaXNDU1IgPSB0aGlzLmxzLmlzQ3NyKCk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkN1cnJlbnQgU3RhdGUgPSBcIiwgdGhpcy5jdXJyZW50U3RhdGUpO1xyXG4gICAgbGV0IGVzbTogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbDtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiY2FsbCBzZXJ2aWNlID1cIiwgdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKSk7XHJcbiAgICBpZiAodGhpcy5yZWNvcmRJbmRleFRvRWRpdCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgPT09IG51bGwpIHtcclxuICAgICAgZXNtID0gbmV3IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwoKTtcclxuICAgICAgdGhpcy5xdHJXYWdlTGlzdCA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCk/LnF0clllYXJXYWdlTGlzdEdlbmVyaWM7ICAgICAgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVjb3JkSW5kZXhUb0VkaXQnLCB0aGlzLnJlY29yZEluZGV4VG9FZGl0KVxyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKScsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCkpO1xyXG4gICAgICB0aGlzLm5vRWRpdE1vZGUgPSB0cnVlO1xyXG4gICAgICBlc20gPSB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmJwRW1wTHN0RnJtU2VydmljZS5nZXRWYWx1ZSgpLmJwRW1wTGlzdFt0aGlzLnJlY29yZEluZGV4VG9FZGl0XTtcclxuICAgICAgdGhpcy5xdHJXYWdlTGlzdCA9IGVzbS53YWdlQW1vdW50QXJyYXkgYXMgUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsW107XHJcbiAgICAgIHRoaXMuY3VzdG9tZXJOYW1lID0gZXNtLmVtcGxveWVyRGF0YS5kaXNwbGF5TmFtZTtcclxuICAgICAgaWYoZXNtLmVtcGxveWVyRGF0YS50cmFkZU5hbWUpe1xyXG4gICAgICAgIHRoaXMuYWxpYXNOYW1lID0gZXNtLmVtcGxveWVyRGF0YS50cmFkZU5hbWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hbGlhc05hbWUgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKGVzbS5vc2FCcEVtcGxveWVyRmxhZyl7XHJcbiAgICAgICAgdGhpcy5pc09zYUVtcGxveWVyID0gZXNtLm9zYUJwRW1wbG95ZXJGbGFnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiaXNPc2FFbXBsb3llciA9PT09PT09IFwiICwgdGhpcy5pc09zYUVtcGxveWVyKTtcclxuICAgICAgdGhpcy5tYWlsaW5nQWRkcmVzc0Rpc3BsYXkgPSBlc20uZW1wbG95ZXJEYXRhLm1haWxpbmdBZGRyZXNzRGlzcGxheTtcclxuICAgICAgdGhpcy5zY2hvb2xGbGFnID0gZXNtLmVtcGxveWVyRGF0YS5zY2hvb2xGbGFnO1xyXG4gICAgICBpZih0aGlzLmlzQ1NSICYmIGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMgJiYgZXNtLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlKXtcclxuICAgICAgICB0aGlzLmVtcGxveWVyUHJvdmlkZWRXYWdlcyA9IGVzbS5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYmFzZVBlcmlvZFN0YXJ0RGF0ZSA9IHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlLmdldFZhbHVlKCk/LmJhc2VQZXJpb2RTdGFydERhdGU7XHJcbiAgICB0aGlzLmJhc2VQZXJpb2RFbmREYXRlID0gdGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8uYmFzZVBlcmlvZEVuZERhdGU7XHJcbiAgICB0aGlzLmJwU3RhcnREYXRlVG9EaXNwbGF5ID0gbmV3IERhdGUodGhpcy52YWxpZGF0aW9uU2VydmljZS5icEVtcExzdEZybVNlcnZpY2UuZ2V0VmFsdWUoKT8uYnBTdGFydERhdGVUb0Rpc3BsYXkpO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKFwidGhpcy5taW5Xb3JrU3RhcnREYXRlXCIsIHRoaXMubWluV29ya1N0YXJ0RGF0ZSk7XHJcbiAgICBpZih0aGlzLm1pbldvcmtTdGFydERhdGUpe1xyXG4gICAgICB0aGlzLmJwU3RhcnREYXRlVG9EaXNwbGF5ID0gdGhpcy5taW5Xb3JrU3RhcnREYXRlO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLm1pbldvcmtTdGFydERhdGUgPSB0aGlzLmRvYjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UubG9hZE1hc3RlckRhdGEoKTtcclxuICAgIFxyXG5cclxuICAgIHRoaXMuYWRkRW1wbG95ZXJGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICdlbXBsb3llclR5cGUnOiBbZXNtLmVtcGxveWVyVHlwZSA/PyBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ2VtcGxveWVyTmFtZSc6IFtlc20uZW1wbG95ZXJOYW1lID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMucHJldldvcmtlZFN0YXRlLnZhbHVlID09PSAnS1MnKV0sXHJcbiAgICAgICdvdGhTdGF0ZUVtcE5hbWUnOiBbZXNtLm90aFN0YXRlRW1wTmFtZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLnByZXZXb3JrZWRTdGF0ZS52YWx1ZSA9PT0gJ09UJyldLFxyXG4gICAgICAnZmVkRW1wbG95ZXJOYW1lJzogW2VzbS5mZWRFbXBsb3llck5hbWUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2VtcGxveWVyVGVsZXBob25lTnVtYmVyJzogW2VzbS5lbXBsb3llclRlbGVwaG9uZU51bWJlciA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnZW5kRGF0ZSc6IFtlc20uZW5kRGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnc3RhcnREYXRlJzogW2VzbS5zdGFydERhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ2pvYlRpbGVPclBvc2l0aW9uJzogW2VzbS5qb2JUaWxlT3JQb3NpdGlvbiA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAncmVhc29uU2VwYXJhdGlvbic6IFtlc20ucmVhc29uU2VwYXJhdGlvbiA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyB8fCB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdkaXNjaGFyZ2VEZXRhaWwnOiBbZXNtLmRpc2NoYXJnZURldGFpbCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlIT0nTUlMJyAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24/LnZhbHVlPy52YWx1ZSA9PT0gJ0RDRkknKV0sXHJcbiAgICAgICd2b2xRdWl0RGV0YWlscyc6IFtlc20udm9sUXVpdERldGFpbHMgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSE9J01JTCcgJiYgIHRoaXMucmVhc29uU2VwYXJhdGlvbj8udmFsdWU/LnZhbHVlID09PSAnVk9MUScpXSxcclxuICAgICAgJ3BheVJhdGUnOiBbZXNtLnBheVJhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnICYmICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnPy52YWx1ZT09PSdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXHJcbiAgICAgICdwYXlSYXRlRnJlcXVlbmN5JzogW2VzbS5wYXlSYXRlRnJlcXVlbmN5ID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyAmJiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZz8udmFsdWU9PT0nWScpIHx8ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKSldLFxyXG4gICAgICAncGVuc2lvbkZsYWcnOiBbZXNtLnBlbnNpb25GbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyAmJiB0aGlzLndvcmtGbGFnPy52YWx1ZT09PSdZJyldLFxyXG4gICAgICAncGVuc2lvblJlY3ZEYXRlJzogW2VzbS5wZW5zaW9uUmVjdkRhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5wZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcclxuICAgICAgJ3JlZ1BlbnNpb25GbGFnJzogW2VzbS5yZWdQZW5zaW9uRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycpXSxcclxuICAgICAgJ3JlZ1BlbnNpb25SZWN2RGF0ZSc6W2VzbS5yZWdQZW5zaW9uUmVjdkRhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKV0sICAgICAgXHJcbiAgICAgIC8vICdpc0NsbXRQYWlkV2hpbGVMb3cnOiBbZXNtLmlzQ2xtdFBhaWRXaGlsZUxvdyAhPSBudWxsID8gZXNtLmlzQ2xtdFBhaWRXaGlsZUxvdyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llcikgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAvLyAnaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSc6IFtlc20uaGFzU2hvcnRUZXJtRGlzYWJpbGl0eSAhPSBudWxsID8gZXNtLmhhc1Nob3J0VGVybURpc2FiaWxpdHkgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyldLFxyXG4gICAgICAvLyAnaGFzUmVjdlJlbXVuZXJhdGlvbic6IFtlc20uaGFzUmVjdlJlbXVuZXJhdGlvbiAhPSBudWxsID8gZXNtLmhhc1JlY3ZSZW11bmVyYXRpb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCh0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMud29ya0ZsYWcudmFsdWUgPT09ICdZJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcclxuICAgICAgJ3JlbXVuZXJhdGlvblR5cGVzJzogW2VzbS5yZW11bmVyYXRpb25UeXBlcyA/PyBudWxsXSxcclxuICAgICAgLy8gJ3ZhY2F0aW9uJzogW2VzbS52YWNhdGlvbiAhPSBudWxsID8gZXNtLnZhY2F0aW9uIDogbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgodGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB0aGlzLndvcmtGbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5zY2hvb2xGbGFnID09PScxJykgfHwgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgdGhpcy5jdXJyZW50U3RhdGUgPT09ICdNRScpXSxcclxuICAgICAgXHJcbiAgICAgICdncm9zc1dhZ2VzJzogW2VzbS5ncm9zc1dhZ2VzID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWU9PT0nUkVHJyAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAmJiAodGhpcy5vc2FCcEVtcGxveWVyRmxhZz8udmFsdWUgPT09JzEnIHx8IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlKSldLFxyXG4gICAgICAvLydwYWlkQnknOiBbZXNtLnBhaWRCeSAhPSBudWxsID8gZXNtLnBhaWRCeSA6IG51bGwsQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmlzQ2xtdFBhaWRXaGlsZUxvdy52YWx1ZT09PSdZJykpXSxcclxuICAgICAgJ3BheW1lbnRUeXBlJzogW2VzbS5wYXltZW50VHlwZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycpXSxcclxuICAgICAgJ2RvY3NSZWNlaXZlZCc6IFtlc20uZG9jc1JlY2VpdmVkID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV0sXHJcbiAgICAgICdvdGhlclNTTkZsYWcnOiBbZXNtLm90aGVyU1NORmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnUkVHJyldLFxyXG4gICAgICAnb3RoZXJTU04nOiBbZXNtLm90aGVyU1NOID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgdGhpcy5vdGhlclNTTkZsYWcudmFsdWUgPT09ICdZJyldLFxyXG4gICAgICAnb3RoZXJOYW1lRmxhZyc6IFtlc20ub3RoZXJOYW1lRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlPT09J1JFRycpXSxcclxuICAgICAgJ290aGVyTmFtZSc6IFtlc20ub3RoZXJOYW1lID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLm90aGVyTmFtZUZsYWcudmFsdWUgPT09ICdZJyldLFxyXG4gICAgICAvLydkb2luZ0J1c2luZXNzQXMnOiBbZXNtLmRvaW5nQnVzaW5lc3NBcyAhPSBudWxsID8gZXNtLmRvaW5nQnVzaW5lc3NBcyA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhdGhpcy5pc0Jhc2VQZXJpb2RFbXBsb3llciAgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUgJiYgdGhpcy53b3JrU3RhdGUudmFsdWUudmFsdWU9PT0nS1MnKSldLFxyXG4gICAgICAncHJldldvcmtlZFN0YXRlJzogW2VzbS5wcmV2V29ya2VkU3RhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcclxuICAgICAgJ3dvcmtTdGF0ZSc6IFtlc20ud29ya1N0YXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyKV0sXHJcbiAgICAgICd3b3JrQ2l0eSc6IFtlc20ud29ya0NpdHkgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpXSxcclxuICAgICAgLy8nbnVtYmVyRW1wbG95ZWQnOiBbZXNtLm51bWJlckVtcGxveWVkICE9IG51bGwgPyBlc20ubnVtYmVyRW1wbG95ZWQgOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKV0sXHJcbiAgICAgICd3b3JrVHlwZSc6IFtlc20ud29ya1R5cGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZT09PSdSRUcnKV0sXHJcbiAgICAgLy8gJ2ZlaW4nOiBbZXNtLmZlaW5dLFxyXG4gICAgIC8vICdoaXJlZEJ5JzogW2VzbS5oaXJlZEJ5LCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlPT09J0tTJykpXSxcclxuICAgICAgLy8nYnVzaW5lc3NPd25lcic6IFtlc20uYnVzaW5lc3NPd25lciwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICF0aGlzLmlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycpKV0sXHJcbiAgICAgICdidXNpbmVzc05hdHVyZSc6IFtlc20uYnVzaW5lc3NOYXR1cmUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlICYmIHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ1JFRycpXSxcclxuICAgICAgJ3dvcmtGbGFnJzogW2VzbS53b3JrRmxhZyA/PyBudWxsXSxcclxuICAgICAgLy8ncXVpdHJlYXNvbic6IFtlc20ucXVpdHJlYXNvbiAhPSBudWxsID8gZXNtLnF1aXRyZWFzb24gOiBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKCgoKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgdGhpcy53b3JrRmxhZy52YWx1ZSA9PT0gJ1knKSB8fCAoIXRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpKSAmJiB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWUgJiYgdGhpcy5yZWFzb25TZXBhcmF0aW9uLnZhbHVlLnZhbHVlID09PSAnVk9MUScpKSldLFxyXG4gICAgICAnZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMnOiBbZXNtLmRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzID8/IG51bGxdLFxyXG4gICAgICAnZmljRGVzdGluYXRpb25Db2RlJzogW2VzbS5maWNEZXN0aW5hdGlvbkNvZGUgPz8gbnVsbF0sXHJcbiAgICAgICdmaWNDb2RlJzogW2VzbS5maWNDb2RlID8/IG51bGxdLFxyXG4gICAgICAnZmljRGVzdGluYXRpb25OYW1lJzogW2VzbS5maWNEZXN0aW5hdGlvbk5hbWUgPz8gbnVsbF0sXHJcbiAgICAgICdmaWNEZXN0aW5hdGlvbklkJzogW2VzbS5maWNEZXN0aW5hdGlvbklkID8/IG51bGxdLFxyXG4gICAgICAnc2ZFaWdodGZsYWcnOiBbZXNtLnNmRWlnaHRmbGFnID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdmZWRXb3JrQ2l0eSc6IFtlc20uZmVkV29ya0NpdHkgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZFdvcmtTdGF0ZSc6IFtlc20uZmVkV29ya1N0YXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdmZWRXb3JrQ291bnRyeSc6IFtlc20uZmVkV29ya0NvdW50cnkgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ3N0YXJ0RGF0ZUZlZCc6IFtlc20uc3RhcnREYXRlRmVkID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdlbmREYXRlRmVkJzogW2VzbS5lbmREYXRlRmVkID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKV0sXHJcbiAgICAgICdmZWRKb2JUaWxlT3JQb3NpdGlvbic6IFtlc20uZmVkSm9iVGlsZU9yUG9zaXRpb24gPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnKSldLFxyXG4gICAgICAvLydjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInOiBbZXNtLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wciAhPSBudWxsID8gZXNtLmNsYWltYW50RW1wbG95ZWRXaXRoRW1wciA6IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJykpXSxcclxuICAgICAgJ3BlcmZvcm1lZFNlcnZpY2UnOiBbZXNtLnBlcmZvcm1lZFNlcnZpY2UgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpXSxcclxuICAgICAgJ2ZlZFBlbnNpb25GbGFnJzogW2VzbS5mZWRQZW5zaW9uRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpKV0sXHJcbiAgICAgICdmZWRQZW5zaW9uUmVjdkRhdGUnOltlc20uZmVkUGVuc2lvblJlY3ZEYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlGbGFnJzogW2VzbS5zZXZQYXlGbGFnID8/IG51bGxdLFxyXG4gICAgICAnd2Vla2x5QW1vdW50JzogW2VzbS53ZWVrbHlBbW91bnQgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnbnVtYmVyT2ZXZWVrcyc6IFtlc20ubnVtYmVyT2ZXZWVrcyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlBbW91bnQnOiBbZXNtLnNldlBheUFtb3VudCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlTdGFydERhdGUnOiBbZXNtLnNldlBheVN0YXJ0RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcgJiYgdGhpcy5zZXZQYXlGbGFnLnZhbHVlID09PSAnWScpKV0sXHJcbiAgICAgICdzZXZQYXlFbmREYXRlJzogW2VzbS5zZXZQYXlFbmREYXRlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiAodGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnRkVEJyAmJiB0aGlzLnNldlBheUZsYWcudmFsdWUgPT09ICdZJykpXSxcclxuICAgICAgJ3NldlBheVBheW1lbnRTdGFydERhdGUnOiBbZXNtLnNldlBheVBheW1lbnRTdGFydERhdGUgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdGRUQnICYmIHRoaXMuc2V2UGF5RmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAncmVnRW1wbG95ZXJGb3VuZCc6IFtlc20ucmVnRW1wbG95ZXJGb3VuZCA/PyBudWxsXSxcclxuICAgICAgJ2VtcGxveWVySWQnOiBbZXNtLmVtcGxveWVySWQgPz8gbnVsbF0sXHJcbiAgICAgICdzZXJ2aWNlQnJhbmNoJzogW2VzbS5zZXJ2aWNlQnJhbmNoID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdNSUwnKV0sXHJcbiAgICAgICdzdGFydERhdGVNaWwnOiBbZXNtLnN0YXJ0RGF0ZU1pbCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnZW5kRGF0ZU1pbCc6IFtlc20uZW5kRGF0ZU1pbCA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnZGQyMTRGbGFnJzogW2VzbS5kZDIxNEZsYWcgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpXSxcclxuICAgICAgJ2xhc3RQYXlHcmFkZSc6IFtlc20ubGFzdFBheUdyYWRlID8/IG51bGxdLFxyXG4gICAgICAnbGFzdGR1dHknOiBbZXNtLmxhc3RkdXR5ID8/IG51bGxdLFxyXG4gICAgICAncGxhY2VTZXBhcmF0ZWQnOiBbZXNtLnBsYWNlU2VwYXJhdGVkID8/IG51bGxdLFxyXG4gICAgICAnbm9MZWF2ZURheXMnOiBbZXNtLm5vTGVhdmVEYXlzID8/IG51bGxdLFxyXG4gICAgICAnY29tcGxldGVkRnVsbFRlcm1GbGFnJzogW2VzbS5jb21wbGV0ZWRGdWxsVGVybUZsYWcgPz8gbnVsbF0sXHJcbiAgICAgICdyZXNlcnZlT3JHdWFyZEZsYWcnOiBbZXNtLnJlc2VydmVPckd1YXJkRmxhZyA/PyBudWxsXSxcclxuICAgICAgJ21pbFBlbnNpb25GbGFnJzogW2VzbS5taWxQZW5zaW9uRmxhZyA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gdGhpcy5lbXBsb3llclR5cGU/LnZhbHVlID09PSAnTUlMJyldLFxyXG4gICAgICAnbWlsUGVuc2lvblJlY3ZEYXRlJzpbZXNtLm1pbFBlbnNpb25SZWN2RGF0ZSA/PyBudWxsLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkSWZWYWxpZGF0b3IoKCkgPT4gKHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knKSldLFxyXG4gICAgICAnbWlsU3RhdGUnOltudWxsLCBbQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ01JTCcpLCBBcHBWYWxpZGF0b3JzLnJlcXVpcmVkS2Fuc2FzXV0sXHJcbiAgICAgICdhZGRyZXNzTGluZTEnOiBbZXNtLmFkZHJlc3NMaW5lMSA/PyBudWxsXSxcclxuICAgICAgJ2FkZHJlc3NMaW5lMic6IFtlc20uYWRkcmVzc0xpbmUyID8/IG51bGxdLFxyXG4gICAgICAnYWRkcmVzc0xpbmUzJzogW2VzbS5hZGRyZXNzTGluZTMgPz8gbnVsbF0sXHJcbiAgICAgICdyZXNlcnZlQnJhbmNoJzpbZXNtLnJlc2VydmVCcmFuY2ggPz8gbnVsbF0sXHJcbiAgICAgICdzdGFydERhdGVSZXNlcnZlJzpbZXNtLnN0YXJ0RGF0ZVJlc2VydmUgPz8gbnVsbF0sXHJcbiAgICAgICdlbmREYXRlUmVzZXJ2ZSc6W2VzbS5lbmREYXRlUmVzZXJ2ZSA/PyBudWxsXSxcclxuICAgICAgJ2RkMjE0RmlsZSc6W2VzbS5kZDIxNEZpbGUgPz8gbnVsbF0sXHJcbiAgICAgICdhZGRyZXNzJzpbZXNtLmFkZHJlc3MgPz8gbnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnIHx8IHRoaXMuZW1wbG95ZXJUeXBlPy52YWx1ZSA9PT0gJ0ZFRCcpKV0sXHJcbiAgICAgICd3YWdlQW1vdW50QXJyYXknOiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtdKSxcclxuICAgICAgJ3Rlc3RFbXAnIDogW2VzbS5lbXBsb3llclByb3ZpZGVkV2FnZXM/LndhZ2VzTGlzdFF0cldpc2UgPz8gbnVsbF0sXHJcbiAgICAgICdvc2FCcEVtcGxveWVyRmxhZyc6W2VzbS5vc2FCcEVtcGxveWVyRmxhZyA/PyBcIjBcIl0sXHJcbiAgICAgICdzZXZlcmFuY2UnOltlc20uc2V2ZXJhbmNlID8/IG51bGwsIEFwcFZhbGlkYXRvcnMucmVxdWlyZWRJZlZhbGlkYXRvcigoKSA9PiB0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnKV1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5lbXBsb3llclR5cGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PntcclxuICAgICAgLy8gdW5jb21tZW50IHRoaXMgaWYgdGhlcmUgaXMgYW4gaXNzdWUgd2l0aCBjaGFuZ2luZyBlbXBsb3llciB0eXBlLlxyXG4gICAgICAvL1BHTFAtNTIyIHRoaXMgYmVsb3cgY29kZSB3YXMgdW5jb21tZW50ZWRcclxuICAgICAgT2JqZWN0LmVudHJpZXModGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHMpLmZvckVhY2goKHR1cGxlKT0+IHtpZih0dXBsZVswXSAhPT0gXCJlbXBsb3llclR5cGVcIiAmJiB0dXBsZVswXSAhPT0gXCJ3YWdlQW1vdW50QXJyYXlcIiAmJiAhdHVwbGVbMV0udmFsaWQpIHR1cGxlWzFdLnJlc2V0KCk7fSk7XHJcbiAgICAgIHRoaXMuaXNGb3JtU3VibWl0dGVkLnN1Ym1pdHRlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSA9PT0gJ0ZFRCcgPyB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpOiB0aGlzLmFkZHJlc3MuZW5hYmxlKCk7ICAgICAgXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIEJhc2VQYWdlLnByaW1lTkdGaXhlcygpOyAgICAgICAgIFxyXG4gICAgICB9LCA1MDApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSggXyA9PiB7XHJcbiAgICAgIHRoaXMuZGlzY2hhcmdlRGV0YWlsLnJlc2V0KCk7XHJcbiAgICAgIHRoaXMudm9sUXVpdERldGFpbHMucmVzZXQoKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgQmFzZVBhZ2UucHJpbWVOR0ZpeGVzKCk7ICAgICAgICAgXHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMub3RoZXJTU05GbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMub3RoZXJTU04ucmVzZXQoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XHJcbiAgICAgIHRoaXMub3RoZXJOYW1lLnJlc2V0KCk7XHJcbiAgICB9XHJcbiAgICApXHJcbiBcclxuICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyBhZGRlZC4gaWYgIGVtcGxveWVyVHlwZSBpcyBSRUcgYW5kIG5vbiBiYXNlcGVyaW9kRW1wbG95ZXIuIElmIHVzZXIgY2hhbmdlIHRoZSAgcmVnUGVuc2lvbkZsYWcgJ1lFUycgdG8gJ05PJyB0aGVuIHJlZ1BlbnNpb25SZWN2RGF0ZSB2YWxpZGF0aW9uIHdhcyByZXNldFxyXG4gICAgdGhpcy5yZWdQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICB0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZS5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgKVxyXG4gICAgIC8vUEdMUC01MjIgdGhpcyBiZWxvdyBjb2RlIHdhcyBhZGRlZC4gaWYgIGVtcGxveWVyVHlwZSBpcyBSRUcgYW5kICBiYXNlcGVyaW9kRW1wbG95ZXIuIElmIHVzZXIgY2hhbmdlIHRoZSAgcGVuc2lvbkZsYWcgJ1lFUycgdG8gJ05PJyB0aGVuIFBlbnNpb25SZWNpdmVEYXRlIHZhbGlkYXRpb24gd2FzIHJlc2V0XHJcbiAgICAgdGhpcy5wZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICB0aGlzLnBlbnNpb25SZWN2RGF0ZS5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgKVxyXG5cclxuXHJcbiAgICAvL1BHTFAtNTIyIHRoaXMgYmVsb3cgY29kZSB3YXMgYWRkZWQuIGlmICBlbXBsb3llclR5cGUgaXMgUkVHIGFuZCAgYmFzZXBlcmlvZEVtcGxveWVyLiBJZiB1c2VyIGNoYW5nZSB0aGUgIHBlbnNpb25GbGFnICdZRVMnIHRvICdOTycgdGhlbiBQZW5zaW9uUmVjaXZlRGF0ZSB2YWxpZGF0aW9uIHdhcyByZXNldFxyXG4gICAgdGhpcy5mZWRQZW5zaW9uRmxhZy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICB0aGlzLmZlZFBlbnNpb25SZWN2RGF0ZS5yZXNldCgpO1xyXG4gICAgfVxyXG4gICAgKVxyXG5cclxuICAgICAgLy9QR0xQLTUyMiB0aGlzIGJlbG93IGNvZGUgd2FzIGFkZGVkLiBpZiAgZW1wbG95ZXJUeXBlIGlzIE1JTCBhbmQgIGJhc2VwZXJpb2RFbXBsb3llci4gSWYgdXNlciBjaGFuZ2UgdGhlICBwZW5zaW9uRmxhZyAnWUVTJyB0byAnTk8nIHRoZW4gbWlsUGVuc2lvblJlY3ZEYXRlIHZhbGlkYXRpb24gd2FzIHJlc2V0XHJcbiAgICAgIHRoaXMubWlsUGVuc2lvbkZsYWcudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcclxuICAgICAgICB0aGlzLm1pbFBlbnNpb25SZWN2RGF0ZS5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICAgIClcclxuXHJcblxyXG5cclxuICAgIFxyXG4gICAgaWYoIXRoaXMucGF5UmF0ZUZyZXF1ZW5jeS52YWx1ZSl7XHJcbiAgICAgIHRoaXMucGF5UmF0ZUZyZXF1ZW5jeS5wYXRjaFZhbHVlKHsgdmFsdWU6ICdIT1VSJywgdGV4dDogJ0hvdXInIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmFsaWRhdGlvblNlcnZpY2UuYnBFbXBMc3RGcm1TZXJ2aWNlKSB7XHJcbiAgICAgIGlmICh0aGlzLnF0cldhZ2VMaXN0KSB7XHJcbiAgICAgICAgZm9yICh2YXIgcXRyV2FnZSBvZiB0aGlzLnF0cldhZ2VMaXN0KSB7XHJcbiAgICAgICAgICB0aGlzLndhZ2VBbW91bnRBcnJheS5wdXNoKHRoaXMud2FnZUFycmF5KHF0cldhZ2UpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSB8fCAodGhpcy5lbXBsb3llclR5cGUudmFsdWUgPT0gJ0ZFRCcgJiYgdGhpcy5pc05ld0NsYWltKSkge1xyXG4gICAgICAgIHRoaXMuc2V0V2FnZVZhbGlkYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbiAgc2V0V29ya1N0YXJ0RGF0ZSgpIHtcclxuICAgIGxldCBkYXRhID0gdGhpcy5hci5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZGF0YScpO1xyXG4gICAgaWYoZGF0YSl7XHJcbiAgICAgIGxldCBwYXJzZWREYXRhIDogS2V5VmFsdWVNb2RlbFtdID0gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcclxuICAgICAgaWYoQXJyYXkuaXNBcnJheShwYXJzZWREYXRhKSl7XHJcbiAgICAgICAgbGV0IGxhc3RDd2UgPSBwYXJzZWREYXRhLmZpbHRlcihrID0+IGsua2V5ID09ICdsYXN0Q3dlRGF0ZScpO1xyXG4gICAgICAgIGlmKGxhc3RDd2UubGVuZ3RoID4gMCAmJiBsYXN0Q3dlWzBdLmtleSA9PSAnbGFzdEN3ZURhdGUnICYmICF0aGlzLmlzTmV3Q2xhaW0pe1xyXG4gICAgICAgICAgdGhpcy5taW5Xb3JrU3RhcnREYXRlID0gbmV3IERhdGUobGFzdEN3ZVswXS52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsb2FkTWFzdGVyRGF0YSgpe1xyXG5cclxuICAgIHRoaXMuY2xhaW1zU2VydmljZS5nZXRSZWFzb25TZXBhcmF0aW9uKCkuc3Vic2NyaWJlKFxyXG4gICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwucHVzaChhcnIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0RGlzY2hhcmdlUmVhc29ucygpLnN1YnNjcmliZShcclxuICAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNsYWltc1NlcnZpY2UuZ2V0UXVpdFJlYXNvbnMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZhbHVlID0+IHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy52b2xRdWl0UmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgXHJcbiAgaWYodGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9ucyE9IG51bGwpXHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgfVxyXG5cclxuICBnZXQgd2FnZUFtb3VudEFycmF5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzW1wid2FnZUFtb3VudEFycmF5XCJdIGFzIFVudHlwZWRGb3JtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBnZXQgdGVzdEVtcCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzW1widGVzdEVtcFwiXSA7XHJcbiAgfVxyXG4gIGdldCBzZXZlcmFuY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldmVyYW5jZSddO1xyXG4gIH1cclxuICBnZXQgZW1wbG95ZXJUeXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1snZW1wbG95ZXJUeXBlJ107XHJcbiAgfVxyXG4gIGdldCBlbXBsb3llck5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VtcGxveWVyTmFtZSddO1xyXG4gIH1cclxuICBnZXQgb3RoU3RhdGVFbXBOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhTdGF0ZUVtcE5hbWUnXTtcclxuICB9XHJcbiAgZ2V0IGVtcGxveWVyVGVsZXBob25lTnVtYmVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbXBsb3llclRlbGVwaG9uZU51bWJlciddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXJ0RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW5kRGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGpvYlRpbGVPclBvc2l0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydqb2JUaWxlT3JQb3NpdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlYXNvblNlcGFyYXRpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0/LmNvbnRyb2xzWydyZWFzb25TZXBhcmF0aW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZGlzY2hhcmdlRGV0YWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkaXNjaGFyZ2VEZXRhaWwnXTtcclxuICB9XHJcblxyXG4gIGdldCB2b2xRdWl0RGV0YWlscygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sndm9sUXVpdERldGFpbHMnXTtcclxuICB9XHJcblxyXG4gIGdldCBwYXlSYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwYXlSYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZ3Jvc3NXYWdlcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZ3Jvc3NXYWdlcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBheVJhdGVGcmVxdWVuY3koKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGVGcmVxdWVuY3knXTtcclxuICB9XHJcblxyXG4gIGdldCBwZW5zaW9uRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVuc2lvbkZsYWcnXTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0IHBlbnNpb25SZWN2RGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwZW5zaW9uUmVjdkRhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCByZWdQZW5zaW9uRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncmVnUGVuc2lvbkZsYWcnXTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0IHJlZ1BlbnNpb25SZWN2RGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdQZW5zaW9uUmVjdkRhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNTaG9ydFRlcm1EaXNhYmlsaXR5KCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hhc1Nob3J0VGVybURpc2FiaWxpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNSZWN2UmVtdW5lcmF0aW9uKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2hhc1JlY3ZSZW11bmVyYXRpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCByZW11bmVyYXRpb25UeXBlcygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZW11bmVyYXRpb25UeXBlcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZhY2F0aW9uKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3ZhY2F0aW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcGF5bWVudFR5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheW1lbnRUeXBlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZG9jc1JlY2VpdmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkb2NzUmVjZWl2ZWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBvdGhlclNTTkZsYWcoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snb3RoZXJTU05GbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RoZXJTU04oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ290aGVyU1NOJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RoZXJOYW1lRmxhZygpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlck5hbWVGbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RoZXJOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydvdGhlck5hbWUnXTtcclxuICB9XHJcblxyXG4gIGdldCBkb2luZ0J1c2luZXNzQXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RvaW5nQnVzaW5lc3NBcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdvcmtGbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3b3JrRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0IHF1aXRyZWFzb24oKSB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3F1aXRyZWFzb24nXTtcclxuICAvLyB9XHJcblxyXG4gIGdldCB3b3JrQ2l0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd29ya0NpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCB3b3JrU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtTdGF0ZSddO1xyXG4gIH1cclxuICBnZXQgbWlsU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ21pbFN0YXRlJ107XHJcbiAgfVxyXG5cclxuICAvKmdldCBoaXJlZEJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydoaXJlZEJ5J107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVpbigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVpbiddO1xyXG4gIH0qL1xyXG5cclxuICBnZXQgd29ya1R5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3dvcmtUeXBlJ107XHJcbiAgfVxyXG5cclxuICAvKmdldCBudW1iZXJFbXBsb3llZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbnVtYmVyRW1wbG95ZWQnXTtcclxuICB9Ki9cclxuXHJcbiAgZ2V0IGJ1c2luZXNzTmF0dXJlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydidXNpbmVzc05hdHVyZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcyddO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0IHdhZ2VRdWFydGVyMSgpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXIxJ107XHJcbiAgLy8gfVxyXG5cclxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIyKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjInXTtcclxuICAvLyB9XHJcblxyXG5cclxuICAvLyBnZXQgd2FnZVF1YXJ0ZXIzKCkge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3YWdlUXVhcnRlcjMnXTtcclxuICAvLyB9XHJcblxyXG5cclxuXHJcbiAgLy8gZ2V0IHdhZ2VRdWFydGVyNCgpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snd2FnZVF1YXJ0ZXI0J107XHJcbiAgLy8gfVxyXG5cclxuICBnZXQgZmljQ29kZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljQ29kZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpY0Rlc3RpbmF0aW9uQ29kZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25Db2RlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmljRGVzdGluYXRpb25JZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljRGVzdGluYXRpb25JZCddO1xyXG4gIH1cclxuICAgICAgXHJcbiAgXHJcbiAgLy8gZ2V0IGZvcm1lcmx5S25vd25BcygpIHtcclxuICAvLyAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZm9ybWVybHlLbm93bkFzJ107XHJcbiAgLy8gfVxyXG5cclxuICBnZXQgc2ZFaWdodGZsYWcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NmRWlnaHRmbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkV29ya0NpdHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtDaXR5J107XHJcbiAgfVxyXG5cclxuICBnZXQgZmVkV29ya1N0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRXb3JrU3RhdGUnXTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgZmVkV29ya0NvdW50cnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZlZFdvcmtDb3VudHJ5J107XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0IHN0YXJ0RGF0ZUZlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc3RhcnREYXRlRmVkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW5kRGF0ZUZlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZUZlZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZEpvYlRpbGVPclBvc2l0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRKb2JUaWxlT3JQb3NpdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgLyogZ2V0IGNsYWltYW50RW1wbG95ZWRXaXRoRW1wcigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snY2xhaW1hbnRFbXBsb3llZFdpdGhFbXByJ107XHJcbiAgfSAqL1xyXG5cclxuICBnZXQgcGVyZm9ybWVkU2VydmljZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1sncGVyZm9ybWVkU2VydmljZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZFBlbnNpb25GbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRQZW5zaW9uRmxhZyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZFBlbnNpb25SZWN2RGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmZWRQZW5zaW9uUmVjdkRhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBzZXZQYXlGbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlGbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd2Vla2x5QW1vdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWyd3ZWVrbHlBbW91bnQnXTtcclxuICB9XHJcblxyXG4gIGdldCBudW1iZXJPZldlZWtzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydudW1iZXJPZldlZWtzJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc2V2UGF5QW1vdW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlBbW91bnQnXTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgc2V2UGF5U3RhcnREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXZQYXlTdGFydERhdGUnXTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgc2V2UGF5RW5kRGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snc2V2UGF5RW5kRGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNldlBheVBheW1lbnRTdGFydERhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3NldlBheVBheW1lbnRTdGFydERhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCByZWdFbXBsb3llckZvdW5kKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZWdFbXBsb3llckZvdW5kJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1wbG95ZXJJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJJZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZlZEVtcGxveWVyTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmVkRW1wbG95ZXJOYW1lJ107XHJcbiAgfVxyXG4gIGdldCBzZXJ2aWNlQnJhbmNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzZXJ2aWNlQnJhbmNoJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc3RhcnREYXRlTWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydzdGFydERhdGVNaWwnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbmREYXRlTWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlTWlsJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZGQyMTRGbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydkZDIxNEZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBsYXN0UGF5R3JhZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2xhc3RQYXlHcmFkZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3RkdXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydsYXN0ZHV0eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBsYWNlU2VwYXJhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydwbGFjZVNlcGFyYXRlZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG5vTGVhdmVEYXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydub0xlYXZlRGF5cyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbXBsZXRlZEZ1bGxUZXJtRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snY29tcGxldGVkRnVsbFRlcm1GbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcmVzZXJ2ZU9yR3VhcmRGbGFnKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydyZXNlcnZlT3JHdWFyZEZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBtaWxQZW5zaW9uRmxhZygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snbWlsUGVuc2lvbkZsYWcnXTtcclxuICB9XHJcblxyXG4gIGdldCBtaWxQZW5zaW9uUmVjdkRhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ21pbFBlbnNpb25SZWN2RGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZHJlc3NMaW5lMSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzTGluZTEnXTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRyZXNzTGluZTIoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzc0xpbmUyJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWRkcmVzc0xpbmUzKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3NMaW5lMyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpY0Rlc3RpbmF0aW9uTmFtZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydmaWNEZXN0aW5hdGlvbk5hbWUnXTtcclxuICB9XHJcblxyXG4gIGdldCByZXNlcnZlQnJhbmNoKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVCcmFuY2gnXTtcclxuICB9XHJcblxyXG4gIGdldCBzdGFydERhdGVSZXNlcnZlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZVJlc2VydmUnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbmREYXRlUmVzZXJ2ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydlbmREYXRlUmVzZXJ2ZSddO1xyXG4gIH1cclxuICBcclxuICBnZXQgZGQyMTRGaWxlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2RkMjE0RmlsZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZHJlc3MoKXtcclxuICAgIHJldHVybiB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snYWRkcmVzcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9zYUJwRW1wbG95ZXJGbGFnKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ29zYUJwRW1wbG95ZXJGbGFnJ107XHJcbiAgfVxyXG5cclxuICBnZXQgcHJldldvcmtlZFN0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1sncHJldldvcmtlZFN0YXRlJ107XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBvblRvZ2dsZUNoYW5nZVByZXZXb3JrZWRTdGF0ZShvYmo6IGFueSkge1xyXG4gICAgICB0aGlzLnJlYXNvblNlcGFyYXRpb24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmZpY0NvZGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuZmljRGVzdGluYXRpb25Db2RlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRyZXNzTGluZTIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzc0xpbmUzLnNldFZhbHVlKG51bGwpOyAgXHJcbiAgICAgIHRoaXMucGVuc2lvblJlY3ZEYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLndvcmtUeXBlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmVtcGxveWVyTmFtZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5vdGhTdGF0ZUVtcE5hbWUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMud29ya1N0YXRlLnNldFZhbHVlKG51bGwpOyBcclxuICAgICAgdGhpcy53b3JrQ2l0eS5zZXRWYWx1ZShudWxsKTsgXHJcbiAgICAgIHRoaXMuc3RhcnREYXRlLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmVuZERhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMucGF5UmF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5wYXlSYXRlRnJlcXVlbmN5LnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnBlbnNpb25GbGFnLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmVtcGxveWVyVGVsZXBob25lTnVtYmVyLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmpvYlRpbGVPclBvc2l0aW9uLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnJlZ1BlbnNpb25GbGFnLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLnJlZ1BlbnNpb25SZWN2RGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICB9XHJcblxyXG4gIG9uTW9kZWxDYW5jZWwoY2FuY2VsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm1vZGVsQ2FuY2VsLmVtaXQoY2FuY2VsKTtcclxuICB9XHJcblxyXG4gIHNldEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCkge1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NldEVtcGxveWVyIGNhbGxlZCcsIGVtcGxveWVyLCBcInR5cGVcIiwgdGhpcy5lbXBsb3llclR5cGUsICd0aGlzLmFkZEVtcGxveWVyRm9ybScsdGhpcy5hZGRFbXBsb3llckZvcm0pO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2VtcGxveWVyLnN0YXRlJywgZW1wbG95ZXIuc3RhdGUpXHJcbiAgICB0aGlzLmFkZHJlc3Muc2V0VmFsdWUoe2NvdW50cnk6ZW1wbG95ZXIuY291bnRyeSwgY2l0eTplbXBsb3llci5jaXR5XHJcbiAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzRGlzcGxheVZhbCxzdGF0ZTplbXBsb3llci5zdGF0ZSxcclxuICAgIG9wdGlvbmFsQWRkcmVzczpudWxsLGNvdW50eTpudWxsLHRvd246bnVsbFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFkZHJlc3MuZGlzYWJsZSgpO1xyXG4gICAgdGhpcy5hZGRyZXNzLnNldEVycm9ycyh7fSk7XHJcbiAgICB0aGlzLmVtcGxveWVyTmFtZS5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llck5hbWUpO1xyXG4gICAgdGhpcy5lbXBsb3llcklkLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVySWQpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTEuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUxKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMy5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTMpO1xyXG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKHRydWUpO1xyXG4gICAgdGhpcy5pc01hbnVhbEVudGVyRW1wID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRGZWRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpe1xyXG4gICAgdGhpcy5hZGRyZXNzMi5yZWFkb25seSA9IGZhbHNlXHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1Zygnc2V0RmVkRW1wbG95ZXIgY2FsbGVkJywgZW1wbG95ZXIsIFwiemlwIFwiLCBlbXBsb3llci56aXApO1xyXG4gICAgdGhpcy5maWNDb2RlLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5maWNDb2RlLnNldFZhbHVlKGVtcGxveWVyLmZpY0NvZGUpO1xyXG4gICAgdGhpcy5maWNDb2RlLmRpc2FibGUoKTtcclxuICAgIHRoaXMuZmVkRW1wbG95ZXJOYW1lLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVyTmFtZSk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5lbmFibGUoKTtcclxuICAgIHRoaXMuZmljRGVzdGluYXRpb25OYW1lLnNldFZhbHVlKGVtcGxveWVyLmZpY0Rlc3RpbmF0aW9uTmFtZSk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uSWQuc2V0VmFsdWUoZW1wbG95ZXIuZmljRGVzdGluYXRpb25JZCk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uTmFtZS5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmZpY0Rlc3RpbmF0aW9uQ29kZS5zZXRWYWx1ZShlbXBsb3llci5maWNEZXN0aW5hdGlvbkNvZGUpO1xyXG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5OmVtcGxveWVyLmNvdW50cnksIGNpdHk6ZW1wbG95ZXIuY2l0eVxyXG4gICAgICAsIHppcDplbXBsb3llci56aXAsc3RyZWV0QWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTEsc3RhdGU6ZW1wbG95ZXIuc3RhdGUsXHJcbiAgICAgIG9wdGlvbmFsQWRkcmVzczplbXBsb3llci5hZGRyZXNzTGluZTIsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcclxuICAgIHRoaXMuZW1wbG95ZXJJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcclxuICAgIHRoaXMuYWRkcmVzc0xpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XHJcbiAgICB0aGlzLmFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xyXG4gICAgdGhpcy5hZGRyZXNzTGluZTMuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUzKTtcclxuICAgIHRoaXMucmVnRW1wbG95ZXJGb3VuZC5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgICB0aGlzLmFkZHJlc3MyLnJlYWRvbmx5ID0gdHJ1ZTtcclxuICAgIHRoaXMuaXNNYW51YWxFbnRlckVtcCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRGZWRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpe1xyXG4gICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5hZGRyZXNzLnNldFZhbHVlKHtjb3VudHJ5Om51bGwsIGNpdHk6bnVsbFxyXG4gICAgICAsIHppcDpudWxsLHN0cmVldEFkZHJlc3M6bnVsbCxzdGF0ZTpudWxsLFxyXG4gICAgICBvcHRpb25hbEFkZHJlc3M6bnVsbCxjb3VudHk6bnVsbCx0b3duOm51bGxcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnJlZ0VtcGxveWVyRm91bmQuc2V0VmFsdWUoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQpIHtcclxuICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncmVzZXRFbXBsb3llciBjYWxsZWQnLCBlbXBsb3llcik7XHJcbiAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgIHRoaXMuYWRkcmVzcy5zZXRWYWx1ZSh7Y291bnRyeTpudWxsLCBjaXR5Om51bGxcclxuICAgICAgLCB6aXA6bnVsbCxzdHJlZXRBZGRyZXNzOm51bGwsc3RhdGU6bnVsbCxcclxuICAgICAgb3B0aW9uYWxBZGRyZXNzOm51bGwsY291bnR5Om51bGwsdG93bjpudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5yZWdFbXBsb3llckZvdW5kLnNldFZhbHVlKGZhbHNlKTtcclxuICB9XHJcblxyXG5cclxuICBwdXRNaWxSZXNCcmFuY2hWYWxpZGF0aW9uKGV2ZW50KXtcclxuICAgIGlmIChldmVudC5vcHRpb24udmFsdWUgPT09ICdZJykge1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3Jlc2VydmVCcmFuY2gnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZVJlc2VydmUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2VuZERhdGVSZXNlcnZlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgb25PcHRpb25DaGFuZ2UoZXZlbnQpIHtcclxuICAgIGlmIChldmVudC5vcHRpb24udmFsdWUgIT09ICdZJykge1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3N0YXJ0RGF0ZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZW5kRGF0ZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snam9iVGlsZU9yUG9zaXRpb24nXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGUnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BheVJhdGVGcmVxdWVuY3knXS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ3BlbnNpb25GbGFnJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIC8vIHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydpc0NsbXRQYWlkV2hpbGVMb3cnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmKHRoaXMuaXNCYXNlUGVyaW9kRW1wbG95ZXIpIHtcclxuICAgICAgLy9yZW1vdmUgdmFsaWRhdG9yIHNpbmNlIGJhc2VQZXJpb2QgZW1wbG95ZXIgYWxyZWFkeSBoYXMgZW1wbG95ZXIgY29taW5nIGZyb20gYmFja2VuZFxyXG4gICAgICB0aGlzLmFkZHJlc3MuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgIHRoaXMuYWRkcmVzcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzRm9ybVN1Ym1pdHRlZC5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMuc2F2ZS52YWx1ZScsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgIHRoaXMuYWRkcmVzcy5lbmFibGUoKTtcclxuICAgIHRoaXMudmFsaWRhdGVXYWdlR3JpZCgpXHJcbiAgICBpZiAodGhpcy5hZGRFbXBsb3llckZvcm0udmFsaWQgJiYgdGhpcy5hZGRyZXNzLmVycm9ycyA9PT0gbnVsbCkgIHtcclxuICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmFkZEVtcGxveWVyRm9ybS52YWx1ZSk7XHJcbiAgICAgIHRoaXMuZGlzcGxheSA9IGZhbHNlOyBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWRkcmVzcy5kaXNhYmxlKCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgICAgY29uc3QgZml4RmllbGRzID0gT2JqZWN0LmVudHJpZXModGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHMpLmZpbHRlcih4ID0+ICF4WzFdLnZhbGlkKS5tYXAoeCA9PiB4WzBdKTtcclxuICAgICAgY29uc29sZS5sb2coXCJmaXggZmllbGRzOlwiLCBmaXhGaWVsZHMpO1xyXG4gICAgICBcclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcImFkZCBlbXBsb3llciBmYWlsdXJlIGluZm86XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcImFkZCBlbXBsb3llciBmYWlsdXJlIGVycm9yOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgbG9nOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTsgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLmlzRm9ybVN1Ym1pdHRlZC5zdWJtaXR0ZWQgPSB0cnVlO1xyXG5cdCAgaWYodGhpcy5lbXBsb3llclR5cGUudmFsdWUgIT0gJ01JTCcpIHtcclxuICAgICAgdGhpcy52YWxpZGF0ZVdhZ2VHcmlkKCk7XHJcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd2YWxpZGF0ZSBhZGRyZXNzIGNvbXBvbmVudCcpO1xyXG4gICAgICBpZih0aGlzLmlzTWFudWFsRW50ZXJFbXApIHtcclxuICAgICAgICAvL1ZhbGlkYXRlIGFkZHJlc3Mgb25seSB3aGVuIGFkZHJlc3MgaXMgbWFudWFsIGVudGVyZWRcclxuICAgICAgICB0aGlzLnZhbGlkYXRlQWRkcmVzcygpO1xyXG4gICAgICB9IGVsc2V7XHJcbiAgICAgICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmICh0aGlzLmFkZEVtcGxveWVyRm9ybS5pbnZhbGlkIHx8ICh0aGlzLmFkZHJlc3MuZXJyb3JzICYmIE9iamVjdC5rZXlzKHRoaXMuYWRkcmVzcy5lcnJvcnMpLmxlbmd0aCA+IDApKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuYWRkRW1wbG95ZXJGb3JtKTtcclxuICAgICAgY29uc3QgZml4RmllbGRzID0gT2JqZWN0LmVudHJpZXModGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHMpLmZpbHRlcih4ID0+ICF4WzFdLnZhbGlkKS5tYXAoeCA9PiB4WzBdKTtcclxuICAgICAgY29uc29sZS5sb2coXCJmaXggZmllbGRzOlwiLCBmaXhGaWVsZHMpO1xyXG5cclxuICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcImFkZCBlbXBsb3llciBmYWlsdXJlIGluZm86XCIsIHRoaXMubHMuZ2V0VXNlcigpLmNsYWltYW50SWQsIGZpeEZpZWxkcywgdGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcImFkZCBlbXBsb3llciBmYWlsdXJlIGVycm9yOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgdGhpcy5sb2dnZXIubG9nKFwiYWRkIGVtcGxveWVyIGZhaWx1cmUgbG9nOlwiLCB0aGlzLmxzLmdldFVzZXIoKS5jbGFpbWFudElkLCBmaXhGaWVsZHMsIHRoaXMuYWRkRW1wbG95ZXJGb3JtLnZhbHVlKTtcclxuICAgICAgXHJcbiAgICAgIC8vdGhpcy5hZGRyZXNzLmRpc2FibGUoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd0aGlzLmFkZC52YWx1ZScsIHRoaXMuYWRkRW1wbG95ZXJGb3JtKTsgXHJcbiAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS5jb250cm9sc1snZmljQ29kZSddLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2ZpY0Rlc3RpbmF0aW9uTmFtZSddLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5hZGRyZXNzLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5hZGRFbXBsb3llckZvcm0udmFsdWUpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJhZGQgZm9ybSBkZXRhaWxzIGFkZCgpLSBcIiwgdGhpcy5hZGRFbXBsb3llckZvcm0pO1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XHJcblxyXG4gIH1cclxuICB2YWxpZGF0ZVdhZ2VHcmlkKCkge1xyXG4gICAgdGhpcy53YWdlQW1vdW50QXJyYXkuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgaWYgKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlIT09J0ZFRCcgJiYgISh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHRoaXMuZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoT2JqZWN0LnZhbHVlcyh0aGlzLndhZ2VBbW91bnRBcnJheS5jb250cm9scykuZmlsdGVyKHggPT4geC52YWx1ZS53YWdlQW1vdW50ICE9PSAwKS5sZW5ndGggIT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy53YWdlQW1vdW50QXJyYXkuc2V0RXJyb3JzKHtyZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZDogdHJ1ZX0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVBZGRyZXNzKCkge1xyXG4gICAgLy8gQ2xlYXIgcHJldmlvdXMgZXJyb3JzIG9uIHRoZSBhZGRyZXNzIGNvbnRyb2xcclxuICAgIGNvbnN0IGFkZHJlc3NDb250cm9sID0gdGhpcy5hZGRFbXBsb3llckZvcm0uY29udHJvbHNbJ2FkZHJlc3MnXTtcclxuICBcclxuICAgIC8vIEdldCB0aGUgYWRkcmVzcyBjb21wb25lbnQgdmFsdWVcclxuICAgIGNvbnN0IGFkZHJlc3NDb21wVmFsdWU6IEFkZHJlc3NDb21wb25lbnRNb2RlbCA9IGFkZHJlc3NDb250cm9sLnZhbHVlO1xyXG4gIFxyXG4gICAgLy8gTGlzdCBvZiBhZGRyZXNzIGZpZWxkcyB0byB2YWxpZGF0ZVxyXG4gICAgY29uc3QgYWRkcmVzc0ZpZWxkcyA9IFsnc3RyZWV0QWRkcmVzcycsICdjaXR5JywgJ3N0YXRlJywgJ3ppcCcsICdjb3VudHJ5J107XHJcbiAgXHJcbiAgICBsZXQgaGFzRXJyb3JzID0gZmFsc2U7XHJcbiAgXHJcbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBmaWVsZCBhbmQgdmFsaWRhdGVcclxuICAgIGFkZHJlc3NGaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XHJcbiAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSBhZGRyZXNzQ29tcFZhbHVlPy5bZmllbGRdO1xyXG4gIFxyXG4gICAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgbWlzc2luZyBvciBlbXB0eVxyXG4gICAgICBpZiAoIWZpZWxkVmFsdWUpIHtcclxuICAgICAgICAvLyBTZXQgcmVxdWlyZWQgZXJyb3IgaWYgZmllbGQgaXMgbWlzc2luZ1xyXG4gICAgICAgIHRoaXMuc2V0RmllbGRFcnJvcihmaWVsZCwgdHJ1ZSk7XHJcbiAgICAgICAgaGFzRXJyb3JzID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBDbGVhciBlcnJvciBpZiBmaWVsZCBoYXMgdmFsdWVcclxuICAgICAgICB0aGlzLnNldEZpZWxkRXJyb3IoZmllbGQsIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgXHJcbiAgICAvLyBJZiB0aGVyZSBhcmUgZXJyb3JzIGluIGFueSBmaWVsZCwgbWFyayB0aGUgYWRkcmVzcyBjb250cm9sIGFzIGludmFsaWRcclxuICAgIGlmIChoYXNFcnJvcnMpIHtcclxuICAgICAgYWRkcmVzc0NvbnRyb2wuc2V0RXJyb3JzKHsgYWRkcmVzc1ZhbGlkYXRpb25GbGFnOiB0cnVlIH0pO1xyXG4gICAgICBpZiAodGhpcy5lbXBsb3llckZvcm1FbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5lbXBsb3llckZvcm1FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnc3RhcnQnIH0pOyAgLy8gRm9jdXMgdGhlIGVycm9yIGVsZW1lbnRcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYWRkcmVzc0NvbnRyb2wuc2V0RXJyb3JzKG51bGwpOyAgLy8gQ2xlYXIgZXJyb3IgaWYgZXZlcnl0aGluZyBpcyB2YWxpZFxyXG4gICAgfVxyXG4gIFxyXG4gICAgLy8gVXBkYXRlIHZhbGlkaXR5IG9mIHRoZSBmb3JtXHJcbiAgICB0aGlzLmFkZEVtcGxveWVyRm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgXHJcbiAgICAvLyBTdWJtaXQgYWRkcmVzczEgYW5kIGFkZHJlc3MyIGlmIHRoZXkgZXhpc3RcclxuICAgIGlmICh0aGlzLmFkZHJlc3MxKSB7XHJcbiAgICAgIHRoaXMuYWRkcmVzczEuc3VibWl0KCk7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmFkZHJlc3MyKXtcclxuICAgICAgdGhpcy5hZGRyZXNzMi5zdWJtaXQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHNldCBvciBjbGVhciBlcnJvcnMgZm9yIGVhY2ggYWRkcmVzcyBmaWVsZFxyXG4gIHNldEZpZWxkRXJyb3IoZmllbGQ6IHN0cmluZywgaXNFcnJvcjogYm9vbGVhbikge1xyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuYWRkRW1wbG95ZXJGb3JtLmNvbnRyb2xzWydhZGRyZXNzJ10uZ2V0KGZpZWxkKTtcclxuICAgIGlmIChpc0Vycm9yKSB7XHJcbiAgICAgIGNvbnRyb2w/LnNldEVycm9ycyh7IHJlcXVpcmVkOiB0cnVlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29udHJvbD8uc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RmVkV29ya1N0YXRlVmFsdWVzKGV2ZW50KXtcclxuICAgIGlmKGV2ZW50LnZhbHVlICE9PSAnVVMnKXtcclxuICAgICAgdGhpcy5mZWRXb3JrU3RhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJKb2JUaWxlT3JQb3NpdGlvbihldmVudCkge1xyXG4gICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQoYC9jbGFpbXMtc2VydmljZS9jbGFpbS9qb2J0aXRsZS9gICsgYCR7ZXZlbnQucXVlcnl9YCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXMnLCByZXMpO1xyXG4gICAgICAgIHRoaXMuam9iVGlsZU9yUG9zaXRpb25PcHRpb25zID0gcmVzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlckZlZEpvYlRpbGVPclBvc2l0aW9uKGV2ZW50KSB7XHJcbiAgICB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldChgL2NsYWltcy1zZXJ2aWNlL2NsYWltL2pvYnRpdGxlL2AgKyBgJHtldmVudC5xdWVyeX1gKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3JlcycsIHJlcyk7XHJcbiAgICAgICAgdGhpcy5mZWRKb2JUaWxlT3B0aW9ucyA9IHJlcztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJEaXNjaGFyZ2VSZWFzb25zKGV2ZW50KSB7XHJcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBzZXBSZWFzb24gPSB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGxbaV07XHJcbiAgICAgIGlmIChzZXBSZWFzb24udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xyXG4gICAgICAgIGZpbHRlcmVkLnB1c2goc2VwUmVhc29uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zID0gZmlsdGVyZWQ7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJWb2x1bnRhcnlSZWFzb24oZXZlbnQpIHtcclxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcclxuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBzZXBSZWFzb24gPSB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsW2ldO1xyXG4gICAgICBpZiAoc2VwUmVhc29uLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICBmaWx0ZXJlZC5wdXNoKHNlcFJlYXNvbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnMgPSBmaWx0ZXJlZDtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGV2ZW50KSB7XHJcbiAgICBpZihldmVudC50YXJnZXQ/LnZhbHVlKXtcclxuICAgICAgdGhpcy5taW5EYXRlID0gbmV3IERhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIH0gZWxzZSBpZiggZXZlbnQgaW5zdGFuY2VvZiBEYXRlKXtcclxuICAgICAgdGhpcy5taW5EYXRlID0gZXZlbnQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVuZERhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlJywgdGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlKSAgXHJcbiAgfVxyXG5cclxud2FnZUFycmF5KHF0cldhZ2U6UXRyWWVhckVtcGxveWVyV2FnZU1vZGVsKTogVW50eXBlZEZvcm1Hcm91cCB7XHJcbiAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgd2FnZUFtb3VudDogW3F0cldhZ2Uud2FnZUFtb3VudCE9bnVsbD9xdHJXYWdlLndhZ2VBbW91bnQ6bnVsbCwgQXBwVmFsaWRhdG9ycy5yZXF1aXJlZElmVmFsaWRhdG9yKCgpID0+ICgoKHRoaXMuZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcpIHx8ICh0aGlzLmVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHF0cldhZ2UuZGlzcGxheUZvckFsbCAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZSAmJiB0aGlzLndvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PXRoaXMuY3VycmVudFN0YXRlKSApKSldLFxyXG4gICAgcXVhcnRlcjogW3F0cldhZ2UucXVhcnRlciE9bnVsbD9xdHJXYWdlLnF1YXJ0ZXI6bnVsbF0sXHJcbiAgICB5ZWFyOiBbcXRyV2FnZS55ZWFyIT1udWxsP3F0cldhZ2UueWVhcjpudWxsXSxcclxuICAgIHF0clllYXJEaXNwbGF5U3RyaW5nOiBbcXRyV2FnZS5xdHJZZWFyRGlzcGxheVN0cmluZyE9bnVsbD9xdHJXYWdlLnF0clllYXJEaXNwbGF5U3RyaW5nOm51bGxdLFxyXG4gICAgZGlzcGxheU9yZGVyOiBbcXRyV2FnZS5kaXNwbGF5T3JkZXIhPW51bGw/cXRyV2FnZS5kaXNwbGF5T3JkZXI6bnVsbF0sXHJcbiAgICBkaXNwbGF5Rm9yQWxsOiBbcXRyV2FnZS5kaXNwbGF5Rm9yQWxsIT1udWxsP3F0cldhZ2UuZGlzcGxheUZvckFsbDpudWxsXSxcclxuICB9KVxyXG59XHJcblxyXG5zZXRXYWdlVmFsaWRhdGlvbigpIHtcclxuICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLndhZ2VBbW91bnRBcnJheSwgQXBwVmFsaWRhdG9ycy5hdExlYXN0T25lTm9uWmVyb1ZhbHVlVmFsaWRhdG9yKDEsICd3YWdlQW1vdW50JykpO1xyXG4gIHRoaXMubG9nZ2VyLmRlYnVnKCdzZXR0aW5nIHZhbGlkYXRpb24gZm9yIGZlZCBlbXBsb3llcicpO1xyXG59XHJcblxyXG5yZW1vdmVXYWdlVmFsaWRhdGlvbigpIHtcclxuICBpZih0aGlzLmVtcGxveWVyVHlwZS52YWx1ZSAhPSAnRkVEJyl7XHJcbiAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud2FnZUFtb3VudEFycmF5KTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZW1vdmluZyB2YWxpZGF0aW9uIGZvciBmZWQgZW1wbG95ZXInKTtcclxuICB9XHJcbn1cclxuXHJcbiAgdmFsaWRhdGVXYWdlc0Rpc3BsYXkoZXZlbnQpe1xyXG4gICAgbGV0IGJwU3RhcnREYXRlOiBEYXRlID0gbmV3IERhdGUodGhpcy5iYXNlUGVyaW9kU3RhcnREYXRlKTtcclxuICAgIGxldCBicEVuZERhdGU6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmJhc2VQZXJpb2RFbmREYXRlKTtcclxuICAgIGxldCBzdGFydGVEYXRlVmFsOiBEYXRlID0gbmV3IERhdGUodGhpcy5zdGFydERhdGUudmFsdWUpO1xyXG4gICAgbGV0IGVuZERhdGVWYWw6IERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZERhdGUudmFsdWUpO1xyXG4gICAgLy8gbGV0IGVuZERhdGVWYWw6IERhdGUgPSBldmVudC50YXJnZXQ/LnZhbHVlID8gbmV3IERhdGUoZXZlbnQudGFyZ2V0LnZhbHVlKSA6IGV2ZW50O1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JwU3RhcnREYXRlICcsIGJwU3RhcnREYXRlLCAnc3RhcnRlRGF0ZVZhbCAnLCBzdGFydGVEYXRlVmFsKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdlbmREYXRlVmFsICcsIGVuZERhdGVWYWwsICdicEVuZERhdGUgJywgYnBFbmREYXRlKTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdzdGFydGVEYXRlVmFsIGJlZm9yZSBicEVuZERhdGUgJywgc3RhcnRlRGF0ZVZhbCA8IGJwRW5kRGF0ZSk7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZW5kRGF0ZVZhbCBhZnRlciBicFN0YXJ0RGF0ZSAnLCBlbmREYXRlVmFsID4gYnBTdGFydERhdGUpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3RoaXMud29ya1N0YXRlICcsIHRoaXMud29ya1N0YXRlKTtcclxuICAgIGlmICh0aGlzLmVtcGxveWVyVHlwZT8udmFsdWUgPT09ICdSRUcnICYmIHRoaXMud29ya1N0YXRlLnZhbHVlICYmIHRoaXMud29ya1N0YXRlLnZhbHVlLnZhbHVlID09IHRoaXMuY3VycmVudFN0YXRlICYmIHRoaXMuaXNOZXdDbGFpbSkge1xyXG4gICAgICAgIGlmIChzdGFydGVEYXRlVmFsLmdldFRpbWUoKSA8IGJwRW5kRGF0ZS5nZXRUaW1lKCkgJiYgZW5kRGF0ZVZhbC5nZXRUaW1lKCk+IGJwU3RhcnREYXRlLmdldFRpbWUoKSkge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZSh0cnVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy5zZXRWYWx1ZShmYWxzZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJHcm91cGVkUmVhc29uKGV2ZW50KSB7XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdxdWVyeScscXVlcnkpO1xyXG4gICAgbGV0IGZpbHRlcmVkR3JvdXBzID0gW107XHJcbiAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICB0aGlzLmdyb3VwZWRSZWFzb25zPSBDb21ib09wdGlvbi5HUk9VUF9SRUFTT05TX0VTO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ncm91cGVkUmVhc29ucz0gQ29tYm9PcHRpb24uR1JPVVBfUkVBU09OUztcclxuICAgIH1cclxuICAgIGZvciAobGV0IG9wdGdyb3VwIG9mIHRoaXMuZ3JvdXBlZFJlYXNvbnMpIHtcclxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ29wdGdyb3VwLml0ZW1zJyxvcHRncm91cC5pdGVtcyk7XHJcbiAgICAgIGxldCBmaWx0ZXJlZFN1Yk9wdGlvbnMgPSB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyKFxyXG4gICAgICAgIG9wdGdyb3VwLml0ZW1zLFxyXG4gICAgICAgIFtcImxhYmVsXCJdLFxyXG4gICAgICAgIHF1ZXJ5LFxyXG4gICAgICAgIFwiY29udGFpbnNcIlxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZmlsdGVyZWRTdWJPcHRpb25zJyxmaWx0ZXJlZFN1Yk9wdGlvbnMpO1xyXG4gICAgICBpZiAoZmlsdGVyZWRTdWJPcHRpb25zICYmIGZpbHRlcmVkU3ViT3B0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgICBmaWx0ZXJlZEdyb3Vwcy5wdXNoKHtcclxuICAgICAgICAgIGxhYmVsOiBvcHRncm91cC5sYWJlbCxcclxuICAgICAgICAgIHZhbHVlOiBvcHRncm91cC52YWx1ZSxcclxuICAgICAgICAgIGl0ZW1zOiBmaWx0ZXJlZFN1Yk9wdGlvbnNcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ3JvdXBlZFJlYXNvbnMgPSBmaWx0ZXJlZEdyb3VwcztcclxuICB9XHJcblxyXG4gIG9uQ2xlYXJBY3Rpb24oZXZlbnQpIHtcclxuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XHJcbiAgfSAgXHJcbiAgXHJcblxyXG4gIGRhdGVJbnB1dChldmVudCl7XHJcbiAgICBsZXQgY3VycmVudFZhbHVlIDogc3RyaW5nID0gZXZlbnQuc3JjRWxlbWVudC52YWx1ZTtcclxuICAgIGlmKGN1cnJlbnRWYWx1ZSl7XHJcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxlbmd0aCA9PSAyICYmIGN1cnJlbnRWYWx1ZS5jaGFyQXQoMikgIT0gJy8nKXtcclxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gNSAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDUpICE9ICcvJyl7XHJcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHJlcXVpcmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi5yZXF1aXJlZCcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlcXVpcmVkS2Fuc2FzKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZXF1aXJlZC5rYW5zYXMnKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxwLWRpYWxvZyB2aXNpYmxlPVwidHJ1ZVwiIHBvc2l0aW9uPVwidG9wXCIgYXBwZW5kVG89XCJib2R5XCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCJcclxuICBbcmVzaXphYmxlXT1cImZhbHNlXCIgW3N0eWxlXT1cInt3aWR0aDogJzYwdncnfVwiXHJcbiAgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIj5cclxuICA8aDQgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZXkpOyBwYWRkaW5nLWxlZnQ6IDIwcHg7XCI+IHt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmhlYWRpbmdcInx0cmFuc2xhdGV9fVxyXG4gIDwvaDQ+XHJcbiAgPGZvcm0gI2VtcGxveWVyRm9ybSBbZm9ybUdyb3VwXT1cImFkZEVtcGxveWVyRm9ybVwiPlxyXG4gICAgPGlvbi1ncmlkICpuZ0lmPVwiYWRkRW1wbG95ZXJGb3JtPy5jb250cm9sc1wiPiA8IS0tVG8gUmV2aWV3LS0+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICB7e2N1c3RvbWVyTmFtZX19XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFsaWFzTmFtZSAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5kYmFcInx0cmFuc2xhdGV9fSB7e2FsaWFzTmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPiB7e21haWxpbmdBZGRyZXNzRGlzcGxheX19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NTUlwiPlxyXG4gICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIud2FnZXNcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNDU1JcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlIFt2YWx1ZV09XCJlbXBsb3llclByb3ZpZGVkV2FnZXNcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImVtcGxveWVyUHJvdmlkZWRXYWdlc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyBjb2wucXRyWWVhckRpc3BsYXlTdHJpbmcgfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2NvbC53YWdlQW1vdW50IHwgY3VycmVuY3l9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid29ya0ZsYWc/LnZhbHVlID09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC53b3JrZmxhZy5ub1wifHRyYW5zbGF0ZX19PGJyIC8+IDxiciAvPlxyXG4gICAgICAgICAgICAgICAge3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQud29ya2ZsYWcubm8ubGluZTJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PiBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZW1wbG95ZXJUeXBlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5lbXBsb3llci50eXBlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogaW5oZXJpdDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZW1wbG95ZXJUeXBlXCIgW29wdGlvbnNdPVwiZW1wbG95ZXJUeXBlT3B0aW9uc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJUeXBlXCIgW2NsYXNzLmRpc2FibGVkXT1cIm5vRWRpdE1vZGVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyVHlwZScgW2VyckRlZl09XCJ7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwcmV2V29ya2VkU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lndvcmsuc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicHJldldvcmtlZFN0YXRlXCIgW29wdGlvbnNdPVwicHJldldvcmtlZFN0YXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwcmV2V29ya2VkU3RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCIgW2NsYXNzLmRpc2FibGVkXT1cIm5vRWRpdE1vZGVcIlxyXG4gICAgICAgICAgICAgICAgICAob25PcHRpb25DbGljayk9XCJvblRvZ2dsZUNoYW5nZVByZXZXb3JrZWRTdGF0ZSgkZXZlbnQpXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwcmV2V29ya2VkU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZW1wbG95ZXIubmFtZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJldldvcmtlZFN0YXRlLnZhbHVlPT09J0tTJzsgZWxzZSBlbHNlQmxvY2tcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVyIGlucHV0SWQ9XCJlbXBsb3llck5hbWVcIiBbZm9ybUNvbnRyb2xdPVwiZW1wbG95ZXJOYW1lXCIgZW1wVHlwZT1cIlJFR1wiIChvbkZvdW5kKT1cInNldEVtcGxveWVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAob25FbXB0eSk9XCJyZXNldEVtcGxveWVyKCRldmVudClcIj48L2FwcC1zZWFyY2gtZW1wbG95ZXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbXBsb3llck5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJvdGhTdGF0ZUVtcE5hbWVcIiBtYXhsZW5ndGg9XCI1MFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RoU3RhdGVFbXBOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwid2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZEVtcGxveWVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZW1wbG95ZXIuZmVkLm5hbWVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgW2Zvcm1Db250cm9sXT1cImZlZEVtcGxveWVyTmFtZVwiIGVtcFR5cGU9XCJGRURcIiAob25Gb3VuZCk9XCJzZXRGZWRFbXBsb3llcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChvbkVtcHR5KT1cInJlc2V0RmVkRW1wbG95ZXIoJGV2ZW50KVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkRW1wbG95ZXJOYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBpZD1cInNlcnZpY2VCcmFuY2gtbGFiZWxcIiBmb3I9XCJzZXJ2aWNlQnJhbmNoXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc2VydmljZS5icmFuY2hcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwibWlsaXRhcnlTZXJ2aWNlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXJ2aWNlQnJhbmNoXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInNlcnZpY2VCcmFuY2hcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NlcnZpY2VCcmFuY2gnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwibWlsLXN0YXRlLWxhYmVsXCIgZm9yPVwibWlsLXN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBoeXNpY2FsLmxvY2F0aW9uXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtmb3JtQ29udHJvbF09XCJtaWxTdGF0ZVwiIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBvcHRpb25MYWJlbD1cInRleHRcIiBpbnB1dElkPVwibWlsLXN0YXRlXCIgYXBwZW5kVG89XCJib2R5XCI+XHJcblxyXG4gICAgICAgICAgICAgIDwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIGNsYXNzPVwiYXBwLWdyaWRcIiBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbZmllbGRdPVwibWlsU3RhdGVcIiBbZXJyRGVmXT1cIntcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkS2Fuc2FzOiByZXF1aXJlZEthbnNhc1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXRlTWlsXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuc3RhcnRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwic3RhcnREYXRlTWlsXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic3RhcnREYXRlTWlsXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlTWlsXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluV29ya1N0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERhdGVNaWwnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbmREYXRlTWlsXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwuZW5kZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cImVuZERhdGVNaWxcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJlbmREYXRlTWlsXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlTWlsXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VuZERhdGVNaWwnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgaGlkZUZpY0NvZGVcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmljQ29kZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLmZpYy5jb2RlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNDb2RlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZmljQ29kZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmaWNDb2RlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZmljRGVzdGluYXRpb25OYW1lXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuZmljLmRlc3RpbmF0aW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmaWNEZXN0aW5hdGlvbk5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmaWNEZXN0aW5hdGlvbk5hbWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmljRGVzdGluYXRpb25OYW1lJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmctbGVmdDogMHB4OyBwYWRkaW5nLXJpZ2h0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWFkZHJlc3MgI2FkZHJlc3MxIFtmb3JtQ29udHJvbF09XCJhZGRyZXNzXCIgW2NvdW50eVJlcXVpcmVkXT1cImZhbHNlXCIgW2Zyb21Qb3B1cF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGFwcC1hZGRyZXNzIHJlYWRvbmx5PVwidHJ1ZVwiICNhZGRyZXNzMiBbZm9ybUNvbnRyb2xdPVwiYWRkcmVzc1wiIFtjb3VudHlSZXF1aXJlZF09XCJmYWxzZVwiIFtmcm9tUG9wdXBdPVwidHJ1ZVwiPiA8L2FwcC1hZGRyZXNzPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPVwiYWRkcmVzc1wiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPG1hdC1lcnJvciBjbGFzcz1cImFwcC1ncmlkXCIgKm5nSWY9XCJhZGRyZXNzPy5lcnJvcnM/LmFkZHJlc3NWYWxpZGF0aW9uRmxhZyAmJiBpc0Zvcm1TdWJtaXR0ZWQuc3VibWl0dGVkXCI+XHJcbiAgICAgICAgICAgICAgICB7e1wiY29tbW9uLnZhbGlkLmFkZHJlc3NcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya0NpdHlcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uY2l0eVwifHRyYW5zbGF0ZX19IDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndvcmtDaXR5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid29ya0NpdHlcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrQ2l0eScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cIndvcmtTdGF0ZS1sYWJlbFwiIGZvcj1cIndvcmtTdGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5zdGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicHJldldvcmtlZFN0YXRlLnZhbHVlPT09J0tTJz9zdGF0ZXNPcHRpb25zOm5vbktTU3RhdGVzT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIndvcmtTdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dElkPVwid29ya1N0YXRlXCIgKG9uQ2hhbmdlKT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwiZmVkV29ya0NvdW50cnktbGFiZWxcIiBmb3I9XCJmZWRXb3JrQ291bnRyeVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLndvcmsubG9jYXRpb24uY291bnRyeVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ3b3JrQ291bnRyeU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya0NvdW50cnlcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiZmVkV29ya0NvdW50cnlcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFdvcmtDb3VudHJ5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRXb3JrQ2l0eVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQud29yay5sb2NhdGlvbi5jaXR5XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJmZWRXb3JrQ2l0eVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImZlZFdvcmtDaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZmVkV29ya0NpdHknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIiAqbmdJZj1cInNob3dXb3JrU3RhdGUgPT09IHRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJmZWRXb3JrU3RhdGUtbGFiZWxcIiBmb3I9XCJmZWRXb3JrU3RhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LndvcmsubG9jYXRpb24uc3RhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInN0YXRlc09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwiZmVkV29ya1N0YXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJmZWRXb3JrU3RhdGVcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRXb3JrU3RhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZUZlZFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBpbnB1dElkPVwic3RhcnREYXRlRmVkXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlRmVkXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgKG9uQmx1cik9XCJ2YWxpZGF0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwidmFsaWRhdGUoJGV2ZW50KVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cIm1pbldvcmtTdGFydERhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhcnREYXRlRmVkJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVuZERhdGVGZWRcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5lbmRkYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBpY29uQXJpYUxhYmVsPVwiZW5kRGF0ZUZlZFwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImVuZERhdGVGZWRcIiBbbWF4RGF0ZV09XCJkYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW2Zvcm1Db250cm9sXT1cImVuZERhdGVGZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW5kRGF0ZUZlZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlZEpvYlRpbGVPclBvc2l0aW9uXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuam9idGl0bGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJmZWRKb2JUaWxlT3JQb3NpdGlvblwiXHJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIxMDBcIiAvPlxyXG4gICAgICAgICAgICAgIDwhLS0gIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiZmVkSm9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiZmVkSm9iVGlsZU9wdGlvbnNcIiBcclxuICAgICAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJmaWx0ZXJGZWRKb2JUaWxlT3JQb3NpdGlvbigkZXZlbnQpXCIgZmllbGQ9XCJqb2JUaXRsZVwiIFtkcm9wZG93bl09XCJmYWxzZVwiIFxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTdGFydC4uLiB0eXBpbmcgam9iIHRpdGxlXCIgbWluTGVuZ3RoPTMgZm9yY2VTZWxlY3Rpb249XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LXZhbHVlIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7dmFsdWUuam9iVGl0bGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT4gLS0+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZEpvYlRpbGVPclBvc2l0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZkVpZ2h0ZmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNmZWlnaHRcInx0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInNmRWlnaHRmbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZkVpZ2h0ZmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZkVpZ2h0ZmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnN0YXJ0ZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cInN0YXJ0RGF0ZVwiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInN0YXJ0RGF0ZVwiIFttYXhEYXRlXT1cImRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIFttaW5EYXRlXT1cIm1pbldvcmtTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIChvbkJsdXIpPVwidmFsaWRhdGUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlKCRldmVudClcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbmREYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW5kZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgaWNvbkFyaWFMYWJlbD1cImVuZERhdGVcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJlbmREYXRlXCIgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heERhdGVdPVwiZGF0ZVRpbWVcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtmb3JtQ29udHJvbF09XCJlbmREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAob25CbHVyKT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cInZhbGlkYXRlV2FnZXNEaXNwbGF5KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbmREYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDwhLS0gPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm51bWJlckVtcGxveWVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZWVzLm5vXCIgfCB0cmFuc2xhdGV9fSA8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBbaWRdPVwibnVtYmVyRW1wbG95ZWRcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyRW1wbG95ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdudW1iZXJFbXBsb3llZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxXCI+PC9pb24tY29sPiAtLT5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya1R5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy53b3JrLnR5cGVcIiB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid29ya1R5cGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3b3JrVHlwZVwiIG1heGxlbmd0aD1cIjUwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtUeXBlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNsYWltYW50RW1wbG95ZWRXaXRoRW1wclwiPldlcmUgeW91IGVtcGxveWVkIHdoaWxlIGEgc3BvdXNlIG9mIGEgVVMgbWlsaXRhcnkgbWVtYmVyIHN0YXRpb25lZCBhdFxyXG4gICAgICAgICAgICAgICAgYSBmb3JlaWduIG1pbGl0YXJ5IGJhc2U/PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJ5ZXNOb05hT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJjbGFpbWFudEVtcGxveWVkV2l0aEVtcHJcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjbGFpbWFudEVtcGxveWVkV2l0aEVtcHInICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZXJmb3JtZWRTZXJ2aWNlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuY2l2aWxpYW4ud29ya1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJwZXJmb3JtZWRTZXJ2aWNlXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZXJmb3JtZWRTZXJ2aWNlXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGVyZm9ybWVkU2VydmljZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiam9iVGlsZU9yUG9zaXRpb25cIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5qb2J0aXRsZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJqb2JUaWxlT3JQb3NpdGlvblwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImpvYlRpbGVPclBvc2l0aW9uXCIgbWF4bGVuZ3RoPVwiMTAwXCIgLz5cclxuICAgICAgICAgICAgICA8IS0tIDxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiam9iVGlsZU9yUG9zaXRpb25cIiBbc3VnZ2VzdGlvbnNdPVwiam9iVGlsZU9yUG9zaXRpb25PcHRpb25zXCIgXHJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwiZmlsdGVySm9iVGlsZU9yUG9zaXRpb24oJGV2ZW50KVwiIGZpZWxkPVwiam9iVGl0bGVcIiAob25DbGVhcik9XCJvbkNsZWFyQWN0aW9uKCRldmVudClcIiBcclxuICAgICAgICAgICAgICAgICBbZHJvcGRvd25dPVwiZmFsc2VcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0Li4uIHR5cGluZyBqb2IgdGl0bGVcIiBtaW5MZW5ndGg9MyBmb3JjZVNlbGVjdGlvbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtdmFsdWUgcFRlbXBsYXRlPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t2YWx1ZS5qb2JUaXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPiAtLT5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nam9iVGlsZU9yUG9zaXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGlzQmFzZVBlcmlvZEVtcGxveWVyICYmIHdvcmtGbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7IHBhZGRpbmctbGVmdDogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwYXlSYXRlXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgW21heF09XCI5OTk5OTkuOTlcIiBtYXhsZW5ndGg9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwicGF5UmF0ZUZyZXF1ZW5jeS1sYWJlbFwiIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZXJcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cInBheVJhdGVPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInBheVJhdGVGcmVxdWVuY3lcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInBheVJhdGVGcmVxdWVuY3lcIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlRnJlcXVlbmN5JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LmVtcGxveWVyLnBob25lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG5cclxuICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgbWFzaz1cIjk5OS05OTktOTk5OVwiIGlucHV0SWQ9XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiIFtmb3JtQ29udHJvbF09XCJlbXBsb3llclRlbGVwaG9uZU51bWJlclwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIjk5OS05OTktOTk5OVwiPjwvcC1pbnB1dE1hc2s+XHJcblxyXG5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJUZWxlcGhvbmVOdW1iZXInIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09J1JFRycgfHwgZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJyZWFzb25TZXBhcmF0aW9uLWxhYmVsXCIgZm9yPVwicmVhc29uU2VwYXJhdGlvblwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJyZWFzb25TZXBhcmF0aW9uLWxhYmVsXCIgZm9yPVwicmVhc29uU2VwYXJhdGlvblwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5yZWFzb24uc2VwYXJhdGlvblwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJyZWFzb25TZXBhcmF0aW9uXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cInJlYXNvblNlcGFyYXRpb25cIj48L3AtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlYXNvblNlcGFyYXRpb24nIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIGFkZCBmb3IgcXVpdCBhbmQgZGlzY2hhcmdlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInJlYXNvblNlcGFyYXRpb24udmFsdWU/LnZhbHVlID09PSAnRENGSScgXHJcbiAgICAgICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWUhPSdNSUwnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGlkPVwiZGlzY2hhcmdlRGV0YWlsLWxhYmVsXCIgZm9yPVwiZGlzY2hhcmdlRGV0YWlsXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24uZGlzY2hhcmdlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwiZGlzY2hhcmdlRGV0YWlsXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cImRpc2NoYXJnZURldGFpbFwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlRGV0YWlsJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJyZWFzb25TZXBhcmF0aW9uLnZhbHVlPy52YWx1ZSA9PT0gJ1ZPTFEnIFxyXG4gICAgICAgICAgICAgICYmIGVtcGxveWVyVHlwZS52YWx1ZSE9J01JTCdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgaWQ9XCJ2b2xRdWl0RGV0YWlscy1sYWJlbFwiIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2xRdWl0RGV0YWlsc1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ2b2xRdWl0RGV0YWlsc1wiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndm9sUXVpdERldGFpbHMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdNSUwnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJtaWxQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50Lm1pbC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwibWlsUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cIm1pbFBlbnNpb25GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbWlsUGVuc2lvbkZsYWcnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgJiYgdGhpcy5taWxQZW5zaW9uRmxhZy52YWx1ZSA9PT0gJ1knICYmIHRoaXMuY3VycmVudFN0YXRlICE9ICdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibWlsUGVuc2lvblJlY3ZEYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5taWwucGVuc2lvbi5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJtaWxQZW5zaW9uUmVjdkRhdGVcIiBbZm9ybUNvbnRyb2xdPVwibWlsUGVuc2lvblJlY3ZEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdtaWxQZW5zaW9uUmVjdkRhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J01JTCcgXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRkMjE0RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQubWlsLmRkMjE0XCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICA8L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OiBpbmxpbmUtZmxleDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwiZGQyMTRGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJkZDIxNEZsYWdcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJkZDIxNEluZm9cIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGQyMTRGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWRcIj5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llclwiIGNsYXNzPVwiaW9uLWhpZGUtc20tZG93blwiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBjbGFzcz1cImlvbi1oaWRlLXNtLWRvd25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImlzQmFzZVBlcmlvZEVtcGxveWVyXCIgY2xhc3M9XCJpb24taGlkZS1zbS1kb3duXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiBkZDIxNEZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cImJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwicGFyYU9uZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxhcHAtZmlsZS11cGxvYWRlciBbZm9ybUNvbnRyb2xdPVwiZGQyMTRGaWxlXCIgW3VwbG9hZGVkRmlsZUZvckVkaXRdPVwiZGQyMTRGaWxlLnZhbHVlXCI+PC9hcHAtZmlsZS11cGxvYWRlcj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFUd28gfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocGFyYVRocmVlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFGb3VyIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHBhcmFTaXh8IHRyYW5zbGF0ZSlcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMTVweDtcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nTUlMJyAmJiBkZDIxNEZsYWcudmFsdWU9PT0nTidcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cImJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJub1BhcmFPbmUgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8YXBwLWZpbGUtdXBsb2FkZXIgW2Zvcm1Db250cm9sXT1cImRkMjE0RmlsZVwiIFt1cGxvYWRlZEZpbGVGb3JFZGl0XT1cImRkMjE0RmlsZS52YWx1ZVwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFUd28gfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhVGhyZWUgfCB0cmFuc2xhdGUpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwobm9QYXJhRm91ciB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctbGVmdDogMTVweDtcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChub1BhcmFGaXZlIHwgdHJhbnNsYXRlKVwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgb3NhQnBFbXBsb3llckZsYWcudmFsdWUgPT09JzEnXCI+IDwhLS1PbGQgY29kZS0tPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy10b3A6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZ3Jvc3NXYWdlc1wiIHN0eWxlPVwiaW5saW5lLXNpemU6IG1heC1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQudG90YWwud2FnZXMuZWFybmVkXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cImdyb3NzV2FnZXNcIiBbZm9ybUNvbnRyb2xdPVwiZ3Jvc3NXYWdlc1wiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDsgcGFkZGluZy1sZWZ0OiAwcHg7IHBhZGRpbmctdG9wOiAwcHg7XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5UmF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucGF5cmF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cInBheVJhdGVcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZVwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjk5OTk5OS45OVwiIG1heGxlbmd0aD1cIjEyXCIgbG9jYWxlPVwiZW4tVVNcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdwYXlSYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLXRvcDogMHB4O1wiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGlkPVwicGF5UmF0ZUZyZXF1ZW5jeS1sYWJlbFwiIGZvcj1cInBheVJhdGVGcmVxdWVuY3lcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnBlclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwicGF5UmF0ZU9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwicGF5UmF0ZUZyZXF1ZW5jeVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwicGF5UmF0ZUZyZXF1ZW5jeVwiPjwvcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheVJhdGVGcmVxdWVuY3knIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8IS0tIDxpb24tY29sICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWVcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImdyb3NzV2FnZXNcIiAgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWF4LWNvbnRlbnQ7XCI+VG90YWwgV2FnZXMgRWFybmVkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2Zvcm1Db250cm9sXT1cImdyb3NzV2FnZXNcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIG1heGxlbmd0aD1cIjEyXCIgW21heF09XCI5OTk5OTkuOTlcIiBsb2NhbGU9XCJlbi1VU1wiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdncm9zc1dhZ2VzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+IC0tPlxyXG4gICAgICAgICAgICAgIDwhLS08aW9uLWNvbCAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+ICBPbGQgQ29kZS0tPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiBzdHlsZT1cInBhZGRpbmctdG9wOiAwcHg7XCI+IDwhLS1OZXcgY29uZGl0aW9uIHdhcyBhZGRlZC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJncm9zc1dhZ2VzXCIgIHN0eWxlPVwiaW5saW5lLXNpemU6IG1heC1jb250ZW50O1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQudG90YWwud2FnZXMuZWFybmVkXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwiZ3Jvc3NXYWdlc1wiIFtmb3JtQ29udHJvbF09XCJncm9zc1dhZ2VzXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBtYXhsZW5ndGg9XCIxMlwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZ3Jvc3NXYWdlcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPiBcclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnIFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb25cInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPGJyPiB7e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRpc2NsYWltZXJcInx0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDsgZGlzcGxheTpmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cImZlZFBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gb3ZlcmxheVRleHQ9XCJ7eydpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnBlbnNpb24uaW5mbyd8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWRQZW5zaW9uRmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmZlZFBlbnNpb25GbGFnLnZhbHVlID09PSAnWScgJiYgdGhpcy5jdXJyZW50U3RhdGUgIT0gJ01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmZWRQZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LmZlZC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImZlZFBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJmZWRQZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2ZlZFBlbnNpb25SZWN2RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyAmJiB0aGlzLmN1cnJlbnRTdGF0ZSA9PT0gJ01FJyBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJzZXZQYXlGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5RmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndlZWtseUFtb3VudFwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrbHkuYW10XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwid2Vla2x5QW1vdW50XCIgW2Zvcm1Db250cm9sXT1cIndlZWtseUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2Vla2x5QW1vdW50JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibnVtYmVyT2ZXZWVrc1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS53ZWVrc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cIm51bWJlck9mV2Vla3NcIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwibnVtYmVyT2ZXZWVrc1wiIG1heGxlbmd0aD1cIjRcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbnVtYmVyT2ZXZWVrcycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5QW1vdW50XCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLmVudGl0bGVtZW50XCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwic2V2UGF5QW1vdW50XCIgW2Zvcm1Db250cm9sXT1cInNldlBheUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbWF4bGVuZ3RoPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwiOTk5OTk5Ljk5XCIgbG9jYWxlPVwiZW4tVVNcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5QW1vdW50JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgJiYgc2V2UGF5RmxhZy52YWx1ZT09PSdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZy1yaWdodDo1cHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNldlBheVN0YXJ0RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5zdGFydC5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlTdGFydERhdGVcIiAob25CbHVyKT1cInZhbGlkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJ2YWxpZGF0ZSgkZXZlbnQpXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVN0YXJ0RGF0ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiIGFwcGVuZFRvPVwiYm9keVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZQYXlTdGFydERhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OjVweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwic2V2UGF5RW5kRGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnNldmVyYW5jZS5lbmQuZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwic2V2UGF5RW5kRGF0ZVwiIFtmb3JtQ29udHJvbF09XCJzZXZQYXlFbmREYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbbWluRGF0ZV09XCJtaW5EYXRlXCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3NldlBheUVuZERhdGUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWxcclxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQuc2V2ZXJhbmNlLnBheS5kYXRlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzZXZQYXlQYXltZW50U3RhcnREYXRlXCIgW2Zvcm1Db250cm9sXT1cInNldlBheVBheW1lbnRTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGFUeXBlPVwic3RyaW5nXCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc2V2UGF5UGF5bWVudFN0YXJ0RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgd29ya0ZsYWcudmFsdWU9PT0nWSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGVuc2lvbkZsYWdcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cInBlbnNpb25GbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uRmxhZ1wiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJyAmJiBwZW5zaW9uRmxhZy52YWx1ZT09PSdZJ1xyXG4gICAgICAgICAgICAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyBcIj4gPCEtLSB0aGlzIGlzIHF1ZXN0aW9uYWJsZSBiZWNhdXNlIGFib3ZlIGRlcGVuZGVudCBxdWVzdGlvbiBkb2VzIG5vdCBoYXZlIGlzQmFzZVBlcmlvZEVtcGxveWVyIC0tPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwZW5zaW9uUmVjdkRhdGVcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5wZW5zaW9uLmRhdGVcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInBlbnNpb25SZWN2RGF0ZVwiIFtmb3JtQ29udHJvbF09XCJwZW5zaW9uUmVjdkRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgYXBwZW5kVG89XCJib2R5XCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgZGF0ZUZvcm1hdD1cIm1tL2RkL3l5XCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgZGF0YVR5cGU9XCJzdHJpbmdcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BlbnNpb25SZWN2RGF0ZScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWdQZW5zaW9uRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb25cInx0cmFuc2xhdGV9fSA8YnIgLz5cclxuICAgICAgICAgICAgICAgIHt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGlzY2xhaW1lclwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50OyBkaXNwbGF5OmZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicmVnUGVuc2lvbkZsYWdcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcucGVuc2lvbi5pbmZvJ3wgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDtcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlZ1BlbnNpb25GbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXHJcbiAgICAgICAgICAgICYmIHJlZ1BlbnNpb25GbGFnLnZhbHVlPT09J1knXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnBlbnNpb24uZGF0ZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwicmVnUGVuc2lvblJlY3ZEYXRlXCIgW2Zvcm1Db250cm9sXT1cInJlZ1BlbnNpb25SZWN2RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBkYXRhVHlwZT1cInN0cmluZ1wiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncmVnUGVuc2lvblJlY3ZEYXRlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaXNDbG10UGFpZFdoaWxlTG93XCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQuZW1wbG95ZXIucGF5LnJldHVybi50by53b3JrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7IGRpc3BsYXk6ZmxleDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImlzQ2xtdFBhaWRXaGlsZUxvd1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBvdmVybGF5VGV4dD1cInt7J2luZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcuZW1wbG95ZXJQYXlSZXR1cm5Ub1dvcmtJbmZvJ3wgdHJhbnNsYXRlfX1cIiBcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naXNDbG10UGFpZFdoaWxlTG93JyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlID09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzU2hvcnRUZXJtRGlzYWJpbGl0eVwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnNob3J0dGVybWRpc2FiaWxpdHlcInx0cmFuc2xhdGV9fSB7e2JwU3RhcnREYXRlVG9EaXNwbGF5IHwgZGF0ZTonTU1NTSBkLCB5eXl5J319ID88L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJoYXNTaG9ydFRlcm1EaXNhYmlsaXR5XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGFzU2hvcnRUZXJtRGlzYWJpbGl0eScgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiKChpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiB3b3JrRmxhZy52YWx1ZT09PSdZJykgfHwgIWlzQmFzZVBlcmlvZEVtcGxveWVyKSYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIGN1cnJlbnRTdGF0ZT09PSdNRSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGFzUmVjdlJlbXVuZXJhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlbXVuZXJhdGlvbi5wYXlcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImlubGluZS1zaXplOiBtaW4tY29udGVudDtcIj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImhhc1JlY3ZSZW11bmVyYXRpb25cIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXNSZWN2UmVtdW5lcmF0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgY3VycmVudFN0YXRlPT09J01FJyAmJiBoYXNSZWN2UmVtdW5lcmF0aW9uLnZhbHVlPT09J1knICYmIG9zYUJwRW1wbG95ZXJGbGFnLnZhbHVlPT09JzAnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInJlbXVuZXJhdGlvblR5cGVzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVtdW5lcmF0aW9uLnR5cGVzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWNoZWNrYm94IFtuYW1lXT1cIidyZW11bmVyYXRpb250eXBlcy1ncm91cCdcIiBbdmFsdWVdPVwiY2hvaWNlLnZhbHVlXCIgXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY2hvaWNlLnRleHRcIiAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIHJlbXVuZXJhdGlvblR5cGVPcHRpb25zXCIgIFtmb3JtQ29udHJvbF09XCJyZW11bmVyYXRpb25UeXBlc1wiXHJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwiYXBwLXAtY2hlY2tib3hcIj48L3AtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3JlbXVuZXJhdGlvblR5cGVzJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZFwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBjdXJyZW50U3RhdGUgPT09J01FJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ2YWNhdGlvblwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnZhY2F0aW9uLmJyZWFrXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJ2YWNhdGlvblwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZhY2F0aW9uJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgICAgICA8IS0tPGRpdiAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+IFN0ZXBoZW4gQ29kZS0tPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcy52YWx1ZSAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXIgJiYgZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRydcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aDQ+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmhlYWRlclwifHRyYW5zbGF0ZX19PC9oND5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbD57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuc3ViaGVhZGVyXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGF5bWVudFR5cGVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMucGF5bW9kZVwifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwicGF5bWVudFR5cGVcIiB1bnNlbGVjdGFibGU9XCJ0cnVlXCIgW29wdGlvbnNdPVwicGF5TWV0aG9kT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJwYXltZW50VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3BheW1lbnRUeXBlJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZG9jc1JlY2VpdmVkXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmRvY3NcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cImRvY3NSZWNlaXZlZFwiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJ3YWdlUHJvb2ZPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImRvY3NSZWNlaXZlZFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2RvY3NSZWNlaXZlZCcgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwib3RoZXJTU05GbGFnXCI+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLm90aGVyLnNzbi5mbGFnXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiaW5saW5lLXNpemU6IG1pbi1jb250ZW50O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gaW5wdXRJZD1cIm90aGVyU1NORmxhZ1wiIHVuc2VsZWN0YWJsZT1cInRydWVcIiBbb3B0aW9uc109XCJyYWRpb09wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwib3RoZXJTU05GbGFnXCJcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aGVyU1NORmxhZycgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInRoaXMub3RoZXJTU05GbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhlclNTTlwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5zc25cInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgaW5wdXRJZD1cIm90aGVyU1NOXCIgbWFzaz1cIjk5OS05OS05OTk5XCIgW2Zvcm1Db250cm9sXT1cIm90aGVyU1NOXCIgcGxhY2Vob2xkZXI9XCI5OTktOTktOTk5OVwiPlxyXG4gICAgICAgICAgICAgICAgPC9wLWlucHV0TWFzaz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlclNTTicgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhpcmVkQnlcIj5NYW5hZ2VyJ3MgTmFtZSAmIFRpdGxlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiaGlyZWRCeVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImhpcmVkQnlcIiBtYXhsZW5ndGg9XCI0MFwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZm9ybV09XCJpc0Zvcm1TdWJtaXR0ZWRcIiBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hpcmVkQnknIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLSAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPiBTdGVwaGVuIENvZGUgLS0+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzLnZhbHVlICYmICFpc0Jhc2VQZXJpb2RFbXBsb3llciAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwib3RoZXJOYW1lRmxhZ1wiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lLmZsYWdcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJpbmxpbmUtc2l6ZTogbWluLWNvbnRlbnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIGlucHV0SWQ9XCJvdGhlck5hbWVGbGFnXCIgdW5zZWxlY3RhYmxlPVwidHJ1ZVwiIFtvcHRpb25zXT1cInJhZGlvT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVGbGFnXCJcclxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlck5hbWVGbGFnJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwidGhpcy5vdGhlck5hbWVGbGFnLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgICAgICAgIGZvcj1cIm90aGVyTmFtZVwiPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlcy5vdGhlci5uYW1lXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJvdGhlck5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJvdGhlck5hbWVcIiBtYXhsZW5ndGg9XCIzMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdvdGhlck5hbWUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8IS0tIDxpb24tcm93ICpuZ0lmPVwid29ya1N0YXRlLnZhbHVlICYmIHdvcmtTdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZlaW5cIj5GRUlOPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgW2lkXT1cImZlaW5cIiBbdXNlR3JvdXBpbmddPVwiZmFsc2VcIiBbZm9ybUNvbnRyb2xdPVwiZmVpblwiIG1heGxlbmd0aD1cIjlcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdmZWluJyBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRvaW5nQnVzaW5lc3NBc1wiPkRvaW5nIEJ1c2luZXNzIEFzL1RyYWRlIE5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJkb2luZ0J1c2luZXNzQXNcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJkb2luZ0J1c2luZXNzQXNcIiBtYXhsZW5ndGg9XCIxMDBcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkb2luZ0J1c2luZXNzQXMnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PiAtLT5cclxuXHJcbiAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBkaXNwbGF5VmVyaWZpY2F0aW9uT2ZXYWdlcz8udmFsdWUgXHJcbiAgICAgICAgICAgICAgICAmJiAhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYnVzaW5lc3NOYXR1cmVcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ubmF0dXJlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJidXNpbmVzc05hdHVyZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cImJ1c2luZXNzTmF0dXJlXCIgbWF4bGVuZ3RoPVwiMjUwXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmb3JtXT1cImlzRm9ybVN1Ym1pdHRlZFwiIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYnVzaW5lc3NOYXR1cmUnIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCcgfHwgKGRpc3BsYXlWZXJpZmljYXRpb25PZldhZ2VzPy52YWx1ZSAmJiBlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJyAmJiBwcmV2V29ya2VkU3RhdGU/LnZhbHVlID09PSAnS1MnKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZW1wbG95ZXJUeXBlLnZhbHVlPT09J0ZFRCdcIj4gU3RlcGhlbiBDb2RlIC0tPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImVtcGxveWVyVHlwZS52YWx1ZT09PSdGRUQnICYmIGlzTmV3Q2xhaW1cIj5cclxuICAgICAgICAgICAgICAgIDwhLS08bGFiZWw+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5mZWQudmVyaWZpY2F0aW9uLndhZ2VzXCJ8dHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXMudmFsdWUgJiYgIWlzQmFzZVBlcmlvZEVtcGxveWVyICYmIGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnXCI+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQuZmVkLnZlcmlmaWNhdGlvbi53YWdlcy5zdGF0ZW1lbnRcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJyB8fCAoZW1wbG95ZXJUeXBlLnZhbHVlPT09J1JFRycgJiYgZGlzcGxheVZlcmlmaWNhdGlvbk9mV2FnZXM/LnZhbHVlKVwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsPnt7XCJpbmR1Y3Rpb24uYWRkLmVtcGxveW1lbnQucmVnLnZlcmlmaWNhdGlvbi53YWdlc1wifHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBydWxlcz1cInJvd3NcIj5cclxuICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy52ZXJpZmljYXRpb24ud2FnZXMuY29sMVwifHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGg+e3tcImluZHVjdGlvbi5hZGQuZW1wbG95bWVudC5yZWcudmVyaWZpY2F0aW9uLndhZ2VzLmNvbDJcInx0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJ3YWdlQW1vdW50QXJyYXlcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgd2FnZUFtb3VudEZvcm0gb2Ygd2FnZUFtb3VudEFycmF5LmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwTmFtZV09XCJpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwiKChlbXBsb3llclR5cGUudmFsdWU9PT0nRkVEJykgfHwgKGVtcGxveWVyVHlwZS52YWx1ZT09PSdSRUcnICYmIHdhZ2VBbW91bnRGb3JtLnZhbHVlLmRpc3BsYXlGb3JBbGw9PT10cnVlKSApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cIid3YWdlQW1vdW50QXJyYXktJyArIGlcIiA+e3t3YWdlQW1vdW50Rm9ybS52YWx1ZS5xdHJZZWFyRGlzcGxheVN0cmluZ319PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIFtpbnB1dElkXT1cIid3YWdlQW1vdW50QXJyYXktJyArIGlcIiBhcmlhTGFiZWw9XCJ3YWdlQW1vdW50XCIgZm9ybUNvbnRyb2xOYW1lPVwid2FnZUFtb3VudFwiIG1vZGU9XCJjdXJyZW5jeVwiIFttaW5dPVwiMC4wMFwiIFttYXhdPVwiOTk5OTk5Ljk5XCIgbWF4bGVuZ3RoPVwiMTJcIiBjdXJyZW5jeT1cIlVTRFwiIGxvY2FsZT1cImVuLVVTXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0lmPVwid2FnZUFtb3VudEFycmF5LmVycm9ycz8ucmVxdWlyZUNoZWNrYm94VG9CZUNoZWNrZWRcIj5cclxuICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dhZ2VBbW91bnRBcnJheScgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2VyckRlZl09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlQ2hlY2tib3hUb0JlQ2hlY2tlZDogJ2F0IGxlYXN0IG9uZSBhbW91bnQgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybydcclxuICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8L3RyPiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBsb3llclR5cGUudmFsdWU9PT0nUkVHJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzZXZlcmFuY2VcIj57e1wiaW5kdWN0aW9uLmFkZC5lbXBsb3ltZW50LnJlZy5zZXZlcmFuY2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBpbnB1dElkPVwic2V2ZXJhbmNlXCIgW29wdGlvbnNdPVwicmFkaW9PcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cInNldmVyYW5jZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2Zvcm1dPVwiaXNGb3JtU3VibWl0dGVkXCIgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZXZlcmFuY2UnXHJcbiAgICAgICAgICAgICAgICBbZXJyRGVmXT1cIntyZXF1aXJlZDogcmVxdWlyZWR9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIFthdXRvZm9jdXNdPVwidHJ1ZVwiIHRhYmluZGV4PVwiMFwiIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCIgKGtleXVwLnNwYWNlKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCIgKGtleXVwLmVudGVyKT1cIm9uTW9kZWxDYW5jZWwoZmFsc2UpXCJcclxuICAgICAgICAgICAgdHlwZT1cInJlc2V0XCI+e3tcImluZHVjdGlvbi5lbXBsb3ltZW50LmJ1dHRvbi5jYW5jZWxcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAoY2xpY2spPVwic2F2ZSgpXCIgdHlwZT1cInN1Ym1pdFwiICpuZ0lmPVwiaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiAoa2V5dXAuc3BhY2UpPVwic2F2ZSgpXCIgKGtleXVwLmVudGVyKT1cInNhdmUoKVwiPlxyXG4gICAgICAgICAgICB7e1wiaW5kdWN0aW9uLmVtcGxveW1lbnQuYnV0dG9uLnNhdmVcInx0cmFuc2xhdGV9fSA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiB0YWJpbmRleD1cIjBcIiBzaGFwZT1cInJvdW5kXCIgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAoY2xpY2spPVwiYWRkKClcIiB0eXBlPVwic3VibWl0XCIgKm5nSWY9XCIhaXNCYXNlUGVyaW9kRW1wbG95ZXJcIiAoa2V5dXAuc3BhY2UpPVwiYWRkKClcIiAoa2V5dXAuZW50ZXIpPVwiYWRkKClcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBZGQgYW4gZW1wbG95ZXInIHwgdHJhbnNsYXRlXCI+IHt7XCJpbmR1Y3Rpb24uZW1wbG95bWVudC5idXR0b24uYWRkXCJ8dHJhbnNsYXRlfX1cclxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvaW9uLWdyaWQ+XHJcbiAgPC9mb3JtPlxyXG48L3AtZGlhbG9nPiJdfQ==