@odx/angular 9.2.2 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/esm2022/breakpoints/lib/breakpoints.module.mjs +4 -4
  3. package/esm2022/breakpoints/lib/breakpoints.service.mjs +3 -3
  4. package/esm2022/breakpoints/lib/directives/match-breakpoints.directive.mjs +4 -4
  5. package/esm2022/cdk/a11y/lib/a11y.module.mjs +4 -4
  6. package/esm2022/cdk/a11y/lib/directives/interactive.directive.mjs +6 -5
  7. package/esm2022/cdk/a11y/lib/directives/list-focus-manager-option.directive.mjs +3 -3
  8. package/esm2022/cdk/a11y/lib/directives/list-focus-manager.directive.mjs +3 -3
  9. package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +6 -5
  10. package/esm2022/cdk/autocomplete-control/lib/autocomplete-control.mjs +5 -5
  11. package/esm2022/cdk/autocomplete-control/lib/pipes/base-search-filter-pipe.mjs +1 -1
  12. package/esm2022/cdk/checkbox-control/lib/checkbox-control.directive.mjs +5 -5
  13. package/esm2022/cdk/connected-overlay/lib/connected-overlay.component.mjs +6 -5
  14. package/esm2022/cdk/connected-overlay/lib/connected-overlay.service.mjs +3 -3
  15. package/esm2022/cdk/connected-overlay/lib/helpers/compute-overlay-position.mjs +1 -1
  16. package/esm2022/cdk/custom-form-control/lib/control.directive.mjs +3 -3
  17. package/esm2022/cdk/custom-form-control/lib/custom-form-control.mjs +5 -5
  18. package/esm2022/cdk/custom-form-control/lib/input-control.directive.mjs +3 -3
  19. package/esm2022/cdk/dynamic-view/lib/dynamic-view.component.mjs +4 -4
  20. package/esm2022/cdk/dynamic-view/lib/dynamic-view.directive.mjs +4 -4
  21. package/esm2022/cdk/dynamic-view/lib/dynamic-view.service.mjs +4 -4
  22. package/esm2022/cdk/dynamic-view/lib/helpers/create-projectable-nodes.mjs +1 -1
  23. package/esm2022/cdk/dynamic-view/lib/models/dynamic-component-ref.mjs +1 -1
  24. package/esm2022/cdk/dynamic-view/lib/models/dynamic-template-ref.mjs +1 -1
  25. package/esm2022/cdk/event-plugins/lib/plugins/debounce-event-plugin.mjs +3 -3
  26. package/esm2022/cdk/event-plugins/lib/plugins/defer-event-plugin.mjs +3 -3
  27. package/esm2022/cdk/expandable/lib/directives/expandable-container.directive.mjs +4 -4
  28. package/esm2022/cdk/expandable/lib/directives/expandable-item.directive.mjs +4 -4
  29. package/esm2022/cdk/expandable/lib/expandable.module.mjs +4 -4
  30. package/esm2022/cdk/option-control/lib/option-control.mjs +3 -3
  31. package/esm2022/cdk/radio-group-control/lib/radio-control.directive.mjs +5 -5
  32. package/esm2022/cdk/radio-group-control/lib/radio-group-control.directive.mjs +5 -5
  33. package/esm2022/cdk/radio-group-control/lib/radio-group-control.module.mjs +4 -4
  34. package/esm2022/components/accordion/lib/accordion.component.mjs +6 -5
  35. package/esm2022/components/accordion/lib/accordion.module.mjs +4 -4
  36. package/esm2022/components/accordion/lib/components/accordion-item/accordion-item.component.mjs +6 -5
  37. package/esm2022/components/accordion/lib/directives/accordion-item-title.mjs +3 -3
  38. package/esm2022/components/action-group/action-group.component.mjs +6 -5
  39. package/esm2022/components/area-header/area-header.component.mjs +6 -5
  40. package/esm2022/components/area-header/area-header.module.mjs +4 -4
  41. package/esm2022/components/area-header/directives/area-header-content.directive.mjs +3 -3
  42. package/esm2022/components/area-header/directives/area-header-subtitle.directive.mjs +3 -3
  43. package/esm2022/components/autocomplete/lib/autocomplete.component.mjs +8 -9
  44. package/esm2022/components/autocomplete/lib/autocomplete.module.mjs +4 -4
  45. package/esm2022/components/autocomplete/lib/components/option/autocomplete-option.component.mjs +6 -5
  46. package/esm2022/components/autocomplete/lib/directives/autocomplete-input-control.directive.mjs +6 -5
  47. package/esm2022/components/autocomplete/lib/pipes/autocomplete-search-filter.pipe.mjs +3 -3
  48. package/esm2022/components/avatar/lib/avatar.component.mjs +6 -5
  49. package/esm2022/components/badge/lib/badge.component.mjs +6 -5
  50. package/esm2022/components/badge/lib/badge.directive.mjs +6 -5
  51. package/esm2022/components/bar/lib/bar.component.mjs +6 -5
  52. package/esm2022/components/bar/lib/bar.module.mjs +4 -4
  53. package/esm2022/components/bar/lib/directives/bar-button.directive.mjs +6 -5
  54. package/esm2022/components/bar/lib/directives/bar-label.directive.mjs +6 -5
  55. package/esm2022/components/breadcrumbs/lib/breadcrumbs.component.mjs +6 -5
  56. package/esm2022/components/button/lib/button.component.mjs +6 -5
  57. package/esm2022/components/button/lib/directives/responsive-button.directive.mjs +3 -3
  58. package/esm2022/components/button-group/lib/button-group.component.mjs +6 -5
  59. package/esm2022/components/calendar/lib/calendar.component.mjs +7 -6
  60. package/esm2022/components/calendar/lib/calendar.service.mjs +4 -4
  61. package/esm2022/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +6 -5
  62. package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +6 -5
  63. package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +6 -5
  64. package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +6 -5
  65. package/esm2022/components/calendar/lib/daterange.service.mjs +4 -4
  66. package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +6 -5
  67. package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +3 -3
  68. package/esm2022/components/calendar/lib/pipes/date-label.pipe.mjs +4 -4
  69. package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +4 -4
  70. package/esm2022/components/calendar/lib/services/calendar-year.service.mjs +4 -4
  71. package/esm2022/components/calendar/lib/services/calendar-years.service.mjs +4 -4
  72. package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +1 -1
  73. package/esm2022/components/calendar/lib/utils/get-A11y-label.mjs +1 -1
  74. package/esm2022/components/calendar/lib/utils/parse-date.mjs +1 -1
  75. package/esm2022/components/card/lib/card.component.mjs +7 -6
  76. package/esm2022/components/card/lib/card.module.mjs +4 -4
  77. package/esm2022/components/card/lib/components/card-footer/card-footer.component.mjs +3 -3
  78. package/esm2022/components/card/lib/components/card-image/card-image.component.mjs +6 -5
  79. package/esm2022/components/card/lib/components/launch-card-subtitle/launch-card-subtitle.component.mjs +3 -3
  80. package/esm2022/components/card/lib/directives/card-content.directive.mjs +3 -3
  81. package/esm2022/components/checkbox/lib/checkbox.component.mjs +6 -5
  82. package/esm2022/components/checkbox/lib/checkbox.module.mjs +4 -4
  83. package/esm2022/components/checkbox/lib/checkbox.validator.mjs +3 -3
  84. package/esm2022/components/chip/lib/components/chip/chip.component.mjs +6 -5
  85. package/esm2022/components/chip/lib/components/chip-list/chip-list.component.mjs +6 -5
  86. package/esm2022/components/chip/lib/components/chip-list-row/chip-list-row.component.mjs +6 -5
  87. package/esm2022/components/circular-progress/lib/circular-progress.component.mjs +6 -5
  88. package/esm2022/components/content-box/lib/content-box.component.mjs +3 -3
  89. package/esm2022/components/content-box/lib/content-box.module.mjs +4 -4
  90. package/esm2022/components/content-box/lib/directives/content-box-footer.directive.mjs +3 -3
  91. package/esm2022/components/content-box/lib/directives/content-box-header.directive.mjs +3 -3
  92. package/esm2022/components/datepicker/lib/datepicker.component.mjs +7 -6
  93. package/esm2022/components/datepicker/lib/datepicker.module.mjs +4 -4
  94. package/esm2022/components/datepicker/lib/directives/datepicker-input-control.directive.mjs +6 -5
  95. package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +7 -6
  96. package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +4 -4
  97. package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +6 -5
  98. package/esm2022/components/daterangepicker/lib/range.validator.mjs +3 -3
  99. package/esm2022/components/daterangepicker/lib/required.validator.mjs +3 -3
  100. package/esm2022/components/dropdown/lib/dropdown.component.mjs +6 -5
  101. package/esm2022/components/dropdown/lib/dropdown.directive.mjs +6 -5
  102. package/esm2022/components/dropdown/lib/dropdown.module.mjs +4 -4
  103. package/esm2022/components/error-page/lib/error-page.component.mjs +6 -5
  104. package/esm2022/components/footer/lib/footer.component.mjs +6 -5
  105. package/esm2022/components/form-field/lib/components/form-field-info/form-field-info.component.mjs +3 -3
  106. package/esm2022/components/form-field/lib/components/form-group/form-group.component.mjs +6 -5
  107. package/esm2022/components/form-field/lib/directives/form-field-control.directive.mjs +7 -6
  108. package/esm2022/components/form-field/lib/directives/form-field-error.directive.mjs +3 -3
  109. package/esm2022/components/form-field/lib/directives/form-field-hint.directive.mjs +4 -4
  110. package/esm2022/components/form-field/lib/directives/form-field-label.directive.mjs +6 -5
  111. package/esm2022/components/form-field/lib/directives/form.directive.mjs +6 -5
  112. package/esm2022/components/form-field/lib/form-field.component.mjs +7 -6
  113. package/esm2022/components/form-field/lib/form-field.module.mjs +4 -4
  114. package/esm2022/components/form-field/lib/form-field.service.mjs +4 -4
  115. package/esm2022/components/form-field/lib/services/form-field-error.service.mjs +4 -4
  116. package/esm2022/components/header/lib/directives/header-avatar.directive.mjs +3 -3
  117. package/esm2022/components/header/lib/directives/header-title.directive.mjs +3 -3
  118. package/esm2022/components/header/lib/header.component.mjs +6 -5
  119. package/esm2022/components/header/lib/header.module.mjs +4 -4
  120. package/esm2022/components/header-navigation/lib/directives/header-navigation-link.directive.mjs +7 -7
  121. package/esm2022/components/header-navigation/lib/header-navigation.component.mjs +6 -5
  122. package/esm2022/components/header-navigation/lib/header-navigation.module.mjs +4 -4
  123. package/esm2022/components/icon/lib/icon.component.mjs +6 -5
  124. package/esm2022/components/inline-message/lib/inline-message.component.mjs +6 -5
  125. package/esm2022/components/link/link.directive.mjs +6 -5
  126. package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +6 -5
  127. package/esm2022/components/list/lib/components/list-item/list-item.component.mjs +6 -5
  128. package/esm2022/components/list/lib/list.component.mjs +6 -5
  129. package/esm2022/components/list/lib/list.module.mjs +4 -4
  130. package/esm2022/components/loading-spinner/lib/loading-spinner.component.mjs +6 -5
  131. package/esm2022/components/loading-spinner/lib/loading-spinner.directive.mjs +4 -4
  132. package/esm2022/components/loading-spinner/lib/loading-spinner.module.mjs +4 -4
  133. package/esm2022/components/logo/logo.directive.mjs +6 -5
  134. package/esm2022/components/main-menu/lib/directives/main-menu-button.directive.mjs +6 -5
  135. package/esm2022/components/main-menu/lib/directives/main-menu-close.directive.mjs +3 -3
  136. package/esm2022/components/main-menu/lib/directives/main-menu-item.directive.mjs +6 -5
  137. package/esm2022/components/main-menu/lib/main-menu.component.mjs +6 -5
  138. package/esm2022/components/main-menu/lib/main-menu.module.mjs +4 -4
  139. package/esm2022/components/main-menu/lib/main-menu.service.mjs +3 -3
  140. package/esm2022/components/mainfilter-group/lib/mainfilter-group.component.mjs +6 -5
  141. package/esm2022/components/menu/lib/directives/menu-item.directive.mjs +6 -5
  142. package/esm2022/components/menu/lib/menu.component.mjs +6 -5
  143. package/esm2022/components/menu/lib/menu.directive.mjs +6 -5
  144. package/esm2022/components/menu/lib/menu.module.mjs +4 -4
  145. package/esm2022/components/modal/lib/components/basic-modal/basic-modal.component.mjs +3 -3
  146. package/esm2022/components/modal/lib/components/modal-footer/modal-footer.component.mjs +6 -5
  147. package/esm2022/components/modal/lib/components/modal-header/modal-header.component.mjs +7 -6
  148. package/esm2022/components/modal/lib/components/modal-hero/modal-hero.component.mjs +7 -6
  149. package/esm2022/components/modal/lib/directives/modal-close.directive.mjs +4 -4
  150. package/esm2022/components/modal/lib/directives/modal-content.directive.mjs +6 -5
  151. package/esm2022/components/modal/lib/directives/modal-dismiss.directive.mjs +3 -3
  152. package/esm2022/components/modal/lib/directives/prevent-form-method-dialog.directive.mjs +3 -3
  153. package/esm2022/components/modal/lib/directives/prevent-method-dialog.directive.mjs +3 -3
  154. package/esm2022/components/modal/lib/modal.component.mjs +7 -6
  155. package/esm2022/components/modal/lib/modal.directive.mjs +4 -4
  156. package/esm2022/components/modal/lib/modal.module.mjs +4 -4
  157. package/esm2022/components/modal/lib/modal.service.mjs +5 -5
  158. package/esm2022/components/navigation-back/lib/navigation-back.component.mjs +6 -5
  159. package/esm2022/components/notification/lib/components/notification-center/notification-center.component.mjs +6 -5
  160. package/esm2022/components/notification/lib/components/notification-item/notification-item.component.mjs +6 -5
  161. package/esm2022/components/notification/lib/directives/notification-center.directive.mjs +3 -3
  162. package/esm2022/components/notification/lib/features/with-browser-notifications.mjs +2 -3
  163. package/esm2022/components/notification/lib/features/with-load-notifications.mjs +1 -1
  164. package/esm2022/components/notification/lib/features/with-peristent-notifications.mjs +1 -1
  165. package/esm2022/components/notification/lib/features/with-save-notifications.mjs +1 -1
  166. package/esm2022/components/notification/lib/notification.service.mjs +4 -4
  167. package/esm2022/components/notification/lib/services/notification-center.service.mjs +3 -3
  168. package/esm2022/components/paginator/lib/paginator.component.mjs +6 -5
  169. package/esm2022/components/paginator/lib/paginator.module.mjs +4 -4
  170. package/esm2022/components/progress/lib/progress.component.mjs +6 -5
  171. package/esm2022/components/radio-group/lib/components/radio-button/radio-button.component.mjs +6 -5
  172. package/esm2022/components/radio-group/lib/radio-group.component.mjs +8 -9
  173. package/esm2022/components/radio-group/lib/radio-group.module.mjs +4 -4
  174. package/esm2022/components/rail-navigation/lib/components/rail-navigation-item/rail-navigation-item.component.mjs +6 -5
  175. package/esm2022/components/rail-navigation/lib/rail-navigation.component.mjs +6 -5
  176. package/esm2022/components/rail-navigation/lib/rail-navigation.module.mjs +4 -4
  177. package/esm2022/components/rich-list/lib/components/rich-list-content/rich-list-content.component.mjs +6 -5
  178. package/esm2022/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +6 -5
  179. package/esm2022/components/rich-list/lib/components/rich-list-item-header/rich-list-item-header.component.mjs +6 -5
  180. package/esm2022/components/rich-list/lib/rich-list.component.mjs +6 -5
  181. package/esm2022/components/rich-list/lib/rich-list.module.mjs +4 -4
  182. package/esm2022/components/search-bar/lib/search-bar-control.directive.mjs +3 -3
  183. package/esm2022/components/search-bar/lib/search-bar.component.mjs +3 -3
  184. package/esm2022/components/search-bar/lib/search-bar.module.mjs +4 -4
  185. package/esm2022/components/select/lib/components/select-option/select-option.component.mjs +7 -6
  186. package/esm2022/components/select/lib/directives/select-input-control.directive.mjs +6 -5
  187. package/esm2022/components/select/lib/pipes/select-search-filter.pipe.mjs +3 -3
  188. package/esm2022/components/select/lib/select.component.mjs +15 -17
  189. package/esm2022/components/select/lib/select.module.mjs +4 -4
  190. package/esm2022/components/slider/lib/slider.directive.mjs +6 -5
  191. package/esm2022/components/spinbox/lib/spinbox.component.mjs +7 -6
  192. package/esm2022/components/switch/lib/switch.component.mjs +6 -5
  193. package/esm2022/components/switch/lib/switch.module.mjs +4 -4
  194. package/esm2022/components/switch/lib/switch.validator.mjs +3 -3
  195. package/esm2022/components/tab-bar/lib/components/tab-bar-item/tab-bar-item.component.mjs +6 -5
  196. package/esm2022/components/tab-bar/lib/tab-bar.component.mjs +7 -8
  197. package/esm2022/components/tab-bar/lib/tab-bar.module.mjs +4 -4
  198. package/esm2022/components/table/lib/components/check-cell/check-cell.component.mjs +3 -3
  199. package/esm2022/components/table/lib/components/header-title/header-title.component.mjs +4 -4
  200. package/esm2022/components/table/lib/directives/table-cell.directive.mjs +6 -5
  201. package/esm2022/components/table/lib/directives/table-row.directive.mjs +6 -5
  202. package/esm2022/components/table/lib/table.component.mjs +7 -8
  203. package/esm2022/components/table/lib/table.module.mjs +4 -4
  204. package/esm2022/components/timepicker/lib/components/timepicker-option.component.mjs +7 -6
  205. package/esm2022/components/timepicker/lib/directives/timepicker-input-control.directive.mjs +6 -5
  206. package/esm2022/components/timepicker/lib/timepicker.component.mjs +9 -10
  207. package/esm2022/components/timepicker/lib/timepicker.module.mjs +4 -4
  208. package/esm2022/components/timepicker/lib/timepicker.service.mjs +3 -3
  209. package/esm2022/components/timepicker/lib/utils/generate-time-stamps.mjs +1 -1
  210. package/esm2022/components/timepicker/lib/utils/ngx-mask-helper.mjs +1 -1
  211. package/esm2022/components/toast/lib/components/toast-container/toast-container.component.mjs +6 -5
  212. package/esm2022/components/toast/lib/components/toast-item/toast-item.component.mjs +6 -5
  213. package/esm2022/components/toast/lib/toast.module.mjs +4 -4
  214. package/esm2022/components/toast/lib/toast.service.mjs +3 -3
  215. package/esm2022/components/toggle-button-group/lib/components/toggle-button/toggle-button.component.mjs +6 -5
  216. package/esm2022/components/toggle-button-group/lib/toggle-button-group.component.mjs +8 -9
  217. package/esm2022/components/toggle-button-group/lib/toggle-button-group.module.mjs +4 -4
  218. package/esm2022/components/tooltip/lib/helpers/resolve-tooltip-trigger-events.mjs +1 -1
  219. package/esm2022/components/tooltip/lib/tooltip.component.mjs +6 -5
  220. package/esm2022/components/tooltip/lib/tooltip.directive.mjs +7 -6
  221. package/esm2022/components/wizard/lib/components/wizard-step/wizard-step.component.mjs +6 -5
  222. package/esm2022/components/wizard/lib/wizard.component.mjs +6 -5
  223. package/esm2022/components/wizard/lib/wizard.module.mjs +4 -4
  224. package/esm2022/internal/lib/decorators/css-modifier.mjs +1 -1
  225. package/esm2022/internal/lib/helpers/camel-to-kebab-case.mjs +1 -1
  226. package/esm2022/internal/lib/helpers/get-css-variables.mjs +1 -1
  227. package/esm2022/internal/translate/lib/pipes/translate.pipe.mjs +3 -3
  228. package/esm2022/internal/translate/lib/translate.service.mjs +1 -1
  229. package/esm2022/lib/controllers/controller.mjs +3 -3
  230. package/esm2022/lib/controllers/disabled.controller.mjs +4 -4
  231. package/esm2022/lib/controllers/readonly.controller.mjs +5 -5
  232. package/esm2022/lib/core.module.mjs +4 -4
  233. package/esm2022/lib/directives/click-outside.directive.mjs +4 -4
  234. package/esm2022/lib/directives/delegate-focus.directive.mjs +3 -3
  235. package/esm2022/lib/directives/with-disabled-state.directive.mjs +4 -4
  236. package/esm2022/lib/directives/with-tabindex.directive.mjs +4 -4
  237. package/esm2022/lib/services/window-ref.mjs +4 -4
  238. package/esm2022/localization/lib/features/with-http-language-header.mjs +1 -1
  239. package/esm2022/localization/lib/features/with-http-language-query-param.mjs +1 -1
  240. package/esm2022/localization/lib/localization.service.mjs +4 -4
  241. package/esm2022/rxjs/lib/from-element-resize.mjs +1 -1
  242. package/esm2022/sdk/lib/application-environment.mjs +1 -1
  243. package/esm2022/theming/lib/helpers/theme-storage.mjs +1 -1
  244. package/esm2022/theming/lib/theming.service.mjs +5 -5
  245. package/esm2022/utils/lib/decorators/pure.mjs +1 -1
  246. package/esm2022/utils/lib/helpers/angular.mjs +1 -1
  247. package/esm2022/utils/lib/helpers/array.mjs +1 -1
  248. package/esm2022/utils/lib/helpers/cache-storage-client.mjs +1 -1
  249. package/esm2022/utils/lib/helpers/debounce.mjs +1 -1
  250. package/esm2022/utils/lib/helpers/dom.mjs +1 -1
  251. package/esm2022/utils/lib/helpers/event-manager.mjs +4 -4
  252. package/esm2022/utils/lib/helpers/get-axis.mjs +1 -1
  253. package/esm2022/utils/lib/helpers/get-opposite-side.mjs +1 -1
  254. package/esm2022/utils/lib/helpers/ng-changes.mjs +1 -1
  255. package/esm2022/utils/lib/helpers/provide-config.mjs +1 -1
  256. package/esm2022/utils/lib/helpers/queue.mjs +1 -1
  257. package/fesm2022/odx-angular-breakpoints.mjs +10 -10
  258. package/fesm2022/odx-angular-breakpoints.mjs.map +1 -1
  259. package/fesm2022/odx-angular-cdk-a11y.mjs +13 -13
  260. package/fesm2022/odx-angular-cdk-active-indicator.mjs +3 -3
  261. package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
  262. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs +4 -4
  263. package/fesm2022/odx-angular-cdk-autocomplete-control.mjs.map +1 -1
  264. package/fesm2022/odx-angular-cdk-checkbox-control.mjs +4 -4
  265. package/fesm2022/odx-angular-cdk-checkbox-control.mjs.map +1 -1
  266. package/fesm2022/odx-angular-cdk-connected-overlay.mjs +6 -6
  267. package/fesm2022/odx-angular-cdk-connected-overlay.mjs.map +1 -1
  268. package/fesm2022/odx-angular-cdk-custom-form-control.mjs +10 -10
  269. package/fesm2022/odx-angular-cdk-custom-form-control.mjs.map +1 -1
  270. package/fesm2022/odx-angular-cdk-dynamic-view.mjs +9 -9
  271. package/fesm2022/odx-angular-cdk-dynamic-view.mjs.map +1 -1
  272. package/fesm2022/odx-angular-cdk-event-plugins.mjs +6 -6
  273. package/fesm2022/odx-angular-cdk-expandable.mjs +10 -10
  274. package/fesm2022/odx-angular-cdk-expandable.mjs.map +1 -1
  275. package/fesm2022/odx-angular-cdk-option-control.mjs +3 -3
  276. package/fesm2022/odx-angular-cdk-radio-group-control.mjs +12 -12
  277. package/fesm2022/odx-angular-cdk-radio-group-control.mjs.map +1 -1
  278. package/fesm2022/odx-angular-components-accordion.mjs +13 -13
  279. package/fesm2022/odx-angular-components-action-group.mjs +3 -3
  280. package/fesm2022/odx-angular-components-area-header.mjs +13 -13
  281. package/fesm2022/odx-angular-components-autocomplete.mjs +18 -20
  282. package/fesm2022/odx-angular-components-autocomplete.mjs.map +1 -1
  283. package/fesm2022/odx-angular-components-avatar.mjs +3 -3
  284. package/fesm2022/odx-angular-components-badge.mjs +6 -6
  285. package/fesm2022/odx-angular-components-badge.mjs.map +1 -1
  286. package/fesm2022/odx-angular-components-bar.mjs +13 -13
  287. package/fesm2022/odx-angular-components-breadcrumbs.mjs +3 -3
  288. package/fesm2022/odx-angular-components-button-group.mjs +3 -3
  289. package/fesm2022/odx-angular-components-button.mjs +6 -6
  290. package/fesm2022/odx-angular-components-calendar.mjs +40 -40
  291. package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
  292. package/fesm2022/odx-angular-components-card.mjs +20 -20
  293. package/fesm2022/odx-angular-components-card.mjs.map +1 -1
  294. package/fesm2022/odx-angular-components-checkbox.mjs +10 -10
  295. package/fesm2022/odx-angular-components-checkbox.mjs.map +1 -1
  296. package/fesm2022/odx-angular-components-chip.mjs +9 -9
  297. package/fesm2022/odx-angular-components-circular-progress.mjs +3 -3
  298. package/fesm2022/odx-angular-components-circular-progress.mjs.map +1 -1
  299. package/fesm2022/odx-angular-components-content-box.mjs +13 -13
  300. package/fesm2022/odx-angular-components-datepicker.mjs +11 -11
  301. package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
  302. package/fesm2022/odx-angular-components-daterangepicker.mjs +17 -17
  303. package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -1
  304. package/fesm2022/odx-angular-components-dropdown.mjs +10 -10
  305. package/fesm2022/odx-angular-components-dropdown.mjs.map +1 -1
  306. package/fesm2022/odx-angular-components-error-page.mjs +3 -3
  307. package/fesm2022/odx-angular-components-footer.mjs +3 -3
  308. package/fesm2022/odx-angular-components-form-field.mjs +37 -37
  309. package/fesm2022/odx-angular-components-form-field.mjs.map +1 -1
  310. package/fesm2022/odx-angular-components-header-navigation.mjs +14 -14
  311. package/fesm2022/odx-angular-components-header.mjs +13 -13
  312. package/fesm2022/odx-angular-components-icon.mjs +3 -3
  313. package/fesm2022/odx-angular-components-inline-message.mjs +3 -3
  314. package/fesm2022/odx-angular-components-inline-message.mjs.map +1 -1
  315. package/fesm2022/odx-angular-components-link.mjs +3 -3
  316. package/fesm2022/odx-angular-components-list.mjs +13 -13
  317. package/fesm2022/odx-angular-components-list.mjs.map +1 -1
  318. package/fesm2022/odx-angular-components-loading-spinner.mjs +10 -10
  319. package/fesm2022/odx-angular-components-loading-spinner.mjs.map +1 -1
  320. package/fesm2022/odx-angular-components-logo.mjs +3 -3
  321. package/fesm2022/odx-angular-components-main-menu.mjs +19 -19
  322. package/fesm2022/odx-angular-components-mainfilter-group.mjs +3 -3
  323. package/fesm2022/odx-angular-components-menu.mjs +13 -13
  324. package/fesm2022/odx-angular-components-menu.mjs.map +1 -1
  325. package/fesm2022/odx-angular-components-modal.mjs +44 -44
  326. package/fesm2022/odx-angular-components-modal.mjs.map +1 -1
  327. package/fesm2022/odx-angular-components-navigation-back.mjs +3 -3
  328. package/fesm2022/odx-angular-components-notification.mjs +16 -17
  329. package/fesm2022/odx-angular-components-notification.mjs.map +1 -1
  330. package/fesm2022/odx-angular-components-paginator.mjs +7 -7
  331. package/fesm2022/odx-angular-components-progress.mjs +3 -3
  332. package/fesm2022/odx-angular-components-progress.mjs.map +1 -1
  333. package/fesm2022/odx-angular-components-radio-group.mjs +12 -14
  334. package/fesm2022/odx-angular-components-radio-group.mjs.map +1 -1
  335. package/fesm2022/odx-angular-components-rail-navigation.mjs +10 -10
  336. package/fesm2022/odx-angular-components-rich-list.mjs +16 -16
  337. package/fesm2022/odx-angular-components-search-bar.mjs +10 -10
  338. package/fesm2022/odx-angular-components-select.mjs +24 -26
  339. package/fesm2022/odx-angular-components-select.mjs.map +1 -1
  340. package/fesm2022/odx-angular-components-slider.mjs +3 -3
  341. package/fesm2022/odx-angular-components-spinbox.mjs +4 -4
  342. package/fesm2022/odx-angular-components-spinbox.mjs.map +1 -1
  343. package/fesm2022/odx-angular-components-switch.mjs +10 -10
  344. package/fesm2022/odx-angular-components-tab-bar.mjs +11 -13
  345. package/fesm2022/odx-angular-components-tab-bar.mjs.map +1 -1
  346. package/fesm2022/odx-angular-components-table.mjs +20 -22
  347. package/fesm2022/odx-angular-components-table.mjs.map +1 -1
  348. package/fesm2022/odx-angular-components-timepicker.mjs +20 -22
  349. package/fesm2022/odx-angular-components-timepicker.mjs.map +1 -1
  350. package/fesm2022/odx-angular-components-toast.mjs +13 -13
  351. package/fesm2022/odx-angular-components-toast.mjs.map +1 -1
  352. package/fesm2022/odx-angular-components-toggle-button-group.mjs +12 -14
  353. package/fesm2022/odx-angular-components-toggle-button-group.mjs.map +1 -1
  354. package/fesm2022/odx-angular-components-tooltip.mjs +7 -7
  355. package/fesm2022/odx-angular-components-tooltip.mjs.map +1 -1
  356. package/fesm2022/odx-angular-components-wizard.mjs +10 -10
  357. package/fesm2022/odx-angular-components-wizard.mjs.map +1 -1
  358. package/fesm2022/odx-angular-internal-translate.mjs +3 -3
  359. package/fesm2022/odx-angular-internal-translate.mjs.map +1 -1
  360. package/fesm2022/odx-angular-internal.mjs.map +1 -1
  361. package/fesm2022/odx-angular-localization.mjs +3 -3
  362. package/fesm2022/odx-angular-localization.mjs.map +1 -1
  363. package/fesm2022/odx-angular-rxjs.mjs.map +1 -1
  364. package/fesm2022/odx-angular-sdk.mjs.map +1 -1
  365. package/fesm2022/odx-angular-theming.mjs +4 -4
  366. package/fesm2022/odx-angular-theming.mjs.map +1 -1
  367. package/fesm2022/odx-angular-utils.mjs +3 -3
  368. package/fesm2022/odx-angular-utils.mjs.map +1 -1
  369. package/fesm2022/odx-angular.mjs +31 -31
  370. package/fesm2022/odx-angular.mjs.map +1 -1
  371. package/package.json +13 -13
