@kirbydesign/designsystem 10.1.3 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/avatar/avatar.component.d.ts +2 -1
  2. package/button/button.component.d.ts +1 -0
  3. package/calendar/calendar.component.d.ts +28 -18
  4. package/calendar/interfaces/calendar-day.d.ts +17 -0
  5. package/calendar/public_api.d.ts +1 -1
  6. package/chart/shared/chart-config-service/chart-config.service.d.ts +1 -1
  7. package/empty-state/empty-state.component.d.ts +10 -3
  8. package/esm2022/accordion/accordion-item.component.mjs +4 -4
  9. package/esm2022/accordion/accordion.directive.mjs +4 -4
  10. package/esm2022/accordion/accordion.module.mjs +5 -5
  11. package/esm2022/action-group/action-group.component.mjs +4 -4
  12. package/esm2022/avatar/avatar.component.mjs +7 -5
  13. package/esm2022/badge/badge.component.mjs +4 -4
  14. package/esm2022/button/button.component.mjs +18 -6
  15. package/esm2022/calendar/calendar.component.mjs +168 -101
  16. package/esm2022/calendar/interfaces/calendar-day.mjs +2 -0
  17. package/esm2022/calendar/interfaces/calendar-year-navigator-config.mjs +2 -0
  18. package/esm2022/calendar/public_api.mjs +1 -1
  19. package/esm2022/card/card-as-button/card-as-button.directive.mjs +4 -4
  20. package/esm2022/card/card-footer/card-footer.component.mjs +4 -4
  21. package/esm2022/card/card-header/card-header.component.mjs +4 -4
  22. package/esm2022/card/card.component.mjs +4 -4
  23. package/esm2022/card/card.module.mjs +5 -5
  24. package/esm2022/chart/chart/chart.component.mjs +4 -4
  25. package/esm2022/chart/charts.module.mjs +5 -5
  26. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +4 -4
  27. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +4 -4
  28. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +4 -4
  29. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +4 -4
  30. package/esm2022/chart/stock-chart/stock-chart.component.mjs +4 -4
  31. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  32. package/esm2022/data-table/data-table.module.mjs +5 -5
  33. package/esm2022/data-table/sortable/sortable.component.mjs +4 -4
  34. package/esm2022/divider/divider.component.mjs +4 -4
  35. package/esm2022/dropdown/dropdown.component.mjs +6 -6
  36. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  37. package/esm2022/dropdown/keyboard-handler.service.mjs +4 -4
  38. package/esm2022/empty-state/empty-state.component.mjs +31 -7
  39. package/esm2022/empty-state/empty-state.module.mjs +5 -5
  40. package/esm2022/fab-sheet/fab-sheet.component.mjs +4 -4
  41. package/esm2022/flag/flag.component.mjs +4 -4
  42. package/esm2022/form-field/directives/affix/affix.directive.mjs +4 -4
  43. package/esm2022/form-field/directives/date/date-input.directive.mjs +4 -4
  44. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +4 -4
  45. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +4 -4
  46. package/esm2022/form-field/form-field.component.mjs +4 -4
  47. package/esm2022/form-field/form-field.module.mjs +8 -7
  48. package/esm2022/form-field/input/input.component.mjs +4 -4
  49. package/esm2022/form-field/input-counter/input-counter.component.mjs +4 -4
  50. package/esm2022/form-field/textarea/textarea.component.mjs +4 -4
  51. package/esm2022/header/header.component.mjs +16 -16
  52. package/esm2022/header/header.module.mjs +5 -5
  53. package/esm2022/helpers/content-mutation-observer.mjs +50 -0
  54. package/esm2022/helpers/element-ancestor-utils.mjs +33 -0
  55. package/esm2022/helpers/ionic-element-part-helper.mjs +4 -4
  56. package/esm2022/helpers/line-clamp-helper.mjs +4 -4
  57. package/esm2022/helpers/platform.service.mjs +4 -4
  58. package/esm2022/helpers/public_api.mjs +3 -2
  59. package/esm2022/icon/icon-registry.service.mjs +4 -4
  60. package/esm2022/icon/icon.component.mjs +4 -4
  61. package/esm2022/icon/icon.module.mjs +5 -5
  62. package/esm2022/item/item.component.mjs +13 -9
  63. package/esm2022/item/item.module.mjs +5 -5
  64. package/esm2022/item/label/label.component.mjs +5 -5
  65. package/esm2022/item-group/item-group.component.mjs +4 -4
  66. package/esm2022/item-sliding/item-sliding.component.mjs +4 -4
  67. package/esm2022/kirby-app/kirby-app.component.mjs +4 -4
  68. package/esm2022/kirby-app/kirby-app.module.mjs +5 -5
  69. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +5 -5
  70. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +34 -7
  71. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +4 -4
  72. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +4 -4
  73. package/esm2022/lib/kirby.module.mjs +5 -5
  74. package/esm2022/list/directives/infinite-scroll.directive.mjs +4 -4
  75. package/esm2022/list/directives/list-item-color.directive.mjs +4 -4
  76. package/esm2022/list/helpers/list-helper.mjs +4 -4
  77. package/esm2022/list/list-experimental/list-experimental.component.mjs +4 -4
  78. package/esm2022/list/list-header/list-header.component.mjs +4 -4
  79. package/esm2022/list/list-item/list-item.component.mjs +5 -5
  80. package/esm2022/list/list-section-header/list-section-header.component.mjs +4 -4
  81. package/esm2022/list/list.component.mjs +5 -5
  82. package/esm2022/list/list.directive.mjs +13 -13
  83. package/esm2022/list/list.module.mjs +5 -5
  84. package/esm2022/loading-overlay/loading-overlay.component.mjs +4 -4
  85. package/esm2022/loading-overlay/loading-overlay.service.mjs +4 -4
  86. package/esm2022/menu/menu.component.mjs +215 -12
  87. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +4 -4
  88. package/esm2022/modal/modal/alert/alert.component.mjs +4 -4
  89. package/esm2022/modal/modal/footer/modal-footer.component.mjs +4 -4
  90. package/esm2022/modal/modal/modal-component/modal.component.mjs +18 -8
  91. package/esm2022/modal/modal/services/action-sheet.helper.mjs +4 -4
  92. package/esm2022/modal/modal/services/alert.helper.mjs +4 -4
  93. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +4 -4
  94. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +4 -4
  95. package/esm2022/modal/modal/services/modal.controller.mjs +4 -4
  96. package/esm2022/modal/modal/services/modal.helper.mjs +5 -4
  97. package/esm2022/modal/modal-navigation.service.mjs +4 -4
  98. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +19 -10
  99. package/esm2022/modal/modal-wrapper/config/modal-config.mjs +1 -1
  100. package/esm2022/modal/modal-wrapper/modal-elements-mover.delegate.mjs +1 -1
  101. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +35 -12
  102. package/esm2022/modal/modal.interfaces.mjs +4 -4
  103. package/esm2022/page/page-footer/page-footer.component.mjs +4 -4
  104. package/esm2022/page/page.component.mjs +39 -38
  105. package/esm2022/page/page.module.mjs +5 -5
  106. package/esm2022/popover/popover.component.mjs +4 -4
  107. package/esm2022/progress-circle/progress-circle-ring.component.mjs +4 -4
  108. package/esm2022/progress-circle/progress-circle.component.mjs +4 -4
  109. package/esm2022/radio/radio-group/radio-group.component.mjs +4 -4
  110. package/esm2022/radio/radio-module.mjs +5 -5
  111. package/esm2022/radio/radio.component.mjs +4 -4
  112. package/esm2022/range/range.component.mjs +4 -4
  113. package/esm2022/reorder-list/reorder-list.component.mjs +5 -5
  114. package/esm2022/router-outlet/router-outlet.component.mjs +4 -4
  115. package/esm2022/router-outlet/router-outlet.module.mjs +5 -5
  116. package/esm2022/section-header/section-header.component.mjs +4 -4
  117. package/esm2022/shared/component-loader.directive.mjs +4 -4
  118. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +4 -4
  119. package/esm2022/shared/floating/floating.directive.mjs +4 -4
  120. package/esm2022/shared/portal/portal.directive.mjs +4 -4
  121. package/esm2022/shared/public_api.mjs +2 -1
  122. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +4 -4
  123. package/esm2022/shared/resize-observer/resize-observer.service.mjs +4 -4
  124. package/esm2022/shared/theme-color/theme-color.directive.mjs +4 -4
  125. package/esm2022/shared/translation/translation.interface.mjs +2 -0
  126. package/esm2022/shared/translation/translation.service.mjs +37 -0
  127. package/esm2022/shared/translation/translations/da.mjs +11 -0
  128. package/esm2022/shared/translation/translations/en.mjs +11 -0
  129. package/esm2022/slide/slide-stretch-height.directive.mjs +4 -4
  130. package/esm2022/slide/slide.directive.mjs +4 -4
  131. package/esm2022/slide/slide.module.mjs +5 -5
  132. package/esm2022/slide/slides.component.mjs +16 -9
  133. package/esm2022/slide-button/slide-button.component.mjs +4 -4
  134. package/esm2022/spinner/spinner.component.mjs +4 -4
  135. package/esm2022/spinner/spinner.module.mjs +5 -5
  136. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +4 -4
  137. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +4 -4
  138. package/esm2022/tab-navigation/tab-navigation.module.mjs +5 -5
  139. package/esm2022/tabs/tab-button/tab-button.component.mjs +4 -4
  140. package/esm2022/tabs/tabs.component.mjs +4 -4
  141. package/esm2022/tabs/tabs.module.mjs +5 -5
  142. package/esm2022/tabs/tabs.service.mjs +4 -4
  143. package/esm2022/testing/test-helper.mjs +8 -5
  144. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +4 -4
  145. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +4 -4
  146. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +4 -4
  147. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +4 -4
  148. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +4 -4
  149. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +4 -4
  150. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +4 -4
  151. package/esm2022/testing-base/lib/components/mock.button.component.mjs +4 -4
  152. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +4 -4
  153. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +4 -4
  154. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +4 -4
  155. package/esm2022/testing-base/lib/components/mock.card.component.mjs +4 -4
  156. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +4 -4
  157. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +4 -4
  158. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +4 -4
  159. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +4 -4
  160. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +4 -4
  161. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +4 -4
  162. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +4 -4
  163. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +4 -4
  164. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +4 -4
  165. package/esm2022/testing-base/lib/components/mock.header.component.mjs +10 -10
  166. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +4 -4
  167. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +4 -4
  168. package/esm2022/testing-base/lib/components/mock.input.component.mjs +4 -4
  169. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +4 -4
  170. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +4 -4
  171. package/esm2022/testing-base/lib/components/mock.item.component.mjs +4 -4
  172. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +4 -4
  173. package/esm2022/testing-base/lib/components/mock.label.component.mjs +4 -4
  174. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +4 -4
  175. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +4 -4
  176. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +4 -4
  177. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +4 -4
  178. package/esm2022/testing-base/lib/components/mock.list.component.mjs +4 -4
  179. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +4 -4
  180. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +4 -4
  181. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +4 -4
  182. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +4 -4
  183. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +4 -4
  184. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +4 -4
  185. package/esm2022/testing-base/lib/components/mock.page.component.mjs +34 -34
  186. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +4 -4
  187. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +4 -4
  188. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +4 -4
  189. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +4 -4
  190. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +4 -4
  191. package/esm2022/testing-base/lib/components/mock.range.component.mjs +4 -4
  192. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +4 -4
  193. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +4 -4
  194. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +4 -4
  195. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +4 -4
  196. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +4 -4
  197. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +4 -4
  198. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +4 -4
  199. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +4 -4
  200. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +4 -4
  201. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +4 -4
  202. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +4 -4
  203. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +4 -4
  204. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +4 -4
  205. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +4 -4
  206. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +4 -4
  207. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +4 -4
  208. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +4 -4
  209. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +4 -4
  210. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +4 -4
  211. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +4 -4
  212. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +4 -4
  213. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +4 -4
  214. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +4 -4
  215. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +4 -4
  216. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +4 -4
  217. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +4 -4
  218. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +13 -13
  219. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +4 -4
  220. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +4 -4
  221. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +4 -4
  222. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +4 -4
  223. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +5 -5
  224. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +5 -5
  225. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +5 -5
  226. package/esm2022/toast/services/toast.controller.mjs +4 -4
  227. package/esm2022/toast/services/toast.helper.mjs +4 -4
  228. package/esm2022/toggle/toggle.component.mjs +4 -4
  229. package/esm2022/toggle-button/toggle-button.component.mjs +4 -4
  230. package/esm2022/toggle-button/toggle-button.module.mjs +5 -5
  231. package/esm2022/types/public_api.mjs +2 -1
  232. package/esm2022/types/unobserve-fn.mjs +2 -0
  233. package/esm2022/types/window-ref.mjs +4 -4
  234. package/fesm2022/kirbydesign-designsystem-accordion.mjs +10 -10
  235. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  236. package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
  237. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  238. package/fesm2022/kirbydesign-designsystem-avatar.mjs +6 -4
  239. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  240. package/fesm2022/kirbydesign-designsystem-badge.mjs +3 -3
  241. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  242. package/fesm2022/kirbydesign-designsystem-button.mjs +17 -5
  243. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  244. package/fesm2022/kirbydesign-designsystem-calendar.mjs +168 -177
  245. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  246. package/fesm2022/kirbydesign-designsystem-card.mjs +16 -16
  247. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  248. package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
  249. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  250. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +3 -3
  251. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  252. package/fesm2022/kirbydesign-designsystem-data-table.mjs +7 -7
  253. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  254. package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
  255. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  256. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +12 -12
  257. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  258. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +33 -9
  259. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  260. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +3 -3
  261. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  262. package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
  263. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  264. package/fesm2022/kirbydesign-designsystem-form-field.mjs +30 -30
  265. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  266. package/fesm2022/kirbydesign-designsystem-header.mjs +19 -19
  267. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  268. package/fesm2022/kirbydesign-designsystem-helpers.mjs +69 -10
  269. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  270. package/fesm2022/kirbydesign-designsystem-icon.mjs +10 -10
  271. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  272. package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
  273. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  274. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
  275. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  276. package/fesm2022/kirbydesign-designsystem-item.mjs +20 -16
  277. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  278. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
  279. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  280. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  281. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs.map +1 -1
  282. package/fesm2022/kirbydesign-designsystem-list.mjs +42 -42
  283. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  284. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +6 -6
  285. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  286. package/fesm2022/kirbydesign-designsystem-menu.mjs +214 -11
  287. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  288. package/fesm2022/kirbydesign-designsystem-modal.mjs +99 -57
  289. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  290. package/fesm2022/kirbydesign-designsystem-page.mjs +44 -43
  291. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  292. package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
  293. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  294. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +6 -6
  295. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  296. package/fesm2022/kirbydesign-designsystem-radio.mjs +10 -10
  297. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  298. package/fesm2022/kirbydesign-designsystem-range.mjs +3 -3
  299. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  300. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +4 -4
  301. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  302. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
  303. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  304. package/fesm2022/kirbydesign-designsystem-section-header.mjs +3 -3
  305. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  306. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  307. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  308. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  309. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  310. package/fesm2022/kirbydesign-designsystem-shared.mjs +71 -17
  311. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  312. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +3 -3
  313. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  314. package/fesm2022/kirbydesign-designsystem-slide.mjs +24 -18
  315. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  316. package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
  317. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  318. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +10 -10
  319. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  320. package/fesm2022/kirbydesign-designsystem-tabs.mjs +13 -13
  321. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  322. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +286 -286
  323. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  324. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
  325. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  326. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
  327. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  328. package/fesm2022/kirbydesign-designsystem-testing.mjs +7 -4
  329. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  330. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  331. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  332. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +7 -7
  333. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  334. package/fesm2022/kirbydesign-designsystem-toggle.mjs +3 -3
  335. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  336. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  337. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  338. package/fesm2022/kirbydesign-designsystem.mjs +43 -16
  339. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  340. package/form-field/form-field.module.d.ts +2 -1
  341. package/helpers/content-mutation-observer.d.ts +8 -0
  342. package/helpers/{element-has-ancestor.d.ts → element-ancestor-utils.d.ts} +1 -0
  343. package/helpers/public_api.d.ts +2 -1
  344. package/icons/svg/accounts-outline.svg +0 -2
  345. package/icons/svg/accounts.svg +0 -2
  346. package/icons/svg/backspace.svg +0 -2
  347. package/icons/svg/camera.svg +0 -2
  348. package/icons/svg/copy.svg +0 -2
  349. package/icons/svg/flag.svg +0 -2
  350. package/icons/svg/inbox-outline.svg +0 -2
  351. package/icons/svg/inbox.svg +0 -2
  352. package/icons/svg/information.svg +0 -2
  353. package/icons/svg/menu-outline.svg +0 -2
  354. package/icons/svg/menu.svg +0 -2
  355. package/icons/svg/person-outline.svg +0 -2
  356. package/icons/svg/person.svg +0 -2
  357. package/icons/svg/reorder.svg +0 -2
  358. package/icons/svg/support.svg +0 -2
  359. package/item/item.component.d.ts +3 -2
  360. package/lib/components/segmented-control/segmented-control.component.d.ts +4 -0
  361. package/menu/menu.component.d.ts +32 -8
  362. package/modal/modal/modal-component/modal.component.d.ts +6 -3
  363. package/modal/modal-wrapper/compact/modal-compact-wrapper.component.d.ts +4 -2
  364. package/modal/modal-wrapper/config/modal-config.d.ts +3 -0
  365. package/modal/modal-wrapper/modal-wrapper.component.d.ts +8 -3
  366. package/package.json +4 -4
  367. package/page/page.component.d.ts +4 -3
  368. package/scss/base/_item-typography.scss +1 -0
  369. package/shared/public_api.d.ts +1 -0
  370. package/shared/translation/translation.interface.d.ts +10 -0
  371. package/shared/translation/translation.service.d.ts +12 -0
  372. package/shared/translation/translations/da.d.ts +2 -0
  373. package/shared/translation/translations/en.d.ts +2 -0
  374. package/slide/slides.component.d.ts +3 -1
  375. package/testing/test-helper.d.ts +1 -0
  376. package/types/public_api.d.ts +1 -0
  377. package/types/unobserve-fn.d.ts +1 -0
  378. package/calendar/helpers/calendar-cell.model.d.ts +0 -9
  379. package/calendar/helpers/calendar-options.model.d.ts +0 -9
  380. package/calendar/helpers/calendar.helper.d.ts +0 -24
  381. package/esm2022/calendar/helpers/calendar-cell.model.mjs +0 -2
  382. package/esm2022/calendar/helpers/calendar-options.model.mjs +0 -2
  383. package/esm2022/calendar/helpers/calendar.helper.mjs +0 -80
  384. package/esm2022/calendar/options/calendar-year-navigator-config.mjs +0 -2
  385. package/esm2022/helpers/element-has-ancestor.mjs +0 -24
  386. /package/calendar/{options → interfaces}/calendar-year-navigator-config.d.ts +0 -0
