@mintplayer/ng-bootstrap 16.18.1 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/esm2022/accordion/src/accordion/accordion.component.mjs +5 -5
  2. package/esm2022/accordion/src/accordion-tab/accordion-tab.component.mjs +5 -5
  3. package/esm2022/accordion/src/accordion-tab-header/accordion-tab-header.component.mjs +4 -4
  4. package/esm2022/accordion/src/accordion.module.mjs +4 -4
  5. package/esm2022/alert/src/alert/alert.component.mjs +3 -3
  6. package/esm2022/alert/src/alert-close/alert-close.component.mjs +4 -4
  7. package/esm2022/alert/src/alert.module.mjs +4 -4
  8. package/esm2022/async-host-binding/src/async-host-binding.module.mjs +4 -4
  9. package/esm2022/badge/src/badge.component.mjs +5 -5
  10. package/esm2022/badge/src/badge.module.mjs +4 -4
  11. package/esm2022/breadcrumb/src/breadcrumb/breadcrumb.component.mjs +4 -4
  12. package/esm2022/breadcrumb/src/breadcrumb-item/breadcrumb-item.component.mjs +5 -5
  13. package/esm2022/breadcrumb/src/breadcrumb.module.mjs +4 -4
  14. package/esm2022/button-group/src/button-group/button-group.component.mjs +4 -4
  15. package/esm2022/button-group/src/button-group.module.mjs +4 -4
  16. package/esm2022/button-type/src/button-type/button-type.directive.mjs +3 -3
  17. package/esm2022/button-type/src/button-type/button-type.module.mjs +4 -4
  18. package/esm2022/calendar/src/calendar.component.mjs +5 -5
  19. package/esm2022/calendar/src/calendar.module.mjs +4 -4
  20. package/esm2022/calendar-month/src/pipes/month-name/month-name.module.mjs +4 -4
  21. package/esm2022/calendar-month/src/pipes/month-name/month-name.pipe.mjs +3 -3
  22. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.module.mjs +4 -4
  23. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +3 -3
  24. package/esm2022/calendar-month/src/service/calendar-month.service.mjs +3 -3
  25. package/esm2022/card/src/card/card.component.mjs +3 -3
  26. package/esm2022/card/src/card-header/card-header.component.mjs +3 -3
  27. package/esm2022/card/src/card.module.mjs +4 -4
  28. package/esm2022/carousel/src/carousel/carousel.component.mjs +7 -7
  29. package/esm2022/carousel/src/carousel-image/carousel-image.directive.mjs +4 -4
  30. package/esm2022/carousel/src/carousel-img/carousel-img.directive.mjs +5 -5
  31. package/esm2022/carousel/src/carousel.module.mjs +4 -4
  32. package/esm2022/close/src/close.component.mjs +5 -5
  33. package/esm2022/close/src/close.module.mjs +4 -4
  34. package/esm2022/code-snippet/src/code-snippet.component.mjs +3 -3
  35. package/esm2022/code-snippet/src/code-snippet.module.mjs +4 -4
  36. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  37. package/esm2022/color-picker/components/alpha-strip/alpha-strip.component.mjs +5 -5
  38. package/esm2022/color-picker/components/color-picker/color-picker.component.mjs +5 -5
  39. package/esm2022/color-picker/components/color-wheel/color-wheel.component.mjs +5 -5
  40. package/esm2022/color-picker/components/luminosity-strip/luminosity-strip.component.mjs +5 -5
  41. package/esm2022/color-picker/components/slider/slider.component.mjs +11 -11
  42. package/esm2022/color-picker/directives/color-picker-value-accessor/color-picker-value-accessor.directive.mjs +5 -5
  43. package/esm2022/container/src/container/container.component.mjs +3 -3
  44. package/esm2022/container/src/container.module.mjs +4 -4
  45. package/esm2022/context-menu/src/context-menu.directive.mjs +6 -6
  46. package/esm2022/context-menu/src/context-menu.module.mjs +4 -4
  47. package/esm2022/copy/src/copy.directive.mjs +6 -6
  48. package/esm2022/copy/src/copy.module.mjs +4 -4
  49. package/esm2022/datatable/src/datatable/datatable.component.mjs +5 -5
  50. package/esm2022/datatable/src/datatable-column/datatable-column.directive.mjs +5 -5
  51. package/esm2022/datatable/src/datatable.module.mjs +4 -4
  52. package/esm2022/datatable/src/row-template/row-template.directive.mjs +5 -5
  53. package/esm2022/datepicker/src/datepicker.component.mjs +3 -3
  54. package/esm2022/datepicker/src/datepicker.module.mjs +4 -4
  55. package/esm2022/dock/src/dock/dock.component.mjs +5 -5
  56. package/esm2022/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +5 -5
  57. package/esm2022/dock/src/dock-panel/dock-panel.component.mjs +3 -3
  58. package/esm2022/dock/src/dock-panel-header/dock-panel-header.component.mjs +5 -5
  59. package/esm2022/dock/src/dock.module.mjs +4 -4
  60. package/esm2022/dock/src/services/dock/dock.service.mjs +3 -3
  61. package/esm2022/dropdown/src/dropdown/dropdown.directive.mjs +6 -6
  62. package/esm2022/dropdown/src/dropdown-menu/dropdown-menu.directive.mjs +6 -6
  63. package/esm2022/dropdown/src/dropdown-toggle/dropdown-toggle.directive.mjs +5 -5
  64. package/esm2022/dropdown/src/dropdown.module.mjs +4 -4
  65. package/esm2022/dropdown-divider/src/dropdown-divider.directive.mjs +3 -3
  66. package/esm2022/dropdown-divider/src/dropdown-divider.module.mjs +4 -4
  67. package/esm2022/dropdown-menu/src/dropdown-item/dropdown-item.component.mjs +3 -3
  68. package/esm2022/dropdown-menu/src/dropdown-menu/dropdown-menu.component.mjs +6 -6
  69. package/esm2022/dropdown-menu/src/dropdown-menu.module.mjs +4 -4
  70. package/esm2022/enhanced-paste/src/directive/enhanced-paste.directive.mjs +5 -5
  71. package/esm2022/enhanced-paste/src/enhanced-paste.module.mjs +4 -4
  72. package/esm2022/enum/src/service/enum.service.mjs +3 -3
  73. package/esm2022/file-upload/src/component/file-upload.component.mjs +3 -3
  74. package/esm2022/file-upload/src/directive/file-upload-template.directive.mjs +5 -5
  75. package/esm2022/file-upload/src/file-upload.module.mjs +4 -4
  76. package/esm2022/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +3 -3
  77. package/esm2022/floating-labels/src/floating-labels/floating-label/floating-label.component.mjs +5 -5
  78. package/esm2022/floating-labels/src/floating-labels/floating-labels.module.mjs +4 -4
  79. package/esm2022/font-color/src/font-color.module.mjs +4 -4
  80. package/esm2022/font-color/src/font-color.pipe.mjs +3 -3
  81. package/esm2022/for/src/for.directive.mjs +3 -3
  82. package/esm2022/for/src/for.module.mjs +4 -4
  83. package/esm2022/form/src/form/form.component.mjs +4 -4
  84. package/esm2022/form/src/form-control/form-control.directive.mjs +6 -6
  85. package/esm2022/form/src/form-group/form-group.directive.mjs +3 -3
  86. package/esm2022/form/src/form.module.mjs +4 -4
  87. package/esm2022/grid/src/component/grid.component.mjs +5 -5
  88. package/esm2022/grid/src/directives/col-form-label/col-form-label.directive.mjs +3 -3
  89. package/esm2022/grid/src/directives/column/column.directive.mjs +5 -5
  90. package/esm2022/grid/src/directives/row/row.directive.mjs +3 -3
  91. package/esm2022/grid/src/grid.module.mjs +4 -4
  92. package/esm2022/has-overlay/src/has-overlay/has-overlay.component.mjs +3 -3
  93. package/esm2022/has-overlay/src/has-overlay/has-overlay.module.mjs +4 -4
  94. package/esm2022/has-property/src/has-property.module.mjs +4 -4
  95. package/esm2022/has-property/src/has-property.pipe.mjs +3 -3
  96. package/esm2022/icon/src/icon.component.mjs +6 -6
  97. package/esm2022/icon/src/icon.module.mjs +4 -4
  98. package/esm2022/in-list/src/in-list.module.mjs +4 -4
  99. package/esm2022/in-list/src/in-list.pipe.mjs +3 -3
  100. package/esm2022/input-group/src/input-group/input-group.component.mjs +3 -3
  101. package/esm2022/input-group/src/input-group.module.mjs +4 -4
  102. package/esm2022/instance-of/src/directives/instanceof-case.directive.mjs +6 -6
  103. package/esm2022/instance-of/src/directives/instanceof-default.directive.mjs +5 -5
  104. package/esm2022/instance-of/src/directives/instanceof.directive.mjs +3 -3
  105. package/esm2022/instance-of/src/instance-of.module.mjs +4 -4
  106. package/esm2022/instance-of/src/pipes/instance-of.pipe.mjs +3 -3
  107. package/esm2022/lazy-loading/src/lazy-load/lazy-load.directive.mjs +5 -5
  108. package/esm2022/lazy-loading/src/lazy-loading.module.mjs +4 -4
  109. package/esm2022/let/directive/let.directive.mjs +5 -5
  110. package/esm2022/let/let.module.mjs +4 -4
  111. package/esm2022/linify/src/linify.module.mjs +4 -4
  112. package/esm2022/linify/src/linify.pipe.mjs +3 -3
  113. package/esm2022/list-group/src/list-group/list-group.component.mjs +5 -5
  114. package/esm2022/list-group/src/list-group-item/list-group-item.component.mjs +3 -3
  115. package/esm2022/list-group/src/list-group.module.mjs +4 -4
  116. package/esm2022/markdown/src/bold/bold.pipe.mjs +4 -4
  117. package/esm2022/markdown/src/italic/italic.pipe.mjs +4 -4
  118. package/esm2022/markdown/src/markdown.module.mjs +4 -4
  119. package/esm2022/markdown/src/strikethrough/strikethrough.pipe.mjs +4 -4
  120. package/esm2022/markdown/src/underline/underline.pipe.mjs +4 -4
  121. package/esm2022/marquee/src/marquee/marquee.component.mjs +3 -3
  122. package/esm2022/marquee/src/marquee.module.mjs +4 -4
  123. package/esm2022/modal/src/components/modal/modal.component.mjs +5 -5
  124. package/esm2022/modal/src/components/modal-host/modal-host.component.mjs +6 -6
  125. package/esm2022/modal/src/directives/modal/modal.directive.mjs +4 -4
  126. package/esm2022/modal/src/directives/modal-body/modal-body.directive.mjs +3 -3
  127. package/esm2022/modal/src/directives/modal-close/modal-close.directive.mjs +5 -5
  128. package/esm2022/modal/src/directives/modal-footer/modal-footer.directive.mjs +3 -3
  129. package/esm2022/modal/src/directives/modal-header/modal-header.directive.mjs +3 -3
  130. package/esm2022/modal/src/modal.module.mjs +4 -4
  131. package/esm2022/multiselect/src/component/multiselect.component.mjs +3 -3
  132. package/esm2022/multiselect/src/directives/button-template/button-template.directive.mjs +4 -4
  133. package/esm2022/multiselect/src/directives/footer-template/footer-template.directive.mjs +4 -4
  134. package/esm2022/multiselect/src/directives/header-template/header-template.directive.mjs +4 -4
  135. package/esm2022/multiselect/src/multiselect.module.mjs +4 -4
  136. package/esm2022/navbar/src/dropdown-toggle/dropdown-toggle.directive.mjs +5 -5
  137. package/esm2022/navbar/src/expand-button/expand-button.directive.mjs +4 -4
  138. package/esm2022/navbar/src/nav-link/nav-link.directive.mjs +6 -6
  139. package/esm2022/navbar/src/navbar/navbar.component.mjs +5 -5
  140. package/esm2022/navbar/src/navbar-brand/navbar-brand.component.mjs +3 -3
  141. package/esm2022/navbar/src/navbar-content/navbar-content.directive.mjs +6 -6
  142. package/esm2022/navbar/src/navbar-dropdown/navbar-dropdown.component.mjs +6 -6
  143. package/esm2022/navbar/src/navbar-item/navbar-item.component.mjs +6 -6
  144. package/esm2022/navbar/src/navbar-nav/navbar-nav.component.mjs +5 -5
  145. package/esm2022/navbar/src/navbar.module.mjs +4 -4
  146. package/esm2022/navbar-toggler/src/navbar-toggler/navbar-toggler.component.mjs +5 -5
  147. package/esm2022/navbar-toggler/src/navbar-toggler.module.mjs +4 -4
  148. package/esm2022/navigation-lock/src/directive/navigation-lock.directive.mjs +5 -5
  149. package/esm2022/navigation-lock/src/guard/navigation-lock.guard.mjs +3 -3
  150. package/esm2022/navigation-lock/src/navigation-lock.module.mjs +4 -4
  151. package/esm2022/no-noscript/src/no-noscript/no-noscript.directive.mjs +6 -6
  152. package/esm2022/no-noscript/src/no-noscript.module.mjs +4 -4
  153. package/esm2022/offcanvas/src/components/offcanvas/offcanvas.component.mjs +6 -6
  154. package/esm2022/offcanvas/src/components/offcanvas-body/offcanvas-body.component.mjs +5 -5
  155. package/esm2022/offcanvas/src/components/offcanvas-header/offcanvas-header.component.mjs +4 -4
  156. package/esm2022/offcanvas/src/components/offcanvas-host/offcanvas-host.component.mjs +6 -6
  157. package/esm2022/offcanvas/src/directives/offcanvas-close/offcanvas-close.directive.mjs +5 -5
  158. package/esm2022/offcanvas/src/directives/offcanvas-content/offcanvas-content.directive.mjs +4 -4
  159. package/esm2022/offcanvas/src/directives/offcanvas-push/offcanvas-push.directive.mjs +5 -5
  160. package/esm2022/offcanvas/src/offcanvas.module.mjs +4 -4
  161. package/esm2022/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +4 -4
  162. package/esm2022/ordinal-number/src/ordinal-number.module.mjs +4 -4
  163. package/esm2022/pagination/src/component/pagination/pagination.component.mjs +5 -5
  164. package/esm2022/pagination/src/pagination.module.mjs +4 -4
  165. package/esm2022/placeholder/src/placeholder/placeholder.component.mjs +3 -3
  166. package/esm2022/placeholder/src/placeholder-field/placeholder-field.directive.mjs +5 -5
  167. package/esm2022/placeholder/src/placeholder.module.mjs +4 -4
  168. package/esm2022/playlist-toggler/src/playlist-toggler/playlist-toggler.component.mjs +5 -5
  169. package/esm2022/playlist-toggler/src/playlist-toggler.module.mjs +4 -4
  170. package/esm2022/popover/src/component/popover.component.mjs +6 -6
  171. package/esm2022/popover/src/directives/popover/popover.directive.mjs +6 -6
  172. package/esm2022/popover/src/directives/popover-body/popover-body.directive.mjs +3 -3
  173. package/esm2022/popover/src/directives/popover-header/popover-header.directive.mjs +3 -3
  174. package/esm2022/popover/src/popover.module.mjs +4 -4
  175. package/esm2022/progress-bar/src/progress/progress.component.mjs +3 -3
  176. package/esm2022/progress-bar/src/progress-bar/progress-bar.component.mjs +5 -5
  177. package/esm2022/progress-bar/src/progress-bar.module.mjs +4 -4
  178. package/esm2022/range/src/component/range.component.mjs +6 -6
  179. package/esm2022/range/src/range.module.mjs +4 -4
  180. package/esm2022/range/src/value-accessor/range-value-accessor.mjs +4 -4
  181. package/esm2022/rating/src/component/rating.component.mjs +5 -5
  182. package/esm2022/rating/src/rating.module.mjs +4 -4
  183. package/esm2022/resizable/src/resizable/resizable.component.mjs +5 -5
  184. package/esm2022/resizable/src/resizable.module.mjs +4 -4
  185. package/esm2022/resizable/src/resize-glyph/resize-glyph.directive.mjs +6 -6
  186. package/esm2022/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +5 -5
  187. package/esm2022/scheduler/src/components/scheduler/scheduler.component.mjs +5 -5
  188. package/esm2022/scheduler/src/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +3 -3
  189. package/esm2022/scheduler/src/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +3 -3
  190. package/esm2022/scheduler/src/pipes/date-offset/date-offset.pipe.mjs +3 -3
  191. package/esm2022/scheduler/src/pipes/day-of-week/day-of-week.pipe.mjs +3 -3
  192. package/esm2022/scheduler/src/scheduler.module.mjs +4 -4
  193. package/esm2022/scheduler/src/services/timeline/timeline.service.mjs +3 -3
  194. package/esm2022/scrollspy/src/component/scrollspy.component.mjs +6 -6
  195. package/esm2022/scrollspy/src/directives/scrollspy.directive.mjs +4 -4
  196. package/esm2022/scrollspy/src/scrollspy.module.mjs +4 -4
  197. package/esm2022/scrollspy/src/services/scroll-offset/scroll-offset.service.mjs +5 -5
  198. package/esm2022/searchbox/src/directives/enter-search-term.directive.mjs +4 -4
  199. package/esm2022/searchbox/src/directives/no-results.directive.mjs +4 -4
  200. package/esm2022/searchbox/src/directives/suggestion.directive.mjs +5 -5
  201. package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +6 -6
  202. package/esm2022/searchbox/src/searchbox.module.mjs +4 -4
  203. package/esm2022/select/src/component/select.component.mjs +6 -6
  204. package/esm2022/select/src/select.module.mjs +4 -4
  205. package/esm2022/select/src/value-accessors/select-value-accessor.mjs +10 -10
  206. package/esm2022/select2/src/component/select2.component.mjs +3 -3
  207. package/esm2022/select2/src/directive/item-template/item-template.directive.mjs +5 -5
  208. package/esm2022/select2/src/directive/suggestion-template/suggestion-template.directive.mjs +5 -5
  209. package/esm2022/select2/src/select2.module.mjs +4 -4
  210. package/esm2022/signature-pad/src/component/signature-pad.component.mjs +5 -5
  211. package/esm2022/signature-pad/src/signature-pad.module.mjs +4 -4
  212. package/esm2022/slugify/src/slugify.module.mjs +4 -4
  213. package/esm2022/slugify/src/slugify.pipe.mjs +3 -3
  214. package/esm2022/spinner/src/spinner.component.mjs +5 -5
  215. package/esm2022/spinner/src/spinner.module.mjs +4 -4
  216. package/esm2022/split-string/src/split-string.module.mjs +4 -4
  217. package/esm2022/split-string/src/split-string.pipe.mjs +3 -3
  218. package/esm2022/splitter/src/element-at/element-at.pipe.mjs +3 -3
  219. package/esm2022/splitter/src/split-panel/split-panel.component.mjs +4 -4
  220. package/esm2022/splitter/src/splitter/splitter.component.mjs +5 -5
  221. package/esm2022/splitter/src/splitter.module.mjs +4 -4
  222. package/esm2022/sticky-footer/src/sticky-footer/sticky-footer.component.mjs +6 -6
  223. package/esm2022/sticky-footer/src/sticky-footer-parent/sticky-footer-parent.directive.mjs +3 -3
  224. package/esm2022/sticky-footer/src/sticky-footer.module.mjs +4 -4
  225. package/esm2022/tab-control/src/tab-control/tab-control.component.mjs +5 -5
  226. package/esm2022/tab-control/src/tab-control.module.mjs +4 -4
  227. package/esm2022/tab-control/src/tab-page/tab-page.component.mjs +5 -5
  228. package/esm2022/tab-control/src/tab-page-header/tab-page-header.directive.mjs +4 -4
  229. package/esm2022/table/src/component/table.component.mjs +3 -3
  230. package/esm2022/table/src/table.module.mjs +4 -4
  231. package/esm2022/timepicker/src/timepicker.component.mjs +5 -5
  232. package/esm2022/timepicker/src/timepicker.module.mjs +4 -4
  233. package/esm2022/toast/src/components/toast/toast.component.mjs +3 -3
  234. package/esm2022/toast/src/components/toast-body/toast-body.component.mjs +3 -3
  235. package/esm2022/toast/src/components/toast-container/toast-container.component.mjs +5 -5
  236. package/esm2022/toast/src/components/toast-header/toast-header.component.mjs +3 -3
  237. package/esm2022/toast/src/directives/toast-close/toast-close.directive.mjs +5 -5
  238. package/esm2022/toast/src/pipes/add-properties.pipe.mjs +3 -3
  239. package/esm2022/toast/src/services/toast/toast.service.mjs +5 -5
  240. package/esm2022/toast/src/toast.module.mjs +4 -4
  241. package/esm2022/toggle-button/src/component/toggle-button.component.mjs +6 -6
  242. package/esm2022/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.mjs +5 -5
  243. package/esm2022/toggle-button/src/toggle-button.module.mjs +4 -4
  244. package/esm2022/toggle-button/src/value-accessor/toggle-button-value-accessor.mjs +4 -4
  245. package/esm2022/tooltip/src/component/tooltip.component.mjs +6 -6
  246. package/esm2022/tooltip/src/directive/tooltip.directive.mjs +6 -6
  247. package/esm2022/tooltip/src/tooltip.module.mjs +4 -4
  248. package/esm2022/track-by/src/track-by-index.directive.mjs +6 -6
  249. package/esm2022/track-by/src/track-by.directive.mjs +6 -6
  250. package/esm2022/track-by/src/track-by.module.mjs +4 -4
  251. package/esm2022/treeview/src/treeview/treeview.component.mjs +6 -6
  252. package/esm2022/treeview/src/treeview-item/treeview-item.component.mjs +5 -5
  253. package/esm2022/treeview/src/treeview.module.mjs +4 -4
  254. package/esm2022/trust-html/src/trust-html.module.mjs +4 -4
  255. package/esm2022/trust-html/src/trust-html.pipe.mjs +4 -4
  256. package/esm2022/typeahead/src/typeahead.component.mjs +5 -5
  257. package/esm2022/typeahead/src/typeahead.module.mjs +4 -4
  258. package/esm2022/uc-first/src/uc-first.module.mjs +4 -4
  259. package/esm2022/uc-first/src/uc-first.pipe.mjs +3 -3
  260. package/esm2022/user-agent/src/directive/user-agent.directive.mjs +6 -6
  261. package/esm2022/user-agent/src/user-agent.module.mjs +4 -4
  262. package/esm2022/word-count/src/word-count.module.mjs +4 -4
  263. package/esm2022/word-count/src/word-count.pipe.mjs +3 -3
  264. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +17 -17
  265. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  266. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +11 -11
  267. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs +4 -4
  268. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +8 -8
  269. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
  270. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +12 -12
  271. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  272. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +8 -8
  273. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +7 -7
  274. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +17 -17
  275. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +8 -8
  276. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  277. package/fesm2022/mintplayer-ng-bootstrap-card.mjs +10 -10
  278. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +18 -18
  279. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  280. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +8 -8
  281. package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
  282. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
  283. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +36 -36
  284. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  285. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +7 -7
  286. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +9 -9
  287. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  288. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +9 -9
  289. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  290. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +16 -16
  291. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  292. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +7 -7
  293. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +22 -22
  294. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  295. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +7 -7
  296. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +12 -12
  297. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  298. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +18 -18
  299. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  300. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +8 -8
  301. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  302. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs +3 -3
  303. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +14 -14
  304. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  305. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +9 -9
  306. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +7 -7
  307. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +7 -7
  308. package/fesm2022/mintplayer-ng-bootstrap-form.mjs +16 -16
  309. package/fesm2022/mintplayer-ng-bootstrap-form.mjs.map +1 -1
  310. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +18 -18
  311. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  312. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +7 -7
  313. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +7 -7
  314. package/fesm2022/mintplayer-ng-bootstrap-icon.mjs +9 -9
  315. package/fesm2022/mintplayer-ng-bootstrap-icon.mjs.map +1 -1
  316. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +7 -7
  317. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +7 -7
  318. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +20 -20
  319. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs.map +1 -1
  320. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs +8 -8
  321. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs.map +1 -1
  322. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +8 -8
  323. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  324. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +7 -7
  325. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +11 -11
  326. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
  327. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +20 -20
  328. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +7 -7
  329. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +31 -31
  330. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  331. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +19 -19
  332. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +8 -8
  333. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  334. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +45 -45
  335. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  336. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +11 -11
  337. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
  338. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +9 -9
  339. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  340. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +35 -35
  341. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  342. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +8 -8
  343. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +9 -9
  344. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  345. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +11 -11
  346. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
  347. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +8 -8
  348. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  349. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +20 -20
  350. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  351. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +12 -12
  352. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  353. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +13 -13
  354. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  355. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +9 -9
  356. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  357. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +13 -13
  358. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  359. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +27 -27
  360. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  361. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +19 -19
  362. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  363. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +21 -21
  364. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  365. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +18 -18
  366. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  367. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +15 -15
  368. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  369. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +8 -8
  370. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  371. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +7 -7
  372. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +8 -8
  373. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  374. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +7 -7
  375. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +15 -15
  376. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
  377. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +12 -12
  378. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs.map +1 -1
  379. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +17 -17
  380. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  381. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +7 -7
  382. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +8 -8
  383. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  384. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +29 -29
  385. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  386. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +17 -17
  387. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  388. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +14 -14
  389. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  390. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs +14 -14
  391. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs.map +1 -1
  392. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +13 -13
  393. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
  394. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +8 -8
  395. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +8 -8
  396. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  397. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +7 -7
  398. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +9 -9
  399. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  400. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +7 -7
  401. package/package.json +12 -12