@@ -101,4 +101,4 @@ export class CacheStorageClient {
101
101
  return cache.match(request).then((res) => res ?? null);
102
102
  }
103
103
  }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc3RvcmFnZS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2NhY2hlLXN0b3JhZ2UtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsZUFBZSxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsZUFBZSxDQUFDO0FBRXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ21CLFFBQWdCLEVBQ2hCLGVBQWUsTUFBTSxDQUFDLE1BQU07UUFENUIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7SUFDNUMsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUEwQjtRQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVwQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BDLE1BQU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQUksV0FBOEIsRUFBRSxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQVksRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxNQUFNLEdBQUcsR0FBRztRQUM1SCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsSUFBSSxRQUFRLElBQUksWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEMsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFUyxLQUFLLENBQUMsUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFZLEVBQUUsV0FBOEI7UUFDekUsTUFBTSxjQUFjLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sSUFBSSxHQUFHLGNBQWMsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksSUFBSSxFQUFFO1lBQ1IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRVMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFZLEVBQUUsT0FBZ0I7UUFDeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELE1BQU0sWUFBWSxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkUsSUFBSSxZQUFZLEtBQUssVUFBVSxFQUFFO1lBQy9CLE1BQU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU1QixPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUNELElBQUksUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNoQixNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0RDtRQUVELE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBIVFRQICdFdGFnJyBoZWFkZXIsIHVzZWQgZm9yIHdlYiBjYWNoZSB2YWxpZGF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgSFRUUF9FVEFHX0hFQURFUiA9ICdFdGFnJztcblxuLyoqXG4gKiBUaGUgSFRUUCAnSWYtTm9uZS1NYXRjaCcgaGVhZGVyLCB1c2VkIGluIGNvbmRpdGlvbmFsIHJlcXVlc3RzIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgRVRhZy5cbiAqL1xuZXhwb3J0IGNvbnN0IEhUVFBfSUZfTk9ORV9NQVRDSF9IRUFERVIgPSAnSWYtTm9uZS1NYXRjaCc7XG5cbi8qKlxuICogVGhlIEhUVFAgJ0NhY2hlLUNvbnRyb2wnIGhlYWRlciwgdXNlZCB0byBzcGVjaWZ5IGRpcmVjdGl2ZXMgZm9yIGNhY2hpbmcgbWVjaGFuaXNtcyBpbiByZXF1ZXN0cyBhbmQgcmVzcG9uc2VzLlxuICovXG5leHBvcnQgY29uc3QgSFRUUF9DQUNIRV9DT05UUk9MX0hFQURFUiA9ICdDYWNoZS1Db250cm9sJztcblxuLyoqXG4gKiBBIGNsaWVudCBmb3IgbWFuYWdpbmcgY2FjaGUgc3RvcmFnZSBmb3Igd2ViIGFwcGxpY2F0aW9ucy4gSXQgc2ltcGxpZmllcyBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgQ2FjaGUgU3RvcmFnZSBBUEksXG4gKiBhbGxvd2luZyBmb3IgdGhlIGNhY2hpbmcsIHJldHJpZXZhbCwgYW5kIGRlbGV0aW9uIG9mIHJlcXVlc3QgcmVzcG9uc2VzLiBUaGlzIGNsYXNzIHVzZXMgSFRUUCBjYWNoaW5nIGhlYWRlcnMgdG9cbiAqIG9wdGltaXplIG5ldHdvcmsgcmVxdWVzdHMgYW5kIGNhY2hlIG1hbmFnZW1lbnQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBDcmVhdGluZyBhbiBpbnN0YW5jZSBvZiBDYWNoZVN0b3JhZ2VDbGllbnRcbiAqIGNvbnN0IGNhY2hlQ2xpZW50ID0gbmV3IENhY2hlU3RvcmFnZUNsaWVudCgnbXktY2FjaGUnKTtcbiAqXG4gKiAvLyBSZXF1ZXN0aW5nIGFuZCBjYWNoaW5nIGRhdGFcbiAqIGNhY2hlQ2xpZW50LnJlcXVlc3QoJ2h0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RhdGEnKS50aGVuKGRhdGEgPT4ge1xuICogICBjb25zb2xlLmxvZyhkYXRhKTtcbiAqIH0pO1xuICpcbiAqIC8vIERlbGV0aW5nIGEgc3BlY2lmaWMgY2FjaGUgZW50cnlcbiAqIGNhY2hlQ2xpZW50LmRlbGV0ZSgnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vZGF0YScpO1xuICpcbiAqIC8vIENsZWFyaW5nIGFsbCBjYWNoZSBlbnRyaWVzXG4gKiBjYWNoZUNsaWVudC5kZWxldGVBbGwoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgQ2FjaGVTdG9yYWdlQ2xpZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYWNoZUtleTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVTdG9yYWdlID0gd2luZG93LmNhY2hlcyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgc3BlY2lmaWMgY2FjaGUgZW50cnkuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVxdWVzdEluZm8gfCBVUkx9IHJlcXVlc3QgLSBUaGUgcmVxdWVzdCBvciBVUkwgdG8gZGVsZXRlIGZyb20gdGhlIGNhY2hlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGVsZXRpb24gd2FzIHN1Y2Nlc3NmdWwuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlKHJlcXVlc3Q6IFJlcXVlc3RJbmZvIHwgVVJMKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY2FjaGUgPSBhd2FpdCB0aGlzLmdldENhY2hlKCk7XG5cbiAgICByZXR1cm4gY2FjaGUuZGVsZXRlKHJlcXVlc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYWxsIGVudHJpZXMgZnJvbSB0aGUgY2FjaGUuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGFsbCBlbnRyaWVzIGhhdmUgYmVlbiBkZWxldGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRlbGV0ZUFsbCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjYWNoZSA9IGF3YWl0IHRoaXMuZ2V0Q2FjaGUoKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBhd2FpdCBjYWNoZS5rZXlzKCkpIHtcbiAgICAgIGF3YWl0IGNhY2hlLmRlbGV0ZShrZXkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBhIHJlcXVlc3QsIGNhY2hpbmcgdGhlIHJlc3BvbnNlIGlmIGFwcGxpY2FibGUuIElmIGEgcmVzcG9uc2UgaXMgY2FjaGVkIGZvciB0aGUgcmVxdWVzdCBhbmQgc3RpbGwgdmFsaWQsXG4gICAqIGl0IHJldHVybnMgdGhlIGNhY2hlZCByZXNwb25zZSBpbnN0ZWFkIG9mIG1ha2luZyBhIG5ldyBuZXR3b3JrIHJlcXVlc3QuXG4gICAqXG4gICAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGV4cGVjdGVkIHJlc3BvbnNlIGRhdGEgdHlwZS5cbiAgICogQHBhcmFtIHtSZXF1ZXN0SW5mbyB8IFVSTH0gcmVxdWVzdEluZm8gLSBUaGUgcmVxdWVzdCBpbmZvcm1hdGlvbiBvciBVUkwgdG8gZmV0Y2ggYW5kIGNhY2hlLlxuICAgKiBAcGFyYW0geyhyZXNwb25zZTogUmVzcG9uc2UpID0+IGJvb2xlYW59IFtzaG91bGREZWxldGU9KHsgc3RhdHVzIH0pID0+IHN0YXR1cyA+PSA0MDAgJiYgc3RhdHVzIDwgNTAwXSAtIEFuIG9wdGlvbmFsIGZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiB0aGUgY2FjaGUgZW50cnkgc2hvdWxkIGJlIGRlbGV0ZWQgYmFzZWQgb24gdGhlIHJlc3BvbnNlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUIHwgbnVsbD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSByZXNwb25zZSBkYXRhLCBvciBudWxsIGlmIHRoZSByZXF1ZXN0IGZhaWxzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlcXVlc3Q8VD4ocmVxdWVzdEluZm86IFJlcXVlc3RJbmZvIHwgVVJMLCBzaG91bGREZWxldGUgPSAoeyBzdGF0dXMgfTogUmVzcG9uc2UpID0+IHN0YXR1cyA+PSA0MDAgJiYgc3RhdHVzIDwgNTAwKTogUHJvbWlzZTxUIHwgbnVsbD4ge1xuICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgdGhpcy5nZXRDYWNoZSgpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCB0aGlzLnByZXBhcmVSZXF1ZXN0KGNhY2hlLCByZXF1ZXN0SW5mbyk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlbmRSZXF1ZXN0KGNhY2hlLCByZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgc2hvdWxkRGVsZXRlPy4ocmVzcG9uc2UpKSB7XG4gICAgICBhd2FpdCBjYWNoZS5kZWxldGUocmVxdWVzdCk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZT8uanNvbigpID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0Q2FjaGUoKTogUHJvbWlzZTxDYWNoZT4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlU3RvcmFnZS5vcGVuKHRoaXMuY2FjaGVLZXkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHByZXBhcmVSZXF1ZXN0KGNhY2hlOiBDYWNoZSwgcmVxdWVzdEluZm86IFJlcXVlc3RJbmZvIHwgVVJMKTogUHJvbWlzZTxSZXF1ZXN0PiB7XG4gICAgY29uc3QgY2FjaGVkUmVzcG9uc2UgPSBhd2FpdCBjYWNoZS5tYXRjaChyZXF1ZXN0SW5mbyk7XG4gICAgY29uc3QgZXRhZyA9IGNhY2hlZFJlc3BvbnNlPy5oZWFkZXJzPy5nZXQoSFRUUF9FVEFHX0hFQURFUikgPz8gbnVsbDtcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFJlcXVlc3QocmVxdWVzdEluZm8pO1xuICAgIGlmIChldGFnKSB7XG4gICAgICByZXF1ZXN0LmhlYWRlcnMuc2V0KEhUVFBfSUZfTk9ORV9NQVRDSF9IRUFERVIsIGV0YWcpO1xuICAgIH1cblxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIHNlbmRSZXF1ZXN0KGNhY2hlOiBDYWNoZSwgcmVxdWVzdDogUmVxdWVzdCk6IFByb21pc2U8UmVzcG9uc2UgfCBudWxsPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChyZXF1ZXN0KS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgICBjb25zdCBjYWNoZUNvbnRyb2wgPSByZXNwb25zZT8uaGVhZGVycz8uZ2V0KEhUVFBfQ0FDSEVfQ09OVFJPTF9IRUFERVIpO1xuICAgIGlmIChjYWNoZUNvbnRyb2wgPT09ICduby1jYWNoZScpIHtcbiAgICAgIGF3YWl0IGNhY2hlLmRlbGV0ZShyZXF1ZXN0KTtcblxuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cbiAgICBpZiAocmVzcG9uc2U/Lm9rKSB7XG4gICAgICBhd2FpdCBjYWNoZS5wdXQocmVxdWVzdCwgcmVzcG9uc2UpLmNhdGNoKCgpID0+IG51bGwpO1xuICAgIH1cblxuICAgIHJldHVybiBjYWNoZS5tYXRjaChyZXF1ZXN0KS50aGVuKChyZXMpID0+IHJlcyA/PyBudWxsKTtcbiAgfVxufVxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc3RvcmFnZS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2NhY2hlLXN0b3JhZ2UtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsZUFBZSxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsZUFBZSxDQUFDO0FBRXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ21CLFFBQWdCLEVBQ2hCLGVBQWUsTUFBTSxDQUFDLE1BQU07UUFENUIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7SUFDNUMsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUEwQjtRQUM1QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVwQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsU0FBUztRQUNwQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDckMsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsT0FBTyxDQUFJLFdBQThCLEVBQUUsZUFBZSxDQUFDLEVBQUUsTUFBTSxFQUFZLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxHQUFHLEdBQUc7UUFDNUgsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELElBQUksUUFBUSxJQUFJLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFDRCxPQUFPLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVTLEtBQUssQ0FBQyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFUyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQVksRUFBRSxXQUE4QjtRQUN6RSxNQUFNLGNBQWMsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsTUFBTSxJQUFJLEdBQUcsY0FBYyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRVMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFZLEVBQUUsT0FBZ0I7UUFDeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELE1BQU0sWUFBWSxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkUsSUFBSSxZQUFZLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTVCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNqQixNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIEhUVFAgJ0V0YWcnIGhlYWRlciwgdXNlZCBmb3Igd2ViIGNhY2hlIHZhbGlkYXRpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBIVFRQX0VUQUdfSEVBREVSID0gJ0V0YWcnO1xuXG4vKipcbiAqIFRoZSBIVFRQICdJZi1Ob25lLU1hdGNoJyBoZWFkZXIsIHVzZWQgaW4gY29uZGl0aW9uYWwgcmVxdWVzdHMgdG8gY29tcGFyZSBhZ2FpbnN0IHRoZSBFVGFnLlxuICovXG5leHBvcnQgY29uc3QgSFRUUF9JRl9OT05FX01BVENIX0hFQURFUiA9ICdJZi1Ob25lLU1hdGNoJztcblxuLyoqXG4gKiBUaGUgSFRUUCAnQ2FjaGUtQ29udHJvbCcgaGVhZGVyLCB1c2VkIHRvIHNwZWNpZnkgZGlyZWN0aXZlcyBmb3IgY2FjaGluZyBtZWNoYW5pc21zIGluIHJlcXVlc3RzIGFuZCByZXNwb25zZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBIVFRQX0NBQ0hFX0NPTlRST0xfSEVBREVSID0gJ0NhY2hlLUNvbnRyb2wnO1xuXG4vKipcbiAqIEEgY2xpZW50IGZvciBtYW5hZ2luZyBjYWNoZSBzdG9yYWdlIGZvciB3ZWIgYXBwbGljYXRpb25zLiBJdCBzaW1wbGlmaWVzIGludGVyYWN0aW9ucyB3aXRoIHRoZSBDYWNoZSBTdG9yYWdlIEFQSSxcbiAqIGFsbG93aW5nIGZvciB0aGUgY2FjaGluZywgcmV0cmlldmFsLCBhbmQgZGVsZXRpb24gb2YgcmVxdWVzdCByZXNwb25zZXMuIFRoaXMgY2xhc3MgdXNlcyBIVFRQIGNhY2hpbmcgaGVhZGVycyB0b1xuICogb3B0aW1pemUgbmV0d29yayByZXF1ZXN0cyBhbmQgY2FjaGUgbWFuYWdlbWVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIENyZWF0aW5nIGFuIGluc3RhbmNlIG9mIENhY2hlU3RvcmFnZUNsaWVudFxuICogY29uc3QgY2FjaGVDbGllbnQgPSBuZXcgQ2FjaGVTdG9yYWdlQ2xpZW50KCdteS1jYWNoZScpO1xuICpcbiAqIC8vIFJlcXVlc3RpbmcgYW5kIGNhY2hpbmcgZGF0YVxuICogY2FjaGVDbGllbnQucmVxdWVzdCgnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vZGF0YScpLnRoZW4oZGF0YSA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKGRhdGEpO1xuICogfSk7XG4gKlxuICogLy8gRGVsZXRpbmcgYSBzcGVjaWZpYyBjYWNoZSBlbnRyeVxuICogY2FjaGVDbGllbnQuZGVsZXRlKCdodHRwczovL2FwaS5leGFtcGxlLmNvbS9kYXRhJyk7XG4gKlxuICogLy8gQ2xlYXJpbmcgYWxsIGNhY2hlIGVudHJpZXNcbiAqIGNhY2hlQ2xpZW50LmRlbGV0ZUFsbCgpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBDYWNoZVN0b3JhZ2VDbGllbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlS2V5OiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYWNoZVN0b3JhZ2UgPSB3aW5kb3cuY2FjaGVzLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSBzcGVjaWZpYyBjYWNoZSBlbnRyeS5cbiAgICpcbiAgICogQHBhcmFtIHtSZXF1ZXN0SW5mbyB8IFVSTH0gcmVxdWVzdCAtIFRoZSByZXF1ZXN0IG9yIFVSTCB0byBkZWxldGUgZnJvbSB0aGUgY2FjaGUuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBkZWxldGlvbiB3YXMgc3VjY2Vzc2Z1bC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGUocmVxdWVzdDogUmVxdWVzdEluZm8gfCBVUkwpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjYWNoZSA9IGF3YWl0IHRoaXMuZ2V0Q2FjaGUoKTtcblxuICAgIHJldHVybiBjYWNoZS5kZWxldGUocmVxdWVzdCk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhbGwgZW50cmllcyBmcm9tIHRoZSBjYWNoZS5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gYWxsIGVudHJpZXMgaGF2ZSBiZWVuIGRlbGV0ZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlQWxsKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNhY2hlID0gYXdhaXQgdGhpcy5nZXRDYWNoZSgpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGF3YWl0IGNhY2hlLmtleXMoKSkge1xuICAgICAgYXdhaXQgY2FjaGUuZGVsZXRlKGtleSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm1zIGEgcmVxdWVzdCwgY2FjaGluZyB0aGUgcmVzcG9uc2UgaWYgYXBwbGljYWJsZS4gSWYgYSByZXNwb25zZSBpcyBjYWNoZWQgZm9yIHRoZSByZXF1ZXN0IGFuZCBzdGlsbCB2YWxpZCxcbiAgICogaXQgcmV0dXJucyB0aGUgY2FjaGVkIHJlc3BvbnNlIGluc3RlYWQgb2YgbWFraW5nIGEgbmV3IG5ldHdvcmsgcmVxdWVzdC5cbiAgICpcbiAgICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgcmVzcG9uc2UgZGF0YSB0eXBlLlxuICAgKiBAcGFyYW0ge1JlcXVlc3RJbmZvIHwgVVJMfSByZXF1ZXN0SW5mbyAtIFRoZSByZXF1ZXN0IGluZm9ybWF0aW9uIG9yIFVSTCB0byBmZXRjaCBhbmQgY2FjaGUuXG4gICAqIEBwYXJhbSB7KHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gYm9vbGVhbn0gW3Nob3VsZERlbGV0ZT0oeyBzdGF0dXMgfSkgPT4gc3RhdHVzID49IDQwMCAmJiBzdGF0dXMgPCA1MDBdIC0gQW4gb3B0aW9uYWwgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIHRoZSBjYWNoZSBlbnRyeSBzaG91bGQgYmUgZGVsZXRlZCBiYXNlZCBvbiB0aGUgcmVzcG9uc2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFQgfCBudWxsPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlc3BvbnNlIGRhdGEsIG9yIG51bGwgaWYgdGhlIHJlcXVlc3QgZmFpbHMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVxdWVzdDxUPihyZXF1ZXN0SW5mbzogUmVxdWVzdEluZm8gfCBVUkwsIHNob3VsZERlbGV0ZSA9ICh7IHN0YXR1cyB9OiBSZXNwb25zZSkgPT4gc3RhdHVzID49IDQwMCAmJiBzdGF0dXMgPCA1MDApOiBQcm9taXNlPFQgfCBudWxsPiB7XG4gICAgY29uc3QgY2FjaGUgPSBhd2FpdCB0aGlzLmdldENhY2hlKCk7XG4gICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHRoaXMucHJlcGFyZVJlcXVlc3QoY2FjaGUsIHJlcXVlc3RJbmZvKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2VuZFJlcXVlc3QoY2FjaGUsIHJlcXVlc3QpO1xuICAgIGlmIChyZXNwb25zZSAmJiBzaG91bGREZWxldGU/LihyZXNwb25zZSkpIHtcbiAgICAgIGF3YWl0IGNhY2hlLmRlbGV0ZShyZXF1ZXN0KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlPy5qc29uKCkgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBnZXRDYWNoZSgpOiBQcm9taXNlPENhY2hlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdG9yYWdlLm9wZW4odGhpcy5jYWNoZUtleSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgcHJlcGFyZVJlcXVlc3QoY2FjaGU6IENhY2hlLCByZXF1ZXN0SW5mbzogUmVxdWVzdEluZm8gfCBVUkwpOiBQcm9taXNlPFJlcXVlc3Q+IHtcbiAgICBjb25zdCBjYWNoZWRSZXNwb25zZSA9IGF3YWl0IGNhY2hlLm1hdGNoKHJlcXVlc3RJbmZvKTtcbiAgICBjb25zdCBldGFnID0gY2FjaGVkUmVzcG9uc2U/LmhlYWRlcnM/LmdldChIVFRQX0VUQUdfSEVBREVSKSA/PyBudWxsO1xuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUmVxdWVzdChyZXF1ZXN0SW5mbyk7XG4gICAgaWYgKGV0YWcpIHtcbiAgICAgIHJlcXVlc3QuaGVhZGVycy5zZXQoSFRUUF9JRl9OT05FX01BVENIX0hFQURFUiwgZXRhZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgc2VuZFJlcXVlc3QoY2FjaGU6IENhY2hlLCByZXF1ZXN0OiBSZXF1ZXN0KTogUHJvbWlzZTxSZXNwb25zZSB8IG51bGw+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHJlcXVlc3QpLmNhdGNoKCgpID0+IG51bGwpO1xuICAgIGNvbnN0IGNhY2hlQ29udHJvbCA9IHJlc3BvbnNlPy5oZWFkZXJzPy5nZXQoSFRUUF9DQUNIRV9DT05UUk9MX0hFQURFUik7XG4gICAgaWYgKGNhY2hlQ29udHJvbCA9PT0gJ25vLWNhY2hlJykge1xuICAgICAgYXdhaXQgY2FjaGUuZGVsZXRlKHJlcXVlc3QpO1xuXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuICAgIGlmIChyZXNwb25zZT8ub2spIHtcbiAgICAgIGF3YWl0IGNhY2hlLnB1dChyZXF1ZXN0LCByZXNwb25zZSkuY2F0Y2goKCkgPT4gbnVsbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhY2hlLm1hdGNoKHJlcXVlc3QpLnRoZW4oKHJlcykgPT4gcmVzID8/IG51bGwpO1xuICB9XG59XG4iXX0=
@@ -45,4 +45,4 @@ export function debounce(func, delay, immediate = false) {
45
45
  }