@@ -1,10 +1,10 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
3
3
  import { IonContent, IonModal } from '@ionic/angular/standalone';
4
- import { ButtonComponent } from '@kirbydesign/designsystem/button';
5
4
  import { IconModule } from '@kirbydesign/designsystem/icon';
6
5
  import { KirbyIonicModule } from '@kirbydesign/designsystem/kirby-ionic-module';
7
6
  import { WindowRef } from '@kirbydesign/designsystem/types';
7
+ import { inheritAriaLabelText } from '@kirbydesign/designsystem/shared';
8
8
  import { ModalNavigationService } from '../../modal-navigation.service';
9
9
  import { DrawerSupplementaryAction, ModalCompactWrapperComponent, ModalWrapperComponent, } from '../../modal-wrapper';
10
10
  import { CanDismissHelper } from '../services';
@@ -19,10 +19,11 @@ export class ModalComponent {
19
19
  ? (this._canDismiss = canDismiss)
20
20
  : (this._canDismiss = this.canDismissHelper.getCanDismissCallback(canDismiss));
21
21
  }
22
- constructor(canDismissHelper, modalNavigationService, windowRef) {
22
+ constructor(canDismissHelper, modalNavigationService, windowRef, elementRef) {
23
23
  this.canDismissHelper = canDismissHelper;
24
24
  this.modalNavigationService = modalNavigationService;
25
25
  this.windowRef = windowRef;
26
+ this.elementRef = elementRef;
26
27
  this.isOpen = false;
27
28
  this.size = 'medium';
28
29
  this.scrollDisabled = false;
@@ -51,6 +52,9 @@ export class ModalComponent {
51
52
  };
52
53
  this._canDismiss = true;
53
54
  }
55
+ ngOnInit() {
56
+ this.forwardAriaLabel();
57
+ }
54
58
  ngOnChanges(changes) {
55
59
  this.updateModalConfigOnChange(changes);
56
60
  }
@@ -87,21 +91,27 @@ export class ModalComponent {
87
91
  }
88
92
  });
89
93
  }