@@ -82,13 +82,13 @@ export class BsCalendarComponent {
82
82
  this.selectedDate$.next(day.date);
83
83
  }
84
84
  }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarComponent, deps: [{ token: i1.BsCalendarMonthService }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BsCalendarComponent, selector: "bs-calendar", inputs: { currentMonth: "currentMonth", selectedDate: "selectedDate", disableDateFn: "disableDateFn" }, outputs: { currentMonthChange: "currentMonthChange", selectedDateChange: "selectedDateChange" }, ngImport: i0, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <bs-icon [icon]=\"'chevron-left'\" class=\"fw-bolder\"></bs-icon>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <bs-icon [icon]=\"'chevron-right'\" class=\"fw-bolder\"></bs-icon>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of shownDays$ | async; bsTrackBy: 'long'\" [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async); bsTrackBy: 'number'\">\n <th>\n {{ week.number }}\n </th>\n <ng-container *ngFor=\"let day of week.days\">\n <ng-container *bsLet=\"((day !== null) && day.isInMonth) as showSpan\">\n <ng-container *bsLet=\"(disableDateFn && disableDateFn(day.date)) as disabled\">\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n <span *ngIf=\"showSpan\" [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BsIconComponent, selector: "bs-icon", inputs: ["icon"] }, { kind: "directive", type: i4.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i5.BsTrackByDirective, selector: "[ngForBsTrackBy]", inputs: ["ngForOf", "ngForBsTrackBy"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.BsUcFirstPipe, name: "bsUcFirst" }, { kind: "pipe", type: i1.MonthNamePipe, name: "monthName" }] }); }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarComponent, deps: [{ token: i1.BsCalendarMonthService }], target: i0.ɵɵFactoryTarget.Component }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: BsCalendarComponent, selector: "bs-calendar", inputs: { currentMonth: "currentMonth", selectedDate: "selectedDate", disableDateFn: "disableDateFn" }, outputs: { currentMonthChange: "currentMonthChange", selectedDateChange: "selectedDateChange" }, ngImport: i0, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <bs-icon [icon]=\"'chevron-left'\" class=\"fw-bolder\"></bs-icon>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <bs-icon [icon]=\"'chevron-right'\" class=\"fw-bolder\"></bs-icon>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of shownDays$ | async; bsTrackBy: 'long'\" [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async); bsTrackBy: 'number'\">\n <th>\n {{ week.number }}\n </th>\n <ng-container *ngFor=\"let day of week.days\">\n <ng-container *bsLet=\"((day !== null) && day.isInMonth) as showSpan\">\n <ng-container *bsLet=\"(disableDateFn && disableDateFn(day.date)) as disabled\">\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n <span *ngIf=\"showSpan\" [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BsIconComponent, selector: "bs-icon", inputs: ["icon"] }, { kind: "directive", type: i4.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i5.BsTrackByDirective, selector: "[ngForBsTrackBy]", inputs: ["ngForOf", "ngForBsTrackBy"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.BsUcFirstPipe, name: "bsUcFirst" }, { kind: "pipe", type: i1.MonthNamePipe, name: "monthName" }] }); }
87
87
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarComponent, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarComponent, decorators: [{
89
89
  type: Component,
90
90
  args: [{ selector: 'bs-calendar', template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <bs-icon [icon]=\"'chevron-left'\" class=\"fw-bolder\"></bs-icon>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | bsUcFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <bs-icon [icon]=\"'chevron-right'\" class=\"fw-bolder\"></bs-icon>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of shownDays$ | async; bsTrackBy: 'long'\" [title]=\"dayOfWeek.long\">\n {{ dayOfWeek.short }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async); bsTrackBy: 'number'\">\n <th>\n {{ week.number }}\n </th>\n <ng-container *ngFor=\"let day of week.days\">\n <ng-container *bsLet=\"((day !== null) && day.isInMonth) as showSpan\">\n <ng-container *bsLet=\"(disableDateFn && disableDateFn(day.date)) as disabled\">\n <td [class.selected]=\"day === null ? false : !day.isInMonth ? false : isSameDate(selectedDate$ | async, day.date)\" [class.cursor-pointer]=\"showSpan && !disabled\" (click)=\"goto(day)\">\n <span *ngIf=\"showSpan\" [class.text-muted]=\"disabled\">{{ day.dayOfMonth }}</span>\n </td>\n </ng-container>\n </ng-container>\n </ng-container>\n </tr>\n</table>", styles: [".text-muted{color:#9ea7af!important}table{border-collapse:collapse;border:1px solid var(--bs-border-color);background:#fff}table td,table th{width:40px;height:40px;text-align:center;cursor:default}table td span,table th span{white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid var(--bs-border-color)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid var(--bs-border-color)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid var(--bs-border-color)}\n"] }]
91
- }], ctorParameters: function () { return [{ type: i1.BsCalendarMonthService }]; }, propDecorators: { currentMonthChange: [{
91
+ }], ctorParameters: () => [{ type: i1.BsCalendarMonthService }], propDecorators: { currentMonthChange: [{
92
92
  type: Output
93
93
  }], currentMonth: [{
94
94
  type: Input
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
99
99
  }], disableDateFn: [{
100
100
  type: Input
101
101
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUMsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7QUFPaEgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFvQixvQkFBNEM7UUFBNUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF3QjtRQW1DaEUsc0JBQXNCO1FBQ3RCLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFPL0QsWUFBWTtRQUNaLHNCQUFzQjtRQUN0QixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFPLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBOUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhO2FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElB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QixLQUFLO2dCQU1XLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFJTSxZQUFZO3NCQUF4QixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNDYWxlbmRhck1vbnRoU2VydmljZSwgRGF0ZURheU9mTW9udGgsIFdlZWssIFdlZWtEYXkgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvY2FsZW5kYXItbW9udGgnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2FsZW5kYXJDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhbGVuZGFyTW9udGhTZXJ2aWNlOiBCc0NhbGVuZGFyTW9udGhTZXJ2aWNlKSB7XG4gICAgdGhpcy53ZWVrcyQgPSB0aGlzLmN1cnJlbnRNb250aCRcbiAgICAgIC5waXBlKG1hcCgobW9udGgpID0+IHRoaXMuY2FsZW5kYXJNb250aFNlcnZpY2UuZ2V0V2Vla3MobW9udGgpKSk7XG4gICAgdGhpcy5zaG93bkRheXMkID0gdGhpcy53ZWVrcyRcbiAgICAgIC5waXBlKGZpbHRlcigod2Vla3MpID0+IHdlZWtzLmxlbmd0aCA+IDEpKVxuICAgICAgLnBpcGUobWFwKCh3ZWVrcykgPT4gd2Vla3NbMV0uZGF5cykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChkYXlzKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlyc3REYXkgPSBkYXlzWzBdO1xuICAgICAgICAgIGlmIChmaXJzdERheSkge1xuICAgICAgICAgICAgcmV0dXJuIGRheXMubWFwKChkKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgICAgICAgICBmaXJzdERheS5kYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgICAgICAgZmlyc3REYXkuZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgICAgICAgIGQ/LmRheU9mTW9udGhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIDxXZWVrRGF5PntcbiAgICAgICAgICAgICAgICBzaG9ydDogZGF0ZS50b0xvY2FsZVN0cmluZygnZGVmYXVsdCcsIHsgd2Vla2RheTogJ3Nob3J0JyB9KSxcbiAgICAgICAgICAgICAgICBsb25nOiBkYXRlLnRvTG9jYWxlU3RyaW5nKCdkZWZhdWx0JywgeyB3ZWVrZGF5OiAnbG9uZycgfSlcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZGF0ZSA9PiB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUobW9udGggPT4gdGhpcy5jdXJyZW50TW9udGhDaGFuZ2UuZW1pdChtb250aCkpO1xuICB9XG5cbiAgd2Vla3MkOiBPYnNlcnZhYmxlPFdlZWtbXT47XG4gIHNob3duRGF5cyQ6IE9ic2VydmFibGU8V2Vla0RheVtdPjtcblxuICAvLyNyZWdpb24gQ3VycmVudE1vbnRoXG4gIGN1cnJlbnRNb250aCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGU+KG5ldyBEYXRlKCkpO1xuICBAT3V0cHV0KCkgcHVibGljIGN1cnJlbnRNb250aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgZ2V0IGN1cnJlbnRNb250aCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TW9udGgkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNldCBjdXJyZW50TW9udGgodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG4gIC8vI3JlZ2lvbiBTZWxlY3RlZERhdGVcbiAgc2VsZWN0ZWREYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0ZT4obmV3IERhdGUoKSk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBnZXQgc2VsZWN0ZWREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZSQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBASW5wdXQoKSBkaXNhYmxlRGF0ZUZuPzogKGRhdGU6IERhdGUpID0+IGJvb2xlYW47XG5cbiAgcHJldmlvdXNNb250aCgpIHtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKG1vbnRoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aCQubmV4dChcbiAgICAgICAgbmV3IERhdGUobW9udGguZ2V0RnVsbFllYXIoKSwgbW9udGguZ2V0TW9udGgoKSAtIDEsIDEpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbmV4dE1vbnRoKCkge1xuICAgIHRoaXMuY3VycmVudE1vbnRoJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgobW9udGgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoJC5uZXh0KFxuICAgICAgICBuZXcgRGF0ZShtb250aC5nZXRGdWxsWWVhcigpLCBtb250aC5nZXRNb250aCgpICsgMSwgMSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc1NhbWVEYXRlKGRhdGUxOiBEYXRlIHwgbnVsbCwgZGF0ZTI6IERhdGUgfCBudWxsKSB7XG4gICAgaWYgKGRhdGUxID09PSBudWxsICYmIGRhdGUyID09PSBudWxsKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoZGF0ZTEgPT09IG51bGwgfHwgZGF0ZTIgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiAoXG4gICAgICBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpICYmXG4gICAgICBkYXRlMS5nZXRNb250aCgpID09PSBkYXRlMi5nZXRNb250aCgpICYmXG4gICAgICBkYXRlMS5nZXREYXRlKCkgPT09IGRhdGUyLmdldERhdGUoKVxuICAgICk7XG4gIH1cblxuICBnb3RvKGRheTogRGF0ZURheU9mTW9udGggfCBudWxsKSB7XG4gICAgaWYgKGRheSAmJiBkYXkuaXNJbk1vbnRoICYmICghdGhpcy5kaXNhYmxlRGF0ZUZuIHx8ICF0aGlzLmRpc2FibGVEYXRlRm4oZGF5LmRhdGUpKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUkLm5leHQoZGF5LmRhdGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwidGFibGUgdy1hdXRvIG1iLTBcIj5cbiAgICA8dHI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIiAoY2xpY2spPVwicHJldmlvdXNNb250aCgpXCI+XG4gICAgICAgICAgICAgICAgPGJzLWljb24gW2ljb25dPVwiJ2NoZXZyb24tbGVmdCdcIiBjbGFzcz1cImZ3LWJvbGRlclwiPjwvYnMtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY29sc3Bhbj1cIjZcIiBjbGFzcz1cImZ3LWJvbGRlclwiPlxuICAgICAgICAgICAge3sgY3VycmVudE1vbnRoJCB8IGFzeW5jIHwgbW9udGhOYW1lIHwgYnNVY0ZpcnN0IH19XG4gICAgICAgICAgICB7eyAoY3VycmVudE1vbnRoJCB8IGFzeW5jKT8uZ2V0RnVsbFllYXIoKSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJvcmRlci1ib3R0b20tMFwiIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgIDxicy1pY29uIFtpY29uXT1cIidjaGV2cm9uLXJpZ2h0J1wiIGNsYXNzPVwiZnctYm9sZGVyXCI+PC9icy1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHI+XG4gICAgICAgIDx0aD48L3RoPlxuICAgICAgICA8dGggKm5nRm9yPVwibGV0IGRheU9mV2VlayBvZiBzaG93bkRheXMkIHwgYXN5bmM7IGJzVHJhY2tCeTogJ2xvbmcnXCIgW3RpdGxlXT1cImRheU9mV2Vlay5sb25nXCI+XG4gICAgICAgICAgICB7eyBkYXlPZldlZWsuc2hvcnQgfX1cbiAgICAgICAgPC90aD5cbiAgICA8L3RyPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgd2VlayBvZiAod2Vla3MkIHwgYXN5bmMpOyBic1RyYWNrQnk6ICdudW1iZXInXCI+XG4gICAgICAgIDx0aD5cbiAgICAgICAgICAgIHt7IHdlZWsubnVtYmVyIH19XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrLmRheXNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmJzTGV0PVwiKChkYXkgIT09IG51bGwpICYmIGRheS5pc0luTW9udGgpIGFzIHNob3dTcGFuXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIoZGlzYWJsZURhdGVGbiAmJiBkaXNhYmxlRGF0ZUZuKGRheS5kYXRlKSkgYXMgZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5zZWxlY3RlZF09XCJkYXkgPT09IG51bGwgPyBmYWxzZSA6ICFkYXkuaXNJbk1vbnRoID8gZmFsc2UgOiBpc1NhbWVEYXRlKHNlbGVjdGVkRGF0ZSQgfCBhc3luYywgZGF5LmRhdGUpXCIgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cInNob3dTcGFuICYmICFkaXNhYmxlZFwiIChjbGljayk9XCJnb3RvKGRheSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1NwYW5cIiBbY2xhc3MudGV4dC1tdXRlZF09XCJkaXNhYmxlZFwiPnt7IGRheS5kYXlPZk1vbnRoIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHI+XG48L3RhYmxlPiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYWxlbmRhci9zcmMvY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBaUMsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7QUFPaEgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFvQixvQkFBNEM7UUFBNUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF3QjtRQW1DaEUsc0JBQXNCO1FBQ3RCLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFPL0QsWUFBWTtRQUNaLHNCQUFzQjtRQUN0QixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFPLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBOUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhO2FBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElB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QixLQUFLO2dCQU1XLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFJTSxZQUFZO3NCQUF4QixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnNDYWxlbmRhck1vbnRoU2VydmljZSwgRGF0ZURheU9mTW9udGgsIFdlZWssIFdlZWtEYXkgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvY2FsZW5kYXItbW9udGgnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2FsZW5kYXJDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhbGVuZGFyTW9udGhTZXJ2aWNlOiBCc0NhbGVuZGFyTW9udGhTZXJ2aWNlKSB7XG4gICAgdGhpcy53ZWVrcyQgPSB0aGlzLmN1cnJlbnRNb250aCRcbiAgICAgIC5waXBlKG1hcCgobW9udGgpID0+IHRoaXMuY2FsZW5kYXJNb250aFNlcnZpY2UuZ2V0V2Vla3MobW9udGgpKSk7XG4gICAgdGhpcy5zaG93bkRheXMkID0gdGhpcy53ZWVrcyRcbiAgICAgIC5waXBlKGZpbHRlcigod2Vla3MpID0+IHdlZWtzLmxlbmd0aCA+IDEpKVxuICAgICAgLnBpcGUobWFwKCh3ZWVrcykgPT4gd2Vla3NbMV0uZGF5cykpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChkYXlzKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlyc3REYXkgPSBkYXlzWzBdO1xuICAgICAgICAgIGlmIChmaXJzdERheSkge1xuICAgICAgICAgICAgcmV0dXJuIGRheXMubWFwKChkKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShcbiAgICAgICAgICAgICAgICBmaXJzdERheS5kYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgICAgICAgZmlyc3REYXkuZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICAgICAgICAgIGQ/LmRheU9mTW9udGhcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIDxXZWVrRGF5PntcbiAgICAgICAgICAgICAgICBzaG9ydDogZGF0ZS50b0xvY2FsZVN0cmluZygnZGVmYXVsdCcsIHsgd2Vla2RheTogJ3Nob3J0JyB9KSxcbiAgICAgICAgICAgICAgICBsb25nOiBkYXRlLnRvTG9jYWxlU3RyaW5nKCdkZWZhdWx0JywgeyB3ZWVrZGF5OiAnbG9uZycgfSlcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZGF0ZSA9PiB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUobW9udGggPT4gdGhpcy5jdXJyZW50TW9udGhDaGFuZ2UuZW1pdChtb250aCkpO1xuICB9XG5cbiAgd2Vla3MkOiBPYnNlcnZhYmxlPFdlZWtbXT47XG4gIHNob3duRGF5cyQ6IE9ic2VydmFibGU8V2Vla0RheVtdPjtcblxuICAvLyNyZWdpb24gQ3VycmVudE1vbnRoXG4gIGN1cnJlbnRNb250aCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGU+KG5ldyBEYXRlKCkpO1xuICBAT3V0cHV0KCkgcHVibGljIGN1cnJlbnRNb250aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgZ2V0IGN1cnJlbnRNb250aCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TW9udGgkLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNldCBjdXJyZW50TW9udGgodmFsdWU6IERhdGUpIHtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG4gIC8vI3JlZ2lvbiBTZWxlY3RlZERhdGVcbiAgc2VsZWN0ZWREYXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0ZT4obmV3IERhdGUoKSk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICBnZXQgc2VsZWN0ZWREYXRlKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRGF0ZSQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBASW5wdXQoKSBkaXNhYmxlRGF0ZUZuPzogKGRhdGU6IERhdGUpID0+IGJvb2xlYW47XG5cbiAgcHJldmlvdXNNb250aCgpIHtcbiAgICB0aGlzLmN1cnJlbnRNb250aCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKG1vbnRoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aCQubmV4dChcbiAgICAgICAgbmV3IERhdGUobW9udGguZ2V0RnVsbFllYXIoKSwgbW9udGguZ2V0TW9udGgoKSAtIDEsIDEpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbmV4dE1vbnRoKCkge1xuICAgIHRoaXMuY3VycmVudE1vbnRoJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgobW9udGgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoJC5uZXh0KFxuICAgICAgICBuZXcgRGF0ZShtb250aC5nZXRGdWxsWWVhcigpLCBtb250aC5nZXRNb250aCgpICsgMSwgMSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc1NhbWVEYXRlKGRhdGUxOiBEYXRlIHwgbnVsbCwgZGF0ZTI6IERhdGUgfCBudWxsKSB7XG4gICAgaWYgKGRhdGUxID09PSBudWxsICYmIGRhdGUyID09PSBudWxsKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoZGF0ZTEgPT09IG51bGwgfHwgZGF0ZTIgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiAoXG4gICAgICBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpICYmXG4gICAgICBkYXRlMS5nZXRNb250aCgpID09PSBkYXRlMi5nZXRNb250aCgpICYmXG4gICAgICBkYXRlMS5nZXREYXRlKCkgPT09IGRhdGUyLmdldERhdGUoKVxuICAgICk7XG4gIH1cblxuICBnb3RvKGRheTogRGF0ZURheU9mTW9udGggfCBudWxsKSB7XG4gICAgaWYgKGRheSAmJiBkYXkuaXNJbk1vbnRoICYmICghdGhpcy5kaXNhYmxlRGF0ZUZuIHx8ICF0aGlzLmRpc2FibGVEYXRlRm4oZGF5LmRhdGUpKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUkLm5leHQoZGF5LmRhdGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwidGFibGUgdy1hdXRvIG1iLTBcIj5cbiAgICA8dHI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIiAoY2xpY2spPVwicHJldmlvdXNNb250aCgpXCI+XG4gICAgICAgICAgICAgICAgPGJzLWljb24gW2ljb25dPVwiJ2NoZXZyb24tbGVmdCdcIiBjbGFzcz1cImZ3LWJvbGRlclwiPjwvYnMtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY29sc3Bhbj1cIjZcIiBjbGFzcz1cImZ3LWJvbGRlclwiPlxuICAgICAgICAgICAge3sgY3VycmVudE1vbnRoJCB8IGFzeW5jIHwgbW9udGhOYW1lIHwgYnNVY0ZpcnN0IH19XG4gICAgICAgICAgICB7eyAoY3VycmVudE1vbnRoJCB8IGFzeW5jKT8uZ2V0RnVsbFllYXIoKSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJvcmRlci1ib3R0b20tMFwiIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxuICAgICAgICAgICAgICAgIDxicy1pY29uIFtpY29uXT1cIidjaGV2cm9uLXJpZ2h0J1wiIGNsYXNzPVwiZnctYm9sZGVyXCI+PC9icy1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHI+XG4gICAgICAgIDx0aD48L3RoPlxuICAgICAgICA8dGggKm5nRm9yPVwibGV0IGRheU9mV2VlayBvZiBzaG93bkRheXMkIHwgYXN5bmM7IGJzVHJhY2tCeTogJ2xvbmcnXCIgW3RpdGxlXT1cImRheU9mV2Vlay5sb25nXCI+XG4gICAgICAgICAgICB7eyBkYXlPZldlZWsuc2hvcnQgfX1cbiAgICAgICAgPC90aD5cbiAgICA8L3RyPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgd2VlayBvZiAod2Vla3MkIHwgYXN5bmMpOyBic1RyYWNrQnk6ICdudW1iZXInXCI+XG4gICAgICAgIDx0aD5cbiAgICAgICAgICAgIHt7IHdlZWsubnVtYmVyIH19XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrLmRheXNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmJzTGV0PVwiKChkYXkgIT09IG51bGwpICYmIGRheS5pc0luTW9udGgpIGFzIHNob3dTcGFuXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIoZGlzYWJsZURhdGVGbiAmJiBkaXNhYmxlRGF0ZUZuKGRheS5kYXRlKSkgYXMgZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRkIFtjbGFzcy5zZWxlY3RlZF09XCJkYXkgPT09IG51bGwgPyBmYWxzZSA6ICFkYXkuaXNJbk1vbnRoID8gZmFsc2UgOiBpc1NhbWVEYXRlKHNlbGVjdGVkRGF0ZSQgfCBhc3luYywgZGF5LmRhdGUpXCIgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cInNob3dTcGFuICYmICFkaXNhYmxlZFwiIChjbGljayk9XCJnb3RvKGRheSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1NwYW5cIiBbY2xhc3MudGV4dC1tdXRlZF09XCJkaXNhYmxlZFwiPnt7IGRheS5kYXlPZk1vbnRoIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHI+XG48L3RhYmxlPiJdfQ==
@@ -8,15 +8,15 @@ import { BsTrackByModule } from '@mintplayer/ng-bootstrap/track-by';
8
8
  import { BsCalendarComponent } from './calendar.component';
9
9
  import * as i0 from "@angular/core";
10
10
  export class BsCalendarModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarModule, declarations: [BsCalendarComponent], imports: [CommonModule,
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarModule, declarations: [BsCalendarComponent], imports: [CommonModule,
13
13
  BsIconModule,
14
14
  BsLetModule,
15
15
  BsUcFirstModule,
16
16
  BsTrackByModule,
17
17
  BsMonthNamePipeModule,
18
18
  BsWeekdayNameModule], exports: [BsCalendarComponent] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarModule, imports: [CommonModule,
19
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarModule, imports: [CommonModule,
20
20
  BsIconModule,
21
21
  BsLetModule,
22
22
  BsUcFirstModule,
@@ -24,7 +24,7 @@ export class BsCalendarModule {
24
24
  BsMonthNamePipeModule,
25
25
  BsWeekdayNameModule] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  declarations: [
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
3
3
  import { MonthNamePipe } from './month-name.pipe';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BsMonthNamePipeModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsMonthNamePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: BsMonthNamePipeModule, declarations: [MonthNamePipe], imports: [CommonModule], exports: [MonthNamePipe] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsMonthNamePipeModule, imports: [CommonModule] }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsMonthNamePipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsMonthNamePipeModule, declarations: [MonthNamePipe], imports: [CommonModule], exports: [MonthNamePipe] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsMonthNamePipeModule, imports: [CommonModule] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsMonthNamePipeModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsMonthNamePipeModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [
@@ -9,10 +9,10 @@ export class MonthNamePipe {
9
9
  return '';
10
10
  }
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: MonthNamePipe, name: "monthName" }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: MonthNamePipe, name: "monthName" }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MonthNamePipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: MonthNamePipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{
18
18
  name: 'monthName',
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
3
3
  import { WeekdayNamePipe } from './weekday-name.pipe';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BsWeekdayNameModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsWeekdayNameModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: BsWeekdayNameModule, declarations: [WeekdayNamePipe], imports: [CommonModule], exports: [WeekdayNamePipe] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsWeekdayNameModule, imports: [CommonModule] }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsWeekdayNameModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsWeekdayNameModule, declarations: [WeekdayNamePipe], imports: [CommonModule], exports: [WeekdayNamePipe] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsWeekdayNameModule, imports: [CommonModule] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsWeekdayNameModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsWeekdayNameModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [
@@ -4,10 +4,10 @@ export class WeekdayNamePipe {
4
4
  transform(date) {
5
5
  return date.toLocaleString("default", { weekday: 'short' });
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: WeekdayNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: WeekdayNamePipe, name: "weekdayName" }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WeekdayNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: WeekdayNamePipe, name: "weekdayName" }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: WeekdayNamePipe, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: WeekdayNamePipe, decorators: [{
11
11
  type: Pipe,
12
12
  args: [{
13
13
  name: 'weekdayName',
@@ -82,10 +82,10 @@ export class BsCalendarMonthService {
82
82
  }
83
83
  return sunday;
84
84
  }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarMonthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
86
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarMonthService, providedIn: 'root' }); }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarMonthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
86
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarMonthService, providedIn: 'root' }); }
87
87
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCalendarMonthService, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCalendarMonthService, decorators: [{
89
89
  type: Injectable,
90
90
  args: [{
91
91
  providedIn: 'root'
@@ -4,10 +4,10 @@ export class BsCardComponent {
4
4
  constructor() {
5
5
  this.rounded = true;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BsCardComponent, selector: "bs-card", inputs: { rounded: "rounded" }, ngImport: i0, template: "<div class=\"card\" [class.rounded-0]=\"!rounded\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-body p-0\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [":host ::ng-deep .card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}:host ::ng-deep .card>hr{margin-right:0;margin-left:0}:host ::ng-deep .card>.list-group{border-top:inherit;border-bottom:inherit}:host ::ng-deep .card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.card-header+.list-group,:host ::ng-deep .card>.list-group+.card-footer{border-top:0}:host ::ng-deep .card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}:host ::ng-deep .card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}:host ::ng-deep .card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}:host ::ng-deep .card-text:last-child{margin-bottom:0}:host ::ng-deep .card-link+.card-link{margin-left:var(--bs-card-spacer-x)}:host ::ng-deep .card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}:host ::ng-deep .card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}:host ::ng-deep .card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}:host ::ng-deep .card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}:host ::ng-deep .card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}:host ::ng-deep .card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top,:host ::ng-deep .card-img-bottom{width:100%}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){:host ::ng-deep .card-group{display:flex;flex-flow:row wrap}:host ::ng-deep .card-group>.card{flex:1 0 0%;margin-bottom:0}:host ::ng-deep .card-group>.card+.card{margin-left:0;border-left:0}:host ::ng-deep .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}:host ::ng-deep .card-body{margin:-1px}\n"] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: BsCardComponent, selector: "bs-card", inputs: { rounded: "rounded" }, ngImport: i0, template: "<div class=\"card\" [class.rounded-0]=\"!rounded\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-body p-0\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [":host ::ng-deep .card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}:host ::ng-deep .card>hr{margin-right:0;margin-left:0}:host ::ng-deep .card>.list-group{border-top:inherit;border-bottom:inherit}:host ::ng-deep .card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.card-header+.list-group,:host ::ng-deep .card>.list-group+.card-footer{border-top:0}:host ::ng-deep .card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}:host ::ng-deep .card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}:host ::ng-deep .card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}:host ::ng-deep .card-text:last-child{margin-bottom:0}:host ::ng-deep .card-link+.card-link{margin-left:var(--bs-card-spacer-x)}:host ::ng-deep .card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}:host ::ng-deep .card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}:host ::ng-deep .card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}:host ::ng-deep .card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}:host ::ng-deep .card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}:host ::ng-deep .card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top,:host ::ng-deep .card-img-bottom{width:100%}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){:host ::ng-deep .card-group{display:flex;flex-flow:row wrap}:host ::ng-deep .card-group>.card{flex:1 0 0%;margin-bottom:0}:host ::ng-deep .card-group>.card+.card{margin-left:0;border-left:0}:host ::ng-deep .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}:host ::ng-deep .card-body{margin:-1px}\n"] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCardComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCardComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'bs-card', template: "<div class=\"card\" [class.rounded-0]=\"!rounded\">\n <ng-content select=\"bs-card-header\"></ng-content>\n <div class=\"card-body p-0\">\n <ng-content></ng-content>\n </div>\n</div>", styles: [":host ::ng-deep .card{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width: var(--bs-border-width);--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), .03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: var(--bs-body-bg);--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}:host ::ng-deep .card>hr{margin-right:0;margin-left:0}:host ::ng-deep .card>.list-group{border-top:inherit;border-bottom:inherit}:host ::ng-deep .card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card>.card-header+.list-group,:host ::ng-deep .card>.list-group+.card-footer{border-top:0}:host ::ng-deep .card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}:host ::ng-deep .card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}:host ::ng-deep .card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}:host ::ng-deep .card-text:last-child{margin-bottom:0}:host ::ng-deep .card-link+.card-link{margin-left:var(--bs-card-spacer-x)}:host ::ng-deep .card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}:host ::ng-deep .card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}:host ::ng-deep .card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}:host ::ng-deep .card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}:host ::ng-deep .card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}:host ::ng-deep .card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}:host ::ng-deep .card-img-overlay{position:absolute;inset:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top,:host ::ng-deep .card-img-bottom{width:100%}:host ::ng-deep .card-img,:host ::ng-deep .card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-img,:host ::ng-deep .card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}:host ::ng-deep .card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){:host ::ng-deep .card-group{display:flex;flex-flow:row wrap}:host ::ng-deep .card-group>.card{flex:1 0 0%;margin-bottom:0}:host ::ng-deep .card-group>.card+.card{margin-left:0;border-left:0}:host ::ng-deep .card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}:host ::ng-deep .card-group>.card:not(:last-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}:host ::ng-deep .card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-top,:host ::ng-deep .card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}:host ::ng-deep .card-group>.card:not(:first-child) .card-img-bottom,:host ::ng-deep .card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}:host ::ng-deep .card-body{margin:-1px}\n"] }]
