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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (545) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2392 -1322
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +159 -105
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +59 -53
  4. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  5. package/esm2022/lib/components/address/address.component.mjs +287 -152
  6. package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
  7. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
  8. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
  9. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
  10. package/esm2022/lib/components/bank-details/bank-details.component.mjs +79 -219
  11. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  12. package/esm2022/lib/components/contact-us/contact-us.component.mjs +17 -43
  13. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
  14. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
  15. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
  16. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  17. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  18. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  19. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
  20. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
  21. package/esm2022/lib/components/email-update/email-update.component.mjs +63 -140
  22. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +422 -574
  23. package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
  24. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
  25. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
  26. package/esm2022/lib/components/error/error.component.mjs +22 -5
  27. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  28. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  29. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
  30. package/esm2022/lib/components/footer/footer.component.mjs +112 -101
  31. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  32. package/esm2022/lib/components/header/header.component.mjs +440 -174
  33. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  34. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +25 -36
  35. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  36. package/esm2022/lib/components/info/info.component.mjs +4 -12
  37. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
  38. package/esm2022/lib/components/job-title/job-title.component.mjs +92 -97
  39. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +143 -513
  40. package/esm2022/lib/components/link/link.component.mjs +1 -1
  41. package/esm2022/lib/components/menu/menu.component.mjs +68 -100
  42. package/esm2022/lib/components/mfa/mfa.component.mjs +158 -288
  43. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
  44. package/esm2022/lib/components/money-expect/money-expect.component.mjs +158 -54
  45. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
  46. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
  47. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
  48. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
  49. package/esm2022/lib/components/profile/profile.component.mjs +749 -353
  50. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +108 -38
  51. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
  52. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
  53. package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
  54. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
  55. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +377 -173
  56. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +76 -95
  57. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +877 -1153
  58. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +208 -699
  59. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
  60. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +128 -41
  61. package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
  62. package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
  63. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
  64. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +497 -237
  65. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  66. package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -30
  67. package/esm2022/lib/components/select/select.component.mjs +5 -10
  68. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  69. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  70. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
  71. package/esm2022/lib/components/user-login/user-login.component.mjs +139 -360
  72. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  73. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  74. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  75. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  76. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +655 -387
  77. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +125 -61
  78. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +828 -0
  79. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  80. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  81. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  82. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  83. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  84. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  85. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +690 -0
  86. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  87. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  88. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  89. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  90. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  91. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  92. package/esm2022/lib/guards/auth.guard.mjs +50 -2
  93. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  94. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
  95. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  96. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  97. package/esm2022/lib/models/CountyModel.mjs +3 -0
  98. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  99. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  100. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  101. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  102. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  103. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  104. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  105. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  106. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  107. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  108. package/esm2022/lib/models/LibConstants.mjs +45 -6
  109. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  110. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  111. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  112. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  113. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  114. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  115. package/esm2022/lib/models/UserModel.mjs +1 -1
  116. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  117. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  118. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  119. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  120. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  121. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  122. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  123. package/esm2022/lib/models/combo-model.mjs +343 -0
  124. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  125. package/esm2022/lib/models/dependent.model.mjs +1 -1
  126. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  127. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  128. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  129. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  130. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  131. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  132. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
  133. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  134. package/esm2022/lib/models/questionnaire/ComboModel.mjs +96 -653
  135. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  136. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  137. package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
  138. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  139. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  140. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  141. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  142. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  143. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  144. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  145. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  146. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  147. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  148. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  149. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
  150. package/esm2022/lib/pages/BasePage.mjs +4 -23
  151. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
  152. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
  153. package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
  154. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  155. package/esm2022/lib/pages/common/login/login.component.mjs +7 -13
  156. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  157. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  158. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -2
  159. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  160. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
  161. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  162. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  163. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  164. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  165. package/esm2022/lib/services/base-service.mjs +4 -1
  166. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  167. package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
  168. package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
  169. package/esm2022/lib/services/claims/claims.service.mjs +105 -14
  170. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  171. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  172. package/esm2022/lib/services/help/help.service.mjs +1 -1
  173. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  174. package/esm2022/lib/services/login/login.service.mjs +29 -14
  175. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  176. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  177. package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
  178. package/esm2022/lib/services/security-service/security.service.mjs +23 -6
  179. package/esm2022/lib/services/util/util.service.mjs +61 -5
  180. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  181. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
  182. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  183. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  184. package/esm2022/lib/validations/AppRegex.mjs +1 -3
  185. package/esm2022/lib/validations/AppValidators.mjs +78 -62
  186. package/esm2022/public-api.mjs +47 -5
  187. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +41277 -23401
  188. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  189. package/lib/components/add-employer/add-employer.component.d.ts +137 -53
  190. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  191. package/lib/components/add-participant/add-participant.component.d.ts +11 -5
  192. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  193. package/lib/components/add-payment/add-payment.component.d.ts +9 -3
  194. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  195. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  196. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  197. package/lib/components/address/address.component.d.ts +42 -15
  198. package/lib/components/address/address.component.d.ts.map +1 -1
  199. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  200. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  201. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  202. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  203. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  204. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  205. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  206. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  207. package/lib/components/bank-details/bank-details.component.d.ts +1 -23
  208. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  209. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  210. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  211. package/lib/components/contact-us/contact-us.component.d.ts +1 -4
  212. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  213. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  214. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  215. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  216. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  217. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  218. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  219. package/lib/components/email-update/email-update.component.d.ts +1 -12
  220. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  221. package/lib/components/employer-grid/employer-grid.component.d.ts +25 -15
  222. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  223. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  224. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  225. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  226. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  227. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  228. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  229. package/lib/components/error/error.component.d.ts +3 -2
  230. package/lib/components/error/error.component.d.ts.map +1 -1
  231. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  232. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  233. package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
  234. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  235. package/lib/components/footer/footer.component.d.ts.map +1 -1
  236. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  237. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  238. package/lib/components/header/header.component.d.ts +17 -5
  239. package/lib/components/header/header.component.d.ts.map +1 -1
  240. package/lib/components/history-page/history-page.component.d.ts +80 -0
  241. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  242. package/lib/components/idme/idme.component.d.ts +19 -0
  243. package/lib/components/idme/idme.component.d.ts.map +1 -0
  244. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
  245. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  246. package/lib/components/job-title/job-title.component.d.ts +22 -23
  247. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  248. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -6
  249. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  250. package/lib/components/menu/menu.component.d.ts +3 -12
  251. package/lib/components/menu/menu.component.d.ts.map +1 -1
  252. package/lib/components/mfa/mfa.component.d.ts +7 -19
  253. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  254. package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
  255. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  256. package/lib/components/money-expect/money-expect.component.d.ts +15 -4
  257. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  258. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  259. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  260. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  261. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  262. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  263. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  264. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  265. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  266. package/lib/components/profile/profile.component.d.ts +82 -49
  267. package/lib/components/profile/profile.component.d.ts.map +1 -1
  268. package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
  269. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  270. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  271. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  272. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  273. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  274. package/lib/components/questionnaire/AppValidators.d.ts +1 -0
  275. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  276. package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
  277. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  278. package/lib/components/questionnaire/common-success/common-success.page.d.ts +7 -1
  279. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  280. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
  281. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  282. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -35
  283. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  284. package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
  285. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  286. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
  287. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  288. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +7 -1
  289. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  290. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  291. package/lib/components/questionnaire/question.service.d.ts +0 -1
  292. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  293. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
  294. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  295. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +11 -3
  296. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  297. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  298. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  299. package/lib/components/search-employer/search-employer.component.d.ts +5 -4
  300. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  301. package/lib/components/sms/sms.component.d.ts +63 -0
  302. package/lib/components/sms/sms.component.d.ts.map +1 -0
  303. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
  304. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  305. package/lib/components/user-login/user-login.component.d.ts +5 -38
  306. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  307. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  308. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  309. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  310. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  311. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  312. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  313. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  314. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  315. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +27 -10
  316. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  317. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +9 -3
  318. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  319. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  320. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  321. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  322. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  323. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  324. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  325. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  326. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  327. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  328. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  329. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  330. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  331. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  332. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  333. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  334. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  335. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  336. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  337. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  338. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  339. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  340. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  341. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  342. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  343. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  344. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  345. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  346. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  347. package/lib/guards/auth.guard.d.ts.map +1 -1
  348. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  349. package/lib/models/ActiveClaimModel.d.ts +8 -0
  350. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  351. package/lib/models/CountyModel.d.ts +8 -0
  352. package/lib/models/CountyModel.d.ts.map +1 -0
  353. package/lib/models/DuaAppDataModel.d.ts +5 -0
  354. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  355. package/lib/models/DuaRequestModel.d.ts +10 -0
  356. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  357. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  358. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  359. package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
  360. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  361. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  362. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  363. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  364. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  365. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  366. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  367. package/lib/models/GrossEarningsModel.d.ts +6 -0
  368. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  369. package/lib/models/HelpConstants.d.ts +5 -0
  370. package/lib/models/HelpConstants.d.ts.map +1 -0
  371. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  372. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  373. package/lib/models/LibConstants.d.ts +40 -1
  374. package/lib/models/LibConstants.d.ts.map +1 -1
  375. package/lib/models/OtpAuthModel.d.ts +0 -1
  376. package/lib/models/OtpAuthModel.d.ts.map +1 -1
  377. package/lib/models/PaymentComponentModel.d.ts +1 -1
  378. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  379. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  380. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  381. package/lib/models/RetroWeeksModel.d.ts +11 -0
  382. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  383. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  384. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  385. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  386. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  387. package/lib/models/UserModel.d.ts +0 -1
  388. package/lib/models/UserModel.d.ts.map +1 -1
  389. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  390. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  391. package/lib/models/WageCalculatorModel.d.ts +15 -0
  392. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  393. package/lib/models/WageInfoModel.d.ts +9 -0
  394. package/lib/models/WageInfoModel.d.ts.map +1 -0
  395. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  396. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  397. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  398. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  399. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  400. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  401. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  402. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  403. package/lib/models/combo-model.d.ts +42 -0
  404. package/lib/models/combo-model.d.ts.map +1 -0
  405. package/lib/models/dashboard-model.d.ts +22 -0
  406. package/lib/models/dashboard-model.d.ts.map +1 -1
  407. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  408. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  409. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  410. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  411. package/lib/models/fileupload/FileObject.d.ts +8 -0
  412. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  413. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  414. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  415. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  416. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  417. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
  418. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  419. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +15 -4
  420. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  421. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
  422. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  423. package/lib/models/questionnaire/ComboModel.d.ts +14 -82
  424. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  425. package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
  426. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  427. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
  428. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  429. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +0 -1
  430. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
  431. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  432. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  433. package/lib/models/questionnaire/StatusModel.d.ts +1 -0
  434. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  435. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  436. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  437. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  438. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  439. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  440. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  441. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  442. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  443. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  444. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  445. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  446. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  447. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  448. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  449. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  450. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  451. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  452. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  453. package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
  454. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  455. package/lib/pages/BasePage.d.ts +3 -6
  456. package/lib/pages/BasePage.d.ts.map +1 -1
  457. package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
  458. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  459. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  460. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  461. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  462. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  463. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  464. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  465. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  466. package/lib/services/appeal/appeal.service.d.ts +16 -0
  467. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  468. package/lib/services/base-service.d.ts +12 -0
  469. package/lib/services/base-service.d.ts.map +1 -1
  470. package/lib/services/birt-service/birt.service.d.ts +17 -0
  471. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  472. package/lib/services/claimant-service/claimant.service.d.ts +5 -6
  473. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  474. package/lib/services/claims/claims.service.d.ts +39 -5
  475. package/lib/services/claims/claims.service.d.ts.map +1 -1
  476. package/lib/services/employer/employer-service.d.ts +16 -0
  477. package/lib/services/employer/employer-service.d.ts.map +1 -0
  478. package/lib/services/event-service/event-service.d.ts +20 -0
  479. package/lib/services/event-service/event-service.d.ts.map +1 -0
  480. package/lib/services/login/login.service.d.ts +5 -3
  481. package/lib/services/login/login.service.d.ts.map +1 -1
  482. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  483. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  484. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  485. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  486. package/lib/services/questionnaire/validation.service.d.ts +3 -0
  487. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  488. package/lib/services/security-service/security.service.d.ts +12 -4
  489. package/lib/services/security-service/security.service.d.ts.map +1 -1
  490. package/lib/services/util/util.service.d.ts +6 -0
  491. package/lib/services/util/util.service.d.ts.map +1 -1
  492. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  493. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  494. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
  495. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  496. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  497. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  498. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  499. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  500. package/lib/validations/AppRegex.d.ts +0 -2
  501. package/lib/validations/AppRegex.d.ts.map +1 -1
  502. package/lib/validations/AppValidators.d.ts +20 -24
  503. package/lib/validations/AppValidators.d.ts.map +1 -1
  504. package/package.json +2 -2
  505. package/public-api.d.ts +46 -4
  506. package/public-api.d.ts.map +1 -1
  507. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -402
  508. package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -285
  509. package/esm2022/lib/components/security-question/security-question.component.mjs +0 -199
  510. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
  511. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
  512. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
  513. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
  514. package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
  515. package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
  516. package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
  517. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
  518. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
  519. package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
  520. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
  521. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
  522. package/lib/components/mfa2/mfa2.component.d.ts +0 -48
  523. package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
  524. package/lib/components/security-question/security-question.component.d.ts +0 -37
  525. package/lib/components/security-question/security-question.component.d.ts.map +0 -1
  526. package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
  527. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
  528. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
  529. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
  530. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
  531. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
  532. package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
  533. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
  534. package/lib/models/LexisNexisResponseModel.d.ts +0 -7
  535. package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
  536. package/lib/models/PartialEmploymentModel.d.ts +0 -6
  537. package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
  538. package/lib/models/SecurityQuestionModel.d.ts +0 -7
  539. package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
  540. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
  541. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
  542. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
  543. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
  544. package/lib/services/ovp/ovp.service.d.ts +0 -17
  545. package/lib/services/ovp/ovp.service.d.ts.map +0 -1
@@ -22,242 +22,402 @@ import * as i14 from "primeng/inputtext";
22
22
  import * as i15 from "../../content/content.component";
23
23
  import * as i16 from "../../header/header.component";
24
24
  import * as i17 from "../multi-questionnaire/multi-questionnaire.component";
25
- import * as i18 from "@ngx-translate/core";
26
- function CommonSuccessPage_app_multi_questionnaire_4_Template(rf, ctx) { if (rf & 1) {
27
- const _r4 = i0.ɵɵgetCurrentView();
28
- i0.ɵɵelementStart(0, "app-multi-questionnaire", 5);
29
- i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_4_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.quSuccess()); });
30
- i0.ɵɵelementEnd();
25
+ import * as i18 from "../../profile-redirect/profile-redirect.component";
26
+ import * as i19 from "@ngx-translate/core";
27
+ function CommonSuccessPage_app_profile_redirect_3_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelement(0, "app-profile-redirect", 7);
31
29
  } if (rf & 2) {
32
30
  const ctx_r0 = i0.ɵɵnextContext();
33
- i0.ɵɵproperty("qeQueryModels", ctx_r0.qeQueryModels)("showClose", false)("header", ctx_r0.popUpHeader)("showQuestionNumber", true);
31
+ i0.ɵɵproperty("redirectPage", ctx_r0.commonSuccessPage);
34
32
  } }
35
- function CommonSuccessPage_ion_row_5_Template(rf, ctx) { if (rf & 1) {
36
- i0.ɵɵelementStart(0, "ion-row", 6)(1, "ion-col", 7)(2, "ion-label", 8);
37
- i0.ɵɵelement(3, "div", 9);
33
+ function CommonSuccessPage_app_multi_questionnaire_5_Template(rf, ctx) { if (rf & 1) {
34
+ const _r6 = i0.ɵɵgetCurrentView();
35
+ i0.ɵɵelementStart(0, "app-multi-questionnaire", 8);
36
+ i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_5_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.quSuccess()); });
37
+ i0.ɵɵpipe(1, "translate");
38
38
  i0.ɵɵelementEnd();
39
- i0.ɵɵelement(4, "br")(5, "ion-spinner", 10);
40
- i0.ɵɵelementEnd()();
41
39
  } if (rf & 2) {
42
40
  const ctx_r1 = i0.ɵɵnextContext();
41
+ i0.ɵɵproperty("qeQueryModels", ctx_r1.qeQueryModels)("showClose", false)("header", i0.ɵɵpipeBind1(1, 4, "Follow up Questions"))("showQuestionNumber", true);
42
+ } }
43
+ function CommonSuccessPage_app_multi_questionnaire_6_Template(rf, ctx) { if (rf & 1) {
44
+ const _r8 = i0.ɵɵgetCurrentView();
45
+ i0.ɵɵelementStart(0, "app-multi-questionnaire", 9);
46
+ i0.ɵɵlistener("onComplete", function CommonSuccessPage_app_multi_questionnaire_6_Template_app_multi_questionnaire_onComplete_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.quSuccessDua()); });
47
+ i0.ɵɵpipe(1, "translate");
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const ctx_r2 = i0.ɵɵnextContext();
51
+ i0.ɵɵproperty("qeQueryModels", ctx_r2.qeQueryModels)("showClose", false)("autoSave", true)("header", i0.ɵɵpipeBind1(1, 5, "DUA application"))("showQuestionNumber", false);
52
+ } }
53
+ function CommonSuccessPage_ion_row_7_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelementStart(0, "ion-row", 10)(1, "ion-col", 11)(2, "ion-label", 12);
55
+ i0.ɵɵelement(3, "div", 13);
56
+ i0.ɵɵelementEnd();
57
+ i0.ɵɵelement(4, "br")(5, "ion-spinner", 14);
58
+ i0.ɵɵelementEnd()();
59
+ } if (rf & 2) {
60
+ const ctx_r3 = i0.ɵɵnextContext();
43
61
  i0.ɵɵadvance(3);
44
- i0.ɵɵproperty("innerHTML", ctx_r1.sanitizer.bypassSecurityTrustHtml(ctx_r1.waitingMessage), i0.ɵɵsanitizeHtml);
62
+ i0.ɵɵproperty("innerHTML", ctx_r3.sanitizer.bypassSecurityTrustHtml(ctx_r3.waitingMessage), i0.ɵɵsanitizeHtml);
45
63
  } }
46
- function CommonSuccessPage_div_6_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
47
- i0.ɵɵelement(0, "div", 13);
64
+ const _c0 = (a0, a1) => ({ "padding-left": a0, "padding-top": a1 });
65
+ function CommonSuccessPage_div_8_div_1_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelement(0, "div", 18);
48
67
  } if (rf & 2) {
49
- const element_r8 = i0.ɵɵnextContext().$implicit;
50
- i0.ɵɵproperty("innerHTML", element_r8.description, i0.ɵɵsanitizeHtml);
68
+ const element_r15 = i0.ɵɵnextContext().$implicit;
69
+ const ctx_r17 = i0.ɵɵnextContext(3);
70
+ i0.ɵɵproperty("innerHTML", element_r15.description, i0.ɵɵsanitizeHtml)("ngStyle", i0.ɵɵpureFunction2(2, _c0, ctx_r17.isCsr ? "270px" : "0", ctx_r17.isCsr ? "55px" : "0"));
51
71
  } }