46
46
  };
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2RlYm91bmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQXlCLElBQTZCLEVBQUUsS0FBYSxFQUFFLFNBQVMsR0FBRyxLQUFLO0lBQzlHLElBQUksT0FBTyxHQUFrQixJQUFJLENBQUM7SUFFbEMsT0FBTyxVQUF5QixHQUFHLElBQVU7UUFDM0MsNERBQTREO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztRQUNyQixNQUFNLGVBQWUsR0FBRyxTQUFTLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQztRQUN0RCxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZCO1FBQ0QsT0FBTyxHQUFHLFVBQVUsQ0FBQztZQUNuQixPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDM0I7UUFDSCxDQUFDLEVBQUUsS0FBSyxDQUFzQixDQUFDO1FBQy9CLElBQUksZUFBZSxFQUFFO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBhIGRlYm91bmNlZCBmdW5jdGlvbiB0aGF0IGRlbGF5cyBpbnZva2luZyB0aGUgcHJvdmlkZWQgZnVuY3Rpb24gdW50aWwgYWZ0ZXIgYGRlbGF5YCBtaWxsaXNlY29uZHNcbiAqIGhhdmUgZWxhcHNlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gd2FzIGludm9rZWQuIE9wdGlvbmFsbHksIHRoZSBmdW5jdGlvbiBjYW4gYmVcbiAqIHRyaWdnZXJlZCBpbW1lZGlhdGVseSBvbiB0aGUgZmlyc3QgY2FsbCwgdGhlbiBkZWJvdW5jZWQgZm9yIHN1YnNlcXVlbnQgY2FsbHMuXG4gKlxuICogQHRlbXBsYXRlIEFyZ3MgLSBBIHR1cGxlIHJlcHJlc2VudGluZyB0aGUgdHlwZXMgb2YgYXJndW1lbnRzIHRoZSBgZnVuY2AgYWNjZXB0cy5cbiAqIEBwYXJhbSB7KC4uLmFyZ3M6IEFyZ3MpID0+IHZvaWR9IGZ1bmMgLSBUaGUgZnVuY3Rpb24gdG8gZGVib3VuY2UuXG4gKiBAcGFyYW0ge251bWJlcn0gZGVsYXkgLSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2ltbWVkaWF0ZT1mYWxzZV0gLSBXaGV0aGVyIHRvIHRyaWdnZXIgdGhlIGZ1bmN0aW9uIGltbWVkaWF0ZWx5IG9uIHRoZSBmaXJzdCBjYWxsLFxuICogYW5kIHRoZW4gZGVib3VuY2Ugc3Vic2VxdWVudCBjYWxscy5cbiAqIEByZXR1cm5zIHsoLi4uYXJnczogQXJncykgPT4gdm9pZH0gQSBuZXcsIGRlYm91bmNlZCBmdW5jdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIEV4YW1wbGUgdXNhZ2Ugd2l0aCBhIHdpbmRvdyByZXNpemUgZXZlbnRcbiAqIGNvbnN0IGhhbmRsZVJlc2l6ZSA9IGRlYm91bmNlKCgpID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1dpbmRvdyByZXNpemVkJyk7XG4gKiB9LCAyNTApO1xuICogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZVJlc2l6ZSk7XG4gKlxuICogLy8gRXhhbXBsZSB1c2luZyBpbW1lZGlhdGUgaW52b2NhdGlvblxuICogY29uc3QgcHJvY2Vzc0tleVByZXNzID0gZGVib3VuY2UoKGV2ZW50KSA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdLZXkgcHJlc3NlZDonLCBldmVudC5rZXkpO1xuICogfSwgMjAwLCB0cnVlKTtcbiAqIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgcHJvY2Vzc0tleVByZXNzKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVib3VuY2U8QXJncyBleHRlbmRzIHVua25vd25bXT4oZnVuYzogKC4uLmFyZ3M6IEFyZ3MpID0+IHZvaWQsIGRlbGF5OiBudW1iZXIsIGltbWVkaWF0ZSA9IGZhbHNlKTogKC4uLmFyZ3M6IEFyZ3MpID0+IHZvaWQge1xuICBsZXQgdGltZW91dDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICh0aGlzOiB1bmtub3duLCAuLi5hcmdzOiBBcmdzKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXM7XG4gICAgY29uc3QgY2FsbEltbWVkaWF0ZWx5ID0gaW1tZWRpYXRlICYmIHRpbWVvdXQgPT09IG51bGw7XG4gICAgaWYgKHRpbWVvdXQgIT09IG51bGwpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB9XG4gICAgdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICBpZiAoIWNhbGxJbW1lZGlhdGVseSkge1xuICAgICAgICBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgfVxuICAgIH0sIGRlbGF5KSBhcyB1bmtub3duIGFzIG51bWJlcjtcbiAgICBpZiAoY2FsbEltbWVkaWF0ZWx5KSB7XG4gICAgICBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVib3VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2RlYm91bmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQXlCLElBQTZCLEVBQUUsS0FBYSxFQUFFLFNBQVMsR0FBRyxLQUFLO0lBQzlHLElBQUksT0FBTyxHQUFrQixJQUFJLENBQUM7SUFFbEMsT0FBTyxVQUF5QixHQUFHLElBQVU7UUFDM0MsNERBQTREO1FBQzVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztRQUNyQixNQUFNLGVBQWUsR0FBRyxTQUFTLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQztRQUN0RCxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNyQixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sR0FBRyxVQUFVLENBQUM7WUFDbkIsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNmLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUMsRUFBRSxLQUFLLENBQXNCLENBQUM7UUFDL0IsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBhIGRlYm91bmNlZCBmdW5jdGlvbiB0aGF0IGRlbGF5cyBpbnZva2luZyB0aGUgcHJvdmlkZWQgZnVuY3Rpb24gdW50aWwgYWZ0ZXIgYGRlbGF5YCBtaWxsaXNlY29uZHNcbiAqIGhhdmUgZWxhcHNlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gd2FzIGludm9rZWQuIE9wdGlvbmFsbHksIHRoZSBmdW5jdGlvbiBjYW4gYmVcbiAqIHRyaWdnZXJlZCBpbW1lZGlhdGVseSBvbiB0aGUgZmlyc3QgY2FsbCwgdGhlbiBkZWJvdW5jZWQgZm9yIHN1YnNlcXVlbnQgY2FsbHMuXG4gKlxuICogQHRlbXBsYXRlIEFyZ3MgLSBBIHR1cGxlIHJlcHJlc2VudGluZyB0aGUgdHlwZXMgb2YgYXJndW1lbnRzIHRoZSBgZnVuY2AgYWNjZXB0cy5cbiAqIEBwYXJhbSB7KC4uLmFyZ3M6IEFyZ3MpID0+IHZvaWR9IGZ1bmMgLSBUaGUgZnVuY3Rpb24gdG8gZGVib3VuY2UuXG4gKiBAcGFyYW0ge251bWJlcn0gZGVsYXkgLSBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2ltbWVkaWF0ZT1mYWxzZV0gLSBXaGV0aGVyIHRvIHRyaWdnZXIgdGhlIGZ1bmN0aW9uIGltbWVkaWF0ZWx5IG9uIHRoZSBmaXJzdCBjYWxsLFxuICogYW5kIHRoZW4gZGVib3VuY2Ugc3Vic2VxdWVudCBjYWxscy5cbiAqIEByZXR1cm5zIHsoLi4uYXJnczogQXJncykgPT4gdm9pZH0gQSBuZXcsIGRlYm91bmNlZCBmdW5jdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIEV4YW1wbGUgdXNhZ2Ugd2l0aCBhIHdpbmRvdyByZXNpemUgZXZlbnRcbiAqIGNvbnN0IGhhbmRsZVJlc2l6ZSA9IGRlYm91bmNlKCgpID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1dpbmRvdyByZXNpemVkJyk7XG4gKiB9LCAyNTApO1xuICogd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGhhbmRsZVJlc2l6ZSk7XG4gKlxuICogLy8gRXhhbXBsZSB1c2luZyBpbW1lZGlhdGUgaW52b2NhdGlvblxuICogY29uc3QgcHJvY2Vzc0tleVByZXNzID0gZGVib3VuY2UoKGV2ZW50KSA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdLZXkgcHJlc3NlZDonLCBldmVudC5rZXkpO1xuICogfSwgMjAwLCB0cnVlKTtcbiAqIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgcHJvY2Vzc0tleVByZXNzKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVib3VuY2U8QXJncyBleHRlbmRzIHVua25vd25bXT4oZnVuYzogKC4uLmFyZ3M6IEFyZ3MpID0+IHZvaWQsIGRlbGF5OiBudW1iZXIsIGltbWVkaWF0ZSA9IGZhbHNlKTogKC4uLmFyZ3M6IEFyZ3MpID0+IHZvaWQge1xuICBsZXQgdGltZW91dDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICh0aGlzOiB1bmtub3duLCAuLi5hcmdzOiBBcmdzKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXM7XG4gICAgY29uc3QgY2FsbEltbWVkaWF0ZWx5ID0gaW1tZWRpYXRlICYmIHRpbWVvdXQgPT09IG51bGw7XG4gICAgaWYgKHRpbWVvdXQgIT09IG51bGwpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB9XG4gICAgdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICBpZiAoIWNhbGxJbW1lZGlhdGVseSkge1xuICAgICAgICBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgfVxuICAgIH0sIGRlbGF5KSBhcyB1bmtub3duIGFzIG51bWJlcjtcbiAgICBpZiAoY2FsbEltbWVkaWF0ZWx5KSB7XG4gICAgICBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -131,4 +131,4 @@ export function containsElement(parent, other, inclusive = true) {
131
131
  return false;
132
132
  return parent.contains(other);
133
133
  }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3V0aWxzL3NyYy9saWIvaGVscGVycy9kb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQW9CLEVBQUUsTUFBdUY7SUFDdkksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFjO0lBQ3JELE9BQU8sZ0NBQWdDLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDO0FBQzVELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxLQUFjO0lBQzdELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsRUFBRSxDQUFDLEtBQWM7SUFDL0IsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNoRCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFhLEVBQUUsQ0FBYTtJQUN2RCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFvQixFQUFFLFFBQWlCO0lBQzNFLElBQUksUUFBUSxFQUFFO1FBQ1osV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0tBQzlDO1NBQU07UUFDTCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDNUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUFvQjtJQUNwRCxPQUFPLENBQUMsWUFBWSxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQW9CLEVBQUUsU0FBaUIsRUFBRSxLQUFlO0lBQ25GLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN0QyxPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztLQUNuRDtTQUFNO1FBQ0wsT0FBTyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzdDO0FBQ0gsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWdDO0lBQ25FLElBQUk7UUFDRixPQUFPLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3JDO0lBQUMsTUFBTTtRQUNOLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0tBQ3JGO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxRQUFvQyxFQUFFLFFBQWtEO0lBQzdILElBQUk7UUFDRixPQUFPLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN4QyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztLQUNuRjtBQUNILENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUF1QixFQUFFLEtBQXNCLEVBQUUsU0FBUyxHQUFHLElBQUk7SUFDL0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sS0FBSyxLQUFLO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDakQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc051bWJlciwgaXNTdHJpbmcgfSBmcm9tICcuL3R5cGUtZ3VhcmRzJztcblxuLyoqXG4gKiBBcHBsaWVzIGEgc2V0IG9mIENTUyBzdHlsZXMgdG8gYW4gSFRNTCBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBhcHBseSBzdHlsZXMgdG8uXG4gKiBAcGFyYW0ge1BhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbiB8IFJlY29yZDxrZXlvZiBDU1NTdHlsZURlY2xhcmF0aW9uLCBzdHJpbmcgfCBudWxsPj59IHN0eWxlcyAtIEFuIG9iamVjdCBjb250YWluaW5nIENTUyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgdG8gYXBwbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVN0eWxlcyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3R5bGVzOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24gfCBSZWNvcmQ8a2V5b2YgQ1NTU3R5bGVEZWNsYXJhdGlvbiwgc3RyaW5nIHwgbnVsbD4+KTogdm9pZCB7XG4gIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgc3R5bGVzKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJvb2xlYW4gdmFsdWUgdG8gYSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtib29sZWFufSBzdGF0ZSAtIFRoZSBib29sZWFuIHN0YXRlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAndHJ1ZScgaWYgdGhlIHN0YXRlIGlzIHRydWU7IG90aGVyd2lzZSwgJ2ZhbHNlJy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5Ub0F0dHJpYnV0ZVN0cmluZyhzdGF0ZTogYm9vbGVhbik6IHN0cmluZyB7XG4gIHJldHVybiBib29sZWFuVG9PcHRpb25hbEF0dHJpYnV0ZVN0cmluZyhzdGF0ZSkgPz8gJ2ZhbHNlJztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJvb2xlYW4gdmFsdWUgdG8gJ3RydWUnIG9yIG51bGwsIHVzZWZ1bCBmb3Igc2V0dGluZyBhdHRyaWJ1dGVzIGJhc2VkIG9uIGJvb2xlYW4gY29uZGl0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHN0YXRlIC0gVGhlIGJvb2xlYW4gc3RhdGUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAndHJ1ZScgaWYgdGhlIHN0YXRlIGlzIHRydWU7IG90aGVyd2lzZSwgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5Ub09wdGlvbmFsQXR0cmlidXRlU3RyaW5nKHN0YXRlOiBib29sZWFuKTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBzdGF0ZSA/ICd0cnVlJyA6IG51bGw7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBudW1lcmljIHZhbHVlIHRvIGEgcGl4ZWwgc3RyaW5nLCBhcHBlbmRpbmcgJ3B4JyB0byB0aGUgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSB7dW5rbm93bn0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBwaXhlbHMuXG4gKiBAcmV0dXJucyB7YCR7bnVtYmVyfXB4YH0gVGhlIHZhbHVlIGluIHBpeGVscywgb3IgJzBweCcgaWYgdGhlIGlucHV0IGlzIG5vdCBhIG51bWJlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB4KHZhbHVlOiB1bmtub3duKTogYCR7bnVtYmVyfXB4YCB7XG4gIHJldHVybiBpc051bWJlcih2YWx1ZSkgPyBgJHt2YWx1ZX1weGAgOiAnMHB4Jztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBDU1MgdHJhbnNsYXRlM2Qgc3RyaW5nIGZvciBnaXZlbiB4IGFuZCB5IHZhbHVlcy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZyB8IDB9IHggLSBUaGUgdHJhbnNsYXRpb24gdmFsdWUgYWxvbmcgdGhlIHgtYXhpcy5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgMH0geSAtIFRoZSB0cmFuc2xhdGlvbiB2YWx1ZSBhbG9uZyB0aGUgeS1heGlzLlxuICogQHJldHVybnMge2B0cmFuc2xhdGUzZCgke3N0cmluZyB8IDB9LCAke3N0cmluZyB8IDB9LCAwKWB9IFRoZSBDU1MgdHJhbnNsYXRlM2QgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjc3NUcmFuc2xhdGUoeDogc3RyaW5nIHwgMCwgeTogc3RyaW5nIHwgMCk6IGB0cmFuc2xhdGUzZCgke3N0cmluZyB8IDB9LCAke3N0cmluZyB8IDB9LCAwKWAge1xuICByZXR1cm4gYHRyYW5zbGF0ZTNkKCR7eH0sICR7eX0sIDApYDtcbn1cblxuLyoqXG4gKiBEaXNhYmxlcyBvciByZS1lbmFibGVzIENTUyB0cmFuc2l0aW9ucyBvbiBhbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGRpc2FibGVkIC0gV2hldGhlciB0byBkaXNhYmxlIENTUyB0cmFuc2l0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVDU1NUcmFuc2l0aW9ucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgaWYgKGRpc2FibGVkKSB7XG4gICAgYXBwbHlTdHlsZXMoZWxlbWVudCwgeyB0cmFuc2l0aW9uOiAnbm9uZScgfSk7XG4gIH0gZWxzZSB7XG4gICAgZm9yY2VMYXlvdXRSZWZsb3coZWxlbWVudCk7XG4gICAgYXBwbHlTdHlsZXMoZWxlbWVudCwgeyB0cmFuc2l0aW9uOiBudWxsIH0pO1xuICB9XG59XG5cbi8qKlxuICogRm9yY2VzIHRoZSBicm93c2VyIHRvIHJlZmxvdyB0aGUgbGF5b3V0LCB1c2VmdWwgZm9yIHRyaWdnZXJpbmcgQ1NTIHRyYW5zaXRpb25zIG9yIGFuaW1hdGlvbnMuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIGZvcmNlIGEgcmVmbG93IG9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9yY2VMYXlvdXRSZWZsb3coZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG59XG5cbi8qKlxuICogU2V0cyBhbiBhdHRyaWJ1dGUgb24gYW4gSFRNTCBlbGVtZW50LCBjb252ZXJ0aW5nIHRoZSB2YWx1ZSB0byBhIHN0cmluZyBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIHNldCB0aGUgYXR0cmlidXRlIG9uLlxuICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSAtIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdG8gc2V0LlxuICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlOyB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIHN0cmluZyBpZiBpdCdzIG5vdCBudWxsIG9yIHVuZGVmaW5lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEF0dHJpYnV0ZShlbGVtZW50OiBIVE1MRWxlbWVudCwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogdW5rbm93bikge1xuICBpZiAoaXNTdHJpbmcodmFsdWUpIHx8IGlzTnVtYmVyKHZhbHVlKSkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gIH0gZWxzZSB7XG4gICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCAhIXZhbHVlKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBSZXNpemVPYnNlcnZlciBpbnN0YW5jZSBzYWZlbHksIGZhbGxpbmcgYmFjayB0byBhIGR1bW15IGlmIHRoZSBBUEkgaXMgbm90IHN1cHBvcnRlZC5cbiAqXG4gKiBAcGFyYW0ge1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2t9IGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGV4ZWN1dGUgd2hlbiBhbiBvYnNlcnZlZCBlbGVtZW50J3Mgc2l6ZSBjaGFuZ2VzLlxuICogQHJldHVybnMge1Jlc2l6ZU9ic2VydmVyfSBBIFJlc2l6ZU9ic2VydmVyIGluc3RhbmNlIG9yIGEgZHVtbXkgb2JqZWN0IHdpdGggbm8tb3AgbWV0aG9kcyBpZiB1bnN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc2l6ZU9ic2VydmVyKGNhbGxiYWNrOiBSZXNpemVPYnNlcnZlckNhbGxiYWNrKTogUmVzaXplT2JzZXJ2ZXIge1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgUmVzaXplT2JzZXJ2ZXIoY2FsbGJhY2spO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4geyBvYnNlcnZlOiAoKSA9PiB2b2lkIDAsIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQgMCwgdW5vYnNlcnZlOiAoKSA9PiB2b2lkIDAgfTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBNdXRhdGlvbk9ic2VydmVyIGluc3RhbmNlIHNhZmVseSwgZmFsbGluZyBiYWNrIHRvIGEgZHVtbXkgaWYgdGhlIEFQSSBpcyBub3Qgc3VwcG9ydGVkLlxuICpcbiAqIEBwYXJhbSB7U3Vic2NyaWJlcjxNdXRhdGlvblJlY29yZD59IG9ic2VydmVyIC0gVGhlIFJ4SlMgU3Vic2NyaWJlciB0byBlbWl0IG5leHQgdmFsdWVzIHRvLlxuICogQHBhcmFtIHsobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiBib29sZWFufSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0aGF0IGRldGVybWluZXMgd2hldGhlciB0byBub3RpZnkgdGhlIG9ic2VydmVyIGJhc2VkIG9uIG11dGF0aW9ucy5cbiAqIEByZXR1cm5zIHtNdXRhdGlvbk9ic2VydmVyfSBBIE11dGF0aW9uT2JzZXJ2ZXIgaW5zdGFuY2Ugb3IgYSBkdW1teSBvYmplY3Qgd2l0aCBuby1vcCBtZXRob2RzIGlmIHVuc3VwcG9ydGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTXV0YXRpb25PYnNlcnZlcihvYnNlcnZlcjogU3Vic2NyaWJlcjxNdXRhdGlvblJlY29yZD4sIGNhbGxiYWNrOiAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiBib29sZWFuKTogTXV0YXRpb25PYnNlcnZlciB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgIGlmIChjYWxsYmFjayhtdXRhdGlvbnMpKSB7XG4gICAgICAgIG9ic2VydmVyLm5leHQobXV0YXRpb25zWzBdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4geyBkaXNjb25uZWN0OiAoKSA9PiB2b2lkIDAsIG9ic2VydmU6ICgpID0+IHZvaWQgMCwgdGFrZVJlY29yZHM6ICgpID0+IFtdIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgZWxlbWVudCBjb250YWlucyBhbm90aGVyIGluIHRoZSBET00gdHJlZS5cbiAqXG4gKiBAcGFyYW0ge0VsZW1lbnQgfCBudWxsfSBwYXJlbnQgLSBUaGUgcGFyZW50IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0VsZW1lbnQgfCBudWxsfSBvdGhlciAtIFRoZSBlbGVtZW50IHRvIGNoZWNrIGZvciBjb250YWlubWVudC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2luY2x1c2l2ZT10cnVlXSAtIFdoZXRoZXIgdG8gY29uc2lkZXIgYW4gZWxlbWVudCBhcyBjb250YWluaW5nIGl0c2VsZi5cbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBwYXJlbnQgY29udGFpbnMgdGhlIG90aGVyIGVsZW1lbnQ7IGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zRWxlbWVudChwYXJlbnQ/OiBFbGVtZW50IHwgbnVsbCwgb3RoZXI/OiBFbGVtZW50IHwgbnVsbCwgaW5jbHVzaXZlID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICBpZiAoIXBhcmVudCB8fCAhb3RoZXIpIHJldHVybiBmYWxzZTtcbiAgaWYgKCFpbmNsdXNpdmUgJiYgcGFyZW50ID09PSBvdGhlcikgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcGFyZW50LmNvbnRhaW5zKG90aGVyKTtcbn1cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3V0aWxzL3NyYy9saWIvaGVscGVycy9kb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQW9CLEVBQUUsTUFBdUY7SUFDdkksTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxLQUFjO0lBQ3JELE9BQU8sZ0NBQWdDLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDO0FBQzVELENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxLQUFjO0lBQzdELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsRUFBRSxDQUFDLEtBQWM7SUFDL0IsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNoRCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFhLEVBQUUsQ0FBYTtJQUN2RCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUFvQixFQUFFLFFBQWlCO0lBQzNFLElBQUksUUFBUSxFQUFFLENBQUM7UUFDYixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztTQUFNLENBQUM7UUFDTixpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQW9CO0lBQ3BELE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDdkIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBb0IsRUFBRSxTQUFpQixFQUFFLEtBQWU7SUFDbkYsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxRQUFnQztJQUNuRSxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUN0RixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxRQUFvQyxFQUFFLFFBQWtEO0lBQzdILElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3hDLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDcEYsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUF1QixFQUFFLEtBQXNCLEVBQUUsU0FBUyxHQUFHLElBQUk7SUFDL0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sS0FBSyxLQUFLO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDakQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc051bWJlciwgaXNTdHJpbmcgfSBmcm9tICcuL3R5cGUtZ3VhcmRzJztcblxuLyoqXG4gKiBBcHBsaWVzIGEgc2V0IG9mIENTUyBzdHlsZXMgdG8gYW4gSFRNTCBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBhcHBseSBzdHlsZXMgdG8uXG4gKiBAcGFyYW0ge1BhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbiB8IFJlY29yZDxrZXlvZiBDU1NTdHlsZURlY2xhcmF0aW9uLCBzdHJpbmcgfCBudWxsPj59IHN0eWxlcyAtIEFuIG9iamVjdCBjb250YWluaW5nIENTUyBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgdG8gYXBwbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVN0eWxlcyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3R5bGVzOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24gfCBSZWNvcmQ8a2V5b2YgQ1NTU3R5bGVEZWNsYXJhdGlvbiwgc3RyaW5nIHwgbnVsbD4+KTogdm9pZCB7XG4gIE9iamVjdC5hc3NpZ24oZWxlbWVudC5zdHlsZSwgc3R5bGVzKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJvb2xlYW4gdmFsdWUgdG8gYSBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZSBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtib29sZWFufSBzdGF0ZSAtIFRoZSBib29sZWFuIHN0YXRlIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAndHJ1ZScgaWYgdGhlIHN0YXRlIGlzIHRydWU7IG90aGVyd2lzZSwgJ2ZhbHNlJy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5Ub0F0dHJpYnV0ZVN0cmluZyhzdGF0ZTogYm9vbGVhbik6IHN0cmluZyB7XG4gIHJldHVybiBib29sZWFuVG9PcHRpb25hbEF0dHJpYnV0ZVN0cmluZyhzdGF0ZSkgPz8gJ2ZhbHNlJztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJvb2xlYW4gdmFsdWUgdG8gJ3RydWUnIG9yIG51bGwsIHVzZWZ1bCBmb3Igc2V0dGluZyBhdHRyaWJ1dGVzIGJhc2VkIG9uIGJvb2xlYW4gY29uZGl0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHN0YXRlIC0gVGhlIGJvb2xlYW4gc3RhdGUgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmcgfCBudWxsfSAndHJ1ZScgaWYgdGhlIHN0YXRlIGlzIHRydWU7IG90aGVyd2lzZSwgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5Ub09wdGlvbmFsQXR0cmlidXRlU3RyaW5nKHN0YXRlOiBib29sZWFuKTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBzdGF0ZSA/ICd0cnVlJyA6IG51bGw7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBudW1lcmljIHZhbHVlIHRvIGEgcGl4ZWwgc3RyaW5nLCBhcHBlbmRpbmcgJ3B4JyB0byB0aGUgbnVtYmVyLlxuICpcbiAqIEBwYXJhbSB7dW5rbm93bn0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBwaXhlbHMuXG4gKiBAcmV0dXJucyB7YCR7bnVtYmVyfXB4YH0gVGhlIHZhbHVlIGluIHBpeGVscywgb3IgJzBweCcgaWYgdGhlIGlucHV0IGlzIG5vdCBhIG51bWJlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB4KHZhbHVlOiB1bmtub3duKTogYCR7bnVtYmVyfXB4YCB7XG4gIHJldHVybiBpc051bWJlcih2YWx1ZSkgPyBgJHt2YWx1ZX1weGAgOiAnMHB4Jztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBDU1MgdHJhbnNsYXRlM2Qgc3RyaW5nIGZvciBnaXZlbiB4IGFuZCB5IHZhbHVlcy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZyB8IDB9IHggLSBUaGUgdHJhbnNsYXRpb24gdmFsdWUgYWxvbmcgdGhlIHgtYXhpcy5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgMH0geSAtIFRoZSB0cmFuc2xhdGlvbiB2YWx1ZSBhbG9uZyB0aGUgeS1heGlzLlxuICogQHJldHVybnMge2B0cmFuc2xhdGUzZCgke3N0cmluZyB8IDB9LCAke3N0cmluZyB8IDB9LCAwKWB9IFRoZSBDU1MgdHJhbnNsYXRlM2QgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjc3NUcmFuc2xhdGUoeDogc3RyaW5nIHwgMCwgeTogc3RyaW5nIHwgMCk6IGB0cmFuc2xhdGUzZCgke3N0cmluZyB8IDB9LCAke3N0cmluZyB8IDB9LCAwKWAge1xuICByZXR1cm4gYHRyYW5zbGF0ZTNkKCR7eH0sICR7eX0sIDApYDtcbn1cblxuLyoqXG4gKiBEaXNhYmxlcyBvciByZS1lbmFibGVzIENTUyB0cmFuc2l0aW9ucyBvbiBhbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBtb2RpZnkuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGRpc2FibGVkIC0gV2hldGhlciB0byBkaXNhYmxlIENTUyB0cmFuc2l0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVDU1NUcmFuc2l0aW9ucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgaWYgKGRpc2FibGVkKSB7XG4gICAgYXBwbHlTdHlsZXMoZWxlbWVudCwgeyB0cmFuc2l0aW9uOiAnbm9uZScgfSk7XG4gIH0gZWxzZSB7XG4gICAgZm9yY2VMYXlvdXRSZWZsb3coZWxlbWVudCk7XG4gICAgYXBwbHlTdHlsZXMoZWxlbWVudCwgeyB0cmFuc2l0aW9uOiBudWxsIH0pO1xuICB9XG59XG5cbi8qKlxuICogRm9yY2VzIHRoZSBicm93c2VyIHRvIHJlZmxvdyB0aGUgbGF5b3V0LCB1c2VmdWwgZm9yIHRyaWdnZXJpbmcgQ1NTIHRyYW5zaXRpb25zIG9yIGFuaW1hdGlvbnMuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIGZvcmNlIGEgcmVmbG93IG9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9yY2VMYXlvdXRSZWZsb3coZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG59XG5cbi8qKlxuICogU2V0cyBhbiBhdHRyaWJ1dGUgb24gYW4gSFRNTCBlbGVtZW50LCBjb252ZXJ0aW5nIHRoZSB2YWx1ZSB0byBhIHN0cmluZyBpZiBuZWNlc3NhcnkuXG4gKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIHNldCB0aGUgYXR0cmlidXRlIG9uLlxuICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZSAtIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdG8gc2V0LlxuICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgYXR0cmlidXRlOyB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIHN0cmluZyBpZiBpdCdzIG5vdCBudWxsIG9yIHVuZGVmaW5lZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEF0dHJpYnV0ZShlbGVtZW50OiBIVE1MRWxlbWVudCwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogdW5rbm93bikge1xuICBpZiAoaXNTdHJpbmcodmFsdWUpIHx8IGlzTnVtYmVyKHZhbHVlKSkge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gIH0gZWxzZSB7XG4gICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCAhIXZhbHVlKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBSZXNpemVPYnNlcnZlciBpbnN0YW5jZSBzYWZlbHksIGZhbGxpbmcgYmFjayB0byBhIGR1bW15IGlmIHRoZSBBUEkgaXMgbm90IHN1cHBvcnRlZC5cbiAqXG4gKiBAcGFyYW0ge1Jlc2l6ZU9ic2VydmVyQ2FsbGJhY2t9IGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGV4ZWN1dGUgd2hlbiBhbiBvYnNlcnZlZCBlbGVtZW50J3Mgc2l6ZSBjaGFuZ2VzLlxuICogQHJldHVybnMge1Jlc2l6ZU9ic2VydmVyfSBBIFJlc2l6ZU9ic2VydmVyIGluc3RhbmNlIG9yIGEgZHVtbXkgb2JqZWN0IHdpdGggbm8tb3AgbWV0aG9kcyBpZiB1bnN1cHBvcnRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlc2l6ZU9ic2VydmVyKGNhbGxiYWNrOiBSZXNpemVPYnNlcnZlckNhbGxiYWNrKTogUmVzaXplT2JzZXJ2ZXIge1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgUmVzaXplT2JzZXJ2ZXIoY2FsbGJhY2spO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4geyBvYnNlcnZlOiAoKSA9PiB2b2lkIDAsIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQgMCwgdW5vYnNlcnZlOiAoKSA9PiB2b2lkIDAgfTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBNdXRhdGlvbk9ic2VydmVyIGluc3RhbmNlIHNhZmVseSwgZmFsbGluZyBiYWNrIHRvIGEgZHVtbXkgaWYgdGhlIEFQSSBpcyBub3Qgc3VwcG9ydGVkLlxuICpcbiAqIEBwYXJhbSB7U3Vic2NyaWJlcjxNdXRhdGlvblJlY29yZD59IG9ic2VydmVyIC0gVGhlIFJ4SlMgU3Vic2NyaWJlciB0byBlbWl0IG5leHQgdmFsdWVzIHRvLlxuICogQHBhcmFtIHsobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiBib29sZWFufSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0aGF0IGRldGVybWluZXMgd2hldGhlciB0byBub3RpZnkgdGhlIG9ic2VydmVyIGJhc2VkIG9uIG11dGF0aW9ucy5cbiAqIEByZXR1cm5zIHtNdXRhdGlvbk9ic2VydmVyfSBBIE11dGF0aW9uT2JzZXJ2ZXIgaW5zdGFuY2Ugb3IgYSBkdW1teSBvYmplY3Qgd2l0aCBuby1vcCBtZXRob2RzIGlmIHVuc3VwcG9ydGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTXV0YXRpb25PYnNlcnZlcihvYnNlcnZlcjogU3Vic2NyaWJlcjxNdXRhdGlvblJlY29yZD4sIGNhbGxiYWNrOiAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiBib29sZWFuKTogTXV0YXRpb25PYnNlcnZlciB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgIGlmIChjYWxsYmFjayhtdXRhdGlvbnMpKSB7XG4gICAgICAgIG9ic2VydmVyLm5leHQobXV0YXRpb25zWzBdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4geyBkaXNjb25uZWN0OiAoKSA9PiB2b2lkIDAsIG9ic2VydmU6ICgpID0+IHZvaWQgMCwgdGFrZVJlY29yZHM6ICgpID0+IFtdIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBvbmUgZWxlbWVudCBjb250YWlucyBhbm90aGVyIGluIHRoZSBET00gdHJlZS5cbiAqXG4gKiBAcGFyYW0ge0VsZW1lbnQgfCBudWxsfSBwYXJlbnQgLSBUaGUgcGFyZW50IGVsZW1lbnQuXG4gKiBAcGFyYW0ge0VsZW1lbnQgfCBudWxsfSBvdGhlciAtIFRoZSBlbGVtZW50IHRvIGNoZWNrIGZvciBjb250YWlubWVudC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2luY2x1c2l2ZT10cnVlXSAtIFdoZXRoZXIgdG8gY29uc2lkZXIgYW4gZWxlbWVudCBhcyBjb250YWluaW5nIGl0c2VsZi5cbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBwYXJlbnQgY29udGFpbnMgdGhlIG90aGVyIGVsZW1lbnQ7IGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zRWxlbWVudChwYXJlbnQ/OiBFbGVtZW50IHwgbnVsbCwgb3RoZXI/OiBFbGVtZW50IHwgbnVsbCwgaW5jbHVzaXZlID0gdHJ1ZSk6IGJvb2xlYW4ge1xuICBpZiAoIXBhcmVudCB8fCAhb3RoZXIpIHJldHVybiBmYWxzZTtcbiAgaWYgKCFpbmNsdXNpdmUgJiYgcGFyZW50ID09PSBvdGhlcikgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcGFyZW50LmNvbnRhaW5zKG90aGVyKTtcbn1cbiJdfQ==
