@mintplayer/ng-bootstrap 17.1.3 → 17.3.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 (491) hide show
  1. package/accordion/src/accordion.module.d.ts +1 -1
  2. package/alert/src/alert.module.d.ts +1 -2
  3. package/async-host-binding/src/index.d.ts +1 -1
  4. package/async-host-binding/src/provide-async-host-bindings.d.ts +2 -0
  5. package/badge/src/badge.component.d.ts +1 -1
  6. package/badge/src/index.d.ts +0 -1
  7. package/breadcrumb/src/breadcrumb.module.d.ts +1 -2
  8. package/button-group/src/button-group/button-group.component.d.ts +2 -5
  9. package/button-group/src/index.d.ts +0 -1
  10. package/button-type/src/button-type/button-type.directive.d.ts +1 -1
  11. package/button-type/src/index.d.ts +0 -1
  12. package/calendar/src/calendar.component.d.ts +1 -1
  13. package/calendar/src/index.d.ts +0 -1
  14. package/calendar-month/src/pipes/index.d.ts +2 -2
  15. package/calendar-month/src/pipes/month-name/month-name.pipe.d.ts +3 -3
  16. package/calendar-month/src/pipes/weekday-name/weekday-name.pipe.d.ts +3 -3
  17. package/carousel/src/carousel.module.d.ts +2 -3
  18. package/close/src/close.component.d.ts +1 -1
  19. package/close/src/index.d.ts +0 -1
  20. package/code-snippet/src/code-snippet.component.d.ts +8 -2
  21. package/code-snippet/src/index.d.ts +0 -1
  22. package/color-picker/color-picker.module.d.ts +1 -1
  23. package/container/src/container/container.component.d.ts +1 -1
  24. package/container/src/index.d.ts +0 -1
  25. package/context-menu/src/context-menu.module.d.ts +1 -1
  26. package/copy/src/copy.directive.d.ts +1 -1
  27. package/copy/src/index.d.ts +0 -1
  28. package/datatable/src/datatable.module.d.ts +1 -1
  29. package/datepicker/src/datepicker.component.d.ts +1 -1
  30. package/datepicker/src/index.d.ts +0 -1
  31. package/dock/src/dock.module.d.ts +1 -1
  32. package/dropdown/src/dropdown/dropdown.directive.d.ts +3 -3
  33. package/dropdown/src/dropdown.module.d.ts +1 -1
  34. package/dropdown-divider/src/dropdown-divider.directive.d.ts +1 -1
  35. package/dropdown-divider/src/index.d.ts +0 -1
  36. package/dropdown-menu/src/dropdown-menu.module.d.ts +1 -1
  37. package/enhanced-paste/src/directive/enhanced-paste.directive.d.ts +1 -1
  38. package/enhanced-paste/src/index.d.ts +0 -1
  39. package/esm2022/accordion/src/accordion.module.mjs +8 -9
  40. package/esm2022/alert/src/alert/alert.component.mjs +3 -4
  41. package/esm2022/alert/src/alert.module.mjs +3 -5
  42. package/esm2022/async-host-binding/src/index.mjs +2 -2
  43. package/esm2022/async-host-binding/src/provide-async-host-bindings.mjs +10 -0
  44. package/esm2022/badge/src/badge.component.mjs +4 -4
  45. package/esm2022/badge/src/index.mjs +1 -2
  46. package/esm2022/breadcrumb/src/breadcrumb.module.mjs +3 -5
  47. package/esm2022/button-group/src/button-group/button-group.component.mjs +4 -6
  48. package/esm2022/button-group/src/index.mjs +1 -2
  49. package/esm2022/button-type/src/button-type/button-type.directive.mjs +4 -3
  50. package/esm2022/button-type/src/index.mjs +1 -2
  51. package/esm2022/calendar/src/calendar.component.mjs +7 -8
  52. package/esm2022/calendar/src/index.mjs +1 -2
  53. package/esm2022/calendar-month/src/pipes/index.mjs +3 -3
  54. package/esm2022/calendar-month/src/pipes/month-name/month-name.pipe.mjs +7 -6
  55. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.pipe.mjs +7 -6
  56. package/esm2022/carousel/src/carousel/carousel.component.mjs +4 -5
  57. package/esm2022/carousel/src/carousel.module.mjs +13 -18
  58. package/esm2022/close/src/close.component.mjs +3 -3
  59. package/esm2022/close/src/index.mjs +1 -2
  60. package/esm2022/code-snippet/src/code-snippet.component.mjs +22 -8
  61. package/esm2022/code-snippet/src/index.mjs +1 -2
  62. package/esm2022/color-picker/color-picker.module.mjs +8 -10
  63. package/esm2022/color-picker/components/color-picker/color-picker.component.mjs +8 -8
  64. package/esm2022/color-picker/components/color-wheel/color-wheel.component.mjs +3 -3
  65. package/esm2022/container/src/container/container.component.mjs +3 -3
  66. package/esm2022/container/src/index.mjs +1 -2
  67. package/esm2022/context-menu/src/context-menu.module.mjs +8 -8
  68. package/esm2022/copy/src/copy.directive.mjs +3 -2
  69. package/esm2022/copy/src/index.mjs +1 -2
  70. package/esm2022/datatable/src/datatable/datatable.component.mjs +3 -3
  71. package/esm2022/datatable/src/datatable.module.mjs +15 -14
  72. package/esm2022/datepicker/src/datepicker.component.mjs +10 -8
  73. package/esm2022/datepicker/src/index.mjs +1 -2
  74. package/esm2022/dock/src/dock/dock.component.mjs +5 -5
  75. package/esm2022/dock/src/dock-pane-renderer/dock-pane-renderer.component.mjs +9 -9
  76. package/esm2022/dock/src/dock.module.mjs +5 -6
  77. package/esm2022/dropdown/src/dropdown/dropdown.directive.mjs +5 -3
  78. package/esm2022/dropdown/src/dropdown.module.mjs +8 -10
  79. package/esm2022/dropdown-divider/src/dropdown-divider.directive.mjs +4 -3
  80. package/esm2022/dropdown-divider/src/index.mjs +1 -2
  81. package/esm2022/dropdown-menu/src/dropdown-menu.module.mjs +5 -5
  82. package/esm2022/enhanced-paste/src/directive/enhanced-paste.directive.mjs +4 -3
  83. package/esm2022/enhanced-paste/src/index.mjs +1 -2
  84. package/esm2022/file-upload/src/component/file-upload.component.mjs +6 -7
  85. package/esm2022/file-upload/src/file-upload.module.mjs +12 -19
  86. package/esm2022/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +2 -2
  87. package/esm2022/floating-labels/src/floating-label/floating-label.component.mjs +20 -0
  88. package/esm2022/floating-labels/src/index.mjs +2 -3
  89. package/esm2022/font-color/index.mjs +1 -2
  90. package/esm2022/font-color/src/font-color.pipe.mjs +4 -3
  91. package/esm2022/for/src/for.directive.mjs +4 -3
  92. package/esm2022/for/src/index.mjs +1 -2
  93. package/esm2022/grid/src/grid.module.mjs +5 -5
  94. package/esm2022/has-overlay/src/has-overlay/has-overlay.component.mjs +3 -3
  95. package/esm2022/has-overlay/src/index.mjs +1 -2
  96. package/esm2022/has-property/src/has-property.pipe.mjs +6 -5
  97. package/esm2022/has-property/src/index.mjs +1 -2
  98. package/esm2022/in-list/index.mjs +1 -2
  99. package/esm2022/in-list/src/in-list.pipe.mjs +4 -3
  100. package/esm2022/input-group/src/index.mjs +1 -2
  101. package/esm2022/input-group/src/input-group/input-group.component.mjs +3 -3
  102. package/esm2022/let/directive/let.directive.mjs +4 -3
  103. package/esm2022/let/index.mjs +1 -2
  104. package/esm2022/linify/index.mjs +1 -2
  105. package/esm2022/linify/src/linify.pipe.mjs +3 -2
  106. package/esm2022/markdown/index.mjs +1 -2
  107. package/esm2022/markdown/src/bold/bold.pipe.mjs +4 -3
  108. package/esm2022/markdown/src/italic/italic.pipe.mjs +4 -3
  109. package/esm2022/markdown/src/strikethrough/strikethrough.pipe.mjs +4 -3
  110. package/esm2022/markdown/src/underline/underline.pipe.mjs +4 -3
  111. package/esm2022/marquee/index.mjs +1 -2
  112. package/esm2022/marquee/src/marquee/marquee.component.mjs +3 -3
  113. package/esm2022/modal/src/components/modal/modal.component.mjs +3 -3
  114. package/esm2022/modal/src/modal.module.mjs +9 -10
  115. package/esm2022/multiselect/src/component/multiselect.component.mjs +3 -8
  116. package/esm2022/multiselect/src/multiselect.module.mjs +15 -18
  117. package/esm2022/navbar/src/navbar.module.mjs +30 -33
  118. package/esm2022/navbar-toggler/src/index.mjs +1 -2
  119. package/esm2022/navbar-toggler/src/navbar-toggler/navbar-toggler.component.mjs +4 -4
  120. package/esm2022/no-noscript/src/index.mjs +1 -2
  121. package/esm2022/no-noscript/src/no-noscript/no-noscript.directive.mjs +4 -3
  122. package/esm2022/offcanvas/src/components/offcanvas/offcanvas.component.mjs +3 -3
  123. package/esm2022/offcanvas/src/offcanvas.module.mjs +11 -10
  124. package/esm2022/ordinal-number/src/index.mjs +1 -2
  125. package/esm2022/ordinal-number/src/ordinal-number/ordinal-number.pipe.mjs +4 -3
  126. package/esm2022/pagination/src/component/pagination/pagination.component.mjs +4 -5
  127. package/esm2022/pagination/src/index.mjs +1 -2
  128. package/esm2022/playlist-toggler/src/index.mjs +1 -2
  129. package/esm2022/playlist-toggler/src/playlist-toggler/playlist-toggler.component.mjs +4 -4
  130. package/esm2022/popover/src/component/popover.component.mjs +3 -3
  131. package/esm2022/popover/src/popover.module.mjs +6 -6
  132. package/esm2022/progress-bar/src/progress/progress.component.mjs +3 -4
  133. package/esm2022/rating/src/component/rating.component.mjs +4 -4
  134. package/esm2022/rating/src/index.mjs +1 -2
  135. package/esm2022/scheduler/src/components/resource-group-presenter/resource-group-presenter.component.mjs +3 -3
  136. package/esm2022/scheduler/src/components/scheduler/scheduler.component.mjs +5 -5
  137. package/esm2022/scrollspy/src/component/scrollspy.component.mjs +3 -4
  138. package/esm2022/scrollspy/src/scrollspy.module.mjs +4 -7
  139. package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +5 -5
  140. package/esm2022/searchbox/src/searchbox.module.mjs +21 -23
  141. package/esm2022/select2/src/component/select2.component.mjs +3 -3
  142. package/esm2022/select2/src/select2.module.mjs +12 -14
  143. package/esm2022/signature-pad/src/component/signature-pad.component.mjs +3 -3
  144. package/esm2022/signature-pad/src/index.mjs +1 -2
  145. package/esm2022/slugify/index.mjs +1 -2
  146. package/esm2022/slugify/src/slugify.pipe.mjs +4 -3
  147. package/esm2022/spinner/src/index.mjs +1 -2
  148. package/esm2022/spinner/src/spinner.component.mjs +4 -4
  149. package/esm2022/split-string/index.mjs +1 -2
  150. package/esm2022/split-string/src/split-string.pipe.mjs +4 -3
  151. package/esm2022/splitter/src/splitter/splitter.component.mjs +7 -7
  152. package/esm2022/splitter/src/splitter.module.mjs +7 -7
  153. package/esm2022/tab-control/src/tab-control/tab-control.component.mjs +4 -4
  154. package/esm2022/tab-control/src/tab-control.module.mjs +13 -14
  155. package/esm2022/table/src/component/table.component.mjs +4 -4
  156. package/esm2022/table/src/index.mjs +1 -2
  157. package/esm2022/timepicker/src/index.mjs +1 -2
  158. package/esm2022/timepicker/src/timepicker.component.mjs +17 -12
  159. package/esm2022/toast/src/components/toast-container/toast-container.component.mjs +3 -3
  160. package/esm2022/toast/src/toast.module.mjs +11 -10
  161. package/esm2022/tooltip/src/tooltip.module.mjs +5 -5
  162. package/esm2022/trust-html/index.mjs +1 -2
  163. package/esm2022/trust-html/src/trust-html.pipe.mjs +4 -3
  164. package/esm2022/typeahead/src/index.mjs +1 -2
  165. package/esm2022/typeahead/src/typeahead.component.mjs +16 -10
  166. package/esm2022/uc-first/index.mjs +1 -2
  167. package/esm2022/uc-first/src/uc-first.pipe.mjs +4 -3
  168. package/esm2022/user-agent/src/directive/user-agent.directive.mjs +4 -3
  169. package/esm2022/user-agent/src/index.mjs +1 -2
  170. package/esm2022/word-count/index.mjs +1 -2
  171. package/esm2022/word-count/src/word-count.pipe.mjs +4 -3
  172. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +8 -9
  173. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  174. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +4 -7
  175. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
  176. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs +7 -29
  177. package/fesm2022/mintplayer-ng-bootstrap-async-host-binding.mjs.map +1 -1
  178. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +5 -20
  179. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
  180. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +2 -4
  181. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  182. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +4 -21
  183. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
  184. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +5 -25
  185. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs.map +1 -1
  186. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +14 -53
  187. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  188. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +9 -49
  189. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  190. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +15 -21
  191. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  192. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +4 -19
  193. package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
  194. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +20 -39
  195. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  196. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +13 -15
  197. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  198. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +4 -19
  199. package/fesm2022/mintplayer-ng-bootstrap-container.mjs.map +1 -1
  200. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +7 -7
  201. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  202. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +5 -24
  203. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  204. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +16 -15
  205. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  206. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +10 -45
  207. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
  208. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +14 -15
  209. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  210. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +5 -19
  211. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -1
  212. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +4 -4
  213. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  214. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +10 -10
  215. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  216. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +5 -25
  217. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  218. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +16 -24
  219. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  220. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +4 -19
  221. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  222. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +5 -25
  223. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
  224. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +5 -25
  225. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  226. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +4 -4
  227. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  228. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +4 -19
  229. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  230. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +7 -21
  231. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs.map +1 -1
  232. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +5 -25
  233. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs.map +1 -1
  234. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +4 -19
  235. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs.map +1 -1
  236. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +5 -25
  237. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  238. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +4 -18
  239. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs.map +1 -1
  240. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +28 -57
  241. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  242. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +4 -19
  243. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
  244. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +10 -11
  245. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  246. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +16 -24
  247. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  248. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +5 -20
  249. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  250. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +29 -32
  251. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  252. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +6 -19
  253. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  254. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +12 -11
  255. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  256. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +5 -25
  257. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
  258. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +5 -31
  259. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  260. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +5 -20
  261. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  262. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +7 -7
  263. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  264. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +2 -3
  265. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  266. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +5 -26
  267. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  268. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +5 -5
  269. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  270. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +6 -9
  271. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  272. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +24 -26
  273. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  274. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +13 -15
  275. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  276. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +4 -19
  277. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  278. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +5 -19
  279. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs.map +1 -1
  280. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +5 -20
  281. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  282. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +5 -19
  283. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs.map +1 -1
  284. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +12 -12
  285. package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
  286. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +15 -16
  287. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  288. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +5 -20
  289. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  290. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +16 -64
  291. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  292. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +12 -11
  293. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  294. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +4 -4
  295. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  296. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +5 -19
  297. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -1
  298. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +14 -53
  299. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  300. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +5 -25
  301. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs.map +1 -1
  302. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +6 -25
  303. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  304. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +5 -19
  305. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
  306. package/file-upload/src/file-upload.module.d.ts +4 -5
  307. package/floating-labels/src/{floating-labels/floating-label → floating-label}/floating-label.component.d.ts +1 -1
  308. package/floating-labels/src/index.d.ts +1 -2
  309. package/font-color/index.d.ts +0 -1
  310. package/font-color/src/font-color.pipe.d.ts +1 -1
  311. package/for/src/for.directive.d.ts +1 -1
  312. package/for/src/index.d.ts +0 -1
  313. package/grid/src/grid.module.d.ts +1 -1
  314. package/has-overlay/src/has-overlay/has-overlay.component.d.ts +1 -1
  315. package/has-overlay/src/index.d.ts +0 -1
  316. package/has-property/src/has-property.pipe.d.ts +3 -3
  317. package/has-property/src/index.d.ts +0 -1
  318. package/in-list/index.d.ts +0 -1
  319. package/in-list/src/in-list.pipe.d.ts +1 -1
  320. package/input-group/src/index.d.ts +0 -1
  321. package/input-group/src/input-group/input-group.component.d.ts +1 -1
  322. package/let/directive/let.directive.d.ts +1 -1
  323. package/let/index.d.ts +0 -1
  324. package/linify/index.d.ts +0 -1
  325. package/linify/src/linify.pipe.d.ts +1 -1
  326. package/markdown/index.d.ts +0 -1
  327. package/markdown/src/bold/bold.pipe.d.ts +1 -1
  328. package/markdown/src/italic/italic.pipe.d.ts +1 -1
  329. package/markdown/src/strikethrough/strikethrough.pipe.d.ts +1 -1
  330. package/markdown/src/underline/underline.pipe.d.ts +1 -1
  331. package/marquee/index.d.ts +0 -1
  332. package/marquee/src/marquee/marquee.component.d.ts +1 -1
  333. package/modal/src/modal.module.d.ts +1 -1
  334. package/multiselect/src/component/multiselect.component.d.ts +2 -4
  335. package/multiselect/src/multiselect.module.d.ts +1 -1
  336. package/navbar/src/navbar.module.d.ts +1 -1
  337. package/navbar-toggler/src/index.d.ts +0 -1
  338. package/navbar-toggler/src/navbar-toggler/navbar-toggler.component.d.ts +1 -1
  339. package/no-noscript/src/index.d.ts +0 -1
  340. package/no-noscript/src/no-noscript/no-noscript.directive.d.ts +1 -1
  341. package/offcanvas/src/offcanvas.module.d.ts +1 -1
  342. package/ordinal-number/src/index.d.ts +0 -1
  343. package/ordinal-number/src/ordinal-number/ordinal-number.pipe.d.ts +1 -1
  344. package/package.json +1 -13
  345. package/pagination/src/component/pagination/pagination.component.d.ts +1 -1
  346. package/pagination/src/index.d.ts +0 -1
  347. package/playlist-toggler/src/index.d.ts +0 -1
  348. package/playlist-toggler/src/playlist-toggler/playlist-toggler.component.d.ts +1 -1
  349. package/popover/src/popover.module.d.ts +1 -1
  350. package/rating/src/component/rating.component.d.ts +1 -1
  351. package/rating/src/index.d.ts +0 -1
  352. package/scrollspy/src/scrollspy.module.d.ts +1 -2
  353. package/searchbox/src/searchbox.module.d.ts +3 -3
  354. package/select2/src/select2.module.d.ts +1 -1
  355. package/signature-pad/src/component/signature-pad.component.d.ts +1 -1
  356. package/signature-pad/src/index.d.ts +0 -1
  357. package/slugify/index.d.ts +0 -1
  358. package/slugify/src/slugify.pipe.d.ts +1 -1
  359. package/spinner/src/index.d.ts +0 -1
  360. package/spinner/src/spinner.component.d.ts +1 -1
  361. package/split-string/index.d.ts +0 -1
  362. package/split-string/src/split-string.pipe.d.ts +1 -1
  363. package/splitter/src/splitter.module.d.ts +1 -1
  364. package/tab-control/src/tab-control.module.d.ts +1 -1
  365. package/table/src/component/table.component.d.ts +1 -1
  366. package/table/src/index.d.ts +0 -1
  367. package/timepicker/src/index.d.ts +0 -1
  368. package/timepicker/src/timepicker.component.d.ts +1 -1
  369. package/toast/src/toast.module.d.ts +1 -1
  370. package/tooltip/src/tooltip.module.d.ts +1 -1
  371. package/trust-html/index.d.ts +0 -1
  372. package/trust-html/src/trust-html.pipe.d.ts +1 -1
  373. package/typeahead/src/index.d.ts +0 -1
  374. package/typeahead/src/typeahead.component.d.ts +1 -1
  375. package/uc-first/index.d.ts +0 -1
  376. package/uc-first/src/uc-first.pipe.d.ts +1 -1
  377. package/user-agent/src/directive/user-agent.directive.d.ts +1 -1
  378. package/user-agent/src/index.d.ts +0 -1
  379. package/word-count/index.d.ts +0 -1
  380. package/word-count/src/word-count.pipe.d.ts +1 -1
  381. package/async-host-binding/src/async-host-binding.module.d.ts +0 -7
  382. package/badge/src/badge.module.d.ts +0 -8
  383. package/button-group/src/button-group.module.d.ts +0 -8
  384. package/button-type/src/button-type/button-type.module.d.ts +0 -8
  385. package/calendar/src/calendar.module.d.ts +0 -12
  386. package/calendar-month/src/pipes/month-name/index.d.ts +0 -2
  387. package/calendar-month/src/pipes/month-name/month-name.module.d.ts +0 -8
  388. package/calendar-month/src/pipes/weekday-name/index.d.ts +0 -2
  389. package/calendar-month/src/pipes/weekday-name/weekday-name.module.d.ts +0 -8
  390. package/close/src/close.module.d.ts +0 -8
  391. package/code-snippet/src/code-snippet.module.d.ts +0 -11
  392. package/container/src/container.module.d.ts +0 -8
  393. package/copy/src/copy.module.d.ts +0 -8
  394. package/datepicker/src/datepicker.module.d.ts +0 -12
  395. package/dropdown-divider/src/dropdown-divider.module.d.ts +0 -8
  396. package/enhanced-paste/src/enhanced-paste.module.d.ts +0 -8
  397. package/esm2022/async-host-binding/src/async-host-binding.module.mjs +0 -32
  398. package/esm2022/badge/src/badge.module.mjs +0 -18
  399. package/esm2022/button-group/src/button-group.module.mjs +0 -18
  400. package/esm2022/button-type/src/button-type/button-type.module.mjs +0 -24
  401. package/esm2022/calendar/src/calendar.module.mjs +0 -43
  402. package/esm2022/calendar-month/src/pipes/month-name/index.mjs +0 -3
  403. package/esm2022/calendar-month/src/pipes/month-name/month-name.module.mjs +0 -24
  404. package/esm2022/calendar-month/src/pipes/weekday-name/index.mjs +0 -3
  405. package/esm2022/calendar-month/src/pipes/weekday-name/weekday-name.module.mjs +0 -24
  406. package/esm2022/close/src/close.module.mjs +0 -18
  407. package/esm2022/code-snippet/src/code-snippet.module.mjs +0 -36
  408. package/esm2022/container/src/container.module.mjs +0 -18
  409. package/esm2022/copy/src/copy.module.mjs +0 -24
  410. package/esm2022/datepicker/src/datepicker.module.mjs +0 -40
  411. package/esm2022/dropdown-divider/src/dropdown-divider.module.mjs +0 -18
  412. package/esm2022/enhanced-paste/src/enhanced-paste.module.mjs +0 -24
  413. package/esm2022/floating-labels/src/floating-labels/floating-label/floating-label.component.mjs +0 -20
  414. package/esm2022/floating-labels/src/floating-labels/floating-labels.module.mjs +0 -18
  415. package/esm2022/font-color/src/font-color.module.mjs +0 -24
  416. package/esm2022/for/src/for.module.mjs +0 -24
  417. package/esm2022/has-overlay/src/has-overlay/has-overlay.module.mjs +0 -18
  418. package/esm2022/has-property/src/has-property.module.mjs +0 -18
  419. package/esm2022/in-list/src/in-list.module.mjs +0 -24
  420. package/esm2022/input-group/src/input-group.module.mjs +0 -18
  421. package/esm2022/lazy-loading/index.mjs +0 -2
  422. package/esm2022/lazy-loading/mintplayer-ng-bootstrap-lazy-loading.mjs +0 -5
  423. package/esm2022/lazy-loading/src/index.mjs +0 -3
  424. package/esm2022/lazy-loading/src/lazy-load/lazy-load.directive.mjs +0 -32
  425. package/esm2022/lazy-loading/src/lazy-loading.module.mjs +0 -24
  426. package/esm2022/let/let.module.mjs +0 -24
  427. package/esm2022/linify/src/linify.module.mjs +0 -18
  428. package/esm2022/markdown/src/markdown.module.mjs +0 -39
  429. package/esm2022/marquee/src/marquee.module.mjs +0 -18
  430. package/esm2022/navbar-toggler/src/navbar-toggler.module.mjs +0 -18
  431. package/esm2022/no-noscript/src/no-noscript.module.mjs +0 -18
  432. package/esm2022/ordinal-number/src/ordinal-number.module.mjs +0 -24
  433. package/esm2022/pagination/src/pagination.module.mjs +0 -28
  434. package/esm2022/playlist-toggler/src/playlist-toggler.module.mjs +0 -18
  435. package/esm2022/rating/src/rating.module.mjs +0 -24
  436. package/esm2022/signature-pad/src/signature-pad.module.mjs +0 -18
  437. package/esm2022/slugify/src/slugify.module.mjs +0 -18
  438. package/esm2022/spinner/src/spinner.module.mjs +0 -18
  439. package/esm2022/split-string/src/split-string.module.mjs +0 -18
  440. package/esm2022/table/src/table.module.mjs +0 -18
  441. package/esm2022/timepicker/src/timepicker.module.mjs +0 -56
  442. package/esm2022/track-by/index.mjs +0 -4
  443. package/esm2022/track-by/mintplayer-ng-bootstrap-track-by.mjs +0 -5
  444. package/esm2022/track-by/src/track-by-index.directive.mjs +0 -22
  445. package/esm2022/track-by/src/track-by.directive.mjs +0 -28
  446. package/esm2022/track-by/src/track-by.module.mjs +0 -19
  447. package/esm2022/trust-html/src/trust-html.module.mjs +0 -18
  448. package/esm2022/typeahead/src/typeahead.module.mjs +0 -48
  449. package/esm2022/uc-first/src/uc-first.module.mjs +0 -24
  450. package/esm2022/user-agent/src/user-agent.module.mjs +0 -24
  451. package/esm2022/word-count/src/word-count.module.mjs +0 -18
  452. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs +0 -60
  453. package/fesm2022/mintplayer-ng-bootstrap-lazy-loading.mjs.map +0 -1
  454. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs +0 -67
  455. package/fesm2022/mintplayer-ng-bootstrap-track-by.mjs.map +0 -1
  456. package/floating-labels/src/floating-labels/floating-labels.module.d.ts +0 -8
  457. package/font-color/src/font-color.module.d.ts +0 -8
  458. package/for/src/for.module.d.ts +0 -8
  459. package/has-overlay/src/has-overlay/has-overlay.module.d.ts +0 -8
  460. package/has-property/src/has-property.module.d.ts +0 -8
  461. package/in-list/src/in-list.module.d.ts +0 -8
  462. package/input-group/src/input-group.module.d.ts +0 -8
  463. package/lazy-loading/index.d.ts +0 -1
  464. package/lazy-loading/src/index.d.ts +0 -2
  465. package/lazy-loading/src/lazy-load/lazy-load.directive.d.ts +0 -13
  466. package/lazy-loading/src/lazy-loading.module.d.ts +0 -8
  467. package/let/let.module.d.ts +0 -8
  468. package/linify/src/linify.module.d.ts +0 -8
  469. package/markdown/src/markdown.module.d.ts +0 -11
  470. package/marquee/src/marquee.module.d.ts +0 -8
  471. package/navbar-toggler/src/navbar-toggler.module.d.ts +0 -8
  472. package/no-noscript/src/no-noscript.module.d.ts +0 -8
  473. package/ordinal-number/src/ordinal-number.module.d.ts +0 -8
  474. package/pagination/src/pagination.module.d.ts +0 -9
  475. package/playlist-toggler/src/playlist-toggler.module.d.ts +0 -8
  476. package/rating/src/rating.module.d.ts +0 -8
  477. package/signature-pad/src/signature-pad.module.d.ts +0 -8
  478. package/slugify/src/slugify.module.d.ts +0 -8
  479. package/spinner/src/spinner.module.d.ts +0 -8
  480. package/split-string/src/split-string.module.d.ts +0 -8
  481. package/table/src/table.module.d.ts +0 -8
  482. package/timepicker/src/timepicker.module.d.ts +0 -16
  483. package/track-by/index.d.ts +0 -3
  484. package/track-by/src/track-by-index.directive.d.ts +0 -9
  485. package/track-by/src/track-by.directive.d.ts +0 -11
  486. package/track-by/src/track-by.module.d.ts +0 -9
  487. package/trust-html/src/trust-html.module.d.ts +0 -8
  488. package/typeahead/src/typeahead.module.d.ts +0 -14
  489. package/uc-first/src/uc-first.module.d.ts +0 -8
  490. package/user-agent/src/user-agent.module.d.ts +0 -8
  491. package/word-count/src/word-count.module.d.ts +0 -8