52
- function CommonSuccessPage_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
72
+ function CommonSuccessPage_div_8_div_1_div_1_Template(rf, ctx) { if (rf & 1) {
53
73
  i0.ɵɵelementStart(0, "div");
54
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_1_div_1_Template, 1, 1, "div", 12);
74
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_1_div_1_Template, 1, 5, "div", 17);
55
75
  i0.ɵɵelementEnd();
56
76
  } if (rf & 2) {
57
- const element_r8 = ctx.$implicit;
77
+ const element_r15 = ctx.$implicit;
58
78
  i0.ɵɵadvance(1);
59
- i0.ɵɵproperty("ngIf", element_r8.type === "header");
79
+ i0.ɵɵproperty("ngIf", element_r15.type === "header");
60
80
  } }
61
- function CommonSuccessPage_div_6_div_3_ion_row_1_Template(rf, ctx) { if (rf & 1) {
62
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 14);
63
- i0.ɵɵelement(2, "div", 15);
81
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_1_Template(rf, ctx) { if (rf & 1) {
82
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 19);
83
+ i0.ɵɵelement(2, "div", 20);
64
84
  i0.ɵɵelementEnd()();
65
85
  } if (rf & 2) {
66
- const element_r12 = i0.ɵɵnextContext().$implicit;
86
+ const element_r19 = i0.ɵɵnextContext().$implicit;
67
87
  i0.ɵɵadvance(2);
68
- i0.ɵɵproperty("innerHTML", element_r12.description, i0.ɵɵsanitizeHtml);
88
+ i0.ɵɵproperty("innerHTML", element_r19.description, i0.ɵɵsanitizeHtml);
69
89
  } }
70
- function CommonSuccessPage_div_6_div_3_ion_row_2_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 16);
72
- i0.ɵɵelement(2, "div", 9);
90
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_2_Template(rf, ctx) { if (rf & 1) {
91
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 21);
92
+ i0.ɵɵelement(2, "div", 22);
73
93
  i0.ɵɵelementEnd()();
74
94
  } if (rf & 2) {
75
- const element_r12 = i0.ɵɵnextContext().$implicit;
95
+ const element_r19 = i0.ɵɵnextContext().$implicit;
76
96
  i0.ɵɵadvance(2);
77
- i0.ɵɵproperty("innerHTML", element_r12.description, i0.ɵɵsanitizeHtml);
97
+ i0.ɵɵproperty("innerHTML", element_r19.description, i0.ɵɵsanitizeHtml);
78
98
  } }
79
- function CommonSuccessPage_div_6_div_3_ion_row_3_Template(rf, ctx) { if (rf & 1) {
80
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
81
- i0.ɵɵelement(2, "div", 9);
99
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_3_Template(rf, ctx) { if (rf & 1) {
100
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23);
101
+ i0.ɵɵelement(2, "div", 22);
82
102
  i0.ɵɵelementEnd()();
83
103
  } if (rf & 2) {
84
- const element_r12 = i0.ɵɵnextContext().$implicit;
85
- const ctx_r16 = i0.ɵɵnextContext(2);
104
+ const element_r19 = i0.ɵɵnextContext().$implicit;
105
+ const ctx_r23 = i0.ɵɵnextContext(3);
86
106
  i0.ɵɵadvance(2);
87
- i0.ɵɵproperty("innerHTML", ctx_r16.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
107
+ i0.ɵɵproperty("innerHTML", ctx_r23.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
88
108
  } }
89
- function CommonSuccessPage_div_6_div_3_ion_row_4_Template(rf, ctx) { if (rf & 1) {
90
- const _r25 = i0.ɵɵgetCurrentView();
91
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17)(2, "ion-row")(3, "ion-col");
92
- i0.ɵɵelement(4, "div", 9);
109
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template(rf, ctx) { if (rf & 1) {
110
+ const _r32 = i0.ɵɵgetCurrentView();
111
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23)(2, "ion-row")(3, "ion-col");
112
+ i0.ɵɵelement(4, "div", 13);
93
113
  i0.ɵɵelementEnd()();
94
114
  i0.ɵɵelementStart(5, "ion-row")(6, "ion-col");
95
- i0.ɵɵelement(7, "input", 18);
115
+ i0.ɵɵelement(7, "input", 24);
96
116
  i0.ɵɵelementEnd();
97
- i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 19);
98
- i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_3_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.submit()); });
99
- i0.ɵɵtext(10);
100
- i0.ɵɵpipe(11, "translate");
117
+ i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 25);
118
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r31.submit()); });
119
+ i0.ɵɵtext(10, "Submit");
101
120
  i0.ɵɵelementEnd()()()()();
102
121
  } if (rf & 2) {
103
- const element_r12 = i0.ɵɵnextContext().$implicit;
104
- const ctx_r17 = i0.ɵɵnextContext(2);
122
+ const element_r19 = i0.ɵɵnextContext().$implicit;
123
+ const ctx_r24 = i0.ɵɵnextContext(3);
105
124
  i0.ɵɵadvance(4);
106
- i0.ɵɵproperty("innerHTML", ctx_r17.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
125
+ i0.ɵɵproperty("innerHTML", ctx_r24.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
107
126
  i0.ɵɵadvance(3);
108
- i0.ɵɵproperty("formControl", ctx_r17.emailAddress);
109
- i0.ɵɵadvance(3);
110
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 3, "common.submit"));
111
- } }
112
- function CommonSuccessPage_div_6_div_3_ion_row_5_Template(rf, ctx) { if (rf & 1) {
113
- const _r28 = i0.ɵɵgetCurrentView();
114
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17)(2, "div", 20);
115
- i0.ɵɵtext(3);
116
- i0.ɵɵpipe(4, "translate");
117
- i0.ɵɵelementStart(5, "a", 21);
118
- i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_3_ion_row_5_Template_a_click_5_listener() { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r27.resendVerificationEmail()); });
119
- i0.ɵɵtext(6);
120
- i0.ɵɵpipe(7, "translate");
127
+ i0.ɵɵproperty("formControl", ctx_r24.emailAddress);
128
+ } }
129
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template(rf, ctx) { if (rf & 1) {
130
+ const _r35 = i0.ɵɵgetCurrentView();
131
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23)(2, "div", 26);
132
+ i0.ɵɵtext(3, "If you did't get an email, ");
133
+ i0.ɵɵelementStart(4, "a", 27);
134
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r34.resendVerificationEmail()); });
135
+ i0.ɵɵtext(5, " click here");
121
136
  i0.ɵɵelementEnd();
122
- i0.ɵɵtext(8);
123
- i0.ɵɵpipe(9, "translate");
137
+ i0.ɵɵtext(6, " and we'll send again. ");
124
138
  i0.ɵɵelementEnd()()();
125
- } if (rf & 2) {
126
- i0.ɵɵadvance(3);
127
- i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(4, 3, "email.no.email"), " ");
128
- i0.ɵɵadvance(3);
129
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 5, "email.click.here"), "");
130
- i0.ɵɵadvance(2);
131
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 7, "email.we.will.send"), "");
132
139
  } }
133
- function CommonSuccessPage_div_6_div_3_ion_row_6_Template(rf, ctx) { if (rf & 1) {
134
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
135
- i0.ɵɵelement(2, "div", 9);
140
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_6_Template(rf, ctx) { if (rf & 1) {
141
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23);
142
+ i0.ɵɵelement(2, "div", 22);
136
143
  i0.ɵɵelementEnd()();
137
144
  } if (rf & 2) {
138
- const element_r12 = i0.ɵɵnextContext().$implicit;
139
- const ctx_r19 = i0.ɵɵnextContext(2);
145
+ const element_r19 = i0.ɵɵnextContext().$implicit;
146
+ const ctx_r26 = i0.ɵɵnextContext(3);
140
147
  i0.ɵɵadvance(2);
141
- i0.ɵɵproperty("innerHTML", ctx_r19.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
148
+ i0.ɵɵproperty("innerHTML", ctx_r26.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
142
149
  } }
143
- function CommonSuccessPage_div_6_div_3_ion_row_7_Template(rf, ctx) { if (rf & 1) {
144
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 17);
145
- i0.ɵɵelement(2, "div", 9);
150
+ function CommonSuccessPage_div_8_div_1_div_3_ion_row_7_Template(rf, ctx) { if (rf & 1) {
151
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23);
152
+ i0.ɵɵelement(2, "div", 22);
146
153
  i0.ɵɵelementEnd()();
147
154
  } if (rf & 2) {
148
- const element_r12 = i0.ɵɵnextContext().$implicit;
149
- const ctx_r20 = i0.ɵɵnextContext(2);
155
+ const element_r19 = i0.ɵɵnextContext().$implicit;
156
+ const ctx_r27 = i0.ɵɵnextContext(3);
150
157
  i0.ɵɵadvance(2);
151
- i0.ɵɵproperty("innerHTML", ctx_r20.sanitizer.bypassSecurityTrustHtml(element_r12.description), i0.ɵɵsanitizeHtml);
158
+ i0.ɵɵproperty("innerHTML", ctx_r27.sanitizer.bypassSecurityTrustHtml(element_r19.description), i0.ɵɵsanitizeHtml);
152
159
  } }
153
- function CommonSuccessPage_div_6_div_3_Template(rf, ctx) { if (rf & 1) {
160
+ function CommonSuccessPage_div_8_div_1_div_3_Template(rf, ctx) { if (rf & 1) {
154
161
  i0.ɵɵelementStart(0, "div");
155
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_3_ion_row_1_Template, 3, 1, "ion-row", 4)(2, CommonSuccessPage_div_6_div_3_ion_row_2_Template, 3, 1, "ion-row", 4)(3, CommonSuccessPage_div_6_div_3_ion_row_3_Template, 3, 1, "ion-row", 4)(4, CommonSuccessPage_div_6_div_3_ion_row_4_Template, 12, 5, "ion-row", 4)(5, CommonSuccessPage_div_6_div_3_ion_row_5_Template, 10, 9, "ion-row", 4)(6, CommonSuccessPage_div_6_div_3_ion_row_6_Template, 3, 1, "ion-row", 4)(7, CommonSuccessPage_div_6_div_3_ion_row_7_Template, 3, 1, "ion-row", 4);
162
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_3_ion_row_1_Template, 3, 1, "ion-row", 6)(2, CommonSuccessPage_div_8_div_1_div_3_ion_row_2_Template, 3, 1, "ion-row", 6)(3, CommonSuccessPage_div_8_div_1_div_3_ion_row_3_Template, 3, 1, "ion-row", 6)(4, CommonSuccessPage_div_8_div_1_div_3_ion_row_4_Template, 11, 2, "ion-row", 6)(5, CommonSuccessPage_div_8_div_1_div_3_ion_row_5_Template, 7, 0, "ion-row", 6)(6, CommonSuccessPage_div_8_div_1_div_3_ion_row_6_Template, 3, 1, "ion-row", 6)(7, CommonSuccessPage_div_8_div_1_div_3_ion_row_7_Template, 3, 1, "ion-row", 6);
156
163
  i0.ɵɵelementEnd();
157
164
  } if (rf & 2) {
158
- const element_r12 = ctx.$implicit;
165
+ const element_r19 = ctx.$implicit;
159
166
  i0.ɵɵadvance(1);
160
- i0.ɵɵproperty("ngIf", element_r12.type === "subhheader");
167
+ i0.ɵɵproperty("ngIf", element_r19.type === "subhheader");
161
168
  i0.ɵɵadvance(1);
162
- i0.ɵɵproperty("ngIf", element_r12.type === "text1");
169
+ i0.ɵɵproperty("ngIf", element_r19.type === "text1");
163
170
  i0.ɵɵadvance(1);
164
- i0.ɵɵproperty("ngIf", element_r12.type === "text2");
171
+ i0.ɵɵproperty("ngIf", element_r19.type === "text2");
165
172
  i0.ɵɵadvance(1);
166
- i0.ɵɵproperty("ngIf", element_r12.type === "emailUpdate");
173
+ i0.ɵɵproperty("ngIf", element_r19.type === "emailUpdate");
167
174
  i0.ɵɵadvance(1);
168
- i0.ɵɵproperty("ngIf", element_r12.type === "resendemail");
175
+ i0.ɵɵproperty("ngIf", element_r19.type === "resendemail");
169
176
  i0.ɵɵadvance(1);
170
- i0.ɵɵproperty("ngIf", element_r12.type === "text3");
177
+ i0.ɵɵproperty("ngIf", element_r19.type === "text3");
171
178
  i0.ɵɵadvance(1);
172
- i0.ɵɵproperty("ngIf", element_r12.type === "text4");
179
+ i0.ɵɵproperty("ngIf", element_r19.type === "text4");
173
180
  } }
174
- function CommonSuccessPage_div_6_div_5_ion_col_2_div_1_Template(rf, ctx) { if (rf & 1) {
175
- i0.ɵɵelementStart(0, "div", 25)(1, "h3");
176
- i0.ɵɵtext(2);
181
+ function CommonSuccessPage_div_8_div_1_Template(rf, ctx) { if (rf & 1) {
182
+ i0.ɵɵelementStart(0, "div");
183
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_div_1_Template, 2, 1, "div", 16);
184
+ i0.ɵɵelementStart(2, "ion-grid");
185
+ i0.ɵɵtemplate(3, CommonSuccessPage_div_8_div_1_div_3_Template, 8, 7, "div", 16);
177
186
  i0.ɵɵelementEnd()();
178
187
  } if (rf & 2) {
179
- const element_r31 = i0.ɵɵnextContext(2).$implicit;
188
+ const ctx_r9 = i0.ɵɵnextContext(2);
189
+ i0.ɵɵadvance(1);
190
+ i0.ɵɵproperty("ngForOf", ctx_r9.elements.getValue());
180
191
  i0.ɵɵadvance(2);
181
- i0.ɵɵtextInterpolate(element_r31.description);
192
+ i0.ɵɵproperty("ngForOf", ctx_r9.elements.getValue());
182
193
  } }
183
- function CommonSuccessPage_div_6_div_5_ion_col_2_Template(rf, ctx) { if (rf & 1) {
184
- i0.ɵɵelementStart(0, "ion-col", 23);
185
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_5_ion_col_2_div_1_Template, 3, 1, "div", 24);
194
+ function CommonSuccessPage_div_8_div_2_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
195
+ i0.ɵɵelementStart(0, "div");
196
+ i0.ɵɵelement(1, "p", 32);
186
197
  i0.ɵɵelementEnd();
187
198
  } if (rf & 2) {
188
- const element_r31 = i0.ɵɵnextContext().$implicit;
199
+ const element_r40 = i0.ɵɵnextContext().$implicit;
189
200
  i0.ɵɵadvance(1);
190
- i0.ɵɵproperty("ngIf", element_r31.type === "buttonAddjacentText");
191
- } }
192
- function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_ion_button_1_Template(rf, ctx) { if (rf & 1) {
193
- const _r43 = i0.ɵɵgetCurrentView();
194
- i0.ɵɵelementStart(0, "ion-button", 30);
195
- i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_ion_button_1_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r43); const ctx_r42 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r42.openPage()); });
196
- i0.ɵɵtext(1);
197
- i0.ɵɵpipe(2, "translate");
201
+ i0.ɵɵproperty("innerHTML", element_r40.description, i0.ɵɵsanitizeHtml);
202
+ } }
203
+ function CommonSuccessPage_div_8_div_2_div_4_Template(rf, ctx) { if (rf & 1) {
204
+ i0.ɵɵelementStart(0, "div");
205
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_2_div_4_div_1_Template, 2, 1, "div", 6);
198
206
  i0.ɵɵelementEnd();
199
207
  } if (rf & 2) {
208
+ const element_r40 = ctx.$implicit;
200
209
  i0.ɵɵadvance(1);
201
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "common.submit"), " ");
210
+ i0.ɵɵproperty("ngIf", element_r40.type === "header");
211
+ } }
212
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_1_Template(rf, ctx) { if (rf & 1) {
213
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 19);
214
+ i0.ɵɵelement(2, "div", 20);
215
+ i0.ɵɵelementEnd()();
216
+ } if (rf & 2) {
217
+ const element_r44 = i0.ɵɵnextContext().$implicit;
218
+ i0.ɵɵadvance(2);
219
+ i0.ɵɵproperty("innerHTML", element_r44.description, i0.ɵɵsanitizeHtml);
220
+ } }
221
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_2_Template(rf, ctx) { if (rf & 1) {
222
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
223
+ i0.ɵɵelement(2, "div", 22);
224
+ i0.ɵɵelementEnd()();
225
+ } if (rf & 2) {
226
+ const element_r44 = i0.ɵɵnextContext().$implicit;
227
+ i0.ɵɵadvance(2);
228
+ i0.ɵɵproperty("innerHTML", element_r44.description, i0.ɵɵsanitizeHtml);
202
229
  } }
203
- function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
204
- const _r45 = i0.ɵɵgetCurrentView();
205
- i0.ɵɵelementStart(0, "ion-button", 30);
206
- i0.ɵɵlistener("click", function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_ng_template_2_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r44.openPage()); });
207
- i0.ɵɵtext(1);
230
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_3_Template(rf, ctx) { if (rf & 1) {
231
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
232
+ i0.ɵɵelement(2, "div", 22);
233
+ i0.ɵɵelementEnd()();
234
+ } if (rf & 2) {
235
+ const element_r44 = i0.ɵɵnextContext().$implicit;
236
+ const ctx_r48 = i0.ɵɵnextContext(3);
237
+ i0.ɵɵadvance(2);
238
+ i0.ɵɵproperty("innerHTML", ctx_r48.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
239
+ } }
240
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template(rf, ctx) { if (rf & 1) {
241
+ const _r57 = i0.ɵɵgetCurrentView();
242
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col")(2, "ion-row")(3, "ion-col");
243
+ i0.ɵɵelement(4, "div", 13);
244
+ i0.ɵɵelementEnd()();
245
+ i0.ɵɵelementStart(5, "ion-row")(6, "ion-col");
246
+ i0.ɵɵelement(7, "input", 24);
247
+ i0.ɵɵelementEnd();
248
+ i0.ɵɵelementStart(8, "ion-col")(9, "ion-button", 25);
249
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template_ion_button_click_9_listener() { i0.ɵɵrestoreView(_r57); const ctx_r56 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r56.submit()); });
250
+ i0.ɵɵtext(10, "Submit");
251
+ i0.ɵɵelementEnd()()()()();
252
+ } if (rf & 2) {
253
+ const element_r44 = i0.ɵɵnextContext().$implicit;
254
+ const ctx_r49 = i0.ɵɵnextContext(3);
255
+ i0.ɵɵadvance(4);
256
+ i0.ɵɵproperty("innerHTML", ctx_r49.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
257
+ i0.ɵɵadvance(3);
258
+ i0.ɵɵproperty("formControl", ctx_r49.emailAddress);
259
+ } }
260
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template(rf, ctx) { if (rf & 1) {
261
+ const _r60 = i0.ɵɵgetCurrentView();
262
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col")(2, "div", 26);
263
+ i0.ɵɵtext(3, "If you did't get an email, ");
264
+ i0.ɵɵelementStart(4, "a", 27);
265
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template_a_click_4_listener() { i0.ɵɵrestoreView(_r60); const ctx_r59 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r59.resendVerificationEmail()); });
266
+ i0.ɵɵtext(5, " click here");
208
267
  i0.ɵɵelementEnd();