@@ -40,10 +40,10 @@ export class EventManager {
40
40
  getActiveListenersNames() {
41
41
  return Array.from(this.listeners.keys());
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventManager }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventManager }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EventManager, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EventManager, decorators: [{
47
47
  type: Injectable
48
48
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci91dGlscy9zcmMvbGliL2hlbHBlcnMvZXZlbnQtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsY0FBUyxHQUE0QixJQUFJLEdBQUcsRUFBc0IsQ0FBQztLQXlDckY7SUF2Q1EsZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBb0IsRUFBRSxFQUFFO1lBQzlDLElBQUksUUFBUSxFQUFFO2dCQUNaLFFBQVEsRUFBRSxDQUFDO2FBQ1o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxvQkFBNEI7UUFDakQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDNUQsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsVUFBVSxFQUFFLENBQUM7YUFDZDtZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUNiLFVBQWdDLEVBQ2hDLFFBQTZCLEVBQzdCLE1BQW1EO1FBRW5ELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7WUFDNUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDckgsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0EzQ1UsWUFBWTttSEFBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJy4vYW5ndWxhcic7XG5pbXBvcnQgeyBnZXRVbmlxdWVJZCB9IGZyb20gJy4vZ2V0LXVuaXF1ZS1pZCc7XG5pbXBvcnQgeyBpc1ByZXNlbnQgfSBmcm9tICcuL3R5cGUtZ3VhcmRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2ZW50TWFuYWdlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlbmVyczogTWFwPHN0cmluZywgKCkgPT4gdm9pZD4gPSBuZXcgTWFwPHN0cmluZywgKCkgPT4gdm9pZD4oKTtcblxuICBwdWJsaWMgZGVzdHJveUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKGxpc3RlbmVyKSB7XG4gICAgICAgIGxpc3RlbmVyKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95TGlzdGVuZXIobGlzdGVuZXJSZWZlcmVuY2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RlbmVycy5oYXMobGlzdGVuZXJSZWZlcmVuY2VLZXkpKSB7XG4gICAgICBjb25zdCBsaXN0ZW5lckZuID0gdGhpcy5saXN0ZW5lcnMuZ2V0KGxpc3RlbmVyUmVmZXJlbmNlS2V5KTtcbiAgICAgIGlmIChsaXN0ZW5lckZuKSB7XG4gICAgICAgIGxpc3RlbmVyRm4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lclJlZmVyZW5jZUtleSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyPFQgZXh0ZW5kcyBFdmVudCA9IEV2ZW50PihcbiAgICBldmVudE5hbWVzOiBBcnJheTxzdHJpbmcgfCBudWxsPixcbiAgICBjYWxsYmFjazogKGV2ZW50PzogVCkgPT4gdm9pZCxcbiAgICB0YXJnZXQ/OiAnZG9jdW1lbnQnIHwgJ3dpbmRvdycgfCBFdmVudFRhcmdldCB8IG51bGwsXG4gICk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBldmVudE5hbWVzLmZpbHRlcihpc1ByZXNlbnQpLm1hcCgoZXZlbnROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGxpc3RlbmVyRm4gPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0YXJnZXQgPz8gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50KSA9PiBjYWxsYmFjayhldmVudCkpO1xuICAgICAgY29uc3QgaWQgPSBnZXRVbmlxdWVJZCgncmVnaXN0ZXJlZEV2ZW50Jyk7XG4gICAgICB0aGlzLmxpc3RlbmVycy5zZXQoaWQsIGxpc3RlbmVyRm4pO1xuICAgICAgcmV0dXJuIGlkO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUxpc3RlbmVyc05hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmxpc3RlbmVycy5rZXlzKCkpO1xuICB9XG59XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci91dGlscy9zcmMvbGliL2hlbHBlcnMvZXZlbnQtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsWUFBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzFCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsY0FBUyxHQUE0QixJQUFJLEdBQUcsRUFBc0IsQ0FBQztLQXlDckY7SUF2Q1EsZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBb0IsRUFBRSxFQUFFO1lBQzlDLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsUUFBUSxFQUFFLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxlQUFlLENBQUMsb0JBQTRCO1FBQ2pELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDNUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixVQUFVLEVBQUUsQ0FBQztZQUNmLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUNiLFVBQWdDLEVBQ2hDLFFBQTZCLEVBQzdCLE1BQW1EO1FBRW5ELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7WUFDNUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDckgsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQzsrR0EzQ1UsWUFBWTttSEFBWixZQUFZOzs0RkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RWxlbWVudCB9IGZyb20gJy4vYW5ndWxhcic7XG5pbXBvcnQgeyBnZXRVbmlxdWVJZCB9IGZyb20gJy4vZ2V0LXVuaXF1ZS1pZCc7XG5pbXBvcnQgeyBpc1ByZXNlbnQgfSBmcm9tICcuL3R5cGUtZ3VhcmRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2ZW50TWFuYWdlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlbmVyczogTWFwPHN0cmluZywgKCkgPT4gdm9pZD4gPSBuZXcgTWFwPHN0cmluZywgKCkgPT4gdm9pZD4oKTtcblxuICBwdWJsaWMgZGVzdHJveUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKGxpc3RlbmVyKSB7XG4gICAgICAgIGxpc3RlbmVyKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95TGlzdGVuZXIobGlzdGVuZXJSZWZlcmVuY2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RlbmVycy5oYXMobGlzdGVuZXJSZWZlcmVuY2VLZXkpKSB7XG4gICAgICBjb25zdCBsaXN0ZW5lckZuID0gdGhpcy5saXN0ZW5lcnMuZ2V0KGxpc3RlbmVyUmVmZXJlbmNlS2V5KTtcbiAgICAgIGlmIChsaXN0ZW5lckZuKSB7XG4gICAgICAgIGxpc3RlbmVyRm4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubGlzdGVuZXJzLmRlbGV0ZShsaXN0ZW5lclJlZmVyZW5jZUtleSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyPFQgZXh0ZW5kcyBFdmVudCA9IEV2ZW50PihcbiAgICBldmVudE5hbWVzOiBBcnJheTxzdHJpbmcgfCBudWxsPixcbiAgICBjYWxsYmFjazogKGV2ZW50PzogVCkgPT4gdm9pZCxcbiAgICB0YXJnZXQ/OiAnZG9jdW1lbnQnIHwgJ3dpbmRvdycgfCBFdmVudFRhcmdldCB8IG51bGwsXG4gICk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBldmVudE5hbWVzLmZpbHRlcihpc1ByZXNlbnQpLm1hcCgoZXZlbnROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGxpc3RlbmVyRm4gPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0YXJnZXQgPz8gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGV2ZW50TmFtZSwgKGV2ZW50KSA9PiBjYWxsYmFjayhldmVudCkpO1xuICAgICAgY29uc3QgaWQgPSBnZXRVbmlxdWVJZCgncmVnaXN0ZXJlZEV2ZW50Jyk7XG4gICAgICB0aGlzLmxpc3RlbmVycy5zZXQoaWQsIGxpc3RlbmVyRm4pO1xuICAgICAgcmV0dXJuIGlkO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveUxpc3RlbmVycygpO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUxpc3RlbmVyc05hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmxpc3RlbmVycy5rZXlzKCkpO1xuICB9XG59XG4iXX0=
@@ -31,4 +31,4 @@ export function getAxis(position) {
31
31
  return Axis.X;
32
32
  }
33
33
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF4aXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2dldC1heGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQVksSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWtCO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUvQixRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNkLEtBQUssSUFBSSxDQUFDLE1BQU07WUFDZCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2YsS0FBSyxJQUFJLENBQUMsS0FBSztZQUNiLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBeGlzLCBQb3NpdGlvbiwgU2lkZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldFNpZGUgfSBmcm9tICcuL2dldC1zaWRlJztcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBheGlzIGFzc29jaWF0ZWQgd2l0aCBhIGdpdmVuIHBvc2l0aW9uLiBUaGUgZnVuY3Rpb24gZmlyc3QgZXh0cmFjdHMgdGhlIHNpZGUgZnJvbSB0aGUgcG9zaXRpb24sXG4gKiB0aGVuIGV2YWx1YXRlcyB3aGV0aGVyIHRoYXQgc2lkZSBjb3JyZXNwb25kcyB0byB0aGUgWC1heGlzIChsZWZ0IG9yIHJpZ2h0KSBvciB0aGUgWS1heGlzICh0b3Agb3IgYm90dG9tKS5cbiAqXG4gKiBAcGFyYW0ge1Bvc2l0aW9ufSBwb3NpdGlvbiAtIFRoZSBwb3NpdGlvbiBzdHJpbmcsIHdoaWNoIGluY2x1ZGVzIGEgc2lkZSAodG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0KSBhbmQgcG9zc2libHkgYW4gYWxpZ25tZW50LlxuICogQHJldHVybnMge0F4aXN9IFRoZSBheGlzIChYIG9yIFkpIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gcG9zaXRpb24ncyBzaWRlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gRGV0ZXJtaW5pbmcgdGhlIGF4aXMgZm9yIGRpZmZlcmVudCBwb3NpdGlvbnNcbiAqIGNvbnNvbGUubG9nKGdldEF4aXMoJ3RvcC1sZWZ0JykpOyAvLyBPdXRwdXRzOiAnWSdcbiAqIGNvbnNvbGUubG9nKGdldEF4aXMoJ3JpZ2h0JykpOyAgICAvLyBPdXRwdXRzOiAnWCdcbiAqXG4gKiAvLyBVc2luZyBnZXRBeGlzIGluIFVJIGVsZW1lbnQgcG9zaXRpb25pbmcgbG9naWNcbiAqIGNvbnN0IGVsZW1lbnRQb3NpdGlvbiA9ICdib3R0b20nO1xuICogY29uc3QgYXhpcyA9IGdldEF4aXMoZWxlbWVudFBvc2l0aW9uKTtcbiAqIC8vIEFzc3VtaW5nIGEgZnVuY3Rpb24gdGhhdCBhZGp1c3RzIFVJIGVsZW1lbnRzIGJhc2VkIG9uIHRoZSBheGlzXG4gKiBhZGp1c3RFbGVtZW50QWxvbmdBeGlzKGF4aXMpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBeGlzKHBvc2l0aW9uOiBQb3NpdGlvbik6IEF4aXMge1xuICBjb25zdCBzaWRlID0gZ2V0U2lkZShwb3NpdGlvbik7XG5cbiAgc3dpdGNoIChzaWRlKSB7XG4gICAgY2FzZSBTaWRlLlRPUDpcbiAgICBjYXNlIFNpZGUuQk9UVE9NOlxuICAgICAgcmV0dXJuIEF4aXMuWTtcbiAgICBjYXNlIFNpZGUuTEVGVDpcbiAgICBjYXNlIFNpZGUuUklHSFQ6XG4gICAgICByZXR1cm4gQXhpcy5YO1xuICB9XG59XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF4aXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2dldC1heGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQVksSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLFFBQWtCO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUvQixRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ2QsS0FBSyxJQUFJLENBQUMsTUFBTTtZQUNkLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoQixLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDZixLQUFLLElBQUksQ0FBQyxLQUFLO1lBQ2IsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXhpcywgUG9zaXRpb24sIFNpZGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRTaWRlIH0gZnJvbSAnLi9nZXQtc2lkZSc7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgYXhpcyBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBwb3NpdGlvbi4gVGhlIGZ1bmN0aW9uIGZpcnN0IGV4dHJhY3RzIHRoZSBzaWRlIGZyb20gdGhlIHBvc2l0aW9uLFxuICogdGhlbiBldmFsdWF0ZXMgd2hldGhlciB0aGF0IHNpZGUgY29ycmVzcG9uZHMgdG8gdGhlIFgtYXhpcyAobGVmdCBvciByaWdodCkgb3IgdGhlIFktYXhpcyAodG9wIG9yIGJvdHRvbSkuXG4gKlxuICogQHBhcmFtIHtQb3NpdGlvbn0gcG9zaXRpb24gLSBUaGUgcG9zaXRpb24gc3RyaW5nLCB3aGljaCBpbmNsdWRlcyBhIHNpZGUgKHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodCkgYW5kIHBvc3NpYmx5IGFuIGFsaWdubWVudC5cbiAqIEByZXR1cm5zIHtBeGlzfSBUaGUgYXhpcyAoWCBvciBZKSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIHBvc2l0aW9uJ3Mgc2lkZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIERldGVybWluaW5nIHRoZSBheGlzIGZvciBkaWZmZXJlbnQgcG9zaXRpb25zXG4gKiBjb25zb2xlLmxvZyhnZXRBeGlzKCd0b3AtbGVmdCcpKTsgLy8gT3V0cHV0czogJ1knXG4gKiBjb25zb2xlLmxvZyhnZXRBeGlzKCdyaWdodCcpKTsgICAgLy8gT3V0cHV0czogJ1gnXG4gKlxuICogLy8gVXNpbmcgZ2V0QXhpcyBpbiBVSSBlbGVtZW50IHBvc2l0aW9uaW5nIGxvZ2ljXG4gKiBjb25zdCBlbGVtZW50UG9zaXRpb24gPSAnYm90dG9tJztcbiAqIGNvbnN0IGF4aXMgPSBnZXRBeGlzKGVsZW1lbnRQb3NpdGlvbik7XG4gKiAvLyBBc3N1bWluZyBhIGZ1bmN0aW9uIHRoYXQgYWRqdXN0cyBVSSBlbGVtZW50cyBiYXNlZCBvbiB0aGUgYXhpc1xuICogYWRqdXN0RWxlbWVudEFsb25nQXhpcyhheGlzKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXhpcyhwb3NpdGlvbjogUG9zaXRpb24pOiBBeGlzIHtcbiAgY29uc3Qgc2lkZSA9IGdldFNpZGUocG9zaXRpb24pO1xuXG4gIHN3aXRjaCAoc2lkZSkge1xuICAgIGNhc2UgU2lkZS5UT1A6XG4gICAgY2FzZSBTaWRlLkJPVFRPTTpcbiAgICAgIHJldHVybiBBeGlzLlk7XG4gICAgY2FzZSBTaWRlLkxFRlQ6XG4gICAgY2FzZSBTaWRlLlJJR0hUOlxuICAgICAgcmV0dXJuIEF4aXMuWDtcbiAgfVxufVxuIl19
@@ -33,4 +33,4 @@ export function getOppositeSide(position) {
33
33
  return Side.RIGHT;
34
34
  }
35
35
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9wcG9zaXRlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2dldC1vcHBvc2l0ZS1zaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQWtCO0lBQ2hELFFBQVEsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3pCLEtBQUssSUFBSSxDQUFDLEdBQUc7WUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckIsS0FBSyxJQUFJLENBQUMsS0FBSztZQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixLQUFLLElBQUksQ0FBQyxNQUFNO1lBQ2QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLElBQUk7WUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDckI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9zaXRpb24sIFNpZGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRTaWRlIH0gZnJvbSAnLi9nZXQtc2lkZSc7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgb3Bwb3NpdGUgc2lkZSBmb3IgYSBnaXZlbiBwb3NpdGlvbi4gVGhpcyBmdW5jdGlvbiBpcyB1c2VmdWwgZm9yIHNjZW5hcmlvc1xuICogd2hlcmUgeW91IG5lZWQgdG8gZHluYW1pY2FsbHkgY2FsY3VsYXRlIHRoZSBwb3NpdGlvbmluZyBvciBhbGlnbm1lbnQgb3Bwb3NpdGUgdG8gdGhlIGN1cnJlbnQgb25lLFxuICogc3VjaCBhcyBpbnZlcnRpbmcgdG9vbHRpcHMsIHBvcG92ZXJzLCBvciBhbnkgVUkgZWxlbWVudHMgdGhhdCBhZGp1c3QgYmFzZWQgb24gYXZhaWxhYmxlIHZpZXdwb3J0IHNwYWNlLlxuICpcbiAqIEBwYXJhbSB7UG9zaXRpb259IHBvc2l0aW9uIC0gVGhlIHBvc2l0aW9uIHN0cmluZywgd2hpY2ggaW5jbHVkZXMgYSBzaWRlIGFuZCBwb3NzaWJseSBhbiBhbGlnbm1lbnQuXG4gKiBAcmV0dXJucyB7U2lkZX0gVGhlIG9wcG9zaXRlIHNpZGUgcmVsYXRpdmUgdG8gdGhlIHByb3ZpZGVkIHBvc2l0aW9uJ3Mgc2lkZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIEdldHRpbmcgdGhlIG9wcG9zaXRlIHNpZGUgb2YgYSBnaXZlbiBwb3NpdGlvblxuICogY29uc29sZS5sb2coZ2V0T3Bwb3NpdGVTaWRlKCd0b3AtbGVmdCcpKTsgLy8gT3V0cHV0czogJ2JvdHRvbSdcbiAqIGNvbnNvbGUubG9nKGdldE9wcG9zaXRlU2lkZSgncmlnaHQnKSk7ICAgIC8vIE91dHB1dHM6ICdsZWZ0J1xuICpcbiAqIC8vIFVzaW5nIGdldE9wcG9zaXRlU2lkZSB0byBhZGp1c3QgVUkgZWxlbWVudHNcbiAqIGNvbnN0IGN1cnJlbnRTaWRlID0gJ2xlZnQnO1xuICogY29uc3QgbmV3UG9zaXRpb24gPSBnZXRPcHBvc2l0ZVNpZGUoY3VycmVudFNpZGUpO1xuICogLy8gQXNzdW1pbmcgYW4gZWxlbWVudCdzIHBvc2l0aW9uIG9yIG9yaWVudGF0aW9uIG5lZWRzIHRvIGJlIGR5bmFtaWNhbGx5IHVwZGF0ZWRcbiAqIHVwZGF0ZUVsZW1lbnRQb3NpdGlvbihuZXdQb3NpdGlvbik7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wcG9zaXRlU2lkZShwb3NpdGlvbjogUG9zaXRpb24pOiBTaWRlIHtcbiAgc3dpdGNoIChnZXRTaWRlKHBvc2l0aW9uKSkge1xuICAgIGNhc2UgU2lkZS5UT1A6XG4gICAgICByZXR1cm4gU2lkZS5CT1RUT007XG4gICAgY2FzZSBTaWRlLlJJR0hUOlxuICAgICAgcmV0dXJuIFNpZGUuTEVGVDtcbiAgICBjYXNlIFNpZGUuQk9UVE9NOlxuICAgICAgcmV0dXJuIFNpZGUuVE9QO1xuICAgIGNhc2UgU2lkZS5MRUZUOlxuICAgICAgcmV0dXJuIFNpZGUuUklHSFQ7XG4gIH1cbn1cbiJdfQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW9wcG9zaXRlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL2dldC1vcHBvc2l0ZS1zaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxJQUFJLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQWtCO0lBQ2hELFFBQVEsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDMUIsS0FBSyxJQUFJLENBQUMsR0FBRztZQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNyQixLQUFLLElBQUksQ0FBQyxLQUFLO1lBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLEtBQUssSUFBSSxDQUFDLE1BQU07WUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsSUFBSTtZQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvc2l0aW9uLCBTaWRlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0U2lkZSB9IGZyb20gJy4vZ2V0LXNpZGUnO1xuXG4vKipcbiAqIERldGVybWluZXMgdGhlIG9wcG9zaXRlIHNpZGUgZm9yIGEgZ2l2ZW4gcG9zaXRpb24uIFRoaXMgZnVuY3Rpb24gaXMgdXNlZnVsIGZvciBzY2VuYXJpb3NcbiAqIHdoZXJlIHlvdSBuZWVkIHRvIGR5bmFtaWNhbGx5IGNhbGN1bGF0ZSB0aGUgcG9zaXRpb25pbmcgb3IgYWxpZ25tZW50IG9wcG9zaXRlIHRvIHRoZSBjdXJyZW50IG9uZSxcbiAqIHN1Y2ggYXMgaW52ZXJ0aW5nIHRvb2x0aXBzLCBwb3BvdmVycywgb3IgYW55IFVJIGVsZW1lbnRzIHRoYXQgYWRqdXN0IGJhc2VkIG9uIGF2YWlsYWJsZSB2aWV3cG9ydCBzcGFjZS5cbiAqXG4gKiBAcGFyYW0ge1Bvc2l0aW9ufSBwb3NpdGlvbiAtIFRoZSBwb3NpdGlvbiBzdHJpbmcsIHdoaWNoIGluY2x1ZGVzIGEgc2lkZSBhbmQgcG9zc2libHkgYW4gYWxpZ25tZW50LlxuICogQHJldHVybnMge1NpZGV9IFRoZSBvcHBvc2l0ZSBzaWRlIHJlbGF0aXZlIHRvIHRoZSBwcm92aWRlZCBwb3NpdGlvbidzIHNpZGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBHZXR0aW5nIHRoZSBvcHBvc2l0ZSBzaWRlIG9mIGEgZ2l2ZW4gcG9zaXRpb25cbiAqIGNvbnNvbGUubG9nKGdldE9wcG9zaXRlU2lkZSgndG9wLWxlZnQnKSk7IC8vIE91dHB1dHM6ICdib3R0b20nXG4gKiBjb25zb2xlLmxvZyhnZXRPcHBvc2l0ZVNpZGUoJ3JpZ2h0JykpOyAgICAvLyBPdXRwdXRzOiAnbGVmdCdcbiAqXG4gKiAvLyBVc2luZyBnZXRPcHBvc2l0ZVNpZGUgdG8gYWRqdXN0IFVJIGVsZW1lbnRzXG4gKiBjb25zdCBjdXJyZW50U2lkZSA9ICdsZWZ0JztcbiAqIGNvbnN0IG5ld1Bvc2l0aW9uID0gZ2V0T3Bwb3NpdGVTaWRlKGN1cnJlbnRTaWRlKTtcbiAqIC8vIEFzc3VtaW5nIGFuIGVsZW1lbnQncyBwb3NpdGlvbiBvciBvcmllbnRhdGlvbiBuZWVkcyB0byBiZSBkeW5hbWljYWxseSB1cGRhdGVkXG4gKiB1cGRhdGVFbGVtZW50UG9zaXRpb24obmV3UG9zaXRpb24pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHBvc2l0ZVNpZGUocG9zaXRpb246IFBvc2l0aW9uKTogU2lkZSB7XG4gIHN3aXRjaCAoZ2V0U2lkZShwb3NpdGlvbikpIHtcbiAgICBjYXNlIFNpZGUuVE9QOlxuICAgICAgcmV0dXJuIFNpZGUuQk9UVE9NO1xuICAgIGNhc2UgU2lkZS5SSUdIVDpcbiAgICAgIHJldHVybiBTaWRlLkxFRlQ7XG4gICAgY2FzZSBTaWRlLkJPVFRPTTpcbiAgICAgIHJldHVybiBTaWRlLlRPUDtcbiAgICBjYXNlIFNpZGUuTEVGVDpcbiAgICAgIHJldHVybiBTaWRlLlJJR0hUO1xuICB9XG59XG4iXX0=
@@ -40,4 +40,4 @@ export function hasChanged(changes, keyOrKeys, ignoreFirstChange = true) {
40
40
  return keyOrKeys in changes && (!ignoreFirstChange || !changes[keyOrKeys]?.isFirstChange());
41
41
  }
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci91dGlscy9zcmMvbGliL2hlbHBlcnMvbmctY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUN4QixPQUFVLEVBQ1YsU0FBa0IsRUFDbEIsaUJBQWlCLEdBQUcsSUFBSTtJQUV4QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDNUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxTQUFTLEVBQUU7WUFDM0IsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFO2dCQUMvQyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztLQUNkO1NBQU07UUFDTCxPQUFPLFNBQVMsSUFBSSxPQUFPLElBQUksQ0FBQyxDQUFDLGlCQUFpQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7S0FDN0Y7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0UHJvcGVydGllcyB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdHlwZWQgdmVyc2lvbiBvZiBBbmd1bGFyJ3MgYFNpbXBsZUNoYW5nZXNgIG9iamVjdCwgZGVzY3JpYmluZyB0aGUgY2hhbmdlcyB0byBlYWNoXG4gKiBwcm9wZXJ0eSBvZiBhIGNvbXBvbmVudCBvciBkaXJlY3RpdmUuIFRoaXMgdXRpbGl0eSBlbmhhbmNlcyB0eXBlIHNhZmV0eSB3aGVuIHdvcmtpbmcgd2l0aCBBbmd1bGFyJ3NcbiAqIGNoYW5nZSBkZXRlY3Rpb24gbWVjaGFuaXNtIGJ5IHByb3ZpZGluZyBzcGVjaWZpYyBwcm9wZXJ0eSB0eXBlcy5cbiAqXG4gKiBAdGVtcGxhdGUgQyAtIFRoZSBjb21wb25lbnQgb3IgZGlyZWN0aXZlIGNsYXNzLlxuICogQHRlbXBsYXRlIFByb3BlcnRpZXMgLSBUaGUgcHJvcGVydGllcyBvZiB0aGUgY29tcG9uZW50IG9yIGRpcmVjdGl2ZSwgaW5mZXJyZWQgZnJvbSBgQ2AgYnkgZGVmYXVsdC5cbiAqIEB0eXBlIHtPYmplY3R9IC0gQSBtYXBwaW5nIGZyb20gcHJvcGVydHkgbmFtZXMgdG8gY2hhbmdlIGluZm9ybWF0aW9uIGZvciBlYWNoIHByb3BlcnR5LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW50ZXJmYWNlIE15Q29tcG9uZW50IHtcbiAqICAgbmFtZTogc3RyaW5nO1xuICogICBhZ2U6IG51bWJlcjtcbiAqIH1cbiAqXG4gKiBmdW5jdGlvbiBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8TXlDb21wb25lbnQ+KSB7XG4gKiAgIGlmIChjaGFuZ2VzLm5hbWUpIHtcbiAqICAgICBjb25zb2xlLmxvZygnTmFtZSBjaGFuZ2VkIGZyb20nLCBjaGFuZ2VzLm5hbWUucHJldmlvdXNWYWx1ZSwgJ3RvJywgY2hhbmdlcy5uYW1lLmN1cnJlbnRWYWx1ZSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgdHlwZSBOZ0NoYW5nZXM8QywgUHJvcGVydGllcyA9IEdldFByb3BlcnRpZXM8Qz4+ID0ge1xuICBbS2V5IGluIGtleW9mIFByb3BlcnRpZXNdOiB7XG4gICAgcHJldmlvdXNWYWx1ZTogUHJvcGVydGllc1tLZXldO1xuICAgIGN1cnJlbnRWYWx1ZTogUHJvcGVydGllc1tLZXldO1xuICAgIGZpcnN0Q2hhbmdlOiBib29sZWFuO1xuICAgIGlzRmlyc3RDaGFuZ2UoKTogYm9vbGVhbjtcbiAgfTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgcHJvcGVydHkgb3IgcHJvcGVydGllcyBoYXZlIGNoYW5nZWQgaW4gdGhlIGN1cnJlbnQgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAqIE9wdGlvbmFsbHkgaWdub3JlcyBjaGFuZ2VzIHRoYXQgb2NjdXIgZHVyaW5nIHRoZSBmaXJzdCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlIChlLmcuLCBpbml0aWFsaXphdGlvbikuXG4gKlxuICogQHRlbXBsYXRlIFUgLSBUaGUgY29tcG9uZW50IG9yIGRpcmVjdGl2ZSBjbGFzcy5cbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgcmVwcmVzZW50aW5nIHRoZSBjaGFuZ2VzLCB0eXBpY2FsbHkgYE5nQ2hhbmdlczxVPmAuXG4gKiBAdGVtcGxhdGUgSyAtIFRoZSBrZXkgb3Iga2V5cyByZXByZXNlbnRpbmcgdGhlIHByb3BlcnRpZXMgdG8gY2hlY2sgZm9yIGNoYW5nZXMuXG4gKiBAcGFyYW0ge1R9IGNoYW5nZXMgLSBUaGUgYE5nQ2hhbmdlc2Agb2JqZWN0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgYWxsIGNoYW5nZXMuXG4gKiBAcGFyYW0ge0sgfCBLW119IGtleU9yS2V5cyAtIFRoZSBwcm9wZXJ0eSBuYW1lKHMpIHRvIGNoZWNrIGZvciBjaGFuZ2VzLlxuICogQHBhcmFtIHtib29sZWFufSBbaWdub3JlRmlyc3RDaGFuZ2U9dHJ1ZV0gLSBXaGV0aGVyIHRvIGlnbm9yZSBjaGFuZ2VzIHRoYXQgb2NjdXIgZHVyaW5nIHRoZSBmaXJzdCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgc3BlY2lmaWVkIHByb3BlcnR5IG9yIHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIEV4YW1wbGUgdXNhZ2Ugd2l0aGluIGFuIEFuZ3VsYXIgY29tcG9uZW50J3MgYG5nT25DaGFuZ2VzYCBtZXRob2RcbiAqIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxNeUNvbXBvbmVudD4pOiB2b2lkIHtcbiAqICAgaWYgKGhhc0NoYW5nZWQoY2hhbmdlcywgJ25hbWUnKSkge1xuICogICAgIGNvbnNvbGUubG9nKCdOYW1lIGhhcyBjaGFuZ2VkJyk7XG4gKiAgIH1cbiAqIH1cbiAqXG4gKiAvLyBDaGVja2luZyBtdWx0aXBsZSBwcm9wZXJ0aWVzIGZvciBjaGFuZ2VzXG4gKiBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8TXlDb21wb25lbnQ+KTogdm9pZCB7XG4gKiAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnbmFtZScsICdhZ2UnXSwgZmFsc2UpKSB7XG4gKiAgICAgY29uc29sZS5sb2coJ05hbWUgb3IgYWdlIGhhcyBjaGFuZ2VkIChpbmNsdWRpbmcgZmlyc3QgY2hhbmdlKScpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NoYW5nZWQ8VSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBUIGV4dGVuZHMgTmdDaGFuZ2VzPFU+LCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIGNoYW5nZXM6IFQsXG4gIGtleU9yS2V5czogSyB8IEtbXSxcbiAgaWdub3JlRmlyc3RDaGFuZ2UgPSB0cnVlLFxuKTogYm9vbGVhbiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGtleU9yS2V5cykpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlPcktleXMpIHtcbiAgICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIGtleSwgaWdub3JlRmlyc3RDaGFuZ2UpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGtleU9yS2V5cyBpbiBjaGFuZ2VzICYmICghaWdub3JlRmlyc3RDaGFuZ2UgfHwgIWNoYW5nZXNba2V5T3JLZXlzXT8uaXNGaXJzdENoYW5nZSgpKTtcbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci91dGlscy9zcmMvbGliL2hlbHBlcnMvbmctY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUN4QixPQUFVLEVBQ1YsU0FBa0IsRUFDbEIsaUJBQWlCLEdBQUcsSUFBSTtJQUV4QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM3QixLQUFLLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzVCLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sU0FBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsaUJBQWlCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdldFByb3BlcnRpZXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHR5cGVkIHZlcnNpb24gb2YgQW5ndWxhcidzIGBTaW1wbGVDaGFuZ2VzYCBvYmplY3QsIGRlc2NyaWJpbmcgdGhlIGNoYW5nZXMgdG8gZWFjaFxuICogcHJvcGVydHkgb2YgYSBjb21wb25lbnQgb3IgZGlyZWN0aXZlLiBUaGlzIHV0aWxpdHkgZW5oYW5jZXMgdHlwZSBzYWZldHkgd2hlbiB3b3JraW5nIHdpdGggQW5ndWxhcidzXG4gKiBjaGFuZ2UgZGV0ZWN0aW9uIG1lY2hhbmlzbSBieSBwcm92aWRpbmcgc3BlY2lmaWMgcHJvcGVydHkgdHlwZXMuXG4gKlxuICogQHRlbXBsYXRlIEMgLSBUaGUgY29tcG9uZW50IG9yIGRpcmVjdGl2ZSBjbGFzcy5cbiAqIEB0ZW1wbGF0ZSBQcm9wZXJ0aWVzIC0gVGhlIHByb3BlcnRpZXMgb2YgdGhlIGNvbXBvbmVudCBvciBkaXJlY3RpdmUsIGluZmVycmVkIGZyb20gYENgIGJ5IGRlZmF1bHQuXG4gKiBAdHlwZSB7T2JqZWN0fSAtIEEgbWFwcGluZyBmcm9tIHByb3BlcnR5IG5hbWVzIHRvIGNoYW5nZSBpbmZvcm1hdGlvbiBmb3IgZWFjaCBwcm9wZXJ0eS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGludGVyZmFjZSBNeUNvbXBvbmVudCB7XG4gKiAgIG5hbWU6IHN0cmluZztcbiAqICAgYWdlOiBudW1iZXI7XG4gKiB9XG4gKlxuICogZnVuY3Rpb24gbmdPbkNoYW5nZXMoY2hhbmdlczogTmdDaGFuZ2VzPE15Q29tcG9uZW50Pikge1xuICogICBpZiAoY2hhbmdlcy5uYW1lKSB7XG4gKiAgICAgY29uc29sZS5sb2coJ05hbWUgY2hhbmdlZCBmcm9tJywgY2hhbmdlcy5uYW1lLnByZXZpb3VzVmFsdWUsICd0bycsIGNoYW5nZXMubmFtZS5jdXJyZW50VmFsdWUpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IHR5cGUgTmdDaGFuZ2VzPEMsIFByb3BlcnRpZXMgPSBHZXRQcm9wZXJ0aWVzPEM+PiA9IHtcbiAgW0tleSBpbiBrZXlvZiBQcm9wZXJ0aWVzXToge1xuICAgIHByZXZpb3VzVmFsdWU6IFByb3BlcnRpZXNbS2V5XTtcbiAgICBjdXJyZW50VmFsdWU6IFByb3BlcnRpZXNbS2V5XTtcbiAgICBmaXJzdENoYW5nZTogYm9vbGVhbjtcbiAgICBpc0ZpcnN0Q2hhbmdlKCk6IGJvb2xlYW47XG4gIH07XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgc3BlY2lmaWVkIHByb3BlcnR5IG9yIHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkIGluIHRoZSBjdXJyZW50IGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gKiBPcHRpb25hbGx5IGlnbm9yZXMgY2hhbmdlcyB0aGF0IG9jY3VyIGR1cmluZyB0aGUgZmlyc3QgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSAoZS5nLiwgaW5pdGlhbGl6YXRpb24pLlxuICpcbiAqIEB0ZW1wbGF0ZSBVIC0gVGhlIGNvbXBvbmVudCBvciBkaXJlY3RpdmUgY2xhc3MuXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSB0eXBlIHJlcHJlc2VudGluZyB0aGUgY2hhbmdlcywgdHlwaWNhbGx5IGBOZ0NoYW5nZXM8VT5gLlxuICogQHRlbXBsYXRlIEsgLSBUaGUga2V5IG9yIGtleXMgcmVwcmVzZW50aW5nIHRoZSBwcm9wZXJ0aWVzIHRvIGNoZWNrIGZvciBjaGFuZ2VzLlxuICogQHBhcmFtIHtUfSBjaGFuZ2VzIC0gVGhlIGBOZ0NoYW5nZXNgIG9iamVjdCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IGFsbCBjaGFuZ2VzLlxuICogQHBhcmFtIHtLIHwgS1tdfSBrZXlPcktleXMgLSBUaGUgcHJvcGVydHkgbmFtZShzKSB0byBjaGVjayBmb3IgY2hhbmdlcy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lnbm9yZUZpcnN0Q2hhbmdlPXRydWVdIC0gV2hldGhlciB0byBpZ25vcmUgY2hhbmdlcyB0aGF0IG9jY3VyIGR1cmluZyB0aGUgZmlyc3QgY2hhbmdlIGRldGVjdGlvbiBjeWNsZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSBgdHJ1ZWAgaWYgdGhlIHNwZWNpZmllZCBwcm9wZXJ0eSBvciBwcm9wZXJ0aWVzIGhhdmUgY2hhbmdlZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBFeGFtcGxlIHVzYWdlIHdpdGhpbiBhbiBBbmd1bGFyIGNvbXBvbmVudCdzIGBuZ09uQ2hhbmdlc2AgbWV0aG9kXG4gKiBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBOZ0NoYW5nZXM8TXlDb21wb25lbnQ+KTogdm9pZCB7XG4gKiAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICduYW1lJykpIHtcbiAqICAgICBjb25zb2xlLmxvZygnTmFtZSBoYXMgY2hhbmdlZCcpO1xuICogICB9XG4gKiB9XG4gKlxuICogLy8gQ2hlY2tpbmcgbXVsdGlwbGUgcHJvcGVydGllcyBmb3IgY2hhbmdlc1xuICogbmdPbkNoYW5nZXMoY2hhbmdlczogTmdDaGFuZ2VzPE15Q29tcG9uZW50Pik6IHZvaWQge1xuICogICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCBbJ25hbWUnLCAnYWdlJ10sIGZhbHNlKSkge1xuICogICAgIGNvbnNvbGUubG9nKCdOYW1lIG9yIGFnZSBoYXMgY2hhbmdlZCAoaW5jbHVkaW5nIGZpcnN0IGNoYW5nZSknKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNDaGFuZ2VkPFUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgVCBleHRlbmRzIE5nQ2hhbmdlczxVPiwgSyBleHRlbmRzIGtleW9mIFQ+KFxuICBjaGFuZ2VzOiBULFxuICBrZXlPcktleXM6IEsgfCBLW10sXG4gIGlnbm9yZUZpcnN0Q2hhbmdlID0gdHJ1ZSxcbik6IGJvb2xlYW4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShrZXlPcktleXMpKSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5T3JLZXlzKSB7XG4gICAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCBrZXksIGlnbm9yZUZpcnN0Q2hhbmdlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBrZXlPcktleXMgaW4gY2hhbmdlcyAmJiAoIWlnbm9yZUZpcnN0Q2hhbmdlIHx8ICFjaGFuZ2VzW2tleU9yS2V5c10/LmlzRmlyc3RDaGFuZ2UoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -90,4 +90,4 @@ export function createConfigTokens(name, prefix, defaultValue, transform) {
90
90
  [provideConfigName]: ((config) => provideConfig(token, config, transform)),
91
91
  };
92
92
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL3Byb3ZpZGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsTUFBTSxFQUFFLGNBQWMsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBWWxEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsS0FBaUMsRUFDakMsTUFBNEIsRUFDNUIsWUFBa0MsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFNUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLElBQUksWUFBWSxJQUFJLE1BQU0sRUFBRTtRQUMxQixPQUFPO1lBQ0wsT0FBTyxFQUFFLEtBQUs7WUFDZCw4REFBOEQ7WUFDOUQsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFlLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUksSUFBWSxDQUFDLENBQUM7WUFDdEYsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1NBQ2xCLENBQUM7S0FDSDtJQUVELE9BQU87UUFDTCxPQUFPLEVBQUUsS0FBSztRQUNkLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0tBQ3hDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUksS0FBaUMsRUFBRSxZQUFlO0lBQ3hFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFN0UsT0FBTyxTQUFTLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQU0sQ0FBQztBQUM1RCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFzQixJQUFPLEVBQUUsTUFBYyxFQUFFLFlBQWUsRUFBRSxTQUFnQztJQUloSSxNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksUUFBaUIsQ0FBQztJQUM1QyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsSUFBSSxlQUF3QixDQUFDO0lBQzFELE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxJQUFJLFFBQWlCLENBQUM7SUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLElBQUksUUFBaUIsQ0FBQztJQUMxRCxNQUFNLFNBQVMsR0FBRyxHQUFHLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztJQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FBYSxTQUFTLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBRTdHLE9BQU87UUFDTCxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUs7UUFDbkIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFlBQVk7UUFDakMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDO1FBQzFELENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBcUI7S0FJNUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeVByb3ZpZGVyLCBpbmplY3QsIEluamVjdGlvblRva2VuLCBUeXBlLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5cbmludGVyZmFjZSBDb25maWdGYWN0b3J5UHJvdmlkZXI8VCwgRCBleHRlbmRzIENvbmZpZ0RlcGVuZGVuY2llcz4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICB1c2VGYWN0b3J5OiAoLi4uYXJnczogeyBbSSBpbiBrZXlvZiBEXTogRFtJXSBleHRlbmRzIFR5cGU8dW5rbm93bj4gPyBJbnN0YW5jZVR5cGU8RFtJXT4gOiBEW0ldIGV4dGVuZHMgSW5qZWN0aW9uVG9rZW48dW5rbm93bj4gPyBhbnkgOiBuZXZlciB9KSA9PiBUO1xuICBkZXBzPzogWy4uLkRdO1xufVxuXG5leHBvcnQgdHlwZSBDb25maWdEZXBlbmRlbmNpZXM8VCA9IHVua25vd24+ID0gUmVhZG9ubHlBcnJheTxUeXBlPFQ+IHwgSW5qZWN0aW9uVG9rZW48VD4+O1xuZXhwb3J0IHR5cGUgQ29uZmlnUHJvdmlkZXI8VCA9IHVua25vd24sIEQgZXh0ZW5kcyBDb25maWdEZXBlbmRlbmNpZXMgPSBbXT4gPSBDb25maWdGYWN0b3J5UHJvdmlkZXI8VCwgRD4gfCBUO1xuZXhwb3J0IHR5cGUgQ29uZmlnVHJhbnNmb3JtRm48VCA9IHVua25vd24+ID0gKGNvbmZpZzogUGFydGlhbDxUPikgPT4gUGFydGlhbDxUPjtcblxuLyoqXG4gKiBQcm92aWRlcyBhIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9yIGEgZmFjdG9yeSBmb3IgY3JlYXRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LCBvcHRpb25hbGx5IGFwcGx5aW5nIGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24uXG4gKiBUaGlzIHV0aWxpdHkgc2ltcGxpZmllcyB0aGUgcHJvY2VzcyBvZiBkZWZpbmluZyBhbmQgaW5qZWN0aW5nIGNvbmZpZ3VyYXRpb24gb2JqZWN0cyB0aHJvdWdob3V0IGFuIEFuZ3VsYXIgYXBwbGljYXRpb24uXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gKiBAdGVtcGxhdGUgRCAtIFRoZSBkZXBlbmRlbmNpZXMgcmVxdWlyZWQgYnkgdGhlIGNvbmZpZ3VyYXRpb24gZmFjdG9yeSwgaWYgYW55LlxuICogQHBhcmFtIHtJbmplY3Rpb25Ub2tlbjxUPiB8IHN0cmluZ30gdG9rZW4gLSBUaGUgaW5qZWN0aW9uIHRva2VuIG9yIHN0cmluZyB0b2tlbiBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge0NvbmZpZ1Byb3ZpZGVyPFQsIEQ+fSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBvYmplY3Qgb3IgYSBmYWN0b3J5IHByb3ZpZGVyIHRoYXQgcHJvZHVjZXMgdGhlIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge0NvbmZpZ1RyYW5zZm9ybUZuPFQ+fSBbdHJhbnNmb3JtPSgpID0+ICh7fSkpXSAtIEFuIG9wdGlvbmFsIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAqIEByZXR1cm5zIHtGYWN0b3J5UHJvdmlkZXIgfCBWYWx1ZVByb3ZpZGVyfSAtIEFuIEFuZ3VsYXIgcHJvdmlkZXIgb2JqZWN0IGZvciB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIERlZmluZSBhIHNpbXBsZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICogY29uc3QgYXBwQ29uZmlnID0geyBhcGlFbmRwb2ludDogJ2h0dHBzOi8vYXBpLmV4YW1wbGUuY29tJyB9O1xuICpcbiAqIC8vIFByb3ZpZGUgdGhlIGNvbmZpZ3VyYXRpb24gd2l0aCBhbiBvcHRpb25hbCB0cmFuc2Zvcm1hdGlvbiBmdW5jdGlvblxuICogcHJvdmlkZUNvbmZpZyhhcHBDb25maWdUb2tlbiwgYXBwQ29uZmlnLCAoY29uZmlnKSA9PiAoe1xuICogICAuLi5jb25maWcsXG4gKiAgIGFwaUVuZHBvaW50OiBgJHtjb25maWcuYXBpRW5kcG9pbnR9L3YyYCxcbiAqIH0pKTtcbiAqXG4gKiAvLyBVc2luZyBhIGZhY3RvcnkgcHJvdmlkZXIgZm9yIGR5bmFtaWMgY29uZmlndXJhdGlvblxuICogcHJvdmlkZUNvbmZpZyhhcHBDb25maWdUb2tlbiwge1xuICogICB1c2VGYWN0b3J5OiAoZW52U2VydmljZSkgPT4gKHsgYXBpRW5kcG9pbnQ6IGVudlNlcnZpY2UuZ2V0QXBpRW5kcG9pbnQoKSB9KSxcbiAqICAgZGVwczogW0Vudmlyb25tZW50U2VydmljZV0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbmZpZzxUIGV4dGVuZHMgb2JqZWN0LCBEIGV4dGVuZHMgQ29uZmlnRGVwZW5kZW5jaWVzID0gQ29uZmlnRGVwZW5kZW5jaWVzPihcbiAgdG9rZW46IEluamVjdGlvblRva2VuPFQ+IHwgc3RyaW5nLFxuICBjb25maWc6IENvbmZpZ1Byb3ZpZGVyPFQsIEQ+LFxuICB0cmFuc2Zvcm06IENvbmZpZ1RyYW5zZm9ybUZuPFQ+ID0gKCkgPT4gKHt9KSxcbik6IEZhY3RvcnlQcm92aWRlciB8IFZhbHVlUHJvdmlkZXIge1xuICBjb25zdCBwcmVwYXJlQ29uZmlnID0gKHZhbHVlOiBQYXJ0aWFsPFQ+KSA9PiBkZWVwbWVyZ2UodmFsdWUsIHRyYW5zZm9ybSh2YWx1ZSkpO1xuICBpZiAoJ3VzZUZhY3RvcnknIGluIGNvbmZpZykge1xuICAgIHJldHVybiB7XG4gICAgICBwcm92aWRlOiB0b2tlbixcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICB1c2VGYWN0b3J5OiAoLi4uYXJnczogdW5rbm93bltdKSA9PiBwcmVwYXJlQ29uZmlnKGNvbmZpZy51c2VGYWN0b3J5KC4uLihhcmdzIGFzIGFueSkpKSxcbiAgICAgIGRlcHM6IGNvbmZpZy5kZXBzLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IHRva2VuLFxuICAgIHVzZUZhY3Rvcnk6ICgpID0+IHByZXBhcmVDb25maWcoY29uZmlnKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VDb25maWc8VD4odG9rZW46IEluamVjdGlvblRva2VuPFBhcnRpYWw8VD4+LCBkZWZhdWx0VmFsdWU6IFQpOiBQYXJ0aWFsPFQ+IHtcbiAgY29uc3QgY29uZmlnID0gaW5qZWN0KHRva2VuKTtcbiAgY29uc3QgcGFyZW50Q29uZmlnID0gaW5qZWN0KHRva2VuLCB7IHNraXBTZWxmOiB0cnVlLCBvcHRpb25hbDogdHJ1ZSB9KSA/PyB7fTtcblxuICByZXR1cm4gZGVlcG1lcmdlKGRlZmF1bHRWYWx1ZSwgcGFyZW50Q29uZmlnLCBjb25maWcpIGFzIFQ7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgc2V0IG9mIGNvbmZpZ3VyYXRpb24tcmVsYXRlZCB0b2tlbnMgYW5kIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyBjb25maWd1cmF0aW9uIGluIGFuIEFuZ3VsYXIgYXBwbGljYXRpb24uXG4gKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBzdGFuZGFyZGl6ZWQgd2F5IHRvIGRlZmluZSwgcHJvdmlkZSwgYW5kIGluamVjdCBjb25maWd1cmF0aW9ucywgaW5jbHVkaW5nIGRlZmF1bHRzIGFuZCB0cmFuc2Zvcm1hdGlvbnMuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gKiBAdGVtcGxhdGUgTiAtIFRoZSBuYW1lIG9mIHRoZSBjb25maWd1cmF0aW9uLCB1c2VkIHRvIGdlbmVyYXRlIHRva2VuIG5hbWVzIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSB7Tn0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtzdHJpbmd9IHByZWZpeCAtIEEgcHJlZml4IGZvciB0aGUgaW5qZWN0aW9uIHRva2VuIHRvIGVuc3VyZSB1bmlxdWVuZXNzIGFjcm9zcyB0aGUgYXBwbGljYXRpb24uXG4gKiBAcGFyYW0ge1R9IGRlZmF1bHRWYWx1ZSAtIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgY29uZmlndXJhdGlvbi5cbiAqIEBwYXJhbSB7Q29uZmlnVHJhbnNmb3JtRm48VD59IFt0cmFuc2Zvcm1dIC0gQW4gb3B0aW9uYWwgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gdG8gYmUgYXBwbGllZCB0byB0aGUgY29uZmlndXJhdGlvbi5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgaW5qZWN0aW9uIHRva2VuLCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24sIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgdGhlIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBDcmVhdGUgY29uZmlndXJhdGlvbiB0b2tlbnMgYW5kIHV0aWxpdGllcyBmb3IgXCJhcHBDb25maWdcIiB3aXRoIGEgZGVmYXVsdCB2YWx1ZSBhbmQgb3B0aW9uYWwgdHJhbnNmb3JtIGZ1bmN0aW9uXG4gKiBjb25zdCB7IGFwcENvbmZpZ0NvbmZpZywgcHJvdmlkZUFwcENvbmZpZ0NvbmZpZyB9ID0gY3JlYXRlQ29uZmlnVG9rZW5zKCdhcHBDb25maWcnLCAnbXlQcmVmaXgnLCB7IGRlYnVnOiBmYWxzZSB9LCAoY29uZmlnKSA9PiAoe1xuICogICAuLi5jb25maWcsXG4gKiAgIGRlYnVnOiB0cnVlLCAvLyBFbmFibGUgZGVidWcgbW9kZSBieSBkZWZhdWx0XG4gKiB9KSk7XG4gKlxuICogLy8gTGF0ZXIsIGluIGEgbW9kdWxlIG9yIGNvbXBvbmVudCwgcHJvdmlkZSB0aGUgY3VzdG9taXplZCBjb25maWd1cmF0aW9uXG4gKiBATmdNb2R1bGUoe1xuICogICBwcm92aWRlcnM6IFtwcm92aWRlQXBwQ29uZmlnQ29uZmlnKHsgYXBpRW5kcG9pbnQ6ICdodHRwczovL2FwaS5leGFtcGxlLmNvbScgfSldXG4gKiB9KVxuICogY2xhc3MgQXBwTW9kdWxlIHt9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbmZpZ1Rva2VuczxULCBOIGV4dGVuZHMgc3RyaW5nPihuYW1lOiBOLCBwcmVmaXg6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBULCB0cmFuc2Zvcm0/OiBDb25maWdUcmFuc2Zvcm1GbjxUPikge1xuICB0eXBlIENvbmZpZ1Byb3ZpZGVyRm4gPSA8RCBleHRlbmRzIENvbmZpZ0RlcGVuZGVuY2llcyA9IENvbmZpZ0RlcGVuZGVuY2llczxQYXJ0aWFsPFQ+Pj4oXG4gICAgY29uZmlnOiBDb25maWdQcm92aWRlcjxQYXJ0aWFsPFQ+LCBEPixcbiAgKSA9PiBGYWN0b3J5UHJvdmlkZXIgfCBWYWx1ZVByb3ZpZGVyO1xuICBjb25zdCBjb25maWdOYW1lID0gYCR7bmFtZX1Db25maWdgIGFzIGNvbnN0O1xuICBjb25zdCBkZWZhdWx0Q29uZmlnTmFtZSA9IGAke25hbWV9RGVmYXVsdENvbmZpZ2AgYXMgY29uc3Q7XG4gIGNvbnN0IGluamVjdENvbmZpZ05hbWUgPSBgaW5qZWN0JHtuYW1lfUNvbmZpZ2AgYXMgY29uc3Q7XG4gIGNvbnN0IHByb3ZpZGVDb25maWdOYW1lID0gYHByb3ZpZGUke25hbWV9Q29uZmlnYCBhcyBjb25zdDtcbiAgY29uc3QgdG9rZW5OYW1lID0gYCR7cHJlZml4fTo6JHtjb25maWdOYW1lfWA7XG4gIGNvbnN0IHRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8VD4+KHRva2VuTmFtZSwgeyBwcm92aWRlZEluOiAncm9vdCcsIGZhY3Rvcnk6ICgpID0+IGRlZmF1bHRWYWx1ZSB9KTtcblxuICByZXR1cm4ge1xuICAgIFtjb25maWdOYW1lXTogdG9rZW4sXG4gICAgW2RlZmF1bHRDb25maWdOYW1lXTogZGVmYXVsdFZhbHVlLFxuICAgIFtpbmplY3RDb25maWdOYW1lXTogKCkgPT4gbWVyZ2VDb25maWcodG9rZW4sIGRlZmF1bHRWYWx1ZSksXG4gICAgW3Byb3ZpZGVDb25maWdOYW1lXTogKChjb25maWcpID0+IHByb3ZpZGVDb25maWcodG9rZW4sIGNvbmZpZywgdHJhbnNmb3JtKSkgYXMgQ29uZmlnUHJvdmlkZXJGbixcbiAgfSBhcyBSZWNvcmQ8dHlwZW9mIGNvbmZpZ05hbWUsIEluamVjdGlvblRva2VuPFBhcnRpYWw8VD4+PiAmXG4gICAgUmVjb3JkPHR5cGVvZiBkZWZhdWx0Q29uZmlnTmFtZSwgVD4gJlxuICAgIFJlY29yZDx0eXBlb2YgaW5qZWN0Q29uZmlnTmFtZSwgKCkgPT4gVD4gJlxuICAgIFJlY29yZDx0eXBlb2YgcHJvdmlkZUNvbmZpZ05hbWUsIENvbmZpZ1Byb3ZpZGVyRm4+O1xufVxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL3Byb3ZpZGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsTUFBTSxFQUFFLGNBQWMsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBWWxEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEJHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsS0FBaUMsRUFDakMsTUFBNEIsRUFDNUIsWUFBa0MsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFNUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLElBQUksWUFBWSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE9BQU87WUFDTCxPQUFPLEVBQUUsS0FBSztZQUNkLDhEQUE4RDtZQUM5RCxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBSSxJQUFZLENBQUMsQ0FBQztZQUN0RixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLEtBQUs7UUFDZCxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztLQUN4QyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFJLEtBQWlDLEVBQUUsWUFBZTtJQUN4RSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBRTdFLE9BQU8sU0FBUyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFNLENBQUM7QUFDNUQsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBc0IsSUFBTyxFQUFFLE1BQWMsRUFBRSxZQUFlLEVBQUUsU0FBZ0M7SUFJaEksTUFBTSxVQUFVLEdBQUcsR0FBRyxJQUFJLFFBQWlCLENBQUM7SUFDNUMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLElBQUksZUFBd0IsQ0FBQztJQUMxRCxNQUFNLGdCQUFnQixHQUFHLFNBQVMsSUFBSSxRQUFpQixDQUFDO0lBQ3hELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxJQUFJLFFBQWlCLENBQUM7SUFDMUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7SUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQWEsU0FBUyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUU3RyxPQUFPO1FBQ0wsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLO1FBQ25CLENBQUMsaUJBQWlCLENBQUMsRUFBRSxZQUFZO1FBQ2pDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztRQUMxRCxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQXFCO0tBSTVDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3RvcnlQcm92aWRlciwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgVHlwZSwgVmFsdWVQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBkZWVwbWVyZ2UgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuXG5pbnRlcmZhY2UgQ29uZmlnRmFjdG9yeVByb3ZpZGVyPFQsIEQgZXh0ZW5kcyBDb25maWdEZXBlbmRlbmNpZXM+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgdXNlRmFjdG9yeTogKC4uLmFyZ3M6IHsgW0kgaW4ga2V5b2YgRF06IERbSV0gZXh0ZW5kcyBUeXBlPHVua25vd24+ID8gSW5zdGFuY2VUeXBlPERbSV0+IDogRFtJXSBleHRlbmRzIEluamVjdGlvblRva2VuPHVua25vd24+ID8gYW55IDogbmV2ZXIgfSkgPT4gVDtcbiAgZGVwcz86IFsuLi5EXTtcbn1cblxuZXhwb3J0IHR5cGUgQ29uZmlnRGVwZW5kZW5jaWVzPFQgPSB1bmtub3duPiA9IFJlYWRvbmx5QXJyYXk8VHlwZTxUPiB8IEluamVjdGlvblRva2VuPFQ+PjtcbmV4cG9ydCB0eXBlIENvbmZpZ1Byb3ZpZGVyPFQgPSB1bmtub3duLCBEIGV4dGVuZHMgQ29uZmlnRGVwZW5kZW5jaWVzID0gW10+ID0gQ29uZmlnRmFjdG9yeVByb3ZpZGVyPFQsIEQ+IHwgVDtcbmV4cG9ydCB0eXBlIENvbmZpZ1RyYW5zZm9ybUZuPFQgPSB1bmtub3duPiA9IChjb25maWc6IFBhcnRpYWw8VD4pID0+IFBhcnRpYWw8VD47XG5cbi8qKlxuICogUHJvdmlkZXMgYSBjb25maWd1cmF0aW9uIG9iamVjdCBvciBhIGZhY3RvcnkgZm9yIGNyZWF0aW5nIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCwgb3B0aW9uYWxseSBhcHBseWluZyBhIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uLlxuICogVGhpcyB1dGlsaXR5IHNpbXBsaWZpZXMgdGhlIHByb2Nlc3Mgb2YgZGVmaW5pbmcgYW5kIGluamVjdGluZyBjb25maWd1cmF0aW9uIG9iamVjdHMgdGhyb3VnaG91dCBhbiBBbmd1bGFyIGFwcGxpY2F0aW9uLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICogQHRlbXBsYXRlIEQgLSBUaGUgZGVwZW5kZW5jaWVzIHJlcXVpcmVkIGJ5IHRoZSBjb25maWd1cmF0aW9uIGZhY3RvcnksIGlmIGFueS5cbiAqIEBwYXJhbSB7SW5qZWN0aW9uVG9rZW48VD4gfCBzdHJpbmd9IHRva2VuIC0gVGhlIGluamVjdGlvbiB0b2tlbiBvciBzdHJpbmcgdG9rZW4gYXNzb2NpYXRlZCB3aXRoIHRoZSBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtDb25maWdQcm92aWRlcjxULCBEPn0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9yIGEgZmFjdG9yeSBwcm92aWRlciB0aGF0IHByb2R1Y2VzIHRoZSBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHtDb25maWdUcmFuc2Zvcm1GbjxUPn0gW3RyYW5zZm9ybT0oKSA9PiAoe30pKV0gLSBBbiBvcHRpb25hbCB0cmFuc2Zvcm1hdGlvbiBmdW5jdGlvbiB0byBhcHBseSB0byB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gKiBAcmV0dXJucyB7RmFjdG9yeVByb3ZpZGVyIHwgVmFsdWVQcm92aWRlcn0gLSBBbiBBbmd1bGFyIHByb3ZpZGVyIG9iamVjdCBmb3IgdGhlIGdpdmVuIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBEZWZpbmUgYSBzaW1wbGUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAqIGNvbnN0IGFwcENvbmZpZyA9IHsgYXBpRW5kcG9pbnQ6ICdodHRwczovL2FwaS5leGFtcGxlLmNvbScgfTtcbiAqXG4gKiAvLyBQcm92aWRlIHRoZSBjb25maWd1cmF0aW9uIHdpdGggYW4gb3B0aW9uYWwgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb25cbiAqIHByb3ZpZGVDb25maWcoYXBwQ29uZmlnVG9rZW4sIGFwcENvbmZpZywgKGNvbmZpZykgPT4gKHtcbiAqICAgLi4uY29uZmlnLFxuICogICBhcGlFbmRwb2ludDogYCR7Y29uZmlnLmFwaUVuZHBvaW50fS92MmAsXG4gKiB9KSk7XG4gKlxuICogLy8gVXNpbmcgYSBmYWN0b3J5IHByb3ZpZGVyIGZvciBkeW5hbWljIGNvbmZpZ3VyYXRpb25cbiAqIHByb3ZpZGVDb25maWcoYXBwQ29uZmlnVG9rZW4sIHtcbiAqICAgdXNlRmFjdG9yeTogKGVudlNlcnZpY2UpID0+ICh7IGFwaUVuZHBvaW50OiBlbnZTZXJ2aWNlLmdldEFwaUVuZHBvaW50KCkgfSksXG4gKiAgIGRlcHM6IFtFbnZpcm9ubWVudFNlcnZpY2VdLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDb25maWc8VCBleHRlbmRzIG9iamVjdCwgRCBleHRlbmRzIENvbmZpZ0RlcGVuZGVuY2llcyA9IENvbmZpZ0RlcGVuZGVuY2llcz4oXG4gIHRva2VuOiBJbmplY3Rpb25Ub2tlbjxUPiB8IHN0cmluZyxcbiAgY29uZmlnOiBDb25maWdQcm92aWRlcjxULCBEPixcbiAgdHJhbnNmb3JtOiBDb25maWdUcmFuc2Zvcm1GbjxUPiA9ICgpID0+ICh7fSksXG4pOiBGYWN0b3J5UHJvdmlkZXIgfCBWYWx1ZVByb3ZpZGVyIHtcbiAgY29uc3QgcHJlcGFyZUNvbmZpZyA9ICh2YWx1ZTogUGFydGlhbDxUPikgPT4gZGVlcG1lcmdlKHZhbHVlLCB0cmFuc2Zvcm0odmFsdWUpKTtcbiAgaWYgKCd1c2VGYWN0b3J5JyBpbiBjb25maWcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvdmlkZTogdG9rZW4sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgdXNlRmFjdG9yeTogKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gcHJlcGFyZUNvbmZpZyhjb25maWcudXNlRmFjdG9yeSguLi4oYXJncyBhcyBhbnkpKSksXG4gICAgICBkZXBzOiBjb25maWcuZGVwcyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiB0b2tlbixcbiAgICB1c2VGYWN0b3J5OiAoKSA9PiBwcmVwYXJlQ29uZmlnKGNvbmZpZyksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1lcmdlQ29uZmlnPFQ+KHRva2VuOiBJbmplY3Rpb25Ub2tlbjxQYXJ0aWFsPFQ+PiwgZGVmYXVsdFZhbHVlOiBUKTogUGFydGlhbDxUPiB7XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdCh0b2tlbik7XG4gIGNvbnN0IHBhcmVudENvbmZpZyA9IGluamVjdCh0b2tlbiwgeyBza2lwU2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSkgPz8ge307XG5cbiAgcmV0dXJuIGRlZXBtZXJnZShkZWZhdWx0VmFsdWUsIHBhcmVudENvbmZpZywgY29uZmlnKSBhcyBUO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIHNldCBvZiBjb25maWd1cmF0aW9uLXJlbGF0ZWQgdG9rZW5zIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgbWFuYWdpbmcgY29uZmlndXJhdGlvbiBpbiBhbiBBbmd1bGFyIGFwcGxpY2F0aW9uLlxuICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgc3RhbmRhcmRpemVkIHdheSB0byBkZWZpbmUsIHByb3ZpZGUsIGFuZCBpbmplY3QgY29uZmlndXJhdGlvbnMsIGluY2x1ZGluZyBkZWZhdWx0cyBhbmQgdHJhbnNmb3JtYXRpb25zLlxuICpcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICogQHRlbXBsYXRlIE4gLSBUaGUgbmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbiwgdXNlZCB0byBnZW5lcmF0ZSB0b2tlbiBuYW1lcyBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuXG4gKiBAcGFyYW0ge059IG5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbi5cbiAqIEBwYXJhbSB7c3RyaW5nfSBwcmVmaXggLSBBIHByZWZpeCBmb3IgdGhlIGluamVjdGlvbiB0b2tlbiB0byBlbnN1cmUgdW5pcXVlbmVzcyBhY3Jvc3MgdGhlIGFwcGxpY2F0aW9uLlxuICogQHBhcmFtIHtUfSBkZWZhdWx0VmFsdWUgLSBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge0NvbmZpZ1RyYW5zZm9ybUZuPFQ+fSBbdHJhbnNmb3JtXSAtIEFuIG9wdGlvbmFsIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGNvbmZpZ3VyYXRpb24uXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgZ2VuZXJhdGVkIGluamVjdGlvbiB0b2tlbiwgZGVmYXVsdCBjb25maWd1cmF0aW9uLCBhbmQgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHRoZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gQ3JlYXRlIGNvbmZpZ3VyYXRpb24gdG9rZW5zIGFuZCB1dGlsaXRpZXMgZm9yIFwiYXBwQ29uZmlnXCIgd2l0aCBhIGRlZmF1bHQgdmFsdWUgYW5kIG9wdGlvbmFsIHRyYW5zZm9ybSBmdW5jdGlvblxuICogY29uc3QgeyBhcHBDb25maWdDb25maWcsIHByb3ZpZGVBcHBDb25maWdDb25maWcgfSA9IGNyZWF0ZUNvbmZpZ1Rva2VucygnYXBwQ29uZmlnJywgJ215UHJlZml4JywgeyBkZWJ1ZzogZmFsc2UgfSwgKGNvbmZpZykgPT4gKHtcbiAqICAgLi4uY29uZmlnLFxuICogICBkZWJ1ZzogdHJ1ZSwgLy8gRW5hYmxlIGRlYnVnIG1vZGUgYnkgZGVmYXVsdFxuICogfSkpO1xuICpcbiAqIC8vIExhdGVyLCBpbiBhIG1vZHVsZSBvciBjb21wb25lbnQsIHByb3ZpZGUgdGhlIGN1c3RvbWl6ZWQgY29uZmlndXJhdGlvblxuICogQE5nTW9kdWxlKHtcbiAqICAgcHJvdmlkZXJzOiBbcHJvdmlkZUFwcENvbmZpZ0NvbmZpZyh7IGFwaUVuZHBvaW50OiAnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20nIH0pXVxuICogfSlcbiAqIGNsYXNzIEFwcE1vZHVsZSB7fVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb25maWdUb2tlbnM8VCwgTiBleHRlbmRzIHN0cmluZz4obmFtZTogTiwgcHJlZml4OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCwgdHJhbnNmb3JtPzogQ29uZmlnVHJhbnNmb3JtRm48VD4pIHtcbiAgdHlwZSBDb25maWdQcm92aWRlckZuID0gPEQgZXh0ZW5kcyBDb25maWdEZXBlbmRlbmNpZXMgPSBDb25maWdEZXBlbmRlbmNpZXM8UGFydGlhbDxUPj4+KFxuICAgIGNvbmZpZzogQ29uZmlnUHJvdmlkZXI8UGFydGlhbDxUPiwgRD4sXG4gICkgPT4gRmFjdG9yeVByb3ZpZGVyIHwgVmFsdWVQcm92aWRlcjtcbiAgY29uc3QgY29uZmlnTmFtZSA9IGAke25hbWV9Q29uZmlnYCBhcyBjb25zdDtcbiAgY29uc3QgZGVmYXVsdENvbmZpZ05hbWUgPSBgJHtuYW1lfURlZmF1bHRDb25maWdgIGFzIGNvbnN0O1xuICBjb25zdCBpbmplY3RDb25maWdOYW1lID0gYGluamVjdCR7bmFtZX1Db25maWdgIGFzIGNvbnN0O1xuICBjb25zdCBwcm92aWRlQ29uZmlnTmFtZSA9IGBwcm92aWRlJHtuYW1lfUNvbmZpZ2AgYXMgY29uc3Q7XG4gIGNvbnN0IHRva2VuTmFtZSA9IGAke3ByZWZpeH06OiR7Y29uZmlnTmFtZX1gO1xuICBjb25zdCB0b2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQYXJ0aWFsPFQ+Pih0b2tlbk5hbWUsIHsgcHJvdmlkZWRJbjogJ3Jvb3QnLCBmYWN0b3J5OiAoKSA9PiBkZWZhdWx0VmFsdWUgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBbY29uZmlnTmFtZV06IHRva2VuLFxuICAgIFtkZWZhdWx0Q29uZmlnTmFtZV06IGRlZmF1bHRWYWx1ZSxcbiAgICBbaW5qZWN0Q29uZmlnTmFtZV06ICgpID0+IG1lcmdlQ29uZmlnKHRva2VuLCBkZWZhdWx0VmFsdWUpLFxuICAgIFtwcm92aWRlQ29uZmlnTmFtZV06ICgoY29uZmlnKSA9PiBwcm92aWRlQ29uZmlnKHRva2VuLCBjb25maWcsIHRyYW5zZm9ybSkpIGFzIENvbmZpZ1Byb3ZpZGVyRm4sXG4gIH0gYXMgUmVjb3JkPHR5cGVvZiBjb25maWdOYW1lLCBJbmplY3Rpb25Ub2tlbjxQYXJ0aWFsPFQ+Pj4gJlxuICAgIFJlY29yZDx0eXBlb2YgZGVmYXVsdENvbmZpZ05hbWUsIFQ+ICZcbiAgICBSZWNvcmQ8dHlwZW9mIGluamVjdENvbmZpZ05hbWUsICgpID0+IFQ+ICZcbiAgICBSZWNvcmQ8dHlwZW9mIHByb3ZpZGVDb25maWdOYW1lLCBDb25maWdQcm92aWRlckZuPjtcbn1cbiJdfQ==
@@ -182,4 +182,4 @@ export class Queue {
182
182
  return this.events$$.pipe(filter((event) => event.type === type), map(({ items }) => items), concatAll(), share());
183
183
  }
184
184
  }
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL3F1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0csT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPbkQsU0FBUyxhQUFhLENBQUMsS0FBYztJQUNuQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxLQUFLO0lBQWxCO1FBQ21CLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztRQUN4QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFDakQsV0FBTSxHQUFtQixFQUFFLENBQUM7UUFDNUIsY0FBUyxHQUF3QixJQUFJLENBQUM7UUFDdEMsYUFBUSxHQUF3QixJQUFJLENBQUM7UUFFN0M7Ozs7V0FJRztRQUNhLFdBQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekQ7Ozs7V0FJRztRQUNhLGNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0Q7Ozs7V0FJRztRQUNhLGNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0Q7Ozs7V0FJRztRQUNhLFdBQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDekMsU0FB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QUM7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQW9CLEVBQUUsU0FBUyxHQUFHLElBQUk7UUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsSUFBb0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUN0QyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFDekIsU0FBUyxFQUFFLEVBQ1gsS0FBSyxFQUFFLENBQ1IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdEFsbCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZSwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGlzTnVtYmVyLCBpc1N0cmluZyB9IGZyb20gJy4vdHlwZS1ndWFyZHMnO1xuXG50eXBlIFF1ZXVlSXRlbUlkID0gc3RyaW5nIHwgbnVtYmVyO1xudHlwZSBRdWV1ZUl0ZW08VD4gPSBUICYgeyBpZDogUXVldWVJdGVtSWQgfTtcbnR5cGUgUXVldWVFdmVudFR5cGUgPSAncmVtb3ZlJyB8ICdhZGQnIHwgJ3VwZGF0ZSc7XG50eXBlIFF1ZXVlRXZlbnQ8VD4gPSB7IGl0ZW1zOiBRdWV1ZUl0ZW08VD5bXTsgdHlwZTogUXVldWVFdmVudFR5cGUgfTtcblxuZnVuY3Rpb24gaXNRdWV1ZUl0ZW1JZCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFF1ZXVlSXRlbUlkIHtcbiAgcmV0dXJuIGlzU3RyaW5nKHZhbHVlKSB8fCBpc051bWJlcih2YWx1ZSk7XG59XG5cbi8qKlxuICogQSBjbGFzcyByZXByZXNlbnRpbmcgYSBxdWV1ZSBzdHJ1Y3R1cmUgd2l0aCBhZHZhbmNlZCBmdW5jdGlvbmFsaXRpZXMgaW5jbHVkaW5nIGFkZGluZywgcmVtb3ZpbmcsXG4gKiB1cGRhdGluZyBpdGVtcywgYW5kIG9ic2VydmluZyBjaGFuZ2VzIHRocm91Z2ggUnhKUyBvYnNlcnZhYmxlcy4gSXQgc3VwcG9ydHMgZ2VuZXJpYyBxdWV1ZSBpdGVtIHR5cGVzLFxuICogYWxsb3dpbmcgZm9yIGZsZXhpYmxlIHVzYWdlIGFjcm9zcyBkaWZmZXJlbnQgY29udGV4dHMuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiBpdGVtcyBzdG9yZWQgaW4gdGhlIHF1ZXVlLiBFYWNoIGl0ZW0gbXVzdCBleHRlbmQgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYSB1bmlxdWUgYGlkYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFF1ZXVlPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBxdWV1ZSA9IG5ldyBNYXA8c3RyaW5nLCBRdWV1ZUl0ZW08VD4+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRzJCQgPSBuZXcgU3ViamVjdDxRdWV1ZUV2ZW50PFQ+PigpO1xuICBwcml2YXRlIHZhbHVlczogUXVldWVJdGVtPFQ+W10gPSBbXTtcbiAgcHJpdmF0ZSBmaXJzdEl0ZW06IFF1ZXVlSXRlbTxUPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGxhc3RJdGVtOiBRdWV1ZUl0ZW08VD4gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gYW4gaXRlbSBpcyBhZGRlZCB0byB0aGUgcXVldWUuXG4gICAqXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPFQ+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uQWRkJCA9IHRoaXMuY3JlYXRlRXZlbnRPYnNlcnZlcignYWRkJyk7XG5cbiAgLyoqXG4gICAqIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGFuIGl0ZW0gaW4gdGhlIHF1ZXVlIGlzIHVwZGF0ZWQuXG4gICAqXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPFQ+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uVXBkYXRlJCA9IHRoaXMuY3JlYXRlRXZlbnRPYnNlcnZlcigndXBkYXRlJyk7XG5cbiAgLyoqXG4gICAqIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGFuIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHR5cGUge09ic2VydmFibGU8VD59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25SZW1vdmUkID0gdGhpcy5jcmVhdGVFdmVudE9ic2VydmVyKCdyZW1vdmUnKTtcblxuICAvKipcbiAgICogQW4gb2JzZXJ2YWJsZSByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHF1ZXVlIGFzIGFuIGFycmF5IG9mIGl0ZW1zLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxRdWV1ZUl0ZW08VD5bXT59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWUkID0gdGhpcy5ldmVudHMkJC5waXBlKFxuICAgIHN0YXJ0V2l0aCgoKSA9PiB2b2lkIDApLFxuICAgIG1hcCgoKSA9PiB0aGlzLnZhbHVlcyksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICAvKipcbiAgICogQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IHNpemUgb2YgdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxudW1iZXI+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNpemUkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICBtYXAoKCkgPT4gdGhpcy5zaXplKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNpemUgb2YgdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSAtIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHF1ZXVlLlxuICAgKi9cbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHNwZWNpZmllZCBpdGVtIGlzIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtRdWV1ZUl0ZW08VD59IGl0ZW0gLSBUaGUgaXRlbSB0byBjaGVjay5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGl0ZW0gaXMgdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIHF1ZXVlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0ZpcnN0KHsgaWQgfTogUXVldWVJdGVtPFQ+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlyc3RJdGVtPy5pZCA9PT0gaWQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgaXRlbSBpcyB0aGUgbGFzdCBpdGVtIGluIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtRdWV1ZUl0ZW08VD59IGl0ZW0gLSBUaGUgaXRlbSB0byBjaGVjay5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBpdGVtIGlzIHRoZSBsYXN0IGl0ZW0sIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLlxuICAgKi9cbiAgcHVibGljIGlzTGFzdCh7IGlkIH06IFF1ZXVlSXRlbTxUPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxhc3RJdGVtPy5pZCA9PT0gaWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgcXVldWUgaXRlbSBmcm9tIHRoZSBxdWV1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaXRlbSBvciBpdGVtIElELlxuICAgKlxuICAgKiBAcGFyYW0ge1F1ZXVlSXRlbTxUPiB8IFF1ZXVlSXRlbUlkfSBpdGVtT3JJZCAtIFRoZSBxdWV1ZSBpdGVtIG9yIGl0ZW0gSUQgdG8gcmV0cmlldmUuXG4gICAqIEByZXR1cm5zIHtRdWV1ZUl0ZW08VD4gfCBudWxsfSAtIFRoZSBxdWV1ZSBpdGVtIGlmIGZvdW5kLCBvciBgbnVsbGAgaWYgbm90IGZvdW5kLlxuICAgKi9cbiAgcHVibGljIGdldChpdGVtT3JJZDogUXVldWVJdGVtPFQ+IHwgUXVldWVJdGVtSWQpOiBRdWV1ZUl0ZW08VD4gfCBudWxsIHtcbiAgICBjb25zdCBpZCA9IGlzUXVldWVJdGVtSWQoaXRlbU9ySWQpID8gaXRlbU9ySWQudG9TdHJpbmcoKSA6IGl0ZW1PcklkLmlkLnRvU3RyaW5nKCk7XG5cbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5nZXQoaWQpID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBpdGVtIHRvIHRoZSBxdWV1ZSwgb3B0aW9uYWxseSBlbWl0dGluZyBhbiBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIHtRdWV1ZUl0ZW08VD59IGl0ZW0gLSBUaGUgaXRlbSB0byBhZGQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2VtaXRFdmVudD10cnVlXSAtIFdoZXRoZXIgdG8gZW1pdCBhbiBldmVudCBmb3IgdGhpcyBhY3Rpb24uXG4gICAqIEByZXR1cm5zIHtRdWV1ZUl0ZW08VD59IFRoZSBpdGVtIGFkZGVkIHRvIHRoZSBxdWV1ZS5cbiAgICovXG4gIHB1YmxpYyBhZGQoaXRlbTogUXVldWVJdGVtPFQ+LCBlbWl0RXZlbnQgPSB0cnVlKTogUXVldWVJdGVtPFQ+IHtcbiAgICB0aGlzLnJlbW92ZShpdGVtLCBmYWxzZSk7XG5cbiAgICByZXR1cm4gdGhpcy5hZGRNYW55KFtpdGVtXSwgZW1pdEV2ZW50KVswXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG11bHRpcGxlIGl0ZW1zIHRvIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxRdWV1ZUl0ZW08VD4+fSBpdGVtcyAtIEFuIGFycmF5IG9mIGl0ZW1zIHRvIGJlIGFkZGVkIHRvIHRoZSBxdWV1ZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBlbWl0RXZlbnQgLSAoT3B0aW9uYWwpIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gZW1pdCBhbiBldmVudCBhZnRlciBhZGRpbmcgdGhlIGl0ZW1zLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqIEByZXR1cm5zIHtBcnJheTxRdWV1ZUl0ZW08VD4+fSBBbiBhcnJheSBvZiBhZGRlZCBpdGVtcy5cbiAgICovXG4gIHB1YmxpYyBhZGRNYW55KGl0ZW1zOiBBcnJheTxRdWV1ZUl0ZW08VD4+LCBlbWl0RXZlbnQgPSB0cnVlKTogQXJyYXk8UXVldWVJdGVtPFQ+PiB7XG4gICAgY29uc3QgYWRkZWRJdGVtcyA9IFtdO1xuICAgIGNvbnN0IHVwZGF0ZWRJdGVtcyA9IFtdO1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgaWYgKCF0aGlzLmdldChpdGVtKSkge1xuICAgICAgICBhZGRlZEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGVkSXRlbXMucHVzaChpdGVtKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucXVldWUuc2V0KGl0ZW0uaWQudG9TdHJpbmcoKSwgaXRlbSk7XG4gICAgfVxuICAgIGlmIChhZGRlZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgdGhpcy5ub3RpZnkoeyB0eXBlOiAnYWRkJywgaXRlbXM6IGFkZGVkSXRlbXMgfSwgZW1pdEV2ZW50KTtcbiAgICB9XG4gICAgaWYgKHVwZGF0ZWRJdGVtcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubm90aWZ5KHsgdHlwZTogJ3VwZGF0ZScsIGl0ZW1zOiB1cGRhdGVkSXRlbXMgfSwgZW1pdEV2ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhbiBpdGVtIGZyb20gdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5PFF1ZXVlSXRlbTxUPiB8IFF1ZXVlSXRlbUlkPn0gaXRlbU9ySWQgLSBUaGUgaXRlbSBvciBJRCBvZiB0aGUgaXRlbSB0byBiZSByZW1vdmVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVtaXRFdmVudCAtIFdoZXRoZXIgdG8gZW1pdCBhbiBldmVudCBhZnRlciByZW1vdmluZyB0aGUgaXRlbS4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqIEByZXR1cm5zIFRoZSByZW1vdmVkIGl0ZW0sIG9yIGBudWxsYCBpZiB0aGUgaXRlbSB3YXMgbm90IGZvdW5kLlxuICAgKi9cbiAgcHVibGljIHJlbW92ZShpdGVtT3JJZDogUXVldWVJdGVtPFQ+IHwgUXVldWVJdGVtSWQsIGVtaXRFdmVudCA9IHRydWUpOiBRdWV1ZUl0ZW08VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVNYW55KFtpdGVtT3JJZF0sIGVtaXRFdmVudClbMF07XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBtdWx0aXBsZSBpdGVtcyBmcm9tIHRoZSBxdWV1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaXRlbSBvciBpdGVtIElEcy5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxRdWV1ZUl0ZW08VD4gfCBRdWV1ZUl0ZW1JZD59IGl0ZW1PcklkcyAtIEFuIGFycmF5IG9mIFF1ZXVlSXRlbSBvciBRdWV1ZUl0ZW1JZCBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgaXRlbXMgdG8gYmUgcmVtb3ZlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBlbWl0RXZlbnQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRvIGVtaXQgYW4gZXZlbnQgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGl0ZW1zLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqIEByZXR1cm5zIHtBcnJheTxRdWV1ZUl0ZW08VD4gfCBudWxsPn0gQW4gYXJyYXkgb2YgcmVtb3ZlZCBRdWV1ZUl0ZW0gb2JqZWN0cyBvciBudWxsIHZhbHVlcy5cbiAgICovXG4gIHB1YmxpYyByZW1vdmVNYW55KGl0ZW1PcklkczogQXJyYXk8UXVldWVJdGVtPFQ+IHwgUXVldWVJdGVtSWQ+LCBlbWl0RXZlbnQgPSB0cnVlKTogQXJyYXk8UXVldWVJdGVtPFQ+IHwgbnVsbD4ge1xuICAgIGNvbnN0IGl0ZW1zID0gaXRlbU9ySWRzLm1hcCgoaXRlbU9ySWQpID0+IHRoaXMuZ2V0KGl0ZW1PcklkKSkuZmlsdGVyKEJvb2xlYW4pIGFzIFF1ZXVlSXRlbTxUPltdO1xuICAgIGNvbnN0IHJlbW92ZWRJdGVtcyA9IFtdO1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgY29uc3QgaXRlbVJlbW92ZWQgPSB0aGlzLnF1ZXVlLmRlbGV0ZShpdGVtLmlkLnRvU3RyaW5nKCkpO1xuICAgICAgaWYgKCFpdGVtUmVtb3ZlZCkgY29udGludWU7XG4gICAgICByZW1vdmVkSXRlbXMucHVzaChpdGVtKTtcbiAgICB9XG4gICAgdGhpcy5ub3RpZnkoeyB0eXBlOiAncmVtb3ZlJywgaXRlbXM6IHJlbW92ZWRJdGVtcyB9LCBlbWl0RXZlbnQpO1xuXG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgcXVldWUgYnkgcmVtb3ZpbmcgYWxsIGl0ZW1zLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVtaXRFdmVudCAtIFdoZXRoZXIgdG8gZW1pdCBhbiBldmVudCBhZnRlciBjbGVhcmluZyB0aGUgcXVldWUuIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBjbGVhcihlbWl0RXZlbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnRvQXJyYXkoKTtcbiAgICB0aGlzLnF1ZXVlLmNsZWFyKCk7XG4gICAgdGhpcy5ub3RpZnkoeyB0eXBlOiAncmVtb3ZlJywgaXRlbXMgfSwgZW1pdEV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGFycmF5IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHJldHVybnMge1F1ZXVlSXRlbTxUPltdfSBBbiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgaXRlbXMgaW4gdGhlIHF1ZXVlLlxuICAgKi9cbiAgcHVibGljIHRvQXJyYXkoKTogUXVldWVJdGVtPFQ+W10ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcztcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5KGV2ZW50OiBRdWV1ZUV2ZW50PFQ+LCBlbWl0RXZlbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXMgPSBBcnJheS5mcm9tKHRoaXMucXVldWUsIChbXywgaXRlbV0pID0+IGl0ZW0pLnJldmVyc2UoKTtcbiAgICB0aGlzLmZpcnN0SXRlbSA9IHRoaXMudmFsdWVzWzBdID8/IG51bGw7XG4gICAgdGhpcy5sYXN0SXRlbSA9IHRoaXMudmFsdWVzW3RoaXMudmFsdWVzLmxlbmd0aCAtIDFdID8/IG51bGw7XG4gICAgaWYgKCFlbWl0RXZlbnQpIHJldHVybjtcbiAgICB0aGlzLmV2ZW50cyQkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFdmVudE9ic2VydmVyKHR5cGU6IFF1ZXVlRXZlbnRUeXBlKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzJCQucGlwZShcbiAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnR5cGUgPT09IHR5cGUpLFxuICAgICAgbWFwKCh7IGl0ZW1zIH0pID0+IGl0ZW1zKSxcbiAgICAgIGNvbmNhdEFsbCgpLFxuICAgICAgc2hhcmUoKSxcbiAgICApO1xuICB9XG59XG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvdXRpbHMvc3JjL2xpYi9oZWxwZXJzL3F1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0csT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPbkQsU0FBUyxhQUFhLENBQUMsS0FBYztJQUNuQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxLQUFLO0lBQWxCO1FBQ21CLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztRQUN4QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFDakQsV0FBTSxHQUFtQixFQUFFLENBQUM7UUFDNUIsY0FBUyxHQUF3QixJQUFJLENBQUM7UUFDdEMsYUFBUSxHQUF3QixJQUFJLENBQUM7UUFFN0M7Ozs7V0FJRztRQUNhLFdBQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekQ7Ozs7V0FJRztRQUNhLGNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0Q7Ozs7V0FJRztRQUNhLGNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0Q7Ozs7V0FJRztRQUNhLFdBQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDekMsU0FB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RSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQW9CLEVBQUUsU0FBUyxHQUFHLElBQUk7UUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsSUFBb0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUN0QyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFDekIsU0FBUyxFQUFFLEVBQ1gsS0FBSyxFQUFFLENBQ1IsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdEFsbCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZSwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGlzTnVtYmVyLCBpc1N0cmluZyB9IGZyb20gJy4vdHlwZS1ndWFyZHMnO1xuXG50eXBlIFF1ZXVlSXRlbUlkID0gc3RyaW5nIHwgbnVtYmVyO1xudHlwZSBRdWV1ZUl0ZW08VD4gPSBUICYgeyBpZDogUXVldWVJdGVtSWQgfTtcbnR5cGUgUXVldWVFdmVudFR5cGUgPSAncmVtb3ZlJyB8ICdhZGQnIHwgJ3VwZGF0ZSc7XG50eXBlIFF1ZXVlRXZlbnQ8VD4gPSB7IGl0ZW1zOiBRdWV1ZUl0ZW08VD5bXTsgdHlwZTogUXVldWVFdmVudFR5cGUgfTtcblxuZnVuY3Rpb24gaXNRdWV1ZUl0ZW1JZCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFF1ZXVlSXRlbUlkIHtcbiAgcmV0dXJuIGlzU3RyaW5nKHZhbHVlKSB8fCBpc051bWJlcih2YWx1ZSk7XG59XG5cbi8qKlxuICogQSBjbGFzcyByZXByZXNlbnRpbmcgYSBxdWV1ZSBzdHJ1Y3R1cmUgd2l0aCBhZHZhbmNlZCBmdW5jdGlvbmFsaXRpZXMgaW5jbHVkaW5nIGFkZGluZywgcmVtb3ZpbmcsXG4gKiB1cGRhdGluZyBpdGVtcywgYW5kIG9ic2VydmluZyBjaGFuZ2VzIHRocm91Z2ggUnhKUyBvYnNlcnZhYmxlcy4gSXQgc3VwcG9ydHMgZ2VuZXJpYyBxdWV1ZSBpdGVtIHR5cGVzLFxuICogYWxsb3dpbmcgZm9yIGZsZXhpYmxlIHVzYWdlIGFjcm9zcyBkaWZmZXJlbnQgY29udGV4dHMuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiBpdGVtcyBzdG9yZWQgaW4gdGhlIHF1ZXVlLiBFYWNoIGl0ZW0gbXVzdCBleHRlbmQgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYSB1bmlxdWUgYGlkYC5cbiAqL1xuZXhwb3J0IGNsYXNzIFF1ZXVlPFQ+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBxdWV1ZSA9IG5ldyBNYXA8c3RyaW5nLCBRdWV1ZUl0ZW08VD4+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRzJCQgPSBuZXcgU3ViamVjdDxRdWV1ZUV2ZW50PFQ+PigpO1xuICBwcml2YXRlIHZhbHVlczogUXVldWVJdGVtPFQ+W10gPSBbXTtcbiAgcHJpdmF0ZSBmaXJzdEl0ZW06IFF1ZXVlSXRlbTxUPiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGxhc3RJdGVtOiBRdWV1ZUl0ZW08VD4gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gYW4gaXRlbSBpcyBhZGRlZCB0byB0aGUgcXVldWUuXG4gICAqXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPFQ+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uQWRkJCA9IHRoaXMuY3JlYXRlRXZlbnRPYnNlcnZlcignYWRkJyk7XG5cbiAgLyoqXG4gICAqIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGFuIGl0ZW0gaW4gdGhlIHF1ZXVlIGlzIHVwZGF0ZWQuXG4gICAqXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPFQ+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9uVXBkYXRlJCA9IHRoaXMuY3JlYXRlRXZlbnRPYnNlcnZlcigndXBkYXRlJyk7XG5cbiAgLyoqXG4gICAqIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGFuIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHR5cGUge09ic2VydmFibGU8VD59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb25SZW1vdmUkID0gdGhpcy5jcmVhdGVFdmVudE9ic2VydmVyKCdyZW1vdmUnKTtcblxuICAvKipcbiAgICogQW4gb2JzZXJ2YWJsZSByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHF1ZXVlIGFzIGFuIGFycmF5IG9mIGl0ZW1zLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxRdWV1ZUl0ZW08VD5bXT59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWUkID0gdGhpcy5ldmVudHMkJC5waXBlKFxuICAgIHN0YXJ0V2l0aCgoKSA9PiB2b2lkIDApLFxuICAgIG1hcCgoKSA9PiB0aGlzLnZhbHVlcyksXG4gICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICAvKipcbiAgICogQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IHNpemUgb2YgdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxudW1iZXI+fVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNpemUkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICBtYXAoKCkgPT4gdGhpcy5zaXplKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNpemUgb2YgdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSAtIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHF1ZXVlLlxuICAgKi9cbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuc2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIHNwZWNpZmllZCBpdGVtIGlzIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtRdWV1ZUl0ZW08VD59IGl0ZW0gLSBUaGUgaXRlbSB0byBjaGVjay5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGl0ZW0gaXMgdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIHF1ZXVlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0ZpcnN0KHsgaWQgfTogUXVldWVJdGVtPFQ+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlyc3RJdGVtPy5pZCA9PT0gaWQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgaXRlbSBpcyB0aGUgbGFzdCBpdGVtIGluIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtRdWV1ZUl0ZW08VD59IGl0ZW0gLSBUaGUgaXRlbSB0byBjaGVjay5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBpdGVtIGlzIHRoZSBsYXN0IGl0ZW0sIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLlxuICAgKi9cbiAgcHVibGljIGlzTGFzdCh7IGlkIH06IFF1ZXVlSXRlbTxUPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxhc3RJdGVtPy5pZCA9PT0gaWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgcXVldWUgaXRlbSBmcm9tIHRoZSBxdWV1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaXRlbSBvciBpdGVtIElELlxuICAgKlxuICAgKiBAcGFyYW0ge1F1ZXVlSXRlbTxUPiB8IFF1ZXVlSXRlbUlkfSBpdGVtT3JJZCAtIFRoZSBxdWV1ZSBpdGVtIG9yIGl0ZW0gSUQgdG8gcmV0cmlldmUuXG4gICAqIEByZXR1cm5zIHtRdWV1ZUl0ZW08VD4gfCBudWxsfSAtIFRoZSBxdWV1ZSBpdGVtIGlmIGZvdW5kLCBvciBgbnVsbGAgaWYgbm90IGZvdW5kLlxuICAgKi9cbiAgcHVibGljIGdldChpdGVtT3JJZDogUXVldWVJdGVtPFQ+IHwgUXVldWVJdGVtSWQpOiBRdWV1ZUl0ZW08VD4gfCBudWxsIHtcbiAgICBjb25zdCBpZCA9IGlzUXVldWVJdGVtSWQoaXRlbU9ySWQpID8gaXRlbU9ySWQudG9TdHJpbmcoKSA6IGl0ZW1PcklkLmlkLnRvU3RyaW5nKCk7XG5cbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5nZXQoaWQpID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBpdGVtIHRvIHRoZSBxdWV1ZSwgb3B0aW9uYWxseSBlbWl0dGluZyBhbiBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIHtRdWV1ZUl0ZW08VD59IGl0ZW0gLSBUaGUgaXRlbSB0byBhZGQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2VtaXRFdmVudD10cnVlXSAtIFdoZXRoZXIgdG8gZW1pdCBhbiBldmVudCBmb3IgdGhpcyBhY3Rpb24uXG4gICAqIEByZXR1cm5zIHtRdWV1ZUl0ZW08VD59IFRoZSBpdGVtIGFkZGVkIHRvIHRoZSBxdWV1ZS5cbiAgICovXG4gIHB1YmxpYyBhZGQoaXRlbTogUXVldWVJdGVtPFQ+LCBlbWl0RXZlbnQgPSB0cnVlKTogUXVldWVJdGVtPFQ+IHtcbiAgICB0aGlzLnJlbW92ZShpdGVtLCBmYWxzZSk7XG5cbiAgICByZXR1cm4gdGhpcy5hZGRNYW55KFtpdGVtXSwgZW1pdEV2ZW50KVswXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG11bHRpcGxlIGl0ZW1zIHRvIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxRdWV1ZUl0ZW08VD4+fSBpdGVtcyAtIEFuIGFycmF5IG9mIGl0ZW1zIHRvIGJlIGFkZGVkIHRvIHRoZSBxdWV1ZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBlbWl0RXZlbnQgLSAoT3B0aW9uYWwpIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gZW1pdCBhbiBldmVudCBhZnRlciBhZGRpbmcgdGhlIGl0ZW1zLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqIEByZXR1cm5zIHtBcnJheTxRdWV1ZUl0ZW08VD4+fSBBbiBhcnJheSBvZiBhZGRlZCBpdGVtcy5cbiAgICovXG4gIHB1YmxpYyBhZGRNYW55KGl0ZW1zOiBBcnJheTxRdWV1ZUl0ZW08VD4+LCBlbWl0RXZlbnQgPSB0cnVlKTogQXJyYXk8UXVldWVJdGVtPFQ+PiB7XG4gICAgY29uc3QgYWRkZWRJdGVtcyA9IFtdO1xuICAgIGNvbnN0IHVwZGF0ZWRJdGVtcyA9IFtdO1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgaWYgKCF0aGlzLmdldChpdGVtKSkge1xuICAgICAgICBhZGRlZEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGVkSXRlbXMucHVzaChpdGVtKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucXVldWUuc2V0KGl0ZW0uaWQudG9TdHJpbmcoKSwgaXRlbSk7XG4gICAgfVxuICAgIGlmIChhZGRlZEl0ZW1zLmxlbmd0aCkge1xuICAgICAgdGhpcy5ub3RpZnkoeyB0eXBlOiAnYWRkJywgaXRlbXM6IGFkZGVkSXRlbXMgfSwgZW1pdEV2ZW50KTtcbiAgICB9XG4gICAgaWYgKHVwZGF0ZWRJdGVtcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubm90aWZ5KHsgdHlwZTogJ3VwZGF0ZScsIGl0ZW1zOiB1cGRhdGVkSXRlbXMgfSwgZW1pdEV2ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhbiBpdGVtIGZyb20gdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5PFF1ZXVlSXRlbTxUPiB8IFF1ZXVlSXRlbUlkPn0gaXRlbU9ySWQgLSBUaGUgaXRlbSBvciBJRCBvZiB0aGUgaXRlbSB0byBiZSByZW1vdmVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVtaXRFdmVudCAtIFdoZXRoZXIgdG8gZW1pdCBhbiBldmVudCBhZnRlciByZW1vdmluZyB0aGUgaXRlbS4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqIEByZXR1cm5zIFRoZSByZW1vdmVkIGl0ZW0sIG9yIGBudWxsYCBpZiB0aGUgaXRlbSB3YXMgbm90IGZvdW5kLlxuICAgKi9cbiAgcHVibGljIHJlbW92ZShpdGVtT3JJZDogUXVldWVJdGVtPFQ+IHwgUXVldWVJdGVtSWQsIGVtaXRFdmVudCA9IHRydWUpOiBRdWV1ZUl0ZW08VD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVNYW55KFtpdGVtT3JJZF0sIGVtaXRFdmVudClbMF07XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBtdWx0aXBsZSBpdGVtcyBmcm9tIHRoZSBxdWV1ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaXRlbSBvciBpdGVtIElEcy5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxRdWV1ZUl0ZW08VD4gfCBRdWV1ZUl0ZW1JZD59IGl0ZW1PcklkcyAtIEFuIGFycmF5IG9mIFF1ZXVlSXRlbSBvciBRdWV1ZUl0ZW1JZCBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgaXRlbXMgdG8gYmUgcmVtb3ZlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBlbWl0RXZlbnQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRvIGVtaXQgYW4gZXZlbnQgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGl0ZW1zLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqIEByZXR1cm5zIHtBcnJheTxRdWV1ZUl0ZW08VD4gfCBudWxsPn0gQW4gYXJyYXkgb2YgcmVtb3ZlZCBRdWV1ZUl0ZW0gb2JqZWN0cyBvciBudWxsIHZhbHVlcy5cbiAgICovXG4gIHB1YmxpYyByZW1vdmVNYW55KGl0ZW1PcklkczogQXJyYXk8UXVldWVJdGVtPFQ+IHwgUXVldWVJdGVtSWQ+LCBlbWl0RXZlbnQgPSB0cnVlKTogQXJyYXk8UXVldWVJdGVtPFQ+IHwgbnVsbD4ge1xuICAgIGNvbnN0IGl0ZW1zID0gaXRlbU9ySWRzLm1hcCgoaXRlbU9ySWQpID0+IHRoaXMuZ2V0KGl0ZW1PcklkKSkuZmlsdGVyKEJvb2xlYW4pIGFzIFF1ZXVlSXRlbTxUPltdO1xuICAgIGNvbnN0IHJlbW92ZWRJdGVtcyA9IFtdO1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgY29uc3QgaXRlbVJlbW92ZWQgPSB0aGlzLnF1ZXVlLmRlbGV0ZShpdGVtLmlkLnRvU3RyaW5nKCkpO1xuICAgICAgaWYgKCFpdGVtUmVtb3ZlZCkgY29udGludWU7XG4gICAgICByZW1vdmVkSXRlbXMucHVzaChpdGVtKTtcbiAgICB9XG4gICAgdGhpcy5ub3RpZnkoeyB0eXBlOiAncmVtb3ZlJywgaXRlbXM6IHJlbW92ZWRJdGVtcyB9LCBlbWl0RXZlbnQpO1xuXG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgcXVldWUgYnkgcmVtb3ZpbmcgYWxsIGl0ZW1zLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVtaXRFdmVudCAtIFdoZXRoZXIgdG8gZW1pdCBhbiBldmVudCBhZnRlciBjbGVhcmluZyB0aGUgcXVldWUuIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBjbGVhcihlbWl0RXZlbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnRvQXJyYXkoKTtcbiAgICB0aGlzLnF1ZXVlLmNsZWFyKCk7XG4gICAgdGhpcy5ub3RpZnkoeyB0eXBlOiAncmVtb3ZlJywgaXRlbXMgfSwgZW1pdEV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGFycmF5IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBxdWV1ZS5cbiAgICpcbiAgICogQHJldHVybnMge1F1ZXVlSXRlbTxUPltdfSBBbiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgaXRlbXMgaW4gdGhlIHF1ZXVlLlxuICAgKi9cbiAgcHVibGljIHRvQXJyYXkoKTogUXVldWVJdGVtPFQ+W10ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcztcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5KGV2ZW50OiBRdWV1ZUV2ZW50PFQ+LCBlbWl0RXZlbnQgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZXMgPSBBcnJheS5mcm9tKHRoaXMucXVldWUsIChbXywgaXRlbV0pID0+IGl0ZW0pLnJldmVyc2UoKTtcbiAgICB0aGlzLmZpcnN0SXRlbSA9IHRoaXMudmFsdWVzWzBdID8/IG51bGw7XG4gICAgdGhpcy5sYXN0SXRlbSA9IHRoaXMudmFsdWVzW3RoaXMudmFsdWVzLmxlbmd0aCAtIDFdID8/IG51bGw7XG4gICAgaWYgKCFlbWl0RXZlbnQpIHJldHVybjtcbiAgICB0aGlzLmV2ZW50cyQkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFdmVudE9ic2VydmVyKHR5cGU6IFF1ZXVlRXZlbnRUeXBlKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRzJCQucGlwZShcbiAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnR5cGUgPT09IHR5cGUpLFxuICAgICAgbWFwKCh7IGl0ZW1zIH0pID0+IGl0ZW1zKSxcbiAgICAgIGNvbmNhdEFsbCgpLFxuICAgICAgc2hhcmUoKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -144,10 +144,10 @@ class BreakpointsService {
144
144
  return of(false);
145
145
  return this.breakpointObserver.observe(mediaQueries).pipe(map(({ matches }) => matches), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
146
146
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreakpointsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreakpointsService, providedIn: 'root' }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsService, providedIn: 'root' }); }
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreakpointsService, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsService, decorators: [{
151
151
  type: Injectable,
152
152
  args: [{ providedIn: 'root' }]
153
153
  }] });