@@ -1,4 +1,3 @@
1
- export * from './signature-pad.module';
2
1
  export * from './component/signature-pad.component';
3
2
  export * from './interfaces';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NpZ25hdHVyZS1wYWQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2lnbmF0dXJlLXBhZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvc2lnbmF0dXJlLXBhZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJzsiXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NpZ25hdHVyZS1wYWQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC9zaWduYXR1cmUtcGFkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnOyJdfQ==
@@ -1,3 +1,2 @@
1
- export * from './src/slugify.module';
2
1
  export * from './src/slugify.pipe';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NsdWdpZnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc2x1Z2lmeS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2x1Z2lmeS5waXBlJzsiXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NsdWdpZnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3NsdWdpZnkucGlwZSc7Il19
@@ -11,13 +11,14 @@ export class BsSlugifyPipe {
11
11
  .replace(/-+$/, ''); // Trim - from end of text
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSlugifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSlugifyPipe, name: "bsSlugify" }); }
14
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSlugifyPipe, isStandalone: true, name: "bsSlugify" }); }
15
15
  }
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSlugifyPipe, decorators: [{
17
17
  type: Pipe,
18
18
  args: [{
19
19
  name: 'bsSlugify',
20
- pure: true
20
+ pure: true,
21
+ standalone: true
21
22
  }]
22
23
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2x1Z2lmeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zbHVnaWZ5L3NyYy9zbHVnaWZ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRTthQUNsQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUE2Qix3QkFBd0I7YUFDekUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxvQkFBb0I7YUFDckUsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBeUIsNEJBQTRCO2FBQzdFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQTJCLG1DQUFtQzthQUNwRixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUErQiw0QkFBNEI7YUFDN0UsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUE4QiwwQkFBMEI7SUFDaEYsQ0FBQzs4R0FUVSxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxJQUFJO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdic1NsdWdpZnknLFxuICBwdXJlOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJzU2x1Z2lmeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG4gICAgICAucmVwbGFjZSgvXFxzKy9nLCAnLScpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXBsYWNlIHNwYWNlcyB3aXRoIC1cbiAgICAgIC5ub3JtYWxpemUoXCJORkRcIikucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIikgLy8gUmVtb3ZlIGRpYWNyaXRpY3NcbiAgICAgIC5yZXBsYWNlKC9bXlxcd1xcLV0rL2csICcnKSAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgYWxsIG5vbi13b3JkIGNoYXJzXG4gICAgICAucmVwbGFjZSgvXFwtXFwtKy9nLCAnLScpICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVwbGFjZSBtdWx0aXBsZSAtIHdpdGggc2luZ2xlIC1cbiAgICAgIC5yZXBsYWNlKC9eLSsvLCAnJykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVHJpbSAtIGZyb20gc3RhcnQgb2YgdGV4dFxuICAgICAgLnJlcGxhY2UoLy0rJC8sICcnKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmltIC0gZnJvbSBlbmQgb2YgdGV4dFxuICB9XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2x1Z2lmeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zbHVnaWZ5L3NyYy9zbHVnaWZ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRTthQUNsQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUE2Qix3QkFBd0I7YUFDekUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxvQkFBb0I7YUFDckUsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBeUIsNEJBQTRCO2FBQzdFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQTJCLG1DQUFtQzthQUNwRixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUErQiw0QkFBNEI7YUFDN0UsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUE4QiwwQkFBMEI7SUFDaEYsQ0FBQzs4R0FUVSxhQUFhOzRHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBTHpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYnNTbHVnaWZ5JyxcbiAgcHVyZTogdHJ1ZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCc1NsdWdpZnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKVxuICAgICAgLnJlcGxhY2UoL1xccysvZywgJy0nKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVwbGFjZSBzcGFjZXMgd2l0aCAtXG4gICAgICAubm9ybWFsaXplKFwiTkZEXCIpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpIC8vIFJlbW92ZSBkaWFjcml0aWNzXG4gICAgICAucmVwbGFjZSgvW15cXHdcXC1dKy9nLCAnJykgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIGFsbCBub24td29yZCBjaGFyc1xuICAgICAgLnJlcGxhY2UoL1xcLVxcLSsvZywgJy0nKSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlcGxhY2UgbXVsdGlwbGUgLSB3aXRoIHNpbmdsZSAtXG4gICAgICAucmVwbGFjZSgvXi0rLywgJycpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaW0gLSBmcm9tIHN0YXJ0IG9mIHRleHRcbiAgICAgIC5yZXBsYWNlKC8tKyQvLCAnJyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVHJpbSAtIGZyb20gZW5kIG9mIHRleHRcbiAgfVxufVxuIl19
@@ -1,3 +1,2 @@
1
1
  export * from './spinner.component';
2
- export * from './spinner.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NwaW5uZXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3Bpbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGlubmVyLm1vZHVsZSc7Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NwaW5uZXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NwaW5uZXIuY29tcG9uZW50JzsiXX0=
@@ -1,8 +1,8 @@
1
+ import { AsyncPipe } from '@angular/common';
1
2
  import { Component, Input } from '@angular/core';
2
3
  import { Color } from '@mintplayer/ng-bootstrap';
3
4
  import { BehaviorSubject, map } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
6
  export class BsSpinnerComponent {
7
7
  constructor() {
8
8
  this.colors = Color;
@@ -30,14 +30,14 @@ export class BsSpinnerComponent {
30
30
  this.color$.next(value);
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsSpinnerComponent, selector: "bs-spinner", inputs: { type: "type", color: "color" }, ngImport: i0, template: "<div [class]=\"[spinnerClass$ | async, colorClass$ | async]\" role=\"status\">\n <span class=\"visually-hidden\">Loading...</span>\n</div>", styles: [":host ::ng-deep .spinner-grow,:host ::ng-deep .spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}:host ::ng-deep .spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}:host ::ng-deep .spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}:host ::ng-deep .spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}:host ::ng-deep .spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){:host ::ng-deep .spinner-border,:host ::ng-deep .spinner-grow{--bs-spinner-animation-speed: 1.5s}}:host ::ng-deep .spinner-border{animation:.75s linear infinite spinner-border}:host ::ng-deep .spinner-grow{animation:.75s linear infinite spinner-grow}\n"], dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsSpinnerComponent, isStandalone: true, selector: "bs-spinner", inputs: { type: "type", color: "color" }, ngImport: i0, template: "<div [class]=\"[spinnerClass$ | async, colorClass$ | async]\" role=\"status\">\n <span class=\"visually-hidden\">Loading...</span>\n</div>", styles: [":host ::ng-deep .spinner-grow,:host ::ng-deep .spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}:host ::ng-deep .spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}:host ::ng-deep .spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}:host ::ng-deep .spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}:host ::ng-deep .spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){:host ::ng-deep .spinner-border,:host ::ng-deep .spinner-grow{--bs-spinner-animation-speed: 1.5s}}:host ::ng-deep .spinner-border{animation:.75s linear infinite spinner-border}:host ::ng-deep .spinner-grow{animation:.75s linear infinite spinner-grow}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }] }); }
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSpinnerComponent, decorators: [{
36
36
  type: Component,
37
- args: [{ selector: 'bs-spinner', template: "<div [class]=\"[spinnerClass$ | async, colorClass$ | async]\" role=\"status\">\n <span class=\"visually-hidden\">Loading...</span>\n</div>", styles: [":host ::ng-deep .spinner-grow,:host ::ng-deep .spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}:host ::ng-deep .spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}:host ::ng-deep .spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}:host ::ng-deep .spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}:host ::ng-deep .spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){:host ::ng-deep .spinner-border,:host ::ng-deep .spinner-grow{--bs-spinner-animation-speed: 1.5s}}:host ::ng-deep .spinner-border{animation:.75s linear infinite spinner-border}:host ::ng-deep .spinner-grow{animation:.75s linear infinite spinner-grow}\n"] }]
37
+ args: [{ selector: 'bs-spinner', standalone: true, imports: [AsyncPipe], template: "<div [class]=\"[spinnerClass$ | async, colorClass$ | async]\" role=\"status\">\n <span class=\"visually-hidden\">Loading...</span>\n</div>", styles: [":host ::ng-deep .spinner-grow,:host ::ng-deep .spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}:host ::ng-deep .spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}:host ::ng-deep .spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}:host ::ng-deep .spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}:host ::ng-deep .spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){:host ::ng-deep .spinner-border,:host ::ng-deep .spinner-grow{--bs-spinner-animation-speed: 1.5s}}:host ::ng-deep .spinner-border{animation:.75s linear infinite spinner-border}:host ::ng-deep .spinner-grow{animation:.75s linear infinite spinner-grow}\n"] }]
38
38
  }], ctorParameters: () => [], propDecorators: { type: [{
39
39
  type: Input
40
40
  }], color: [{
41
41
  type: Input
42
42
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NwaW5uZXIvc3JjL3NwaW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGlubmVyL3NyYy9zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7O0FBT3hELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7UUFTQSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsY0FBYztRQUNkLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBb0IsUUFBUSxDQUFDLENBQUM7UUFPekQsWUFBWTtRQUNaLGVBQWU7UUFDZixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBdEI5QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFNRCxRQUFRLEtBQVUsQ0FBQztJQUluQixJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFvQixJQUFJLENBQUMsS0FBd0I7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUlELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQW9CLEtBQUssQ0FBQyxLQUFZO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBOUJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDRGQ1QvQiwrSUFFTTs7MkZET08sa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLFlBQVk7d0RBdUJGLElBQUk7c0JBQXZCLEtBQUs7Z0JBU2MsS0FBSztzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtc3Bpbm5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Bpbm5lci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCc1NwaW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNwaW5uZXJDbGFzcyQgPSB0aGlzLnR5cGUkXG4gICAgICAucGlwZShtYXAoKHR5cGUpID0+IGBzcGlubmVyLSR7dHlwZX1gKSk7XG4gICAgdGhpcy5jb2xvckNsYXNzJCA9IHRoaXMuY29sb3IkXG4gICAgICAucGlwZShtYXAoKHR5cGUpID0+IGB0ZXh0LSR7dGhpcy5jb2xvcnNbdHlwZV19YCkpO1xuICB9XG5cbiAgc3Bpbm5lckNsYXNzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBjb2xvckNsYXNzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBjb2xvcnMgPSBDb2xvcjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgLy8jcmVnaW9uIFR5cGVcbiAgdHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdib3JkZXInIHwgJ2dyb3cnPignYm9yZGVyJyk7XG4gIHB1YmxpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHR5cGUodmFsdWU6ICdib3JkZXInIHwgJ2dyb3cnKSB7XG4gICAgdGhpcy50eXBlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbiAgLy8jcmVnaW9uIENvbG9yXG4gIGNvbG9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29sb3I+KENvbG9yLmRhcmspO1xuICBwdWJsaWMgZ2V0IGNvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLmNvbG9yJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGNvbG9yKHZhbHVlOiBDb2xvcikge1xuICAgIHRoaXMuY29sb3IkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIiwiPGRpdiBbY2xhc3NdPVwiW3NwaW5uZXJDbGFzcyQgfCBhc3luYywgY29sb3JDbGFzcyQgfCBhc3luY11cIiByb2xlPVwic3RhdHVzXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5Mb2FkaW5nLi4uPC9zcGFuPlxuPC9kaXY+Il19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NwaW5uZXIvc3JjL3NwaW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGlubmVyL3NyYy9zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBU3hELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7UUFTQSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsY0FBYztRQUNkLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBb0IsUUFBUSxDQUFDLENBQUM7UUFPekQsWUFBWTtRQUNaLGVBQWU7UUFDZixXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBdEI5QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLO2FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFNRCxRQUFRLEtBQVUsQ0FBQztJQUluQixJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFvQixJQUFJLENBQUMsS0FBd0I7UUFDL0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUlELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQW9CLEtBQUssQ0FBQyxLQUFZO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBOUJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLGdIQ1ovQiwrSUFFTSxpZ0REUU0sU0FBUzs7MkZBRVIsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksY0FHVixJQUFJLFdBQ1AsQ0FBQyxTQUFTLENBQUM7d0RBcUJBLElBQUk7c0JBQXZCLEtBQUs7Z0JBU2MsS0FBSztzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbG9yIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXNwaW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NwaW5uZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgQnNTcGlubmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zcGlubmVyQ2xhc3MkID0gdGhpcy50eXBlJFxuICAgICAgLnBpcGUobWFwKCh0eXBlKSA9PiBgc3Bpbm5lci0ke3R5cGV9YCkpO1xuICAgIHRoaXMuY29sb3JDbGFzcyQgPSB0aGlzLmNvbG9yJFxuICAgICAgLnBpcGUobWFwKCh0eXBlKSA9PiBgdGV4dC0ke3RoaXMuY29sb3JzW3R5cGVdfWApKTtcbiAgfVxuXG4gIHNwaW5uZXJDbGFzcyQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgY29sb3JDbGFzcyQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgY29sb3JzID0gQ29sb3I7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIC8vI3JlZ2lvbiBUeXBlXG4gIHR5cGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDwnYm9yZGVyJyB8ICdncm93Jz4oJ2JvcmRlcicpO1xuICBwdWJsaWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCB0eXBlKHZhbHVlOiAnYm9yZGVyJyB8ICdncm93Jykge1xuICAgIHRoaXMudHlwZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG4gIC8vI3JlZ2lvbiBDb2xvclxuICBjb2xvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENvbG9yPihDb2xvci5kYXJrKTtcbiAgcHVibGljIGdldCBjb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5jb2xvciQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBjb2xvcih2YWx1ZTogQ29sb3IpIHtcbiAgICB0aGlzLmNvbG9yJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIltzcGlubmVyQ2xhc3MkIHwgYXN5bmMsIGNvbG9yQ2xhc3MkIHwgYXN5bmNdXCIgcm9sZT1cInN0YXR1c1wiPlxuICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+TG9hZGluZy4uLjwvc3Bhbj5cbjwvZGl2PiJdfQ==
@@ -1,3 +1,2 @@
1
- export * from './src/split-string.module';
2
1
  export * from './src/split-string.pipe';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NwbGl0LXN0cmluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9zcGxpdC1zdHJpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NwbGl0LXN0cmluZy5waXBlJztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NwbGl0LXN0cmluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvc3BsaXQtc3RyaW5nLnBpcGUnO1xuIl19
@@ -6,13 +6,14 @@ export class BsSplitStringPipe {
6
6
  .filter(line => !removeEmptyEntries || (line !== ''));
7
7
  }
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSplitStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSplitStringPipe, name: "bsSplitString" }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSplitStringPipe, isStandalone: true, name: "bsSplitString" }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSplitStringPipe, decorators: [{
12
12
  type: Pipe,
13
13
  args: [{
14
14
  name: 'bsSplitString',
15
- pure: true
15
+ pure: true,
16
+ standalone: true
16
17
  }]
17
18
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtc3RyaW5nLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NwbGl0LXN0cmluZy9zcmMvc3BsaXQtc3RyaW5nLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsU0FBUyxDQUFDLEtBQWEsRUFBRSxTQUFTLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixHQUFHLElBQUk7UUFDbEUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQzthQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0FKVSxpQkFBaUI7NEdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2JzU3BsaXRTdHJpbmcnLFxuICBwdXJlOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJzU3BsaXRTdHJpbmdQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBzZXBlcmF0b3IgPSAnXFxuJywgcmVtb3ZlRW1wdHlFbnRyaWVzID0gdHJ1ZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdmFsdWUuc3BsaXQoc2VwZXJhdG9yKVxuICAgICAgLmZpbHRlcihsaW5lID0+ICFyZW1vdmVFbXB0eUVudHJpZXMgfHwgKGxpbmUgIT09ICcnKSk7XG4gIH1cbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXQtc3RyaW5nLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NwbGl0LXN0cmluZy9zcmMvc3BsaXQtc3RyaW5nLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsU0FBUyxDQUFDLEtBQWEsRUFBRSxTQUFTLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixHQUFHLElBQUk7UUFDbEUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQzthQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0FKVSxpQkFBaUI7NEdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFMN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtvQkFDckIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdic1NwbGl0U3RyaW5nJyxcbiAgcHVyZTogdHJ1ZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCc1NwbGl0U3RyaW5nUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgc2VwZXJhdG9yID0gJ1xcbicsIHJlbW92ZUVtcHR5RW50cmllcyA9IHRydWUpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHZhbHVlLnNwbGl0KHNlcGVyYXRvcilcbiAgICAgIC5maWx0ZXIobGluZSA9PiAhcmVtb3ZlRW1wdHlFbnRyaWVzIHx8IChsaW5lICE9PSAnJykpO1xuICB9XG59XG4iXX0=
@@ -3,10 +3,10 @@ import { BehaviorSubject, map, combineLatest, take } from 'rxjs';
3
3
  import { EDragOperation } from '../interfaces/drag-operation';
4
4
  import { BsSplitPanelComponent } from '../split-panel/split-panel.component';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/cdk/portal";
8
- import * as i3 from "@mintplayer/ng-bootstrap/let";
9
- import * as i4 from "@mintplayer/ng-bootstrap/user-agent";
6
+ import * as i1 from "@angular/cdk/portal";
7
+ import * as i2 from "@mintplayer/ng-bootstrap/let";
8
+ import * as i3 from "@mintplayer/ng-bootstrap/user-agent";
9
+ import * as i4 from "@angular/common";
10
10
  import * as i5 from "../element-at/element-at.pipe";
11
11
  export class BsSplitterComponent {
12
12
  constructor() {
@@ -174,11 +174,11 @@ export class BsSplitterComponent {
174
174
  this.operation = null;
175
175
  }
176
176
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSplitterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsSplitterComponent, selector: "bs-splitter", inputs: { orientation: "orientation" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.w-100": "this.classes", "class.h-100": "this.classes", "class.d-flex": "this.classes" } }, queries: [{ propertyName: "panels", predicate: BsSplitPanelComponent }], viewQueries: [{ propertyName: "splitPanels", predicate: ["splitPanel"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex w-100 root\" [class]=\"[directionClass$ | async, splitterClass$ | async]\" bsUserAgent>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" bsUserAgent [class.hover]=\"(touchedDivider$ | async) === divider\" #divider (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1, divider)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>", styles: [".root{--thumb-margin: 3px}.root.os-android{--thumb-margin: 20px}.split-panel{flex-grow:1}.divider{flex-shrink:0;transition:background-color .15s ease-in-out;z-index:3}.divider:before{background-position:center center;background-repeat:no-repeat}.divider:not(.os-android):hover:before{background-color:#1389fd;border-radius:4px}.divider.os-android.hover:before{background-color:#1389fd;border-radius:4px}.divider:before{content:\"\";display:block;background-color:#eee}.split-hor>.divider{width:calc(8px + 2 * var(--thumb-margin));height:100%;cursor:col-resize;border-left:var(--thumb-margin) solid transparent;border-right:var(--thumb-margin) solid transparent}.split-hor>.divider:before{height:100%;width:8px;margin:0 auto;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-hor>.split-panel:not(:first-child){margin-left:calc(-1 * var(--thumb-margin))}.split-hor>.split-panel:not(:last-child){margin-right:calc(-1 * var(--thumb-margin))}.split-ver>.divider{width:100%;height:calc(8px + 2 * var(--thumb-margin));cursor:row-resize;border-top:var(--thumb-margin) solid transparent;border-bottom:var(--thumb-margin) solid transparent}.split-ver>.divider:before{height:8px;margin:auto 0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.split-ver>.split-panel:not(:first-child){margin-top:calc(-1 * var(--thumb-margin))}.split-ver>.split-panel:not(:last-child){margin-bottom:calc(-1 * var(--thumb-margin))}.flex-none{flex:none}\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: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i3.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i4.BsUserAgentDirective, selector: "[bsUserAgent]", outputs: ["detected"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BsElementAtPipe, name: "bsElementAt" }] }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.1", type: BsSplitterComponent, selector: "bs-splitter", inputs: { orientation: "orientation" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)" }, properties: { "class.w-100": "this.classes", "class.h-100": "this.classes", "class.d-flex": "this.classes" } }, queries: [{ propertyName: "panels", predicate: BsSplitPanelComponent }], viewQueries: [{ propertyName: "splitPanels", predicate: ["splitPanel"], descendants: true }], ngImport: i0, template: "<div class=\"d-flex w-100 root\" [class]=\"[directionClass$ | async, splitterClass$ | async]\" bsUserAgent>\n <ng-content></ng-content>\n @for (panel of (panels$ | async); let index = $index; let last = $last; track panel) {\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n @if (!last) {\n <div class=\"divider\" bsUserAgent [class.hover]=\"(touchedDivider$ | async) === divider\" #divider (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1, divider)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\"></div>\n }\n }\n</div>", styles: [".root{--thumb-margin: 3px}.root.os-android{--thumb-margin: 20px}.split-panel{flex-grow:1}.divider{flex-shrink:0;transition:background-color .15s ease-in-out;z-index:3}.divider:before{background-position:center center;background-repeat:no-repeat}.divider:not(.os-android):hover:before{background-color:#1389fd;border-radius:4px}.divider.os-android.hover:before{background-color:#1389fd;border-radius:4px}.divider:before{content:\"\";display:block;background-color:#eee}.split-hor>.divider{width:calc(8px + 2 * var(--thumb-margin));height:100%;cursor:col-resize;border-left:var(--thumb-margin) solid transparent;border-right:var(--thumb-margin) solid transparent}.split-hor>.divider:before{height:100%;width:8px;margin:0 auto;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-hor>.split-panel:not(:first-child){margin-left:calc(-1 * var(--thumb-margin))}.split-hor>.split-panel:not(:last-child){margin-right:calc(-1 * var(--thumb-margin))}.split-ver>.divider{width:100%;height:calc(8px + 2 * var(--thumb-margin));cursor:row-resize;border-top:var(--thumb-margin) solid transparent;border-bottom:var(--thumb-margin) solid transparent}.split-ver>.divider:before{height:8px;margin:auto 0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.split-ver>.split-panel:not(:first-child){margin-top:calc(-1 * var(--thumb-margin))}.split-ver>.split-panel:not(:last-child){margin-bottom:calc(-1 * var(--thumb-margin))}.flex-none{flex:none}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i2.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i3.BsUserAgentDirective, selector: "[bsUserAgent]", outputs: ["detected"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BsElementAtPipe, name: "bsElementAt" }] }); }
178
178
  }
179
179
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSplitterComponent, decorators: [{
180
180
  type: Component,
181
- args: [{ selector: 'bs-splitter', template: "<div class=\"d-flex w-100 root\" [class]=\"[directionClass$ | async, splitterClass$ | async]\" bsUserAgent>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let panel of (panels$ | async); let index = index; let last = last\">\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n <div class=\"divider\" bsUserAgent [class.hover]=\"(touchedDivider$ | async) === divider\" #divider (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1, divider)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\" *ngIf=\"!last\"></div>\n </ng-container>\n</div>", styles: [".root{--thumb-margin: 3px}.root.os-android{--thumb-margin: 20px}.split-panel{flex-grow:1}.divider{flex-shrink:0;transition:background-color .15s ease-in-out;z-index:3}.divider:before{background-position:center center;background-repeat:no-repeat}.divider:not(.os-android):hover:before{background-color:#1389fd;border-radius:4px}.divider.os-android.hover:before{background-color:#1389fd;border-radius:4px}.divider:before{content:\"\";display:block;background-color:#eee}.split-hor>.divider{width:calc(8px + 2 * var(--thumb-margin));height:100%;cursor:col-resize;border-left:var(--thumb-margin) solid transparent;border-right:var(--thumb-margin) solid transparent}.split-hor>.divider:before{height:100%;width:8px;margin:0 auto;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-hor>.split-panel:not(:first-child){margin-left:calc(-1 * var(--thumb-margin))}.split-hor>.split-panel:not(:last-child){margin-right:calc(-1 * var(--thumb-margin))}.split-ver>.divider{width:100%;height:calc(8px + 2 * var(--thumb-margin));cursor:row-resize;border-top:var(--thumb-margin) solid transparent;border-bottom:var(--thumb-margin) solid transparent}.split-ver>.divider:before{height:8px;margin:auto 0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.split-ver>.split-panel:not(:first-child){margin-top:calc(-1 * var(--thumb-margin))}.split-ver>.split-panel:not(:last-child){margin-bottom:calc(-1 * var(--thumb-margin))}.flex-none{flex:none}\n"] }]
181
+ args: [{ selector: 'bs-splitter', template: "<div class=\"d-flex w-100 root\" [class]=\"[directionClass$ | async, splitterClass$ | async]\" bsUserAgent>\n <ng-content></ng-content>\n @for (panel of (panels$ | async); let index = $index; let last = $last; track panel) {\n <ng-container *bsLet=\"(widthStyles$ | async) as widthStyles\">\n <ng-container *bsLet=\"(heightStyles$ | async) as heightStyles\">\n <!-- [style.width.%]=\"100\" [style.height.%]=\"100\" -->\n <div class=\"split-panel overflow-hidden\" [class.flex-none]=\"isResizing$ | async\" #splitPanel [style.width]=\"widthStyles | bsElementAt:index\" [style.height]=\"heightStyles | bsElementAt:index\">\n <ng-template [cdkPortalOutlet]=\"panel.portal\"></ng-template>\n </div>\n </ng-container>\n </ng-container>\n @if (!last) {\n <div class=\"divider\" bsUserAgent [class.hover]=\"(touchedDivider$ | async) === divider\" #divider (mousedown)=\"startResizeMouse($event, index, index + 1)\" (touchstart)=\"startResizeTouch($event, index, index + 1, divider)\" (touchmove)=\"onTouchMove($event)\" (touchend)=\"onTouchEnd($event)\"></div>\n }\n }\n</div>", styles: [".root{--thumb-margin: 3px}.root.os-android{--thumb-margin: 20px}.split-panel{flex-grow:1}.divider{flex-shrink:0;transition:background-color .15s ease-in-out;z-index:3}.divider:before{background-position:center center;background-repeat:no-repeat}.divider:not(.os-android):hover:before{background-color:#1389fd;border-radius:4px}.divider.os-android.hover:before{background-color:#1389fd;border-radius:4px}.divider:before{content:\"\";display:block;background-color:#eee}.split-hor>.divider{width:calc(8px + 2 * var(--thumb-margin));height:100%;cursor:col-resize;border-left:var(--thumb-margin) solid transparent;border-right:var(--thumb-margin) solid transparent}.split-hor>.divider:before{height:100%;width:8px;margin:0 auto;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.split-hor>.split-panel:not(:first-child){margin-left:calc(-1 * var(--thumb-margin))}.split-hor>.split-panel:not(:last-child){margin-right:calc(-1 * var(--thumb-margin))}.split-ver>.divider{width:100%;height:calc(8px + 2 * var(--thumb-margin));cursor:row-resize;border-top:var(--thumb-margin) solid transparent;border-bottom:var(--thumb-margin) solid transparent}.split-ver>.divider:before{height:8px;margin:auto 0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFCAMAAABl/6zIAAAABlBMVEUAAADMzMzIT8AyAAAAAXRSTlMAQObYZgAAABRJREFUeAFjYGRkwIMJSeMHlBkOABP7AEGzSuPKAAAAAElFTkSuQmCC)}.split-ver>.split-panel:not(:first-child){margin-top:calc(-1 * var(--thumb-margin))}.split-ver>.split-panel:not(:last-child){margin-bottom:calc(-1 * var(--thumb-margin))}.flex-none{flex:none}\n"] }]
182
182
  }], ctorParameters: () => [], propDecorators: { orientation: [{
183
183
  type: Input
184
184
  }], panels: [{
@@ -203,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
203
203
  type: HostListener,
204
204
  args: ['document:mouseup', ['$event']]
205
205
  }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBaUIsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QjtRQXFEQSxxQkFBcUI7UUFDckIsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBWSxZQUFZLENBQUMsQ0FBQztRQU81RCxZQUFZO1FBRVosa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsSUFBSSxDQUFDLENBQUM7UUFFM0QsWUFBTyxHQUFHLElBQUksZUFBZSxDQUEwQixFQUFFLENBQUMsQ0FBQztRQVMzRCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBTWYsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUF3QixJQUFJLENBQUMsQ0FBQztRQUNuRSxjQUFTLEdBQXlCLElBQUksQ0FBQztRQWpG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QyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3Q0FDckQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dDQUM1QyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQzt3Q0FDM0YsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7d0NBQ3pGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dDQUM1QixNQUFNO29DQUNSLEtBQUssVUFBVTt3Q0FDYixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3Q0FDckQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dDQUM1QyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQzt3Q0FDM0YsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7d0NBQ3pGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dDQUM1QixNQUFNO2dDQUNWLENBQUM7NEJBQ0gsQ0FBQzt3QkFDTCxDQUFDLENBQUMsQ0FBQTtvQkFDSixDQUFDO29CQUFDLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFHRCxTQUFTLENBQUMsRUFBYztRQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFjO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7OEdBeExVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLCtVQW9FYixxQkFBcUIsMkhDaEZ4QyxvckNBYU07OzJGRERPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO3dEQWdFSCxXQUFXO3NCQUE5QixLQUFLO2dCQVFzQyxNQUFNO3NCQUFqRCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFHVixXQUFXO3NCQUF0QyxZQUFZO3VCQUFDLFlBQVk7Z0JBSzFCLE9BQU87c0JBSE4sV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsV0FBVzt1QkFBQyxjQUFjO2dCQXlEM0IsV0FBVztzQkFEVixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXlDOUMsU0FBUztzQkFEUixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyYWdPcGVyYXRpb24sIEVEcmFnT3BlcmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kcmFnLW9wZXJhdGlvbic7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgQnNTcGxpdFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vc3BsaXQtcGFuZWwvc3BsaXQtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJy4uL3R5cGVzL2RpcmVjdGlvbi50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtc3BsaXR0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGxpdHRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCc1NwbGl0dGVyQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRpcmVjdGlvbkNsYXNzJCA9IHRoaXMub3JpZW50YXRpb24kLnBpcGUobWFwKChvcmllbnRhdGlvbikgPT4ge1xuICAgICAgc3dpdGNoIChvcmllbnRhdGlvbikge1xuICAgICAgICBjYXNlICdob3Jpem9udGFsJzogcmV0dXJuICdmbGV4LXJvdyc7XG4gICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzogcmV0dXJuICdmbGV4LWNvbHVtbic7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMuc3BsaXR0ZXJDbGFzcyQgPSB0aGlzLm9yaWVudGF0aW9uJC5waXBlKG1hcCgob3JpZW50YXRpb24pID0+IHtcbiAgICAgIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6IHJldHVybiAnc3BsaXQtaG9yJztcbiAgICAgICAgY2FzZSAndmVydGljYWwnOiByZXR1cm4gJ3NwbGl0LXZlcic7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMud2lkdGhTdHlsZXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5vcmllbnRhdGlvbiQsIHRoaXMucHJldmlld1NpemVzJCwgdGhpcy5wYW5lbHMkXSlcbiAgICAgIC5waXBlKG1hcCgoW29yaWVudGF0aW9uLCBwcmV2aWV3U2l6ZXMsIHBhbmVsc10pID0+IHtcbiAgICAgICAgc3dpdGNoIChvcmllbnRhdGlvbikge1xuICAgICAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICAgICAgaWYgKHByZXZpZXdTaXplcykge1xuICAgICAgICAgICAgICByZXR1cm4gWy4uLkFycmF5KHBhbmVscy5sZW5ndGgpLmtleXMoKV0ubWFwKCh2LCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPCBwcmV2aWV3U2l6ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlld1NpemVzW2ldICsgJ3B4JztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuICcxMDAlJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIEFycmF5KHBhbmVscy5sZW5ndGgpLm1hcCgodiwgaSkgPT4gJzEwMCUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuICAgIHRoaXMuaGVpZ2h0U3R5bGVzJCA9ICBjb21iaW5lTGF0ZXN0KFt0aGlzLm9yaWVudGF0aW9uJCwgdGhpcy5wcmV2aWV3U2l6ZXMkLCB0aGlzLnBhbmVscyRdKVxuICAgICAgLnBpcGUobWFwKChbb3JpZW50YXRpb24sIHByZXZpZXdTaXplcywgcGFuZWxzXSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7XG4gICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgICAgICBpZiAocHJldmlld1NpemVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbLi4uQXJyYXkocGFuZWxzLmxlbmd0aCkua2V5cygpXS5tYXAoKHYsIGkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaSA8IHByZXZpZXdTaXplcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aWV3U2l6ZXNbaV0gKyAncHgnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gJzEwMCUnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gQXJyYXkocGFuZWxzLmxlbmd0aCkubWFwKCh2LCBpKSA9PiAnMTAwJScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSk7XG4gIH1cblxuICAvLyNyZWdpb24gT3JpZW50YXRpb25cbiAgb3JpZW50YXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaXJlY3Rpb24+KCdob3Jpem9udGFsJyk7XG4gIHB1YmxpYyBnZXQgb3JpZW50YXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24kLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgb3JpZW50YXRpb24odmFsdWU6IERpcmVjdGlvbikge1xuICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIHByZXZpZXdTaXplcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcltdIHwgbnVsbD4obnVsbCk7XG5cbiAgcGFuZWxzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNTcGxpdFBhbmVsQ29tcG9uZW50W10+KFtdKTtcbiAgQENvbnRlbnRDaGlsZHJlbihCc1NwbGl0UGFuZWxDb21wb25lbnQpIHNldCBwYW5lbHModmFsdWU6IFF1ZXJ5TGlzdDxCc1NwbGl0UGFuZWxDb21wb25lbnQ+KSB7XG4gICAgdGhpcy5wYW5lbHMkLm5leHQodmFsdWUudG9BcnJheSgpKTtcbiAgfVxuICBAVmlld0NoaWxkcmVuKCdzcGxpdFBhbmVsJykgc3BsaXRQYW5lbHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+O1xuICBcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy53LTEwMCcpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaC0xMDAnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtZmxleCcpXG4gIGNsYXNzZXMgPSB0cnVlO1xuXG4gIGRpcmVjdGlvbkNsYXNzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBzcGxpdHRlckNsYXNzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICB3aWR0aFN0eWxlcyQ6IE9ic2VydmFibGU8c3RyaW5nW10gfCBudWxsPjtcbiAgaGVpZ2h0U3R5bGVzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IG51bGw+O1xuICBpc1Jlc2l6aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICB0b3VjaGVkRGl2aWRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIG9wZXJhdGlvbjogRHJhZ09wZXJhdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbXB1dGVTaXplcygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IHNpemVzID0gdGhpcy5zcGxpdFBhbmVsc1xuICAgICAgICAubWFwKChzcCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNwLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIHN3aXRjaCAodGhpcy5vcmllbnRhdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6IHJldHVybiBzdHlsZXMud2lkdGg7XG4gICAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6IHJldHVybiBzdHlsZXMuaGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoc2l6ZSkgPT4gc2l6ZS5zbGljZSgwLCAtMikpXG4gICAgICAgIC5tYXAoKHNpemUpID0+IHBhcnNlRmxvYXQoc2l6ZSkpO1xuICAgICAgcmV0dXJuIHNpemVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zcGxpdFBhbmVscy5tYXAocCA9PiA1MCk7XG4gICAgfVxuICB9XG4gIFxuICBzdGFydFJlc2l6ZU1vdXNlKGV2OiBNb3VzZUV2ZW50LCBpbmRleEJlZm9yZTogbnVtYmVyLCBpbmRleEFmdGVyOiBudW1iZXIpIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RhcnRSZXNpemUoaW5kZXhCZWZvcmUsIGluZGV4QWZ0ZXIsIHsgeDogZXYuY2xpZW50WCwgeTogZXYuY2xpZW50WSB9KTtcbiAgfVxuXG4gIHN0YXJ0UmVzaXplVG91Y2goZXY6IFRvdWNoRXZlbnQsIGluZGV4QmVmb3JlOiBudW1iZXIsIGluZGV4QWZ0ZXI6IG51bWJlciwgZGl2aWRlcjogSFRNTERpdkVsZW1lbnQpIHtcbiAgICBpZiAoZXYuY2FuY2VsYWJsZSkge1xuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMudG91Y2hlZERpdmlkZXIkLm5leHQoZGl2aWRlcik7XG4gICAgICB0aGlzLnN0YXJ0UmVzaXplKGluZGV4QmVmb3JlLCBpbmRleEFmdGVyLCB7IHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCwgeTogZXYudG91Y2hlc1swXS5jbGllbnRZIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRSZXNpemUoaW5kZXhCZWZvcmU6IG51bWJlciwgaW5kZXhBZnRlcjogbnVtYmVyLCBwdDogUG9pbnQpIHtcbiAgICBjb25zdCBzaXplcyA9IHRoaXMuY29tcHV0ZVNpemVzKCk7XG4gICAgdGhpcy5wcmV2aWV3U2l6ZXMkLm5leHQoc2l6ZXMpO1xuICAgIHRoaXMub3BlcmF0aW9uID0ge1xuICAgICAgb3BlcmF0aW9uOiBFRHJhZ09wZXJhdGlvbi5yZXNpemVTcGxpdHRlcixcbiAgICAgIHN0YXJ0UG9zaXRpb246IHB0LFxuICAgICAgc2l6ZXMsXG4gICAgICBpbmRleEJlZm9yZSxcbiAgICAgIGluZGV4QWZ0ZXIsXG4gICAgfTtcblxuICAgIHRoaXMuaXNSZXNpemluZyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VNb3ZlKGV2OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5vblJlc2l6ZU1vdmUoeyB4OiBldi5jbGllbnRYLCB5OiBldi5jbGllbnRZIH0pO1xuICB9XG5cbiAgb25Ub3VjaE1vdmUoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzaXplTW92ZSh7IHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCwgeTogZXYudG91Y2hlc1swXS5jbGllbnRZIH0pO1xuICB9XG5cbiAgb25SZXNpemVNb3ZlKHB0OiBQb2ludCkge1xuICAgIGlmICh0aGlzLm9wZXJhdGlvbikge1xuICAgICAgc3dpdGNoICh0aGlzLm9wZXJhdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgY2FzZSBFRHJhZ09wZXJhdGlvbi5yZXNpemVTcGxpdHRlcjoge1xuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMub3JpZW50YXRpb24kXSlcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbb3JpZW50YXRpb25dKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLm9wZXJhdGlvbikge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWx0YVggPSBwdC54IC0gdGhpcy5vcGVyYXRpb24uc3RhcnRQb3NpdGlvbi54O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzeCA9IEFycmF5LmZyb20odGhpcy5vcGVyYXRpb24uc2l6ZXMpO1xuICAgICAgICAgICAgICAgICAgICBzeFt0aGlzLm9wZXJhdGlvbi5pbmRleEJlZm9yZV0gPSB0aGlzLm9wZXJhdGlvbi5zaXplc1t0aGlzLm9wZXJhdGlvbi5pbmRleEJlZm9yZV0gKyBkZWx0YVg7XG4gICAgICAgICAgICAgICAgICAgIHN4W3RoaXMub3BlcmF0aW9uLmluZGV4QWZ0ZXJdID0gdGhpcy5vcGVyYXRpb24uc2l6ZXNbdGhpcy5vcGVyYXRpb24uaW5kZXhBZnRlcl0gLSBkZWx0YVg7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJldmlld1NpemVzJC5uZXh0KHN4KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhWSA9IHB0LnkgLSB0aGlzLm9wZXJhdGlvbi5zdGFydFBvc2l0aW9uLnk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN5ID0gQXJyYXkuZnJvbSh0aGlzLm9wZXJhdGlvbi5zaXplcyk7XG4gICAgICAgICAgICAgICAgICAgIHN5W3RoaXMub3BlcmF0aW9uLmluZGV4QmVmb3JlXSA9IHRoaXMub3BlcmF0aW9uLnNpemVzW3RoaXMub3BlcmF0aW9uLmluZGV4QmVmb3JlXSArIGRlbHRhWTtcbiAgICAgICAgICAgICAgICAgICAgc3lbdGhpcy5vcGVyYXRpb24uaW5kZXhBZnRlcl0gPSB0aGlzLm9wZXJhdGlvbi5zaXplc1t0aGlzLm9wZXJhdGlvbi5pbmRleEFmdGVyXSAtIGRlbHRhWTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3U2l6ZXMkLm5leHQoc3kpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9IGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxuICBvbk1vdXNlVXAoZXY6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzaXplVXAoKTtcbiAgfVxuXG4gIG9uVG91Y2hFbmQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLnRvdWNoZWREaXZpZGVyJC5uZXh0KG51bGwpO1xuICAgIHRoaXMub25SZXNpemVVcCgpO1xuICB9XG5cbiAgb25SZXNpemVVcCgpIHtcbiAgICB0aGlzLmlzUmVzaXppbmckLm5leHQoZmFsc2UpO1xuICAgIHRoaXMub3BlcmF0aW9uID0gbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCB3LTEwMCByb290XCIgW2NsYXNzXT1cIltkaXJlY3Rpb25DbGFzcyQgfCBhc3luYywgc3BsaXR0ZXJDbGFzcyQgfCBhc3luY11cIiBic1VzZXJBZ2VudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcGFuZWwgb2YgKHBhbmVscyQgfCBhc3luYyk7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIod2lkdGhTdHlsZXMkIHwgYXN5bmMpIGFzIHdpZHRoU3R5bGVzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihoZWlnaHRTdHlsZXMkIHwgYXN5bmMpIGFzIGhlaWdodFN0eWxlc1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gIFtzdHlsZS53aWR0aC4lXT1cIjEwMFwiIFtzdHlsZS5oZWlnaHQuJV09XCIxMDBcIiAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BsaXQtcGFuZWwgb3ZlcmZsb3ctaGlkZGVuXCIgW2NsYXNzLmZsZXgtbm9uZV09XCJpc1Jlc2l6aW5nJCB8IGFzeW5jXCIgI3NwbGl0UGFuZWwgW3N0eWxlLndpZHRoXT1cIndpZHRoU3R5bGVzIHwgYnNFbGVtZW50QXQ6aW5kZXhcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFN0eWxlcyB8IGJzRWxlbWVudEF0OmluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBhbmVsLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCIgYnNVc2VyQWdlbnQgW2NsYXNzLmhvdmVyXT1cIih0b3VjaGVkRGl2aWRlciQgfCBhc3luYykgPT09IGRpdmlkZXJcIiAjZGl2aWRlciAobW91c2Vkb3duKT1cInN0YXJ0UmVzaXplTW91c2UoJGV2ZW50LCBpbmRleCwgaW5kZXggKyAxKVwiICh0b3VjaHN0YXJ0KT1cInN0YXJ0UmVzaXplVG91Y2goJGV2ZW50LCBpbmRleCwgaW5kZXggKyAxLCBkaXZpZGVyKVwiICh0b3VjaG1vdmUpPVwib25Ub3VjaE1vdmUoJGV2ZW50KVwiICh0b3VjaGVuZCk9XCJvblRvdWNoRW5kKCRldmVudClcIiAqbmdJZj1cIiFsYXN0XCI+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBaUIsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QjtRQXFEQSxxQkFBcUI7UUFDckIsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBWSxZQUFZLENBQUMsQ0FBQztRQU81RCxZQUFZO1FBRVosa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBa0IsSUFBSSxDQUFDLENBQUM7UUFFM0QsWUFBTyxHQUFHLElBQUksZUFBZSxDQUEwQixFQUFFLENBQUMsQ0FBQztRQVMzRCxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBTWYsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUF3QixJQUFJLENBQUMsQ0FBQztRQUNuRSxjQUFTLEdBQXlCLElBQUksQ0FBQztRQWpG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QyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3Q0FDckQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dDQUM1QyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQzt3Q0FDM0YsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7d0NBQ3pGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dDQUM1QixNQUFNO29DQUNSLEtBQUssVUFBVTt3Q0FDYixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3Q0FDckQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dDQUM1QyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQzt3Q0FDM0YsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7d0NBQ3pGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dDQUM1QixNQUFNO2dDQUNWLENBQUM7NEJBQ0gsQ0FBQzt3QkFDTCxDQUFDLENBQUMsQ0FBQTtvQkFDSixDQUFDO29CQUFDLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFHRCxTQUFTLENBQUMsRUFBYztRQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFjO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7OEdBeExVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLCtVQW9FYixxQkFBcUIsMkhDaEZ4QyxzckNBZU07OzJGREhPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO3dEQWdFSCxXQUFXO3NCQUE5QixLQUFLO2dCQVFzQyxNQUFNO3NCQUFqRCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFHVixXQUFXO3NCQUF0QyxZQUFZO3VCQUFDLFlBQVk7Z0JBSzFCLE9BQU87c0JBSE4sV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsV0FBVzt1QkFBQyxhQUFhOztzQkFDekIsV0FBVzt1QkFBQyxjQUFjO2dCQXlEM0IsV0FBVztzQkFEVixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXlDOUMsU0FBUztzQkFEUixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyYWdPcGVyYXRpb24sIEVEcmFnT3BlcmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kcmFnLW9wZXJhdGlvbic7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQnO1xuaW1wb3J0IHsgQnNTcGxpdFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vc3BsaXQtcGFuZWwvc3BsaXQtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJy4uL3R5cGVzL2RpcmVjdGlvbi50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtc3BsaXR0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGxpdHRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCc1NwbGl0dGVyQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRpcmVjdGlvbkNsYXNzJCA9IHRoaXMub3JpZW50YXRpb24kLnBpcGUobWFwKChvcmllbnRhdGlvbikgPT4ge1xuICAgICAgc3dpdGNoIChvcmllbnRhdGlvbikge1xuICAgICAgICBjYXNlICdob3Jpem9udGFsJzogcmV0dXJuICdmbGV4LXJvdyc7XG4gICAgICAgIGNhc2UgJ3ZlcnRpY2FsJzogcmV0dXJuICdmbGV4LWNvbHVtbic7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMuc3BsaXR0ZXJDbGFzcyQgPSB0aGlzLm9yaWVudGF0aW9uJC5waXBlKG1hcCgob3JpZW50YXRpb24pID0+IHtcbiAgICAgIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6IHJldHVybiAnc3BsaXQtaG9yJztcbiAgICAgICAgY2FzZSAndmVydGljYWwnOiByZXR1cm4gJ3NwbGl0LXZlcic7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHRoaXMud2lkdGhTdHlsZXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5vcmllbnRhdGlvbiQsIHRoaXMucHJldmlld1NpemVzJCwgdGhpcy5wYW5lbHMkXSlcbiAgICAgIC5waXBlKG1hcCgoW29yaWVudGF0aW9uLCBwcmV2aWV3U2l6ZXMsIHBhbmVsc10pID0+IHtcbiAgICAgICAgc3dpdGNoIChvcmllbnRhdGlvbikge1xuICAgICAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICAgICAgaWYgKHByZXZpZXdTaXplcykge1xuICAgICAgICAgICAgICByZXR1cm4gWy4uLkFycmF5KHBhbmVscy5sZW5ndGgpLmtleXMoKV0ubWFwKCh2LCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPCBwcmV2aWV3U2l6ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlld1NpemVzW2ldICsgJ3B4JztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuICcxMDAlJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIEFycmF5KHBhbmVscy5sZW5ndGgpLm1hcCgodiwgaSkgPT4gJzEwMCUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuICAgIHRoaXMuaGVpZ2h0U3R5bGVzJCA9ICBjb21iaW5lTGF0ZXN0KFt0aGlzLm9yaWVudGF0aW9uJCwgdGhpcy5wcmV2aWV3U2l6ZXMkLCB0aGlzLnBhbmVscyRdKVxuICAgICAgLnBpcGUobWFwKChbb3JpZW50YXRpb24sIHByZXZpZXdTaXplcywgcGFuZWxzXSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7XG4gICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgICAgICBpZiAocHJldmlld1NpemVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbLi4uQXJyYXkocGFuZWxzLmxlbmd0aCkua2V5cygpXS5tYXAoKHYsIGkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaSA8IHByZXZpZXdTaXplcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aWV3U2l6ZXNbaV0gKyAncHgnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gJzEwMCUnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gQXJyYXkocGFuZWxzLmxlbmd0aCkubWFwKCh2LCBpKSA9PiAnMTAwJScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSk7XG4gIH1cblxuICAvLyNyZWdpb24gT3JpZW50YXRpb25cbiAgb3JpZW50YXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaXJlY3Rpb24+KCdob3Jpem9udGFsJyk7XG4gIHB1YmxpYyBnZXQgb3JpZW50YXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24kLnZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgb3JpZW50YXRpb24odmFsdWU6IERpcmVjdGlvbikge1xuICAgIHRoaXMub3JpZW50YXRpb24kLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIHByZXZpZXdTaXplcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcltdIHwgbnVsbD4obnVsbCk7XG5cbiAgcGFuZWxzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnNTcGxpdFBhbmVsQ29tcG9uZW50W10+KFtdKTtcbiAgQENvbnRlbnRDaGlsZHJlbihCc1NwbGl0UGFuZWxDb21wb25lbnQpIHNldCBwYW5lbHModmFsdWU6IFF1ZXJ5TGlzdDxCc1NwbGl0UGFuZWxDb21wb25lbnQ+KSB7XG4gICAgdGhpcy5wYW5lbHMkLm5leHQodmFsdWUudG9BcnJheSgpKTtcbiAgfVxuICBAVmlld0NoaWxkcmVuKCdzcGxpdFBhbmVsJykgc3BsaXRQYW5lbHMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+O1xuICBcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy53LTEwMCcpXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaC0xMDAnKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtZmxleCcpXG4gIGNsYXNzZXMgPSB0cnVlO1xuXG4gIGRpcmVjdGlvbkNsYXNzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBzcGxpdHRlckNsYXNzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICB3aWR0aFN0eWxlcyQ6IE9ic2VydmFibGU8c3RyaW5nW10gfCBudWxsPjtcbiAgaGVpZ2h0U3R5bGVzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXSB8IG51bGw+O1xuICBpc1Jlc2l6aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICB0b3VjaGVkRGl2aWRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIG9wZXJhdGlvbjogRHJhZ09wZXJhdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbXB1dGVTaXplcygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IHNpemVzID0gdGhpcy5zcGxpdFBhbmVsc1xuICAgICAgICAubWFwKChzcCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNwLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIHN3aXRjaCAodGhpcy5vcmllbnRhdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnaG9yaXpvbnRhbCc6IHJldHVybiBzdHlsZXMud2lkdGg7XG4gICAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6IHJldHVybiBzdHlsZXMuaGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLm1hcCgoc2l6ZSkgPT4gc2l6ZS5zbGljZSgwLCAtMikpXG4gICAgICAgIC5tYXAoKHNpemUpID0+IHBhcnNlRmxvYXQoc2l6ZSkpO1xuICAgICAgcmV0dXJuIHNpemVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zcGxpdFBhbmVscy5tYXAocCA9PiA1MCk7XG4gICAgfVxuICB9XG4gIFxuICBzdGFydFJlc2l6ZU1vdXNlKGV2OiBNb3VzZUV2ZW50LCBpbmRleEJlZm9yZTogbnVtYmVyLCBpbmRleEFmdGVyOiBudW1iZXIpIHtcbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuc3RhcnRSZXNpemUoaW5kZXhCZWZvcmUsIGluZGV4QWZ0ZXIsIHsgeDogZXYuY2xpZW50WCwgeTogZXYuY2xpZW50WSB9KTtcbiAgfVxuXG4gIHN0YXJ0UmVzaXplVG91Y2goZXY6IFRvdWNoRXZlbnQsIGluZGV4QmVmb3JlOiBudW1iZXIsIGluZGV4QWZ0ZXI6IG51bWJlciwgZGl2aWRlcjogSFRNTERpdkVsZW1lbnQpIHtcbiAgICBpZiAoZXYuY2FuY2VsYWJsZSkge1xuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMudG91Y2hlZERpdmlkZXIkLm5leHQoZGl2aWRlcik7XG4gICAgICB0aGlzLnN0YXJ0UmVzaXplKGluZGV4QmVmb3JlLCBpbmRleEFmdGVyLCB7IHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCwgeTogZXYudG91Y2hlc1swXS5jbGllbnRZIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRSZXNpemUoaW5kZXhCZWZvcmU6IG51bWJlciwgaW5kZXhBZnRlcjogbnVtYmVyLCBwdDogUG9pbnQpIHtcbiAgICBjb25zdCBzaXplcyA9IHRoaXMuY29tcHV0ZVNpemVzKCk7XG4gICAgdGhpcy5wcmV2aWV3U2l6ZXMkLm5leHQoc2l6ZXMpO1xuICAgIHRoaXMub3BlcmF0aW9uID0ge1xuICAgICAgb3BlcmF0aW9uOiBFRHJhZ09wZXJhdGlvbi5yZXNpemVTcGxpdHRlcixcbiAgICAgIHN0YXJ0UG9zaXRpb246IHB0LFxuICAgICAgc2l6ZXMsXG4gICAgICBpbmRleEJlZm9yZSxcbiAgICAgIGluZGV4QWZ0ZXIsXG4gICAgfTtcblxuICAgIHRoaXMuaXNSZXNpemluZyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VNb3ZlKGV2OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5vblJlc2l6ZU1vdmUoeyB4OiBldi5jbGllbnRYLCB5OiBldi5jbGllbnRZIH0pO1xuICB9XG5cbiAgb25Ub3VjaE1vdmUoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzaXplTW92ZSh7IHg6IGV2LnRvdWNoZXNbMF0uY2xpZW50WCwgeTogZXYudG91Y2hlc1swXS5jbGllbnRZIH0pO1xuICB9XG5cbiAgb25SZXNpemVNb3ZlKHB0OiBQb2ludCkge1xuICAgIGlmICh0aGlzLm9wZXJhdGlvbikge1xuICAgICAgc3dpdGNoICh0aGlzLm9wZXJhdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgY2FzZSBFRHJhZ09wZXJhdGlvbi5yZXNpemVTcGxpdHRlcjoge1xuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMub3JpZW50YXRpb24kXSlcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbb3JpZW50YXRpb25dKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLm9wZXJhdGlvbikge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAob3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWx0YVggPSBwdC54IC0gdGhpcy5vcGVyYXRpb24uc3RhcnRQb3NpdGlvbi54O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzeCA9IEFycmF5LmZyb20odGhpcy5vcGVyYXRpb24uc2l6ZXMpO1xuICAgICAgICAgICAgICAgICAgICBzeFt0aGlzLm9wZXJhdGlvbi5pbmRleEJlZm9yZV0gPSB0aGlzLm9wZXJhdGlvbi5zaXplc1t0aGlzLm9wZXJhdGlvbi5pbmRleEJlZm9yZV0gKyBkZWx0YVg7XG4gICAgICAgICAgICAgICAgICAgIHN4W3RoaXMub3BlcmF0aW9uLmluZGV4QWZ0ZXJdID0gdGhpcy5vcGVyYXRpb24uc2l6ZXNbdGhpcy5vcGVyYXRpb24uaW5kZXhBZnRlcl0gLSBkZWx0YVg7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJldmlld1NpemVzJC5uZXh0KHN4KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICBjYXNlICd2ZXJ0aWNhbCc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlbHRhWSA9IHB0LnkgLSB0aGlzLm9wZXJhdGlvbi5zdGFydFBvc2l0aW9uLnk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN5ID0gQXJyYXkuZnJvbSh0aGlzLm9wZXJhdGlvbi5zaXplcyk7XG4gICAgICAgICAgICAgICAgICAgIHN5W3RoaXMub3BlcmF0aW9uLmluZGV4QmVmb3JlXSA9IHRoaXMub3BlcmF0aW9uLnNpemVzW3RoaXMub3BlcmF0aW9uLmluZGV4QmVmb3JlXSArIGRlbHRhWTtcbiAgICAgICAgICAgICAgICAgICAgc3lbdGhpcy5vcGVyYXRpb24uaW5kZXhBZnRlcl0gPSB0aGlzLm9wZXJhdGlvbi5zaXplc1t0aGlzLm9wZXJhdGlvbi5pbmRleEFmdGVyXSAtIGRlbHRhWTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3U2l6ZXMkLm5leHQoc3kpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9IGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxuICBvbk1vdXNlVXAoZXY6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLm9uUmVzaXplVXAoKTtcbiAgfVxuXG4gIG9uVG91Y2hFbmQoZXY6IFRvdWNoRXZlbnQpIHtcbiAgICB0aGlzLnRvdWNoZWREaXZpZGVyJC5uZXh0KG51bGwpO1xuICAgIHRoaXMub25SZXNpemVVcCgpO1xuICB9XG5cbiAgb25SZXNpemVVcCgpIHtcbiAgICB0aGlzLmlzUmVzaXppbmckLm5leHQoZmFsc2UpO1xuICAgIHRoaXMub3BlcmF0aW9uID0gbnVsbDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCB3LTEwMCByb290XCIgW2NsYXNzXT1cIltkaXJlY3Rpb25DbGFzcyQgfCBhc3luYywgc3BsaXR0ZXJDbGFzcyQgfCBhc3luY11cIiBic1VzZXJBZ2VudD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgQGZvciAocGFuZWwgb2YgKHBhbmVscyQgfCBhc3luYyk7IGxldCBpbmRleCA9ICRpbmRleDsgbGV0IGxhc3QgPSAkbGFzdDsgdHJhY2sgcGFuZWwpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIod2lkdGhTdHlsZXMkIHwgYXN5bmMpIGFzIHdpZHRoU3R5bGVzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpic0xldD1cIihoZWlnaHRTdHlsZXMkIHwgYXN5bmMpIGFzIGhlaWdodFN0eWxlc1wiPlxuICAgICAgICAgICAgICAgIDwhLS0gIFtzdHlsZS53aWR0aC4lXT1cIjEwMFwiIFtzdHlsZS5oZWlnaHQuJV09XCIxMDBcIiAtLT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3BsaXQtcGFuZWwgb3ZlcmZsb3ctaGlkZGVuXCIgW2NsYXNzLmZsZXgtbm9uZV09XCJpc1Jlc2l6aW5nJCB8IGFzeW5jXCIgI3NwbGl0UGFuZWwgW3N0eWxlLndpZHRoXT1cIndpZHRoU3R5bGVzIHwgYnNFbGVtZW50QXQ6aW5kZXhcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodFN0eWxlcyB8IGJzRWxlbWVudEF0OmluZGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInBhbmVsLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIEBpZiAoIWxhc3QpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCIgYnNVc2VyQWdlbnQgW2NsYXNzLmhvdmVyXT1cIih0b3VjaGVkRGl2aWRlciQgfCBhc3luYykgPT09IGRpdmlkZXJcIiAjZGl2aWRlciAobW91c2Vkb3duKT1cInN0YXJ0UmVzaXplTW91c2UoJGV2ZW50LCBpbmRleCwgaW5kZXggKyAxKVwiICh0b3VjaHN0YXJ0KT1cInN0YXJ0UmVzaXplVG91Y2goJGV2ZW50LCBpbmRleCwgaW5kZXggKyAxLCBkaXZpZGVyKVwiICh0b3VjaG1vdmUpPVwib25Ub3VjaE1vdmUoJGV2ZW50KVwiICh0b3VjaGVuZCk9XCJvblRvdWNoRW5kKCRldmVudClcIj48L2Rpdj5cbiAgICAgICAgfVxuICAgIH1cbjwvZGl2PiJdfQ==
@@ -1,23 +1,23 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
2
+ import { AsyncPipe } from '@angular/common';
3
3
  import { PortalModule } from '@angular/cdk/portal';
4
- import { BsLetModule } from '@mintplayer/ng-bootstrap/let';
5
- import { BsUserAgentModule } from '@mintplayer/ng-bootstrap/user-agent';
4
+ import { BsLetDirective } from '@mintplayer/ng-bootstrap/let';
5
+ import { BsUserAgentDirective } from '@mintplayer/ng-bootstrap/user-agent';
6
6
  import { BsSplitterComponent } from './splitter/splitter.component';
7
7
  import { BsSplitPanelComponent } from './split-panel/split-panel.component';
8
8
  import { BsElementAtPipe } from './element-at/element-at.pipe';
9
9
  import * as i0 from "@angular/core";
10
10
  export class BsSplitterModule {
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSplitterModule, declarations: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe], imports: [CommonModule, PortalModule, BsLetModule, BsUserAgentModule], exports: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSplitterModule, imports: [CommonModule, PortalModule, BsLetModule, BsUserAgentModule] }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BsSplitterModule, declarations: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe], imports: [AsyncPipe, PortalModule, BsLetDirective, BsUserAgentDirective], exports: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe] }); }
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSplitterModule, imports: [PortalModule] }); }
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsSplitterModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],
19
- imports: [CommonModule, PortalModule, BsLetModule, BsUserAgentModule],
19
+ imports: [AsyncPipe, PortalModule, BsLetDirective, BsUserAgentDirective],
20
20
  exports: [BsSplitterComponent, BsSplitPanelComponent, BsElementAtPipe],
21
21
  }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU8vRCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKWixtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLGFBQ2hFLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixhQUMxRCxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxlQUFlOytHQUUxRCxnQkFBZ0IsWUFIakIsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCOzsyRkFHekQsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsQ0FBQztvQkFDM0UsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLENBQUM7b0JBQ3JFLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsQ0FBQztpQkFDdkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQnNMZXRNb2R1bGUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvbGV0JztcbmltcG9ydCB7IEJzVXNlckFnZW50TW9kdWxlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL3VzZXItYWdlbnQnO1xuaW1wb3J0IHsgQnNTcGxpdHRlckNvbXBvbmVudCB9IGZyb20gJy4vc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzU3BsaXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vc3BsaXQtcGFuZWwvc3BsaXQtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJzRWxlbWVudEF0UGlwZSB9IGZyb20gJy4vZWxlbWVudC1hdC9lbGVtZW50LWF0LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtCc1NwbGl0dGVyQ29tcG9uZW50LCBCc1NwbGl0UGFuZWxDb21wb25lbnQsIEJzRWxlbWVudEF0UGlwZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBvcnRhbE1vZHVsZSwgQnNMZXRNb2R1bGUsIEJzVXNlckFnZW50TW9kdWxlXSxcbiAgZXhwb3J0czogW0JzU3BsaXR0ZXJDb21wb25lbnQsIEJzU3BsaXRQYW5lbENvbXBvbmVudCwgQnNFbGVtZW50QXRQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNTcGxpdHRlck1vZHVsZSB7fVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcGxpdHRlci9zcmMvc3BsaXR0ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU8vRCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkFKWixtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLGFBQ2hFLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixhQUM3RCxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxlQUFlOytHQUUxRCxnQkFBZ0IsWUFITixZQUFZOzsyRkFHdEIsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsQ0FBQztvQkFDM0UsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3hFLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGVBQWUsQ0FBQztpQkFDdkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQnNMZXREaXJlY3RpdmUgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvbGV0JztcbmltcG9ydCB7IEJzVXNlckFnZW50RGlyZWN0aXZlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwL3VzZXItYWdlbnQnO1xuaW1wb3J0IHsgQnNTcGxpdHRlckNvbXBvbmVudCB9IGZyb20gJy4vc3BsaXR0ZXIvc3BsaXR0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzU3BsaXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vc3BsaXQtcGFuZWwvc3BsaXQtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJzRWxlbWVudEF0UGlwZSB9IGZyb20gJy4vZWxlbWVudC1hdC9lbGVtZW50LWF0LnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtCc1NwbGl0dGVyQ29tcG9uZW50LCBCc1NwbGl0UGFuZWxDb21wb25lbnQsIEJzRWxlbWVudEF0UGlwZV0sXG4gIGltcG9ydHM6IFtBc3luY1BpcGUsIFBvcnRhbE1vZHVsZSwgQnNMZXREaXJlY3RpdmUsIEJzVXNlckFnZW50RGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0JzU3BsaXR0ZXJDb21wb25lbnQsIEJzU3BsaXRQYW5lbENvbXBvbmVudCwgQnNFbGVtZW50QXRQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNTcGxpdHRlck1vZHVsZSB7fVxuIl19
@@ -97,15 +97,15 @@ export class BsTabControlComponent {
97
97
  }
98
98
  }
99
99
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsTabControlComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BsTabControlComponent, selector: "bs-tab-control", inputs: { border: "border", restrictDragging: "restrictDragging", selectFirstTab: "selectFirstTab", tabsPosition: "tabsPosition", allowDragDrop: "allowDragDrop" }, host: { properties: { "class.d-block": "this.dBlock", "class.position-relative": "this.positionRelative" } }, providers: [
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.1", type: BsTabControlComponent, selector: "bs-tab-control", inputs: { border: "border", restrictDragging: "restrictDragging", selectFirstTab: "selectFirstTab", tabsPosition: "tabsPosition", allowDragDrop: "allowDragDrop" }, host: { properties: { "class.d-block": "this.dBlock", "class.position-relative": "this.positionRelative" } }, providers: [
101
101
  { provide: 'TAB_CONTROL', useExisting: BsTabControlComponent }
102
- ], queries: [{ propertyName: "setTabPages", predicate: BsTabPageComponent }], ngImport: i0, template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden mw-100 tsc\" *ngIf=\"topTabs$ | async\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop$ | async\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t<ng-container *ngFor=\"let tab of orderedTabPages\">\n\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</ng-container>\n\t\t</ul>\n\t</div>\n\t<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\" *ngIf=\"bottomTabs$ | async\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop$ | async\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t<ng-container *ngFor=\"let tab of orderedTabPages\">\n\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</ng-container>\n\t\t</ul>\n\t</div>\n</ng-container>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .nav-link.disabled,:host ::ng-deep .nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}:host ::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}:host ::ng-deep .nav-underline .nav-link:hover,:host ::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}:host ::ng-deep .nav-underline .nav-link.active,:host ::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;top:2px;z-index:10;flex-shrink:0}.tsc .nav.nav-tabs{border-bottom:0}.tsc.bottom-tabs{margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs{border-bottom-width:0px}.tsc.bottom-tabs .nav.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tsc.bottom-tabs .nav.nav-tabs .nav-item{margin-bottom:2px;margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,.tsc.bottom-tabs .nav.nav-tabs .nav-link.active{border-color:#fff #dee2e6 #dee2e6 #dee2e6}.tab-content.noscript::ng-deep>bs-tab-page>.tab-page-content{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;margin-top:-1px}.overflow-y-hidden{overflow-y: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.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i4.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
102
+ ], queries: [{ propertyName: "setTabPages", predicate: BsTabPageComponent }], ngImport: i0, template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t@if (topTabs$ | async) {\n\t\t<div class=\"overflow-hidden mw-100 tsc\">\n\t\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t\t[cdkDropListDisabled]=\"disableDragDrop$ | async\"\n\t\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t\t@for (tab of orderedTabPages; track tab) {\n\t\t\t\t\t@if (tab.headerTemplate) {\n\t\t\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t}\n\t<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t@if (bottomTabs$ | async) {\n\t\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\">\n\t\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t\t[cdkDropListDisabled]=\"disableDragDrop$ | async\"\n\t\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t\t@for (tab of orderedTabPages; track tab) {\n\t\t\t\t\t@if (tab.headerTemplate) {\n\t\t\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t}\n</ng-container>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .nav-link.disabled,:host ::ng-deep .nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}:host ::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}:host ::ng-deep .nav-underline .nav-link:hover,:host ::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}:host ::ng-deep .nav-underline .nav-link.active,:host ::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;top:2px;z-index:10;flex-shrink:0}.tsc .nav.nav-tabs{border-bottom:0}.tsc.bottom-tabs{margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs{border-bottom-width:0px}.tsc.bottom-tabs .nav.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tsc.bottom-tabs .nav.nav-tabs .nav-item{margin-bottom:2px;margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,.tsc.bottom-tabs .nav.nav-tabs .nav-link.active{border-color:#fff #dee2e6 #dee2e6 #dee2e6}.tab-content.noscript::ng-deep>bs-tab-page>.tab-page-content{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;margin-top:-1px}.overflow-y-hidden{overflow-y:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "directive", type: i4.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
103
103
  }
104
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BsTabControlComponent, decorators: [{
105
105
  type: Component,
106
106
  args: [{ selector: 'bs-tab-control', providers: [
107
107
  { provide: 'TAB_CONTROL', useExisting: BsTabControlComponent }
108
- ], template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t<div class=\"overflow-hidden mw-100 tsc\" *ngIf=\"topTabs$ | async\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop$ | async\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t<ng-container *ngFor=\"let tab of orderedTabPages\">\n\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</ng-container>\n\t\t</ul>\n\t</div>\n\t<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\" *ngIf=\"bottomTabs$ | async\">\n\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t[cdkDropListDisabled]=\"disableDragDrop$ | async\"\n\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t<ng-container *ngFor=\"let tab of orderedTabPages\">\n\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" *ngIf=\"!!tab.headerTemplate\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</ng-container>\n\t\t</ul>\n\t</div>\n</ng-container>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .nav-link.disabled,:host ::ng-deep .nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}:host ::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}:host ::ng-deep .nav-underline .nav-link:hover,:host ::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}:host ::ng-deep .nav-underline .nav-link.active,:host ::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;top:2px;z-index:10;flex-shrink:0}.tsc .nav.nav-tabs{border-bottom:0}.tsc.bottom-tabs{margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs{border-bottom-width:0px}.tsc.bottom-tabs .nav.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tsc.bottom-tabs .nav.nav-tabs .nav-item{margin-bottom:2px;margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,.tsc.bottom-tabs .nav.nav-tabs .nav-link.active{border-color:#fff #dee2e6 #dee2e6 #dee2e6}.tab-content.noscript::ng-deep>bs-tab-page>.tab-page-content{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;margin-top:-1px}.overflow-y-hidden{overflow-y:hidden}\n"] }]
108
+ ], template: "<ng-container *bsLet=\"(activeTab$ | async) as activeTab\">\n\t@if (topTabs$ | async) {\n\t\t<div class=\"overflow-hidden mw-100 tsc\">\n\t\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t\t[cdkDropListDisabled]=\"disableDragDrop$ | async\"\n\t\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t\t@for (tab of orderedTabPages; track tab) {\n\t\t\t\t\t@if (tab.headerTemplate) {\n\t\t\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t}\n\t<div class=\"tab-content flex-grow-1 overflow-auto\" bsNoNoscript [class.border]=\"border && activeTab\" [class.border-top]=\"border && !activeTab\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t@if (bottomTabs$ | async) {\n\t\t<div class=\"overflow-hidden mw-100 tsc bottom-tabs\">\n\t\t\t<ul cdkDropList #list #tabList=\"cdkDropList\"\n\t\t\t\t[cdkDropListData]=\"tabPages$ | async\"\n\t\t\t\t[cdkDropListConnectedTo]=\"[]\"\n\t\t\t\t[cdkDropListOrientation]=\"'horizontal'\"\n\t\t\t\t(cdkDropListDropped)=\"moveTab($event)\"\n\t\t\t\t[cdkDropListDisabled]=\"disableDragDrop$ | async\"\n\t\t\t\tclass=\"nav nav-tabs flex-nowrap overflow-x-auto overflow-y-hidden\">\n\t\t\t\t@for (tab of orderedTabPages; track tab) {\n\t\t\t\t\t@if (tab.headerTemplate) {\n\t\t\t\t\t\t<span class=\"nav-item\" (click)=\"setActiveTab(tab)\" cdkDrag [cdkDragBoundary]=\"dragBoundarySelector\" [cdkDragStartDelay]=\"500\" (cdkDragStarted)=\"startDragTab($event)\">\n\t\t\t\t\t\t\t<label [for]=\"tab.tabName$ | async\" class=\"nav-link text-nowrap cursor-pointer\" [class.active]=\"activeTab === tab\" [class.disabled]=\"tab.disabled\" [attr.aria-current]=\"activeTab === tab ? 'page' : null\" [attr.aria-disabled]=\"tab.disabled\">\n\t\t\t\t\t\t\t\t<ng-container [ngTemplateOutlet]=\"tab.headerTemplate.template\"></ng-container>\n\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t}\n</ng-container>", styles: [":host ::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}:host ::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion: reduce){:host ::ng-deep .nav-link{transition:none}}:host ::ng-deep .nav-link:hover,:host ::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}:host ::ng-deep .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .nav-link.disabled,:host ::ng-deep .nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}:host ::ng-deep .nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}:host ::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}:host ::ng-deep .nav-tabs .nav-link:hover,:host ::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}:host ::ng-deep .nav-tabs .nav-link.active,:host ::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}:host ::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}:host ::ng-deep .nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}:host ::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}:host ::ng-deep .nav-pills .nav-link.active,:host ::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}:host ::ng-deep .nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}:host ::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}:host ::ng-deep .nav-underline .nav-link:hover,:host ::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}:host ::ng-deep .nav-underline .nav-link.active,:host ::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}:host ::ng-deep .nav-fill>.nav-link,:host ::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}:host ::ng-deep .nav-justified>.nav-link,:host ::ng-deep .nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}:host ::ng-deep .nav-fill .nav-item .nav-link,:host ::ng-deep .nav-justified .nav-item .nav-link{width:100%}:host ::ng-deep .tab-content>.tab-pane{display:none}:host ::ng-deep .tab-content>.active{display:block}:host ::ng-deep .tab-content{margin-top:-1px}.tsc{max-height:41px;top:2px;z-index:10;flex-shrink:0}.tsc .nav.nav-tabs{border-bottom:0}.tsc.bottom-tabs{margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs{border-bottom-width:0px}.tsc.bottom-tabs .nav.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.tsc.bottom-tabs .nav.nav-tabs .nav-item{margin-bottom:2px;margin-top:-1px}.tsc.bottom-tabs .nav.nav-tabs .nav-item.show .nav-link,.tsc.bottom-tabs .nav.nav-tabs .nav-link.active{border-color:#fff #dee2e6 #dee2e6 #dee2e6}.tab-content.noscript::ng-deep>bs-tab-page>.tab-page-content{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important;margin-top:-1px}.overflow-y-hidden{overflow-y:hidden}\n"] }]
109
109
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { dBlock: [{
110
110
  type: HostBinding,
111
111
  args: ['class.d-block']
@@ -126,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
126
126
  }], allowDragDrop: [{
127
127
  type: Input
128
128
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2QixlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBVWhFLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFBWSxPQUF3QjtRQW9CTixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ0oscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBT2hELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFJOUIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRTFCLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBdUMsSUFBSSxDQUFDLENBQUM7UUFDNUUsZUFBVSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQztRQUNsRSxvQkFBZSxHQUF5QixFQUFFLENBQUM7UUFPM0MsZUFBVSxHQUFHLENBQUMs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LFNBQVMsRUFBRSxDQUFDO1lBQzNCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQXFEO1FBQzNELElBQUksRUFBRSxDQUFDLGlCQUFpQixLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxlQUFlLENBQ2IsSUFBSSxDQUFDLGVBQWUsRUFDcEIsRUFBRSxDQUFDLGFBQWEsRUFDaEIsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04scUJBQXFCO1lBQ3JCLCtCQUErQjtZQUMvQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtRQUN4QixDQUFDO0lBQ0gsQ0FBQzs4R0FyR1UscUJBQXFCO2tHQUFyQixxQkFBcUIsMlRBSnJCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRTtTQUMvRCxzREEwQmdCLGtCQUFrQiw2QkN2Q3JDLDJpRkFzQ2U7OzJGRHZCRixxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2Y7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsdUJBQXVCLEVBQUU7cUJBQy9EOytFQXdCNkIsTUFBTTtzQkFBbkMsV0FBVzt1QkFBQyxlQUFlO2dCQUNZLGdCQUFnQjtzQkFBdkQsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBQ0csV0FBVztzQkFBbkQsZUFBZTt1QkFBQyxrQkFBa0I7Z0JBTW5CLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ2MsZ0JBQWdCO3NCQUFuQyxLQUFLO2dCQXFCYyxjQUFjO3NCQUFqQyxLQUFLO2dCQVNjLFlBQVk7c0JBQS9CLEtBQUs7Z0JBU2MsYUFBYTtzQkFBaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBDZGtEcmFnU3RhcnQsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc1RhYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuLi90YWItcGFnZS90YWItcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNUYWJzUG9zaXRpb24gfSBmcm9tICcuLi90YWJzLXBvc2l0aW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtdGFiLWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWItY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6ICdUQUJfQ09OVFJPTCcsIHVzZUV4aXN0aW5nOiBCc1RhYkNvbnRyb2xDb21wb25lbnQgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzVGFiQ29udHJvbENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZjxhbnk+KSB7XG4gICAgdGhpcy50YWJDb250cm9sSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KCsrQnNUYWJDb250cm9sQ29tcG9uZW50LnRhYkNvbnRyb2xDb3VudGVyKTtcbiAgICB0aGlzLnRhYkNvbnRyb2xOYW1lJCA9IHRoaXMudGFiQ29udHJvbElkJC5waXBlKG1hcCgoaWQpID0+IGBicy10YWItY29udHJvbC0ke2lkfWApKTtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudGFiUGFnZXMkLCB0aGlzLmFjdGl2ZVRhYiQsIHRoaXMuc2VsZWN0Rmlyc3RUYWIkXSlcbiAgICAgIC5waXBlKGZpbHRlcigoW3RhYlBhZ2VzLCBhY3RpdmVUYWIsIHNlbGVjdEZpcnN0VGFiXSkgPT4ge1xuICAgICAgICByZXR1cm4gISF0YWJQYWdlcyAmJiAoIWFjdGl2ZVRhYiB8fCAhdGFiUGFnZXMuc29tZSh0cCA9PiB0cCA9PT0gYWN0aXZlVGFiKSkgJiYgc2VsZWN0Rmlyc3RUYWI7XG4gICAgICB9KSlcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoW3RhYlBhZ2VzLCBhY3RpdmVUYWIsIHNlbGVjdEZpcnN0VGFiXSkgPT4ge1xuICAgICAgICBjb25zdCBub3REaXNhYmxlZCA9IHRhYlBhZ2VzIS5maWx0ZXIoKHRwKSA9PiAhdHAuZGlzYWJsZWQpO1xuICAgICAgICBpZiAobm90RGlzYWJsZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hY3RpdmVUYWIkLm5leHQobm90RGlzYWJsZWRbMF0pKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgdGhpcy50b3BUYWJzJCA9IHRoaXMudGFic1Bvc2l0aW9uJC5waXBlKG1hcChwb3NpdGlvbiA9PiBwb3NpdGlvbiA9PT0gJ3RvcCcpKTtcbiAgICB0aGlzLmJvdHRvbVRhYnMkID0gdGhpcy50YWJzUG9zaXRpb24kLnBpcGUobWFwKHBvc2l0aW9uID0+IHBvc2l0aW9uID09PSAnYm90dG9tJykpO1xuICAgIHRoaXMuZGlzYWJsZURyYWdEcm9wJCA9IHRoaXMuYWxsb3dEcmFnRHJvcCQucGlwZShtYXAoYWxsb3cgPT4gIWFsbG93KSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtYmxvY2snKSBkQmxvY2sgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBvc2l0aW9uLXJlbGF0aXZlJykgcG9zaXRpb25SZWxhdGl2ZSA9IHRydWU7XG4gIEBDb250ZW50Q2hpbGRyZW4oQnNUYWJQYWdlQ29tcG9uZW50KSBzZXQgc2V0VGFiUGFnZXModmFsdWU6IFF1ZXJ5TGlzdDxCc1RhYlBhZ2VDb21wb25lbnQ+KSB7XG4gICAgdGhpcy50YWJQYWdlcyQubmV4dCh2YWx1ZSk7XG4gICAgY29uc3QgbGlzdCA9IHZhbHVlLnRvQXJyYXkoKTtcbiAgICBjb25zdCB0b0FkZCA9IHZhbHVlLmZpbHRlcih0cCA9PiAhdGhpcy5vcmRlcmVkVGFiUGFnZXMuaW5jbHVkZXModHApKTtcbiAgICB0aGlzLm9yZGVyZWRUYWJQYWdlcyA9IHRoaXMub3JkZXJlZFRhYlBhZ2VzLmNvbmNhdCh0b0FkZCkuZmlsdGVyKCh0cCkgPT4gbGlzdC5pbmNsdWRlcyh0cCkpO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBib3JkZXIgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlc3RyaWN0RHJhZ2dpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRyYWdCb3VuZGFyeVNlbGVjdG9yID0gdmFsdWUgPyAndWwnIDogJyc7XG4gIH1cbiAgZHJhZ0JvdW5kYXJ5U2VsZWN0b3IgPSAnJztcbiAgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+O1xuICB0YWJQYWdlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxCc1RhYlBhZ2VDb21wb25lbnQ+IHwgbnVsbD4obnVsbCk7XG4gIGFjdGl2ZVRhYiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzVGFiUGFnZUNvbXBvbmVudCB8IG51bGw+KG51bGwpO1xuICBvcmRlcmVkVGFiUGFnZXM6IEJzVGFiUGFnZUNvbXBvbmVudFtdID0gW107XG4gIHRhYkNvbnRyb2xJZCQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuICB0YWJDb250cm9sTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgdG9wVGFicyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGJvdHRvbVRhYnMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBkaXNhYmxlRHJhZ0Ryb3AkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzdGF0aWMgdGFiQ29udHJvbENvdW50ZXIgPSAwO1xuICB0YWJDb3VudGVyID0gMDtcblxuICAvLyNyZWdpb24gU2VsZWN0Rmlyc3RUYWJcbiAgc2VsZWN0Rmlyc3RUYWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHVibGljIGdldCBzZWxlY3RGaXJzdFRhYigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RGaXJzdFRhYiQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RGaXJzdFRhYih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2VsZWN0Rmlyc3RUYWIkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuICAvLyNyZWdpb24gVGFic1Bvc2l0aW9uXG4gIHRhYnNQb3NpdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzVGFic1Bvc2l0aW9uPigndG9wJyk7XG4gIHB1YmxpYyBnZXQgdGFic1Bvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRhYnNQb3NpdGlvbiQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCB0YWJzUG9zaXRpb24odmFsdWU6IEJzVGFic1Bvc2l0aW9uKSB7XG4gICAgdGhpcy50YWJzUG9zaXRpb24kLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuICAvLyNyZWdpb24gQWxsb3dEcmFnRHJvcFxuICBhbGxvd0RyYWdEcm9wJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgZ2V0IGFsbG93RHJhZ0Ryb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dEcmFnRHJvcCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBhbGxvd0RyYWdEcm9wKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5hbGxvd0RyYWdEcm9wJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBzZXRBY3RpdmVUYWIodGFiOiBCc1RhYlBhZ2VDb21wb25lbnQpIHtcbiAgICBpZiAoIXRhYi5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5hY3RpdmVUYWIkLm5leHQodGFiKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3RhcnREcmFnVGFiKGV2OiBDZGtEcmFnU3RhcnQ8QnNUYWJQYWdlQ29tcG9uZW50Pikge1xuICAgIGlmICgndmlicmF0ZScgaW4gbmF2aWdhdG9yKSB7XG4gICAgICBuYXZpZ2F0b3IudmlicmF0ZShbMzBdKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlVGFiKGV2OiBDZGtEcmFnRHJvcDxRdWVyeUxpc3Q8QnNUYWJQYWdlQ29tcG9uZW50PiB8IG51bGw+KSB7XG4gICAgaWYgKGV2LnByZXZpb3VzQ29udGFpbmVyID09PSBldi5jb250YWluZXIpIHtcbiAgICAgIG1vdmVJdGVtSW5BcnJheShcbiAgICAgICAgdGhpcy5vcmRlcmVkVGFiUGFnZXMsXG4gICAgICAgIGV2LnByZXZpb3VzSW5kZXgsIFxuICAgICAgICBldi5jdXJyZW50SW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0cmFuc2ZlckFycmF5SXRlbShcbiAgICAgIC8vICAgZXYucHJldmlvdXNDb250YWluZXIuZGF0YSxcbiAgICAgIC8vICAgZXYuY29udGFpbmVyLmRhdGEsXG4gICAgICAvLyAgIGV2LnByZXZpb3VzSW5kZXgsXG4gICAgICAvLyAgIGV2LmN1cnJlbnRJbmRleCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpic0xldD1cIihhY3RpdmVUYWIkIHwgYXN5bmMpIGFzIGFjdGl2ZVRhYlwiPlxuXHQ8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIG13LTEwMCB0c2NcIiAqbmdJZj1cInRvcFRhYnMkIHwgYXN5bmNcIj5cblx0XHQ8dWwgY2RrRHJvcExpc3QgI2xpc3QgI3RhYkxpc3Q9XCJjZGtEcm9wTGlzdFwiXG5cdFx0XHRbY2RrRHJvcExpc3REYXRhXT1cInRhYlBhZ2VzJCB8IGFzeW5jXCJcblx0XHRcdFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltdXCJcblx0XHRcdFtjZGtEcm9wTGlzdE9yaWVudGF0aW9uXT1cIidob3Jpem9udGFsJ1wiXG5cdFx0XHQoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVUYWIoJGV2ZW50KVwiXG5cdFx0XHRbY2RrRHJvcExpc3REaXNhYmxlZF09XCJkaXNhYmxlRHJhZ0Ryb3AkIHwgYXN5bmNcIlxuXHRcdFx0Y2xhc3M9XCJuYXYgbmF2LXRhYnMgZmxleC1ub3dyYXAgb3ZlcmZsb3cteC1hdXRvIG92ZXJmbG93LXktaGlkZGVuXCI+XG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2Ygb3JkZXJlZFRhYlBhZ2VzXCI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwic2V0QWN0aXZlVGFiKHRhYilcIiAqbmdJZj1cIiEhdGFiLmhlYWRlclRlbXBsYXRlXCIgY2RrRHJhZyBbY2RrRHJhZ0JvdW5kYXJ5XT1cImRyYWdCb3VuZGFyeVNlbGVjdG9yXCIgW2Nka0RyYWdTdGFydERlbGF5XT1cIjUwMFwiIChjZGtEcmFnU3RhcnRlZCk9XCJzdGFydERyYWdUYWIoJGV2ZW50KVwiPlxuXHRcdFx0XHRcdDxsYWJlbCBbZm9yXT1cInRhYi50YWJOYW1lJCB8IGFzeW5jXCIgY2xhc3M9XCJuYXYtbGluayB0ZXh0LW5vd3JhcCBjdXJzb3ItcG9pbnRlclwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09PSB0YWJcIiBbY2xhc3MuZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCIgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFjdGl2ZVRhYiA9PT0gdGFiID8gJ3BhZ2UnIDogbnVsbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCI+XG5cdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi5oZWFkZXJUZW1wbGF0ZS50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXHRcdFx0XHRcdDwvbGFiZWw+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvbmctY29udGFpbmVyPlxuXHRcdDwvdWw+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwidGFiLWNvbnRlbnQgZmxleC1ncm93LTEgb3ZlcmZsb3ctYXV0b1wiIGJzTm9Ob3NjcmlwdCBbY2xhc3MuYm9yZGVyXT1cImJvcmRlciAmJiBhY3RpdmVUYWJcIiBbY2xhc3MuYm9yZGVyLXRvcF09XCJib3JkZXIgJiYgIWFjdGl2ZVRhYlwiPlxuXHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1oaWRkZW4gbXctMTAwIHRzYyBib3R0b20tdGFic1wiICpuZ0lmPVwiYm90dG9tVGFicyQgfCBhc3luY1wiPlxuXHRcdDx1bCBjZGtEcm9wTGlzdCAjbGlzdCAjdGFiTGlzdD1cImNka0Ryb3BMaXN0XCJcblx0XHRcdFtjZGtEcm9wTGlzdERhdGFdPVwidGFiUGFnZXMkIHwgYXN5bmNcIlxuXHRcdFx0W2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiW11cIlxuXHRcdFx0W2Nka0Ryb3BMaXN0T3JpZW50YXRpb25dPVwiJ2hvcml6b250YWwnXCJcblx0XHRcdChjZGtEcm9wTGlzdERyb3BwZWQpPVwibW92ZVRhYigkZXZlbnQpXCJcblx0XHRcdFtjZGtEcm9wTGlzdERpc2FibGVkXT1cImRpc2FibGVEcmFnRHJvcCQgfCBhc3luY1wiXG5cdFx0XHRjbGFzcz1cIm5hdiBuYXYtdGFicyBmbGV4LW5vd3JhcCBvdmVyZmxvdy14LWF1dG8gb3ZlcmZsb3cteS1oaWRkZW5cIj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBvcmRlcmVkVGFiUGFnZXNcIj5cblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJzZXRBY3RpdmVUYWIodGFiKVwiICpuZ0lmPVwiISF0YWIuaGVhZGVyVGVtcGxhdGVcIiBjZGtEcmFnIFtjZGtEcmFnQm91bmRhcnldPVwiZHJhZ0JvdW5kYXJ5U2VsZWN0b3JcIiBbY2RrRHJhZ1N0YXJ0RGVsYXldPVwiNTAwXCIgKGNka0RyYWdTdGFydGVkKT1cInN0YXJ0RHJhZ1RhYigkZXZlbnQpXCI+XG5cdFx0XHRcdFx0PGxhYmVsIFtmb3JdPVwidGFiLnRhYk5hbWUkIHwgYXN5bmNcIiBjbGFzcz1cIm5hdi1saW5rIHRleHQtbm93cmFwIGN1cnNvci1wb2ludGVyXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVUYWIgPT09IHRhYlwiIFtjbGFzcy5kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIiBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYWN0aXZlVGFiID09PSB0YWIgPyAncGFnZScgOiBudWxsXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIj5cblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFiLmhlYWRlclRlbXBsYXRlLnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0PC9sYWJlbD5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9uZy1jb250YWluZXI+XG5cdFx0PC91bD5cblx0PC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC90YWItY29udHJvbC9zcmMvdGFiLWNvbnRyb2wvdGFiLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE2QixlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBVWhFLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFBWSxPQUF3QjtRQW9CTixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ0oscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBT2hELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFJOUIseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBRTFCLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBdUMsSUFBSSxDQUFDLENBQUM7UUFDNUUsZUFBVSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQztRQUNsRSxvQkFBZSxHQUF5QixFQUFFLENBQUM7UUFPM0MsZUFBVSxHQUFHLENBQUMs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LFNBQVMsRUFBRSxDQUFDO1lBQzNCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQXFEO1FBQzNELElBQUksRUFBRSxDQUFDLGlCQUFpQixLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxlQUFlLENBQ2IsSUFBSSxDQUFDLGVBQWUsRUFDcEIsRUFBRSxDQUFDLGFBQWEsRUFDaEIsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04scUJBQXFCO1lBQ3JCLCtCQUErQjtZQUMvQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtRQUN4QixDQUFDO0lBQ0gsQ0FBQzs4R0FyR1UscUJBQXFCO2tHQUFyQixxQkFBcUIsMlRBSnJCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRTtTQUMvRCxzREEwQmdCLGtCQUFrQiw2QkN2Q3JDLHVvRkE4Q2U7OzJGRC9CRixxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2Y7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsdUJBQXVCLEVBQUU7cUJBQy9EOytFQXdCNkIsTUFBTTtzQkFBbkMsV0FBVzt1QkFBQyxlQUFlO2dCQUNZLGdCQUFnQjtzQkFBdkQsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBQ0csV0FBVztzQkFBbkQsZUFBZTt1QkFBQyxrQkFBa0I7Z0JBTW5CLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ2MsZ0JBQWdCO3NCQUFuQyxLQUFLO2dCQXFCYyxjQUFjO3NCQUFqQyxLQUFLO2dCQVNjLFlBQVk7c0JBQS9CLEtBQUs7Z0JBU2MsYUFBYTtzQkFBaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBDZGtEcmFnU3RhcnQsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc1RhYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuLi90YWItcGFnZS90YWItcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNUYWJzUG9zaXRpb24gfSBmcm9tICcuLi90YWJzLXBvc2l0aW9uJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtdGFiLWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWItY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6ICdUQUJfQ09OVFJPTCcsIHVzZUV4aXN0aW5nOiBCc1RhYkNvbnRyb2xDb21wb25lbnQgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJzVGFiQ29udHJvbENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudDogRWxlbWVudFJlZjxhbnk+KSB7XG4gICAgdGhpcy50YWJDb250cm9sSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KCsrQnNUYWJDb250cm9sQ29tcG9uZW50LnRhYkNvbnRyb2xDb3VudGVyKTtcbiAgICB0aGlzLnRhYkNvbnRyb2xOYW1lJCA9IHRoaXMudGFiQ29udHJvbElkJC5waXBlKG1hcCgoaWQpID0+IGBicy10YWItY29udHJvbC0ke2lkfWApKTtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudGFiUGFnZXMkLCB0aGlzLmFjdGl2ZVRhYiQsIHRoaXMuc2VsZWN0Rmlyc3RUYWIkXSlcbiAgICAgIC5waXBlKGZpbHRlcigoW3RhYlBhZ2VzLCBhY3RpdmVUYWIsIHNlbGVjdEZpcnN0VGFiXSkgPT4ge1xuICAgICAgICByZXR1cm4gISF0YWJQYWdlcyAmJiAoIWFjdGl2ZVRhYiB8fCAhdGFiUGFnZXMuc29tZSh0cCA9PiB0cCA9PT0gYWN0aXZlVGFiKSkgJiYgc2VsZWN0Rmlyc3RUYWI7XG4gICAgICB9KSlcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgLnN1YnNjcmliZSgoW3RhYlBhZ2VzLCBhY3RpdmVUYWIsIHNlbGVjdEZpcnN0VGFiXSkgPT4ge1xuICAgICAgICBjb25zdCBub3REaXNhYmxlZCA9IHRhYlBhZ2VzIS5maWx0ZXIoKHRwKSA9PiAhdHAuZGlzYWJsZWQpO1xuICAgICAgICBpZiAobm90RGlzYWJsZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hY3RpdmVUYWIkLm5leHQobm90RGlzYWJsZWRbMF0pKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgdGhpcy50b3BUYWJzJCA9IHRoaXMudGFic1Bvc2l0aW9uJC5waXBlKG1hcChwb3NpdGlvbiA9PiBwb3NpdGlvbiA9PT0gJ3RvcCcpKTtcbiAgICB0aGlzLmJvdHRvbVRhYnMkID0gdGhpcy50YWJzUG9zaXRpb24kLnBpcGUobWFwKHBvc2l0aW9uID0+IHBvc2l0aW9uID09PSAnYm90dG9tJykpO1xuICAgIHRoaXMuZGlzYWJsZURyYWdEcm9wJCA9IHRoaXMuYWxsb3dEcmFnRHJvcCQucGlwZShtYXAoYWxsb3cgPT4gIWFsbG93KSk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtYmxvY2snKSBkQmxvY2sgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBvc2l0aW9uLXJlbGF0aXZlJykgcG9zaXRpb25SZWxhdGl2ZSA9IHRydWU7XG4gIEBDb250ZW50Q2hpbGRyZW4oQnNUYWJQYWdlQ29tcG9uZW50KSBzZXQgc2V0VGFiUGFnZXModmFsdWU6IFF1ZXJ5TGlzdDxCc1RhYlBhZ2VDb21wb25lbnQ+KSB7XG4gICAgdGhpcy50YWJQYWdlcyQubmV4dCh2YWx1ZSk7XG4gICAgY29uc3QgbGlzdCA9IHZhbHVlLnRvQXJyYXkoKTtcbiAgICBjb25zdCB0b0FkZCA9IHZhbHVlLmZpbHRlcih0cCA9PiAhdGhpcy5vcmRlcmVkVGFiUGFnZXMuaW5jbHVkZXModHApKTtcbiAgICB0aGlzLm9yZGVyZWRUYWJQYWdlcyA9IHRoaXMub3JkZXJlZFRhYlBhZ2VzLmNvbmNhdCh0b0FkZCkuZmlsdGVyKCh0cCkgPT4gbGlzdC5pbmNsdWRlcyh0cCkpO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBib3JkZXIgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlc3RyaWN0RHJhZ2dpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRyYWdCb3VuZGFyeVNlbGVjdG9yID0gdmFsdWUgPyAndWwnIDogJyc7XG4gIH1cbiAgZHJhZ0JvdW5kYXJ5U2VsZWN0b3IgPSAnJztcbiAgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+O1xuICB0YWJQYWdlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFF1ZXJ5TGlzdDxCc1RhYlBhZ2VDb21wb25lbnQ+IHwgbnVsbD4obnVsbCk7XG4gIGFjdGl2ZVRhYiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzVGFiUGFnZUNvbXBvbmVudCB8IG51bGw+KG51bGwpO1xuICBvcmRlcmVkVGFiUGFnZXM6IEJzVGFiUGFnZUNvbXBvbmVudFtdID0gW107XG4gIHRhYkNvbnRyb2xJZCQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuICB0YWJDb250cm9sTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgdG9wVGFicyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGJvdHRvbVRhYnMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBkaXNhYmxlRHJhZ0Ryb3AkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzdGF0aWMgdGFiQ29udHJvbENvdW50ZXIgPSAwO1xuICB0YWJDb3VudGVyID0gMDtcblxuICAvLyNyZWdpb24gU2VsZWN0Rmlyc3RUYWJcbiAgc2VsZWN0Rmlyc3RUYWIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHVibGljIGdldCBzZWxlY3RGaXJzdFRhYigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RGaXJzdFRhYiQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RGaXJzdFRhYih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2VsZWN0Rmlyc3RUYWIkLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuICAvLyNyZWdpb24gVGFic1Bvc2l0aW9uXG4gIHRhYnNQb3NpdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJzVGFic1Bvc2l0aW9uPigndG9wJyk7XG4gIHB1YmxpYyBnZXQgdGFic1Bvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRhYnNQb3NpdGlvbiQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCB0YWJzUG9zaXRpb24odmFsdWU6IEJzVGFic1Bvc2l0aW9uKSB7XG4gICAgdGhpcy50YWJzUG9zaXRpb24kLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuICAvLyNyZWdpb24gQWxsb3dEcmFnRHJvcFxuICBhbGxvd0RyYWdEcm9wJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgZ2V0IGFsbG93RHJhZ0Ryb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dEcmFnRHJvcCQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBhbGxvd0RyYWdEcm9wKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5hbGxvd0RyYWdEcm9wJC5uZXh0KHZhbHVlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBzZXRBY3RpdmVUYWIodGFiOiBCc1RhYlBhZ2VDb21wb25lbnQpIHtcbiAgICBpZiAoIXRhYi5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5hY3RpdmVUYWIkLm5leHQodGFiKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3RhcnREcmFnVGFiKGV2OiBDZGtEcmFnU3RhcnQ8QnNUYWJQYWdlQ29tcG9uZW50Pikge1xuICAgIGlmICgndmlicmF0ZScgaW4gbmF2aWdhdG9yKSB7XG4gICAgICBuYXZpZ2F0b3IudmlicmF0ZShbMzBdKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlVGFiKGV2OiBDZGtEcmFnRHJvcDxRdWVyeUxpc3Q8QnNUYWJQYWdlQ29tcG9uZW50PiB8IG51bGw+KSB7XG4gICAgaWYgKGV2LnByZXZpb3VzQ29udGFpbmVyID09PSBldi5jb250YWluZXIpIHtcbiAgICAgIG1vdmVJdGVtSW5BcnJheShcbiAgICAgICAgdGhpcy5vcmRlcmVkVGFiUGFnZXMsXG4gICAgICAgIGV2LnByZXZpb3VzSW5kZXgsIFxuICAgICAgICBldi5jdXJyZW50SW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0cmFuc2ZlckFycmF5SXRlbShcbiAgICAgIC8vICAgZXYucHJldmlvdXNDb250YWluZXIuZGF0YSxcbiAgICAgIC8vICAgZXYuY29udGFpbmVyLmRhdGEsXG4gICAgICAvLyAgIGV2LnByZXZpb3VzSW5kZXgsXG4gICAgICAvLyAgIGV2LmN1cnJlbnRJbmRleCk7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpic0xldD1cIihhY3RpdmVUYWIkIHwgYXN5bmMpIGFzIGFjdGl2ZVRhYlwiPlxuXHRAaWYgKHRvcFRhYnMkIHwgYXN5bmMpIHtcblx0XHQ8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIG13LTEwMCB0c2NcIj5cblx0XHRcdDx1bCBjZGtEcm9wTGlzdCAjbGlzdCAjdGFiTGlzdD1cImNka0Ryb3BMaXN0XCJcblx0XHRcdFx0W2Nka0Ryb3BMaXN0RGF0YV09XCJ0YWJQYWdlcyQgfCBhc3luY1wiXG5cdFx0XHRcdFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltdXCJcblx0XHRcdFx0W2Nka0Ryb3BMaXN0T3JpZW50YXRpb25dPVwiJ2hvcml6b250YWwnXCJcblx0XHRcdFx0KGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJtb3ZlVGFiKCRldmVudClcIlxuXHRcdFx0XHRbY2RrRHJvcExpc3REaXNhYmxlZF09XCJkaXNhYmxlRHJhZ0Ryb3AkIHwgYXN5bmNcIlxuXHRcdFx0XHRjbGFzcz1cIm5hdiBuYXYtdGFicyBmbGV4LW5vd3JhcCBvdmVyZmxvdy14LWF1dG8gb3ZlcmZsb3cteS1oaWRkZW5cIj5cblx0XHRcdFx0QGZvciAodGFiIG9mIG9yZGVyZWRUYWJQYWdlczsgdHJhY2sgdGFiKSB7XG5cdFx0XHRcdFx0QGlmICh0YWIuaGVhZGVyVGVtcGxhdGUpIHtcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwic2V0QWN0aXZlVGFiKHRhYilcIiBjZGtEcmFnIFtjZGtEcmFnQm91bmRhcnldPVwiZHJhZ0JvdW5kYXJ5U2VsZWN0b3JcIiBbY2RrRHJhZ1N0YXJ0RGVsYXldPVwiNTAwXCIgKGNka0RyYWdTdGFydGVkKT1cInN0YXJ0RHJhZ1RhYigkZXZlbnQpXCI+XG5cdFx0XHRcdFx0XHRcdDxsYWJlbCBbZm9yXT1cInRhYi50YWJOYW1lJCB8IGFzeW5jXCIgY2xhc3M9XCJuYXYtbGluayB0ZXh0LW5vd3JhcCBjdXJzb3ItcG9pbnRlclwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09PSB0YWJcIiBbY2xhc3MuZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCIgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFjdGl2ZVRhYiA9PT0gdGFiID8gJ3BhZ2UnIDogbnVsbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCI+XG5cdFx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIuaGVhZGVyVGVtcGxhdGUudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdFx0PC9sYWJlbD5cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdDwvdWw+XG5cdFx0PC9kaXY+XG5cdH1cblx0PGRpdiBjbGFzcz1cInRhYi1jb250ZW50IGZsZXgtZ3Jvdy0xIG92ZXJmbG93LWF1dG9cIiBic05vTm9zY3JpcHQgW2NsYXNzLmJvcmRlcl09XCJib3JkZXIgJiYgYWN0aXZlVGFiXCIgW2NsYXNzLmJvcmRlci10b3BdPVwiYm9yZGVyICYmICFhY3RpdmVUYWJcIj5cblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdDwvZGl2PlxuXHRAaWYgKGJvdHRvbVRhYnMkIHwgYXN5bmMpIHtcblx0XHQ8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctaGlkZGVuIG13LTEwMCB0c2MgYm90dG9tLXRhYnNcIj5cblx0XHRcdDx1bCBjZGtEcm9wTGlzdCAjbGlzdCAjdGFiTGlzdD1cImNka0Ryb3BMaXN0XCJcblx0XHRcdFx0W2Nka0Ryb3BMaXN0RGF0YV09XCJ0YWJQYWdlcyQgfCBhc3luY1wiXG5cdFx0XHRcdFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cIltdXCJcblx0XHRcdFx0W2Nka0Ryb3BMaXN0T3JpZW50YXRpb25dPVwiJ2hvcml6b250YWwnXCJcblx0XHRcdFx0KGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJtb3ZlVGFiKCRldmVudClcIlxuXHRcdFx0XHRbY2RrRHJvcExpc3REaXNhYmxlZF09XCJkaXNhYmxlRHJhZ0Ryb3AkIHwgYXN5bmNcIlxuXHRcdFx0XHRjbGFzcz1cIm5hdiBuYXYtdGFicyBmbGV4LW5vd3JhcCBvdmVyZmxvdy14LWF1dG8gb3ZlcmZsb3cteS1oaWRkZW5cIj5cblx0XHRcdFx0QGZvciAodGFiIG9mIG9yZGVyZWRUYWJQYWdlczsgdHJhY2sgdGFiKSB7XG5cdFx0XHRcdFx0QGlmICh0YWIuaGVhZGVyVGVtcGxhdGUpIHtcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwic2V0QWN0aXZlVGFiKHRhYilcIiBjZGtEcmFnIFtjZGtEcmFnQm91bmRhcnldPVwiZHJhZ0JvdW5kYXJ5U2VsZWN0b3JcIiBbY2RrRHJhZ1N0YXJ0RGVsYXldPVwiNTAwXCIgKGNka0RyYWdTdGFydGVkKT1cInN0YXJ0RHJhZ1RhYigkZXZlbnQpXCI+XG5cdFx0XHRcdFx0XHRcdDxsYWJlbCBbZm9yXT1cInRhYi50YWJOYW1lJCB8IGFzeW5jXCIgY2xhc3M9XCJuYXYtbGluayB0ZXh0LW5vd3JhcCBjdXJzb3ItcG9pbnRlclwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlVGFiID09PSB0YWJcIiBbY2xhc3MuZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCIgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFjdGl2ZVRhYiA9PT0gdGFiID8gJ3BhZ2UnIDogbnVsbFwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCI+XG5cdFx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIuaGVhZGVyVGVtcGxhdGUudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdFx0PC9sYWJlbD5cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdDwvdWw+XG5cdFx0PC9kaXY+XG5cdH1cbjwvbmctY29udGFpbmVyPiJdfQ==