268
+ i0.ɵɵtext(6, " and we'll send again. ");
269
+ i0.ɵɵelementEnd()()();
270
+ } }
271
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_6_Template(rf, ctx) { if (rf & 1) {
272
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
273
+ i0.ɵɵelement(2, "div", 22);
274
+ i0.ɵɵelementEnd()();
209
275
  } if (rf & 2) {
210
- const element_r31 = i0.ɵɵnextContext(3).$implicit;
276
+ const element_r44 = i0.ɵɵnextContext().$implicit;
277
+ const ctx_r51 = i0.ɵɵnextContext(3);
278
+ i0.ɵɵadvance(2);
279
+ i0.ɵɵproperty("innerHTML", ctx_r51.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
280
+ } }
281
+ function CommonSuccessPage_div_8_div_2_div_6_ion_row_7_Template(rf, ctx) { if (rf & 1) {
282
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col");
283
+ i0.ɵɵelement(2, "div", 22);
284
+ i0.ɵɵelementEnd()();
285
+ } if (rf & 2) {
286
+ const element_r44 = i0.ɵɵnextContext().$implicit;
287
+ const ctx_r52 = i0.ɵɵnextContext(3);
288
+ i0.ɵɵadvance(2);
289
+ i0.ɵɵproperty("innerHTML", ctx_r52.sanitizer.bypassSecurityTrustHtml(element_r44.description), i0.ɵɵsanitizeHtml);
290
+ } }
291
+ function CommonSuccessPage_div_8_div_2_div_6_Template(rf, ctx) { if (rf & 1) {
292
+ i0.ɵɵelementStart(0, "div");
293
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_2_div_6_ion_row_1_Template, 3, 1, "ion-row", 6)(2, CommonSuccessPage_div_8_div_2_div_6_ion_row_2_Template, 3, 1, "ion-row", 6)(3, CommonSuccessPage_div_8_div_2_div_6_ion_row_3_Template, 3, 1, "ion-row", 6)(4, CommonSuccessPage_div_8_div_2_div_6_ion_row_4_Template, 11, 2, "ion-row", 6)(5, CommonSuccessPage_div_8_div_2_div_6_ion_row_5_Template, 7, 0, "ion-row", 6)(6, CommonSuccessPage_div_8_div_2_div_6_ion_row_6_Template, 3, 1, "ion-row", 6)(7, CommonSuccessPage_div_8_div_2_div_6_ion_row_7_Template, 3, 1, "ion-row", 6);
294
+ i0.ɵɵelementEnd();
295
+ } if (rf & 2) {
296
+ const element_r44 = ctx.$implicit;
297
+ i0.ɵɵadvance(1);
298
+ i0.ɵɵproperty("ngIf", element_r44.type === "subhheader");
211
299
  i0.ɵɵadvance(1);
212
- i0.ɵɵtextInterpolate1(" ", element_r31.description, " ");
300
+ i0.ɵɵproperty("ngIf", element_r44.type === "text1");
301
+ i0.ɵɵadvance(1);
302
+ i0.ɵɵproperty("ngIf", element_r44.type === "text2");
303
+ i0.ɵɵadvance(1);
304
+ i0.ɵɵproperty("ngIf", element_r44.type === "emailUpdate");
305
+ i0.ɵɵadvance(1);
306
+ i0.ɵɵproperty("ngIf", element_r44.type === "resendemail");
307
+ i0.ɵɵadvance(1);
308
+ i0.ɵɵproperty("ngIf", element_r44.type === "text3");
309
+ i0.ɵɵadvance(1);
310
+ i0.ɵɵproperty("ngIf", element_r44.type === "text4");
213
311
  } }
214
- function CommonSuccessPage_div_6_div_5_ion_col_3_div_1_Template(rf, ctx) { if (rf & 1) {
215
- i0.ɵɵelementStart(0, "div", 27);
216
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_5_ion_col_3_div_1_ion_button_1_Template, 3, 3, "ion-button", 28)(2, CommonSuccessPage_div_6_div_5_ion_col_3_div_1_ng_template_2_Template, 2, 1, "ng-template", null, 29, i0.ɵɵtemplateRefExtractor);
312
+ function CommonSuccessPage_div_8_div_2_Template(rf, ctx) { if (rf & 1) {
313
+ i0.ɵɵelementStart(0, "div")(1, "ion-grid")(2, "ion-row")(3, "ion-col", 28);
314
+ i0.ɵɵtemplate(4, CommonSuccessPage_div_8_div_2_div_4_Template, 2, 1, "div", 16);
315
+ i0.ɵɵelementStart(5, "ion-grid");
316
+ i0.ɵɵtemplate(6, CommonSuccessPage_div_8_div_2_div_6_Template, 8, 7, "div", 16);
317
+ i0.ɵɵelementEnd()();
318
+ i0.ɵɵelementStart(7, "ion-col", 29)(8, "h4", 30);
319
+ i0.ɵɵtext(9, "One more task...");
320
+ i0.ɵɵelementEnd();
321
+ i0.ɵɵelementStart(10, "p", 31);
322
+ i0.ɵɵtext(11, "Choose ");
323
+ i0.ɵɵelementStart(12, "b");
324
+ i0.ɵɵtext(13, "Next");
325
+ i0.ɵɵelementEnd();
326
+ i0.ɵɵtext(14, " to be taken to MSWorks website to complete employment service registration.");
327
+ i0.ɵɵelement(15, "br");
328
+ i0.ɵɵtext(16, " Once you're done, we can match you to available jobs based on your experience and preferences. ");
329
+ i0.ɵɵelementEnd()()()()();
330
+ } if (rf & 2) {
331
+ const ctx_r10 = i0.ɵɵnextContext(2);
332
+ i0.ɵɵadvance(4);
333
+ i0.ɵɵproperty("ngForOf", ctx_r10.elements.getValue());
334
+ i0.ɵɵadvance(2);
335
+ i0.ɵɵproperty("ngForOf", ctx_r10.elements.getValue());
336
+ } }
337
+ function CommonSuccessPage_div_8_div_4_div_1_ion_col_2_div_1_Template(rf, ctx) { if (rf & 1) {
338
+ i0.ɵɵelementStart(0, "div", 36)(1, "h3");
339
+ i0.ɵɵtext(2);
340
+ i0.ɵɵelementEnd()();
341
+ } if (rf & 2) {
342
+ const element_r64 = i0.ɵɵnextContext(2).$implicit;
343
+ i0.ɵɵadvance(2);
344
+ i0.ɵɵtextInterpolate(element_r64.description);
345
+ } }
346
+ function CommonSuccessPage_div_8_div_4_div_1_ion_col_2_Template(rf, ctx) { if (rf & 1) {
347
+ i0.ɵɵelementStart(0, "ion-col", 34);
348
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_ion_col_2_div_1_Template, 3, 1, "div", 35);
217
349
  i0.ɵɵelementEnd();
218
350
  } if (rf & 2) {
219
- const _r41 = i0.ɵɵreference(3);
220
- const element_r31 = i0.ɵɵnextContext(2).$implicit;
351
+ const element_r64 = i0.ɵɵnextContext().$implicit;
221
352
  i0.ɵɵadvance(1);
222
- i0.ɵɵproperty("ngIf", element_r31.description === "Submit")("ngIfElse", _r41);
353
+ i0.ɵɵproperty("ngIf", element_r64.type === "buttonAddjacentText");
354
+ } }
355
+ function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template(rf, ctx) { if (rf & 1) {
356
+ const _r73 = i0.ɵɵgetCurrentView();
357
+ i0.ɵɵelementStart(0, "div", 38)(1, "ion-button", 39);
358
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r73); const ctx_r72 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r72.openPage()); });
359
+ i0.ɵɵtext(2);
360
+ i0.ɵɵelementEnd()();
361
+ } if (rf & 2) {
362
+ const element_r64 = i0.ɵɵnextContext(2).$implicit;
363
+ i0.ɵɵadvance(2);
364
+ i0.ɵɵtextInterpolate1(" ", element_r64.description, " ");
223
365
  } }
224
- function CommonSuccessPage_div_6_div_5_ion_col_3_Template(rf, ctx) { if (rf & 1) {
225
- i0.ɵɵelementStart(0, "ion-col", 23);
226
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_5_ion_col_3_div_1_Template, 4, 2, "div", 26);
366
+ function CommonSuccessPage_div_8_div_4_div_1_ion_col_3_Template(rf, ctx) { if (rf & 1) {
367
+ i0.ɵɵelementStart(0, "ion-col", 34);
368
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_ion_col_3_div_1_Template, 3, 1, "div", 37);
227
369
  i0.ɵɵelementEnd();
228
370
  } if (rf & 2) {
229
- const element_r31 = i0.ɵɵnextContext().$implicit;
371
+ const element_r64 = i0.ɵɵnextContext().$implicit;
230
372
  i0.ɵɵadvance(1);
231
- i0.ɵɵproperty("ngIf", element_r31.type === "buttonText");
373
+ i0.ɵɵproperty("ngIf", element_r64.type === "buttonText");
232
374
  } }
233
- function CommonSuccessPage_div_6_div_5_Template(rf, ctx) { if (rf & 1) {
375
+ function CommonSuccessPage_div_8_div_4_div_1_Template(rf, ctx) { if (rf & 1) {
234
376
  i0.ɵɵelementStart(0, "div")(1, "ion-row");
235
- i0.ɵɵtemplate(2, CommonSuccessPage_div_6_div_5_ion_col_2_Template, 2, 1, "ion-col", 22)(3, CommonSuccessPage_div_6_div_5_ion_col_3_Template, 2, 1, "ion-col", 22);
377
+ i0.ɵɵtemplate(2, CommonSuccessPage_div_8_div_4_div_1_ion_col_2_Template, 2, 1, "ion-col", 33)(3, CommonSuccessPage_div_8_div_4_div_1_ion_col_3_Template, 2, 1, "ion-col", 33);
236
378
  i0.ɵɵelementEnd()();
237
379
  } if (rf & 2) {
238
- const element_r31 = ctx.$implicit;
380
+ const element_r64 = ctx.$implicit;
381
+ const ctx_r63 = i0.ɵɵnextContext(3);
239
382
  i0.ɵɵadvance(2);
240
- i0.ɵɵproperty("ngIf", element_r31.type === "buttonAddjacentText");
383
+ i0.ɵɵproperty("ngIf", element_r64.type === "buttonAddjacentText" && !ctx_r63.isCsr);
241
384
  i0.ɵɵadvance(1);
242
- i0.ɵɵproperty("ngIf", element_r31.type === "buttonText");
385
+ i0.ɵɵproperty("ngIf", element_r64.type === "buttonText");
243
386
  } }
244
- function CommonSuccessPage_div_6_Template(rf, ctx) { if (rf & 1) {
387
+ function CommonSuccessPage_div_8_div_4_Template(rf, ctx) { if (rf & 1) {
245
388
  i0.ɵɵelementStart(0, "div");
246
- i0.ɵɵtemplate(1, CommonSuccessPage_div_6_div_1_Template, 2, 1, "div", 11);
247
- i0.ɵɵelementStart(2, "ion-grid");
248
- i0.ɵɵtemplate(3, CommonSuccessPage_div_6_div_3_Template, 8, 7, "div", 11);
389
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_4_div_1_Template, 4, 2, "div", 16);
249
390
  i0.ɵɵelementEnd();
250
- i0.ɵɵelementStart(4, "ion-grid");
251
- i0.ɵɵtemplate(5, CommonSuccessPage_div_6_div_5_Template, 4, 2, "div", 11);
252
- i0.ɵɵelementEnd()();
253
391
  } if (rf & 2) {
254
- const ctx_r2 = i0.ɵɵnextContext();
392
+ const ctx_r11 = i0.ɵɵnextContext(2);
255
393
  i0.ɵɵadvance(1);
256
- i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
394
+ i0.ɵɵproperty("ngForOf", ctx_r11.elements.getValue());
395
+ } }
396
+ function CommonSuccessPage_div_8_div_6_Template(rf, ctx) { if (rf & 1) {
397
+ const _r77 = i0.ɵɵgetCurrentView();
398
+ i0.ɵɵelementStart(0, "div")(1, "ion-row")(2, "ion-col", 40)(3, "div", 38)(4, "ion-button", 39);
399
+ i0.ɵɵlistener("click", function CommonSuccessPage_div_8_div_6_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r77); const ctx_r76 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r76.openWIOApop()); });
400
+ i0.ɵɵtext(5, " Next ");
401
+ i0.ɵɵelementEnd()()()()();
402
+ } }
403
+ function CommonSuccessPage_div_8_Template(rf, ctx) { if (rf & 1) {
404
+ i0.ɵɵelementStart(0, "div");
405
+ i0.ɵɵtemplate(1, CommonSuccessPage_div_8_div_1_Template, 4, 2, "div", 6)(2, CommonSuccessPage_div_8_div_2_Template, 17, 2, "div", 6);
406
+ i0.ɵɵelementStart(3, "ion-grid");
407
+ i0.ɵɵtemplate(4, CommonSuccessPage_div_8_div_4_Template, 2, 1, "div", 6);
408
+ i0.ɵɵelementStart(5, "ion-footer", 15);
409
+ i0.ɵɵtemplate(6, CommonSuccessPage_div_8_div_6_Template, 6, 0, "div", 6);
410
+ i0.ɵɵelementEnd()()();
411
+ } if (rf & 2) {
412
+ const ctx_r4 = i0.ɵɵnextContext();
413
+ i0.ɵɵadvance(1);
414
+ i0.ɵɵproperty("ngIf", !ctx_r4.isMS() || ctx_r4.isMS() && (ctx_r4.wioaComp === null || ctx_r4.wioaComp));
415
+ i0.ɵɵadvance(1);
416
+ i0.ɵɵproperty("ngIf", !ctx_r4.wioaComp && ctx_r4.wioaComp != null && ctx_r4.isMS());
257
417
  i0.ɵɵadvance(2);
258
- i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
418
+ i0.ɵɵproperty("ngIf", !ctx_r4.isMS() || ctx_r4.isMS() && (ctx_r4.wioaComp === null || ctx_r4.wioaComp));
259
419
  i0.ɵɵadvance(2);
260
- i0.ɵɵproperty("ngForOf", ctx_r2.elements.getValue());
420
+ i0.ɵɵproperty("ngIf", !ctx_r4.wioaComp && ctx_r4.wioaComp != null && ctx_r4.isMS());
261
421
  } }