@@ -214,10 +214,10 @@ class MatchBreakpointsDirective {
214
214
  viewRef.markForCheck();
215
215
  }
216
216
  }
217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatchBreakpointsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
218
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: MatchBreakpointsDirective, isStandalone: true, selector: "ng-template[odxMatchBreakpoints]", inputs: { breakpoints: ["odxMatchBreakpoints", "breakpoints"], elseTemplate: ["odxMatchBreakpointsElse", "elseTemplate"] }, ngImport: i0 }); }
217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MatchBreakpointsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
218
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: MatchBreakpointsDirective, isStandalone: true, selector: "ng-template[odxMatchBreakpoints]", inputs: { breakpoints: ["odxMatchBreakpoints", "breakpoints"], elseTemplate: ["odxMatchBreakpointsElse", "elseTemplate"] }, ngImport: i0 }); }
219
219
  }
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MatchBreakpointsDirective, decorators: [{
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MatchBreakpointsDirective, decorators: [{
221
221
  type: Directive,
222
222
  args: [{
223
223
  standalone: true,
@@ -233,11 +233,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
233
233
 
234
234
  const modules = [MatchBreakpointsDirective];
235
235
  class BreakpointsModule {
236
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreakpointsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
237
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: BreakpointsModule, imports: [MatchBreakpointsDirective], exports: [MatchBreakpointsDirective] }); }
238
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreakpointsModule }); }
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
237
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsModule, imports: [MatchBreakpointsDirective], exports: [MatchBreakpointsDirective] }); }
238
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsModule }); }
239
239
  }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreakpointsModule, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreakpointsModule, decorators: [{
241
241
  type: NgModule,
242
242
  args: [{
243
243
  imports: modules,
@@ -1 +1 @@
1
- {"version":3,"file":"odx-angular-breakpoints.mjs","sources":["../../../../libs/angular/breakpoints/src/lib/helpers/configure-breakpoint.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.config.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.service.ts","../../../../libs/angular/breakpoints/src/lib/directives/match-breakpoints.directive.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.module.ts","../../../../libs/angular/breakpoints/src/odx-angular-breakpoints.ts"],"sourcesContent":["type BreakpointOperators = '<' | '=' | '>';\ntype BreakpointConfig<T extends string> = Record<`${BreakpointOperators}${T}`, string>;\n\n/**\n * Generates a configuration object containing CSS media query strings for a named breakpoint.\n * The function creates media queries for three scenarios: below (`<`), exactly (`=`), and above (`>`) the specified breakpoint.\n *\n * @template T - The string literal type representing the name of the breakpoint.\n * @param {T} name - The name of the breakpoint (e.g., 'md' for medium).\n * @param {number} min - The minimum width (inclusive) where the breakpoint starts.\n * @param {number} max - The maximum width (exclusive) where the breakpoint ends.\n * @returns {BreakpointConfig<T>} An object containing media query strings for targeting screen sizes relative to the breakpoint.\n *\n * @example\n * ```ts\n * // Define a medium (md) breakpoint\n * const mdBreakpoint = configureBreakpoint('md', 768, 1024);\n * console.log(mdBreakpoint['<md']); // Outputs: \"(max-width: 767px)\"\n * console.log(mdBreakpoint['=md']); // Outputs: \"(min-width: 768px) and (max-width: 1023px)\"\n * console.log(mdBreakpoint['>md']); // Outputs: \"(min-width: 768px)\"\n * ```\n */\nexport function configureBreakpoint<T extends string>(name: T, min: number, max: number): BreakpointConfig<T> {\n return {\n [`<${name}` as const]: `(max-width: ${min - 1}px)`,\n [`=${name}` as const]: `(min-width: ${min}px) and (max-width: ${max - 1}px)`,\n [`>${name}` as const]: `(min-width: ${min}px)`,\n } as BreakpointConfig<T>;\n}\n","import { createConfigTokens } from '@odx/angular/utils';\nimport { configureBreakpoint } from './helpers/configure-breakpoint';\n\n/**\n * Defines default responsive breakpoints for the application. These breakpoints are used to\n * apply responsive styles and behaviors across various device sizes. Each breakpoint is\n * configured with a name, a minimum width, and a maximum width, defining the range of device\n * sizes it targets.\n *\n * @constant\n * @type {Record<string, string>}\n *\n * @example\n * ```ts\n * // Accessing a breakpoint value\n * console.log(DEFAULT_BREAKPOINTS['=phone']); // Outputs: \"(min-width: 480px) and (max-width: 767px)\"\n * ```\n */\nexport const DEFAULT_BREAKPOINTS = {\n ...configureBreakpoint('phone-s', 360, 480),\n ...configureBreakpoint('phone', 480, 768),\n ...configureBreakpoint('tablet', 768, 960),\n ...configureBreakpoint('desktop-s', 960, 1200),\n ...configureBreakpoint('desktop', 1200, 9999),\n} as const;\n\nexport interface BreakpointsConfig {\n breakpoints: Partial<OdxAngular.Breakpoints>;\n}\n\n/**\n * Provides Angular dependency injection tokens for accessing and configuring breakpoints\n * within the application. This enables a type-safe and modular way to manage responsive\n * design breakpoints across the app.\n *\n * @example\n * ```ts\n * // Providing custom breakpoints in an Angular module\n * import { NgModule } from '@angular/core';\n * import { provideBreakpointsConfig } from '@odx/angular/breakpoints';\n *\n * @NgModule({\n * providers: [\n * provideBreakpointsConfig({\n * breakpoints: {\n * ...configureBreakpoint('custom-tablet', 640, 1024),\n * },\n * }),\n * ],\n * })\n * export class CustomModule {}\n * ```\n */\nexport const { BreakpointsConfig, BreakpointsDefaultConfig, injectBreakpointsConfig, provideBreakpointsConfig } = createConfigTokens(\n 'Breakpoints',\n '@odx/angular/breakpoints',\n {\n breakpoints: DEFAULT_BREAKPOINTS,\n } as BreakpointsConfig,\n);\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { inject, Injectable } from '@angular/core';\nimport { distinctUntilChanged, map, Observable, of, shareReplay } from 'rxjs';\nimport { injectBreakpointsConfig } from './breakpoints.config';\nimport { BreakpointName } from './models';\n\n/**\n * Service to observe and react to changes in viewport size based on predefined breakpoints.\n * Utilizes Angular CDK's BreakpointObserver for listening to media query changes and integrates\n * it with the application's custom breakpoints configuration.\n *\n * @Injectable({ providedIn: 'root' })\n */\n@Injectable({ providedIn: 'root' })\nexport class BreakpointsService {\n private readonly breakpointObserver = inject(BreakpointObserver);\n private readonly config = injectBreakpointsConfig();\n\n /**\n * Observes the specified breakpoints and returns an Observable that emits true if any\n * of the specified breakpoints match the current viewport size, and false otherwise.\n *\n * @param {BreakpointName[]} breakpoints - An array of breakpoints to observe.\n * @returns {Observable<boolean>} - An Observable that emits true if the viewport matches the specified breakpoints.\n *\n * @example\n * ```ts\n * // Component that uses BreakpointsService to apply dynamic styles based on breakpoints\n * @Component({\n * selector: 'app-responsive-component',\n * templateUrl: './responsive-component.component.html',\n * })\n * export class ResponsiveComponent {\n * isMobile$: Observable<boolean>;\n *\n * constructor(private breakpointsService: BreakpointsService) {\n * this.isMobile$ = this.breakpointsService.observe(['phone', 'tablet']);\n * }\n * }\n * ```\n */\n public observe(breakpoints: BreakpointName[]): Observable<boolean> {\n const mediaQueries = this.getMediaQueries(breakpoints);\n\n return this.createBreakpointObserver(mediaQueries);\n }\n\n /**\n * Checks if any of the specified breakpoints match the current viewport size.\n *\n * @param {BreakpointName[]} breakpoints - An array of breakpoints to check.\n * @returns {boolean} - Returns true if the viewport matches the specified breakpoints, false otherwise.\n *\n * @example\n * ```ts\n * // Checking if the current viewport matches the 'desktop' breakpoint\n * const isDesktop = this.breakpointsService.matches(['desktop']);\n * console.log(`Is desktop view? ${isDesktop}`);\n * ```\n */\n public matches(breakpoints: BreakpointName[]): boolean {\n const mediaQueries = this.getMediaQueries(breakpoints);\n\n return this.breakpointObserver.isMatched(mediaQueries);\n }\n\n private getMediaQueries(breakpointNames: BreakpointName[]): string[] {\n return breakpointNames.map((name) => this.config.breakpoints[name] as string).filter(Boolean);\n }\n\n private createBreakpointObserver(mediaQueries: string[]): Observable<boolean> {\n if (mediaQueries.length < 1) return of(false);\n\n return this.breakpointObserver.observe(mediaQueries).pipe(\n map(({ matches }) => matches),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n}\n","import { Directive, inject, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { coerceArray, untilDestroyed } from '@odx/angular/utils';\nimport { BehaviorSubject, switchMap, tap } from 'rxjs';\nimport { BreakpointsService } from '../breakpoints.service';\nimport { BreakpointName } from '../models';\n\n/**\n * A structural directive that conditionally includes an Angular template based on whether the viewport matches\n * specified breakpoints. It leverages the BreakpointsService to observe changes in viewport size and apply\n * the appropriate template.\n *\n * @Directive\n * @param {BreakpointsService} breakpointsService - Injects BreakpointsService to observe breakpoint changes.\n * @param {TemplateRef} template - Injects the Angular template to render when breakpoints match.\n * @param {ViewContainerRef} viewContainer - Injects the container where the template will be rendered.\n *\n * @example\n * ```html\n * // Usage in a component template to conditionally display content based on breakpoints\n * // Assume 'mobile' and 'tablet' are defined breakpoints\n * <ng-template [odxMatchBreakpoints]=\"['mobile', 'tablet']\">\n * Content to display on mobile and tablet sizes.\n * </ng-template>\n * <ng-template [odxMatchBreakpoints]=\"['desktop']\" [odxMatchBreakpointsElse]=\"elseTemplate\">\n * Content to display on desktop size.\n * </ng-template>\n * <ng-template #elseTemplate>\n * Content to display when not on desktop size.\n * </ng-template>\n * ```\n */\n@Directive({\n standalone: true,\n selector: 'ng-template[odxMatchBreakpoints]',\n})\nexport class MatchBreakpointsDirective implements OnInit {\n private readonly breakpoints$$ = new BehaviorSubject<BreakpointName[]>([]);\n private readonly breakpointsService = inject(BreakpointsService);\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly template = inject(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n /**\n * Sets the breakpoints to observe. The directive's content is displayed if the current viewport matches\n * any of the specified breakpoints.\n *\n * @param {BreakpointName | BreakpointName[]} value - The breakpoint(s) to match against the current viewport size.\n */\n @Input('odxMatchBreakpoints')\n public set breakpoints(value: BreakpointName | BreakpointName[] | null | undefined) {\n this.breakpoints$$.next(coerceArray(value ?? []));\n }\n\n /**\n * Optionally specifies a template to render when the viewport does not match the specified breakpoints.\n *\n * @param {TemplateRef<unknown>} elseTemplate - The template to render when the viewport does not match the breakpoints.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxMatchBreakpointsElse')\n public elseTemplate?: TemplateRef<unknown> | null = null;\n\n public ngOnInit(): void {\n this.breakpoints$$\n .pipe(\n switchMap((breakpoints) => this.breakpointsService.observe(breakpoints)),\n tap((matchesBreakpoints) => this.render(matchesBreakpoints)),\n this.takeUntilDestroyed(),\n )\n .subscribe();\n }\n\n private render(matchesBreakpoints: boolean): void {\n this.viewContainer.clear();\n const template = matchesBreakpoints ? this.template : this.elseTemplate;\n if (template) {\n const viewRef = this.viewContainer.createEmbeddedView(template);\n viewRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MatchBreakpointsDirective } from './directives';\n\nconst modules = [MatchBreakpointsDirective];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class BreakpointsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"odx-angular-breakpoints.mjs","sources":["../../../../libs/angular/breakpoints/src/lib/helpers/configure-breakpoint.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.config.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.service.ts","../../../../libs/angular/breakpoints/src/lib/directives/match-breakpoints.directive.ts","../../../../libs/angular/breakpoints/src/lib/breakpoints.module.ts","../../../../libs/angular/breakpoints/src/odx-angular-breakpoints.ts"],"sourcesContent":["type BreakpointOperators = '<' | '=' | '>';\ntype BreakpointConfig<T extends string> = Record<`${BreakpointOperators}${T}`, string>;\n\n/**\n * Generates a configuration object containing CSS media query strings for a named breakpoint.\n * The function creates media queries for three scenarios: below (`<`), exactly (`=`), and above (`>`) the specified breakpoint.\n *\n * @template T - The string literal type representing the name of the breakpoint.\n * @param {T} name - The name of the breakpoint (e.g., 'md' for medium).\n * @param {number} min - The minimum width (inclusive) where the breakpoint starts.\n * @param {number} max - The maximum width (exclusive) where the breakpoint ends.\n * @returns {BreakpointConfig<T>} An object containing media query strings for targeting screen sizes relative to the breakpoint.\n *\n * @example\n * ```ts\n * // Define a medium (md) breakpoint\n * const mdBreakpoint = configureBreakpoint('md', 768, 1024);\n * console.log(mdBreakpoint['<md']); // Outputs: \"(max-width: 767px)\"\n * console.log(mdBreakpoint['=md']); // Outputs: \"(min-width: 768px) and (max-width: 1023px)\"\n * console.log(mdBreakpoint['>md']); // Outputs: \"(min-width: 768px)\"\n * ```\n */\nexport function configureBreakpoint<T extends string>(name: T, min: number, max: number): BreakpointConfig<T> {\n return {\n [`<${name}` as const]: `(max-width: ${min - 1}px)`,\n [`=${name}` as const]: `(min-width: ${min}px) and (max-width: ${max - 1}px)`,\n [`>${name}` as const]: `(min-width: ${min}px)`,\n } as BreakpointConfig<T>;\n}\n","import { createConfigTokens } from '@odx/angular/utils';\nimport { configureBreakpoint } from './helpers/configure-breakpoint';\n\n/**\n * Defines default responsive breakpoints for the application. These breakpoints are used to\n * apply responsive styles and behaviors across various device sizes. Each breakpoint is\n * configured with a name, a minimum width, and a maximum width, defining the range of device\n * sizes it targets.\n *\n * @constant\n * @type {Record<string, string>}\n *\n * @example\n * ```ts\n * // Accessing a breakpoint value\n * console.log(DEFAULT_BREAKPOINTS['=phone']); // Outputs: \"(min-width: 480px) and (max-width: 767px)\"\n * ```\n */\nexport const DEFAULT_BREAKPOINTS = {\n ...configureBreakpoint('phone-s', 360, 480),\n ...configureBreakpoint('phone', 480, 768),\n ...configureBreakpoint('tablet', 768, 960),\n ...configureBreakpoint('desktop-s', 960, 1200),\n ...configureBreakpoint('desktop', 1200, 9999),\n} as const;\n\nexport interface BreakpointsConfig {\n breakpoints: Partial<OdxAngular.Breakpoints>;\n}\n\n/**\n * Provides Angular dependency injection tokens for accessing and configuring breakpoints\n * within the application. This enables a type-safe and modular way to manage responsive\n * design breakpoints across the app.\n *\n * @example\n * ```ts\n * // Providing custom breakpoints in an Angular module\n * import { NgModule } from '@angular/core';\n * import { provideBreakpointsConfig } from '@odx/angular/breakpoints';\n *\n * @NgModule({\n * providers: [\n * provideBreakpointsConfig({\n * breakpoints: {\n * ...configureBreakpoint('custom-tablet', 640, 1024),\n * },\n * }),\n * ],\n * })\n * export class CustomModule {}\n * ```\n */\nexport const { BreakpointsConfig, BreakpointsDefaultConfig, injectBreakpointsConfig, provideBreakpointsConfig } = createConfigTokens(\n 'Breakpoints',\n '@odx/angular/breakpoints',\n {\n breakpoints: DEFAULT_BREAKPOINTS,\n } as BreakpointsConfig,\n);\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { inject, Injectable } from '@angular/core';\nimport { distinctUntilChanged, map, Observable, of, shareReplay } from 'rxjs';\nimport { injectBreakpointsConfig } from './breakpoints.config';\nimport { BreakpointName } from './models';\n\n/**\n * Service to observe and react to changes in viewport size based on predefined breakpoints.\n * Utilizes Angular CDK's BreakpointObserver for listening to media query changes and integrates\n * it with the application's custom breakpoints configuration.\n *\n * @Injectable({ providedIn: 'root' })\n */\n@Injectable({ providedIn: 'root' })\nexport class BreakpointsService {\n private readonly breakpointObserver = inject(BreakpointObserver);\n private readonly config = injectBreakpointsConfig();\n\n /**\n * Observes the specified breakpoints and returns an Observable that emits true if any\n * of the specified breakpoints match the current viewport size, and false otherwise.\n *\n * @param {BreakpointName[]} breakpoints - An array of breakpoints to observe.\n * @returns {Observable<boolean>} - An Observable that emits true if the viewport matches the specified breakpoints.\n *\n * @example\n * ```ts\n * // Component that uses BreakpointsService to apply dynamic styles based on breakpoints\n * @Component({\n * selector: 'app-responsive-component',\n * templateUrl: './responsive-component.component.html',\n * })\n * export class ResponsiveComponent {\n * isMobile$: Observable<boolean>;\n *\n * constructor(private breakpointsService: BreakpointsService) {\n * this.isMobile$ = this.breakpointsService.observe(['phone', 'tablet']);\n * }\n * }\n * ```\n */\n public observe(breakpoints: BreakpointName[]): Observable<boolean> {\n const mediaQueries = this.getMediaQueries(breakpoints);\n\n return this.createBreakpointObserver(mediaQueries);\n }\n\n /**\n * Checks if any of the specified breakpoints match the current viewport size.\n *\n * @param {BreakpointName[]} breakpoints - An array of breakpoints to check.\n * @returns {boolean} - Returns true if the viewport matches the specified breakpoints, false otherwise.\n *\n * @example\n * ```ts\n * // Checking if the current viewport matches the 'desktop' breakpoint\n * const isDesktop = this.breakpointsService.matches(['desktop']);\n * console.log(`Is desktop view? ${isDesktop}`);\n * ```\n */\n public matches(breakpoints: BreakpointName[]): boolean {\n const mediaQueries = this.getMediaQueries(breakpoints);\n\n return this.breakpointObserver.isMatched(mediaQueries);\n }\n\n private getMediaQueries(breakpointNames: BreakpointName[]): string[] {\n return breakpointNames.map((name) => this.config.breakpoints[name] as string).filter(Boolean);\n }\n\n private createBreakpointObserver(mediaQueries: string[]): Observable<boolean> {\n if (mediaQueries.length < 1) return of(false);\n\n return this.breakpointObserver.observe(mediaQueries).pipe(\n map(({ matches }) => matches),\n distinctUntilChanged(),\n shareReplay({ bufferSize: 1, refCount: true }),\n );\n }\n}\n","import { Directive, inject, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { coerceArray, untilDestroyed } from '@odx/angular/utils';\nimport { BehaviorSubject, switchMap, tap } from 'rxjs';\nimport { BreakpointsService } from '../breakpoints.service';\nimport { BreakpointName } from '../models';\n\n/**\n * A structural directive that conditionally includes an Angular template based on whether the viewport matches\n * specified breakpoints. It leverages the BreakpointsService to observe changes in viewport size and apply\n * the appropriate template.\n *\n * @Directive\n * @param {BreakpointsService} breakpointsService - Injects BreakpointsService to observe breakpoint changes.\n * @param {TemplateRef} template - Injects the Angular template to render when breakpoints match.\n * @param {ViewContainerRef} viewContainer - Injects the container where the template will be rendered.\n *\n * @example\n * ```html\n * // Usage in a component template to conditionally display content based on breakpoints\n * // Assume 'mobile' and 'tablet' are defined breakpoints\n * <ng-template [odxMatchBreakpoints]=\"['mobile', 'tablet']\">\n * Content to display on mobile and tablet sizes.\n * </ng-template>\n * <ng-template [odxMatchBreakpoints]=\"['desktop']\" [odxMatchBreakpointsElse]=\"elseTemplate\">\n * Content to display on desktop size.\n * </ng-template>\n * <ng-template #elseTemplate>\n * Content to display when not on desktop size.\n * </ng-template>\n * ```\n */\n@Directive({\n standalone: true,\n selector: 'ng-template[odxMatchBreakpoints]',\n})\nexport class MatchBreakpointsDirective implements OnInit {\n private readonly breakpoints$$ = new BehaviorSubject<BreakpointName[]>([]);\n private readonly breakpointsService = inject(BreakpointsService);\n private readonly takeUntilDestroyed = untilDestroyed();\n private readonly template = inject(TemplateRef);\n private readonly viewContainer = inject(ViewContainerRef);\n\n /**\n * Sets the breakpoints to observe. The directive's content is displayed if the current viewport matches\n * any of the specified breakpoints.\n *\n * @param {BreakpointName | BreakpointName[]} value - The breakpoint(s) to match against the current viewport size.\n */\n @Input('odxMatchBreakpoints')\n public set breakpoints(value: BreakpointName | BreakpointName[] | null | undefined) {\n this.breakpoints$$.next(coerceArray(value ?? []));\n }\n\n /**\n * Optionally specifies a template to render when the viewport does not match the specified breakpoints.\n *\n * @param {TemplateRef<unknown>} elseTemplate - The template to render when the viewport does not match the breakpoints.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('odxMatchBreakpointsElse')\n public elseTemplate?: TemplateRef<unknown> | null = null;\n\n public ngOnInit(): void {\n this.breakpoints$$\n .pipe(\n switchMap((breakpoints) => this.breakpointsService.observe(breakpoints)),\n tap((matchesBreakpoints) => this.render(matchesBreakpoints)),\n this.takeUntilDestroyed(),\n )\n .subscribe();\n }\n\n private render(matchesBreakpoints: boolean): void {\n this.viewContainer.clear();\n const template = matchesBreakpoints ? this.template : this.elseTemplate;\n if (template) {\n const viewRef = this.viewContainer.createEmbeddedView(template);\n viewRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MatchBreakpointsDirective } from './directives';\n\nconst modules = [MatchBreakpointsDirective];\n\n@NgModule({\n imports: modules,\n exports: modules,\n})\nexport class BreakpointsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -50,13 +50,13 @@ let InteractiveDirective = class InteractiveDirective {
50
50
  return;
51
51
  this.interact.next(event);
52
52
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
54
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: InteractiveDirective, isStandalone: true, selector: "[odxCdkInteractive]", outputs: { interact: "odxCdkInteractive" }, host: { attributes: { "role": "button" }, listeners: { "click": "handleEvents($event)", "keyup.enter": "handleEvents($event)", "keyup.space": "handleEvents($event)" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0 }); }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
54
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: InteractiveDirective, isStandalone: true, selector: "[odxCdkInteractive]", outputs: { interact: "odxCdkInteractive" }, host: { attributes: { "role": "button" }, listeners: { "click": "handleEvents($event)", "keyup.enter": "handleEvents($event)", "keyup.space": "handleEvents($event)" } }, hostDirectives: [{ directive: i1.WithDisabledState }, { directive: i1.WithTabIndex }], ngImport: i0 }); }
55
55
  };
56
56
  InteractiveDirective = __decorate([
57
57
  CSSComponent('cdk-interactive')
58
58
  ], InteractiveDirective);
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InteractiveDirective, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InteractiveDirective, decorators: [{
60
60
  type: Directive,
61
61
  args: [{
62
62
  selector: '[odxCdkInteractive]',
@@ -113,10 +113,10 @@ class ListFocusManagerOptionDirective {
113
113
  focus() {
114
114
  this.element.nativeElement.focus();
115
115
  }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListFocusManagerOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
117
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ListFocusManagerOptionDirective, isStandalone: true, selector: "[odxListFocusManagerOption]", ngImport: i0 }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ListFocusManagerOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
117
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ListFocusManagerOptionDirective, isStandalone: true, selector: "[odxListFocusManagerOption]", ngImport: i0 }); }
118
118
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListFocusManagerOptionDirective, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ListFocusManagerOptionDirective, decorators: [{
120
120
  type: Directive,
121
121
  args: [{
122
122
  selector: '[odxListFocusManagerOption]',
@@ -159,10 +159,10 @@ class ListFocusManagerDirective {
159
159
  onKeyDown(event) {
160
160
  this.keyManager?.onKeydown(event);
161
161
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListFocusManagerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
163
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ListFocusManagerDirective, isStandalone: true, selector: "[odxListFocusManager]", host: { listeners: { "keydown": "onKeyDown($event)" } }, queries: [{ propertyName: "options", predicate: ListFocusManagerOptionDirective }], ngImport: i0 }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ListFocusManagerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
163
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ListFocusManagerDirective, isStandalone: true, selector: "[odxListFocusManager]", host: { listeners: { "keydown": "onKeyDown($event)" } }, queries: [{ propertyName: "options", predicate: ListFocusManagerOptionDirective }], ngImport: i0 }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListFocusManagerDirective, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ListFocusManagerDirective, decorators: [{
166
166
  type: Directive,
167
167
  args: [{
168
168
  selector: '[odxListFocusManager]',
@@ -178,11 +178,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
178
178
 
179
179
  const modules = [ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective];
180
180
  class A11yModule {
181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: A11yModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
182
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: A11yModule, imports: [A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective], exports: [CoreModule, A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective] }); }
183
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: A11yModule, imports: [A11yModule$1, CoreModule, A11yModule$1] }); }
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: A11yModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
182
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: A11yModule, imports: [A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective], exports: [CoreModule, A11yModule$1, ListFocusManagerDirective, ListFocusManagerOptionDirective, InteractiveDirective] }); }
183
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: A11yModule, imports: [A11yModule$1, CoreModule, A11yModule$1] }); }
184
184
  }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: A11yModule, decorators: [{
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: A11yModule, decorators: [{
186
186
  type: NgModule,
187
187
  args: [{
188
188
  imports: [A11yModule$1, ...modules],
@@ -164,8 +164,8 @@ let ActiveIndicatorDirective = class ActiveIndicatorDirective {
164
164
  return -100;
165
165
  }
166
166
  }
167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActiveIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
168
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ActiveIndicatorDirective, isStandalone: true, selector: "[odxActiveIndicator]", inputs: { activeElement: ["odxActiveIndicator", "activeElement"], parent: ["odxActiveIndicatorParent", "parent"], direction: ["odxActiveIndicatorDirection", "direction"], position: ["odxActiveIndicatorPosition", "position"] }, usesOnChanges: true, ngImport: i0 }); }
167
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActiveIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
168
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ActiveIndicatorDirective, isStandalone: true, selector: "[odxActiveIndicator]", inputs: { activeElement: ["odxActiveIndicator", "activeElement"], parent: ["odxActiveIndicatorParent", "parent"], direction: ["odxActiveIndicatorDirection", "direction"], position: ["odxActiveIndicatorPosition", "position"] }, usesOnChanges: true, ngImport: i0 }); }
169
169
  };
170
170
  __decorate([
171
171
  CSSModifier(),
@@ -178,7 +178,7 @@ __decorate([
178
178
  ActiveIndicatorDirective = __decorate([
179
179
  CSSComponent('cdk-active-indicator')
180
180
  ], ActiveIndicatorDirective);
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ActiveIndicatorDirective, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActiveIndicatorDirective, decorators: [{
182
182
  type: Directive,
183
183
  args: [{
184
184
  standalone: true,