90
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalComponent, deps: [{ token: i1.CanDismissHelper }, { token: i2.ModalNavigationService }, { token: i3.WindowRef }], target: i0.ɵɵFactoryTarget.Component }); }
91
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ModalComponent, isStandalone: true, selector: "kirby-modal", inputs: { isOpen: "isOpen", trigger: "trigger", size: "size", scrollDisabled: "scrollDisabled", canDismiss: "canDismiss", collapseTitle: "collapseTitle", customHeight: "customHeight", flavor: "flavor", drawerSupplementaryAction: "drawerSupplementaryAction", interactWithBackground: "interactWithBackground" }, outputs: { willPresent: "willPresent", didPresent: "didPresent", didDismiss: "didDismiss", willDismiss: "willDismiss" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], viewQueries: [{ propertyName: "modalElement", first: true, predicate: IonModal, descendants: true, read: ElementRef, static: true }, { propertyName: "ionContent", first: true, predicate: IonContent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-modal\n class=\"kirby-modal kirby-overlay kirby-modal-{{ size }}\"\n [ngClass]=\"[\n flavor === 'compact' ? 'kirby-modal-compact' : 'kirby-' + flavor,\n interactWithBackground ? 'interact-with-background' : ''\n ]\"\n [isOpen]=\"isOpen\"\n [trigger]=\"trigger\"\n [canDismiss]=\"_canDismiss\"\n [showBackdrop]=\"!interactWithBackground\"\n [style.--kirby-modal-height]=\"customHeight\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <kirby-modal-compact-wrapper\n *ngIf=\"flavor === 'compact'; else modalWrapper\"\n [config]=\"_config\"\n [content]=\"template\"\n ></kirby-modal-compact-wrapper>\n </ng-template>\n</ion-modal>\n\n<ng-template #modalWrapper>\n <kirby-modal-wrapper\n class=\"ion-page\"\n [config]=\"_config\"\n [content]=\"template\"\n [scrollDisabled]=\"scrollDisabled\"\n ></kirby-modal-wrapper>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: KirbyIonicModule }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: ModalWrapperComponent, selector: "kirby-modal-wrapper", inputs: ["scrollDisabled", "config", "content"] }, { kind: "component", type: ModalCompactWrapperComponent, selector: "kirby-modal-compact-wrapper", inputs: ["config", "content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
+ forwardAriaLabel() {
95
+ // Instead of setting aria label on ion-modal in the template we forward it to modal-wrapper for consistency
96
+ // and so we do not start listening for title changes in the modal-wrapper.
97
+ this._config.htmlAttributes = {
98
+ 'aria-label': inheritAriaLabelText(this.elementRef.nativeElement),
99
+ };
100
+ }
101
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, deps: [{ token: i1.CanDismissHelper }, { token: i2.ModalNavigationService }, { token: i3.WindowRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
102
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ModalComponent, isStandalone: true, selector: "kirby-modal", inputs: { isOpen: "isOpen", trigger: "trigger", size: "size", scrollDisabled: "scrollDisabled", canDismiss: "canDismiss", collapseTitle: "collapseTitle", customHeight: "customHeight", flavor: "flavor", drawerSupplementaryAction: "drawerSupplementaryAction", interactWithBackground: "interactWithBackground" }, outputs: { willPresent: "willPresent", didPresent: "didPresent", didDismiss: "didDismiss", willDismiss: "willDismiss" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }], viewQueries: [{ propertyName: "modalElement", first: true, predicate: IonModal, descendants: true, read: ElementRef, static: true }, { propertyName: "ionContent", first: true, predicate: IonContent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-modal\n class=\"kirby-modal kirby-overlay kirby-modal-{{ size }}\"\n [ngClass]=\"[\n flavor === 'compact' ? 'kirby-modal-compact' : 'kirby-' + flavor,\n interactWithBackground ? 'interact-with-background' : ''\n ]\"\n [isOpen]=\"isOpen\"\n [trigger]=\"trigger\"\n [canDismiss]=\"_canDismiss\"\n [showBackdrop]=\"!interactWithBackground\"\n [style.--kirby-modal-height]=\"customHeight\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <kirby-modal-compact-wrapper\n *ngIf=\"flavor === 'compact'; else modalWrapper\"\n [config]=\"_config\"\n [content]=\"template\"\n ></kirby-modal-compact-wrapper>\n </ng-template>\n</ion-modal>\n\n<ng-template #modalWrapper>\n <kirby-modal-wrapper\n class=\"ion-page\"\n [config]=\"_config\"\n [content]=\"template\"\n [scrollDisabled]=\"scrollDisabled\"\n ></kirby-modal-wrapper>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: KirbyIonicModule }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: ModalWrapperComponent, selector: "kirby-modal-wrapper", inputs: ["scrollDisabled", "config", "content"] }, { kind: "component", type: ModalCompactWrapperComponent, selector: "kirby-modal-compact-wrapper", inputs: ["config", "content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
103
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalComponent, decorators: [{
94
105
  type: Component,
95
106
  args: [{ standalone: true, selector: 'kirby-modal', imports: [
96
107
  CommonModule,
97
108
  KirbyIonicModule,
98
109
  IconModule,
99
110
  IonModal,
100
- ButtonComponent,
101
111
  ModalWrapperComponent,
102
112
  ModalCompactWrapperComponent,
103
113
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-modal\n class=\"kirby-modal kirby-overlay kirby-modal-{{ size }}\"\n [ngClass]=\"[\n flavor === 'compact' ? 'kirby-modal-compact' : 'kirby-' + flavor,\n interactWithBackground ? 'interact-with-background' : ''\n ]\"\n [isOpen]=\"isOpen\"\n [trigger]=\"trigger\"\n [canDismiss]=\"_canDismiss\"\n [showBackdrop]=\"!interactWithBackground\"\n [style.--kirby-modal-height]=\"customHeight\"\n (willPresent)=\"_onWillPresent($event)\"\n (didPresent)=\"_onDidPresent($event)\"\n (willDismiss)=\"_onWillDismiss($event)\"\n (didDismiss)=\"_onDidDismiss($event)\"\n>\n <ng-template>\n <kirby-modal-compact-wrapper\n *ngIf=\"flavor === 'compact'; else modalWrapper\"\n [config]=\"_config\"\n [content]=\"template\"\n ></kirby-modal-compact-wrapper>\n </ng-template>\n</ion-modal>\n\n<ng-template #modalWrapper>\n <kirby-modal-wrapper\n class=\"ion-page\"\n [config]=\"_config\"\n [content]=\"template\"\n [scrollDisabled]=\"scrollDisabled\"\n ></kirby-modal-wrapper>\n</ng-template>\n" }]
104
- }], ctorParameters: () => [{ type: i1.CanDismissHelper }, { type: i2.ModalNavigationService }, { type: i3.WindowRef }], propDecorators: { modalElement: [{
114
+ }], ctorParameters: () => [{ type: i1.CanDismissHelper }, { type: i2.ModalNavigationService }, { type: i3.WindowRef }, { type: i0.ElementRef }], propDecorators: { modalElement: [{
105
115
  type: ViewChild,
106
116
  args: [IonModal, { static: true, read: ElementRef }]
107
117
  }], ionContent: [{
@@ -139,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
139
149
  }], willDismiss: [{
140
150
  type: Output
141
151
  }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL21vZGFsLWNvbXBvbmVudC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9tb2RhbC9zcmMvbW9kYWwvbW9kYWwtY29tcG9uZW50L21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUk1QixxQkFBcUIsR0FFdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQWlCL0MsTUFBTSxPQUFPLGNBQWM7SUFVekIsSUFBYSxVQUFVLENBQUMsVUFBdUM7UUFDN0QsT0FBTyxVQUFVLEtBQUssU0FBUztZQUM3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxH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RyxjQUFjO3NCQUF0QixLQUFLO2dCQUNPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBT0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25Db250ZW50LCBJb25Nb2RhbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgT3ZlcmxheUV2ZW50RGV0YWlsIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2J1dHRvbic7XG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcbmltcG9ydCB7IEtpcmJ5SW9uaWNNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2tpcmJ5LWlvbmljLW1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3R5cGVzJztcblxuaW1wb3J0IHsgTW9kYWxOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGFsLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1xuICBEcmF3ZXJTdXBwbGVtZW50YXJ5QWN0aW9uLFxuICBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50LFxuICBNb2RhbENvbmZpZyxcbiAgTW9kYWxGbGF2b3IsXG4gIE1vZGFsU2l6ZSxcbiAgTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxuICBTaG93QWxlcnRDYWxsYmFjayxcbn0gZnJvbSAnLi4vLi4vbW9kYWwtd3JhcHBlcic7XG5pbXBvcnQgeyBDYW5EaXNtaXNzSGVscGVyIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdraXJieS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgS2lyYnlJb25pY01vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIElvbk1vZGFsLFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG4gICAgTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQFZpZXdDaGlsZChJb25Nb2RhbCwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgbW9kYWxFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJb25Nb2RhbEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKElvbkNvbnRlbnQpIGlvbkNvbnRlbnQ6IElvbkNvbnRlbnQ7XG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBpc09wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJpZ2dlcjogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiBNb2RhbFNpemUgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgc2Nyb2xsRGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IGNhbkRpc21pc3MoY2FuRGlzbWlzczogU2hvd0FsZXJ0Q2FsbGJhY2sgfCBib29sZWFuKSB7XG4gICAgdHlwZW9mIGNhbkRpc21pc3MgPT09ICdib29sZWFuJ1xuICAgICAgPyAodGhpcy5fY2FuRGlzbWlzcyA9IGNhbkRpc21pc3MpXG4gICAgICA6ICh0aGlzLl9jYW5EaXNtaXNzID0gdGhpcy5jYW5EaXNtaXNzSGVscGVyLmdldENhbkRpc21pc3NDYWxsYmFjayhjYW5EaXNtaXNzKSk7XG4gIH1cblxuICAvLyBOT1RFOiBpbnB1dCBwcm9wZXJ0aWVzIGZvcndhcmRlZCB0byBtb2RhbC13cmFwcGVyIE1vZGFsQ29uZmlnXG4gIEBJbnB1dCgpIGNvbGxhcHNlVGl0bGUgPSBmYWxzZTtcbiAgQElucHV0KCkgY3VzdG9tSGVpZ2h0OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZsYXZvcjogTW9kYWxGbGF2b3IgPSAnbW9kYWwnO1xuICBASW5wdXQoKSBkcmF3ZXJTdXBwbGVtZW50YXJ5QWN0aW9uPzogRHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaW50ZXJhY3RXaXRoQmFja2dyb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyBlbmQgTk9URVxuXG4gIEBPdXRwdXQoKSB3aWxsUHJlc2VudCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPj4oKTtcbiAgQE91dHB1dCgpIGRpZFByZXNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBkaWREaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgd2lsbERpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4+KCk7XG5cbiAgLyoqXG4gICAqIFdlIHBvcHVsYXRlIHRoZSBNb2RhbENvbmZpZyB3aXRoIGRlZmF1bHRzIGhlcmUuIFRoaXMgZW5zdXJlcyB0aGF0IHdlIGNhblxuICAgKiBndWFyZCBmb3IgYGlmIChrZXkgaW4gdGhpcy5fY29uZmlnKWAgYW5kIG9ubHkgdXBkYXRlIHRoZSBjb25maWcgd2hlbiBhbnkgb2YgdGhlc2VcbiAgICogaW5wdXRzIGNoYW5nZS5cbiAgICovXG4gIF9jb25maWc6IE1vZGFsQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlVGl0bGU6IHRoaXMuY29sbGFwc2VUaXRsZSxcbiAgICBjdXN0b21IZWlnaHQ6IHRoaXMuY3VzdG9tSGVpZ2h0LFxuICAgIGZsYXZvcjogdGhpcy5mbGF2b3IsXG4gICAgZHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbjogdGhpcy5kcmF3ZXJTdXBwbGVtZW50YXJ5QWN0aW9uLFxuICAgIGludGVyYWN0V2l0aEJhY2tncm91bmQ6IHRoaXMuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCxcbiAgfTtcblxuICBfY2FuRGlzbWlzczogU2hvd0FsZXJ0Q2FsbGJhY2sgfCBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNhbkRpc21pc3NIZWxwZXI6IENhbkRpc21pc3NIZWxwZXIsXG4gICAgcHJpdmF0ZSBtb2RhbE5hdmlnYXRpb25TZXJ2aWNlOiBNb2RhbE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBXaW5kb3dSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGFsQ29uZmlnT25DaGFuZ2UoY2hhbmdlcyk7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsVG9Ub3Aoc2Nyb2xsRHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIHRoaXMuaW9uQ29udGVudC5zY3JvbGxUb1RvcChzY3JvbGxEdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsVG9Cb3R0b20oc2Nyb2xsRHVyYXRpb24/OiBLaXJieUFuaW1hdGlvbi5EdXJhdGlvbikge1xuICAgIHRoaXMuaW9uQ29udGVudC5zY3JvbGxUb0JvdHRvbShzY3JvbGxEdXJhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgX29uV2lsbFByZXNlbnQoZXZlbnQ6IEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4pIHtcbiAgICB0aGlzLndpbGxQcmVzZW50LmVtaXQoZXZlbnQpO1xuXG4gICAgaWYgKHRoaXMuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCkge1xuICAgICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYWxsb3ctYmFja2dyb3VuZC1zY3JvbGwnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgX29uRGlkUHJlc2VudChldmVudDogQ3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPikge1xuICAgIHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5oYW5kbGVCcm93c2VyQmFja0J1dHRvbih0aGlzLm1vZGFsRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLmRpZFByZXNlbnQuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgX29uV2lsbERpc21pc3MoZXZlbnQ6IEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4pIHtcbiAgICBpZiAodGhpcy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kKSB7XG4gICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdhbGxvdy1iYWNrZ3JvdW5kLXNjcm9sbCcpO1xuICAgIH1cblxuICAgIHRoaXMud2lsbERpc21pc3MuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgX29uRGlkRGlzbWlzcyhldmVudDogQ3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPikge1xuICAgIHRoaXMuZGlkRGlzbWlzcy5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTW9kYWxDb25maWdPbkNoYW5nZShjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgT2JqZWN0LmVudHJpZXMoY2hhbmdlcykuZm9yRWFjaCgoW2tleV0pID0+IHtcbiAgICAgIGNvbnN0IGlzTW9kYWxDb25maWdQcm9wZXJ0eSA9IGtleSBpbiB0aGlzLl9jb25maWc7XG4gICAgICBpZiAoaXNNb2RhbENvbmZpZ1Byb3BlcnR5KSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZ1trZXldID0gY2hhbmdlc1trZXldLmN1cnJlbnRWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGlvbi1tb2RhbFxuICBjbGFzcz1cImtpcmJ5LW1vZGFsIGtpcmJ5LW92ZXJsYXkga2lyYnktbW9kYWwte3sgc2l6ZSB9fVwiXG4gIFtuZ0NsYXNzXT1cIltcbiAgICBmbGF2b3IgPT09ICdjb21wYWN0JyA/ICdraXJieS1tb2RhbC1jb21wYWN0JyA6ICdraXJieS0nICsgZmxhdm9yLFxuICAgIGludGVyYWN0V2l0aEJhY2tncm91bmQgPyAnaW50ZXJhY3Qtd2l0aC1iYWNrZ3JvdW5kJyA6ICcnXG4gIF1cIlxuICBbaXNPcGVuXT1cImlzT3BlblwiXG4gIFt0cmlnZ2VyXT1cInRyaWdnZXJcIlxuICBbY2FuRGlzbWlzc109XCJfY2FuRGlzbWlzc1wiXG4gIFtzaG93QmFja2Ryb3BdPVwiIWludGVyYWN0V2l0aEJhY2tncm91bmRcIlxuICBbc3R5bGUuLS1raXJieS1tb2RhbC1oZWlnaHRdPVwiY3VzdG9tSGVpZ2h0XCJcbiAgKHdpbGxQcmVzZW50KT1cIl9vbldpbGxQcmVzZW50KCRldmVudClcIlxuICAoZGlkUHJlc2VudCk9XCJfb25EaWRQcmVzZW50KCRldmVudClcIlxuICAod2lsbERpc21pc3MpPVwiX29uV2lsbERpc21pc3MoJGV2ZW50KVwiXG4gIChkaWREaXNtaXNzKT1cIl9vbkRpZERpc21pc3MoJGV2ZW50KVwiXG4+XG4gIDxuZy10ZW1wbGF0ZT5cbiAgICA8a2lyYnktbW9kYWwtY29tcGFjdC13cmFwcGVyXG4gICAgICAqbmdJZj1cImZsYXZvciA9PT0gJ2NvbXBhY3QnOyBlbHNlIG1vZGFsV3JhcHBlclwiXG4gICAgICBbY29uZmlnXT1cIl9jb25maWdcIlxuICAgICAgW2NvbnRlbnRdPVwidGVtcGxhdGVcIlxuICAgID48L2tpcmJ5LW1vZGFsLWNvbXBhY3Qtd3JhcHBlcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvaW9uLW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI21vZGFsV3JhcHBlcj5cbiAgPGtpcmJ5LW1vZGFsLXdyYXBwZXJcbiAgICBjbGFzcz1cImlvbi1wYWdlXCJcbiAgICBbY29uZmlnXT1cIl9jb25maWdcIlxuICAgIFtjb250ZW50XT1cInRlbXBsYXRlXCJcbiAgICBbc2Nyb2xsRGlzYWJsZWRdPVwic2Nyb2xsRGlzYWJsZWRcIlxuICA+PC9raXJieS1tb2RhbC13cmFwcGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL21vZGFsLWNvbXBvbmVudC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9tb2RhbC9zcmMvbW9kYWwvbW9kYWwtY29tcG9uZW50L21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsNEJBQTRCLEVBSTVCLHFCQUFxQixHQUV0QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBZ0IvQyxNQUFNLE9BQU8sY0FBYztJQVV6QixJQUFhLFVBQVUsQ0FBQyxVQUF1QztRQUM3RCxPQUFPLFVBQVUsS0FBSyxTQUFTO1lBQzdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFX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QVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUVoQyxVQUFVO3NCQUFoQyxTQUFTO3VCQUFDLFVBQVU7Z0JBQ3dCLFFBQVE7c0JBQXBELFlBQVk7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFbEMsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDTyxVQUFVO3NCQUF0QixLQUFLO2dCQU9HLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFHSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25Db250ZW50LCBJb25Nb2RhbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgT3ZlcmxheUV2ZW50RGV0YWlsIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBLaXJieUFuaW1hdGlvbiB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcbmltcG9ydCB7IEtpcmJ5SW9uaWNNb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2tpcmJ5LWlvbmljLW1vZHVsZSc7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3R5cGVzJztcblxuaW1wb3J0IHsgaW5oZXJpdEFyaWFMYWJlbFRleHQgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZCc7XG5pbXBvcnQgeyBNb2RhbE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbW9kYWwtbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIERyYXdlclN1cHBsZW1lbnRhcnlBY3Rpb24sXG4gIE1vZGFsQ29tcGFjdFdyYXBwZXJDb21wb25lbnQsXG4gIE1vZGFsQ29uZmlnLFxuICBNb2RhbEZsYXZvcixcbiAgTW9kYWxTaXplLFxuICBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG4gIFNob3dBbGVydENhbGxiYWNrLFxufSBmcm9tICcuLi8uLi9tb2RhbC13cmFwcGVyJztcbmltcG9ydCB7IENhbkRpc21pc3NIZWxwZXIgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2tpcmJ5LW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBLaXJieUlvbmljTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgSW9uTW9kYWwsXG4gICAgTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxuICAgIE1vZGFsQ29tcGFjdFdyYXBwZXJDb21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgQFZpZXdDaGlsZChJb25Nb2RhbCwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgbW9kYWxFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJb25Nb2RhbEVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKElvbkNvbnRlbnQpIGlvbkNvbnRlbnQ6IElvbkNvbnRlbnQ7XG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBpc09wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdHJpZ2dlcjogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiBNb2RhbFNpemUgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgc2Nyb2xsRGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0IGNhbkRpc21pc3MoY2FuRGlzbWlzczogU2hvd0FsZXJ0Q2FsbGJhY2sgfCBib29sZWFuKSB7XG4gICAgdHlwZW9mIGNhbkRpc21pc3MgPT09ICdib29sZWFuJ1xuICAgICAgPyAodGhpcy5fY2FuRGlzbWlzcyA9IGNhbkRpc21pc3MpXG4gICAgICA6ICh0aGlzLl9jYW5EaXNtaXNzID0gdGhpcy5jYW5EaXNtaXNzSGVscGVyLmdldENhbkRpc21pc3NDYWxsYmFjayhjYW5EaXNtaXNzKSk7XG4gIH1cblxuICAvLyBOT1RFOiBpbnB1dCBwcm9wZXJ0aWVzIGZvcndhcmRlZCB0byBtb2RhbC13cmFwcGVyIE1vZGFsQ29uZmlnXG4gIEBJbnB1dCgpIGNvbGxhcHNlVGl0bGUgPSBmYWxzZTtcbiAgQElucHV0KCkgY3VzdG9tSGVpZ2h0OiBzdHJpbmcgPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZsYXZvcjogTW9kYWxGbGF2b3IgPSAnbW9kYWwnO1xuICBASW5wdXQoKSBkcmF3ZXJTdXBwbGVtZW50YXJ5QWN0aW9uPzogRHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaW50ZXJhY3RXaXRoQmFja2dyb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyBlbmQgTk9URVxuXG4gIEBPdXRwdXQoKSB3aWxsUHJlc2VudCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8T3ZlcmxheUV2ZW50RGV0YWlsPj4oKTtcbiAgQE91dHB1dCgpIGRpZFByZXNlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4+KCk7XG4gIEBPdXRwdXQoKSBkaWREaXNtaXNzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+PigpO1xuICBAT3V0cHV0KCkgd2lsbERpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4+KCk7XG5cbiAgLyoqXG4gICAqIFdlIHBvcHVsYXRlIHRoZSBNb2RhbENvbmZpZyB3aXRoIGRlZmF1bHRzIGhlcmUuIFRoaXMgZW5zdXJlcyB0aGF0IHdlIGNhblxuICAgKiBndWFyZCBmb3IgYGlmIChrZXkgaW4gdGhpcy5fY29uZmlnKWAgYW5kIG9ubHkgdXBkYXRlIHRoZSBjb25maWcgd2hlbiBhbnkgb2YgdGhlc2VcbiAgICogaW5wdXRzIGNoYW5nZS5cbiAgICovXG4gIF9jb25maWc6IE1vZGFsQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlVGl0bGU6IHRoaXMuY29sbGFwc2VUaXRsZSxcbiAgICBjdXN0b21IZWlnaHQ6IHRoaXMuY3VzdG9tSGVpZ2h0LFxuICAgIGZsYXZvcjogdGhpcy5mbGF2b3IsXG4gICAgZHJhd2VyU3VwcGxlbWVudGFyeUFjdGlvbjogdGhpcy5kcmF3ZXJTdXBwbGVtZW50YXJ5QWN0aW9uLFxuICAgIGludGVyYWN0V2l0aEJhY2tncm91bmQ6IHRoaXMuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCxcbiAgfTtcbiAgX2NhbkRpc21pc3M6IFNob3dBbGVydENhbGxiYWNrIHwgYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjYW5EaXNtaXNzSGVscGVyOiBDYW5EaXNtaXNzSGVscGVyLFxuICAgIHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHdpbmRvd1JlZjogV2luZG93UmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3J3YXJkQXJpYUxhYmVsKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVNb2RhbENvbmZpZ09uQ2hhbmdlKGNoYW5nZXMpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFRvVG9wKHNjcm9sbER1cmF0aW9uPzogS2lyYnlBbmltYXRpb24uRHVyYXRpb24pIHtcbiAgICB0aGlzLmlvbkNvbnRlbnQuc2Nyb2xsVG9Ub3Aoc2Nyb2xsRHVyYXRpb24pO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFRvQm90dG9tKHNjcm9sbER1cmF0aW9uPzogS2lyYnlBbmltYXRpb24uRHVyYXRpb24pIHtcbiAgICB0aGlzLmlvbkNvbnRlbnQuc2Nyb2xsVG9Cb3R0b20oc2Nyb2xsRHVyYXRpb24pO1xuICB9XG5cbiAgcHVibGljIF9vbldpbGxQcmVzZW50KGV2ZW50OiBDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+KSB7XG4gICAgdGhpcy53aWxsUHJlc2VudC5lbWl0KGV2ZW50KTtcblxuICAgIGlmICh0aGlzLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2FsbG93LWJhY2tncm91bmQtc2Nyb2xsJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9vbkRpZFByZXNlbnQoZXZlbnQ6IEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4pIHtcbiAgICB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UuaGFuZGxlQnJvd3NlckJhY2tCdXR0b24odGhpcy5tb2RhbEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5kaWRQcmVzZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIF9vbldpbGxEaXNtaXNzKGV2ZW50OiBDdXN0b21FdmVudDxPdmVybGF5RXZlbnREZXRhaWw+KSB7XG4gICAgaWYgKHRoaXMuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCkge1xuICAgICAgdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnYWxsb3ctYmFja2dyb3VuZC1zY3JvbGwnKTtcbiAgICB9XG5cbiAgICB0aGlzLndpbGxEaXNtaXNzLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIF9vbkRpZERpc21pc3MoZXZlbnQ6IEN1c3RvbUV2ZW50PE92ZXJsYXlFdmVudERldGFpbD4pIHtcbiAgICB0aGlzLmRpZERpc21pc3MuZW1pdChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1vZGFsQ29uZmlnT25DaGFuZ2UoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIE9iamVjdC5lbnRyaWVzKGNoYW5nZXMpLmZvckVhY2goKFtrZXldKSA9PiB7XG4gICAgICBjb25zdCBpc01vZGFsQ29uZmlnUHJvcGVydHkgPSBrZXkgaW4gdGhpcy5fY29uZmlnO1xuICAgICAgaWYgKGlzTW9kYWxDb25maWdQcm9wZXJ0eSkge1xuICAgICAgICB0aGlzLl9jb25maWdba2V5XSA9IGNoYW5nZXNba2V5XS5jdXJyZW50VmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZvcndhcmRBcmlhTGFiZWwoKSB7XG4gICAgLy8gSW5zdGVhZCBvZiBzZXR0aW5nIGFyaWEgbGFiZWwgb24gaW9uLW1vZGFsIGluIHRoZSB0ZW1wbGF0ZSB3ZSBmb3J3YXJkIGl0IHRvIG1vZGFsLXdyYXBwZXIgZm9yIGNvbnNpc3RlbmN5XG4gICAgLy8gYW5kIHNvIHdlIGRvIG5vdCBzdGFydCBsaXN0ZW5pbmcgZm9yIHRpdGxlIGNoYW5nZXMgaW4gdGhlIG1vZGFsLXdyYXBwZXIuXG4gICAgdGhpcy5fY29uZmlnLmh0bWxBdHRyaWJ1dGVzID0ge1xuICAgICAgJ2FyaWEtbGFiZWwnOiBpbmhlcml0QXJpYUxhYmVsVGV4dCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCksXG4gICAgfTtcbiAgfVxufVxuIiwiPGlvbi1tb2RhbFxuICBjbGFzcz1cImtpcmJ5LW1vZGFsIGtpcmJ5LW92ZXJsYXkga2lyYnktbW9kYWwte3sgc2l6ZSB9fVwiXG4gIFtuZ0NsYXNzXT1cIltcbiAgICBmbGF2b3IgPT09ICdjb21wYWN0JyA/ICdraXJieS1tb2RhbC1jb21wYWN0JyA6ICdraXJieS0nICsgZmxhdm9yLFxuICAgIGludGVyYWN0V2l0aEJhY2tncm91bmQgPyAnaW50ZXJhY3Qtd2l0aC1iYWNrZ3JvdW5kJyA6ICcnXG4gIF1cIlxuICBbaXNPcGVuXT1cImlzT3BlblwiXG4gIFt0cmlnZ2VyXT1cInRyaWdnZXJcIlxuICBbY2FuRGlzbWlzc109XCJfY2FuRGlzbWlzc1wiXG4gIFtzaG93QmFja2Ryb3BdPVwiIWludGVyYWN0V2l0aEJhY2tncm91bmRcIlxuICBbc3R5bGUuLS1raXJieS1tb2RhbC1oZWlnaHRdPVwiY3VzdG9tSGVpZ2h0XCJcbiAgKHdpbGxQcmVzZW50KT1cIl9vbldpbGxQcmVzZW50KCRldmVudClcIlxuICAoZGlkUHJlc2VudCk9XCJfb25EaWRQcmVzZW50KCRldmVudClcIlxuICAod2lsbERpc21pc3MpPVwiX29uV2lsbERpc21pc3MoJGV2ZW50KVwiXG4gIChkaWREaXNtaXNzKT1cIl9vbkRpZERpc21pc3MoJGV2ZW50KVwiXG4+XG4gIDxuZy10ZW1wbGF0ZT5cbiAgICA8a2lyYnktbW9kYWwtY29tcGFjdC13cmFwcGVyXG4gICAgICAqbmdJZj1cImZsYXZvciA9PT0gJ2NvbXBhY3QnOyBlbHNlIG1vZGFsV3JhcHBlclwiXG4gICAgICBbY29uZmlnXT1cIl9jb25maWdcIlxuICAgICAgW2NvbnRlbnRdPVwidGVtcGxhdGVcIlxuICAgID48L2tpcmJ5LW1vZGFsLWNvbXBhY3Qtd3JhcHBlcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvaW9uLW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI21vZGFsV3JhcHBlcj5cbiAgPGtpcmJ5LW1vZGFsLXdyYXBwZXJcbiAgICBjbGFzcz1cImlvbi1wYWdlXCJcbiAgICBbY29uZmlnXT1cIl9jb25maWdcIlxuICAgIFtjb250ZW50XT1cInRlbXBsYXRlXCJcbiAgICBbc2Nyb2xsRGlzYWJsZWRdPVwic2Nyb2xsRGlzYWJsZWRcIlxuICA+PC9raXJieS1tb2RhbC13cmFwcGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -37,10 +37,10 @@ export class ActionSheetHelper {
37
37
  onDidDismiss: ionModal.onDidDismiss(),
38
38
  };
39
39
  }
40
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionSheetHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionSheetHelper }); }
40
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionSheetHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionSheetHelper }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionSheetHelper, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionSheetHelper, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: () => [{ type: i1.ModalController }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9hY3Rpb24tc2hlZXQuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUk1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBSzlFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0Isb0JBQXFDO1FBQXJDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBaUI7SUFBRyxDQUFDO0lBRXRELEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBeUI7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUV2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDdEQsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixRQUFRLEVBQUUsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7WUFDakQsY0FBYyxFQUFFO2dCQUNkLEdBQUcsTUFBTTtnQkFDVCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsVUFBVTthQUN2QjtZQUNELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztRQUVILHlGQUF5RjtRQUN6Riw0RkFBNEY7UUFDNUYsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFNUQsTUFBTSxrQkFBa0IsR0FBaUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRixNQUFNLHNCQUFzQixHQUFpQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FDdkIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO2lJQXRDVSxpQkFBaUI7cUlBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWN0aW9uU2hlZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvYWN0aW9uLXNoZWV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldENvbmZpZyB9IGZyb20gJy4uL2FjdGlvbi1zaGVldC9jb25maWcvYWN0aW9uLXNoZWV0LWNvbmZpZyc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldEl0ZW0gfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvY29uZmlnL2FjdGlvbi1zaGVldC1pdGVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvblNoZWV0SGVscGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpb25pY01vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWN0aW9uU2hlZXQoY29uZmlnOiBBY3Rpb25TaGVldENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGNvbnN0IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25TaGVldEl0ZW0+KCk7XG5cbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgICBjc3NDbGFzczogWydraXJieS1vdmVybGF5JywgJ2tpcmJ5LWFjdGlvbi1zaGVldCddLFxuICAgICAgY29tcG9uZW50UHJvcHM6IHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBjYW5jZWw6IGNhbmNlbCxcbiAgICAgICAgaXRlbVNlbGVjdDogaXRlbVNlbGVjdCxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBSZW1vdmUgJ21vZGFsLXNoYWRvdycgZWxlbWVudCBhcyB3ZSBhcmUgbm8gbG9uZ2VyIGFibGUgdG8gaGlkZSBpdCB3aXRoIENTUyBpbiBJb25pYyA2LlxuICAgIC8vIFdlIG5lZWQgdG8gcmVtb3ZlIGl0IHNvIGl0IGRvZXMgbm90IG9ic3RydWN0IHRoZSBiYWNrZHJvcC1jbGljayB0byBkaXNtaXNzIGZ1bmN0aW9uYWxpdHkuXG4gICAgaW9uTW9kYWwuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykucmVtb3ZlKCk7XG5cbiAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IGNhbmNlbC5zdWJzY3JpYmUoKCkgPT4gaW9uTW9kYWwuZGlzbWlzcygpKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBpdGVtU2VsZWN0LnN1YnNjcmliZSgoaXRlbSkgPT5cbiAgICAgIGlvbk1vZGFsLmRpc21pc3MoaXRlbSlcbiAgICApO1xuICAgIGNvbnN0IG9uRGlkRGlzbWlzcyA9IGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpO1xuICAgIG9uRGlkRGlzbWlzcy50aGVuKCgpID0+IHtcbiAgICAgIGNhbmNlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgaXRlbVNlbGVjdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXNoZWV0LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9hY3Rpb24tc2hlZXQuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUk1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBSzlFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0Isb0JBQXFDO1FBQXJDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBaUI7SUFBRyxDQUFDO0lBRXRELEtBQUssQ0FBQyxlQUFlLENBQUMsTUFBeUI7UUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUV2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDdEQsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixRQUFRLEVBQUUsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7WUFDakQsY0FBYyxFQUFFO2dCQUNkLEdBQUcsTUFBTTtnQkFDVCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxVQUFVLEVBQUUsVUFBVTthQUN2QjtZQUNELGVBQWUsRUFBRSxJQUFJO1NBQ3RCLENBQUMsQ0FBQztRQUVILHlGQUF5RjtRQUN6Riw0RkFBNEY7UUFDNUYsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFNUQsTUFBTSxrQkFBa0IsR0FBaUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRixNQUFNLHNCQUFzQixHQUFpQixVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FDdkIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO2tJQXRDVSxpQkFBaUI7c0lBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWN0aW9uU2hlZXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvYWN0aW9uLXNoZWV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldENvbmZpZyB9IGZyb20gJy4uL2FjdGlvbi1zaGVldC9jb25maWcvYWN0aW9uLXNoZWV0LWNvbmZpZyc7XG5pbXBvcnQgeyBBY3Rpb25TaGVldEl0ZW0gfSBmcm9tICcuLi9hY3Rpb24tc2hlZXQvY29uZmlnL2FjdGlvbi1zaGVldC1pdGVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvblNoZWV0SGVscGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpb25pY01vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBzaG93QWN0aW9uU2hlZXQoY29uZmlnOiBBY3Rpb25TaGVldENvbmZpZyk6IFByb21pc2U8T3ZlcmxheT4ge1xuICAgIGNvbnN0IGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxBY3Rpb25TaGVldEl0ZW0+KCk7XG5cbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWN0aW9uU2hlZXRDb21wb25lbnQsXG4gICAgICBjc3NDbGFzczogWydraXJieS1vdmVybGF5JywgJ2tpcmJ5LWFjdGlvbi1zaGVldCddLFxuICAgICAgY29tcG9uZW50UHJvcHM6IHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICBjYW5jZWw6IGNhbmNlbCxcbiAgICAgICAgaXRlbVNlbGVjdDogaXRlbVNlbGVjdCxcbiAgICAgIH0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBSZW1vdmUgJ21vZGFsLXNoYWRvdycgZWxlbWVudCBhcyB3ZSBhcmUgbm8gbG9uZ2VyIGFibGUgdG8gaGlkZSBpdCB3aXRoIENTUyBpbiBJb25pYyA2LlxuICAgIC8vIFdlIG5lZWQgdG8gcmVtb3ZlIGl0IHNvIGl0IGRvZXMgbm90IG9ic3RydWN0IHRoZSBiYWNrZHJvcC1jbGljayB0byBkaXNtaXNzIGZ1bmN0aW9uYWxpdHkuXG4gICAgaW9uTW9kYWwuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtc2hhZG93JykucmVtb3ZlKCk7XG5cbiAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IGNhbmNlbC5zdWJzY3JpYmUoKCkgPT4gaW9uTW9kYWwuZGlzbWlzcygpKTtcbiAgICBjb25zdCBpdGVtU2VsZWN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBpdGVtU2VsZWN0LnN1YnNjcmliZSgoaXRlbSkgPT5cbiAgICAgIGlvbk1vZGFsLmRpc21pc3MoaXRlbSlcbiAgICApO1xuICAgIGNvbnN0IG9uRGlkRGlzbWlzcyA9IGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpO1xuICAgIG9uRGlkRGlzbWlzcy50aGVuKCgpID0+IHtcbiAgICAgIGNhbmNlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgaXRlbVNlbGVjdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -47,10 +47,10 @@ export class AlertHelper {
47
47
  getOkBtnIsDestructive(config) {
48
48
  return typeof config.okBtn === 'object' ? config.okBtn.isDestructive : undefined;
49
49
  }
50
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AlertHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AlertHelper }); }
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlertHelper, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlertHelper }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AlertHelper, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlertHelper, decorators: [{
54
54
  type: Injectable
55
55
  }], ctorParameters: () => [{ type: i1.ModalController }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL2FsZXJ0LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUkxRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixvQkFBcUM7UUFBckMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtJQUFHLENBQUM7SUFFdEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFtQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDdEQsU0FBUyxFQUFFLGNBQWM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDOUMsUUFBUSxFQUFFLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQztZQUMxQyxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBbUI7UUFDM0MsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM1QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztZQUN0RCxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDekMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVO1NBQ3RELENBQUM7SUFDSixDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQW1CO1FBQ2xDLElBQUksSUFBWSxDQUFDO1FBRWpCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUN0QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBTTtRQUMxQixPQUFPLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkYsQ0FBQztpSUE5Q1UsV0FBVztxSUFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi4vLi4vbW9kYWwuaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbGVydEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW9uaWNNb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcikge31cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWxlcnRDb21wb25lbnQsXG4gICAgICBjb21wb25lbnRQcm9wczogdGhpcy5nZXRDb21wb25lbnRQcm9wcyhjb25maWcpLFxuICAgICAgY3NzQ2xhc3M6IFsna2lyYnktb3ZlcmxheScsICdraXJieS1hbGVydCddLFxuICAgICAgbW9kZTogJ2lvcycsXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnRQcm9wcyhjb25maWc6IEFsZXJ0Q29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG9rQnRuOiB0aGlzLmdldE9rQnRuKGNvbmZpZyksXG4gICAgICBjYW5jZWxCdG46IGNvbmZpZy5jYW5jZWxCdG4sXG4gICAgICBva0J0bklzRGVzdHJ1Y3RpdmU6IHRoaXMuZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZyksXG4gICAgICBpY29uTmFtZTogY29uZmlnLmljb24gJiYgY29uZmlnLmljb24ubmFtZSxcbiAgICAgIGljb25UaGVtZUNvbG9yOiBjb25maWcuaWNvbiAmJiBjb25maWcuaWNvbi50aGVtZUNvbG9yLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE9rQnRuKGNvbmZpZzogQWxlcnRDb25maWcpIHtcbiAgICBsZXQgdGV4dDogc3RyaW5nO1xuXG4gICAgaWYgKGNvbmZpZy5va0J0bikge1xuICAgICAgaWYgKHR5cGVvZiBjb25maWcub2tCdG4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRleHQgPSBjb25maWcub2tCdG47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZXh0ID0gY29uZmlnLm9rQnRuLnRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZykge1xuICAgIHJldHVybiB0eXBlb2YgY29uZmlnLm9rQnRuID09PSAnb2JqZWN0JyA/IGNvbmZpZy5va0J0bi5pc0Rlc3RydWN0aXZlIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL2FsZXJ0LmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUkxRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixvQkFBcUM7UUFBckMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFpQjtJQUFHLENBQUM7SUFFdEQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFtQjtRQUN4QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7WUFDdEQsU0FBUyxFQUFFLGNBQWM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7WUFDOUMsUUFBUSxFQUFFLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQztZQUMxQyxJQUFJLEVBQUUsS0FBSztZQUNYLGVBQWUsRUFBRSxLQUFLO1NBQ3ZCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3hDLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBbUI7UUFDM0MsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUM1QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztZQUN0RCxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDekMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVO1NBQ3RELENBQUM7SUFDSixDQUFDO0lBRU8sUUFBUSxDQUFDLE1BQW1CO1FBQ2xDLElBQUksSUFBWSxDQUFDO1FBRWpCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUN0QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQscUJBQXFCLENBQUMsTUFBTTtRQUMxQixPQUFPLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkYsQ0FBQztrSUE5Q1UsV0FBVztzSUFBWCxXQUFXOzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi4vLi4vbW9kYWwuaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbGVydEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW9uaWNNb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcikge31cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogQWxlcnRDb21wb25lbnQsXG4gICAgICBjb21wb25lbnRQcm9wczogdGhpcy5nZXRDb21wb25lbnRQcm9wcyhjb25maWcpLFxuICAgICAgY3NzQ2xhc3M6IFsna2lyYnktb3ZlcmxheScsICdraXJieS1hbGVydCddLFxuICAgICAgbW9kZTogJ2lvcycsXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzczogaW9uTW9kYWwub25XaWxsRGlzbWlzcygpLFxuICAgICAgb25EaWREaXNtaXNzOiBpb25Nb2RhbC5vbkRpZERpc21pc3MoKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnRQcm9wcyhjb25maWc6IEFsZXJ0Q29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbmZpZyxcbiAgICAgIG9rQnRuOiB0aGlzLmdldE9rQnRuKGNvbmZpZyksXG4gICAgICBjYW5jZWxCdG46IGNvbmZpZy5jYW5jZWxCdG4sXG4gICAgICBva0J0bklzRGVzdHJ1Y3RpdmU6IHRoaXMuZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZyksXG4gICAgICBpY29uTmFtZTogY29uZmlnLmljb24gJiYgY29uZmlnLmljb24ubmFtZSxcbiAgICAgIGljb25UaGVtZUNvbG9yOiBjb25maWcuaWNvbiAmJiBjb25maWcuaWNvbi50aGVtZUNvbG9yLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE9rQnRuKGNvbmZpZzogQWxlcnRDb25maWcpIHtcbiAgICBsZXQgdGV4dDogc3RyaW5nO1xuXG4gICAgaWYgKGNvbmZpZy5va0J0bikge1xuICAgICAgaWYgKHR5cGVvZiBjb25maWcub2tCdG4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRleHQgPSBjb25maWcub2tCdG47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZXh0ID0gY29uZmlnLm9rQnRuLnRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0ZXh0O1xuICB9XG5cbiAgZ2V0T2tCdG5Jc0Rlc3RydWN0aXZlKGNvbmZpZykge1xuICAgIHJldHVybiB0eXBlb2YgY29uZmlnLm9rQnRuID09PSAnb2JqZWN0JyA/IGNvbmZpZy5va0J0bi5pc0Rlc3RydWN0aXZlIDogdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -20,10 +20,10 @@ export class CanDismissHelper {
20
20
  const result = await alert.onWillDismiss;
21
21
  return result.data;
22
22
  }
23
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CanDismissHelper, deps: [{ token: i1.AlertHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CanDismissHelper }); }
23
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CanDismissHelper, deps: [{ token: i1.AlertHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CanDismissHelper }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CanDismissHelper, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CanDismissHelper, decorators: [{
27
27
  type: Injectable
28
28
  }], ctorParameters: () => [{ type: i1.AlertHelper }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRpc21pc3MuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL2Nhbi1kaXNtaXNzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRzdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXpDLHFCQUFxQixDQUFDLFFBQTJCO1FBQ3RELE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDaEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLEVBQUUsQ0FBQztZQUVoQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFNBQVM7Z0JBQUUsT0FBTyxNQUFNLENBQUM7WUFFL0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQW1CO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO2lJQWxCVSxnQkFBZ0I7cUlBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNob3dBbGVydENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vbW9kYWwtd3JhcHBlci9jb25maWcnO1xuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4vYWxlcnQuaGVscGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbkRpc21pc3NIZWxwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0SGVscGVyOiBBbGVydEhlbHBlcikge31cblxuICBwdWJsaWMgZ2V0Q2FuRGlzbWlzc0NhbGxiYWNrKGNhbGxiYWNrOiBTaG93QWxlcnRDYWxsYmFjaykge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjYWxsYmFjaygpO1xuXG4gICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Jvb2xlYW4nKSByZXR1cm4gcmVzdWx0O1xuXG4gICAgICBjb25zdCBjYW5DbG9zZU1vZGFsID0gYXdhaXQgdGhpcy5zaG93QWxlcnQocmVzdWx0KTtcbiAgICAgIHJldHVybiBjYW5DbG9zZU1vZGFsO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYWxlcnQub25XaWxsRGlzbWlzcztcbiAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRpc21pc3MuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL2Nhbi1kaXNtaXNzLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRzdDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBRXpDLHFCQUFxQixDQUFDLFFBQTJCO1FBQ3RELE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDaEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLEVBQUUsQ0FBQztZQUVoQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFNBQVM7Z0JBQUUsT0FBTyxNQUFNLENBQUM7WUFFL0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25ELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQW1CO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO2tJQWxCVSxnQkFBZ0I7c0lBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNob3dBbGVydENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vbW9kYWwtd3JhcHBlci9jb25maWcnO1xuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBBbGVydEhlbHBlciB9IGZyb20gJy4vYWxlcnQuaGVscGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbkRpc21pc3NIZWxwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0SGVscGVyOiBBbGVydEhlbHBlcikge31cblxuICBwdWJsaWMgZ2V0Q2FuRGlzbWlzc0NhbGxiYWNrKGNhbGxiYWNrOiBTaG93QWxlcnRDYWxsYmFjaykge1xuICAgIHJldHVybiBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjYWxsYmFjaygpO1xuXG4gICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ2Jvb2xlYW4nKSByZXR1cm4gcmVzdWx0O1xuXG4gICAgICBjb25zdCBjYW5DbG9zZU1vZGFsID0gYXdhaXQgdGhpcy5zaG93QWxlcnQocmVzdWx0KTtcbiAgICAgIHJldHVybiBjYW5DbG9zZU1vZGFsO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYWxlcnQub25XaWxsRGlzbWlzcztcbiAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gIH1cbn1cbiJdfQ==
@@ -258,11 +258,11 @@ export class ModalAnimationBuilderService {
258
258
  return baseAnimation;
259
259
  };
260
260
  }
261
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalAnimationBuilderService, deps: [{ token: i1.PlatformService }], target: i0.ɵɵFactoryTarget.Injectable }); }
262
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalAnimationBuilderService, providedIn: 'root' }); }
261
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalAnimationBuilderService, deps: [{ token: i1.PlatformService }], target: i0.ɵɵFactoryTarget.Injectable }); }
262
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalAnimationBuilderService, providedIn: 'root' }); }
263
263
  }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalAnimationBuilderService, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalAnimationBuilderService, decorators: [{
265
265
  type: Injectable,
266
266
  args: [{ providedIn: 'root' }]
267
267
  }], ctorParameters: () => [{ type: i1.PlatformService }] });
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFHbkUsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUU1QixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNoRCxnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMvQyxhQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUc7WUFDdEMsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDO1FBZ1FNLHlCQUFvQixHQUFHLEdBQUcsRUFBRTtZQUNsQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsRUFBRTtpQkFDeEMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUM7aUJBQ2xELFlBQVksQ0FBQztnQkFDWixnQkFBZ0IsRUFBRSxNQUFNO2FBQ3pCLENBQUM7aUJBQ0QsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFFeEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQy9DLFdBQVcsRUFD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QyxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7b0JBQ3JFLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixhQUFhLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzlDLElBQUksd0JBQXdCLEVBQUUsQ0FBQztvQkFDN0IsYUFBYSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNKLENBQUM7aUlBdFFVLDRCQUE0QjtxSUFBNUIsNEJBQTRCLGNBRGYsTUFBTTs7MkZBQ25CLDRCQUE0QjtrQkFEeEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmltYXRpb24sIEFuaW1hdGlvbkJ1aWxkZXIsIGNyZWF0ZUFuaW1hdGlvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcblxuaW1wb3J0IHsgS2lyYnlBbmltYXRpb24gfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2hlbHBlcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlYXNpbmdFbnRlciA9IEtpcmJ5QW5pbWF0aW9uLkVhc2luZy5tb2RhbC5lbnRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBlYXNpbmdMZWF2ZSA9IEtpcmJ5QW5pbWF0aW9uLkVhc2luZy5tb2RhbC5leGl0O1xuICBwcml2YXRlIHJlYWRvbmx5IGR1cmF0aW9uID0gS2lyYnlBbmltYXRpb24uRHVyYXRpb24uTE9ORztcbiAgcHJpdmF0ZSByZWFkb25seSBTd2lwZVRvQ2xvc2VEZWZhdWx0cyA9IHtcbiAgICBNSU5fUFJFU0VOVElOR19TQ0FMRTogMC45MyxcbiAgfTtcblxuICBwdWJsaWMgZW50ZXJBbmltYXRpb24oY3VycmVudEJhY2tkcm9wPzogSFRNTElvbkJhY2tkcm9wRWxlbWVudCk6IEFuaW1hdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiAoYmFzZUVsOiBIVE1MRWxlbWVudCwgb3B0czogeyBwcmVzZW50aW5nRWw/OiBIVE1MRWxlbWVudCB9KTogQW5pbWF0aW9uID0+IHtcbiAgICAgIGNvbnN0IHsgcHJlc2VudGluZ0VsIH0gPSBvcHRzO1xuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZ2V0RWxlbWVudFJvb3QoYmFzZUVsKTtcbiAgICAgIGNvbnN0IHsgd3JhcHBlckFuaW1hdGlvbiwgYmFja2Ryb3BBbmltYXRpb24gfSA9IHRoaXMuY3JlYXRlRW50ZXJBbmltYXRpb24oKTtcblxuICAgICAgYmFja2Ryb3BBbmltYXRpb24uYWRkRWxlbWVudChyb290LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1iYWNrZHJvcCcpISk7XG5cbiAgICAgIHdyYXBwZXJBbmltYXRpb25cbiAgICAgICAgLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcubW9kYWwtd3JhcHBlciwgLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgLmJlZm9yZVN0eWxlcyh7IG9wYWNpdHk6IDEgfSk7XG5cbiAgICAgIGNvbnN0IGJhc2VBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oJ2VudGVyaW5nLWJhc2UnKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwpXG4gICAgICAgIC5lYXNpbmcodGhpcy5lYXNpbmdFbnRlcilcbiAgICAgICAgLmR1cmF0aW9uKHRoaXMuZHVyYXRpb24pXG4gICAgICAgIC5hZGRBbmltYXRpb24od3JhcHBlckFuaW1hdGlvbik7XG5cbiAgICAgIGxldCBjdXJyZW50QmFja2Ryb3BBbmltYXRpb246IEFuaW1hdGlvbjtcbiAgICAgIGlmIChjdXJyZW50QmFja2Ryb3ApIHtcbiAgICAgICAgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAuYWRkRWxlbWVudChjdXJyZW50QmFja2Ryb3ApXG4gICAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScsIDAuMDEpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJlc2VudGluZ0VsKSB7XG4gICAgICAgIGNvbnN0IGlzTW9iaWxlID0gIXRoaXMucGxhdGZvcm0uaXNQaGFibGV0T3JCaWdnZXIoKTtcbiAgICAgICAgY29uc3QgaGFzQ2FyZE1vZGFsID1cbiAgICAgICAgICBwcmVzZW50aW5nRWwudGFnTmFtZSA9PT0gJ0lPTi1NT0RBTCcgJiZcbiAgICAgICAgICAocHJlc2VudGluZ0VsIGFzIEhUTUxJb25Nb2RhbEVsZW1lbnQpLnByZXNlbnRpbmdFbGVtZW50ICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdFbFJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KHByZXNlbnRpbmdFbCk7XG5cbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0FuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpLmJlZm9yZVN0eWxlcyh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsXG4gICAgICAgICAgJ3RyYW5zZm9ybS1vcmlnaW4nOiAndG9wIGNlbnRlcicsXG4gICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBib2R5RWwgPSBkb2N1bWVudC5ib2R5O1xuXG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvZXMgbm90IHN1cHBvcnQgYG1heCgpYCAoZXg6IEZpcmVmb3gpXG4gICAgICAgICAgICogTm8gbmVlZCB0byB3b3JyeSBhYm91dCBzdGF0dXNiYXIgcGFkZGluZyBzaW5jZSBlbmdpbmVzIGxpa2UgR2Vja29cbiAgICAgICAgICAgKiBhcmUgbm90IHVzZWQgYXMgdGhlIGVuZ2luZSBmb3Igc3RhbmRhbG9uZSBDb3Jkb3ZhL0NhcGFjaXRvciBhcHBzXG4gICAgICAgICAgICovXG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtT2Zmc2V0ID0gIUNTUy5zdXBwb3J0cygnd2lkdGgnLCAnbWF4KDBweCwgMXB4KScpXG4gICAgICAgICAgICA/ICczMHB4J1xuICAgICAgICAgICAgOiAnbWF4KDMwcHgsIHZhcigtLWlvbi1zYWZlLWFyZWEtdG9wKSknO1xuICAgICAgICAgIGNvbnN0IG1vZGFsVHJhbnNmb3JtID0gaGFzQ2FyZE1vZGFsID8gJy0xMHB4JyA6IHRyYW5zZm9ybU9mZnNldDtcbiAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEU7XG4gICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke21vZGFsVHJhbnNmb3JtfSkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmJlZm9yZUFkZFdyaXRlKCgpID0+IGJvZHlFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1jb2xvcicsICdibGFjaycpKVxuICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsKVxuICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMSknLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMHB4JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9mZnNldDogMSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcxMHB4IDEwcHggMCAwJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24ocHJlc2VudGluZ0FuaW1hdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuXG4gICAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWhhc0NhcmRNb2RhbCkge1xuICAgICAgICAgICAgd3JhcHBlckFuaW1hdGlvbi5mcm9tVG8oJ29wYWNpdHknLCAnMCcsICcxJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gaGFzQ2FyZE1vZGFsXG4gICAgICAgICAgICAgID8gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRVxuICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKC0xMHB4KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgICBwcmVzZW50aW5nQW5pbWF0aW9uXG4gICAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtd3JhcHBlcicpISlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIGZpbHRlcjogJ2NvbnRyYXN0KDEpJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBjb25zdCBzaGFkb3dBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbFJvb3QucXVlcnlTZWxlY3RvcignLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIG9wYWNpdHk6ICcxJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgb3BhY2l0eTogJzAnLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihbcHJlc2VudGluZ0FuaW1hdGlvbiwgc2hhZG93QW5pbWF0aW9uXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihiYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiYXNlQW5pbWF0aW9uO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbGVhdmVBbmltYXRpb24oY3VycmVudEJhY2tkcm9wPzogSFRNTElvbkJhY2tkcm9wRWxlbWVudCk6IEFuaW1hdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiAoXG4gICAgICBiYXNlRWw6IEhUTUxFbGVtZW50LFxuICAgICAgb3B0czogeyBwcmVzZW50aW5nRWw/OiBIVE1MRWxlbWVudCB9LFxuICAgICAgZHVyYXRpb24gPSB0aGlzLmR1cmF0aW9uXG4gICAgKTogQW5pbWF0aW9uID0+IHtcbiAgICAgIGNvbnN0IHsgcHJlc2VudGluZ0VsIH0gPSBvcHRzO1xuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZ2V0RWxlbWVudFJvb3QoYmFzZUVsKTtcbiAgICAgIGNvbnN0IHsgd3JhcHBlckFuaW1hdGlvbiwgYmFja2Ryb3BBbmltYXRpb24gfSA9IHRoaXMuY3JlYXRlTGVhdmVBbmltYXRpb24oKTtcblxuICAgICAgYmFja2Ryb3BBbmltYXRpb24uYWRkRWxlbWVudChyb290LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1iYWNrZHJvcCcpISk7XG5cbiAgICAgIHdyYXBwZXJBbmltYXRpb25cbiAgICAgICAgLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcubW9kYWwtd3JhcHBlciwgLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgLmJlZm9yZVN0eWxlcyh7IG9wYWNpdHk6IDEgfSk7XG5cbiAgICAgIGNvbnN0IGJhc2VBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oJ2xlYXZpbmctYmFzZScpXG4gICAgICAgIC5hZGRFbGVtZW50KGJhc2VFbClcbiAgICAgICAgLmVhc2luZyh0aGlzLmVhc2luZ0xlYXZlKVxuICAgICAgICAuZHVyYXRpb24oZHVyYXRpb24pXG4gICAgICAgIC5hZGRBbmltYXRpb24od3JhcHBlckFuaW1hdGlvbik7XG5cbiAgICAgIGxldCBjdXJyZW50QmFja2Ryb3BBbmltYXRpb246IEFuaW1hdGlvbjtcbiAgICAgIGlmIChjdXJyZW50QmFja2Ryb3ApIHtcbiAgICAgICAgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAuYWRkRWxlbWVudChjdXJyZW50QmFja2Ryb3ApXG4gICAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsIDAuMDEsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScpXG4gICAgICAgICAgLmFmdGVyU3R5bGVzKHsgb3BhY2l0eTogJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJyB9KTsgLy9FbnN1cmVzIGJhY2tkcm9wIGlzIHJlc2V0IHRvIGRlZmF1bHQgb3BhY2l0eSBhZnRlciBzd2lwZSB0byBjbG9zZVxuICAgICAgfVxuXG4gICAgICBpZiAocHJlc2VudGluZ0VsKSB7XG4gICAgICAgIGNvbnN0IGlzTW9iaWxlID0gIXRoaXMucGxhdGZvcm0uaXNQaGFibGV0T3JCaWdnZXIoKTtcbiAgICAgICAgY29uc3QgaGFzQ2FyZE1vZGFsID1cbiAgICAgICAgICBwcmVzZW50aW5nRWwudGFnTmFtZSA9PT0gJ0lPTi1NT0RBTCcgJiZcbiAgICAgICAgICAocHJlc2VudGluZ0VsIGFzIEhUTUxJb25Nb2RhbEVsZW1lbnQpLnByZXNlbnRpbmdFbGVtZW50ICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdFbFJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KHByZXNlbnRpbmdFbCk7XG5cbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0FuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgLmJlZm9yZUNsZWFyU3R5bGVzKFsndHJhbnNmb3JtJ10pXG4gICAgICAgICAgLmFmdGVyQ2xlYXJTdHlsZXMoWyd0cmFuc2Zvcm0nXSlcbiAgICAgICAgICAub25GaW5pc2goKGN1cnJlbnRTdGVwKSA9PiB7XG4gICAgICAgICAgICAvLyBvbmx5IHJlc2V0IGJhY2tncm91bmQgY29sb3IgaWYgdGhpcyBpcyB0aGUgbGFzdCBjYXJkLXN0eWxlIG1vZGFsXG4gICAgICAgICAgICBpZiAoY3VycmVudFN0ZXAgIT09IDEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcmVzZW50aW5nRWwuc3R5bGUuc2V0UHJvcGVydHkoJ292ZXJmbG93JywgJycpO1xuXG4gICAgICAgICAgICBjb25zdCBudW1Nb2RhbHMgPSBBcnJheS5mcm9tKGJvZHlFbC5xdWVyeVNlbGVjdG9yQWxsKCdpb24tbW9kYWwnKSkuZmlsdGVyKFxuICAgICAgICAgICAgICAobSkgPT4gbS5wcmVzZW50aW5nRWxlbWVudCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICApLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChudW1Nb2RhbHMgPD0gMSkge1xuICAgICAgICAgICAgICBib2R5RWwuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtY29sb3InLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYm9keUVsID0gZG9jdW1lbnQuYm9keTtcblxuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1PZmZzZXQgPSAhQ1NTLnN1cHBvcnRzKCd3aWR0aCcsICdtYXgoMHB4LCAxcHgpJylcbiAgICAgICAgICAgID8gJzMwcHgnXG4gICAgICAgICAgICA6ICdtYXgoMzBweCwgdmFyKC0taW9uLXNhZmUtYXJlYS10b3ApKSc7XG4gICAgICAgICAgY29uc3QgbW9kYWxUcmFuc2Zvcm0gPSBoYXNDYXJkTW9kYWwgPyAnLTEwcHgnIDogdHJhbnNmb3JtT2Zmc2V0O1xuICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRTtcbiAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7bW9kYWxUcmFuc2Zvcm19KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvbi5hZGRFbGVtZW50KHByZXNlbnRpbmdFbCkua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzEwcHggMTBweCAwIDAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxuICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgxKScsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKScsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzBweCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24ocHJlc2VudGluZ0FuaW1hdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFoYXNDYXJkTW9kYWwpIHtcbiAgICAgICAgICAgIHdyYXBwZXJBbmltYXRpb24uZnJvbVRvKCdvcGFjaXR5JywgJzEnLCAnMCcpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IGhhc0NhcmRNb2RhbFxuICAgICAgICAgICAgICA/IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEVcbiAgICAgICAgICAgICAgOiAxO1xuICAgICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgtMTBweCkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvblxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWxSb290LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC13cmFwcGVyJykhKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIDAsIDApJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBmaWx0ZXI6ICdjb250cmFzdCgxKScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBjb25zdCBzaGFkb3dBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWxSb290LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgb3BhY2l0eTogJzEnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oW3ByZXNlbnRpbmdBbmltYXRpb24sIHNoYWRvd0FuaW1hdGlvbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYmFzZUFuaW1hdGlvbjtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFbnRlckFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICBjb25zdCBiYWNrZHJvcEFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAuZnJvbVRvKCdvcGFjaXR5JywgMC4wMSwgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJylcbiAgICAgIC5iZWZvcmVTdHlsZXMoe1xuICAgICAgICAncG9pbnRlci1ldmVudHMnOiAnbm9uZScsXG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xlYXJTdHlsZXMoWydwb2ludGVyLWV2ZW50cyddKTtcblxuICAgIGNvbnN0IHdyYXBwZXJBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKS5mcm9tVG8oXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgICd0cmFuc2xhdGVZKDEwMHZoKScsXG4gICAgICAndHJhbnNsYXRlWSgwdmgpJ1xuICAgICk7XG5cbiAgICByZXR1cm4geyBiYWNrZHJvcEFuaW1hdGlvbiwgd3JhcHBlckFuaW1hdGlvbiB9O1xuICB9O1xuXG4gIHByaXZhdGUgY3JlYXRlTGVhdmVBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgY29uc3QgYmFja2Ryb3BBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKS5mcm9tVG8oJ29wYWNpdHknLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknLCAwKTtcblxuICAgIGNvbnN0IHdyYXBwZXJBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKS5mcm9tVG8oXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgICd0cmFuc2xhdGVZKDB2aCknLFxuICAgICAgJ3RyYW5zbGF0ZVkoMTAwdmgpJ1xuICAgICk7XG5cbiAgICByZXR1cm4geyBiYWNrZHJvcEFuaW1hdGlvbiwgd3JhcHBlckFuaW1hdGlvbiB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByb290IGNvbnRleHQgb2YgYSBzaGFkb3cgZG9tIGVsZW1lbnRcbiAgICogT24gbmV3ZXIgYnJvd3NlcnMgdGhpcyB3aWxsIGJlIHRoZSBzaGFkb3dSb290LFxuICAgKiBidXQgZm9yIG9sZGVyIGJyb3dzZXIgdGhpcyBtYXkganVzdCBiZSB0aGVcbiAgICogZWxlbWVudCBpdHNlbGYuXG4gICAqXG4gICAqIFVzZWZ1bCBmb3Igd2hlbmV2ZXIgeW91IG5lZWQgdG8gZXhwbGljaXRseVxuICAgKiBkbyBcIm15RWxlbWVudC5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKC4uLilcIi5cbiAgICovXG4gIHByaXZhdGUgZ2V0RWxlbWVudFJvb3QgPSAoZWw6IEhUTUxFbGVtZW50LCBmYWxsYmFjazogSFRNTEVsZW1lbnQgPSBlbCkgPT4ge1xuICAgIHJldHVybiBlbC5zaGFkb3dSb290IHx8IGZhbGxiYWNrO1xuICB9O1xufVxuIl19
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUErQixlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFHbkUsTUFBTSxPQUFPLDRCQUE0QjtJQUN2QyxZQUFvQixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUU1QixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNoRCxnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMvQyxhQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDeEMseUJBQW9CLEdBQUc7WUFDdEMsb0JBQW9CLEVBQUUsSUFBSTtTQUMzQixDQUFDO1FBZ1FNLHlCQUFvQixHQUFHLEdBQUcsRUFBRTtZQUNsQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsRUFBRTtpQkFDeEMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLENBQUM7aUJBQ2xELFlBQVksQ0FBQztnQkFDWixnQkFBZ0IsRUFBRSxNQUFNO2FBQ3pCLENBQUM7aUJBQ0QsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFFeEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQy9DLFdBQVcsRUFD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QyxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7b0JBQ3JFLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixhQUFhLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQzlDLElBQUksd0JBQXdCLEVBQUUsQ0FBQztvQkFDN0IsYUFBYSxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQztJQUNKLENBQUM7a0lBdFFVLDRCQUE0QjtzSUFBNUIsNEJBQTRCLGNBRGYsTUFBTTs7NEZBQ25CLDRCQUE0QjtrQkFEeEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmltYXRpb24sIEFuaW1hdGlvbkJ1aWxkZXIsIGNyZWF0ZUFuaW1hdGlvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcblxuaW1wb3J0IHsgS2lyYnlBbmltYXRpb24gfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2hlbHBlcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybVNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlYXNpbmdFbnRlciA9IEtpcmJ5QW5pbWF0aW9uLkVhc2luZy5tb2RhbC5lbnRlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBlYXNpbmdMZWF2ZSA9IEtpcmJ5QW5pbWF0aW9uLkVhc2luZy5tb2RhbC5leGl0O1xuICBwcml2YXRlIHJlYWRvbmx5IGR1cmF0aW9uID0gS2lyYnlBbmltYXRpb24uRHVyYXRpb24uTE9ORztcbiAgcHJpdmF0ZSByZWFkb25seSBTd2lwZVRvQ2xvc2VEZWZhdWx0cyA9IHtcbiAgICBNSU5fUFJFU0VOVElOR19TQ0FMRTogMC45MyxcbiAgfTtcblxuICBwdWJsaWMgZW50ZXJBbmltYXRpb24oY3VycmVudEJhY2tkcm9wPzogSFRNTElvbkJhY2tkcm9wRWxlbWVudCk6IEFuaW1hdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiAoYmFzZUVsOiBIVE1MRWxlbWVudCwgb3B0czogeyBwcmVzZW50aW5nRWw/OiBIVE1MRWxlbWVudCB9KTogQW5pbWF0aW9uID0+IHtcbiAgICAgIGNvbnN0IHsgcHJlc2VudGluZ0VsIH0gPSBvcHRzO1xuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZ2V0RWxlbWVudFJvb3QoYmFzZUVsKTtcbiAgICAgIGNvbnN0IHsgd3JhcHBlckFuaW1hdGlvbiwgYmFja2Ryb3BBbmltYXRpb24gfSA9IHRoaXMuY3JlYXRlRW50ZXJBbmltYXRpb24oKTtcblxuICAgICAgYmFja2Ryb3BBbmltYXRpb24uYWRkRWxlbWVudChyb290LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1iYWNrZHJvcCcpISk7XG5cbiAgICAgIHdyYXBwZXJBbmltYXRpb25cbiAgICAgICAgLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcubW9kYWwtd3JhcHBlciwgLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgLmJlZm9yZVN0eWxlcyh7IG9wYWNpdHk6IDEgfSk7XG5cbiAgICAgIGNvbnN0IGJhc2VBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oJ2VudGVyaW5nLWJhc2UnKVxuICAgICAgICAuYWRkRWxlbWVudChiYXNlRWwpXG4gICAgICAgIC5lYXNpbmcodGhpcy5lYXNpbmdFbnRlcilcbiAgICAgICAgLmR1cmF0aW9uKHRoaXMuZHVyYXRpb24pXG4gICAgICAgIC5hZGRBbmltYXRpb24od3JhcHBlckFuaW1hdGlvbik7XG5cbiAgICAgIGxldCBjdXJyZW50QmFja2Ryb3BBbmltYXRpb246IEFuaW1hdGlvbjtcbiAgICAgIGlmIChjdXJyZW50QmFja2Ryb3ApIHtcbiAgICAgICAgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAuYWRkRWxlbWVudChjdXJyZW50QmFja2Ryb3ApXG4gICAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScsIDAuMDEpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJlc2VudGluZ0VsKSB7XG4gICAgICAgIGNvbnN0IGlzTW9iaWxlID0gIXRoaXMucGxhdGZvcm0uaXNQaGFibGV0T3JCaWdnZXIoKTtcbiAgICAgICAgY29uc3QgaGFzQ2FyZE1vZGFsID1cbiAgICAgICAgICBwcmVzZW50aW5nRWwudGFnTmFtZSA9PT0gJ0lPTi1NT0RBTCcgJiZcbiAgICAgICAgICAocHJlc2VudGluZ0VsIGFzIEhUTUxJb25Nb2RhbEVsZW1lbnQpLnByZXNlbnRpbmdFbGVtZW50ICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdFbFJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KHByZXNlbnRpbmdFbCk7XG5cbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0FuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpLmJlZm9yZVN0eWxlcyh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsXG4gICAgICAgICAgJ3RyYW5zZm9ybS1vcmlnaW4nOiAndG9wIGNlbnRlcicsXG4gICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBib2R5RWwgPSBkb2N1bWVudC5ib2R5O1xuXG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvZXMgbm90IHN1cHBvcnQgYG1heCgpYCAoZXg6IEZpcmVmb3gpXG4gICAgICAgICAgICogTm8gbmVlZCB0byB3b3JyeSBhYm91dCBzdGF0dXNiYXIgcGFkZGluZyBzaW5jZSBlbmdpbmVzIGxpa2UgR2Vja29cbiAgICAgICAgICAgKiBhcmUgbm90IHVzZWQgYXMgdGhlIGVuZ2luZSBmb3Igc3RhbmRhbG9uZSBDb3Jkb3ZhL0NhcGFjaXRvciBhcHBzXG4gICAgICAgICAgICovXG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtT2Zmc2V0ID0gIUNTUy5zdXBwb3J0cygnd2lkdGgnLCAnbWF4KDBweCwgMXB4KScpXG4gICAgICAgICAgICA/ICczMHB4J1xuICAgICAgICAgICAgOiAnbWF4KDMwcHgsIHZhcigtLWlvbi1zYWZlLWFyZWEtdG9wKSknO1xuICAgICAgICAgIGNvbnN0IG1vZGFsVHJhbnNmb3JtID0gaGFzQ2FyZE1vZGFsID8gJy0xMHB4JyA6IHRyYW5zZm9ybU9mZnNldDtcbiAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEU7XG4gICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke21vZGFsVHJhbnNmb3JtfSkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgIHByZXNlbnRpbmdBbmltYXRpb25cbiAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmJlZm9yZUFkZFdyaXRlKCgpID0+IGJvZHlFbC5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1jb2xvcicsICdibGFjaycpKVxuICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsKVxuICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAnY29udHJhc3QoMSknLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMHB4JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9mZnNldDogMSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICcxMHB4IDEwcHggMCAwJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24ocHJlc2VudGluZ0FuaW1hdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuXG4gICAgICAgICAgaWYgKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbikge1xuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWhhc0NhcmRNb2RhbCkge1xuICAgICAgICAgICAgd3JhcHBlckFuaW1hdGlvbi5mcm9tVG8oJ29wYWNpdHknLCAnMCcsICcxJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gaGFzQ2FyZE1vZGFsXG4gICAgICAgICAgICAgID8gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRVxuICAgICAgICAgICAgICA6IDE7XG4gICAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKC0xMHB4KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgICBwcmVzZW50aW5nQW5pbWF0aW9uXG4gICAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmFkZEVsZW1lbnQocHJlc2VudGluZ0VsUm9vdC5xdWVyeVNlbGVjdG9yKCcubW9kYWwtd3JhcHBlcicpISlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIGZpbHRlcjogJ2NvbnRyYXN0KDEpJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgZmlsdGVyOiAnY29udHJhc3QoMC44NSknLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBjb25zdCBzaGFkb3dBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5hZGRFbGVtZW50KHByZXNlbnRpbmdFbFJvb3QucXVlcnlTZWxlY3RvcignLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIG9wYWNpdHk6ICcxJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScgfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgb3BhY2l0eTogJzAnLCB0cmFuc2Zvcm06IGZpbmFsVHJhbnNmb3JtIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihbcHJlc2VudGluZ0FuaW1hdGlvbiwgc2hhZG93QW5pbWF0aW9uXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihiYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICBiYXNlQW5pbWF0aW9uLmFkZEFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiYXNlQW5pbWF0aW9uO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgbGVhdmVBbmltYXRpb24oY3VycmVudEJhY2tkcm9wPzogSFRNTElvbkJhY2tkcm9wRWxlbWVudCk6IEFuaW1hdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiAoXG4gICAgICBiYXNlRWw6IEhUTUxFbGVtZW50LFxuICAgICAgb3B0czogeyBwcmVzZW50aW5nRWw/OiBIVE1MRWxlbWVudCB9LFxuICAgICAgZHVyYXRpb24gPSB0aGlzLmR1cmF0aW9uXG4gICAgKTogQW5pbWF0aW9uID0+IHtcbiAgICAgIGNvbnN0IHsgcHJlc2VudGluZ0VsIH0gPSBvcHRzO1xuICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZ2V0RWxlbWVudFJvb3QoYmFzZUVsKTtcbiAgICAgIGNvbnN0IHsgd3JhcHBlckFuaW1hdGlvbiwgYmFja2Ryb3BBbmltYXRpb24gfSA9IHRoaXMuY3JlYXRlTGVhdmVBbmltYXRpb24oKTtcblxuICAgICAgYmFja2Ryb3BBbmltYXRpb24uYWRkRWxlbWVudChyb290LnF1ZXJ5U2VsZWN0b3IoJ2lvbi1iYWNrZHJvcCcpISk7XG5cbiAgICAgIHdyYXBwZXJBbmltYXRpb25cbiAgICAgICAgLmFkZEVsZW1lbnQocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcubW9kYWwtd3JhcHBlciwgLm1vZGFsLXNoYWRvdycpISlcbiAgICAgICAgLmJlZm9yZVN0eWxlcyh7IG9wYWNpdHk6IDEgfSk7XG5cbiAgICAgIGNvbnN0IGJhc2VBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oJ2xlYXZpbmctYmFzZScpXG4gICAgICAgIC5hZGRFbGVtZW50KGJhc2VFbClcbiAgICAgICAgLmVhc2luZyh0aGlzLmVhc2luZ0xlYXZlKVxuICAgICAgICAuZHVyYXRpb24oZHVyYXRpb24pXG4gICAgICAgIC5hZGRBbmltYXRpb24od3JhcHBlckFuaW1hdGlvbik7XG5cbiAgICAgIGxldCBjdXJyZW50QmFja2Ryb3BBbmltYXRpb246IEFuaW1hdGlvbjtcbiAgICAgIGlmIChjdXJyZW50QmFja2Ryb3ApIHtcbiAgICAgICAgY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uID0gY3JlYXRlQW5pbWF0aW9uKClcbiAgICAgICAgICAuYWRkRWxlbWVudChjdXJyZW50QmFja2Ryb3ApXG4gICAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsIDAuMDEsICd2YXIoLS1iYWNrZHJvcC1vcGFjaXR5KScpXG4gICAgICAgICAgLmFmdGVyU3R5bGVzKHsgb3BhY2l0eTogJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJyB9KTsgLy9FbnN1cmVzIGJhY2tkcm9wIGlzIHJlc2V0IHRvIGRlZmF1bHQgb3BhY2l0eSBhZnRlciBzd2lwZSB0byBjbG9zZVxuICAgICAgfVxuXG4gICAgICBpZiAocHJlc2VudGluZ0VsKSB7XG4gICAgICAgIGNvbnN0IGlzTW9iaWxlID0gIXRoaXMucGxhdGZvcm0uaXNQaGFibGV0T3JCaWdnZXIoKTtcbiAgICAgICAgY29uc3QgaGFzQ2FyZE1vZGFsID1cbiAgICAgICAgICBwcmVzZW50aW5nRWwudGFnTmFtZSA9PT0gJ0lPTi1NT0RBTCcgJiZcbiAgICAgICAgICAocHJlc2VudGluZ0VsIGFzIEhUTUxJb25Nb2RhbEVsZW1lbnQpLnByZXNlbnRpbmdFbGVtZW50ICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHByZXNlbnRpbmdFbFJvb3QgPSB0aGlzLmdldEVsZW1lbnRSb290KHByZXNlbnRpbmdFbCk7XG5cbiAgICAgICAgY29uc3QgcHJlc2VudGluZ0FuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAgICAgLmJlZm9yZUNsZWFyU3R5bGVzKFsndHJhbnNmb3JtJ10pXG4gICAgICAgICAgLmFmdGVyQ2xlYXJTdHlsZXMoWyd0cmFuc2Zvcm0nXSlcbiAgICAgICAgICAub25GaW5pc2goKGN1cnJlbnRTdGVwKSA9PiB7XG4gICAgICAgICAgICAvLyBvbmx5IHJlc2V0IGJhY2tncm91bmQgY29sb3IgaWYgdGhpcyBpcyB0aGUgbGFzdCBjYXJkLXN0eWxlIG1vZGFsXG4gICAgICAgICAgICBpZiAoY3VycmVudFN0ZXAgIT09IDEpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcmVzZW50aW5nRWwuc3R5bGUuc2V0UHJvcGVydHkoJ292ZXJmbG93JywgJycpO1xuXG4gICAgICAgICAgICBjb25zdCBudW1Nb2RhbHMgPSBBcnJheS5mcm9tKGJvZHlFbC5xdWVyeVNlbGVjdG9yQWxsKCdpb24tbW9kYWwnKSkuZmlsdGVyKFxuICAgICAgICAgICAgICAobSkgPT4gbS5wcmVzZW50aW5nRWxlbWVudCAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICApLmxlbmd0aDtcbiAgICAgICAgICAgIGlmIChudW1Nb2RhbHMgPD0gMSkge1xuICAgICAgICAgICAgICBib2R5RWwuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtY29sb3InLCAnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYm9keUVsID0gZG9jdW1lbnQuYm9keTtcblxuICAgICAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1PZmZzZXQgPSAhQ1NTLnN1cHBvcnRzKCd3aWR0aCcsICdtYXgoMHB4LCAxcHgpJylcbiAgICAgICAgICAgID8gJzMwcHgnXG4gICAgICAgICAgICA6ICdtYXgoMzBweCwgdmFyKC0taW9uLXNhZmUtYXJlYS10b3ApKSc7XG4gICAgICAgICAgY29uc3QgbW9kYWxUcmFuc2Zvcm0gPSBoYXNDYXJkTW9kYWwgPyAnLTEwcHgnIDogdHJhbnNmb3JtT2Zmc2V0O1xuICAgICAgICAgIGNvbnN0IHRvUHJlc2VudGluZ1NjYWxlID0gdGhpcy5Td2lwZVRvQ2xvc2VEZWZhdWx0cy5NSU5fUFJFU0VOVElOR19TQ0FMRTtcbiAgICAgICAgICBjb25zdCBmaW5hbFRyYW5zZm9ybSA9IGB0cmFuc2xhdGVZKCR7bW9kYWxUcmFuc2Zvcm19KSBzY2FsZSgke3RvUHJlc2VudGluZ1NjYWxlfSlgO1xuXG4gICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvbi5hZGRFbGVtZW50KHByZXNlbnRpbmdFbCkua2V5ZnJhbWVzKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgwLjg1KScsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzEwcHggMTBweCAwIDAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxuICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgxKScsXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKScsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzBweCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24ocHJlc2VudGluZ0FuaW1hdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICAgIGlmIChjdXJyZW50QmFja2Ryb3BBbmltYXRpb24pIHtcbiAgICAgICAgICAgIGJhc2VBbmltYXRpb24uYWRkQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcEFuaW1hdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFoYXNDYXJkTW9kYWwpIHtcbiAgICAgICAgICAgIHdyYXBwZXJBbmltYXRpb24uZnJvbVRvKCdvcGFjaXR5JywgJzEnLCAnMCcpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0b1ByZXNlbnRpbmdTY2FsZSA9IGhhc0NhcmRNb2RhbFxuICAgICAgICAgICAgICA/IHRoaXMuU3dpcGVUb0Nsb3NlRGVmYXVsdHMuTUlOX1BSRVNFTlRJTkdfU0NBTEVcbiAgICAgICAgICAgICAgOiAxO1xuICAgICAgICAgICAgY29uc3QgZmluYWxUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgtMTBweCkgc2NhbGUoJHt0b1ByZXNlbnRpbmdTY2FsZX0pYDtcblxuICAgICAgICAgICAgcHJlc2VudGluZ0FuaW1hdGlvblxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWxSb290LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC13cmFwcGVyJykhKVxuICAgICAgICAgICAgICAuYWZ0ZXJTdHlsZXMoe1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAsIDAsIDApJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmtleWZyYW1lcyhbXG4gICAgICAgICAgICAgICAgeyBvZmZzZXQ6IDAsIGZpbHRlcjogJ2NvbnRyYXN0KDAuODUpJywgdHJhbnNmb3JtOiBmaW5hbFRyYW5zZm9ybSB9LFxuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAxLCBmaWx0ZXI6ICdjb250cmFzdCgxKScsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCkgc2NhbGUoMSknIH0sXG4gICAgICAgICAgICAgIF0pO1xuXG4gICAgICAgICAgICBjb25zdCBzaGFkb3dBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKVxuICAgICAgICAgICAgICAuYWRkRWxlbWVudChwcmVzZW50aW5nRWxSb290LnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1zaGFkb3cnKSEpXG4gICAgICAgICAgICAgIC5hZnRlclN0eWxlcyh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKSBzY2FsZSgxKScsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5rZXlmcmFtZXMoW1xuICAgICAgICAgICAgICAgIHsgb2Zmc2V0OiAwLCBvcGFjaXR5OiAnMCcsIHRyYW5zZm9ybTogZmluYWxUcmFuc2Zvcm0gfSxcbiAgICAgICAgICAgICAgICB7IG9mZnNldDogMSwgb3BhY2l0eTogJzEnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApIHNjYWxlKDEpJyB9LFxuICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oW3ByZXNlbnRpbmdBbmltYXRpb24sIHNoYWRvd0FuaW1hdGlvbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oYmFja2Ryb3BBbmltYXRpb24pO1xuICAgICAgICBpZiAoY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKSB7XG4gICAgICAgICAgYmFzZUFuaW1hdGlvbi5hZGRBbmltYXRpb24oY3VycmVudEJhY2tkcm9wQW5pbWF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYmFzZUFuaW1hdGlvbjtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFbnRlckFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICBjb25zdCBiYWNrZHJvcEFuaW1hdGlvbiA9IGNyZWF0ZUFuaW1hdGlvbigpXG4gICAgICAuZnJvbVRvKCdvcGFjaXR5JywgMC4wMSwgJ3ZhcigtLWJhY2tkcm9wLW9wYWNpdHkpJylcbiAgICAgIC5iZWZvcmVTdHlsZXMoe1xuICAgICAgICAncG9pbnRlci1ldmVudHMnOiAnbm9uZScsXG4gICAgICB9KVxuICAgICAgLmFmdGVyQ2xlYXJTdHlsZXMoWydwb2ludGVyLWV2ZW50cyddKTtcblxuICAgIGNvbnN0IHdyYXBwZXJBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKS5mcm9tVG8oXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgICd0cmFuc2xhdGVZKDEwMHZoKScsXG4gICAgICAndHJhbnNsYXRlWSgwdmgpJ1xuICAgICk7XG5cbiAgICByZXR1cm4geyBiYWNrZHJvcEFuaW1hdGlvbiwgd3JhcHBlckFuaW1hdGlvbiB9O1xuICB9O1xuXG4gIHByaXZhdGUgY3JlYXRlTGVhdmVBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgY29uc3QgYmFja2Ryb3BBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKS5mcm9tVG8oJ29wYWNpdHknLCAndmFyKC0tYmFja2Ryb3Atb3BhY2l0eSknLCAwKTtcblxuICAgIGNvbnN0IHdyYXBwZXJBbmltYXRpb24gPSBjcmVhdGVBbmltYXRpb24oKS5mcm9tVG8oXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgICd0cmFuc2xhdGVZKDB2aCknLFxuICAgICAgJ3RyYW5zbGF0ZVkoMTAwdmgpJ1xuICAgICk7XG5cbiAgICByZXR1cm4geyBiYWNrZHJvcEFuaW1hdGlvbiwgd3JhcHBlckFuaW1hdGlvbiB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByb290IGNvbnRleHQgb2YgYSBzaGFkb3cgZG9tIGVsZW1lbnRcbiAgICogT24gbmV3ZXIgYnJvd3NlcnMgdGhpcyB3aWxsIGJlIHRoZSBzaGFkb3dSb290LFxuICAgKiBidXQgZm9yIG9sZGVyIGJyb3dzZXIgdGhpcyBtYXkganVzdCBiZSB0aGVcbiAgICogZWxlbWVudCBpdHNlbGYuXG4gICAqXG4gICAqIFVzZWZ1bCBmb3Igd2hlbmV2ZXIgeW91IG5lZWQgdG8gZXhwbGljaXRseVxuICAgKiBkbyBcIm15RWxlbWVudC5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKC4uLilcIi5cbiAgICovXG4gIHByaXZhdGUgZ2V0RWxlbWVudFJvb3QgPSAoZWw6IEhUTUxFbGVtZW50LCBmYWxsYmFjazogSFRNTEVsZW1lbnQgPSBlbCkgPT4ge1xuICAgIHJldHVybiBlbC5zaGFkb3dSb290IHx8IGZhbGxiYWNrO1xuICB9O1xufVxuIl19
@@ -107,10 +107,10 @@ export class ModalController {
107
107
  this.destroy$.next();
108
108
  this.destroy$.complete();
109
109
  }