262
422
  export class CommonSuccessPage extends BasePage {
263
423
  constructor(router, questionnaireService, formBuilder, util, logger, claimantService, r, navController, ls, sanitizer, http, storage, validationService) {
@@ -287,20 +447,20 @@ export class CommonSuccessPage extends BasePage {
287
447
  this.isLoading = true;
288
448
  this.elements = new BehaviorSubject(null);
289
449
  this.successPageElementArr = new BehaviorSubject(null);
450
+ this.isCsr = false;
290
451
  this.duration = 5000; //defines milliseconds after which a new request to be sent out
291
452
  this.timerInterval = interval(this.duration);
292
453
  this.countDown = this.timerInterval.pipe(take(30));
293
454
  this.isOpenQe = false;
455
+ this.isOpenDua = false;
294
456
  this.statusModel = new StatusModel();
457
+ this.displayWIOAMsg = false;
458
+ this.commonSuccessPage = 'commonSuccessPage';
459
+ this.wioaComp = null;
295
460
  }
296
461
  async ngOnInit() {
297
- if (localStorage.getItem("language") === "es") {
298
- this.popUpHeader = "Preguntas de seguimiento";
299
- }
300
- else {
301
- this.popUpHeader = "Follow up Questions";
302
- }
303
462
  this.logger.debug("common-success page - ng init called");
463
+ this.isCsr = this.ls.isCsr();
304
464
  this.uuid = await this.storage.get(FbConstants.uuid);
305
465
  this.waitCheckServiceUri = await this.storage.get(FbConstants.waitCheckServiceUri);
306
466
  this.pageToOpen = await this.storage.get(FbConstants.pageToOpen);
@@ -337,21 +497,16 @@ export class CommonSuccessPage extends BasePage {
337
497
  this.storage.remove(FbConstants.uuid);
338
498
  }
339
499
  doPollingForRequest(uuidTemp, waitCheckServiceUriTemp) {
340
- console.log('do Polling for request called = ', waitCheckServiceUriTemp);
500
+ this.logger.debug('do Polling for request called = ', waitCheckServiceUriTemp);
341
501
  this.isLoading = true;
342
502
  this.timerSubscription = this.timerInterval.pipe(startWith(0), switchMap(() => this.retrivePollingStatusForPage(uuidTemp, waitCheckServiceUriTemp))).subscribe(res => {
343
503
  this.isLoading = true;
344
504
  let continueWaiting = res['continueWaiting'];
345
505
  this.waitingMessage = res['waitingMessage'];
346
- if (continueWaiting && ++this.callCount >= 15) {
347
- if (localStorage.getItem("language") === "es") {
348
- this.waitingMessage = "Está tardando más de lo habitual procesar su solicitud.<br/> No actualice la página.";
349
- }
350
- else {
351
- this.waitingMessage = "It's taking longer than usual to process your request. <br/> Do not refresh the page.";
352
- }
506
+ if (continueWaiting && ++this.callCount >= 25) {
507
+ this.waitingMessage = 'Its taking longer than usual to process your request. <br/> Do not refresh the page.';
353
508
  }
354
- if (continueWaiting && this.callCount > 25) {
509
+ if (continueWaiting && this.callCount > 35) {
355
510
  this.timerSubscription.unsubscribe();
356
511
  if (this.ls.isLoggedIn()) {
357
512
  this.pageToOpen = "welcome";
@@ -359,14 +514,17 @@ export class CommonSuccessPage extends BasePage {
359
514
  else {
360
515
  this.pageToOpen = "landing";
361
516
  }
362
- if (localStorage.getItem("language") === "es") {
517
+ if (this.isMS()) {
518
+ this.wioaComp = null;
519
+ }
520
+ if (this.isMS()) {
363
521
  this.successPageElementArr.next([
364
- { type: 'header', description: "<h1>¡Ups! No se pudo procesar tu solicitud.</h1>\t\t", indent: 0, fontSize: 0 },
365
- { type: 'subhheader', description: '<h4>Por favor, inténtelo de nuevo después de un tiempo.<h4>\t\t', indent: 0, fontSize: 0 },
366
- { type: 'buttonText', description: 'Casa', indent: 0, fontSize: 0 }
522
+ { type: 'header', description: "<h1>Your request cannot be processed at this time.</h1>\t\t", indent: 0, fontSize: 0 },
523
+ { type: 'subhheader', description: '<h4>Please try again later. If you have the problem again call us at 601-493-9427, Mon - Fri, 8:00 AM - 5:00 PM CST.<h4>\t\t', indent: 0, fontSize: 0 },
524
+ { type: 'buttonText', description: 'Home', indent: 0, fontSize: 0 }
367
525
  ]);
368
526
  }
369
- else {
527
+ else if (!this.isMS()) {
370
528
  this.successPageElementArr.next([
371
529
  { type: 'header', description: "<h1>Oops! could not process your request.</h1>\t\t", indent: 0, fontSize: 0 },
372
530
  { type: 'subhheader', description: '<h4>Please try again after some time.<h4>\t\t', indent: 0, fontSize: 0 },
@@ -382,7 +540,9 @@ export class CommonSuccessPage extends BasePage {
382
540
  this.waitingMessage = res['waitingMessage'];
383
541
  this.fetchPageElements(messageServiceEp, uuidTemp).subscribe(resp => {
384
542
  this.statusModel = resp;
385
- this.logger.debug(" this.statusModel ", this.statusModel);
543
+ if (this.isMS()) {
544
+ this.wioaComp = this.statusModel.wioaComp;
545
+ }
386
546
  if (resp['navigateImmediately']) {
387
547
  this.openNextPage(resp['pageToOpen']);
388
548
  }
@@ -400,6 +560,20 @@ export class CommonSuccessPage extends BasePage {
400
560
  this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
401
561
  }
402
562
  }
563
+ else if (resp['showDua']) {
564
+ this.logger.debug("Open DUA Questionnaire option encountered");
565
+ this.qeSuccessWaitCheckServiceUri = this.statusModel.qeSuccessWaitCheckServiceUri;
566
+ this.qeSuccessWaitForProcessing = this.statusModel.qeSuccessWaitForProcessing;
567
+ this.qeSuccessUri = this.statusModel.qeSuccessUri;
568
+ if (this.qeSuccessUri != null) {
569
+ this.qeQueryModels = resp.qeQueryModels;
570
+ this.isOpenDua = true;
571
+ }
572
+ else {
573
+ this.logger.debug("Direct polling to new process");
574
+ this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
575
+ }
576
+ }
403
577
  else {
404
578
  this.pageToOpen = resp['pageToOpen'];
405
579
  this.successPageElementArr.next(resp['successPageElement']);
@@ -457,17 +631,25 @@ export class CommonSuccessPage extends BasePage {
457
631
  }
458
632
  openPage() {
459
633
  let currentContextRoot = this.getContextRoot();
634
+ this.logger.debug("In common success openPage method to open with contextRoot and pageToOpen", currentContextRoot, this.pageToOpen);
460
635
  if (this.pageToOpen && this.pageToOpen.substring(0, 4) != '/cp/' && this.pageToOpen && this.pageToOpen != 'OpenPage') {
461
- this.navController.navigateForward([this.pageToOpen], { queryParams: { identifier: this.uuid } });
636
+ this.logger.debug("Inside if block, redirect to ss/search-ssn");
637
+ this.util.openPageByContextRoot("ss", "search-ssn");
462
638
  }
463
639
  else {
464
640
  let url = "/cp/landing";
641
+ this.logger.debug("Inside else block, redirect to cp/landing");
465
642
  if (this.pageToOpen && this.pageToOpen != 'OpenPage') {
643
+ this.logger.debug("Inside if block, pageToOpen", this.pageToOpen);
466
644
  url = this.pageToOpen;
467
645
  }
646
+ this.logger.debug("Url to open location.origin and url ", location.origin, url);
468
647
  window.open(location.origin + url, '_self');
469
648
  }
470
649
  }
650
+ openWIOApop() {
651
+ this.displayWIOAMsg = true;
652
+ }
471
653
  getContextRoot() {
472
654
  return window.location.pathname.substring(0, window.location.pathname.indexOf("/", 2));
473
655
  }
@@ -499,30 +681,52 @@ export class CommonSuccessPage extends BasePage {
499
681
  });
500
682
  }
501
683
  }
684
+ quSuccessDua() {
685
+ this.logger.debug("qe success here for dua");
686
+ if (this.isOpenDua) {
687
+ this.validationService.post(this.qeSuccessUri, null)
688
+ .subscribe(res => {
689
+ this.logger.debug("response post dua ep", res);
690
+ this.isOpenDua = false;
691
+ if (this.qeSuccessWaitForProcessing) {
692
+ this.doPollingForRequest(this.uuid, this.qeSuccessWaitCheckServiceUri);
693
+ }
694
+ }, err => {
695
+ this.logger.debug('Error', err);
696
+ this.util.errorHandler(err);
697
+ });
698
+ }
699
+ }
502
700
  static { this.ɵfac = function CommonSuccessPage_Factory(t) { return new (t || CommonSuccessPage)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.QuestionnaireService), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder), i0.ɵɵdirectiveInject(i4.UtilService), i0.ɵɵdirectiveInject(i5.LoggerService), i0.ɵɵdirectiveInject(i6.ClaimantService), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i7.NavController), i0.ɵɵdirectiveInject(i8.LoginService), i0.ɵɵdirectiveInject(i9.DomSanitizer), i0.ɵɵdirectiveInject(i10.HttpClient), i0.ɵɵdirectiveInject(i11.Storage), i0.ɵɵdirectiveInject(i12.ValidationService)); }; }
503
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommonSuccessPage, selectors: [["common-success"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 7, vars: 6, consts: [[3, "secondToolbar"], [3, "showHelp", "hideFooter"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], ["class", "ion-padding", 4, "ngIf"], [4, "ngIf"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete"], [1, "ion-padding"], [1, "ion-text-center"], [1, "box", 2, "color", "var(--ion-color-grey)", "font-size", "24px"], [3, "innerHTML"], ["name", "dots"], [4, "ngFor", "ngForOf"], ["style", "text-align: left;", "style", "color:var(--ion-color-grey);", "style", "padding-left: 25px;", 3, "innerHTML", 4, "ngIf"], [2, "padding-left", "25px", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-center", "ion-padding"], [1, "box", 2, "color", "var(--ion-color-grey)", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-padding"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-justify", "ion-padding"], ["id", "emailAddress", "size", "60", "type", "input", "pInputText", "", 3, "formControl"], ["shape", "round", "type", "submit", 3, "click"], [2, "text-align", "center"], ["href", "javascript:void(0)", 3, "click"], ["class", "ion-text-right ion-padding-end", "size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-right", "ion-padding-end"], ["class", "ion-text-right", "style", "color:var(--ion-color-grey);", 4, "ngIf"], [1, "ion-text-right", 2, "color", "var(--ion-color-grey)"], ["class", "ion-text-right", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "color", "success", "size", "big", "type", "submit", 3, "click", 4, "ngIf", "ngIfElse"], ["defaultButton", ""], ["shape", "round", "color", "success", "size", "big", "type", "submit", 3, "click"]], template: function CommonSuccessPage_Template(rf, ctx) { if (rf & 1) {
701
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CommonSuccessPage, selectors: [["common-success"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 8, consts: [[3, "secondToolbar"], [3, "redirectPage", 4, "ngIf"], [3, "showHelp", "hideFooter"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], [3, "qeQueryModels", "showClose", "autoSave", "header", "showQuestionNumber", "onComplete", 4, "ngIf"], ["class", "ion-padding", 4, "ngIf"], [4, "ngIf"], [3, "redirectPage"], [3, "qeQueryModels", "showClose", "header", "showQuestionNumber", "onComplete"], [3, "qeQueryModels", "showClose", "autoSave", "header", "showQuestionNumber", "onComplete"], [1, "ion-padding"], [1, "ion-text-center"], [1, "text"], [3, "innerHTML"], ["name", "dots"], [2, "position", "fixed", "bottom", "25px", "width", "100%", "padding", "20px"], [4, "ngFor", "ngForOf"], ["class", "headers", 3, "innerHTML", "ngStyle", 4, "ngIf"], [1, "headers", 3, "innerHTML", "ngStyle"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-center", "ion-padding"], [1, "subHeaders", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-padding"], [1, "text", 3, "innerHTML"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-justify", "ion-padding"], ["id", "emailAddress", "size", "60", "type", "input", "pInputText", "", 3, "formControl"], ["shape", "round", "type", "submit", 3, "click"], [2, "text-align", "center"], ["href", "javascript:void(0)", 3, "click"], ["size", "12", "sizeXl", "6", "offsetXl", "1", "sizeLg", "6", 1, "ion-text-justify", "ion-padding"], ["size", "12", "sizeXl", "3", "sizeLg", "3", 1, "ion-text-justify", "ion-padding", 2, "align-content", "center"], [2, "font-size", "24px"], [2, "font-size", "18px"], [1, "headersClassWioaCompNotNull", 3, "innerHTML"], ["class", "ion-text-right ion-padding-end", "size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "1", "offsetXl", "2", "offsetLg", "2", 1, "ion-text-right", "ion-padding-end"], ["class", "ion-text-right", "style", "color:var(--ion-color-grey);", 4, "ngIf"], [1, "ion-text-right", 2, "color", "var(--ion-color-grey)"], ["class", "ion-text-right", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "color", "success", "size", "big", "type", "submit", 3, "click"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "10", "sizeLg", "8", "sizeXl", "8", "offsetMd", "2", "offsetXl", "4", "offsetLg", "4", 1, "ion-text-right", "ion-padding-end"]], template: function CommonSuccessPage_Template(rf, ctx) { if (rf & 1) {
504
702
  i0.ɵɵelementStart(0, "ion-header");
505
703
  i0.ɵɵelement(1, "app-header", 0);
506
704
  i0.ɵɵelementEnd();
507
- i0.ɵɵelementStart(2, "ion-content")(3, "app-content", 1);
508
- i0.ɵɵtemplate(4, CommonSuccessPage_app_multi_questionnaire_4_Template, 1, 4, "app-multi-questionnaire", 2)(5, CommonSuccessPage_ion_row_5_Template, 6, 1, "ion-row", 3)(6, CommonSuccessPage_div_6_Template, 6, 3, "div", 4);
705
+ i0.ɵɵelementStart(2, "ion-content");
706
+ i0.ɵɵtemplate(3, CommonSuccessPage_app_profile_redirect_3_Template, 1, 1, "app-profile-redirect", 1);
707
+ i0.ɵɵelementStart(4, "app-content", 2);
708
+ i0.ɵɵtemplate(5, CommonSuccessPage_app_multi_questionnaire_5_Template, 2, 6, "app-multi-questionnaire", 3)(6, CommonSuccessPage_app_multi_questionnaire_6_Template, 2, 7, "app-multi-questionnaire", 4)(7, CommonSuccessPage_ion_row_7_Template, 6, 1, "ion-row", 5)(8, CommonSuccessPage_div_8_Template, 7, 4, "div", 6);
509
709
  i0.ɵɵelementEnd()();
510
710
  } if (rf & 2) {
511
711
  i0.ɵɵadvance(1);
512
712
  i0.ɵɵproperty("secondToolbar", false);
513
713
  i0.ɵɵadvance(2);
714
+ i0.ɵɵproperty("ngIf", ctx.displayWIOAMsg);
715
+ i0.ɵɵadvance(1);
514
716
  i0.ɵɵproperty("showHelp", false)("hideFooter", true);
515
717
  i0.ɵɵadvance(1);
516
718
  i0.ɵɵproperty("ngIf", ctx.isOpenQe);
517
719
  i0.ɵɵadvance(1);
720
+ i0.ɵɵproperty("ngIf", ctx.isOpenDua);
721
+ i0.ɵɵadvance(1);
518
722
  i0.ɵɵproperty("ngIf", ctx.isLoading);
519
723
  i0.ɵɵadvance(1);
520
724
  i0.ɵɵproperty("ngIf", ctx.elements.getValue() && !ctx.isLoading);
521
- } }, dependencies: [i7.IonButton, i7.IonCol, i7.IonContent, i7.IonGrid, i7.IonHeader, i7.IonLabel, i7.IonRow, i7.IonSpinner, i13.NgForOf, i13.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i14.InputText, i15.ContentComponent, i16.HeaderComponent, i17.MultiQuestionnaireComponent, i18.TranslatePipe], styles: [".bottom[_ngcontent-%COMP%]{position:absolute;bottom:15%;right:5%}.centered[_ngcontent-%COMP%]{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}"] }); }
725
+ } }, dependencies: [i7.IonButton, i7.IonCol, i7.IonContent, i7.IonFooter, i7.IonGrid, i7.IonHeader, i7.IonLabel, i7.IonRow, i7.IonSpinner, i13.NgForOf, i13.NgIf, i13.NgStyle, i3.DefaultValueAccessor, i3.NgControlStatus, i3.FormControlDirective, i14.InputText, i15.ContentComponent, i16.HeaderComponent, i17.MultiQuestionnaireComponent, i18.ProfileRedirectComponent, i19.TranslatePipe], styles: [".bottom[_ngcontent-%COMP%]{position:absolute;bottom:15%;right:5%}.centered[_ngcontent-%COMP%]{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}.headers[_ngcontent-%COMP%]{color:#777;text-align:left;font-size:60px!important}.subHeaders[_ngcontent-%COMP%]{color:#777;font-size:24px!important;margin-bottom:20px}.text[_ngcontent-%COMP%]{color:#777;font-size:24px!important}.headersClassWioaCompNotNull[_ngcontent-%COMP%]{color:#777;font-size:60px;padding-left:25px;text-align:left}@media (min-width: 320px) and (max-width: 400px){ion-footer[_ngcontent-%COMP%]{position:inherit!important;bottom:25px;width:100%;padding:20px}.headers[_ngcontent-%COMP%], .headersClassWioaCompNotNull[_ngcontent-%COMP%]{font-size:30px!important;padding-left:65px!important}}@media (min-width: 401px) and (max-width: 470px){ion-footer[_ngcontent-%COMP%]{position:inherit!important;bottom:25px;width:100%;padding:20px}.headers[_ngcontent-%COMP%]{font-size:30px!important;padding-left:75px!important}.headersClassWioaCompNotNull[_ngcontent-%COMP%]{font-size:30px!important;padding-left:85px!important}}"] }); }
522
726
  }
523
727
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommonSuccessPage, [{
524
728
  type: Component,
525
- args: [{ selector: 'common-success', template: "<ion-header>\r\n <app-header [secondToolbar]=\"false\"></app-header>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <app-content [showHelp]=\"false\" [hideFooter]=\"true\">\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" [showClose]=\"false\" \r\n (onComplete)=\"quSuccess()\" [header]=\"popUpHeader\" [showQuestionNumber]=\"true\"></app-multi-questionnaire>\r\n <ion-row class=\"ion-padding\" *ngIf=\"isLoading\">\r\n <ion-col class=\"ion-text-center\">\r\n <ion-label class=\"box\"style=\"color:var(--ion-color-grey); font-size: 24px\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(waitingMessage)\"></div></ion-label>\r\n <br>\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div *ngIf=\"elements.getValue() && !isLoading\">\r\n\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div [innerHTML]=\"element.description\" style=\"text-align: left;\" *ngIf=\"element.type ==='header'\"\r\n style=\"color:var(--ion-color-grey);\" style=\"padding-left: 25px;\">\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\" class=\"box\" style=\"margin-bottom: 20px;\"\r\n style=\"color:var(--ion-color-grey);\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <ion-row> \r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row> \r\n <ion-col> \r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col> \r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">{{'common.submit'| translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div style='text-align:center'>{{'email.no.email'| translate}}\r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> {{'email.click.here'| translate}}</a> {{'email.we.will.send'| translate}}</div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n\r\n\r\n <!--For button-->\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row>\r\n <ion-col *ngIf=\"element.type ==='buttonAddjacentText'\" class=\"ion-text-right ion-padding-end\" size=\"12\"\r\n sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"ion-text-right\" style=\"color:var(--ion-color-grey);\"\r\n *ngIf=\"element.type ==='buttonAddjacentText'\">\r\n <h3>{{element.description}}</h3>\r\n </div>\r\n </ion-col>\r\n <ion-col *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\"\r\n sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right\">\r\n <ion-button *ngIf=\"element.description === 'Submit'; else defaultButton\" shape=\"round\" (click)=\"openPage()\" color=\"success\" size=\"big\" type=\"submit\">\r\n {{'common.submit' | translate}}\r\n </ion-button>\r\n <ng-template #defaultButton>\r\n <ion-button shape=\"round\" (click)=\"openPage()\" color=\"success\" size=\"big\" type=\"submit\">\r\n {{element.description}}\r\n </ion-button>\r\n </ng-template>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </div>\r\n\r\n </ion-grid>\r\n\r\n\r\n\r\n <!--Button-->\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n </app-content>\r\n</ion-content>", styles: [".bottom{position:absolute;bottom:15%;right:5%}.centered{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}\n"] }]
729
+ args: [{ selector: 'common-success', template: "<ion-header>\r\n <app-header [secondToolbar]=\"false\"></app-header>\r\n</ion-header>\r\n\r\n<ion-content>\r\n <app-profile-redirect *ngIf=\"displayWIOAMsg\" [redirectPage]=\"commonSuccessPage\"></app-profile-redirect>\r\n\r\n <app-content [showHelp]=\"false\" [hideFooter]=\"true\">\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" *ngIf=\"isOpenQe\" [showClose]=\"false\"\r\n (onComplete)=\"quSuccess()\" [header]=\"'Follow up Questions' | translate\" [showQuestionNumber]=\"true\">\r\n </app-multi-questionnaire>\r\n\r\n <app-multi-questionnaire [qeQueryModels]=\"qeQueryModels\" [showClose]=\"false\" [autoSave]=\"true\" *ngIf=\"isOpenDua\"\r\n (onComplete)=\"quSuccessDua()\" [header]=\"'DUA application' | translate\" [showQuestionNumber]=\"false\">\r\n </app-multi-questionnaire>\r\n\r\n <ion-row class=\"ion-padding\" *ngIf=\"isLoading\">\r\n <ion-col class=\"ion-text-center\">\r\n <ion-label class=\"text\">\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(waitingMessage)\"></div>\r\n </ion-label>\r\n <br>\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div *ngIf=\"elements.getValue() && !isLoading\">\r\n <div *ngIf=\"!isMS() || (isMS() && (wioaComp===null || wioaComp))\">\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div class=\"headers\" [innerHTML]=\"element.description\" *ngIf=\"element.type ==='header'\"\r\n [ngStyle]=\"{\r\n 'padding-left': isCsr ? '270px' : '0', \r\n 'padding-top': isCsr ? '55px' : '0'\r\n }\">\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"subHeaders\" [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\"\r\n offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"text\" [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <ion-row>\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">Submit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div style='text-align:center'>If you did't get an email,\r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> click here</a> and we'll send\r\n again.\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n </div>\r\n\r\n <div *ngIf=\"!wioaComp && wioaComp!= null && isMS()\" >\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeXl=\"6\" offsetXl=\"1\" sizeLg=\"6\">\r\n\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <div *ngIf=\"element.type ==='header'\">\r\n <p class=\"headersClassWioaCompNotNull\" [innerHTML]=\"element.description\">\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <ion-grid>\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row *ngIf=\"element.type ==='subhheader'\">\r\n <ion-col class=\"ion-text-center ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\"\r\n sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"subHeaders\" [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text1'\">\r\n <ion-col>\r\n <div class=\"text\" [innerHTML]=\"element.description\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text2'\">\r\n <ion-col>\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='emailUpdate'\">\r\n <ion-col>\r\n <ion-row>\r\n <ion-col>\r\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\">\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col>\r\n <input id=\"emailAddress\" size=\"60\" type=\"input\" pInputText [formControl]=\"emailAddress\" />\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" (click)=\"submit()\" type=\"submit\">Submit</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='resendemail'\">\r\n <ion-col>\r\n <div style='text-align:center'>If you did't get an email,\r\n <a href=\"javascript:void(0)\" (click)=\"resendVerificationEmail()\"> click here</a> and we'll send\r\n again.\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"element.type ==='text3'\">\r\n <ion-col>\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row *ngIf=\"element.type ==='text4'\">\r\n <ion-col>\r\n <div class=\"text\" [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(element.description)\"></div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-grid>\r\n </ion-col>\r\n <ion-col class=\"ion-text-justify ion-padding\" size=\"12\" sizeXl=\"3\" sizeLg=\"3\" style=\"align-content: center;\">\r\n <h4 style=\"font-size: 24px;\">One more task...</h4>\r\n <p style=\"font-size: 18px;\">Choose <b>Next</b> to be taken to MSWorks website to complete employment service registration.<br>\r\n Once you're done, we can match you to available jobs based on your experience and preferences.\r\n </p>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n <!--For button-->\r\n <ion-grid>\r\n <div *ngIf=\"!isMS() || (isMS() && (wioaComp===null || wioaComp))\">\r\n <div *ngFor=\"let element of elements.getValue(); let i = index\">\r\n <ion-row>\r\n <ion-col *ngIf=\"element.type ==='buttonAddjacentText' && !isCsr\" class=\"ion-text-right ion-padding-end\" size=\"12\"\r\n sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div class=\"ion-text-right\" style=\"color:var(--ion-color-grey);\"\r\n *ngIf=\"element.type ==='buttonAddjacentText'\">\r\n <h3>{{element.description}}</h3>\r\n </div>\r\n </ion-col>\r\n <ion-col *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\"\r\n sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\" sizeXl=\"8\" offsetMd=\"1\" offsetXl=\"2\" offsetLg=\"2\">\r\n <div *ngIf=\"element.type ==='buttonText'\" class=\"ion-text-right\">\r\n <ion-button shape=\"round\" (click)=\"openPage()\" color=\"success\" size=\"big\"\r\n type=\"submit\">\r\n {{element.description}}\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </div>\r\n <ion-footer style=\"position: fixed; bottom: 25px; width: 100%; padding: 20px\">\r\n <div *ngIf=\"!wioaComp && wioaComp!= null && isMS()\" >\r\n <ion-row>\r\n <ion-col class=\"ion-text-right ion-padding-end\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"10\" sizeLg=\"8\"\r\n sizeXl=\"8\" offsetMd=\"2\" offsetXl=\"4\" offsetLg=\"4\">\r\n <div class=\"ion-text-right\">\r\n <ion-button shape=\"round\" (click)=\"openWIOApop()\" color=\"success\" size=\"big\" type=\"submit\">\r\n Next\r\n </ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n </ion-footer>\r\n </ion-grid>\r\n <!--Button-->\r\n </div>\r\n </app-content>\r\n</ion-content>", styles: [".bottom{position:absolute;bottom:15%;right:5%}.centered{position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}.headers{color:#777;text-align:left;font-size:60px!important}.subHeaders{color:#777;font-size:24px!important;margin-bottom:20px}.text{color:#777;font-size:24px!important}.headersClassWioaCompNotNull{color:#777;font-size:60px;padding-left:25px;text-align:left}@media (min-width: 320px) and (max-width: 400px){ion-footer{position:inherit!important;bottom:25px;width:100%;padding:20px}.headers,.headersClassWioaCompNotNull{font-size:30px!important;padding-left:65px!important}}@media (min-width: 401px) and (max-width: 470px){ion-footer{position:inherit!important;bottom:25px;width:100%;padding:20px}.headers{font-size:30px!important;padding-left:75px!important}.headersClassWioaCompNotNull{font-size:30px!important;padding-left:85px!important}}\n"] }]
526
730
  }], () => [{ type: i1.Router }, { type: i2.QuestionnaireService }, { type: i3.UntypedFormBuilder }, { type: i4.UtilService }, { type: i5.LoggerService }, { type: i6.ClaimantService }, { type: i1.Router }, { type: i7.NavController }, { type: i8.LoginService }, { type: i9.DomSanitizer }, { type: i10.HttpClient }, { type: i11.Storage }, { type: i12.ValidationService }], null); })();
527
731
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CommonSuccessPage, { className: "CommonSuccessPage", filePath: "lib\\components\\questionnaire\\common-success\\common-success.page.ts", lineNumber: 28 }); })();
528
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN1Y2Nlc3MucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2NvbW1vbi1zdWNjZXNzL2NvbW1vbi1zdWNjZXNzLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9jb21tb24tc3VjY2Vzcy9jb21tb24tc3VjY2Vzcy5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU1uRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDWnpDLGtEQUM4RTtJQUE5RSw2TUFBYyxlQUFBLGtCQUFXLENBQUEsSUFBQztJQUFvRCxpQkFBMEI7OztJQUQvRSxvREFBK0Isb0JBQUEsOEJBQUEsNEJBQUE7OztJQUV4RCxrQ0FBK0MsaUJBQUEsbUJBQUE7SUFHekMseUJBQTJFO0lBQUEsaUJBQVk7SUFDekYscUJBQUksc0JBQUE7SUFFTixpQkFBVSxFQUFBOzs7SUFIRCxlQUErRDtJQUEvRCw4R0FBK0Q7OztJQVN0RSwwQkFFTTs7O0lBRkQscUVBQWlDOzs7SUFEeEMsMkJBQWtFO0lBQ2hFLCtFQUVNO0lBQ1IsaUJBQU07OztJQUg4RCxlQUE4QjtJQUE5QixtREFBOEI7OztJQU85RiwrQkFBOEMsa0JBQUE7SUFHMUMsMEJBRU07SUFDUixpQkFBVSxFQUFBOzs7SUFISCxlQUFpQztJQUFqQyxzRUFBaUM7OztJQU0xQywrQkFBeUMsa0JBQUE7SUFHckMseUJBQ007SUFDUixpQkFBVSxFQUFBOzs7SUFGSCxlQUFpQztJQUFqQyxzRUFBaUM7OztJQUsxQywrQkFBeUMsa0JBQUE7SUFHckMseUJBQ007SUFDUixpQkFBVSxFQUFBOzs7O0lBRkgsZUFBb0U7SUFBcEUsaUhBQW9FOzs7O0lBSzdFLCtCQUErQyxrQkFBQSxjQUFBLGNBQUE7SUFLM0MseUJBQ007SUFDTixpQkFBVSxFQUFBO0lBRVgsK0JBQVMsY0FBQTtJQUVQLDRCQUEwRjtJQUMzRixpQkFBVTtJQUNWLCtCQUFTLHFCQUFBO0lBQ2lCLHFMQUFTLGVBQUEsZ0JBQVEsQ0FBQSxJQUFDO0lBQWUsYUFBOEI7O0lBQUEsaUJBQWEsRUFBQSxFQUFBLEVBQUEsRUFBQTs7OztJQVRqRyxlQUFvRTtJQUFwRSxpSEFBb0U7SUFNYixlQUE0QjtJQUE1QixrREFBNEI7SUFHN0IsZUFBOEI7SUFBOUIsNERBQThCOzs7O0lBTTdGLCtCQUErQyxrQkFBQSxjQUFBO0lBR1osWUFDN0I7O0lBQUEsNkJBQWlFO0lBQXBDLDRLQUFTLGVBQUEsaUNBQXlCLENBQUEsSUFBQztJQUFFLFlBQWlDOztJQUFBLGlCQUFJO0lBQUMsWUFBbUM7O0lBQUEsaUJBQU0sRUFBQSxFQUFBOztJQURwSCxlQUM3QjtJQUQ2QixzRUFDN0I7SUFBa0UsZUFBaUM7SUFBakMsd0VBQWlDO0lBQUssZUFBbUM7SUFBbkMsMEVBQW1DOzs7SUFHakosK0JBQXlDLGtCQUFBO0lBR3JDLHlCQUFnRjtJQUNsRixpQkFBVSxFQUFBOzs7O0lBREgsZUFBb0U7SUFBcEUsaUhBQW9FOzs7SUFJN0UsK0JBQXlDLGtCQUFBO0lBR3JDLHlCQUFnRjtJQUNsRixpQkFBVSxFQUFBOzs7O0lBREgsZUFBb0U7SUFBcEUsaUhBQW9FOzs7SUEvRC9FLDJCQUFrRTtJQUNoRSxzRkFPVSx5RUFBQSx5RUFBQSwwRUFBQSwwRUFBQSx5RUFBQSx5RUFBQTtJQTBEWixpQkFBTTs7O0lBakVNLGVBQWtDO0lBQWxDLHdEQUFrQztJQVNsQyxlQUE2QjtJQUE3QixtREFBNkI7SUFRN0IsZUFBNkI7SUFBN0IsbURBQTZCO0lBUTdCLGVBQW1DO0lBQW5DLHlEQUFtQztJQW9CbkMsZUFBbUM7SUFBbkMseURBQW1DO0lBT25DLGVBQTZCO0lBQTdCLG1EQUE2QjtJQU83QixlQUE2QjtJQUE3QixtREFBNkI7OztJQWdCbkMsK0JBQ2dELFNBQUE7SUFDMUMsWUFBdUI7SUFBQSxpQkFBSyxFQUFBOzs7SUFBNUIsZUFBdUI7SUFBdkIsNkNBQXVCOzs7SUFKL0IsbUNBQ21HO0lBQ2pHLHlGQUdNO0lBQ1IsaUJBQVU7OztJQUhMLGVBQTJDO0lBQTNDLGlFQUEyQzs7OztJQU94QyxzQ0FBcUo7SUFBOUQsd01BQVMsZUFBQSxrQkFBVSxDQUFBLElBQUM7SUFDekcsWUFDRjs7SUFBQSxpQkFBYTs7SUFEWCxlQUNGO0lBREUsc0VBQ0Y7Ozs7SUFFRSxzQ0FBd0Y7SUFBOUQseU1BQVMsZUFBQSxrQkFBVSxDQUFBLElBQUM7SUFDNUMsWUFDRjtJQUFBLGlCQUFhOzs7SUFEWCxlQUNGO0lBREUsd0RBQ0Y7OztJQVBKLCtCQUFpRTtJQUMvRCw2R0FFYSxtSUFBQTtJQU1mLGlCQUFNOzs7O0lBUlMsZUFBd0M7SUFBeEMsMkRBQXdDLGtCQUFBOzs7SUFIN0QsbUNBQzJGO0lBQ3JGLHlGQVNNO0lBQ1osaUJBQVU7OztJQVZFLGVBQWtDO0lBQWxDLHdEQUFrQzs7O0lBWGxELDJCQUFrRSxjQUFBO0lBRTlELHVGQU1VLDBFQUFBO0lBY1osaUJBQVUsRUFBQTs7O0lBcEJFLGVBQTJDO0lBQTNDLGlFQUEyQztJQU8zQyxlQUFrQztJQUFsQyx3REFBa0M7OztJQTFGcEQsMkJBQStDO0lBRTdDLHlFQUlNO0lBRU4sZ0NBQVU7SUFDUix5RUFrRU07SUFDUixpQkFBVztJQUlYLGdDQUFVO0lBQ1IseUVBd0JNO0lBRVIsaUJBQVcsRUFBQTs7O0lBekdjLGVBQTBCO0lBQTFCLG9EQUEwQjtJQU94QixlQUEwQjtJQUExQixvREFBMEI7SUF3RTFCLGVBQTBCO0lBQTFCLG9EQUEwQjs7QUR2RTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUFRO0lBOEI3QyxZQUFvQixNQUFjLEVBQVMsb0JBQTBDLEVBQVMsV0FBK0IsRUFDcEgsSUFBaUIsRUFBVSxNQUFxQixFQUFTLGVBQWdDLEVBQ3pGLENBQVMsRUFBUyxhQUE0QixFQUFTLEVBQWdCLEVBQ3ZFLFNBQXVCLEVBQVUsSUFBZ0IsRUFBVSxPQUFpQixFQUMzRSxpQkFBcUM7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFMVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUNwSCxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUFTLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUN6RixNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFjO1FBQ3ZFLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUMzRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBakN4QyxjQUFTLEdBQVksQ0FBQyxDQUFDO1FBQ3ZCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2Isb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsd0JBQW1CLEdBQVcsRUFBRSxDQUFDO1FBQzFCLG1CQUFjLEdBQUcsZ0JBQWdCLENBQUM7UUFDbEMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUN4QixhQUFRLEdBQTBDLElBQUksZUFBZSxDQUF1QixJQUFJLENBQUMsQ0FBQztRQUMzRiwwQkFBcUIsR0FBMEMsSUFBSSxlQUFlLENBQXVCLElBQUksQ0FBQyxDQUFDO1FBS3RILGFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQywrREFBK0Q7UUFDekUsa0JBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQU1yRCxhQUFRLEdBQWEsS0FBSyxDQUFDO1FBSTNCLGdCQUFXLEdBQWlCLElBQUksV0FBVyxFQUFFLENBQUM7SUFPOUMsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLDBCQUEwQixDQUFDO1NBQy9DO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDO1NBQzFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtRQUN6RCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWxFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDeEMsY0FBYyxFQUFFLEVBQUU7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FDbEMsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLEdBQUcsRUFBRTtnQkFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ2pFO2FBQ0k7WUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixvREFBb0Q7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1NBQzVFO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEM7UUFDRCxJQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBQztZQUM1QixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUFnQixFQUFFLHVCQUErQjtRQUNuRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUM5QyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ1osU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyxDQUNyRixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLGVBQWUsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRTVDLElBQUcsZUFBZSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUM7Z0JBQzNDLElBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUM7b0JBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsc0ZBQXNGLENBQUE7aUJBQzdHO3FCQUFNO29CQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsdUZBQXVGLENBQUE7aUJBQzlHO2FBQ0Y7WUFDRCxJQUFHLGVBQWUsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBQztnQkFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUVyQyxJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUM7b0JBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztpQkFDN0I7Z0JBRUQsSUFBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBQztvQkFDM0MsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDN0I7d0JBQ0ksRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxzREFBc0QsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUM7d0JBQzdHLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsaUVBQWlFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFDO3dCQUM1SCxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUM7cUJBQ3BFLENBQUMsQ0FBQztpQkFDTjtxQkFBTTtvQkFDTCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUM3Qjt3QkFDSSxFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBQzt3QkFDM0csRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSwrQ0FBK0MsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUM7d0JBQzFHLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBQztxQkFDcEUsQ0FBQyxDQUFDO2lCQUNOO2dCQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEMsT0FBTzthQUNUO1lBRUQsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztnQkFDakUsSUFBSSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FDMUQsSUFBSSxDQUFDLEVBQUU7b0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBSSxJQUFJLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDMUQsSUFBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBQzt3QkFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztxQkFDdkM7eUJBQU0sSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUM7d0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7d0JBQzNELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDO3dCQUNsRixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQzt3QkFDOUUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQzt3QkFDbEQsSUFBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksRUFBRTs0QkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDOzRCQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzt5QkFDdEI7NkJBQ0k7NEJBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQzs0QkFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7eUJBQ3hFO3FCQUNGO3lCQUFLO3dCQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNyQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7cUJBQzdEO2dCQUNILENBQUMsQ0FDRixDQUFDO2dCQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzthQUN4QjtRQUNILENBQUMsRUFDQyxHQUFHLENBQUMsRUFBRTtZQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELDJCQUEyQixDQUFDLEtBQWEsRUFBRSxxQkFBNkI7UUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEdBQUcscUJBQXFCLENBQUMsQ0FBQztRQUNwRSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQXFCLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxnQkFBd0IsRUFBRSxLQUFhO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDZCQUE2QixHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFjLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDM0QsU0FBUyxDQUNSLEdBQUcsQ0FBQyxFQUFFO2dCQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtnQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUMvQixDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUMsQ0FDQSxDQUFDO0lBRUosQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUU7WUFDbEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksUUFBUSxHQUFHO1lBQ2IsV0FBVyxFQUFFLFFBQVEsR0FBRyxJQUFJO1NBQzdCLENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFFTixJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxFQUFFO1lBQ3BILElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDbEc7YUFBTTtZQUNMLElBQUksR0FBRyxHQUFXLGFBQWEsQ0FBQztZQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLEVBQUU7Z0JBQ3BELEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3ZCO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFHRCxjQUFjO1FBQ1osT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNqRSxTQUFTLENBQ1IsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtZQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JDLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7aUJBQ2pELFNBQVMsQ0FDUixHQUFHLENBQUMsRUFBRTtnQkFDSixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsSUFBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUM7b0JBQ2pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO2lCQUN4RTtZQUNILENBQUMsRUFDRCxHQUFHLENBQUMsRUFBRTtnQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FDRixDQUFDO1NBQ0g7SUFDSixDQUFDO2tGQXRSUyxpQkFBaUI7b0VBQWpCLGlCQUFpQjtZQzNCOUIsa0NBQVk7WUFDVixnQ0FBaUQ7WUFDbkQsaUJBQWE7WUFFYixtQ0FBYSxxQkFBQTtZQUVULDBHQUN3Ryw2REFBQSxxREFBQTtZQWdJMUcsaUJBQWMsRUFBQTs7WUF0SUYsZUFBdUI7WUFBdkIscUNBQXVCO1lBSXRCLGVBQWtCO1lBQWxCLGdDQUFrQixvQkFBQTtZQUM2QixlQUFjO1lBQWQsbUNBQWM7WUFFMUMsZUFBZTtZQUFmLG9DQUFlO1lBU3ZDLGVBQXVDO1lBQXZDLGdFQUF1Qzs7O2lGRFVwQyxpQkFBaUI7Y0FMN0IsU0FBUzsyQkFDRSxnQkFBZ0I7O2tGQUlmLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaW50ZXJ2YWwsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3VjY2Vzc1BhZ2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvU3VjY2Vzc1BhZ2VFbGVtZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vLi4vcGFnZXMvQmFzZVBhZ2UnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbGFpbWFudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1zZXJ2aWNlL2NsYWltYW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBTdGF0dXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1N0YXR1c01vZGVsJztcclxuaW1wb3J0IHsgUG9sbGluZ1N0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUG9sbGluZ1N0YXR1c01vZGVsJztcclxuaW1wb3J0IHsgU3RvcmFnZSB9IGZyb20gJ0Bpb25pYy9zdG9yYWdlLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBGYkNvbnN0YW50cyB9IGZyb20gJy4uL0ZiQ29uc3RhbnRzJztcclxuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS92YWxpZGF0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb21tb24tc3VjY2VzcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbW1vbi1zdWNjZXNzLnBhZ2UuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29tbW9uLXN1Y2Nlc3MucGFnZS5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tb25TdWNjZXNzUGFnZSBleHRlbmRzIEJhc2VQYWdlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBjYWxsQ291bnQgOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBoZWFkaW5nID0gXCJcIjtcclxuICBwdWJsaWMgbWVzc2FnZSA9IFwiXCI7XHJcbiAgcHVibGljIHNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xyXG4gIHBhZ2VUb09wZW46IHN0cmluZyA9IFwiXCI7XHJcbiAgdXVpZDogc3RyaW5nID0gXCJcIjtcclxuICB3YWl0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgd2FpdENoZWNrU2VydmljZVVyaTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgd2FpdGluZ01lc3NhZ2UgPSBcIlBsZWFzZSBXYWl0Li4uXCI7XHJcbiAgcHVibGljIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgZWxlbWVudHM6IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN1Y2Nlc3NQYWdlRWxlbWVudFtdPihudWxsKTtcclxuICBwdWJsaWMgc3VjY2Vzc1BhZ2VFbGVtZW50QXJyOiBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4obnVsbCk7XHJcbiAgcHVibGljIHN1Y2Nlc3NGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBwb3BVcEhlYWRlcjogc3RyaW5nO1xyXG5cclxuICBkdXJhdGlvbiA9IDUwMDA7IC8vZGVmaW5lcyBtaWxsaXNlY29uZHMgYWZ0ZXIgd2hpY2ggYSBuZXcgcmVxdWVzdCB0byBiZSBzZW50IG91dFxyXG4gIHB1YmxpYyB0aW1lckludGVydmFsID0gaW50ZXJ2YWwodGhpcy5kdXJhdGlvbik7XHJcbiAgcHVibGljIGNvdW50RG93biA9IHRoaXMudGltZXJJbnRlcnZhbC5waXBlKHRha2UoMzApKTtcclxuXHJcbiAgdGltZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBjb3VudERvd25TdWJzY3JpcHRpb24gOyBTdWJzY3JpcHRpb247XHJcblxyXG4gIHFlUXVlcnlNb2RlbHMgOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdO1xyXG4gIGlzT3BlblFlIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHFlU3VjY2Vzc1VyaTogc3RyaW5nO1xyXG4gIHFlU3VjY2Vzc1dhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZztcclxuICBxZVN1Y2Nlc3NXYWl0Rm9yUHJvY2Vzc2luZyA6IGJvb2xlYW47XHJcbiAgc3RhdHVzTW9kZWwgOiBTdGF0dXNNb2RlbCA9IG5ldyBTdGF0dXNNb2RlbCgpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UsIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSwgcHVibGljIGNsYWltYW50U2VydmljZTogQ2xhaW1hbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHI6IFJvdXRlciwgcHVibGljIG5hdkNvbnRyb2xsZXI6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLFxyXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgc3RvcmFnZSA6IFN0b3JhZ2UsIFxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uU2VydmljZSA6IFZhbGlkYXRpb25TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICB0aGlzLnBvcFVwSGVhZGVyID0gXCJQcmVndW50YXMgZGUgc2VndWltaWVudG9cIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucG9wVXBIZWFkZXIgPSBcIkZvbGxvdyB1cCBRdWVzdGlvbnNcIjtcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiY29tbW9uLXN1Y2Nlc3MgcGFnZSAtIG5nIGluaXQgY2FsbGVkXCIpXHJcbiAgICB0aGlzLnV1aWQgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLnV1aWQpO1xyXG4gICAgdGhpcy53YWl0Q2hlY2tTZXJ2aWNlVXJpID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy53YWl0Q2hlY2tTZXJ2aWNlVXJpKTtcclxuICAgIHRoaXMucGFnZVRvT3BlbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XHJcbiAgICB0aGlzLndhaXQgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLndhaXRGb3JQcm9jZXNzaW5nKTtcclxuXHJcbiAgICB0aGlzLnN1Y2Nlc3NGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICdlbWFpbEFkZHJlc3MnOiBbXSxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICB0aGlzLmVsZW1lbnRzLm5leHQocmVzKTtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy53YWl0KSB7XHJcbiAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy53YWl0Q2hlY2tTZXJ2aWNlVXJpKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAvL2ZvciBvdGhlciBjYXNlcyB3aGVyZSBzdGF0dXMgZW5kIHBvaW50IGlzIG5vdCBzZXQuXHJcbiAgICAgIHRoaXMuZWxlbWVudHMubmV4dChhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLnN1Y2Nlc3NQYWdlRWxlbWVudCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50aW1lclN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmNvdW50RG93blN1YnNjcmlwdGlvbil7XHJcbiAgICAgIHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLnN1Y2Nlc3NQYWdlRWxlbWVudCk7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLndhaXRGb3JQcm9jZXNzaW5nKTtcclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMud2FpdENoZWNrU2VydmljZVVyaSk7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLnBhZ2VUb09wZW4pO1xyXG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZShGYkNvbnN0YW50cy51dWlkKTtcclxuICB9XHJcblxyXG4gIGRvUG9sbGluZ0ZvclJlcXVlc3QodXVpZFRlbXA6IHN0cmluZywgd2FpdENoZWNrU2VydmljZVVyaVRlbXA6IHN0cmluZyl7XHJcbiAgICBjb25zb2xlLmxvZygnZG8gUG9sbGluZyBmb3IgcmVxdWVzdCBjYWxsZWQgPSAnLCB3YWl0Q2hlY2tTZXJ2aWNlVXJpVGVtcCk7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24gPSB0aGlzLnRpbWVySW50ZXJ2YWwucGlwZShcclxuICAgICAgICBzdGFydFdpdGgoMCksXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMucmV0cml2ZVBvbGxpbmdTdGF0dXNGb3JQYWdlKHV1aWRUZW1wLCB3YWl0Q2hlY2tTZXJ2aWNlVXJpVGVtcCkpXHJcbiAgICAgICkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIGxldCBjb250aW51ZVdhaXRpbmcgPSByZXNbJ2NvbnRpbnVlV2FpdGluZyddO1xyXG4gICAgICAgIHRoaXMud2FpdGluZ01lc3NhZ2UgPSByZXNbJ3dhaXRpbmdNZXNzYWdlJ107XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYoY29udGludWVXYWl0aW5nICYmICsrdGhpcy5jYWxsQ291bnQgPj0gMTUpe1xyXG4gICAgICAgICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9IFwiRXN0w6EgdGFyZGFuZG8gbcOhcyBkZSBsbyBoYWJpdHVhbCBwcm9jZXNhciBzdSBzb2xpY2l0dWQuPGJyLz4gTm8gYWN0dWFsaWNlIGxhIHDDoWdpbmEuXCJcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMud2FpdGluZ01lc3NhZ2UgPSBcIkl0J3MgdGFraW5nIGxvbmdlciB0aGFuIHVzdWFsIHRvIHByb2Nlc3MgeW91ciByZXF1ZXN0LiA8YnIvPiBEbyBub3QgcmVmcmVzaCB0aGUgcGFnZS5cIlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjb250aW51ZVdhaXRpbmcgJiYgdGhpcy5jYWxsQ291bnQgPiAyNSl7XHJcbiAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGlmKHRoaXMubHMuaXNMb2dnZWRJbigpKXtcclxuICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gXCJ3ZWxjb21lXCI7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnBhZ2VUb09wZW4gPSBcImxhbmRpbmdcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgICAgICAgdGhpcy5zdWNjZXNzUGFnZUVsZW1lbnRBcnIubmV4dChcclxuICAgICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAgICAgIHt0eXBlOiAnaGVhZGVyJywgZGVzY3JpcHRpb246IFwiPGgxPsKhVXBzISBObyBzZSBwdWRvIHByb2Nlc2FyIHR1IHNvbGljaXR1ZC48L2gxPlxcdFxcdFwiLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfSxcclxuICAgICAgICAgICAgICAgICAge3R5cGU6ICdzdWJoaGVhZGVyJywgZGVzY3JpcHRpb246ICc8aDQ+UG9yIGZhdm9yLCBpbnTDqW50ZWxvIGRlIG51ZXZvIGRlc3B1w6lzIGRlIHVuIHRpZW1wby48aDQ+XFx0XFx0JywgaW5kZW50OiAwLCBmb250U2l6ZTogMH0sXHJcbiAgICAgICAgICAgICAgICAgIHt0eXBlOiAnYnV0dG9uVGV4dCcsIGRlc2NyaXB0aW9uOiAnQ2FzYScsIGluZGVudDogMCwgZm9udFNpemU6IDB9XHJcbiAgICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN1Y2Nlc3NQYWdlRWxlbWVudEFyci5uZXh0KFxyXG4gICAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgICAge3R5cGU6ICdoZWFkZXInLCBkZXNjcmlwdGlvbjogXCI8aDE+T29wcyEgY291bGQgbm90IHByb2Nlc3MgeW91ciByZXF1ZXN0LjwvaDE+XFx0XFx0XCIsIGluZGVudDogMCwgZm9udFNpemU6IDB9LFxyXG4gICAgICAgICAgICAgICAgICB7dHlwZTogJ3N1YmhoZWFkZXInLCBkZXNjcmlwdGlvbjogJzxoND5QbGVhc2UgdHJ5IGFnYWluIGFmdGVyIHNvbWUgdGltZS48aDQ+XFx0XFx0JywgaW5kZW50OiAwLCBmb250U2l6ZTogMH0sXHJcbiAgICAgICAgICAgICAgICAgIHt0eXBlOiAnYnV0dG9uVGV4dCcsIGRlc2NyaXB0aW9uOiAnSG9tZScsIGluZGVudDogMCwgZm9udFNpemU6IDB9XHJcbiAgICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBpZiAoIWNvbnRpbnVlV2FpdGluZykge1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJzZW5kIGFub3RoZXIgcmVxdWVzdCB0byBmZXRjaCBwYWdlIGVsZW1lbnRzXCIpO1xyXG4gICAgICAgICAgbGV0IG1lc3NhZ2VTZXJ2aWNlRXAgPSByZXNbJ21lc3NhZ2VTZXJ2aWNlRXAnXTtcclxuICAgICAgICAgIHRoaXMud2FpdGluZ01lc3NhZ2UgPSByZXNbJ3dhaXRpbmdNZXNzYWdlJ107XHJcbiAgICAgICAgICB0aGlzLmZldGNoUGFnZUVsZW1lbnRzKG1lc3NhZ2VTZXJ2aWNlRXAsIHV1aWRUZW1wKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIHJlc3AgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzTW9kZWwgID0gcmVzcDtcclxuICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIiB0aGlzLnN0YXR1c01vZGVsIFwiLCB0aGlzLnN0YXR1c01vZGVsKTtcclxuICAgICAgICAgICAgICBpZihyZXNwWyduYXZpZ2F0ZUltbWVkaWF0ZWx5J10pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuTmV4dFBhZ2UocmVzcFsncGFnZVRvT3BlbiddKTtcclxuICAgICAgICAgICAgICB9IGVsc2UgaWYocmVzcFsnc2hvd1FlJ10pe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJPcGVuIFF1ZXN0aW9ubmFpcmUgb3B0aW9uIGVuY291bnRlcmVkXCIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5xZVN1Y2Nlc3NXYWl0Rm9yUHJvY2Vzc2luZyA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzV2FpdEZvclByb2Nlc3Npbmc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnFlU3VjY2Vzc1VyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzVXJpO1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5xZVN1Y2Nlc3NVcmkgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnFlUXVlcnlNb2RlbHMgPSByZXNwLnFlUXVlcnlNb2RlbHM7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuUWUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiRGlyZWN0IHBvbGxpbmcgdG8gbmV3IHByb2Nlc3NcIik7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gcmVzcFsncGFnZVRvT3BlbiddO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzUGFnZUVsZW1lbnRBcnIubmV4dChyZXNwWydzdWNjZXNzUGFnZUVsZW1lbnQnXSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgdGhpcy5jb3VudERvd25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2h0dHAgZXJyb3IgcmVzcG9uc2UgPSAnLCBlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0cml2ZVBvbGxpbmdTdGF0dXNGb3JQYWdlKHV1aTEyOiBzdHJpbmcsIHdhaXRDaGVja1NlcnZpY2VVcmkxMjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiUG9sbGluZyBzZXJ2aWNlIFVSTCAtIFwiICsgd2FpdENoZWNrU2VydmljZVVyaTEyKTtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldDxQb2xsaW5nU3RhdHVzTW9kZWw+KHdhaXRDaGVja1NlcnZpY2VVcmkxMiArIHV1aTEyKTtcclxuICB9XHJcblxyXG4gIGZldGNoUGFnZUVsZW1lbnRzKG1lc3NhZ2VTZXJ2aWNlRXA6IHN0cmluZywgdXVpMTI6IHN0cmluZyk6IE9ic2VydmFibGU8U3RhdHVzTW9kZWw+IHtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiUGFnZSBlbGVtZW50IHNlcnZpY2UgVVJMIC0gXCIgKyBtZXNzYWdlU2VydmljZUVwKTtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldDxTdGF0dXNNb2RlbD4obWVzc2FnZVNlcnZpY2VFcCArIHV1aTEyKTtcclxuICB9XHJcblxyXG4gIGdldCBlbWFpbEFkZHJlc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdWNjZXNzRm9ybS5jb250cm9sc1snZW1haWxBZGRyZXNzJ107XHJcbiAgfVxyXG5cclxuICByZXNlbmRWZXJpZmljYXRpb25FbWFpbCgpIHtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdyZXNlbmRWZXJpZmljYXRpb25FbWFpbCcpO1xyXG4gICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcclxuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UudXVpZC5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy5jbGFpbWFudFNlcnZpY2UucmVzZW5kVmVyaWZpY2F0aW9uRW1haWwocGFyYW1zLnZhbHVlT2YoKSlcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgICk7XHJcblxyXG4gIH1cclxuXHJcbiAgc2V0Rm9udFNpemUoZm9udHNpemU6IG51bWJlcik6IG9iamVjdCB7XHJcbiAgICBpZiAoZm9udHNpemUgPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2ZvbnRzaXplJywgZm9udHNpemUpO1xyXG4gICAgbGV0IHN0eWxlT2JqID0ge1xyXG4gICAgICAnZm9udC1zaXplJzogZm9udHNpemUgKyAncHgnXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN0eWxlT2JqKTtcclxuICB9XHJcblxyXG4gIG9wZW5OZXh0UGFnZShwYWdlVG9PcGVuKXtcclxuICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIHBhZ2VUb09wZW4sICdfc2VsZicpO1xyXG4gIH1cclxuXHJcbiAgb3BlblBhZ2UoKSB7XHJcblxyXG4gICAgbGV0IGN1cnJlbnRDb250ZXh0Um9vdCA9IHRoaXMuZ2V0Q29udGV4dFJvb3QoKTtcclxuICAgIGlmICh0aGlzLnBhZ2VUb09wZW4gJiYgdGhpcy5wYWdlVG9PcGVuLnN1YnN0cmluZygwLCA0KSAhPSAnL2NwLycgJiYgdGhpcy5wYWdlVG9PcGVuICYmIHRoaXMucGFnZVRvT3BlbiAhPSAnT3BlblBhZ2UnKSB7XHJcbiAgICAgIHRoaXMubmF2Q29udHJvbGxlci5uYXZpZ2F0ZUZvcndhcmQoW3RoaXMucGFnZVRvT3Blbl0sIHsgcXVlcnlQYXJhbXM6IHsgaWRlbnRpZmllcjogdGhpcy51dWlkIH0gfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCB1cmw6IHN0cmluZyA9IFwiL2NwL2xhbmRpbmdcIjtcclxuICAgICAgaWYgKHRoaXMucGFnZVRvT3BlbiAmJiB0aGlzLnBhZ2VUb09wZW4gIT0gJ09wZW5QYWdlJykge1xyXG4gICAgICAgIHVybCA9IHRoaXMucGFnZVRvT3BlbjtcclxuICAgICAgfVxyXG4gICAgICB3aW5kb3cub3Blbihsb2NhdGlvbi5vcmlnaW4gKyB1cmwsICdfc2VsZicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGdldENvbnRleHRSb290KCkge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdWJzdHJpbmcoMCwgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoXCIvXCIsIDIpKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTdWNjZXNzIGNhbGxlZCcsIHRoaXMuZW1haWxBZGRyZXNzLnZhbHVlLCAnIHV1aWQgJywgdGhpcy51dWlkKTtcclxuICAgIHRoaXMuY2xhaW1hbnRTZXJ2aWNlLnVwZGF0ZUVtYWlsKHRoaXMuZW1haWxBZGRyZXNzLnZhbHVlLCB0aGlzLnV1aWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdFcnJvcicsIGVycik7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBxdVN1Y2Nlc3MoKXtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwicWUgc3VjY2VzcyBoZXJlXCIpO1xyXG4gICAgaWYodGhpcy5pc09wZW5RZSl7ICBcclxuICAgICAgdGhpcy52YWxpZGF0aW9uU2VydmljZS5wb3N0KHRoaXMucWVTdWNjZXNzVXJpLCBudWxsKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICByZXMgPT4geyAgXHJcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuUWUgPSBmYWxzZTsgICAgICAgICBcclxuICAgICAgICAgICAgaWYodGhpcy5xZVN1Y2Nlc3NXYWl0Rm9yUHJvY2Vzc2luZyl7XHJcbiAgICAgICAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpKTtcclxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdFcnJvcicsIGVycik7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgIH1cclxuXHJcbn1cclxuIiwiPGlvbi1oZWFkZXI+XHJcbiAgPGFwcC1oZWFkZXIgW3NlY29uZFRvb2xiYXJdPVwiZmFsc2VcIj48L2FwcC1oZWFkZXI+XHJcbjwvaW9uLWhlYWRlcj5cclxuXHJcbjxpb24tY29udGVudD5cclxuICA8YXBwLWNvbnRlbnQgW3Nob3dIZWxwXT1cImZhbHNlXCIgW2hpZGVGb290ZXJdPVwidHJ1ZVwiPlxyXG4gICAgPGFwcC1tdWx0aS1xdWVzdGlvbm5haXJlIFtxZVF1ZXJ5TW9kZWxzXT1cInFlUXVlcnlNb2RlbHNcIiAqbmdJZj1cImlzT3BlblFlXCIgW3Nob3dDbG9zZV09XCJmYWxzZVwiIFxyXG4gICAgKG9uQ29tcGxldGUpPVwicXVTdWNjZXNzKClcIiBbaGVhZGVyXT1cInBvcFVwSGVhZGVyXCIgW3Nob3dRdWVzdGlvbk51bWJlcl09XCJ0cnVlXCI+PC9hcHAtbXVsdGktcXVlc3Rpb25uYWlyZT5cclxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIDxpb24tbGFiZWwgIGNsYXNzPVwiYm94XCJzdHlsZT1cImNvbG9yOnZhcigtLWlvbi1jb2xvci1ncmV5KTsgZm9udC1zaXplOiAyNHB4XCI+XHJcbiAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhaXRpbmdNZXNzYWdlKVwiPjwvZGl2PjwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxicj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImVsZW1lbnRzLmdldFZhbHVlKCkgJiYgIWlzTG9hZGluZ1wiPlxyXG5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdDtcIiAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0naGVhZGVyJ1wiXHJcbiAgICAgICAgICBzdHlsZT1cImNvbG9yOnZhcigtLWlvbi1jb2xvci1ncmV5KTtcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMjVweDtcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdzdWJoaGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciAgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImVsZW1lbnQuZGVzY3JpcHRpb25cIiBjbGFzcz1cImJveFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMjBweDtcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJjb2xvcjp2YXIoLS1pb24tY29sb3ItZ3JleSk7XCI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDEnXCI+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImVsZW1lbnQuZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MidcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdlbWFpbFVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxpb24tcm93PiAgICBcclxuICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgPGlvbi1yb3c+ICAgIFxyXG4gICAgICAgICAgICAgICA8aW9uLWNvbD4gICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiZW1haWxBZGRyZXNzXCIgc2l6ZT1cIjYwXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZW1haWxBZGRyZXNzXCIgLz5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2w+IFxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic3VibWl0KClcIiB0eXBlPVwic3VibWl0XCI+e3snY29tbW9uLnN1Ym1pdCd8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdyZXNlbmRlbWFpbCdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9J3RleHQtYWxpZ246Y2VudGVyJz57eydlbWFpbC5uby5lbWFpbCd8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInJlc2VuZFZlcmlmaWNhdGlvbkVtYWlsKClcIj4ge3snZW1haWwuY2xpY2suaGVyZSd8IHRyYW5zbGF0ZX19PC9hPiB7eydlbWFpbC53ZS53aWxsLnNlbmQnfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MydcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0NCdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1ncmlkPlxyXG5cclxuXHJcbiAgICAgIDwhLS1Gb3IgYnV0dG9uLS0+XHJcbiAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25BZGRqYWNlbnRUZXh0J1wiIGNsYXNzPVwiaW9uLXRleHQtcmlnaHQgaW9uLXBhZGRpbmctZW5kXCIgc2l6ZT1cIjEyXCJcclxuICAgICAgICAgICAgICBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCIgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiIHN0eWxlPVwiY29sb3I6dmFyKC0taW9uLWNvbG9yLWdyZXkpO1wiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nYnV0dG9uQWRkamFjZW50VGV4dCdcIj5cclxuICAgICAgICAgICAgICAgIDxoMz57e2VsZW1lbnQuZGVzY3JpcHRpb259fTwvaDM+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPGlvbi1jb2wgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J2J1dHRvblRleHQnXCIgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCIgc2l6ZVhsPVwiOFwiIG9mZnNldE1kPVwiMVwiIG9mZnNldFhsPVwiMlwiIG9mZnNldExnPVwiMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25UZXh0J1wiIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cImVsZW1lbnQuZGVzY3JpcHRpb24gPT09ICdTdWJtaXQnOyBlbHNlIGRlZmF1bHRCdXR0b25cIiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cIm9wZW5QYWdlKClcIiBjb2xvcj1cInN1Y2Nlc3NcIiBzaXplPVwiYmlnXCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3snY29tbW9uLnN1Ym1pdCcgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cIm9wZW5QYWdlKClcIiBjb2xvcj1cInN1Y2Nlc3NcIiBzaXplPVwiYmlnXCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2VsZW1lbnQuZGVzY3JpcHRpb259fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPC9pb24tZ3JpZD5cclxuXHJcblxyXG5cclxuICAgICAgPCEtLUJ1dHRvbi0tPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG5cclxuICA8L2FwcC1jb250ZW50PlxyXG48L2lvbi1jb250ZW50PiJdfQ==
732
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN1Y2Nlc3MucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL2NvbW1vbi1zdWNjZXNzL2NvbW1vbi1zdWNjZXNzLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9jb21tb24tc3VjY2Vzcy9jb21tb24tc3VjY2Vzcy5wYWdlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQW1DLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU1uRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDYjNDLDBDQUF1Rzs7O0lBQTFELHVEQUFrQzs7OztJQUc3RSxrREFDc0c7SUFBcEcsNk1BQWMsZUFBQSxrQkFBVyxDQUFBLElBQUM7O0lBQzVCLGlCQUEwQjs7O0lBRkQsb0RBQStCLG9CQUFBLHVEQUFBLDRCQUFBOzs7O0lBSXhELGtEQUNzRztJQUFwRyw2TUFBYyxlQUFBLHFCQUFjLENBQUEsSUFBQzs7SUFDL0IsaUJBQTBCOzs7SUFGRCxvREFBK0Isb0JBQUEsa0JBQUEsbURBQUEsNkJBQUE7OztJQUl4RCxtQ0FBK0Msa0JBQUEsb0JBQUE7SUFH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YTtZQUViLG1DQUFhO1lBQ1gsb0dBQXVHO1lBRXZHLHNDQUFvRDtZQUNsRCwwR0FFMEIsNkZBQUEsNkRBQUEscURBQUE7WUFrTzVCLGlCQUFjLEVBQUE7O1lBM09GLGVBQXVCO1lBQXZCLHFDQUF1QjtZQUlaLGVBQW9CO1lBQXBCLHlDQUFvQjtZQUU5QixlQUFrQjtZQUFsQixnQ0FBa0Isb0JBQUE7WUFDNkIsZUFBYztZQUFkLG1DQUFjO1lBSXdCLGVBQWU7WUFBZixvQ0FBZTtZQUlqRixlQUFlO1lBQWYsb0NBQWU7WUFVdkMsZUFBdUM7WUFBdkMsZ0VBQXVDOzs7aUZEQ3BDLGlCQUFpQjtjQUw3QixTQUFTOzJCQUNFLGdCQUFnQjs7a0ZBSWYsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3VjY2Vzc1BhZ2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvU3VjY2Vzc1BhZ2VFbGVtZW50JztcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi8uLi9wYWdlcy9CYXNlUGFnZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBDbGFpbWFudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1zZXJ2aWNlL2NsYWltYW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFN0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvU3RhdHVzTW9kZWwnO1xuaW1wb3J0IHsgUG9sbGluZ1N0YXR1c01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUG9sbGluZ1N0YXR1c01vZGVsJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcbmltcG9ydCB7IEZiQ29uc3RhbnRzIH0gZnJvbSAnLi4vRmJDb25zdGFudHMnO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvdmFsaWRhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29tbW9uLXN1Y2Nlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbW9uLXN1Y2Nlc3MucGFnZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbW9uLXN1Y2Nlc3MucGFnZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbW1vblN1Y2Nlc3NQYWdlIGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBjYWxsQ291bnQgOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgaGVhZGluZyA9IFwiXCI7XG4gIHB1YmxpYyBtZXNzYWdlID0gXCJcIjtcbiAgcHVibGljIHNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xuICBwYWdlVG9PcGVuOiBzdHJpbmcgPSBcIlwiO1xuICB1dWlkOiBzdHJpbmcgPSBcIlwiO1xuICB3YWl0OiBib29sZWFuID0gZmFsc2U7XG4gIHdhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyB3YWl0aW5nTWVzc2FnZSA9IFwiUGxlYXNlIFdhaXQuLi5cIjtcbiAgcHVibGljIGlzTG9hZGluZyA9IHRydWU7XG4gIGVsZW1lbnRzOiBCZWhhdmlvclN1YmplY3Q8U3VjY2Vzc1BhZ2VFbGVtZW50W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4obnVsbCk7XG4gIHB1YmxpYyBzdWNjZXNzUGFnZUVsZW1lbnRBcnI6IEJlaGF2aW9yU3ViamVjdDxTdWNjZXNzUGFnZUVsZW1lbnRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN1Y2Nlc3NQYWdlRWxlbWVudFtdPihudWxsKTtcbiAgcHVibGljIHN1Y2Nlc3NGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgaXNDc3IgPSBmYWxzZTtcblxuICBkdXJhdGlvbiA9IDUwMDA7IC8vZGVmaW5lcyBtaWxsaXNlY29uZHMgYWZ0ZXIgd2hpY2ggYSBuZXcgcmVxdWVzdCB0byBiZSBzZW50IG91dFxuICBwdWJsaWMgdGltZXJJbnRlcnZhbCA9IGludGVydmFsKHRoaXMuZHVyYXRpb24pO1xuICBwdWJsaWMgY291bnREb3duID0gdGhpcy50aW1lckludGVydmFsLnBpcGUodGFrZSgzMCkpO1xuXG4gIHRpbWVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvdW50RG93blN1YnNjcmlwdGlvbiA7IFN1YnNjcmlwdGlvbjtcblxuICBxZVF1ZXJ5TW9kZWxzIDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcbiAgaXNPcGVuUWUgOiBib29sZWFuID0gZmFsc2U7XG4gIGlzT3BlbkR1YSA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcWVTdWNjZXNzVXJpOiBzdHJpbmc7XG4gIHFlU3VjY2Vzc1dhaXRDaGVja1NlcnZpY2VVcmk6IHN0cmluZztcbiAgcWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgOiBib29sZWFuO1xuICBzdGF0dXNNb2RlbCA6IFN0YXR1c01vZGVsID0gbmV3IFN0YXR1c01vZGVsKCk7XG4gIGRpc3BsYXlXSU9BTXNnOiBib29sZWFuID0gZmFsc2U7XG4gIGNvbW1vblN1Y2Nlc3NQYWdlOiBzdHJpbmcgPSAnY29tbW9uU3VjY2Vzc1BhZ2UnXG4gIHdpb2FDb21wOiBib29sZWFuID0gbnVsbDtcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZTogUXVlc3Rpb25uYWlyZVNlcnZpY2UsIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHB1YmxpYyBjbGFpbWFudFNlcnZpY2U6IENsYWltYW50U2VydmljZSxcbiAgICBwdWJsaWMgcjogUm91dGVyLCBwdWJsaWMgbmF2Q29udHJvbGxlcjogTmF2Q29udHJvbGxlciwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgc3RvcmFnZSA6IFN0b3JhZ2UsIFxuICAgIHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2UgOiBWYWxpZGF0aW9uU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImNvbW1vbi1zdWNjZXNzIHBhZ2UgLSBuZyBpbml0IGNhbGxlZFwiKVxuICAgIHRoaXMuaXNDc3IgPSB0aGlzLmxzLmlzQ3NyKCk7XG4gICAgdGhpcy51dWlkID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy51dWlkKTtcbiAgICB0aGlzLndhaXRDaGVja1NlcnZpY2VVcmkgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xuICAgIHRoaXMucGFnZVRvT3BlbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XG4gICAgdGhpcy53YWl0ID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy53YWl0Rm9yUHJvY2Vzc2luZyk7XG5cbiAgICB0aGlzLnN1Y2Nlc3NGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAnZW1haWxBZGRyZXNzJzogW10sXG4gICAgfSk7XG5cbiAgICB0aGlzLnN1Y2Nlc3NQYWdlRWxlbWVudEFyci5zdWJzY3JpYmUoXG4gICAgICByZXMgPT4ge1xuICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50cy5uZXh0KHJlcyk7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy53YWl0KSB7XG4gICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMud2FpdENoZWNrU2VydmljZVVyaSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIC8vZm9yIG90aGVyIGNhc2VzIHdoZXJlIHN0YXR1cyBlbmQgcG9pbnQgaXMgbm90IHNldC5cbiAgICAgIHRoaXMuZWxlbWVudHMubmV4dChhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KEZiQ29uc3RhbnRzLnN1Y2Nlc3NQYWdlRWxlbWVudCkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmKHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uKXtcbiAgICAgIHRoaXMuY291bnREb3duU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMuc3VjY2Vzc1BhZ2VFbGVtZW50KTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLndhaXRGb3JQcm9jZXNzaW5nKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKEZiQ29uc3RhbnRzLndhaXRDaGVja1NlcnZpY2VVcmkpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoRmJDb25zdGFudHMucGFnZVRvT3Blbik7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZShGYkNvbnN0YW50cy51dWlkKTtcbiAgfVxuXG4gIGRvUG9sbGluZ0ZvclJlcXVlc3QodXVpZFRlbXA6IHN0cmluZywgd2FpdENoZWNrU2VydmljZVVyaVRlbXA6IHN0cmluZyl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2RvIFBvbGxpbmcgZm9yIHJlcXVlc3QgY2FsbGVkID0gJywgd2FpdENoZWNrU2VydmljZVVyaVRlbXApO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24gPSB0aGlzLnRpbWVySW50ZXJ2YWwucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5yZXRyaXZlUG9sbGluZ1N0YXR1c0ZvclBhZ2UodXVpZFRlbXAsIHdhaXRDaGVja1NlcnZpY2VVcmlUZW1wKSlcbiAgICAgICkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNvbnRpbnVlV2FpdGluZyA9IHJlc1snY29udGludWVXYWl0aW5nJ107XG4gICAgICAgIHRoaXMud2FpdGluZ01lc3NhZ2UgPSByZXNbJ3dhaXRpbmdNZXNzYWdlJ107XG4gICAgICAgIFxuICAgICAgICBpZihjb250aW51ZVdhaXRpbmcgJiYgKyt0aGlzLmNhbGxDb3VudCA+PSAyNSl7XG4gICAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9ICdJdHMgdGFraW5nIGxvbmdlciB0aGFuIHVzdWFsIHRvIHByb2Nlc3MgeW91ciByZXF1ZXN0LiA8YnIvPiBEbyBub3QgcmVmcmVzaCB0aGUgcGFnZS4nXG4gICAgICAgIH1cbiAgICAgICAgaWYoY29udGludWVXYWl0aW5nICYmIHRoaXMuY2FsbENvdW50ID4gMzUpe1xuICAgICAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZih0aGlzLmxzLmlzTG9nZ2VkSW4oKSl7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUb09wZW4gPSBcIndlbGNvbWVcIjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gXCJsYW5kaW5nXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLmlzTVMoKSkge1xuICAgICAgICAgICAgdGhpcy53aW9hQ29tcCA9IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYodGhpcy5pc01TKCkpXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdWNjZXNzUGFnZUVsZW1lbnRBcnIubmV4dChcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAge3R5cGU6ICdoZWFkZXInLCBkZXNjcmlwdGlvbjogXCI8aDE+WW91ciByZXF1ZXN0IGNhbm5vdCBiZSBwcm9jZXNzZWQgYXQgdGhpcyB0aW1lLjwvaDE+XFx0XFx0XCIsIGluZGVudDogMCwgZm9udFNpemU6IDB9LFxuICAgICAgICAgICAgICAgICAge3R5cGU6ICdzdWJoaGVhZGVyJywgZGVzY3JpcHRpb246ICc8aDQ+UGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4gSWYgeW91IGhhdmUgdGhlIHByb2JsZW0gYWdhaW4gY2FsbCB1cyBhdCA2MDEtNDkzLTk0MjcsIE1vbiAtIEZyaSwgODowMCBBTSAtIDU6MDAgUE0gQ1NULjxoND5cXHRcXHQnLCBpbmRlbnQ6IDAsIGZvbnRTaXplOiAwfSxcbiAgICAgICAgICAgICAgICAgIHt0eXBlOiAnYnV0dG9uVGV4dCcsIGRlc2NyaXB0aW9uOiAnSG9tZScsIGluZGVudDogMCwgZm9udFNpemU6IDB9XG4gICAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmICghdGhpcy5pc01TKCkpXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGhpcy5zdWNjZXNzUGFnZUVsZW1lbnRBcnIubmV4dChcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAge3R5cGU6ICdoZWFkZXInLCBkZXNjcmlwdGlvbjogXCI8aDE+T29wcyEgY291bGQgbm90IHByb2Nlc3MgeW91ciByZXF1ZXN0LjwvaDE+XFx0XFx0XCIsIGluZGVudDogMCwgZm9udFNpemU6IDB9LFxuICAgICAgICAgICAgICAgICAge3R5cGU6ICdzdWJoaGVhZGVyJywgZGVzY3JpcHRpb246ICc8aDQ+UGxlYXNlIHRyeSBhZ2FpbiBhZnRlciBzb21lIHRpbWUuPGg0PlxcdFxcdCcsIGluZGVudDogMCwgZm9udFNpemU6IDB9LFxuICAgICAgICAgICAgICAgICAge3R5cGU6ICdidXR0b25UZXh0JywgZGVzY3JpcHRpb246ICdIb21lJywgaW5kZW50OiAwLCBmb250U2l6ZTogMH1cbiAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICghY29udGludWVXYWl0aW5nKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJzZW5kIGFub3RoZXIgcmVxdWVzdCB0byBmZXRjaCBwYWdlIGVsZW1lbnRzXCIpO1xuICAgICAgICAgIGxldCBtZXNzYWdlU2VydmljZUVwID0gcmVzWydtZXNzYWdlU2VydmljZUVwJ107XG4gICAgICAgICAgdGhpcy53YWl0aW5nTWVzc2FnZSA9IHJlc1snd2FpdGluZ01lc3NhZ2UnXTtcbiAgICAgICAgICB0aGlzLmZldGNoUGFnZUVsZW1lbnRzKG1lc3NhZ2VTZXJ2aWNlRXAsIHV1aWRUZW1wKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICByZXNwID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5zdGF0dXNNb2RlbCAgPSByZXNwO1xuICAgICAgICAgICAgICBpZiAodGhpcy5pc01TKCkpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMud2lvYUNvbXAgPSB0aGlzLnN0YXR1c01vZGVsLndpb2FDb21wO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmKHJlc3BbJ25hdmlnYXRlSW1tZWRpYXRlbHknXSl7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuTmV4dFBhZ2UocmVzcFsncGFnZVRvT3BlbiddKTtcbiAgICAgICAgICAgICAgfSBlbHNlIGlmKHJlc3BbJ3Nob3dRZSddKXtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk9wZW4gUXVlc3Rpb25uYWlyZSBvcHRpb24gZW5jb3VudGVyZWRcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdEZvclByb2Nlc3NpbmcgPSB0aGlzLnN0YXR1c01vZGVsLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzVXJpID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NVcmk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5xZVN1Y2Nlc3NVcmkgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5xZVF1ZXJ5TW9kZWxzID0gcmVzcC5xZVF1ZXJ5TW9kZWxzO1xuICAgICAgICAgICAgICAgICAgdGhpcy5pc09wZW5RZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJEaXJlY3QgcG9sbGluZyB0byBuZXcgcHJvY2Vzc1wiKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuZG9Qb2xsaW5nRm9yUmVxdWVzdCh0aGlzLnV1aWQsIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYocmVzcFsnc2hvd0R1YSddKXtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIk9wZW4gRFVBIFF1ZXN0aW9ubmFpcmUgb3B0aW9uIGVuY291bnRlcmVkXCIpO1xuICAgICAgICAgICAgICAgIHRoaXMucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzV2FpdENoZWNrU2VydmljZVVyaTtcbiAgICAgICAgICAgICAgICB0aGlzLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nID0gdGhpcy5zdGF0dXNNb2RlbC5xZVN1Y2Nlc3NXYWl0Rm9yUHJvY2Vzc2luZztcbiAgICAgICAgICAgICAgICB0aGlzLnFlU3VjY2Vzc1VyaSA9IHRoaXMuc3RhdHVzTW9kZWwucWVTdWNjZXNzVXJpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMucWVTdWNjZXNzVXJpICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMucWVRdWVyeU1vZGVscyA9IHJlc3AucWVRdWVyeU1vZGVscztcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuRHVhID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkRpcmVjdCBwb2xsaW5nIHRvIG5ldyBwcm9jZXNzXCIpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlVG9PcGVuID0gcmVzcFsncGFnZVRvT3BlbiddO1xuICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc1BhZ2VFbGVtZW50QXJyLm5leHQocmVzcFsnc3VjY2Vzc1BhZ2VFbGVtZW50J10pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5jb3VudERvd25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdodHRwIGVycm9yIHJlc3BvbnNlID0gJywgZXJyKTtcbiAgICAgICAgfSk7XG4gIH1cblxuICByZXRyaXZlUG9sbGluZ1N0YXR1c0ZvclBhZ2UodXVpMTI6IHN0cmluZywgd2FpdENoZWNrU2VydmljZVVyaTEyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiUG9sbGluZyBzZXJ2aWNlIFVSTCAtIFwiICsgd2FpdENoZWNrU2VydmljZVVyaTEyKTtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uU2VydmljZS5nZXQ8UG9sbGluZ1N0YXR1c01vZGVsPih3YWl0Q2hlY2tTZXJ2aWNlVXJpMTIgKyB1dWkxMik7XG4gIH1cblxuICBmZXRjaFBhZ2VFbGVtZW50cyhtZXNzYWdlU2VydmljZUVwOiBzdHJpbmcsIHV1aTEyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFN0YXR1c01vZGVsPiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJQYWdlIGVsZW1lbnQgc2VydmljZSBVUkwgLSBcIiArIG1lc3NhZ2VTZXJ2aWNlRXApO1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25TZXJ2aWNlLmdldDxTdGF0dXNNb2RlbD4obWVzc2FnZVNlcnZpY2VFcCArIHV1aTEyKTtcbiAgfVxuXG4gIGdldCBlbWFpbEFkZHJlc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VjY2Vzc0Zvcm0uY29udHJvbHNbJ2VtYWlsQWRkcmVzcyddO1xuICB9XG5cbiAgcmVzZW5kVmVyaWZpY2F0aW9uRW1haWwoKSB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ3Jlc2VuZFZlcmlmaWNhdGlvbkVtYWlsJyk7XG4gICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLnV1aWQuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICB0aGlzLmNsYWltYW50U2VydmljZS5yZXNlbmRWZXJpZmljYXRpb25FbWFpbChwYXJhbXMudmFsdWVPZigpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUgPSBmYWxzZTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbiAgICApO1xuXG4gIH1cblxuICBzZXRGb250U2l6ZShmb250c2l6ZTogbnVtYmVyKTogb2JqZWN0IHtcbiAgICBpZiAoZm9udHNpemUgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2ZvbnRzaXplJywgZm9udHNpemUpO1xuICAgIGxldCBzdHlsZU9iaiA9IHtcbiAgICAgICdmb250LXNpemUnOiBmb250c2l6ZSArICdweCdcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3R5bGVPYmopO1xuICB9XG5cbiAgb3Blbk5leHRQYWdlKHBhZ2VUb09wZW4pe1xuICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIHBhZ2VUb09wZW4sICdfc2VsZicpO1xuICB9XG5cbiAgb3BlblBhZ2UoKSB7XG5cbiAgICBsZXQgY3VycmVudENvbnRleHRSb290ID0gdGhpcy5nZXRDb250ZXh0Um9vdCgpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW4gY29tbW9uIHN1Y2Nlc3Mgb3BlblBhZ2UgbWV0aG9kIHRvIG9wZW4gd2l0aCBjb250ZXh0Um9vdCBhbmQgcGFnZVRvT3BlblwiLCBjdXJyZW50Q29udGV4dFJvb3QsIHRoaXMucGFnZVRvT3Blbik7XG4gICAgaWYgKHRoaXMucGFnZVRvT3BlbiAmJiB0aGlzLnBhZ2VUb09wZW4uc3Vic3RyaW5nKDAsIDQpICE9ICcvY3AvJyAmJiB0aGlzLnBhZ2VUb09wZW4gJiYgdGhpcy5wYWdlVG9PcGVuICE9ICdPcGVuUGFnZScpIHtcbiAgICAgdGhpcy5sb2dnZXIuZGVidWcoXCJJbnNpZGUgaWYgYmxvY2ssIHJlZGlyZWN0IHRvIHNzL3NlYXJjaC1zc25cIik7XG4gICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QoXCJzc1wiLCBcInNlYXJjaC1zc25cIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB1cmw6IHN0cmluZyA9IFwiL2NwL2xhbmRpbmdcIjtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwiSW5zaWRlIGVsc2UgYmxvY2ssIHJlZGlyZWN0IHRvIGNwL2xhbmRpbmdcIik7XG4gICAgICBpZiAodGhpcy5wYWdlVG9PcGVuICYmIHRoaXMucGFnZVRvT3BlbiAhPSAnT3BlblBhZ2UnKSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIkluc2lkZSBpZiBibG9jaywgcGFnZVRvT3BlblwiLCB0aGlzLnBhZ2VUb09wZW4pO1xuICAgICAgICB1cmwgPSB0aGlzLnBhZ2VUb09wZW47XG4gICAgICB9XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlVybCB0byBvcGVuIGxvY2F0aW9uLm9yaWdpbiBhbmQgdXJsIFwiLGxvY2F0aW9uLm9yaWdpbiwgdXJsKTtcbiAgICAgIHdpbmRvdy5vcGVuKGxvY2F0aW9uLm9yaWdpbiArIHVybCwgJ19zZWxmJyk7XG4gICAgfVxuICB9XG5cbiAgb3BlbldJT0Fwb3AoKSB7XG4gICAgdGhpcy5kaXNwbGF5V0lPQU1zZyA9IHRydWU7XG4gIH1cblxuICBnZXRDb250ZXh0Um9vdCgpIHtcbiAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnN1YnN0cmluZygwLCB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZihcIi9cIiwgMikpO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTdWNjZXNzIGNhbGxlZCcsIHRoaXMuZW1haWxBZGRyZXNzLnZhbHVlLCAnIHV1aWQgJywgdGhpcy51dWlkKTtcbiAgICB0aGlzLmNsYWltYW50U2VydmljZS51cGRhdGVFbWFpbCh0aGlzLmVtYWlsQWRkcmVzcy52YWx1ZSwgdGhpcy51dWlkKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ0Vycm9yJywgZXJyKTtcbiAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICB0aGlzLnNob3dMb2FkZXJUaGVtZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgcXVTdWNjZXNzKCl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJxZSBzdWNjZXNzIGhlcmVcIik7XG4gICAgaWYodGhpcy5pc09wZW5RZSl7ICBcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UucG9zdCh0aGlzLnFlU3VjY2Vzc1VyaSwgbnVsbClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICByZXMgPT4geyAgXG4gICAgICAgICAgICB0aGlzLmlzT3BlblFlID0gZmFsc2U7ICAgICAgICAgXG4gICAgICAgICAgICBpZih0aGlzLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nKXtcbiAgICAgICAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpKTtcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcXVTdWNjZXNzRHVhKCl7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJxZSBzdWNjZXNzIGhlcmUgZm9yIGR1YVwiKTtcbiAgICBpZih0aGlzLmlzT3BlbkR1YSl7ICBcbiAgICAgIHRoaXMudmFsaWRhdGlvblNlcnZpY2UucG9zdCh0aGlzLnFlU3VjY2Vzc1VyaSwgbnVsbClcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICByZXMgPT4geyAgXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInJlc3BvbnNlIHBvc3QgZHVhIGVwXCIscmVzKTtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuRHVhID0gZmFsc2U7XG4gICAgICAgICAgICBpZih0aGlzLnFlU3VjY2Vzc1dhaXRGb3JQcm9jZXNzaW5nKXtcbiAgICAgICAgICAgICAgdGhpcy5kb1BvbGxpbmdGb3JSZXF1ZXN0KHRoaXMudXVpZCwgdGhpcy5xZVN1Y2Nlc3NXYWl0Q2hlY2tTZXJ2aWNlVXJpKTtcbiAgICAgICAgICAgIH0gICAgICAgICAgICBcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnRXJyb3InLCBlcnIpO1xuICAgICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgIH1cbn1cbiIsIjxpb24taGVhZGVyPlxyXG4gIDxhcHAtaGVhZGVyIFtzZWNvbmRUb29sYmFyXT1cImZhbHNlXCI+PC9hcHAtaGVhZGVyPlxyXG48L2lvbi1oZWFkZXI+XHJcblxyXG48aW9uLWNvbnRlbnQ+XHJcbiAgPGFwcC1wcm9maWxlLXJlZGlyZWN0ICpuZ0lmPVwiZGlzcGxheVdJT0FNc2dcIiBbcmVkaXJlY3RQYWdlXT1cImNvbW1vblN1Y2Nlc3NQYWdlXCI+PC9hcHAtcHJvZmlsZS1yZWRpcmVjdD5cclxuXHJcbiAgPGFwcC1jb250ZW50IFtzaG93SGVscF09XCJmYWxzZVwiIFtoaWRlRm9vdGVyXT1cInRydWVcIj5cclxuICAgIDxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgKm5nSWY9XCJpc09wZW5RZVwiIFtzaG93Q2xvc2VdPVwiZmFsc2VcIlxyXG4gICAgICAob25Db21wbGV0ZSk9XCJxdVN1Y2Nlc3MoKVwiIFtoZWFkZXJdPVwiJ0ZvbGxvdyB1cCBRdWVzdGlvbnMnIHwgdHJhbnNsYXRlXCIgW3Nob3dRdWVzdGlvbk51bWJlcl09XCJ0cnVlXCI+XHJcbiAgICA8L2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlPlxyXG5cclxuICAgIDxhcHAtbXVsdGktcXVlc3Rpb25uYWlyZSBbcWVRdWVyeU1vZGVsc109XCJxZVF1ZXJ5TW9kZWxzXCIgW3Nob3dDbG9zZV09XCJmYWxzZVwiIFthdXRvU2F2ZV09XCJ0cnVlXCIgKm5nSWY9XCJpc09wZW5EdWFcIlxyXG4gICAgICAob25Db21wbGV0ZSk9XCJxdVN1Y2Nlc3NEdWEoKVwiIFtoZWFkZXJdPVwiJ0RVQSBhcHBsaWNhdGlvbicgfCB0cmFuc2xhdGVcIiBbc2hvd1F1ZXN0aW9uTnVtYmVyXT1cImZhbHNlXCI+XHJcbiAgICA8L2FwcC1tdWx0aS1xdWVzdGlvbm5haXJlPlxyXG5cclxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmdcIiAqbmdJZj1cImlzTG9hZGluZ1wiPlxyXG4gICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJ0ZXh0XCI+XHJcbiAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhaXRpbmdNZXNzYWdlKVwiPjwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxicj5cclxuICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImVsZW1lbnRzLmdldFZhbHVlKCkgJiYgIWlzTG9hZGluZ1wiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWlzTVMoKSB8fCAoaXNNUygpICYmICh3aW9hQ29tcD09PW51bGwgfHwgd2lvYUNvbXApKVwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgIGVsZW1lbnRzLmdldFZhbHVlKCk7ICBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyc1wiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdoZWFkZXInXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICdwYWRkaW5nLWxlZnQnOiBpc0NzciA/ICcyNzBweCcgOiAnMCcsIFxyXG4gICAgICAgICAgICAgICdwYWRkaW5nLXRvcCc6IGlzQ3NyID8gJzU1cHgnIDogJzAnXHJcbiAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nc3ViaGhlYWRlcidcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciAgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdWJIZWFkZXJzXCIgW2lubmVySFRNTF09XCJlbGVtZW50LmRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiIHNpemVYbD1cIjhcIlxyXG4gICAgICAgICAgICAgICAgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDInXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdlbWFpbFVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbWFpbEFkZHJlc3NcIiBzaXplPVwiNjBcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJlbWFpbEFkZHJlc3NcIiAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic3VibWl0KClcIiB0eXBlPVwic3VibWl0XCI+U3VibWl0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ncmVzZW5kZW1haWwnXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiXHJcbiAgICAgICAgICAgICAgICBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcic+SWYgeW91IGRpZCd0IGdldCBhbiBlbWFpbCxcclxuICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJyZXNlbmRWZXJpZmljYXRpb25FbWFpbCgpXCI+IGNsaWNrIGhlcmU8L2E+IGFuZCB3ZSdsbCBzZW5kXHJcbiAgICAgICAgICAgICAgICAgIGFnYWluLlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MydcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0NCdcIj5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cIiF3aW9hQ29tcCAmJiB3aW9hQ29tcCE9IG51bGwgJiYgaXNNUygpXCIgPlxyXG4gICAgICAgIDxpb24tZ3JpZD5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnkgaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplWGw9XCI2XCIgb2Zmc2V0WGw9XCIxXCIgc2l6ZUxnPVwiNlwiPlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0naGVhZGVyJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhlYWRlcnNDbGFzc1dpb2FDb21wTm90TnVsbFwiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiAgZWxlbWVudHMuZ2V0VmFsdWUoKTsgIGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgKm5nSWY9XCJlbGVtZW50LnR5cGUgPT09J3N1YmhoZWFkZXInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgIGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViSGVhZGVyc1wiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDEnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwiZWxlbWVudC5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ndGV4dDInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdlbWFpbFVwZGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGVsZW1lbnQuZGVzY3JpcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbWFpbEFkZHJlc3NcIiBzaXplPVwiNjBcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJlbWFpbEFkZHJlc3NcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwic3VibWl0KClcIiB0eXBlPVwic3VibWl0XCI+U3VibWl0PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0ncmVzZW5kZW1haWwnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcic+SWYgeW91IGRpZCd0IGdldCBhbiBlbWFpbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJyZXNlbmRWZXJpZmljYXRpb25FbWFpbCgpXCI+IGNsaWNrIGhlcmU8L2E+IGFuZCB3ZSdsbCBzZW5kXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFnYWluLlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0MydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxpb24tcm93ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSd0ZXh0NCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZWxlbWVudC5kZXNjcmlwdGlvbilcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5IGlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVhsPVwiM1wiIHNpemVMZz1cIjNcIiBzdHlsZT1cImFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcIj5cclxuICAgICAgICAgICAgICA8aDQgc3R5bGU9XCJmb250LXNpemU6IDI0cHg7XCI+T25lIG1vcmUgdGFzay4uLjwvaDQ+XHJcbiAgICAgICAgICAgICAgPHAgc3R5bGU9XCJmb250LXNpemU6IDE4cHg7XCI+Q2hvb3NlIDxiPk5leHQ8L2I+IHRvIGJlIHRha2VuIHRvIE1TV29ya3Mgd2Vic2l0ZSB0byBjb21wbGV0ZSBlbXBsb3ltZW50IHNlcnZpY2UgcmVnaXN0cmF0aW9uLjxicj5cclxuICAgICAgICAgICAgICAgIE9uY2UgeW91J3JlIGRvbmUsIHdlIGNhbiBtYXRjaCB5b3UgdG8gYXZhaWxhYmxlIGpvYnMgYmFzZWQgb24geW91ciBleHBlcmllbmNlIGFuZCBwcmVmZXJlbmNlcy5cclxuICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLUZvciBidXR0b24tLT5cclxuICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNNUygpIHx8IChpc01TKCkgJiYgKHdpb2FDb21wPT09bnVsbCB8fCB3aW9hQ29tcCkpXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mICBlbGVtZW50cy5nZXRWYWx1ZSgpOyAgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCAqbmdJZj1cImVsZW1lbnQudHlwZSA9PT0nYnV0dG9uQWRkamFjZW50VGV4dCcgJiYgIWlzQ3NyXCIgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjEwXCIgc2l6ZUxnPVwiOFwiIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjFcIiBvZmZzZXRYbD1cIjJcIiBvZmZzZXRMZz1cIjJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiIHN0eWxlPVwiY29sb3I6dmFyKC0taW9uLWNvbG9yLWdyZXkpO1wiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25BZGRqYWNlbnRUZXh0J1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aDM+e3tlbGVtZW50LmRlc2NyaXB0aW9ufX08L2gzPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgIDxpb24tY29sICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25UZXh0J1wiIGNsYXNzPVwiaW9uLXRleHQtcmlnaHQgaW9uLXBhZGRpbmctZW5kXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIxMFwiIHNpemVMZz1cIjhcIiBzaXplWGw9XCI4XCIgb2Zmc2V0TWQ9XCIxXCIgb2Zmc2V0WGw9XCIyXCIgb2Zmc2V0TGc9XCIyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWxlbWVudC50eXBlID09PSdidXR0b25UZXh0J1wiIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJvcGVuUGFnZSgpXCIgY29sb3I9XCJzdWNjZXNzXCIgc2l6ZT1cImJpZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7ZWxlbWVudC5kZXNjcmlwdGlvbn19XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGlvbi1mb290ZXIgc3R5bGU9XCJwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogMjVweDsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDIwcHhcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhd2lvYUNvbXAgJiYgd2lvYUNvbXAhPSBudWxsICYmIGlzTVMoKVwiID5cclxuICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodCBpb24tcGFkZGluZy1lbmRcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiMTBcIiBzaXplTGc9XCI4XCJcclxuICAgICAgICAgICAgICAgIHNpemVYbD1cIjhcIiBvZmZzZXRNZD1cIjJcIiBvZmZzZXRYbD1cIjRcIiBvZmZzZXRMZz1cIjRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cIm9wZW5XSU9BcG9wKClcIiBjb2xvcj1cInN1Y2Nlc3NcIiBzaXplPVwiYmlnXCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIE5leHRcclxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1mb290ZXI+XHJcbiAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgIDwhLS1CdXR0b24tLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvYXBwLWNvbnRlbnQ+XHJcbjwvaW9uLWNvbnRlbnQ+Il19