13
13
  }], propDecorators: { rounded: [{
@@ -4,10 +4,10 @@ export class BsCardHeaderComponent {
4
4
  constructor() {
5
5
  this.noPadding = false;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BsCardHeaderComponent, selector: "bs-card-header", inputs: { noPadding: "noPadding" }, ngImport: i0, template: "<div class=\"card-header\" [class.p-0]=\"noPadding\">\n <ng-content></ng-content>\n</div>", styles: [""] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: BsCardHeaderComponent, selector: "bs-card-header", inputs: { noPadding: "noPadding" }, ngImport: i0, template: "<div class=\"card-header\" [class.p-0]=\"noPadding\">\n <ng-content></ng-content>\n</div>", styles: [""] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCardHeaderComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCardHeaderComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{ selector: 'bs-card-header', template: "<div class=\"card-header\" [class.p-0]=\"noPadding\">\n <ng-content></ng-content>\n</div>" }]
13
13
  }], propDecorators: { noPadding: [{
@@ -4,13 +4,13 @@ import { BsCardComponent } from './card/card.component';
4
4
  import { BsCardHeaderComponent } from './card-header/card-header.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class BsCardModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: BsCardModule, declarations: [BsCardComponent,
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: BsCardModule, declarations: [BsCardComponent,
9
9
  BsCardHeaderComponent], imports: [CommonModule], exports: [BsCardComponent,
10
10
  BsCardHeaderComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCardModule, imports: [CommonModule] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCardModule, imports: [CommonModule] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCardModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCardModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  imports: [CommonModule],
@@ -115,16 +115,16 @@ export class BsCarouselComponent {
115
115
  this.resizeObserver?.unobserve(this.innerElement.nativeElement);
116
116
  this.resizeObserver?.disconnect();
117
117
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCarouselComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(function () { return BsCarouselImageDirective; }) }], viewQueries: [{ propertyName: "innerElement", first: true, predicate: ["innerElement"], descendants: true }, { propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i3.BsSwipeDirective, selector: "[bsSwipe]", inputs: ["offside"] }, { kind: "directive", type: i3.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i4.BsTrackByDirective, selector: "[ngForBsTrackBy]", inputs: ["ngForOf", "ngForBsTrackBy"] }, { kind: "directive", type: i5.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCarouselComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: BsCarouselComponent, selector: "bs-carousel", inputs: { indicators: "indicators", keyboardEvents: "keyboardEvents", animation: "animation" }, host: { listeners: { "document:keydown.ArrowLeft": "onKeyPress($event)", "document:keydown.ArrowRight": "onKeyPress($event)" }, properties: { "@.disabled": "this.animationsDisabled" } }, queries: [{ propertyName: "images", predicate: i0.forwardRef(() => BsCarouselImageDirective) }], viewQueries: [{ propertyName: "innerElement", first: true, predicate: ["innerElement"], descendants: true }, { propertyName: "swipeContainer", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i3.BsSwipeDirective, selector: "[bsSwipe]", inputs: ["offside"] }, { kind: "directive", type: i3.BsSwipeContainerDirective, selector: "[bsSwipeContainer]", inputs: ["minimumOffset", "imageIndex"], outputs: ["imageIndexChange"], exportAs: ["bsSwipeContainer"] }, { kind: "directive", type: i4.BsTrackByDirective, selector: "[ngForBsTrackBy]", inputs: ["ngForOf", "ngForBsTrackBy"] }, { kind: "directive", type: i5.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [FadeInOutAnimation] }); }
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCarouselComponent, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCarouselComponent, decorators: [{
122
122
  type: Component,
123
- args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"] }]
124
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
123
+ args: [{ selector: 'bs-carousel', animations: [FadeInOutAnimation], template: "<ng-container *ngIf=\"isServerSide\">\n <div class=\"carousel mx-auto noscript\">\n <div class=\"carousel-inner d-grid\">\n <ng-container *bsLet=\"(images$ | async) as images\">\n <ng-container *ngIf=\"(imageCount$ | async) as imageCount\">\n <ng-container *ngFor=\"let image of images; bsTrackBy: 'id'; let i = index\">\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <label *ngFor=\"let image of images; bsTrackBy: 'id'; let j = index\" [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n </div>\n </div>\n </div>\n \n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n</ng-container>\n<ng-container *ngIf=\"!isServerSide\">\n <div *ngIf=\"animation === 'slide'\" class=\"carousel slide mx-auto\" [style.height.px]=\"container.currentSlideHeight$ | async\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"container.goto(i)\"\n [class.active]=\"(container.imageIndex$ | async) === i\" data-bs-target\n [attr.aria-current]=\"(container.imageIndex$ | async) === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner overflow-hidden text-nowrap pe-none\" #innerElement>\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\" [(imageIndex)]=\"currentImageIndex\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate$ | async\"></ng-container>\n </div>\n <div *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'\" class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate$ | async\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n <div *ngIf=\"animation === 'fade'\" class=\"carousel fade mx-auto\">\n <div *ngIf=\"indicators\" class=\"carousel-indicators\">\n <button *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\" type=\"button\" (click)=\"currentImageIndex = i\"\n [class.active]=\"currentImageIndex === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n </div>\n <div class=\"carousel-inner\">\n <ng-container *ngFor=\"let image of (images$ | async); bsTrackBy: 'id'; let i = index\">\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut *ngIf=\"currentImageIndex === i\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container> \n </div>\n </ng-container>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previousImage()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"nextImage()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n</ng-container>", styles: [":host ::ng-deep .carousel{position:relative}:host ::ng-deep .carousel.pointer-event{touch-action:pan-y}:host ::ng-deep .carousel-inner{position:relative;width:100%;overflow:hidden}:host ::ng-deep .carousel-inner:after{display:block;clear:both;content:\"\"}:host ::ng-deep .carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-item{transition:none}}:host ::ng-deep .carousel-item.active,:host ::ng-deep .carousel-item-next,:host ::ng-deep .carousel-item-prev{display:block}:host ::ng-deep .carousel-item-next:not(.carousel-item-start),:host ::ng-deep .active.carousel-item-end{transform:translate(100%)}:host ::ng-deep .carousel-item-prev:not(.carousel-item-end),:host ::ng-deep .active.carousel-item-start{transform:translate(-100%)}:host ::ng-deep .carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}:host ::ng-deep .carousel-fade .carousel-item.active,:host ::ng-deep .carousel-fade .carousel-item-next.carousel-item-start,:host ::ng-deep .carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-fade .active.carousel-item-start,:host ::ng-deep .carousel-fade .active.carousel-item-end{transition:none}}:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-control-prev,:host ::ng-deep .carousel-control-next{transition:none}}:host ::ng-deep .carousel-control-prev:hover,:host ::ng-deep .carousel-control-prev:focus,:host ::ng-deep .carousel-control-next:hover,:host ::ng-deep .carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}:host ::ng-deep .carousel-control-prev{left:0}:host ::ng-deep .carousel-control-next{right:0}:host ::ng-deep .carousel-control-prev-icon,:host ::ng-deep .carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}:host ::ng-deep .carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\")}:host ::ng-deep .carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}:host ::ng-deep .carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion: reduce){:host ::ng-deep .carousel-indicators [data-bs-target]{transition:none}}:host ::ng-deep .carousel-indicators .active{opacity:1}:host ::ng-deep .carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}:host ::ng-deep .carousel-dark .carousel-control-prev-icon,:host ::ng-deep .carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep .carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep .carousel-dark .carousel-caption{color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-control-next-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-prev-icon,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-control-next-icon{filter:invert(1) grayscale(100)}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],:host ::ng-deep [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}:host ::ng-deep [data-bs-theme=dark] .carousel .carousel-caption,:host ::ng-deep [data-bs-theme=dark].carousel .carousel-caption{color:#000}:host ::ng-deep .carousel{min-height:100px;max-width:500px}:host ::ng-deep .carousel.noscript .carousel-inner{grid-template-rows:100%;grid-template-columns:100%}:host ::ng-deep .carousel.noscript .carousel-control-prev,:host ::ng-deep .carousel.noscript .carousel-control-next{display:none;z-index:10}:host ::ng-deep .carousel.noscript .carousel-item{display:block;opacity:0;transition:opacity .4s ease-in-out;grid-row:1;grid-column:1}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item{opacity:1;z-index:5}:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev,:host ::ng-deep .carousel.noscript .car-radio.noscript:checked+.carousel-item+label.carousel-control-prev+.carousel-control-next{display:flex}:host ::ng-deep .carousel.noscript .carousel-indicators{z-index:10}:host ::ng-deep .carousel .carousel-item>*{width:100%!important}.wrapper{overflow:hidden}\n"] }]
124
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
125
125
  type: Inject,
126
126
  args: [PLATFORM_ID]
127
- }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { indicators: [{
127
+ }] }, { type: i0.ChangeDetectorRef }], propDecorators: { indicators: [{
128
128
  type: Input
129
129
  }], keyboardEvents: [{
130
130
  type: Input
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
149
149
  type: HostListener,
150
150
  args: ['document:keydown.ArrowRight', ['$event']]
151
151
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFOLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQVF0RixNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQWlDLFVBQWUsRUFBVSxLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQTZCbEYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUN0QixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTZDLElBQUksQ0FBQyxDQUFD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QU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBdkhVLG1CQUFtQixrQkFFVixXQUFXO2tHQUZwQixtQkFBbUIsd1lBNkNJLHdCQUF3Qiw2T0MzRDVELHk5S0FtRmUsMjFORHZFRCxDQUFDLGtCQUFrQixDQUFDOzsyRkFFckIsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGFBQWEsY0FHWCxDQUFDLGtCQUFrQixDQUFDOzswQkFJbkIsTUFBTTsyQkFBQyxXQUFXOzRFQXNDdEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0QsY0FBYztzQkFBckMsU0FBUzt1QkFBQyxXQUFXO2dCQUMyQyxNQUFNO3NCQUF0RSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFNekIsa0JBQWtCO3NCQUFuRCxXQUFXO3VCQUFDLFlBQVk7Z0JBRUwsU0FBUztzQkFBNUIsS0FBSztnQkFhTixVQUFVO3NCQUZULFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNyRCxZQUFZO3VCQUFDLDZCQUE2QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgUExBVEZPUk1fSUQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFkZUluT3V0QW5pbWF0aW9uIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctc3dpcGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0Nhcm91c2VsSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuLi9jYXJvdXNlbC1pbWFnZS9jYXJvdXNlbC1pbWFnZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtGYWRlSW5PdXRBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IGFueSwgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmlzU2VydmVyU2lkZSA9IGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCk7XG4gICAgdGhpcy5pbWFnZUNvdW50JCA9IHRoaXMuaW1hZ2VzJC5waXBlKG1hcCgoaW1hZ2VzKSA9PiBpbWFnZXM/Lmxlbmd0aCA/PyAwKSk7XG4gICAgdGhpcy5maXJzdEltYWdlVGVtcGxhdGUkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IHtcbiAgICAgIGlmICghaW1hZ2VzKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3QgaW1nID0gaW1hZ2VzLmdldCgwKTtcbiAgICAgIGlmICghaW1nKSByZXR1cm4gbnVsbDtcblxuICAgICAgcmV0dXJuIGltZy5pdGVtVGVtcGxhdGU7XG4gICAgfSkpO1xuICAgIHRoaXMubGFzdEltYWdlVGVtcGxhdGUkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IHtcbiAgICAgIGlmICghaW1hZ2VzKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcbiAgICAgIFxuICAgICAgY29uc3QgaW1nID0gaW1hZ2VzLmdldChpbWFnZXMubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoIWltZykgcmV0dXJuIG51bGw7XG5cbiAgICAgIHJldHVybiBpbWcuaXRlbVRlbXBsYXRlO1xuICAgIH0pKTtcblxuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBcbiAgY29sb3JzID0gQ29sb3I7XG4gIGlzU2VydmVyU2lkZTogYm9vbGVhbjtcbiAgY3VycmVudEltYWdlSW5kZXggPSAwO1xuICBpbWFnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlPiB8IG51bGw+KG51bGwpO1xuICBpbWFnZUNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBmaXJzdEltYWdlVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPjtcbiAgbGFzdEltYWdlVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPjtcbiAgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuICBASW5wdXQoKSBpbmRpY2F0b3JzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGtleWJvYXJkRXZlbnRzID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCdpbm5lckVsZW1lbnQnKSBpbm5lckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgc3dpcGVDb250YWluZXIhOiBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlKSkgc2V0IGltYWdlcyh2YWx1ZTogUXVlcnlMaXN0PEJzQ2Fyb3VzZWxJbWFnZURpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLmltYWdlcyQubmV4dCh2YWx1ZSk7XG4gICAgdmFsdWUuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IGl0ZW0uaXNGaXJzdCA9IChpbmRleCA9PT0gMCkpO1xuICB9XG5cbiAgLy8jcmVnaW9uIEFuaW1hdGlvblxuICBASG9zdEJpbmRpbmcoJ0AuZGlzYWJsZWQnKSBwdWJsaWMgYW5pbWF0aW9uc0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2FuaW1hdGlvbjogJ2ZhZGUnIHwgJ3NsaWRlJyA9ICdzbGlkZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgYW5pbWF0aW9uKHZhbHVlOiAnZmFkZScgfCAnc2xpZGUnKSB7XG4gICAgdGhpcy5hbmltYXRpb25zRGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuX2FuaW1hdGlvbiA9IHZhbHVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbmltYXRpb25zRGlzYWJsZWQgPSBmYWxzZSwgMjApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCksIDUwKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uQXJyb3dMZWZ0JywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5BcnJvd1JpZ2h0JywgWyckZXZlbnQnXSlcbiAgb25LZXlQcmVzcyhldjogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmtleWJvYXJkRXZlbnRzKSB7XG4gICAgICBzd2l0Y2ggKGV2LmtleSkge1xuICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgIHRoaXMucHJldmlvdXNJbWFnZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICB0aGlzLm5leHRJbWFnZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c0ltYWdlKCkge1xuICAgIHN3aXRjaCAodGhpcy5hbmltYXRpb24pIHtcbiAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW1hZ2VJbmRleCA+IDApIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4LS07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA9IHRoaXMuaW1hZ2VzJC52YWx1ZSEubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgdGhpcy5zd2lwZUNvbnRhaW5lci5wcmV2aW91cygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBuZXh0SW1hZ2UoKSB7XG4gICAgc3dpdGNoICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgY2FzZSAnZmFkZSc6XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJbWFnZUluZGV4IDwgdGhpcy5pbWFnZXMkLnZhbHVlIS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2xpZGUnOlxuICAgICAgICB0aGlzLnN3aXBlQ29udGFpbmVyLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaW1hZ2VDb3VudGVyID0gMTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8ub2JzZXJ2ZSh0aGlzLmlubmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LnVub2JzZXJ2ZSh0aGlzLmlubmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NlcnZlclNpZGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgbXgtYXV0byBub3NjcmlwdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXIgZC1ncmlkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihpbWFnZXMkIHwgYXN5bmMpIGFzIGltYWdlc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaW1hZ2VDb3VudCQgfCBhc3luYykgYXMgaW1hZ2VDb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWFnZSBvZiBpbWFnZXM7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIFtpZF09XCInY2FyLScgKyBpXCIgW25hbWVdPVwiJ2NhcidcIiBjbGFzcz1cImNhci1yYWRpbyBkLW5vbmVcIiBic05vTm9zY3JpcHQgW2NoZWNrZWRdPVwiaSA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0gZmFkZSBkLWZsZXggZmxleC1yb3cgaC0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbmRpY2F0b3JzXCIgY2xhc3M9XCJjYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IGltYWdlIG9mIGltYWdlczsgYnNUcmFja0J5OiAnaWQnOyBsZXQgaiA9IGluZGV4XCIgW2F0dHIuZm9yXT1cIidjYXItJyArIChqICUgaW1hZ2VDb3VudClcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGpcIiBkYXRhLWJzLXRhcmdldD48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYgY3Vyc29yLXBvaW50ZXJcIiBbZm9yXT1cIidjYXItJyArICgoaSAtIDEgKyBpbWFnZUNvdW50KSAlIGltYWdlQ291bnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dCBjdXJzb3ItcG9pbnRlclwiIFtmb3JdPVwiJ2Nhci0nICsgKChpICsgMSkgJSBpbWFnZUNvdW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNTZXJ2ZXJTaWRlXCI+XG4gICAgPGRpdiAqbmdJZj1cImFuaW1hdGlvbiA9PT0gJ3NsaWRlJ1wiIGNsYXNzPVwiY2Fyb3VzZWwgc2xpZGUgbXgtYXV0b1wiIFtzdHlsZS5oZWlnaHQucHhdPVwiY29udGFpbmVyLmN1cnJlbnRTbGlkZUhlaWdodCQgfCBhc3luY1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5kaWNhdG9yc1wiIGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY29udGFpbmVyLmdvdG8oaSlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiKGNvbnRhaW5lci5pbWFnZUluZGV4JCB8IGFzeW5jKSA9PT0gaVwiIGRhdGEtYnMtdGFyZ2V0XG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIihjb250YWluZXIuaW1hZ2VJbmRleCQgfCBhc3luYykgPT09IGkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2xpZGUgJyArIGlcIj48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lciBvdmVyZmxvdy1oaWRkZW4gdGV4dC1ub3dyYXAgcGUtbm9uZVwiICNpbm5lckVsZW1lbnQ+XG4gICAgICAgICAgICA8ZGl2IGJzU3dpcGVDb250YWluZXIgI2NvbnRhaW5lcj1cImJzU3dpcGVDb250YWluZXJcIiBbbWluaW11bU9mZnNldF09XCI1MFwiIFsoaW1hZ2VJbmRleCldPVwiY3VycmVudEltYWdlSW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIGJzU3dpcGUgW29mZnNpZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFzdEltYWdlVGVtcGxhdGUkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWFnZSBvZiAoaW1hZ2VzJCB8IGFzeW5jKTsgYnNUcmFja0J5OiAnaWQnXCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCIgYnNTd2lwZT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlLml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgYnNTd2lwZSBbb2Zmc2lkZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaXJzdEltYWdlVGVtcGxhdGUkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldlwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicHJldmlvdXNJbWFnZSgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5QcmV2aW91czwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm5leHRJbWFnZSgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiYW5pbWF0aW9uID09PSAnZmFkZSdcIiBjbGFzcz1cImNhcm91c2VsIGZhZGUgbXgtYXV0b1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5kaWNhdG9yc1wiIGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3VycmVudEltYWdlSW5kZXggPSBpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpXCIgZGF0YS1icy10YXJnZXRcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiY3VycmVudEltYWdlSW5kZXggPT09IGkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2xpZGUgJyArIGlcIj48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCIgQGZhZGVJbk91dCAqbmdJZj1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+ICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJwcmV2aW91c0ltYWdlKClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibmV4dEltYWdlKClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPk5leHQ8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFpQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFOLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQVF0RixNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQWlDLFVBQWUsRUFBVSxLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQTZCbEYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLHNCQUFpQixHQUFHLENBQUMsQ0FBQztRQUN0QixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTZDLElBQUksQ0FBQyxDQUFD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QU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBdkhVLG1CQUFtQixrQkFFVixXQUFXO2tHQUZwQixtQkFBbUIseVhBNkNJLHdCQUF3QiwwT0MzRDVELHk5S0FtRmUsd3pORHZFRCxDQUFDLGtCQUFrQixDQUFDOzsyRkFFckIsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGFBQWEsY0FHWCxDQUFDLGtCQUFrQixDQUFDOzswQkFJbkIsTUFBTTsyQkFBQyxXQUFXO3lFQXNDdEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVxQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBQ0QsY0FBYztzQkFBckMsU0FBUzt1QkFBQyxXQUFXO2dCQUMyQyxNQUFNO3NCQUF0RSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFNekIsa0JBQWtCO3NCQUFuRCxXQUFXO3VCQUFDLFlBQVk7Z0JBRUwsU0FBUztzQkFBNUIsS0FBSztnQkFhTixVQUFVO3NCQUZULFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNyRCxZQUFZO3VCQUFDLDZCQUE2QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgUExBVEZPUk1fSUQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmFkZUluT3V0QW5pbWF0aW9uIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctc3dpcGVyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc0Nhcm91c2VsSW1hZ2VEaXJlY3RpdmUgfSBmcm9tICcuLi9jYXJvdXNlbC1pbWFnZS9jYXJvdXNlbC1pbWFnZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1jYXJvdXNlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nhcm91c2VsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtGYWRlSW5PdXRBbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IGFueSwgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmlzU2VydmVyU2lkZSA9IGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCk7XG4gICAgdGhpcy5pbWFnZUNvdW50JCA9IHRoaXMuaW1hZ2VzJC5waXBlKG1hcCgoaW1hZ2VzKSA9PiBpbWFnZXM/Lmxlbmd0aCA/PyAwKSk7XG4gICAgdGhpcy5maXJzdEltYWdlVGVtcGxhdGUkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IHtcbiAgICAgIGlmICghaW1hZ2VzKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3QgaW1nID0gaW1hZ2VzLmdldCgwKTtcbiAgICAgIGlmICghaW1nKSByZXR1cm4gbnVsbDtcblxuICAgICAgcmV0dXJuIGltZy5pdGVtVGVtcGxhdGU7XG4gICAgfSkpO1xuICAgIHRoaXMubGFzdEltYWdlVGVtcGxhdGUkID0gdGhpcy5pbWFnZXMkLnBpcGUobWFwKChpbWFnZXMpID0+IHtcbiAgICAgIGlmICghaW1hZ2VzKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcbiAgICAgIFxuICAgICAgY29uc3QgaW1nID0gaW1hZ2VzLmdldChpbWFnZXMubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoIWltZykgcmV0dXJuIG51bGw7XG5cbiAgICAgIHJldHVybiBpbWcuaXRlbVRlbXBsYXRlO1xuICAgIH0pKTtcblxuICAgIGlmICghaXNQbGF0Zm9ybVNlcnZlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBcbiAgY29sb3JzID0gQ29sb3I7XG4gIGlzU2VydmVyU2lkZTogYm9vbGVhbjtcbiAgY3VycmVudEltYWdlSW5kZXggPSAwO1xuICBpbWFnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxRdWVyeUxpc3Q8QnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlPiB8IG51bGw+KG51bGwpO1xuICBpbWFnZUNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBmaXJzdEltYWdlVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPjtcbiAgbGFzdEltYWdlVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4gfCBudWxsPjtcbiAgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuICBASW5wdXQoKSBpbmRpY2F0b3JzID0gZmFsc2U7XG4gIEBJbnB1dCgpIGtleWJvYXJkRXZlbnRzID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCdpbm5lckVsZW1lbnQnKSBpbm5lckVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgc3dpcGVDb250YWluZXIhOiBCc1N3aXBlQ29udGFpbmVyRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gQnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlKSkgc2V0IGltYWdlcyh2YWx1ZTogUXVlcnlMaXN0PEJzQ2Fyb3VzZWxJbWFnZURpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLmltYWdlcyQubmV4dCh2YWx1ZSk7XG4gICAgdmFsdWUuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IGl0ZW0uaXNGaXJzdCA9IChpbmRleCA9PT0gMCkpO1xuICB9XG5cbiAgLy8jcmVnaW9uIEFuaW1hdGlvblxuICBASG9zdEJpbmRpbmcoJ0AuZGlzYWJsZWQnKSBwdWJsaWMgYW5pbWF0aW9uc0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX2FuaW1hdGlvbjogJ2ZhZGUnIHwgJ3NsaWRlJyA9ICdzbGlkZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgYW5pbWF0aW9uKHZhbHVlOiAnZmFkZScgfCAnc2xpZGUnKSB7XG4gICAgdGhpcy5hbmltYXRpb25zRGlzYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuX2FuaW1hdGlvbiA9IHZhbHVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbmltYXRpb25zRGlzYWJsZWQgPSBmYWxzZSwgMjApO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCksIDUwKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGFuaW1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW9uO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uQXJyb3dMZWZ0JywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5BcnJvd1JpZ2h0JywgWyckZXZlbnQnXSlcbiAgb25LZXlQcmVzcyhldjogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmtleWJvYXJkRXZlbnRzKSB7XG4gICAgICBzd2l0Y2ggKGV2LmtleSkge1xuICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgIHRoaXMucHJldmlvdXNJbWFnZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICB0aGlzLm5leHRJbWFnZSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c0ltYWdlKCkge1xuICAgIHN3aXRjaCAodGhpcy5hbmltYXRpb24pIHtcbiAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICBpZiAodGhpcy5jdXJyZW50SW1hZ2VJbmRleCA+IDApIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUluZGV4LS07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCA9IHRoaXMuaW1hZ2VzJC52YWx1ZSEubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgdGhpcy5zd2lwZUNvbnRhaW5lci5wcmV2aW91cygpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBuZXh0SW1hZ2UoKSB7XG4gICAgc3dpdGNoICh0aGlzLmFuaW1hdGlvbikge1xuICAgICAgY2FzZSAnZmFkZSc6XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRJbWFnZUluZGV4IDwgdGhpcy5pbWFnZXMkLnZhbHVlIS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50SW1hZ2VJbmRleCsrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY3VycmVudEltYWdlSW5kZXggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2xpZGUnOlxuICAgICAgICB0aGlzLnN3aXBlQ29udGFpbmVyLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgaW1hZ2VDb3VudGVyID0gMTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlcj8ub2JzZXJ2ZSh0aGlzLmlubmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LnVub2JzZXJ2ZSh0aGlzLmlubmVyRWxlbWVudC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NlcnZlclNpZGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwgbXgtYXV0byBub3NjcmlwdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaW5uZXIgZC1ncmlkXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihpbWFnZXMkIHwgYXN5bmMpIGFzIGltYWdlc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaW1hZ2VDb3VudCQgfCBhc3luYykgYXMgaW1hZ2VDb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWFnZSBvZiBpbWFnZXM7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIFtpZF09XCInY2FyLScgKyBpXCIgW25hbWVdPVwiJ2NhcidcIiBjbGFzcz1cImNhci1yYWRpbyBkLW5vbmVcIiBic05vTm9zY3JpcHQgW2NoZWNrZWRdPVwiaSA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcm91c2VsLWl0ZW0gZmFkZSBkLWZsZXggZmxleC1yb3cgaC0xMDAgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbmRpY2F0b3JzXCIgY2xhc3M9XCJjYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IGltYWdlIG9mIGltYWdlczsgYnNUcmFja0J5OiAnaWQnOyBsZXQgaiA9IGluZGV4XCIgW2F0dHIuZm9yXT1cIidjYXItJyArIChqICUgaW1hZ2VDb3VudClcIiBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGpcIiBkYXRhLWJzLXRhcmdldD48L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYgY3Vyc29yLXBvaW50ZXJcIiBbZm9yXT1cIidjYXItJyArICgoaSAtIDEgKyBpbWFnZUNvdW50KSAlIGltYWdlQ291bnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dCBjdXJzb3ItcG9pbnRlclwiIFtmb3JdPVwiJ2Nhci0nICsgKChpICsgMSkgJSBpbWFnZUNvdW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNTZXJ2ZXJTaWRlXCI+XG4gICAgPGRpdiAqbmdJZj1cImFuaW1hdGlvbiA9PT0gJ3NsaWRlJ1wiIGNsYXNzPVwiY2Fyb3VzZWwgc2xpZGUgbXgtYXV0b1wiIFtzdHlsZS5oZWlnaHQucHhdPVwiY29udGFpbmVyLmN1cnJlbnRTbGlkZUhlaWdodCQgfCBhc3luY1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5kaWNhdG9yc1wiIGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY29udGFpbmVyLmdvdG8oaSlcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiKGNvbnRhaW5lci5pbWFnZUluZGV4JCB8IGFzeW5jKSA9PT0gaVwiIGRhdGEtYnMtdGFyZ2V0XG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIihjb250YWluZXIuaW1hZ2VJbmRleCQgfCBhc3luYykgPT09IGkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2xpZGUgJyArIGlcIj48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lciBvdmVyZmxvdy1oaWRkZW4gdGV4dC1ub3dyYXAgcGUtbm9uZVwiICNpbm5lckVsZW1lbnQ+XG4gICAgICAgICAgICA8ZGl2IGJzU3dpcGVDb250YWluZXIgI2NvbnRhaW5lcj1cImJzU3dpcGVDb250YWluZXJcIiBbbWluaW11bU9mZnNldF09XCI1MFwiIFsoaW1hZ2VJbmRleCldPVwiY3VycmVudEltYWdlSW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtaXRlbVwiIGJzU3dpcGUgW29mZnNpZGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFzdEltYWdlVGVtcGxhdGUkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbWFnZSBvZiAoaW1hZ2VzJCB8IGFzeW5jKTsgYnNUcmFja0J5OiAnaWQnXCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCIgYnNTd2lwZT5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlLml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgYnNTd2lwZSBbb2Zmc2lkZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaXJzdEltYWdlVGVtcGxhdGUkIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldlwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicHJldmlvdXNJbWFnZSgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5QcmV2aW91czwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYXJvdXNlbC1jb250cm9sLW5leHRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm5leHRJbWFnZSgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5OZXh0PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiYW5pbWF0aW9uID09PSAnZmFkZSdcIiBjbGFzcz1cImNhcm91c2VsIGZhZGUgbXgtYXV0b1wiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5kaWNhdG9yc1wiIGNsYXNzPVwiY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY3VycmVudEltYWdlSW5kZXggPSBpXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpXCIgZGF0YS1icy10YXJnZXRcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiY3VycmVudEltYWdlSW5kZXggPT09IGkgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2xpZGUgJyArIGlcIj48L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pbm5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2YgKGltYWdlcyQgfCBhc3luYyk7IGJzVHJhY2tCeTogJ2lkJzsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCIgQGZhZGVJbk91dCAqbmdJZj1cImN1cnJlbnRJbWFnZUluZGV4ID09PSBpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW1hZ2UuaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+ICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJwcmV2aW91c0ltYWdlKClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNhcm91c2VsLWNvbnRyb2wtbmV4dFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwibmV4dEltYWdlKClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPk5leHQ8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
@@ -10,13 +10,13 @@ export class BsCarouselImageDirective {
10
10
  this.itemTemplate = this.templateRef;
11
11
  this.id = carousel.imageCounter++;
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCarouselImageDirective, deps: [{ token: i0.TemplateRef }, { token: i1.BsCarouselComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
14
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.6", type: BsCarouselImageDirective, selector: "*[bsCarouselImage]", ngImport: i0 }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCarouselImageDirective, deps: [{ token: i0.TemplateRef }, { token: i1.BsCarouselComponent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
14
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.3", type: BsCarouselImageDirective, selector: "*[bsCarouselImage]", ngImport: i0 }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BsCarouselImageDirective, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: BsCarouselImageDirective, decorators: [{
17
17
  type: Directive,
18
18
  args: [{
19
19
  selector: '*[bsCarouselImage]'
20
20
  }]
21
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i1.BsCarouselComponent }, { type: i0.ElementRef }]; } });
21
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1.BsCarouselComponent }, { type: i0.ElementRef }] });
22
22
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtaW1hZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9jYXJvdXNlbC9zcmMvY2Fyb3VzZWwtaW1hZ2UvY2Fyb3VzZWwtaW1hZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBS3JFLE1BQU0sT0FBTyx3QkFBd0I7SUFJbkMsWUFBb0IsV0FBNkIsRUFBRSxRQUE2QixFQUFVLE9BQWdDO1FBQXRHLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUF5QyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQU0xSCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBTGQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBUFUsd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4uL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJypbYnNDYXJvdXNlbEltYWdlXSdcbn0pXG5leHBvcnQgY2xhc3MgQnNDYXJvdXNlbEltYWdlRGlyZWN0aXZlIHtcblxuICBwdWJsaWMgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiwgY2Fyb3VzZWw6IEJzQ2Fyb3VzZWxDb21wb25lbnQsIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICB0aGlzLml0ZW1UZW1wbGF0ZSA9IHRoaXMudGVtcGxhdGVSZWY7XG4gICAgdGhpcy5pZCA9IGNhcm91c2VsLmltYWdlQ291bnRlcisrO1xuICB9XG4gIFxuICBpZDogbnVtYmVyO1xuICBpc0ZpcnN0ID0gZmFsc2U7XG59XG4iXX0=