110
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalController, deps: [{ token: i1.ModalHelper }, { token: i2.ActionSheetHelper }, { token: i3.AlertHelper }, { token: i4.ModalNavigationService }, { token: ROUTES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
111
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalController }); }
110
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalController, deps: [{ token: i1.ModalHelper }, { token: i2.ActionSheetHelper }, { token: i3.AlertHelper }, { token: i4.ModalNavigationService }, { token: ROUTES, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
111
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalController }); }
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalController, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalController, decorators: [{
114
114
  type: Injectable
115
115
  }], ctorParameters: () => [{ type: i1.ModalHelper }, { type: i2.ActionSheetHelper }, { type: i3.AlertHelper }, { type: i4.ModalNavigationService }, { type: undefined, decorators: [{
116
116
  type: Optional
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
118
118
  type: Inject,
119
119
  args: [ROUTES]
120
120
  }] }] });
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFwQyxDQUFDO0lBRUosS0FBSyxDQUFDLFVBQVUs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MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVzLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTW9kYWxSb3V0ZUFjdGl2YXRpb24sIE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvblNoZWV0Q29uZmlnIH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2NvbmZpZy9hY3Rpb24tc2hlZXQtY29uZmlnJztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbmltcG9ydCB7IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb25maWcgfSBmcm9tICcuLi8uLi9tb2RhbC13cmFwcGVyJztcbmltcG9ydCB7IEFjdGlvblNoZWV0SGVscGVyIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuaGVscGVyJztcbmltcG9ydCB7IEFsZXJ0SGVscGVyIH0gZnJvbSAnLi9hbGVydC5oZWxwZXInO1xuaW1wb3J0IHsgTW9kYWxIZWxwZXIgfSBmcm9tICcuL21vZGFsLmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG92ZXJsYXlzOiBPdmVybGF5W10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlID0gJ05vIG1vZGFsIG92ZXJsYXlzIGFyZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxIZWxwZXI6IE1vZGFsSGVscGVyLFxuICAgIHByaXZhdGUgYWN0aW9uU2hlZXRIZWxwZXI6IEFjdGlvblNoZWV0SGVscGVyLFxuICAgIHByaXZhdGUgYWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyLFxuICAgIHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJPVVRFUykgcHJpdmF0ZSByb3V0ZUNvbmZpZzogUm91dGVzW11cbiAgKSB7fVxuXG4gIGFzeW5jIGluaXRpYWxpemUobW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZykge1xuICAgIGNvbnN0IG1vZGFsTmF2aWdhdGlvbiA9IGF3YWl0IHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5nZXRNb2RhbE5hdmlnYXRpb24oXG4gICAgICB0aGlzLnJvdXRlQ29uZmlnLFxuICAgICAgbW9kdWxlUm9vdFJvdXRlUGF0aFxuICAgICk7XG4gICAgdGhpcy5vbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmFjdGl2YXRlZCQpO1xuICAgIHRoaXMub25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmRlYWN0aXZhdGVkJCk7XG4gIH1cblxuICBwcml2YXRlIG9uTW9kYWxSb3V0ZUFjdGl2YXRlZChtb2RhbFJvdXRlQWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxNb2RhbFJvdXRlQWN0aXZhdGlvbj4pIHtcbiAgICBjb25zdCBuYXZpZ2F0ZU9uV2lsbENsb3NlID0gKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlT3V0T2ZNb2RhbE91dGxldCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQgPSBtb2RhbFJvdXRlQWN0aXZhdGVkJC5waXBlKFxuICAgICAgZmlsdGVyKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gIW1vZGFsUm91dGVBY3RpdmF0aW9uLmlzTmV3TW9kYWwpLFxuICAgICAgbWFwKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gbW9kYWxSb3V0ZUFjdGl2YXRpb24ucm91dGUpXG4gICAgKTtcblxuICAgIG1vZGFsUm91dGVBY3RpdmF0ZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5cy5sZW5ndGggPT09IDApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4ge1xuICAgICAgICBpZiAobW9kYWxSb3V0ZUFjdGl2YXRpb24uaXNOZXdNb2RhbCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd01vZGFsUm91dGUoXG4gICAgICAgICAgICBtb2RhbFJvdXRlQWN0aXZhdGlvbi5yb3V0ZSxcbiAgICAgICAgICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICAgICAgICAgIG5hdmlnYXRlT25XaWxsQ2xvc2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxSb3V0ZURlYWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPikge1xuICAgIG1vZGFsUm91dGVEZWFjdGl2YXRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm92ZXJsYXlzLnNvbWUoKG92ZXJsYXkpID0+IG92ZXJsYXkuaXNEaXNtaXNzaW5nICE9PSB0cnVlKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmhpZGVBbGwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dNb2RhbChjb25maWc6IE1vZGFsQ29uZmlnLCBvbkNsb3NlPzogKGRhdGE/OiBhbnkpID0+IHZvaWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoKCkgPT4gdGhpcy5tb2RhbEhlbHBlci5zaG93TW9kYWxXaW5kb3coY29uZmlnKSwgb25DbG9zZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVUb01vZGFsKHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVUb01vZGFsKHBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBuYXZpZ2F0ZVdpdGhpbk1vZGFsKHJlbGF0aXZlUGF0aDogc3RyaW5nLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hvd01vZGFsUm91dGUoXG4gICAgbW9kYWxSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlPixcbiAgICBvbldpbGxDbG9zZTogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZmlnOiBNb2RhbENvbmZpZyA9IHtcbiAgICAgIC4uLm1vZGFsUm91dGUuc25hcHNob3QuZGF0YS5tb2RhbENvbmZpZyxcbiAgICAgIGNvbXBvbmVudDogbnVsbCxcbiAgICAgIG1vZGFsUm91dGU6IG1vZGFsUm91dGUsXG4gICAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICB9O1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZyksXG4gICAgICBudWxsLFxuICAgICAgb25XaWxsQ2xvc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBY3Rpb25TaGVldChcbiAgICBjb25maWc6IEFjdGlvblNoZWV0Q29uZmlnLFxuICAgIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgICAoKSA9PiB0aGlzLmFjdGlvblNoZWV0SGVscGVyLnNob3dBY3Rpb25TaGVldChjb25maWcpLFxuICAgICAgb25DbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcsIG9uQ2xvc2U/OiAocmVzdWx0OiBib29sZWFuKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KCgpID0+IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyksIG9uQ2xvc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgIHNob3dPdmVybGF5OiAoKSA9PiBQcm9taXNlPE92ZXJsYXk+LFxuICAgIG9uQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWQsXG4gICAgb25XaWxsQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKSB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHNob3dPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSByZXR1cm47XG5cbiAgICB0aGlzLm92ZXJsYXlzLnB1c2gob3ZlcmxheSk7XG5cbiAgICBpZiAodHlwZW9mIG9uV2lsbENsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb3ZlcmxheS5vbldpbGxEaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiBvbldpbGxDbG9zZU92ZXJsYXkoZXZlbnQuZGF0YSkpO1xuICAgIH1cblxuICAgIG92ZXJsYXkub25EaWREaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm92ZXJsYXlzLnBvcCgpO1xuICAgICAgaWYgKHR5cGVvZiBvbkNsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbkNsb3NlT3ZlcmxheShldmVudC5kYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoaWRlVG9wbW9zdChkYXRhPzogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheXNbdGhpcy5vdmVybGF5cy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gb3ZlcmxheS5kaXNtaXNzKGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLm92ZXJsYXlzXG4gICAgICAgIC5maWx0ZXIoKG92ZXJsYXkpID0+IG92ZXJsYXkuaXNEaXNtaXNzaW5nICE9PSB0cnVlKVxuICAgICAgICAubWFwKGFzeW5jIChvdmVybGF5KSA9PiB7XG4gICAgICAgICAgYXdhaXQgb3ZlcmxheS5kaXNtaXNzKCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3BNb3N0KCk6IE92ZXJsYXkgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGFsL3NyYy9tb2RhbC9zZXJ2aWNlcy9tb2RhbC5jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQWtDLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQ1UsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ3BDLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUNsQixXQUFxQjtRQUpqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFUbkQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUNoQixvQ0FBK0IsR0FBRyw0Q0FBNEMsQ0FBQztRQUN4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVFwQyxDQUFDO0lBRUosS0FBSyxDQUFDLFVBQVUs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MkJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVzLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTW9kYWxSb3V0ZUFjdGl2YXRpb24sIE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGlvblNoZWV0Q29uZmlnIH0gZnJvbSAnLi4vYWN0aW9uLXNoZWV0L2NvbmZpZy9hY3Rpb24tc2hlZXQtY29uZmlnJztcbmltcG9ydCB7IEFsZXJ0Q29uZmlnIH0gZnJvbSAnLi4vYWxlcnQvY29uZmlnL2FsZXJ0LWNvbmZpZyc7XG5cbmltcG9ydCB7IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kYWxDb25maWcgfSBmcm9tICcuLi8uLi9tb2RhbC13cmFwcGVyJztcbmltcG9ydCB7IEFjdGlvblNoZWV0SGVscGVyIH0gZnJvbSAnLi9hY3Rpb24tc2hlZXQuaGVscGVyJztcbmltcG9ydCB7IEFsZXJ0SGVscGVyIH0gZnJvbSAnLi9hbGVydC5oZWxwZXInO1xuaW1wb3J0IHsgTW9kYWxIZWxwZXIgfSBmcm9tICcuL21vZGFsLmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIG92ZXJsYXlzOiBPdmVybGF5W10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBub092ZXJsYXlSZWdpc3RlcmVkRXJyb3JNZXNzYWdlID0gJ05vIG1vZGFsIG92ZXJsYXlzIGFyZSBjdXJyZW50bHkgcmVnaXN0ZXJlZCc7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbW9kYWxIZWxwZXI6IE1vZGFsSGVscGVyLFxuICAgIHByaXZhdGUgYWN0aW9uU2hlZXRIZWxwZXI6IEFjdGlvblNoZWV0SGVscGVyLFxuICAgIHByaXZhdGUgYWxlcnRIZWxwZXI6IEFsZXJ0SGVscGVyLFxuICAgIHByaXZhdGUgbW9kYWxOYXZpZ2F0aW9uU2VydmljZTogTW9kYWxOYXZpZ2F0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFJPVVRFUykgcHJpdmF0ZSByb3V0ZUNvbmZpZzogUm91dGVzW11cbiAgKSB7fVxuXG4gIGFzeW5jIGluaXRpYWxpemUobW9kdWxlUm9vdFJvdXRlUGF0aD86IHN0cmluZykge1xuICAgIGNvbnN0IG1vZGFsTmF2aWdhdGlvbiA9IGF3YWl0IHRoaXMubW9kYWxOYXZpZ2F0aW9uU2VydmljZS5nZXRNb2RhbE5hdmlnYXRpb24oXG4gICAgICB0aGlzLnJvdXRlQ29uZmlnLFxuICAgICAgbW9kdWxlUm9vdFJvdXRlUGF0aFxuICAgICk7XG4gICAgdGhpcy5vbk1vZGFsUm91dGVBY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmFjdGl2YXRlZCQpO1xuICAgIHRoaXMub25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxOYXZpZ2F0aW9uLmRlYWN0aXZhdGVkJCk7XG4gIH1cblxuICBwcml2YXRlIG9uTW9kYWxSb3V0ZUFjdGl2YXRlZChtb2RhbFJvdXRlQWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxNb2RhbFJvdXRlQWN0aXZhdGlvbj4pIHtcbiAgICBjb25zdCBuYXZpZ2F0ZU9uV2lsbENsb3NlID0gKCkgPT4ge1xuICAgICAgdGhpcy5tb2RhbE5hdmlnYXRpb25TZXJ2aWNlLm5hdmlnYXRlT3V0T2ZNb2RhbE91dGxldCgpO1xuICAgIH07XG5cbiAgICBjb25zdCBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQgPSBtb2RhbFJvdXRlQWN0aXZhdGVkJC5waXBlKFxuICAgICAgZmlsdGVyKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gIW1vZGFsUm91dGVBY3RpdmF0aW9uLmlzTmV3TW9kYWwpLFxuICAgICAgbWFwKChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4gbW9kYWxSb3V0ZUFjdGl2YXRpb24ucm91dGUpXG4gICAgKTtcblxuICAgIG1vZGFsUm91dGVBY3RpdmF0ZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5cy5sZW5ndGggPT09IDApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChtb2RhbFJvdXRlQWN0aXZhdGlvbikgPT4ge1xuICAgICAgICBpZiAobW9kYWxSb3V0ZUFjdGl2YXRpb24uaXNOZXdNb2RhbCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuc2hvd01vZGFsUm91dGUoXG4gICAgICAgICAgICBtb2RhbFJvdXRlQWN0aXZhdGlvbi5yb3V0ZSxcbiAgICAgICAgICAgIHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICAgICAgICAgIG5hdmlnYXRlT25XaWxsQ2xvc2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb2RhbFJvdXRlRGVhY3RpdmF0ZWQobW9kYWxSb3V0ZURlYWN0aXZhdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPikge1xuICAgIG1vZGFsUm91dGVEZWFjdGl2YXRlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLm92ZXJsYXlzLnNvbWUoKG92ZXJsYXkpID0+IG92ZXJsYXkuaXNEaXNtaXNzaW5nICE9PSB0cnVlKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmhpZGVBbGwoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dNb2RhbChjb25maWc6IE1vZGFsQ29uZmlnLCBvbkNsb3NlPzogKGRhdGE/OiBhbnkpID0+IHZvaWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoKCkgPT4gdGhpcy5tb2RhbEhlbHBlci5zaG93TW9kYWxXaW5kb3coY29uZmlnKSwgb25DbG9zZSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbmF2aWdhdGVUb01vZGFsKHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVUb01vZGFsKHBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBuYXZpZ2F0ZVdpdGhpbk1vZGFsKHJlbGF0aXZlUGF0aDogc3RyaW5nLCBxdWVyeVBhcmFtcz86IFBhcmFtcyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UubmF2aWdhdGVXaXRoaW5Nb2RhbChyZWxhdGl2ZVBhdGgsIHF1ZXJ5UGFyYW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hvd01vZGFsUm91dGUoXG4gICAgbW9kYWxSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgc2libGluZ01vZGFsUm91dGVBY3RpdmF0ZWQkOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlPixcbiAgICBvbldpbGxDbG9zZTogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZmlnOiBNb2RhbENvbmZpZyA9IHtcbiAgICAgIC4uLm1vZGFsUm91dGUuc25hcHNob3QuZGF0YS5tb2RhbENvbmZpZyxcbiAgICAgIGNvbXBvbmVudDogbnVsbCxcbiAgICAgIG1vZGFsUm91dGU6IG1vZGFsUm91dGUsXG4gICAgICBzaWJsaW5nTW9kYWxSb3V0ZUFjdGl2YXRlZCQ6IHNpYmxpbmdNb2RhbFJvdXRlQWN0aXZhdGVkJCxcbiAgICB9O1xuICAgIGF3YWl0IHRoaXMuc2hvd0FuZFJlZ2lzdGVyT3ZlcmxheShcbiAgICAgICgpID0+IHRoaXMubW9kYWxIZWxwZXIuc2hvd01vZGFsV2luZG93KGNvbmZpZyksXG4gICAgICBudWxsLFxuICAgICAgb25XaWxsQ2xvc2VcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNob3dBY3Rpb25TaGVldChcbiAgICBjb25maWc6IEFjdGlvblNoZWV0Q29uZmlnLFxuICAgIG9uQ2xvc2U/OiAoZGF0YT86IGFueSkgPT4gdm9pZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNob3dBbmRSZWdpc3Rlck92ZXJsYXkoXG4gICAgICAoKSA9PiB0aGlzLmFjdGlvblNoZWV0SGVscGVyLnNob3dBY3Rpb25TaGVldChjb25maWcpLFxuICAgICAgb25DbG9zZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2hvd0FsZXJ0KGNvbmZpZzogQWxlcnRDb25maWcsIG9uQ2xvc2U/OiAocmVzdWx0OiBib29sZWFuKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zaG93QW5kUmVnaXN0ZXJPdmVybGF5KCgpID0+IHRoaXMuYWxlcnRIZWxwZXIuc2hvd0FsZXJ0KGNvbmZpZyksIG9uQ2xvc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaG93QW5kUmVnaXN0ZXJPdmVybGF5KFxuICAgIHNob3dPdmVybGF5OiAoKSA9PiBQcm9taXNlPE92ZXJsYXk+LFxuICAgIG9uQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWQsXG4gICAgb25XaWxsQ2xvc2VPdmVybGF5PzogKGRhdGE/OiBhbnkpID0+IHZvaWRcbiAgKSB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IGF3YWl0IHNob3dPdmVybGF5KCk7XG4gICAgaWYgKCFvdmVybGF5KSByZXR1cm47XG5cbiAgICB0aGlzLm92ZXJsYXlzLnB1c2gob3ZlcmxheSk7XG5cbiAgICBpZiAodHlwZW9mIG9uV2lsbENsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb3ZlcmxheS5vbldpbGxEaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiBvbldpbGxDbG9zZU92ZXJsYXkoZXZlbnQuZGF0YSkpO1xuICAgIH1cblxuICAgIG92ZXJsYXkub25EaWREaXNtaXNzLnRoZW4oKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLm92ZXJsYXlzLnBvcCgpO1xuICAgICAgaWYgKHR5cGVvZiBvbkNsb3NlT3ZlcmxheSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBvbkNsb3NlT3ZlcmxheShldmVudC5kYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoaWRlVG9wbW9zdChkYXRhPzogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMub3ZlcmxheXNbdGhpcy5vdmVybGF5cy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIW92ZXJsYXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLm5vT3ZlcmxheVJlZ2lzdGVyZWRFcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gb3ZlcmxheS5kaXNtaXNzKGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVBbGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICB0aGlzLm92ZXJsYXlzXG4gICAgICAgIC5maWx0ZXIoKG92ZXJsYXkpID0+IG92ZXJsYXkuaXNEaXNtaXNzaW5nICE9PSB0cnVlKVxuICAgICAgICAubWFwKGFzeW5jIChvdmVybGF5KSA9PiB7XG4gICAgICAgICAgYXdhaXQgb3ZlcmxheS5kaXNtaXNzKCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3BNb3N0KCk6IE92ZXJsYXkgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5c1t0aGlzLm92ZXJsYXlzLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -67,6 +67,7 @@ export class ModalHelper {
67
67
  backdropDismiss: config.flavor === 'compact' || config.interactWithBackground ? false : true,
68
68
  showBackdrop: !config.interactWithBackground,
69
69
  componentProps: { config: config },
70
+ htmlAttributes: { ...config.htmlAttributes },
70
71
  keyboardClose: false,
71
72
  canDismiss,
72
73
  enterAnimation,
@@ -108,10 +109,10 @@ export class ModalHelper {
108
109
  this.isModalOpening = false;
109
110
  return overlay;
110
111
  }
111
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalHelper, deps: [{ token: i1.ModalController }, { token: i2.ModalAnimationBuilderService }, { token: i3.ModalNavigationService }, { token: i4.WindowRef }, { token: i5.CanDismissHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
112
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalHelper }); }
112
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalHelper, deps: [{ token: i1.ModalController }, { token: i2.ModalAnimationBuilderService }, { token: i3.ModalNavigationService }, { token: i4.WindowRef }, { token: i5.CanDismissHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
113
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalHelper }); }
113
114
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ModalHelper, decorators: [{
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalHelper, decorators: [{
115
116
  type: Injectable
116
117
  }], ctorParameters: () => [{ type: i1.ModalController }, { type: i2.ModalAnimationBuilderService }, { type: i3.ModalNavigationService }, { type: i4.WindowRef }, { type: i5.CanDismissHelper }] });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUNMLDRCQUE0QixFQUc1QixxQkFBcUIsR0FDdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQUd4RCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUNVLG9CQUFxQyxFQUNyQyxxQkFBbUQsRUFDbkQsc0JBQThDLEVBQzlDLFNBQW9CLEVBQ3BCLGdCQUFrQztRQUpsQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQWlCO1FBQ3JDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFDbkQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFHNUM7Ozs7O1VBS0U7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVI1QixDQUFDO0lBVUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFtQjtRQUM5QyxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUVoQyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO1FBRXpDLElB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O1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFFNUIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztpSUF0SFUsV0FBVztxSUFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3R5cGVzJztcblxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uLy4uL21vZGFsLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgTW9kYWxOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL21vZGFsLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1xuICBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50LFxuICBNb2RhbENvbmZpZyxcbiAgTW9kYWxTaXplLFxuICBNb2RhbFdyYXBwZXJDb21wb25lbnQsXG59IGZyb20gJy4uLy4uL21vZGFsLXdyYXBwZXInO1xuXG5pbXBvcnQgeyBNb2RhbEFuaW1hdGlvbkJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1hbmltYXRpb24tYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IENhbkRpc21pc3NIZWxwZXIgfSBmcm9tICcuL2Nhbi1kaXNtaXNzLmhlbHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbEhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW9uaWNNb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcml2YXRlIG1vZGFsQW5pbWF0aW9uQnVpbGRlcjogTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsTmF2aWdhdGlvblNlcnZpY2U6IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB3aW5kb3dSZWY6IFdpbmRvd1JlZixcbiAgICBwcml2YXRlIGNhbkRpc21pc3NIZWxwZXI6IENhbkRpc21pc3NIZWxwZXJcbiAgKSB7fVxuXG4gIC8qIFxuICAgIGlzTW9kYWxPcGVuaW5nIGlzIHVzZWQgdG8gcHJldmVudCBhZGRpdGlvbmFsIGluc3RhbnRpYXRpb25zXG4gICAgb2YgbW9kYWxzLCB3aGlsZSBhIG1vZGFsIGlzIGFscmVhZHkgYmVpbmcgaW5zdGF0aWF0ZWQsIGJ1dCBub3QgY29tcGxldGVkLlxuICAgIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIGFwcHJvYWNoIGJ5IG9uZSBvZiB0aGUgbWFpbnRhaW5lcnMgb2YgSW9uaWM6XG4gICAgaHR0cHM6Ly9naXRodWIuY29tL2lvbmljLXRlYW0vaW9uaWMtZnJhbWV3b3JrL2lzc3Vlcy8yMzMyNyNpc3N1ZWNvbW1lbnQtODQ3MDI4MDU4XG4gICovXG4gIHByaXZhdGUgaXNNb2RhbE9wZW5pbmcgPSBmYWxzZTtcblxuICBwdWJsaWMgYXN5bmMgc2hvd01vZGFsV2luZG93KGNvbmZpZzogTW9kYWxDb25maWcpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICBpZiAodGhpcy5pc01vZGFsT3BlbmluZykgcmV0dXJuO1xuXG4gICAgY29uZmlnLmZsYXZvciA9IGNvbmZpZy5mbGF2b3IgfHwgJ21vZGFsJztcblxuICAgIGxldCBjdXJyZW50QmFja2Ryb3A6IEhUTUxJb25CYWNrZHJvcEVsZW1lbnQ7XG4gICAgY29uc3QgdG9wTW9zdE1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5nZXRUb3AoKTtcbiAgICBpZiAodG9wTW9zdE1vZGFsKSB7XG4gICAgICBjdXJyZW50QmFja2Ryb3AgPVxuICAgICAgICB0b3BNb3N0TW9kYWwuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yPEhUTUxJb25CYWNrZHJvcEVsZW1lbnQ+KCdpb24tYmFja2Ryb3AnKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRlckFuaW1hdGlvbiA9IHRoaXMubW9kYWxBbmltYXRpb25CdWlsZGVyLmVudGVyQW5pbWF0aW9uKGN1cnJlbnRCYWNrZHJvcCk7XG4gICAgY29uc3QgbGVhdmVBbmltYXRpb24gPSB0aGlzLm1vZGFsQW5pbWF0aW9uQnVpbGRlci5sZWF2ZUFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3ApO1xuXG4gICAgY29uc3QgZGVmYXVsdE1vZGFsU2l6ZTogTW9kYWxTaXplID0gY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQgPyBudWxsIDogJ21lZGl1bSc7XG4gICAgY29uc3QgbW9kYWxTaXplID0gY29uZmlnLnNpemUgfHwgZGVmYXVsdE1vZGFsU2l6ZTtcblxuICAgIGNvbnN0IGFsbG93X3Njcm9sbF9jbGFzcyA9ICdhbGxvdy1iYWNrZ3JvdW5kLXNjcm9sbCc7XG5cbiAgICBsZXQgY3VzdG9tQ3NzQ2xhc3NlcyA9IFtdO1xuICAgIGlmIChjb25maWcuY3NzQ2xhc3MpIHtcbiAgICAgIGN1c3RvbUNzc0NsYXNzZXMgPSBBcnJheS5pc0FycmF5KGNvbmZpZy5jc3NDbGFzcykgPyBjb25maWcuY3NzQ2xhc3MgOiBbY29uZmlnLmNzc0NsYXNzXTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIHRoaXMud2luZG93UmVmLm5hdGl2ZVdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoYWxsb3dfc2Nyb2xsX2NsYXNzKTtcbiAgICB9XG5cbiAgICBsZXQgY2FuRGlzbWlzczogYm9vbGVhbiB8ICgoKSA9PiBQcm9taXNlPGJvb2xlYW4+KSA9IHRydWU7XG5cbiAgICBpZiAoY29uZmlnLmNhbkRpc21pc3MpIHtcbiAgICAgIGNhbkRpc21pc3MgPSB0aGlzLmNhbkRpc21pc3NIZWxwZXIuZ2V0Q2FuRGlzbWlzc0NhbGxiYWNrKGNvbmZpZy5jYW5EaXNtaXNzKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzTW9kYWxPcGVuaW5nID0gdHJ1ZTtcblxuICAgIGNvbnN0IGlvbk1vZGFsID0gYXdhaXQgdGhpcy5pb25pY01vZGFsQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgPyBNb2RhbENvbXBhY3RXcmFwcGVyQ29tcG9uZW50IDogTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxuICAgICAgY3NzQ2xhc3M6IFtcbiAgICAgICAgJ2tpcmJ5LW92ZXJsYXknLFxuICAgICAgICAna2lyYnktbW9kYWwnLFxuICAgICAgICBtb2RhbFNpemUgPyBga2lyYnktbW9kYWwtJHttb2RhbFNpemV9YCA6IG51bGwsXG4gICAgICAgIGNvbmZpZy5mbGF2b3IgPT09ICdkcmF3ZXInID8gJ2tpcmJ5LWRyYXdlcicgOiBudWxsLFxuICAgICAgICBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgPyAna2lyYnktbW9kYWwtY29tcGFjdCcgOiBudWxsLFxuICAgICAgICBjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCA/ICdpbnRlcmFjdC13aXRoLWJhY2tncm91bmQnIDogbnVsbCxcbiAgICAgICAgLi4uY3VzdG9tQ3NzQ2xhc3NlcyxcbiAgICAgIF0sXG4gICAgICBiYWNrZHJvcERpc21pc3M6IGNvbmZpZy5mbGF2b3IgPT09ICdjb21wYWN0JyB8fCBjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIHNob3dCYWNrZHJvcDogIWNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kLFxuICAgICAgY29tcG9uZW50UHJvcHM6IHsgY29uZmlnOiBjb25maWcgfSxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IGZhbHNlLFxuICAgICAgY2FuRGlzbWlzcyxcbiAgICAgIGVudGVyQW5pbWF0aW9uLFxuICAgICAgbGVhdmVBbmltYXRpb24sXG4gICAgfSk7XG5cbiAgICBpZiAoY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKGFsbG93X3Njcm9sbF9jbGFzcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmN1c3RvbUhlaWdodCkge1xuICAgICAgaW9uTW9kYWwuc3R5bGUuc2V0UHJvcGVydHkoJy0ta2lyYnktbW9kYWwtaGVpZ2h0JywgY29uZmlnLmN1c3RvbUhlaWdodCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb25XaWxsRGlzbWlzcyA9IGlvbk1vZGFsLm9uV2lsbERpc21pc3MoKTtcblxuICAgIGNvbnN0IG92ZXJsYXk6IE92ZXJsYXkgPSB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzcyxcbiAgICAgIG9uRGlkRGlzbWlzczogaW9uTW9kYWwub25EaWREaXNtaXNzKCksXG4gICAgICBpc0Rpc21pc3Npbmc6IGZhbHNlLFxuICAgIH07XG5cbiAgICBvbldpbGxEaXNtaXNzLnRoZW4oKCkgPT4ge1xuICAgICAgb3ZlcmxheS5pc0Rpc21pc3NpbmcgPSB0cnVlO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuXG4gICAgLyoqXG4gICAgICogRHVlIHRvIHNvbWV3aGF0IHVuZXhwZWN0ZWQgYmVoYXZpb3Igb2YgdGhlIGlvbi1tb2RhbCBub3QgYmVpbmcgZm9jdXNlZCB3aGVuIGtleWJvYXJkQ2xvc2VcbiAgICAgKiBpcyBzZXQgdG8gZmFsc2Ugd2UgbWFudWFsbHkgZm9jdXMgaXQsIGJ1dCBvbmx5IGlmIGZvY3VzIGlzIG5vdCBhbHJlYWR5IGluc2lkZSB0aGUgbW9kYWxcbiAgICAgKiBTZWUgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2lvbmljLXRlYW0vaW9uaWMtZnJhbWV3b3JrL2lzc3Vlcy8yODc3NSNpc3N1ZWNvbW1lbnQtMTg3NTQ3NTczOVxuICAgICAqL1xuICAgIGNvbnN0IGZvY3VzZWRFbGVtZW50V2l0aGluTW9kYWwgPSBpb25Nb2RhbC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcbiAgICBpZiAoIWZvY3VzZWRFbGVtZW50V2l0aGluTW9kYWwpIHtcbiAgICAgIGlvbk1vZGFsLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLy8gQmFjayBidXR0b24gc2hvdWxkIG9ubHkgYmUgaGFuZGxlZCBtYW51YWxseVxuICAgIC8vIGlmIHRoZSBtb2RhbCBpcyBub3QgaW5zdGFudGlhdGVkIHRocm91Z2ggYSByb3V0ZS5cbiAgICBpZiAoIWNvbmZpZy5tb2RhbFJvdXRlKSB7XG4gICAgICB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UuaGFuZGxlQnJvd3NlckJhY2tCdXR0b24oaW9uTW9kYWwpO1xuICAgIH1cblxuICAgIHRoaXMuaXNNb2RhbE9wZW5pbmcgPSBmYWxzZTtcblxuICAgIHJldHVybiBvdmVybGF5O1xuICB9XG59XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kYWwvc3JjL21vZGFsL3NlcnZpY2VzL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUNMLDRCQUE0QixFQUc1QixxQkFBcUIsR0FDdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQUd4RCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUNVLG9CQUFxQyxFQUNyQyxxQkFBbUQsRUFDbkQsc0JBQThDLEVBQzlDLFNBQW9CLEVBQ3BCLGdCQUFrQztRQUpsQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQWlCO1FBQ3JDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFDbkQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFHNUM7Ozs7O1VBS0U7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVI1QixDQUFDO0lBVUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFtQjtRQUM5QyxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUVoQyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO1FBRXpDLElB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QXNCLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBRTVCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7a0lBdkhVLFdBQVc7c0lBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5cbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi9tb2RhbC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1vZGFsTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9tb2RhbC1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCxcbiAgTW9kYWxDb25maWcsXG4gIE1vZGFsU2l6ZSxcbiAgTW9kYWxXcmFwcGVyQ29tcG9uZW50LFxufSBmcm9tICcuLi8uLi9tb2RhbC13cmFwcGVyJztcblxuaW1wb3J0IHsgTW9kYWxBbmltYXRpb25CdWlsZGVyU2VydmljZSB9IGZyb20gJy4vbW9kYWwtYW5pbWF0aW9uLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDYW5EaXNtaXNzSGVscGVyIH0gZnJvbSAnLi9jYW4tZGlzbWlzcy5oZWxwZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxIZWxwZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGlvbmljTW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBtb2RhbEFuaW1hdGlvbkJ1aWxkZXI6IE1vZGFsQW5pbWF0aW9uQnVpbGRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2RhbE5hdmlnYXRpb25TZXJ2aWNlOiBNb2RhbE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBXaW5kb3dSZWYsXG4gICAgcHJpdmF0ZSBjYW5EaXNtaXNzSGVscGVyOiBDYW5EaXNtaXNzSGVscGVyXG4gICkge31cblxuICAvKiBcbiAgICBpc01vZGFsT3BlbmluZyBpcyB1c2VkIHRvIHByZXZlbnQgYWRkaXRpb25hbCBpbnN0YW50aWF0aW9uc1xuICAgIG9mIG1vZGFscywgd2hpbGUgYSBtb2RhbCBpcyBhbHJlYWR5IGJlaW5nIGluc3RhdGlhdGVkLCBidXQgbm90IGNvbXBsZXRlZC5cbiAgICBUaGlzIGlzIHRoZSByZWNvbW1lbmRlZCBhcHByb2FjaCBieSBvbmUgb2YgdGhlIG1haW50YWluZXJzIG9mIElvbmljOlxuICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9pb25pYy10ZWFtL2lvbmljLWZyYW1ld29yay9pc3N1ZXMvMjMzMjcjaXNzdWVjb21tZW50LTg0NzAyODA1OFxuICAqL1xuICBwcml2YXRlIGlzTW9kYWxPcGVuaW5nID0gZmFsc2U7XG5cbiAgcHVibGljIGFzeW5jIHNob3dNb2RhbFdpbmRvdyhjb25maWc6IE1vZGFsQ29uZmlnKTogUHJvbWlzZTxPdmVybGF5PiB7XG4gICAgaWYgKHRoaXMuaXNNb2RhbE9wZW5pbmcpIHJldHVybjtcblxuICAgIGNvbmZpZy5mbGF2b3IgPSBjb25maWcuZmxhdm9yIHx8ICdtb2RhbCc7XG5cbiAgICBsZXQgY3VycmVudEJhY2tkcm9wOiBIVE1MSW9uQmFja2Ryb3BFbGVtZW50O1xuICAgIGNvbnN0IHRvcE1vc3RNb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCk7XG4gICAgaWYgKHRvcE1vc3RNb2RhbCkge1xuICAgICAgY3VycmVudEJhY2tkcm9wID1cbiAgICAgICAgdG9wTW9zdE1vZGFsLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcjxIVE1MSW9uQmFja2Ryb3BFbGVtZW50PignaW9uLWJhY2tkcm9wJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50ZXJBbmltYXRpb24gPSB0aGlzLm1vZGFsQW5pbWF0aW9uQnVpbGRlci5lbnRlckFuaW1hdGlvbihjdXJyZW50QmFja2Ryb3ApO1xuICAgIGNvbnN0IGxlYXZlQW5pbWF0aW9uID0gdGhpcy5tb2RhbEFuaW1hdGlvbkJ1aWxkZXIubGVhdmVBbmltYXRpb24oY3VycmVudEJhY2tkcm9wKTtcblxuICAgIGNvbnN0IGRlZmF1bHRNb2RhbFNpemU6IE1vZGFsU2l6ZSA9IGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kID8gbnVsbCA6ICdtZWRpdW0nO1xuICAgIGNvbnN0IG1vZGFsU2l6ZSA9IGNvbmZpZy5zaXplIHx8IGRlZmF1bHRNb2RhbFNpemU7XG5cbiAgICBjb25zdCBhbGxvd19zY3JvbGxfY2xhc3MgPSAnYWxsb3ctYmFja2dyb3VuZC1zY3JvbGwnO1xuXG4gICAgbGV0IGN1c3RvbUNzc0NsYXNzZXMgPSBbXTtcbiAgICBpZiAoY29uZmlnLmNzc0NsYXNzKSB7XG4gICAgICBjdXN0b21Dc3NDbGFzc2VzID0gQXJyYXkuaXNBcnJheShjb25maWcuY3NzQ2xhc3MpID8gY29uZmlnLmNzc0NsYXNzIDogW2NvbmZpZy5jc3NDbGFzc107XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5pbnRlcmFjdFdpdGhCYWNrZ3JvdW5kKSB7XG4gICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKGFsbG93X3Njcm9sbF9jbGFzcyk7XG4gICAgfVxuXG4gICAgbGV0IGNhbkRpc21pc3M6IGJvb2xlYW4gfCAoKCkgPT4gUHJvbWlzZTxib29sZWFuPikgPSB0cnVlO1xuXG4gICAgaWYgKGNvbmZpZy5jYW5EaXNtaXNzKSB7XG4gICAgICBjYW5EaXNtaXNzID0gdGhpcy5jYW5EaXNtaXNzSGVscGVyLmdldENhbkRpc21pc3NDYWxsYmFjayhjb25maWcuY2FuRGlzbWlzcyk7XG4gICAgfVxuXG4gICAgdGhpcy5pc01vZGFsT3BlbmluZyA9IHRydWU7XG5cbiAgICBjb25zdCBpb25Nb2RhbCA9IGF3YWl0IHRoaXMuaW9uaWNNb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogY29uZmlnLmZsYXZvciA9PT0gJ2NvbXBhY3QnID8gTW9kYWxDb21wYWN0V3JhcHBlckNvbXBvbmVudCA6IE1vZGFsV3JhcHBlckNvbXBvbmVudCxcbiAgICAgIGNzc0NsYXNzOiBbXG4gICAgICAgICdraXJieS1vdmVybGF5JyxcbiAgICAgICAgJ2tpcmJ5LW1vZGFsJyxcbiAgICAgICAgbW9kYWxTaXplID8gYGtpcmJ5LW1vZGFsLSR7bW9kYWxTaXplfWAgOiBudWxsLFxuICAgICAgICBjb25maWcuZmxhdm9yID09PSAnZHJhd2VyJyA/ICdraXJieS1kcmF3ZXInIDogbnVsbCxcbiAgICAgICAgY29uZmlnLmZsYXZvciA9PT0gJ2NvbXBhY3QnID8gJ2tpcmJ5LW1vZGFsLWNvbXBhY3QnIDogbnVsbCxcbiAgICAgICAgY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQgPyAnaW50ZXJhY3Qtd2l0aC1iYWNrZ3JvdW5kJyA6IG51bGwsXG4gICAgICAgIC4uLmN1c3RvbUNzc0NsYXNzZXMsXG4gICAgICBdLFxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiBjb25maWcuZmxhdm9yID09PSAnY29tcGFjdCcgfHwgY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQgPyBmYWxzZSA6IHRydWUsXG4gICAgICBzaG93QmFja2Ryb3A6ICFjb25maWcuaW50ZXJhY3RXaXRoQmFja2dyb3VuZCxcbiAgICAgIGNvbXBvbmVudFByb3BzOiB7IGNvbmZpZzogY29uZmlnIH0sXG4gICAgICBodG1sQXR0cmlidXRlczogeyAuLi5jb25maWcuaHRtbEF0dHJpYnV0ZXMgfSxcbiAgICAgIGtleWJvYXJkQ2xvc2U6IGZhbHNlLFxuICAgICAgY2FuRGlzbWlzcyxcbiAgICAgIGVudGVyQW5pbWF0aW9uLFxuICAgICAgbGVhdmVBbmltYXRpb24sXG4gICAgfSk7XG5cbiAgICBpZiAoY29uZmlnLmludGVyYWN0V2l0aEJhY2tncm91bmQpIHtcbiAgICAgIGlvbk1vZGFsLm9uRGlkRGlzbWlzcygpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLndpbmRvd1JlZi5uYXRpdmVXaW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKGFsbG93X3Njcm9sbF9jbGFzcyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmN1c3RvbUhlaWdodCkge1xuICAgICAgaW9uTW9kYWwuc3R5bGUuc2V0UHJvcGVydHkoJy0ta2lyYnktbW9kYWwtaGVpZ2h0JywgY29uZmlnLmN1c3RvbUhlaWdodCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb25XaWxsRGlzbWlzcyA9IGlvbk1vZGFsLm9uV2lsbERpc21pc3MoKTtcblxuICAgIGNvbnN0IG92ZXJsYXk6IE92ZXJsYXkgPSB7XG4gICAgICBkaXNtaXNzOiBpb25Nb2RhbC5kaXNtaXNzLmJpbmQoaW9uTW9kYWwpLFxuICAgICAgb25XaWxsRGlzbWlzcyxcbiAgICAgIG9uRGlkRGlzbWlzczogaW9uTW9kYWwub25EaWREaXNtaXNzKCksXG4gICAgICBpc0Rpc21pc3Npbmc6IGZhbHNlLFxuICAgIH07XG5cbiAgICBvbldpbGxEaXNtaXNzLnRoZW4oKCkgPT4ge1xuICAgICAgb3ZlcmxheS5pc0Rpc21pc3NpbmcgPSB0cnVlO1xuICAgIH0pO1xuXG4gICAgYXdhaXQgaW9uTW9kYWwucHJlc2VudCgpO1xuXG4gICAgLyoqXG4gICAgICogRHVlIHRvIHNvbWV3aGF0IHVuZXhwZWN0ZWQgYmVoYXZpb3Igb2YgdGhlIGlvbi1tb2RhbCBub3QgYmVpbmcgZm9jdXNlZCB3aGVuIGtleWJvYXJkQ2xvc2VcbiAgICAgKiBpcyBzZXQgdG8gZmFsc2Ugd2UgbWFudWFsbHkgZm9jdXMgaXQsIGJ1dCBvbmx5IGlmIGZvY3VzIGlzIG5vdCBhbHJlYWR5IGluc2lkZSB0aGUgbW9kYWxcbiAgICAgKiBTZWUgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2lvbmljLXRlYW0vaW9uaWMtZnJhbWV3b3JrL2lzc3Vlcy8yODc3NSNpc3N1ZWNvbW1lbnQtMTg3NTQ3NTczOVxuICAgICAqL1xuICAgIGNvbnN0IGZvY3VzZWRFbGVtZW50V2l0aGluTW9kYWwgPSBpb25Nb2RhbC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcbiAgICBpZiAoIWZvY3VzZWRFbGVtZW50V2l0aGluTW9kYWwpIHtcbiAgICAgIGlvbk1vZGFsLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLy8gQmFjayBidXR0b24gc2hvdWxkIG9ubHkgYmUgaGFuZGxlZCBtYW51YWxseVxuICAgIC8vIGlmIHRoZSBtb2RhbCBpcyBub3QgaW5zdGFudGlhdGVkIHRocm91Z2ggYSByb3V0ZS5cbiAgICBpZiAoIWNvbmZpZy5tb2RhbFJvdXRlKSB7XG4gICAgICB0aGlzLm1vZGFsTmF2aWdhdGlvblNlcnZpY2UuaGFuZGxlQnJvd3NlckJhY2tCdXR0b24oaW9uTW9kYWwpO1xuICAgIH1cblxuICAgIHRoaXMuaXNNb2RhbE9wZW5pbmcgPSBmYWxzZTtcblxuICAgIHJldHVybiBvdmVybGF5O1xuICB9XG59XG4iXX0=