ngx-tethys 18.0.8 → 18.1.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/action/action.component.d.ts +1 -2
  3. package/affix/affix.component.d.ts +2 -4
  4. package/alert/alert.component.d.ts +11 -19
  5. package/anchor/anchor-link.component.d.ts +2 -4
  6. package/anchor/anchor.component.d.ts +2 -7
  7. package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
  8. package/autocomplete/autocomplete.component.d.ts +1 -2
  9. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
  10. package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
  11. package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
  12. package/avatar/avatar.component.d.ts +1 -3
  13. package/avatar/avatar.pipe.d.ts +0 -2
  14. package/back-top/back-top.component.d.ts +2 -4
  15. package/badge/badge.component.d.ts +2 -2
  16. package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
  17. package/breadcrumb/breadcrumb.component.d.ts +1 -2
  18. package/button/button.component.d.ts +1 -2
  19. package/calendar/calendar-header.component.d.ts +1 -2
  20. package/calendar/calendar.component.d.ts +1 -2
  21. package/carousel/carousel-item.directive.d.ts +1 -2
  22. package/carousel/carousel.component.d.ts +1 -4
  23. package/carousel/carousel.service.d.ts +1 -2
  24. package/cascader/cascader.component.d.ts +4 -4
  25. package/checkbox/checkbox.component.d.ts +0 -2
  26. package/collapse/collapse-item.component.d.ts +2 -4
  27. package/color-picker/color-picker-panel.component.d.ts +2 -3
  28. package/color-picker/color-picker.component.d.ts +2 -4
  29. package/color-picker/coordinates.directive.d.ts +1 -2
  30. package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
  31. package/color-picker/parts/hue/hue.component.d.ts +1 -2
  32. package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
  33. package/copy/copy.directive.d.ts +0 -2
  34. package/core/click-positioner.d.ts +0 -2
  35. package/core/scroll.d.ts +1 -2
  36. package/core/update-host-class.service.d.ts +1 -2
  37. package/date-picker/abstract-picker.component.d.ts +1 -1
  38. package/date-picker/abstract-picker.directive.d.ts +2 -3
  39. package/date-picker/base-picker.component.d.ts +2 -3
  40. package/date-picker/date-picker.component.d.ts +2 -2
  41. package/date-picker/date-picker.directive.d.ts +1 -3
  42. package/date-picker/date-picker.service.d.ts +2 -2
  43. package/date-picker/index.d.ts +26 -27
  44. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
  45. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
  46. package/date-picker/lib/date/date-header.component.d.ts +0 -3
  47. package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
  48. package/date-picker/lib/date/date-table.component.d.ts +1 -3
  49. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
  50. package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
  51. package/date-picker/lib/month/month-header.component.d.ts +0 -3
  52. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  53. package/date-picker/lib/popups/date-popup.component.d.ts +1 -4
  54. package/date-picker/lib/popups/inner-popup.component.d.ts +0 -2
  55. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
  56. package/date-picker/lib/year/year-header.component.d.ts +0 -1
  57. package/date-picker/month-picker.component.d.ts +2 -2
  58. package/date-picker/picker.component.d.ts +1 -3
  59. package/date-picker/picker.pipes.d.ts +0 -3
  60. package/date-picker/quarter-picker.component.d.ts +2 -2
  61. package/date-picker/range-picker.component.d.ts +2 -2
  62. package/date-picker/range-picker.directive.d.ts +2 -3
  63. package/date-picker/week-picker.component.d.ts +2 -2
  64. package/date-picker/year-picker.component.d.ts +2 -2
  65. package/date-range/date-range.component.d.ts +3 -11
  66. package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
  67. package/dialog/body/dialog-body.component.d.ts +0 -2
  68. package/dialog/confirm/confirm.component.d.ts +2 -3
  69. package/dialog/dialog-container.component.d.ts +4 -5
  70. package/dialog/dialog.service.d.ts +4 -4
  71. package/dialog/footer/dialog-footer.component.d.ts +2 -2
  72. package/dialog/header/dialog-header.component.d.ts +2 -6
  73. package/divider/divider.component.d.ts +8 -2
  74. package/dot/dot.component.d.ts +1 -2
  75. package/drag-drop/drag-content.directive.d.ts +2 -3
  76. package/drag-drop/drag-handle.directive.d.ts +2 -3
  77. package/drag-drop/drag.directive.d.ts +4 -5
  78. package/drag-drop/drop-container.directive.d.ts +6 -3
  79. package/dropdown/dropdown-active.directive.d.ts +3 -4
  80. package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
  81. package/dropdown/dropdown-submenu.component.d.ts +1 -3
  82. package/dropdown/dropdown.directive.d.ts +3 -5
  83. package/empty/empty.component.d.ts +6 -6
  84. package/esm2022/action/action.component.mjs +20 -21
  85. package/esm2022/affix/affix.component.mjs +11 -14
  86. package/esm2022/alert/alert.component.mjs +55 -81
  87. package/esm2022/anchor/anchor-link.component.mjs +23 -16
  88. package/esm2022/anchor/anchor.component.mjs +27 -24
  89. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +25 -26
  90. package/esm2022/autocomplete/autocomplete.component.mjs +11 -11
  91. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
  92. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
  93. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
  94. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
  95. package/esm2022/avatar/avatar.component.mjs +27 -28
  96. package/esm2022/avatar/avatar.pipe.mjs +6 -7
  97. package/esm2022/back-top/back-top.component.mjs +14 -18
  98. package/esm2022/badge/badge.component.mjs +8 -9
  99. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  100. package/esm2022/breadcrumb/breadcrumb.component.mjs +15 -17
  101. package/esm2022/button/button-icon.component.mjs +4 -4
  102. package/esm2022/button/button.component.mjs +15 -15
  103. package/esm2022/calendar/calendar-header.component.mjs +15 -15
  104. package/esm2022/calendar/calendar.component.mjs +14 -15
  105. package/esm2022/card/header.component.mjs +4 -4
  106. package/esm2022/carousel/carousel-item.directive.mjs +7 -6
  107. package/esm2022/carousel/carousel.component.mjs +13 -15
  108. package/esm2022/carousel/carousel.service.mjs +7 -9
  109. package/esm2022/cascader/cascader-li.component.mjs +4 -4
  110. package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
  111. package/esm2022/cascader/cascader.component.mjs +15 -22
  112. package/esm2022/checkbox/checkbox.component.mjs +11 -13
  113. package/esm2022/collapse/collapse-item.component.mjs +21 -24
  114. package/esm2022/color-picker/color-picker-panel.component.mjs +14 -15
  115. package/esm2022/color-picker/color-picker.component.mjs +10 -11
  116. package/esm2022/color-picker/coordinates.directive.mjs +10 -10
  117. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
  118. package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
  119. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
  120. package/esm2022/comment/comment.component.mjs +4 -4
  121. package/esm2022/copy/copy.directive.mjs +8 -12
  122. package/esm2022/core/click-positioner.mjs +6 -7
  123. package/esm2022/core/scroll.mjs +7 -9
  124. package/esm2022/core/store/store.mjs +1 -1
  125. package/esm2022/core/update-host-class.service.mjs +6 -6
  126. package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
  127. package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
  128. package/esm2022/date-picker/base-picker.component.mjs +26 -26
  129. package/esm2022/date-picker/date-picker.component.mjs +10 -11
  130. package/esm2022/date-picker/date-picker.directive.mjs +6 -8
  131. package/esm2022/date-picker/date-picker.service.mjs +6 -10
  132. package/esm2022/date-picker/index.mjs +27 -28
  133. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +7 -8
  134. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
  135. package/esm2022/date-picker/lib/date/date-header.component.mjs +6 -12
  136. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
  137. package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -12
  138. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +16 -16
  139. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +8 -11
  140. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
  141. package/esm2022/date-picker/lib/month/month-header.component.mjs +6 -12
  142. package/esm2022/date-picker/lib/month/month-table.component.mjs +9 -10
  143. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +14 -29
  144. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +14 -20
  145. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +9 -10
  146. package/esm2022/date-picker/lib/year/year-header.component.mjs +6 -12
  147. package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
  148. package/esm2022/date-picker/month-picker.component.mjs +9 -11
  149. package/esm2022/date-picker/picker.component.mjs +24 -35
  150. package/esm2022/date-picker/picker.pipes.mjs +10 -11
  151. package/esm2022/date-picker/quarter-picker.component.mjs +9 -11
  152. package/esm2022/date-picker/range-picker.component.mjs +9 -11
  153. package/esm2022/date-picker/range-picker.directive.mjs +6 -8
  154. package/esm2022/date-picker/week-picker.component.mjs +9 -11
  155. package/esm2022/date-picker/year-picker.component.mjs +9 -11
  156. package/esm2022/date-range/date-range.component.mjs +17 -18
  157. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +9 -13
  158. package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
  159. package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
  160. package/esm2022/dialog/dialog-container.component.mjs +13 -18
  161. package/esm2022/dialog/dialog.service.mjs +10 -17
  162. package/esm2022/dialog/footer/dialog-footer.component.mjs +10 -14
  163. package/esm2022/dialog/header/dialog-header.component.mjs +17 -22
  164. package/esm2022/divider/divider.component.mjs +21 -13
  165. package/esm2022/dot/dot.component.mjs +7 -7
  166. package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
  167. package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
  168. package/esm2022/drag-drop/drag.directive.mjs +13 -16
  169. package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
  170. package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
  171. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
  172. package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
  173. package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
  174. package/esm2022/dropdown/dropdown.directive.mjs +12 -10
  175. package/esm2022/empty/empty.component.mjs +17 -20
  176. package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
  177. package/esm2022/form/form-group-error/form-group-error.component.mjs +12 -15
  178. package/esm2022/form/form-group-label.directive.mjs +9 -10
  179. package/esm2022/form/form-group.component.mjs +18 -22
  180. package/esm2022/form/form-submit.directive.mjs +6 -7
  181. package/esm2022/form/form-validator-loader.mjs +1 -1
  182. package/esm2022/form/form-validator.service.mjs +12 -13
  183. package/esm2022/form/form.directive.mjs +11 -16
  184. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +13 -19
  185. package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
  186. package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
  187. package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
  188. package/esm2022/grid/thy-col.directive.mjs +9 -14
  189. package/esm2022/grid/thy-grid-item.component.mjs +8 -14
  190. package/esm2022/grid/thy-grid.component.mjs +7 -8
  191. package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
  192. package/esm2022/guider/guider.directive.mjs +8 -9
  193. package/esm2022/guider/guider.service.mjs +12 -19
  194. package/esm2022/icon/icon-registry.mjs +11 -16
  195. package/esm2022/icon/icon.component.mjs +8 -9
  196. package/esm2022/image/image-group.component.mjs +7 -7
  197. package/esm2022/image/image.directive.mjs +11 -12
  198. package/esm2022/image/image.service.mjs +8 -14
  199. package/esm2022/image/preview/image-preview.component.mjs +36 -41
  200. package/esm2022/input/input-count.component.mjs +7 -10
  201. package/esm2022/input/input-group.component.mjs +15 -16
  202. package/esm2022/input/input-search.component.mjs +9 -10
  203. package/esm2022/input/input.component.mjs +17 -17
  204. package/esm2022/input/input.directive.mjs +12 -17
  205. package/esm2022/input-number/input-number.component.mjs +6 -6
  206. package/esm2022/layout/header.component.mjs +4 -4
  207. package/esm2022/layout/sidebar-header.component.mjs +4 -4
  208. package/esm2022/layout/sidebar.component.mjs +125 -121
  209. package/esm2022/list/list-item-meta.component.mjs +4 -4
  210. package/esm2022/list/selection/selection-list.mjs +25 -25
  211. package/esm2022/loading/loading.component.mjs +10 -11
  212. package/esm2022/mention/mention.directive.mjs +9 -14
  213. package/esm2022/mention/suggestions/suggestions.component.mjs +11 -12
  214. package/esm2022/menu/group/menu-group.component.mjs +37 -38
  215. package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
  216. package/esm2022/menu/item/menu-item.component.mjs +8 -9
  217. package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
  218. package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
  219. package/esm2022/message/message-container.component.mjs +21 -15
  220. package/esm2022/message/message-queue.service.mjs +6 -8
  221. package/esm2022/message/message.component.mjs +9 -10
  222. package/esm2022/message/message.service.mjs +10 -11
  223. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
  224. package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
  225. package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
  226. package/esm2022/nav/nav-item.directive.mjs +8 -11
  227. package/esm2022/nav/nav.component.mjs +35 -38
  228. package/esm2022/nav/nav.pipe.mjs +6 -7
  229. package/esm2022/notify/notify-container.component.mjs +11 -14
  230. package/esm2022/notify/notify-queue.service.mjs +6 -8
  231. package/esm2022/notify/notify.component.mjs +10 -10
  232. package/esm2022/notify/notify.service.mjs +11 -12
  233. package/esm2022/pagination/pagination.component.mjs +41 -46
  234. package/esm2022/pagination/pagination.pipe.mjs +6 -7
  235. package/esm2022/popover/header/popover-header.component.mjs +15 -17
  236. package/esm2022/popover/popover-container.component.mjs +11 -13
  237. package/esm2022/popover/popover.directive.mjs +13 -12
  238. package/esm2022/popover/popover.service.mjs +14 -26
  239. package/esm2022/progress/progress-circle.component.mjs +4 -7
  240. package/esm2022/progress/progress-strip.component.mjs +10 -13
  241. package/esm2022/progress/progress.component.mjs +5 -8
  242. package/esm2022/property/property-item.component.mjs +13 -16
  243. package/esm2022/property-operation/property-operation.component.mjs +27 -28
  244. package/esm2022/radio/button/radio-button.component.mjs +9 -15
  245. package/esm2022/radio/group/radio-group.component.mjs +17 -17
  246. package/esm2022/radio/radio.component.mjs +12 -18
  247. package/esm2022/rate/rate.component.mjs +10 -10
  248. package/esm2022/resizable/resizable.directive.mjs +10 -12
  249. package/esm2022/resizable/resizable.service.mjs +7 -9
  250. package/esm2022/resizable/resize-handle.component.mjs +16 -14
  251. package/esm2022/resizable/resize-handles.component.mjs +12 -5
  252. package/esm2022/result/result.component.mjs +4 -4
  253. package/esm2022/segment/segment-item.component.mjs +15 -18
  254. package/esm2022/segment/segment.component.mjs +29 -30
  255. package/esm2022/select/custom-select/custom-select.component.mjs +19 -35
  256. package/esm2022/select/native-select/native-select.component.mjs +10 -11
  257. package/esm2022/shared/base-form-check.component.mjs +7 -8
  258. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
  259. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
  260. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
  261. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
  262. package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
  263. package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
  264. package/esm2022/shared/directives/thy-show.mjs +11 -11
  265. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
  266. package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
  267. package/esm2022/shared/ng-transclude.directive.mjs +6 -5
  268. package/esm2022/shared/option/group/option-group.component.mjs +10 -10
  269. package/esm2022/shared/option/list-option/list-option.component.mjs +14 -22
  270. package/esm2022/shared/option/option.component.mjs +11 -22
  271. package/esm2022/shared/select/select-control/select-control.component.mjs +27 -27
  272. package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
  273. package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
  274. package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
  275. package/esm2022/skeleton/stylized/list.component.mjs +8 -9
  276. package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
  277. package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
  278. package/esm2022/slide/slide-container.component.mjs +12 -16
  279. package/esm2022/slide/slide-header/slide-header.component.mjs +13 -14
  280. package/esm2022/slide/slide-ref.service.mjs +1 -1
  281. package/esm2022/slide/slide.service.mjs +8 -12
  282. package/esm2022/slider/slider.component.mjs +8 -8
  283. package/esm2022/space/space.component.mjs +16 -16
  284. package/esm2022/statistic/statistic.component.mjs +23 -23
  285. package/esm2022/stepper/step.component.mjs +6 -11
  286. package/esm2022/stepper/stepper-button.directive.mjs +10 -11
  287. package/esm2022/stepper/stepper.component.mjs +5 -5
  288. package/esm2022/strength/strength.component.mjs +11 -12
  289. package/esm2022/switch/switch.component.mjs +11 -11
  290. package/esm2022/table/table-column.component.mjs +58 -63
  291. package/esm2022/table/table-skeleton.component.mjs +35 -38
  292. package/esm2022/table/table.component.mjs +19 -29
  293. package/esm2022/tabs/tab-content.component.mjs +9 -9
  294. package/esm2022/tabs/tabs.component.mjs +22 -25
  295. package/esm2022/tag/tag.component.mjs +22 -22
  296. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +12 -12
  297. package/esm2022/time-picker/time-picker-panel.component.mjs +31 -34
  298. package/esm2022/time-picker/time-picker.component.mjs +33 -43
  299. package/esm2022/timeline/timeline-item.component.mjs +15 -16
  300. package/esm2022/timeline/timeline.component.mjs +15 -16
  301. package/esm2022/tooltip/tooltip.component.mjs +17 -17
  302. package/esm2022/tooltip/tooltip.directive.mjs +11 -10
  303. package/esm2022/tooltip/tooltip.service.mjs +9 -13
  304. package/esm2022/transfer/transfer-list.component.mjs +9 -9
  305. package/esm2022/transfer/transfer.component.mjs +4 -4
  306. package/esm2022/tree/tree-node.component.mjs +16 -20
  307. package/esm2022/tree/tree.component.mjs +90 -96
  308. package/esm2022/tree-select/tree-select.component.mjs +28 -36
  309. package/esm2022/typography/bg-color.directive.mjs +9 -9
  310. package/esm2022/typography/text/text.component.mjs +3 -4
  311. package/esm2022/typography/text-color.directive.mjs +9 -9
  312. package/esm2022/upload/file-drop.directive.mjs +1 -1
  313. package/esm2022/upload/file-select-base.mjs +5 -6
  314. package/esm2022/upload/file-select.component.mjs +4 -3
  315. package/esm2022/upload/upload.service.mjs +6 -7
  316. package/esm2022/version.mjs +2 -2
  317. package/esm2022/vote/vote.component.mjs +4 -4
  318. package/esm2022/watermark/watermark.directive.mjs +12 -12
  319. package/fesm2022/ngx-tethys-action.mjs +20 -20
  320. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  321. package/fesm2022/ngx-tethys-affix.mjs +12 -14
  322. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  323. package/fesm2022/ngx-tethys-alert.mjs +54 -80
  324. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  325. package/fesm2022/ngx-tethys-anchor.mjs +48 -35
  326. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  327. package/fesm2022/ngx-tethys-arrow-switcher.mjs +25 -25
  328. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  329. package/fesm2022/ngx-tethys-autocomplete.mjs +63 -75
  330. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  331. package/fesm2022/ngx-tethys-avatar.mjs +32 -32
  332. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  333. package/fesm2022/ngx-tethys-back-top.mjs +15 -18
  334. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  335. package/fesm2022/ngx-tethys-badge.mjs +8 -8
  336. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  337. package/fesm2022/ngx-tethys-breadcrumb.mjs +19 -21
  338. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  339. package/fesm2022/ngx-tethys-button.mjs +16 -16
  340. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  341. package/fesm2022/ngx-tethys-calendar.mjs +26 -26
  342. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  343. package/fesm2022/ngx-tethys-card.mjs +3 -3
  344. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  345. package/fesm2022/ngx-tethys-carousel.mjs +23 -24
  346. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  347. package/fesm2022/ngx-tethys-cascader.mjs +19 -25
  348. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  349. package/fesm2022/ngx-tethys-checkbox.mjs +10 -11
  350. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  351. package/fesm2022/ngx-tethys-collapse.mjs +20 -22
  352. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  353. package/fesm2022/ngx-tethys-color-picker.mjs +47 -45
  354. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  355. package/fesm2022/ngx-tethys-comment.mjs +3 -3
  356. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  357. package/fesm2022/ngx-tethys-copy.mjs +8 -12
  358. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  359. package/fesm2022/ngx-tethys-core.mjs +14 -16
  360. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  361. package/fesm2022/ngx-tethys-date-picker.mjs +2872 -2924
  362. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  363. package/fesm2022/ngx-tethys-date-range.mjs +24 -26
  364. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  365. package/fesm2022/ngx-tethys-dialog.mjs +61 -77
  366. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  367. package/fesm2022/ngx-tethys-divider.mjs +20 -12
  368. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  369. package/fesm2022/ngx-tethys-dot.mjs +6 -6
  370. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  371. package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
  372. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  373. package/fesm2022/ngx-tethys-dropdown.mjs +49 -43
  374. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  375. package/fesm2022/ngx-tethys-empty.mjs +18 -18
  376. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  377. package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
  378. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  379. package/fesm2022/ngx-tethys-form.mjs +74 -89
  380. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  381. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
  382. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  383. package/fesm2022/ngx-tethys-grid.mjs +20 -29
  384. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  385. package/fesm2022/ngx-tethys-guider.mjs +20 -26
  386. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  387. package/fesm2022/ngx-tethys-icon.mjs +18 -22
  388. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  389. package/fesm2022/ngx-tethys-image.mjs +60 -65
  390. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  391. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  392. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  393. package/fesm2022/ngx-tethys-input.mjs +53 -60
  394. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  395. package/fesm2022/ngx-tethys-layout.mjs +129 -124
  396. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  397. package/fesm2022/ngx-tethys-list.mjs +27 -27
  398. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  399. package/fesm2022/ngx-tethys-loading.mjs +10 -10
  400. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  401. package/fesm2022/ngx-tethys-mention.mjs +19 -24
  402. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  403. package/fesm2022/ngx-tethys-menu.mjs +56 -57
  404. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  405. package/fesm2022/ngx-tethys-message.mjs +47 -41
  406. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  407. package/fesm2022/ngx-tethys-nav.mjs +61 -72
  408. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  409. package/fesm2022/ngx-tethys-notify.mjs +31 -34
  410. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  411. package/fesm2022/ngx-tethys-pagination.mjs +46 -51
  412. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  413. package/fesm2022/ngx-tethys-popover.mjs +51 -57
  414. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  415. package/fesm2022/ngx-tethys-progress.mjs +15 -24
  416. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-property-operation.mjs +27 -27
  418. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  419. package/fesm2022/ngx-tethys-property.mjs +14 -14
  420. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  421. package/fesm2022/ngx-tethys-radio.mjs +33 -39
  422. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  423. package/fesm2022/ngx-tethys-rate.mjs +9 -9
  424. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  425. package/fesm2022/ngx-tethys-resizable.mjs +43 -34
  426. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  427. package/fesm2022/ngx-tethys-result.mjs +3 -3
  428. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  429. package/fesm2022/ngx-tethys-segment.mjs +41 -44
  430. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  431. package/fesm2022/ngx-tethys-select.mjs +28 -44
  432. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  433. package/fesm2022/ngx-tethys-shared.mjs +135 -150
  434. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  435. package/fesm2022/ngx-tethys-skeleton.mjs +33 -47
  436. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  437. package/fesm2022/ngx-tethys-slide.mjs +33 -37
  438. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  439. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  440. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  441. package/fesm2022/ngx-tethys-space.mjs +16 -16
  442. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  443. package/fesm2022/ngx-tethys-statistic.mjs +22 -22
  444. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  445. package/fesm2022/ngx-tethys-stepper.mjs +17 -22
  446. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  447. package/fesm2022/ngx-tethys-strength.mjs +11 -11
  448. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  449. package/fesm2022/ngx-tethys-switch.mjs +10 -10
  450. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  451. package/fesm2022/ngx-tethys-table.mjs +107 -124
  452. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  453. package/fesm2022/ngx-tethys-tabs.mjs +29 -32
  454. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  455. package/fesm2022/ngx-tethys-tag.mjs +21 -21
  456. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  457. package/fesm2022/ngx-tethys-time-picker.mjs +70 -80
  458. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  459. package/fesm2022/ngx-tethys-timeline.mjs +26 -26
  460. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  461. package/fesm2022/ngx-tethys-tooltip.mjs +35 -36
  462. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  463. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  464. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  465. package/fesm2022/ngx-tethys-tree-select.mjs +29 -37
  466. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  467. package/fesm2022/ngx-tethys-tree.mjs +102 -110
  468. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  469. package/fesm2022/ngx-tethys-typography.mjs +18 -18
  470. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  471. package/fesm2022/ngx-tethys-upload.mjs +11 -12
  472. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  473. package/fesm2022/ngx-tethys-vote.mjs +3 -3
  474. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  475. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  476. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  477. package/fesm2022/ngx-tethys.mjs +1 -1
  478. package/fesm2022/ngx-tethys.mjs.map +1 -1
  479. package/flexible-text/flexible-text.component.d.ts +1 -3
  480. package/form/form-group-error/form-group-error.component.d.ts +1 -3
  481. package/form/form-group-label.directive.d.ts +0 -2
  482. package/form/form-group.component.d.ts +1 -4
  483. package/form/form-submit.directive.d.ts +0 -2
  484. package/form/form-validator.service.d.ts +0 -2
  485. package/form/form.directive.d.ts +4 -4
  486. package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
  487. package/form/validator/unique-validator.directive.d.ts +1 -4
  488. package/fullscreen/fullscreen.component.d.ts +0 -2
  489. package/fullscreen/fullscreen.service.d.ts +0 -2
  490. package/grid/thy-col.directive.d.ts +1 -2
  491. package/grid/thy-grid-item.component.d.ts +2 -4
  492. package/grid/thy-grid.component.d.ts +1 -3
  493. package/guider/guider.directive.d.ts +1 -3
  494. package/guider/guider.service.d.ts +0 -7
  495. package/icon/icon-registry.d.ts +1 -3
  496. package/icon/icon.component.d.ts +1 -3
  497. package/image/image-group.component.d.ts +1 -2
  498. package/image/image.directive.d.ts +1 -3
  499. package/image/image.service.d.ts +2 -2
  500. package/image/preview/image-preview.component.d.ts +1 -4
  501. package/input/input-count.component.d.ts +3 -4
  502. package/input/input-group.component.d.ts +1 -3
  503. package/input/input-search.component.d.ts +2 -2
  504. package/input/input.component.d.ts +1 -2
  505. package/input/input.directive.d.ts +2 -3
  506. package/input-number/input-number.component.d.ts +2 -2
  507. package/layout/sidebar.component.d.ts +44 -13
  508. package/list/selection/selection-list.d.ts +1 -2
  509. package/loading/loading.component.d.ts +0 -2
  510. package/loading/styles/loading.scss +3 -1
  511. package/mention/mention.directive.d.ts +4 -5
  512. package/mention/suggestions/suggestions.component.d.ts +2 -3
  513. package/menu/group/menu-group.component.d.ts +30 -8
  514. package/menu/item/action/menu-item-action.component.d.ts +2 -3
  515. package/menu/item/menu-item.component.d.ts +1 -2
  516. package/message/abstract/abstract-message-container.component.d.ts +1 -2
  517. package/message/abstract/abstract-message.component.d.ts +2 -2
  518. package/message/message-container.component.d.ts +1 -3
  519. package/message/message-queue.service.d.ts +1 -2
  520. package/message/message.component.d.ts +1 -3
  521. package/message/message.service.d.ts +3 -5
  522. package/nav/icon-nav/icon-nav.component.d.ts +2 -2
  523. package/nav/nav-ink-bar.directive.d.ts +2 -4
  524. package/nav/nav-item.directive.d.ts +3 -4
  525. package/nav/nav.component.d.ts +1 -3
  526. package/nav/nav.pipe.d.ts +0 -2
  527. package/notify/notify-container.component.d.ts +1 -3
  528. package/notify/notify-queue.service.d.ts +1 -2
  529. package/notify/notify.component.d.ts +2 -3
  530. package/notify/notify.service.d.ts +1 -4
  531. package/package.json +1 -1
  532. package/pagination/pagination.component.d.ts +2 -4
  533. package/pagination/pagination.pipe.d.ts +0 -2
  534. package/popover/header/popover-header.component.d.ts +0 -3
  535. package/popover/popover-container.component.d.ts +3 -4
  536. package/popover/popover.directive.d.ts +2 -5
  537. package/popover/popover.service.d.ts +4 -6
  538. package/progress/progress-circle.component.d.ts +0 -1
  539. package/progress/progress-strip.component.d.ts +0 -1
  540. package/progress/progress.component.d.ts +0 -1
  541. package/property/property-item.component.d.ts +6 -9
  542. package/property-operation/property-operation.component.d.ts +1 -3
  543. package/radio/button/radio-button.component.d.ts +2 -5
  544. package/radio/group/radio-group.component.d.ts +1 -2
  545. package/radio/radio.component.d.ts +2 -3
  546. package/rate/rate.component.d.ts +2 -2
  547. package/resizable/resizable.directive.d.ts +2 -4
  548. package/resizable/resizable.service.d.ts +2 -2
  549. package/resizable/resize-handle.component.d.ts +2 -7
  550. package/schematics/version.d.ts +1 -1
  551. package/schematics/version.js +1 -1
  552. package/segment/segment-item.component.d.ts +4 -5
  553. package/segment/segment.component.d.ts +2 -7
  554. package/select/custom-select/custom-select.component.d.ts +5 -5
  555. package/select/native-select/native-select.component.d.ts +1 -1
  556. package/shared/base-form-check.component.d.ts +1 -1
  557. package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
  558. package/shared/directives/thy-autofocus.directive.d.ts +0 -2
  559. package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
  560. package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
  561. package/shared/directives/thy-enter.directive.d.ts +1 -2
  562. package/shared/directives/thy-scroll.directive.d.ts +1 -2
  563. package/shared/directives/thy-show.d.ts +1 -2
  564. package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
  565. package/shared/directives/view-outlet.directive.d.ts +1 -2
  566. package/shared/ng-transclude.directive.d.ts +1 -1
  567. package/shared/option/group/option-group.component.d.ts +1 -2
  568. package/shared/option/list-option/list-option.component.d.ts +6 -7
  569. package/shared/option/option.component.d.ts +5 -5
  570. package/shared/select/select-control/select-control.component.d.ts +1 -2
  571. package/skeleton/skeleton-circle.component.d.ts +1 -4
  572. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  573. package/skeleton/stylized/bullet-list.component.d.ts +9 -1
  574. package/slide/drawer/drawer-container.directive.d.ts +1 -2
  575. package/slide/slide-container.component.d.ts +3 -4
  576. package/slide/slide-header/slide-header.component.d.ts +0 -2
  577. package/slide/slide.service.d.ts +3 -3
  578. package/slider/slider.component.d.ts +2 -2
  579. package/space/space.component.d.ts +1 -2
  580. package/statistic/statistic.component.d.ts +1 -2
  581. package/stepper/step.component.d.ts +1 -2
  582. package/stepper/stepper-button.directive.d.ts +0 -3
  583. package/strength/strength.component.d.ts +0 -1
  584. package/switch/switch.component.d.ts +1 -1
  585. package/table/table-column.component.d.ts +32 -8
  586. package/table/table-skeleton.component.d.ts +1 -3
  587. package/table/table.component.d.ts +3 -5
  588. package/tabs/tabs.component.d.ts +1 -3
  589. package/tag/tag.component.d.ts +7 -3
  590. package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
  591. package/time-picker/time-picker-panel.component.d.ts +1 -3
  592. package/time-picker/time-picker.component.d.ts +1 -2
  593. package/timeline/timeline-item.component.d.ts +1 -3
  594. package/timeline/timeline.component.d.ts +1 -3
  595. package/tooltip/tooltip.component.d.ts +1 -2
  596. package/tooltip/tooltip.directive.d.ts +6 -9
  597. package/tooltip/tooltip.service.d.ts +2 -4
  598. package/transfer/transfer-list.component.d.ts +1 -2
  599. package/tree/tree-node.component.d.ts +5 -21
  600. package/tree/tree.component.d.ts +1 -2
  601. package/tree-select/tree-select.component.d.ts +5 -6
  602. package/typography/bg-color.directive.d.ts +0 -2
  603. package/typography/text-color.directive.d.ts +1 -2
  604. package/upload/file-select-base.d.ts +2 -3
  605. package/upload/file-select.component.d.ts +1 -0
  606. package/upload/upload.service.d.ts +0 -2
  607. package/watermark/watermark.directive.d.ts +1 -2
@@ -1,7 +1,7 @@
1
1
  import { coerceBooleanProperty, isUndefinedOrNull } from 'ngx-tethys/util';
2
- import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, numberAttribute } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, Renderer2, TemplateRef, ViewChild, numberAttribute, inject } from '@angular/core';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
- import { NgClass, NgFor, NgIf, NgStyle, NgTemplateOutlet } from '@angular/common';
4
+ import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
5
5
  import { FormsModule } from '@angular/forms';
6
6
  import { ThyGridModule } from 'ngx-tethys/grid';
7
7
  import { ThyIcon } from 'ngx-tethys/icon';
@@ -13,6 +13,25 @@ import * as i2 from "ngx-tethys/grid";
13
13
  * @private
14
14
  */
15
15
  export class ThySelectControl {
16
+ constructor() {
17
+ this.renderer = inject(Renderer2);
18
+ this.inputValue = '';
19
+ this.isComposing = false;
20
+ this.panelOpened = false;
21
+ this.isMultiple = false;
22
+ this.showSearch = false;
23
+ this.disabled = false;
24
+ this.hostRenderer = useHostRenderer();
25
+ this.thyAllowClear = false;
26
+ this.thyPlaceholder = '';
27
+ this.thyMaxTagCount = 0;
28
+ this.thyBorderless = false;
29
+ this.thyPreset = '';
30
+ this.thyOnSearch = new EventEmitter();
31
+ this.thyOnRemove = new EventEmitter();
32
+ this.thyOnClear = new EventEmitter();
33
+ this.thyOnBlur = new EventEmitter();
34
+ }
16
35
  get thyPanelOpened() {
17
36
  return this.panelOpened;
18
37
  }
@@ -145,25 +164,6 @@ export class ThySelectControl {
145
164
  return ((!this.isMultiple && !isUndefinedOrNull(this.thySelectedOptions)) ||
146
165
  (this.isMultiple && this.thySelectedOptions.length > 0));
147
166
  }
148
- constructor(renderer) {
149
- this.renderer = renderer;
150
- this.inputValue = '';
151
- this.isComposing = false;
152
- this.panelOpened = false;
153
- this.isMultiple = false;
154
- this.showSearch = false;
155
- this.disabled = false;
156
- this.hostRenderer = useHostRenderer();
157
- this.thyAllowClear = false;
158
- this.thyPlaceholder = '';
159
- this.thyMaxTagCount = 0;
160
- this.thyBorderless = false;
161
- this.thyPreset = '';
162
- this.thyOnSearch = new EventEmitter();
163
- this.thyOnRemove = new EventEmitter();
164
- this.thyOnClear = new EventEmitter();
165
- this.thyOnBlur = new EventEmitter();
166
- }
167
167
  ngOnInit() {
168
168
  this.setSelectControlClass();
169
169
  }
@@ -226,15 +226,15 @@ export class ThySelectControl {
226
226
  onBlur(event) {
227
227
  this.thyOnBlur.emit(event);
228
228
  }
229
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySelectControl, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
230
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0", type: ThySelectControl, isStandalone: true, selector: "thy-select-control,[thySelectControl]", inputs: { thyPanelOpened: ["thyPanelOpened", "thyPanelOpened", coerceBooleanProperty], thyIsMultiple: ["thyIsMultiple", "thyIsMultiple", coerceBooleanProperty], thyShowSearch: ["thyShowSearch", "thyShowSearch", coerceBooleanProperty], thySelectedOptions: "thySelectedOptions", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], customDisplayTemplate: "customDisplayTemplate", thyAllowClear: ["thyAllowClear", "thyAllowClear", coerceBooleanProperty], thyPlaceholder: "thyPlaceholder", thySize: "thySize", thyMaxTagCount: ["thyMaxTagCount", "thyMaxTagCount", numberAttribute], thyBorderless: ["thyBorderless", "thyBorderless", coerceBooleanProperty], thyPreset: "thyPreset" }, outputs: { thyOnSearch: "thyOnSearch", thyOnRemove: "thyOnRemove", thyOnClear: "thyOnClear", thyOnBlur: "thyOnBlur" }, host: { properties: { "class.select-control-borderless": "thyBorderless" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n <div class=\"text-placeholder text-truncate\" *ngIf=\"!isSelectedValue\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n <ng-container *ngIf=\"isMultiple; else single\">\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n <ng-container *ngIf=\"thyPreset === 'tag'; else default\">\n <div thyFlexItem class=\"custom-choice-item text-truncate\" *ngFor=\"let item of maxSelectedTags; trackBy: trackValue\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n <div *ngIf=\"!disabled\" class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n </div>\n </ng-container>\n\n <ng-template #default>\n <div\n thyFlexItem\n thyTag\n class=\"choice-item\"\n [ngClass]=\"{ disabled: disabled === true }\"\n [thySize]=\"tagSize\"\n *ngFor=\"let item of maxSelectedTags; trackBy: trackValue\">\n <div class=\"text-truncate h-100\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ item.thyLabelText }}\n </ng-container>\n </div>\n <div *ngIf=\"!disabled\" class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n </div>\n </ng-template>\n\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n *ngIf=\"thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount\"\n thyTag\n [thySize]=\"tagSize\"\n [ngClass]=\"{ disabled: disabled === true }\">\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </div>\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n </ng-container>\n <ng-template #single>\n <ng-container *ngIf=\"isSelectedValue\">\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n <span class=\"text-truncate\">{{ selectedValue?.thyLabelText }}</span>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </ng-template>\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n<span class=\"select-control-clear remove-link\" *ngIf=\"showClearIcon\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</span>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyGridModule }, { kind: "directive", type: i2.ThyFlex, selector: "[thyFlex]", inputs: ["thyDirection", "thyWrap", "thyJustifyContent", "thyAlignItems", "thyGap"] }, { kind: "directive", type: i2.ThyFlexItem, selector: "[thyFlexItem]", inputs: ["thyFlexItem", "thyGrow", "thyShrink", "thyBasis"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySelectControl, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
230
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThySelectControl, isStandalone: true, selector: "thy-select-control,[thySelectControl]", inputs: { thyPanelOpened: ["thyPanelOpened", "thyPanelOpened", coerceBooleanProperty], thyIsMultiple: ["thyIsMultiple", "thyIsMultiple", coerceBooleanProperty], thyShowSearch: ["thyShowSearch", "thyShowSearch", coerceBooleanProperty], thySelectedOptions: "thySelectedOptions", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty], customDisplayTemplate: "customDisplayTemplate", thyAllowClear: ["thyAllowClear", "thyAllowClear", coerceBooleanProperty], thyPlaceholder: "thyPlaceholder", thySize: "thySize", thyMaxTagCount: ["thyMaxTagCount", "thyMaxTagCount", numberAttribute], thyBorderless: ["thyBorderless", "thyBorderless", coerceBooleanProperty], thyPreset: "thyPreset" }, outputs: { thyOnSearch: "thyOnSearch", thyOnRemove: "thyOnRemove", thyOnClear: "thyOnClear", thyOnBlur: "thyOnBlur" }, host: { properties: { "class.select-control-borderless": "thyBorderless" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n @if (!isSelectedValue) {\n <div class=\"text-placeholder text-truncate\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n }\n @if (isMultiple) {\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n @if (thyPreset === 'tag') {\n @for (item of maxSelectedTags; track trackValue($index, item)) {\n <div thyFlexItem class=\"custom-choice-item text-truncate\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n @if (!disabled) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n } @else {\n @for (item of maxSelectedTags; track trackValue($index, item)) {\n <div\n thyFlexItem\n thyTag\n class=\"choice-item\"\n [ngClass]=\"{ disabled: disabled === true }\"\n [thySize]=\"tagSize\"\n >\n <div class=\"text-truncate h-100\">\n @if (!customDisplayTemplate) {\n {{ item.thyLabelText }}\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n }\n </div>\n @if (!disabled) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n }\n @if (thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount) {\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n thyTag\n [thySize]=\"tagSize\"\n [ngClass]=\"{ disabled: disabled === true }\">\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </div>\n }\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n } @else {\n @if (isSelectedValue) {\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n @if (!customDisplayTemplate) {\n <span class=\"text-truncate\">{{ selectedValue?.thyLabelText }}</span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"></ng-template>\n }\n </div>\n }\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n }\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n@if (showClearIcon) {\n <span class=\"select-control-clear remove-link\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </span>\n}\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "ngmodule", type: ThyGridModule }, { kind: "directive", type: i2.ThyFlex, selector: "[thyFlex]", inputs: ["thyDirection", "thyWrap", "thyJustifyContent", "thyAlignItems", "thyGap"] }, { kind: "directive", type: i2.ThyFlexItem, selector: "[thyFlexItem]", inputs: ["thyFlexItem", "thyGrow", "thyShrink", "thyBasis"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
231
231
  }
232
232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySelectControl, decorators: [{
233
233
  type: Component,
234
- args: [{ selector: 'thy-select-control,[thySelectControl]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormsModule, NgClass, NgIf, NgStyle, NgFor, ThyTag, NgTemplateOutlet, ThyIcon, ThyGridModule], host: {
234
+ args: [{ selector: 'thy-select-control,[thySelectControl]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormsModule, NgClass, NgStyle, ThyTag, NgTemplateOutlet, ThyIcon, ThyGridModule], host: {
235
235
  '[class.select-control-borderless]': 'thyBorderless'
236
- }, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n <div class=\"text-placeholder text-truncate\" *ngIf=\"!isSelectedValue\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n <ng-container *ngIf=\"isMultiple; else single\">\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n <ng-container *ngIf=\"thyPreset === 'tag'; else default\">\n <div thyFlexItem class=\"custom-choice-item text-truncate\" *ngFor=\"let item of maxSelectedTags; trackBy: trackValue\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n <div *ngIf=\"!disabled\" class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n </div>\n </ng-container>\n\n <ng-template #default>\n <div\n thyFlexItem\n thyTag\n class=\"choice-item\"\n [ngClass]=\"{ disabled: disabled === true }\"\n [thySize]=\"tagSize\"\n *ngFor=\"let item of maxSelectedTags; trackBy: trackValue\">\n <div class=\"text-truncate h-100\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ item.thyLabelText }}\n </ng-container>\n </div>\n <div *ngIf=\"!disabled\" class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n </div>\n </ng-template>\n\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n *ngIf=\"thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount\"\n thyTag\n [thySize]=\"tagSize\"\n [ngClass]=\"{ disabled: disabled === true }\">\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </div>\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n </ng-container>\n <ng-template #single>\n <ng-container *ngIf=\"isSelectedValue\">\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n <span class=\"text-truncate\">{{ selectedValue?.thyLabelText }}</span>\n </ng-container>\n </div>\n </ng-container>\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </ng-template>\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n<span class=\"select-control-clear remove-link\" *ngIf=\"showClearIcon\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</span>\n" }]
237
- }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { thyPanelOpened: [{
236
+ }, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n [tabindex]=\"-1\"\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n (blur)=\"onBlur($event)\" />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n @if (!isSelectedValue) {\n <div class=\"text-placeholder text-truncate\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n }\n @if (isMultiple) {\n <div thyFlex thyWrap=\"wrap\" thyGap=\"4\" thyAlignItems=\"center\" class=\"w-100\">\n @if (thyPreset === 'tag') {\n @for (item of maxSelectedTags; track trackValue($index, item)) {\n <div thyFlexItem class=\"custom-choice-item text-truncate\">\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\">\n </ng-template>\n @if (!disabled) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n } @else {\n @for (item of maxSelectedTags; track trackValue($index, item)) {\n <div\n thyFlexItem\n thyTag\n class=\"choice-item\"\n [ngClass]=\"{ disabled: disabled === true }\"\n [thySize]=\"tagSize\"\n >\n <div class=\"text-truncate h-100\">\n @if (!customDisplayTemplate) {\n {{ item.thyLabelText }}\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"></ng-template>\n }\n </div>\n @if (!disabled) {\n <div class=\"choice-remove-link ml-1\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n }\n </div>\n }\n }\n @if (thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount) {\n <div\n thyFlexItem\n class=\"choice-item max-tag-count-choice\"\n thyTag\n [thySize]=\"tagSize\"\n [ngClass]=\"{ disabled: disabled === true }\">\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </div>\n }\n <div thyFlexItem class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </div>\n } @else {\n @if (isSelectedValue) {\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n @if (!customDisplayTemplate) {\n <span class=\"text-truncate\">{{ selectedValue?.thyLabelText }}</span>\n } @else {\n <ng-template\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"></ng-template>\n }\n </div>\n }\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n }\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n@if (showClearIcon) {\n <span class=\"select-control-clear remove-link\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n </span>\n}\n" }]
237
+ }], propDecorators: { thyPanelOpened: [{
238
238
  type: Input,
239
239
  args: [{ transform: coerceBooleanProperty }]
240
240
  }], thyIsMultiple: [{
@@ -277,4 +277,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
277
277
  type: ViewChild,
278
278
  args: ['inputElement']
279
279
  }] } });
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0UsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLeEM7O0dBRUc7QUFXSCxNQUFNLE9BQU8sZ0JBQWdCO0lBdUJ6QixJQUNJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksY0FBYyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FB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QjtzQkFEcEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBSTNDLGNBQWM7c0JBRGIsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBa0JpQyxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFFUSxhQUFhO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUVsQyxTQUFTO3NCQUFqQixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsTUFBTTtnQkFJQSxXQUFXO3NCQURqQixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsU0FBUztzQkFEZixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5VGFnU2l6ZSB9IGZyb20gJ25neC10ZXRoeXMvdGFnJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgbnVtYmVyQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlHcmlkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9ncmlkJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5VGFnIH0gZnJvbSAnbmd4LXRldGh5cy90YWcnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uQmFzZSB9IGZyb20gJy4uLy4uL29wdGlvbi9zZWxlY3Qtb3B0aW9uLWJhc2UnO1xuXG5leHBvcnQgdHlwZSBTZWxlY3RDb250cm9sU2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAnJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1zZWxlY3QtY29udHJvbCxbdGh5U2VsZWN0Q29udHJvbF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIE5nQ2xhc3MsIE5nSWYsIE5nU3R5bGUsIE5nRm9yLCBUaHlUYWcsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeUljb24sIFRoeUdyaWRNb2R1bGVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5zZWxlY3QtY29udHJvbC1ib3JkZXJsZXNzXSc6ICd0aHlCb3JkZXJsZXNzJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGh5U2VsZWN0Q29udHJvbCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgaW5wdXRWYWx1ZSA9ICcnO1xuXG4gICAgaXNDb21wb3NpbmcgPSBmYWxzZTtcblxuICAgIHBhbmVsT3BlbmVkID0gZmFsc2U7XG5cbiAgICBpc011bHRpcGxlID0gZmFsc2U7XG5cbiAgICBzaG93U2VhcmNoID0gZmFsc2U7XG5cbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgc2l6ZTogU2VsZWN0Q29udHJvbFNpemU7XG5cbiAgICBzZWxlY3RlZE9wdGlvbnM6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW107XG5cbiAgICBzZWFyY2hJbnB1dENvbnRyb2xDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH07XG5cbiAgICB0YWdTaXplOiBUaHlUYWdTaXplO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgZ2V0IHRoeVBhbmVsT3BlbmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wYW5lbE9wZW5lZDtcbiAgICB9XG5cbiAgICBzZXQgdGh5UGFuZWxPcGVuZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5wYW5lbE9wZW5lZCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5wYW5lbE9wZW5lZCAmJiB0aGlzLnRoeVNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucGFuZWxPcGVuZWQgJiYgdGhpcy50aHlTaG93U2VhcmNoKSB7XG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKCcnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG4gICAgfVxuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBnZXQgdGh5SXNNdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNdWx0aXBsZTtcbiAgICB9XG5cbiAgICBzZXQgdGh5SXNNdWx0aXBsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzTXVsdGlwbGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RDb250cm9sQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIGdldCB0aHlTaG93U2VhcmNoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93U2VhcmNoO1xuICAgIH1cblxuICAgIHNldCB0aHlTaG93U2VhcmNoKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd1NlYXJjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRoeVNlbGVjdGVkT3B0aW9ucygpOiBTZWxlY3RPcHRpb25CYXNlIHwgU2VsZWN0T3B0aW9uQmFzZVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb25zO1xuICAgIH1cblxuICAgIHNldCB0aHlTZWxlY3RlZE9wdGlvbnModmFsdWU6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW10pIHtcbiAgICAgICAgbGV0IHNhbWVWYWx1ZSA9IGZhbHNlO1xuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zO1xuICAgICAgICBpZiAodGhpcy5pc011bHRpcGxlKSB7XG4gICAgICAgICAgICBpZiAob2xkVmFsdWUgaW5zdGFuY2VvZiBBcnJheSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIG9sZFZhbHVlLmxlbmd0aCA9PT0gdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2FtZVZhbHVlID0gdmFsdWUuZXZlcnkoKG9wdGlvbiwgaW5kZXgpID0+IG9wdGlvbi50aHlWYWx1ZSA9PT0gb2xkVmFsdWVbaW5kZXhdLnRoeVZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChvbGRWYWx1ZSAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHNhbWVWYWx1ZSA9IChvbGRWYWx1ZSBhcyBTZWxlY3RPcHRpb25CYXNlKS50aHlWYWx1ZSA9PT0gKHZhbHVlIGFzIFNlbGVjdE9wdGlvbkJhc2UpLnRoeVZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnBhbmVsT3BlbmVkICYmIHRoaXMudGh5U2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKCFzYW1lVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRWYWx1ZSgnJyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL+etieW+hee7hOS7tua4suafk+WlveWGjeiBmueEplxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIGdldCB0aHlEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RDb250cm9sQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGN1c3RvbURpc3BsYXlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5QWxsb3dDbGVhciA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICB0aHlQbGFjZWhvbGRlciA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGh5U2l6ZSgpOiBTZWxlY3RDb250cm9sU2l6ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemU7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IFNlbGVjdENvbnRyb2xTaXplKSB7XG4gICAgICAgIHRoaXMuc2l6ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJ3hzJyB8fCB2YWx1ZSA9PT0gJ3NtJykge1xuICAgICAgICAgICAgdGhpcy50YWdTaXplID0gJ3NtJztcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ2xnJykge1xuICAgICAgICAgICAgdGhpcy50YWdTaXplID0gJ2xnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnU2l6ZSA9ICdtZCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0aHlNYXhUYWdDb3VudCA9IDA7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlCb3JkZXJsZXNzID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSB0aHlQcmVzZXQ6IHN0cmluZyA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgdGh5T25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHlPblJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtOiBTZWxlY3RPcHRpb25CYXNlOyAkZXZlbnRPcmlnaW46IEV2ZW50IH0+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdGh5T25DbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdGh5T25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG4gICAgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgZ2V0IHNlbGVjdGVkVmFsdWVTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgbGV0IHNob3dTZWxlY3RlZFZhbHVlID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBhbmVsT3BlbmVkKSB7XG4gICAgICAgICAgICAgICAgc2hvd1NlbGVjdGVkVmFsdWUgPSAhKHRoaXMuaXNDb21wb3NpbmcgfHwgdGhpcy5pbnB1dFZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2hvd1NlbGVjdGVkVmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2hvd1NlbGVjdGVkVmFsdWUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGRpc3BsYXk6IHNob3dTZWxlY3RlZFZhbHVlID8gJ2ZsZXgnIDogJ25vbmUnIH07XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIGxldCBwbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMudGh5UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNDb21wb3NpbmcgfHwgdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGRpc3BsYXk6IHBsYWNlaG9sZGVyID8gJ2Jsb2NrJyA6ICdub25lJyB9O1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgbXVsdGlwbGVTZWxlY3RlZFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgbWF4U2VsZWN0ZWRUYWdzKCkge1xuICAgICAgICBpZiAodGhpcy50aHlNYXhUYWdDb3VudCA+IDAgJiYgdGhpcy50aHlTZWxlY3RlZE9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSAmJiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiB0aGlzLnRoeU1heFRhZ0NvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlTZWxlY3RlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy50aHlNYXhUYWdDb3VudCAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucyBhcyBTZWxlY3RPcHRpb25CYXNlW107XG4gICAgfVxuXG4gICAgZ2V0IHNob3dDbGVhckljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeUFsbG93Q2xlYXIgJiYgdGhpcy5pc1NlbGVjdGVkVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2VsZWN0ZWRWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghdGhpcy5pc011bHRpcGxlICYmICFpc1VuZGVmaW5lZE9yTnVsbCh0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucykpIHx8XG4gICAgICAgICAgICAodGhpcy5pc011bHRpcGxlICYmICg8U2VsZWN0T3B0aW9uQmFzZVtdPnRoaXMudGh5U2VsZWN0ZWRPcHRpb25zKS5sZW5ndGggPiAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIHNldFNlbGVjdENvbnRyb2xDbGFzcygpIHtcbiAgICAgICAgY29uc3QgbW9kZVR5cGUgPSB0aGlzLmlzTXVsdGlwbGUgPyAnbXVsdGlwbGUnIDogJ3NpbmdsZSc7XG4gICAgICAgIGNvbnN0IHNlbGVjdENvbnRyb2xDbGFzcyA9IHtcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sYF06IHRydWUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC0ke3RoaXMudGh5U2l6ZX1gXTogISF0aGlzLnRoeVNpemUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC1jdXN0b21gXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2xgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2wtJHttb2RlVHlwZX1gXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2wtc2hvdy1zZWFyY2hgXTogdGhpcy5zaG93U2VhcmNoLFxuICAgICAgICAgICAgW2BwYW5lbC1pcy1vcGVuZWRgXTogdGhpcy5wYW5lbE9wZW5lZCxcbiAgICAgICAgICAgIFtgZGlzYWJsZWRgXTogdGhpcy5kaXNhYmxlZFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzc0J5TWFwKHNlbGVjdENvbnRyb2xDbGFzcyk7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRDb250cm9sQ2xhc3MgPSB7XG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbGBdOiB0cnVlLFxuICAgICAgICAgICAgW2Bmb3JtLWNvbnRyb2wtJHt0aGlzLnRoeVNpemV9YF06ICEhdGhpcy50aHlTaXplLFxuICAgICAgICAgICAgW2BzZWFyY2gtaW5wdXQtZmllbGRgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgaGlkZGVuYF06ICF0aGlzLnRoeVNob3dTZWFyY2hcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzZXRJbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmlucHV0VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVXaWR0aCgpO1xuICAgICAgICAgICAgdGhpcy50aHlPblNlYXJjaC5lbWl0KHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVCYWNrc3BhY2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkuaXNDb21wb3NpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnNlbGVjdGVkT3B0aW9ucyBpbnN0YW5jZW9mIEFycmF5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlSGFuZGxlKHRoaXMuc2VsZWN0ZWRPcHRpb25zW3RoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCAtIDFdLCBldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVXaWR0aCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNdWx0aXBsZSAmJiB0aGlzLnRoeVNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUgfHwgdGhpcy5pc0NvbXBvc2luZykge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aH1weGApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlSGFuZGxlKGl0ZW06IFNlbGVjdE9wdGlvbkJhc2UsICRldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlPblJlbW92ZS5lbWl0KHsgaXRlbTogaXRlbSwgJGV2ZW50T3JpZ2luOiAkZXZlbnQgfSk7XG4gICAgfVxuXG4gICAgY2xlYXJIYW5kbGUoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRoeU9uQ2xlYXIuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIHRyYWNrVmFsdWUoX2luZGV4OiBudW1iZXIsIG9wdGlvbjogU2VsZWN0T3B0aW9uQmFzZSk6IGFueSB7XG4gICAgICAgIHJldHVybiBvcHRpb24udGh5VmFsdWU7XG4gICAgfVxuXG4gICAgb25CbHVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRoeU9uQmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2lucHV0VGVtcGxhdGU+XG4gIDxpbnB1dFxuICAgICNpbnB1dEVsZW1lbnRcbiAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgIChjb21wb3NpdGlvbnN0YXJ0KT1cImlzQ29tcG9zaW5nID0gdHJ1ZVwiXG4gICAgKGNvbXBvc2l0aW9uZW5kKT1cImlzQ29tcG9zaW5nID0gZmFsc2VcIlxuICAgIGF1dG9jb21wbGV0ZT1cInNvbWV0aGluZy1uZXdcIlxuICAgIFtuZ0NsYXNzXT1cInNlYXJjaElucHV0Q29udHJvbENsYXNzXCJcbiAgICAoaW5wdXQpPVwidXBkYXRlV2lkdGgoKVwiXG4gICAgW25nTW9kZWxdPVwiaW5wdXRWYWx1ZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0SW5wdXRWYWx1ZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwiaGFuZGxlQmFja3NwYWNlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJ0aHlEaXNhYmxlZFwiXG4gICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBjbGFzcz1cInNlbGVjdC1jb250cm9sLXJlbmRlcmVkXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXBsYWNlaG9sZGVyIHRleHQtdHJ1bmNhdGVcIiAqbmdJZj1cIiFpc1NlbGVjdGVkVmFsdWVcIiBbbmdTdHlsZV09XCJwbGFjZWhvbGRlclN0eWxlXCI+XG4gICAge3sgdGh5UGxhY2Vob2xkZXIgfX1cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc011bHRpcGxlOyBlbHNlIHNpbmdsZVwiPlxuICAgIDxkaXYgdGh5RmxleCB0aHlXcmFwPVwid3JhcFwiIHRoeUdhcD1cIjRcIiB0aHlBbGlnbkl0ZW1zPVwiY2VudGVyXCIgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoeVByZXNldCA9PT0gJ3RhZyc7IGVsc2UgZGVmYXVsdFwiPlxuICAgICAgICA8ZGl2IHRoeUZsZXhJdGVtIGNsYXNzPVwiY3VzdG9tLWNob2ljZS1pdGVtIHRleHQtdHJ1bmNhdGVcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtYXhTZWxlY3RlZFRhZ3M7IHRyYWNrQnk6IHRyYWNrVmFsdWVcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0udGh5UmF3VmFsdWUgfHwgaXRlbS50aHlWYWx1ZSB8fCBpdGVtIH1cIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZGlzYWJsZWRcIiBjbGFzcz1cImNob2ljZS1yZW1vdmUtbGluayBtbC0xXCIgKGNsaWNrKT1cInJlbW92ZUhhbmRsZShpdGVtLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIiBjbGFzcz1cImZvbnQtc2l6ZS1zbVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHRoeUZsZXhJdGVtXG4gICAgICAgICAgdGh5VGFnXG4gICAgICAgICAgY2xhc3M9XCJjaG9pY2UtaXRlbVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgPT09IHRydWUgfVwiXG4gICAgICAgICAgW3RoeVNpemVdPVwidGFnU2l6ZVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWF4U2VsZWN0ZWRUYWdzOyB0cmFja0J5OiB0cmFja1ZhbHVlXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtdHJ1bmNhdGUgaC0xMDBcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAjY3VzdG9tRGlzcGxheVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21EaXNwbGF5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0udGh5UmF3VmFsdWUgfHwgaXRlbS50aHlWYWx1ZSB8fCBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21EaXNwbGF5VGVtcGxhdGU7IGVsc2UgY3VzdG9tRGlzcGxheVwiPlxuICAgICAgICAgICAgICB7eyBpdGVtLnRoeUxhYmVsVGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFkaXNhYmxlZFwiIGNsYXNzPVwiY2hvaWNlLXJlbW92ZS1saW5rIG1sLTFcIiAoY2xpY2spPVwicmVtb3ZlSGFuZGxlKGl0ZW0sICRldmVudClcIj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiIGNsYXNzPVwiZm9udC1zaXplLXNtXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIHRoeUZsZXhJdGVtXG4gICAgICAgIGNsYXNzPVwiY2hvaWNlLWl0ZW0gbWF4LXRhZy1jb3VudC1jaG9pY2VcIlxuICAgICAgICAqbmdJZj1cInRoeU1heFRhZ0NvdW50ICYmIG11bHRpcGxlU2VsZWN0ZWRWYWx1ZS5sZW5ndGggPiB0aHlNYXhUYWdDb3VudFwiXG4gICAgICAgIHRoeVRhZ1xuICAgICAgICBbdGh5U2l6ZV09XCJ0YWdTaXplXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgPT09IHRydWUgfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPit7eyBtdWx0aXBsZVNlbGVjdGVkVmFsdWUubGVuZ3RoIC0gdGh5TWF4VGFnQ291bnQgKyAxIH19Li4uPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgdGh5RmxleEl0ZW0gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1zZWFyY2hcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlucHV0VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI3NpbmdsZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTZWxlY3RlZFZhbHVlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtdmFsdWUgdGV4dC10cnVuY2F0ZVwiIFtuZ1N0eWxlXT1cInNlbGVjdGVkVmFsdWVTdHlsZVwiPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAjY3VzdG9tRGlzcGxheVxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDogc2VsZWN0ZWRWYWx1ZS50aHlSYXdWYWx1ZSB8fCBzZWxlY3RlZFZhbHVlLnRoeVZhbHVlIHx8IHNlbGVjdGVkVmFsdWVcbiAgICAgICAgICB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21EaXNwbGF5VGVtcGxhdGU7IGVsc2UgY3VzdG9tRGlzcGxheVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPnt7IHNlbGVjdGVkVmFsdWU/LnRoeUxhYmVsVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtc2VhcmNoXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5wdXRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbjxzcGFuIGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtYXJyb3dcIj5cbiAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtZG93blwiIGNsYXNzPVwiZm9udC1zaXplLWJhc2VcIj48L3RoeS1pY29uPlxuPC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1jbGVhciByZW1vdmUtbGlua1wiICpuZ0lmPVwic2hvd0NsZWFySWNvblwiIChjbGljayk9XCJjbGVhckhhbmRsZSgkZXZlbnQpXCI+XG4gIDx0aHktaWNvbiBjbGFzcz1cInJlbW92ZS1saW5rLWljb24gZm9udC1zaXplLWJhc2VcIiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIj48L3RoeS1pY29uPlxuPC9zcGFuPlxuIl19
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0UsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS3hDOztHQUVHO0FBV0gsTUFBTSxPQUFPLGdCQUFnQjtJQVY3QjtRQVdZLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFckMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVoQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixnQkFBVyxHQUFHLEtB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cUJBQXFCLEVBQUU7Z0JBSTNDLGNBQWM7c0JBRGIsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBa0JpQyxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFFUSxhQUFhO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUVsQyxTQUFTO3NCQUFqQixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsTUFBTTtnQkFJQSxXQUFXO3NCQURqQixNQUFNO2dCQUlBLFVBQVU7c0JBRGhCLE1BQU07Z0JBSUEsU0FBUztzQkFEZixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5VGFnU2l6ZSB9IGZyb20gJ25neC10ZXRoeXMvdGFnJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5cbmltcG9ydCB7IE5nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlHcmlkTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9ncmlkJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5VGFnIH0gZnJvbSAnbmd4LXRldGh5cy90YWcnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uQmFzZSB9IGZyb20gJy4uLy4uL29wdGlvbi9zZWxlY3Qtb3B0aW9uLWJhc2UnO1xuXG5leHBvcnQgdHlwZSBTZWxlY3RDb250cm9sU2l6ZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAnJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1zZWxlY3QtY29udHJvbCxbdGh5U2VsZWN0Q29udHJvbF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIE5nQ2xhc3MsIE5nU3R5bGUsIFRoeVRhZywgTmdUZW1wbGF0ZU91dGxldCwgVGh5SWNvbiwgVGh5R3JpZE1vZHVsZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnNlbGVjdC1jb250cm9sLWJvcmRlcmxlc3NdJzogJ3RoeUJvcmRlcmxlc3MnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaHlTZWxlY3RDb250cm9sIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgICBpbnB1dFZhbHVlID0gJyc7XG5cbiAgICBpc0NvbXBvc2luZyA9IGZhbHNlO1xuXG4gICAgcGFuZWxPcGVuZWQgPSBmYWxzZTtcblxuICAgIGlzTXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIHNob3dTZWFyY2ggPSBmYWxzZTtcblxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBzaXplOiBTZWxlY3RDb250cm9sU2l6ZTtcblxuICAgIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0T3B0aW9uQmFzZSB8IFNlbGVjdE9wdGlvbkJhc2VbXTtcblxuICAgIHNlYXJjaElucHV0Q29udHJvbENsYXNzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfTtcblxuICAgIHRhZ1NpemU6IFRoeVRhZ1NpemU7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBnZXQgdGh5UGFuZWxPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhbmVsT3BlbmVkO1xuICAgIH1cblxuICAgIHNldCB0aHlQYW5lbE9wZW5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBhbmVsT3BlbmVkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnBhbmVsT3BlbmVkICYmIHRoaXMudGh5U2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wYW5lbE9wZW5lZCAmJiB0aGlzLnRoeVNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldElucHV0VmFsdWUoJycpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RDb250cm9sQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIGdldCB0aHlJc011bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc011bHRpcGxlO1xuICAgIH1cblxuICAgIHNldCB0aHlJc011bHRpcGxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNNdWx0aXBsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgZ2V0IHRoeVNob3dTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dTZWFyY2g7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNob3dTZWFyY2godmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93U2VhcmNoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGh5U2VsZWN0ZWRPcHRpb25zKCk6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNlbGVjdGVkT3B0aW9ucyh2YWx1ZTogU2VsZWN0T3B0aW9uQmFzZSB8IFNlbGVjdE9wdGlvbkJhc2VbXSkge1xuICAgICAgICBsZXQgc2FtZVZhbHVlID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmIChvbGRWYWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgb2xkVmFsdWUubGVuZ3RoID09PSB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzYW1lVmFsdWUgPSB2YWx1ZS5ldmVyeSgob3B0aW9uLCBpbmRleCkgPT4gb3B0aW9uLnRoeVZhbHVlID09PSBvbGRWYWx1ZVtpbmRleF0udGh5VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG9sZFZhbHVlICYmIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgc2FtZVZhbHVlID0gKG9sZFZhbHVlIGFzIFNlbGVjdE9wdGlvbkJhc2UpLnRoeVZhbHVlID09PSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uQmFzZSkudGh5VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQgJiYgdGhpcy50aHlTaG93U2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAoIXNhbWVWYWx1ZSkge1xuICAgICAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKCcnKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8v562J5b6F57uE5Lu25riy5p+T5aW95YaN6IGa54SmXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYW5lbE9wZW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgdGh5RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgY3VzdG9tRGlzcGxheVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlBbGxvd0NsZWFyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHRoeVBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB0aHlTaXplKCk6IFNlbGVjdENvbnRyb2xTaXplIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogU2VsZWN0Q29udHJvbFNpemUpIHtcbiAgICAgICAgdGhpcy5zaXplID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSAneHMnIHx8IHZhbHVlID09PSAnc20nKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ1NpemUgPSAnc20nO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnbGcnKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ1NpemUgPSAnbGcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50YWdTaXplID0gJ21kJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeU1heFRhZ0NvdW50ID0gMDtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUJvcmRlcmxlc3MgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHRoeVByZXNldDogc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICB0aHlPblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHRoeU9uUmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW06IFNlbGVjdE9wdGlvbkJhc2U7ICRldmVudE9yaWdpbjogRXZlbnQgfT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHlPbkNsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB0aHlPbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JylcbiAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBnZXQgc2VsZWN0ZWRWYWx1ZVN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICBsZXQgc2hvd1NlbGVjdGVkVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9ICEodGhpcy5pc0NvbXBvc2luZyB8fCB0aGlzLmlucHV0VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZGlzcGxheTogc2hvd1NlbGVjdGVkVmFsdWUgPyAnZmxleCcgOiAnbm9uZScgfTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgbGV0IHBsYWNlaG9sZGVyID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RlZFZhbHVlKSB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy50aHlQbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0NvbXBvc2luZyB8fCB0aGlzLmlucHV0VmFsdWUpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZGlzcGxheTogcGxhY2Vob2xkZXIgPyAnYmxvY2snIDogJ25vbmUnIH07XG4gICAgfVxuXG4gICAgZ2V0IHNlbGVjdGVkVmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zO1xuICAgIH1cblxuICAgIGdldCBtdWx0aXBsZVNlbGVjdGVkVmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zO1xuICAgIH1cblxuICAgIGdldCBtYXhTZWxlY3RlZFRhZ3MoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeU1heFRhZ0NvdW50ID4gMCAmJiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucyBpbnN0YW5jZW9mIEFycmF5ICYmIHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IHRoaXMudGh5TWF4VGFnQ291bnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucy5zbGljZSgwLCB0aGlzLnRoeU1heFRhZ0NvdW50IC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zIGFzIFNlbGVjdE9wdGlvbkJhc2VbXTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd0NsZWFySWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5QWxsb3dDbGVhciAmJiB0aGlzLmlzU2VsZWN0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaXNTZWxlY3RlZFZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKCF0aGlzLmlzTXVsdGlwbGUgJiYgIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXMudGh5U2VsZWN0ZWRPcHRpb25zKSkgfHxcbiAgICAgICAgICAgICh0aGlzLmlzTXVsdGlwbGUgJiYgKDxTZWxlY3RPcHRpb25CYXNlW10+dGhpcy50aHlTZWxlY3RlZE9wdGlvbnMpLmxlbmd0aCA+IDApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG4gICAgfVxuXG4gICAgc2V0U2VsZWN0Q29udHJvbENsYXNzKCkge1xuICAgICAgICBjb25zdCBtb2RlVHlwZSA9IHRoaXMuaXNNdWx0aXBsZSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJztcbiAgICAgICAgY29uc3Qgc2VsZWN0Q29udHJvbENsYXNzID0ge1xuICAgICAgICAgICAgW2Bmb3JtLWNvbnRyb2xgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sLSR7dGhpcy50aHlTaXplfWBdOiAhIXRoaXMudGh5U2l6ZSxcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sLWN1c3RvbWBdOiB0cnVlLFxuICAgICAgICAgICAgW2BzZWxlY3QtY29udHJvbGBdOiB0cnVlLFxuICAgICAgICAgICAgW2BzZWxlY3QtY29udHJvbC0ke21vZGVUeXBlfWBdOiB0cnVlLFxuICAgICAgICAgICAgW2BzZWxlY3QtY29udHJvbC1zaG93LXNlYXJjaGBdOiB0aGlzLnNob3dTZWFyY2gsXG4gICAgICAgICAgICBbYHBhbmVsLWlzLW9wZW5lZGBdOiB0aGlzLnBhbmVsT3BlbmVkLFxuICAgICAgICAgICAgW2BkaXNhYmxlZGBdOiB0aGlzLmRpc2FibGVkXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzQnlNYXAoc2VsZWN0Q29udHJvbENsYXNzKTtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dENvbnRyb2xDbGFzcyA9IHtcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sYF06IHRydWUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC0ke3RoaXMudGh5U2l6ZX1gXTogISF0aGlzLnRoeVNpemUsXG4gICAgICAgICAgICBbYHNlYXJjaC1pbnB1dC1maWVsZGBdOiB0cnVlLFxuICAgICAgICAgICAgW2BoaWRkZW5gXTogIXRoaXMudGh5U2hvd1NlYXJjaFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNldElucHV0VmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5wdXRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVdpZHRoKCk7XG4gICAgICAgICAgICB0aGlzLnRoeU9uU2VhcmNoLmVtaXQodGhpcy5pbnB1dFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUJhY2tzcGFjZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5pc0NvbXBvc2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlucHV0VmFsdWUubGVuZ3RoID09PSAwICYmIHRoaXMuc2VsZWN0ZWRPcHRpb25zIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVIYW5kbGUodGhpcy5zZWxlY3RlZE9wdGlvbnNbdGhpcy5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIC0gMV0sIGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVdpZHRoKCkge1xuICAgICAgICBpZiAodGhpcy5pc011bHRpcGxlICYmIHRoaXMudGh5U2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRWYWx1ZSB8fCB0aGlzLmlzQ29tcG9zaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNjcm9sbFdpZHRofXB4YCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3dpZHRoJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVIYW5kbGUoaXRlbTogU2VsZWN0T3B0aW9uQmFzZSwgJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnRoeU9uUmVtb3ZlLmVtaXQoeyBpdGVtOiBpdGVtLCAkZXZlbnRPcmlnaW46ICRldmVudCB9KTtcbiAgICB9XG5cbiAgICBjbGVhckhhbmRsZSgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25DbGVhci5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgdHJhY2tWYWx1ZShfaW5kZXg6IG51bWJlciwgb3B0aW9uOiBTZWxlY3RPcHRpb25CYXNlKTogYW55IHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbi50aHlWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkJsdXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25CbHVyLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjaW5wdXRUZW1wbGF0ZT5cbiAgPGlucHV0XG4gICAgI2lucHV0RWxlbWVudFxuICAgIFt0YWJpbmRleF09XCItMVwiXG4gICAgKGNvbXBvc2l0aW9uc3RhcnQpPVwiaXNDb21wb3NpbmcgPSB0cnVlXCJcbiAgICAoY29tcG9zaXRpb25lbmQpPVwiaXNDb21wb3NpbmcgPSBmYWxzZVwiXG4gICAgYXV0b2NvbXBsZXRlPVwic29tZXRoaW5nLW5ld1wiXG4gICAgW25nQ2xhc3NdPVwic2VhcmNoSW5wdXRDb250cm9sQ2xhc3NcIlxuICAgIChpbnB1dCk9XCJ1cGRhdGVXaWR0aCgpXCJcbiAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRJbnB1dFZhbHVlKCRldmVudClcIlxuICAgIChrZXlkb3duLmJhY2tzcGFjZSk9XCJoYW5kbGVCYWNrc3BhY2UoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cInRoeURpc2FibGVkXCJcbiAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiIC8+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtcmVuZGVyZWRcIj5cbiAgQGlmICghaXNTZWxlY3RlZFZhbHVlKSB7XG4gICAgPGRpdiBjbGFzcz1cInRleHQtcGxhY2Vob2xkZXIgdGV4dC10cnVuY2F0ZVwiIFtuZ1N0eWxlXT1cInBsYWNlaG9sZGVyU3R5bGVcIj5cbiAgICAgIHt7IHRoeVBsYWNlaG9sZGVyIH19XG4gICAgPC9kaXY+XG4gIH1cbiAgQGlmIChpc011bHRpcGxlKSB7XG4gICAgPGRpdiB0aHlGbGV4IHRoeVdyYXA9XCJ3cmFwXCIgdGh5R2FwPVwiNFwiIHRoeUFsaWduSXRlbXM9XCJjZW50ZXJcIiBjbGFzcz1cInctMTAwXCI+XG4gICAgICBAaWYgKHRoeVByZXNldCA9PT0gJ3RhZycpIHtcbiAgICAgICAgQGZvciAoaXRlbSBvZiBtYXhTZWxlY3RlZFRhZ3M7IHRyYWNrIHRyYWNrVmFsdWUoJGluZGV4LCBpdGVtKSkge1xuICAgICAgICAgIDxkaXYgdGh5RmxleEl0ZW0gY2xhc3M9XCJjdXN0b20tY2hvaWNlLWl0ZW0gdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbS50aHlSYXdWYWx1ZSB8fCBpdGVtLnRoeVZhbHVlIHx8IGl0ZW0gfVwiPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIEBpZiAoIWRpc2FibGVkKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaG9pY2UtcmVtb3ZlLWxpbmsgbWwtMVwiIChjbGljayk9XCJyZW1vdmVIYW5kbGUoaXRlbSwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIiBjbGFzcz1cImZvbnQtc2l6ZS1zbVwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgbWF4U2VsZWN0ZWRUYWdzOyB0cmFjayB0cmFja1ZhbHVlKCRpbmRleCwgaXRlbSkpIHtcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0aHlGbGV4SXRlbVxuICAgICAgICAgICAgdGh5VGFnXG4gICAgICAgICAgICBjbGFzcz1cImNob2ljZS1pdGVtXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkID09PSB0cnVlIH1cIlxuICAgICAgICAgICAgW3RoeVNpemVdPVwidGFnU2l6ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZSBoLTEwMFwiPlxuICAgICAgICAgICAgICBAaWYgKCFjdXN0b21EaXNwbGF5VGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICB7eyBpdGVtLnRoeUxhYmVsVGV4dCB9fVxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtLnRoeVJhd1ZhbHVlIHx8IGl0ZW0udGh5VmFsdWUgfHwgaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hvaWNlLXJlbW92ZS1saW5rIG1sLTFcIiAoY2xpY2spPVwicmVtb3ZlSGFuZGxlKGl0ZW0sICRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCIgY2xhc3M9XCJmb250LXNpemUtc21cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpZiAodGh5TWF4VGFnQ291bnQgJiYgbXVsdGlwbGVTZWxlY3RlZFZhbHVlLmxlbmd0aCA+IHRoeU1heFRhZ0NvdW50KSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICB0aHlGbGV4SXRlbVxuICAgICAgICAgIGNsYXNzPVwiY2hvaWNlLWl0ZW0gbWF4LXRhZy1jb3VudC1jaG9pY2VcIlxuICAgICAgICAgIHRoeVRhZ1xuICAgICAgICAgIFt0aHlTaXplXT1cInRhZ1NpemVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkID09PSB0cnVlIH1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPit7eyBtdWx0aXBsZVNlbGVjdGVkVmFsdWUubGVuZ3RoIC0gdGh5TWF4VGFnQ291bnQgKyAxIH19Li4uPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPGRpdiB0aHlGbGV4SXRlbSBjbGFzcz1cInNlbGVjdC1jb250cm9sLXNlYXJjaFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5wdXRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgQGlmIChpc1NlbGVjdGVkVmFsdWUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC12YWx1ZSB0ZXh0LXRydW5jYXRlXCIgW25nU3R5bGVdPVwic2VsZWN0ZWRWYWx1ZVN0eWxlXCI+XG4gICAgICAgIEBpZiAoIWN1c3RvbURpc3BsYXlUZW1wbGF0ZSkge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPnt7IHNlbGVjdGVkVmFsdWU/LnRoeUxhYmVsVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21EaXNwbGF5VGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBzZWxlY3RlZFZhbHVlLnRoeVJhd1ZhbHVlIHx8IHNlbGVjdGVkVmFsdWUudGh5VmFsdWUgfHwgc2VsZWN0ZWRWYWx1ZVxuICAgICAgICAgICAgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtc2VhcmNoXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5wdXRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuPHNwYW4gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1hcnJvd1wiPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1kb3duXCIgY2xhc3M9XCJmb250LXNpemUtYmFzZVwiPjwvdGh5LWljb24+XG48L3NwYW4+XG5AaWYgKHNob3dDbGVhckljb24pIHtcbiAgPHNwYW4gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1jbGVhciByZW1vdmUtbGlua1wiIChjbGljayk9XCJjbGVhckhhbmRsZSgkZXZlbnQpXCI+XG4gICAgPHRoeS1pY29uIGNsYXNzPVwicmVtb3ZlLWxpbmstaWNvbiBmb250LXNpemUtYmFzZVwiIHRoeUljb25OYW1lPVwiY2xvc2UtY2lyY2xlLWJvbGQtZmlsbFwiPjwvdGh5LWljb24+XG4gIDwvc3Bhbj5cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Optional, Inject } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, inject } from '@angular/core';
3
3
  import { ThySkeleton } from './skeleton.component';
4
4
  import { coerceBooleanProperty, helpers } from 'ngx-tethys/util';
5
5
  import { InputCssPixel } from 'ngx-tethys/core';
@@ -7,16 +7,15 @@ import { THY_SKELETON_CONFIG } from './skeleton.config';
7
7
  import { isUndefinedOrNull } from 'ngx-tethys/util';
8
8
  import { NgStyle } from '@angular/common';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "./skeleton.component";
11
10
  /**
12
11
  * 骨架屏圆形组件
13
12
  * @name thy-skeleton-circle
14
13
  * @order 30
15
14
  */
16
15
  export class ThySkeletonCircle {
17
- constructor(skeletonConfigModel, _parent) {
18
- this.skeletonConfigModel = skeletonConfigModel;
19
- this._parent = _parent;
16
+ constructor() {
17
+ this.skeletonConfigModel = inject(THY_SKELETON_CONFIG, { optional: true });
18
+ this._parent = inject(ThySkeleton, { optional: true });
20
19
  /**
21
20
  * 骨架尺寸
22
21
  * @default 20px
@@ -54,7 +53,7 @@ export class ThySkeletonCircle {
54
53
  this.crateAfterStyles();
55
54
  }
56
55
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySkeletonCircle, deps: [{ token: THY_SKELETON_CONFIG, optional: true }, { token: i1.ThySkeleton, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySkeletonCircle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
57
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0", type: ThySkeletonCircle, isStandalone: true, selector: "thy-skeleton-circle", inputs: { thyAnimatedInterval: "thyAnimatedInterval", thySize: "thySize", thyPrimaryColor: "thyPrimaryColor", thySecondaryColor: "thySecondaryColor", thyAnimated: ["thyAnimated", "thyAnimated", coerceBooleanProperty] }, host: { properties: { "class.thy-skeleton": "true", "class.thy-skeleton-circle": "true", "style.background": "thyPrimaryColor", "style.width": "thySize", "style.height": "thySize" } }, usesOnChanges: true, ngImport: i0, template: ` <div class="thy-skeleton-after" [ngStyle]="afterStyles"></div> `, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
59
58
  }
60
59
  __decorate([
@@ -78,14 +77,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
78
77
  standalone: true,
79
78
  imports: [NgStyle]
80
79
  }]
81
- }], ctorParameters: () => [{ type: undefined, decorators: [{
82
- type: Optional
83
- }, {
84
- type: Inject,
85
- args: [THY_SKELETON_CONFIG]
86
- }] }, { type: i1.ThySkeleton, decorators: [{
87
- type: Optional
88
- }] }], propDecorators: { thyAnimatedInterval: [{
80
+ }], propDecorators: { thyAnimatedInterval: [{
89
81
  type: Input
90
82
  }], thySize: [{
91
83
  type: Input
@@ -97,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
97
89
  type: Input,
98
90
  args: [{ transform: coerceBooleanProperty }]
99
91
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9za2VsZXRvbi9za2VsZXRvbi1jaXJjbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsS0FBSyxFQUVMLFFBQVEsRUFHUixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUEwQixNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTzFDOzs7O0dBSUc7QUFnQkgsTUFBTSxPQUFPLGlCQUFpQjtJQW9DMUIsWUFHWSxtQkFBMkMsRUFDL0IsT0FBb0I7UUFEaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBakM1Qzs7O1dBR0c7UUFHSCxZQUFPLEdBQW9CLEVBQUUsQ0FBQztRQXFCdkIsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFPNUIsQ0FBQztJQUVKLFFBQVE7UUFDSixNQUFNLE1BQU0sR0FBRztZQUNYLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtZQUMzQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDdkIsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENB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QUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIEluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVNrZWxldG9uIH0gZnJvbSAnLi9za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBoZWxwZXJzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IElucHV0Q3NzUGl4ZWwgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVEhZX1NLRUxFVE9OX0NPTkZJRywgVGh5U2tlbGV0b25Db25maWdNb2RlbCB9IGZyb20gJy4vc2tlbGV0b24uY29uZmlnJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbnRlcmZhY2UgU3R5bGUge1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgYW5pbWF0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIOmqqOaetuWxj+WchuW9oue7hOS7tlxuICogQG5hbWUgdGh5LXNrZWxldG9uLWNpcmNsZVxuICogQG9yZGVyIDMwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXNrZWxldG9uLWNpcmNsZScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnRoeS1za2VsZXRvbl0nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MudGh5LXNrZWxldG9uLWNpcmNsZV0nOiAndHJ1ZScsXG4gICAgICAgICdbc3R5bGUuYmFja2dyb3VuZF0nOiAndGh5UHJpbWFyeUNvbG9yJyxcbiAgICAgICAgJ1tzdHlsZS53aWR0aF0nOiAndGh5U2l6ZScsXG4gICAgICAgICdbc3R5bGUuaGVpZ2h0XSc6ICd0aHlTaXplJ1xuICAgIH0sXG4gICAgdGVtcGxhdGU6IGAgPGRpdiBjbGFzcz1cInRoeS1za2VsZXRvbi1hZnRlclwiIFtuZ1N0eWxlXT1cImFmdGVyU3R5bGVzXCI+PC9kaXY+IGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1N0eWxlXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlTa2VsZXRvbkNpcmNsZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiDliqjnlLvpgJ/luqZcbiAgICAgKiBAZGVmYXVsdCAxLjVzXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QW5pbWF0ZWRJbnRlcnZhbDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625bC65a+4XG4gICAgICogQGRlZmF1bHQgMjBweFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Q3NzUGl4ZWwoKVxuICAgIHRoeVNpemU6IHN0cmluZyB8IG51bWJlciA9IDIwO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625Li76ImyXG4gICAgICogQGRlZmF1bHQgI0Y3RjdGN1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVByaW1hcnlDb2xvcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625qyh6ImyXG4gICAgICogQGRlZmF1bHQgI2FhYWFhYVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNlY29uZGFyeUNvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblsZXnpLrliqjnlLtcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlBbmltYXRlZDogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBhZnRlclN0eWxlczogU3R5bGUgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRIWV9TS0VMRVRPTl9DT05GSUcpXG4gICAgICAgIHByaXZhdGUgc2tlbGV0b25Db25maWdNb2RlbDogVGh5U2tlbGV0b25Db25maWdNb2RlbCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcGFyZW50OiBUaHlTa2VsZXRvblxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgICAgICAuLi50aGlzLnNrZWxldG9uQ29uZmlnTW9kZWwsXG4gICAgICAgICAgICAuLi4odGhpcy5fcGFyZW50IHx8IHt9KSxcbiAgICAgICAgICAgIC4uLighaXNVbmRlZmluZWRPck51bGwodGhpcy5fcGFyZW50Py50aHlBbmltYXRlZCkgJiYgeyB0aHlBbmltYXRlZDogdGhpcy5fcGFyZW50LnRoeUFuaW1hdGVkIH0pIC8vIGRvIGl0IGJlY2F1c2UgQElucHV0Qm9vbGVhbigpIGxlYWQgdG8gY2Fubm90IGdldCB0aHlBbmltYXRlZCBmcm9tIF9wYXJlbnQgaW5qZWN0XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHsgdGh5QW5pbWF0ZWRJbnRlcnZhbCwgdGh5UHJpbWFyeUNvbG9yLCB0aHlTZWNvbmRhcnlDb2xvciwgdGh5QW5pbWF0ZWQgfSA9IGNvbmZpZztcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHsgdGh5QW5pbWF0ZWRJbnRlcnZhbCwgdGh5UHJpbWFyeUNvbG9yLCB0aHlTZWNvbmRhcnlDb2xvciwgdGh5QW5pbWF0ZWQgfSkge1xuICAgICAgICAgICAgdGhpc1trZXldID0gIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXNba2V5XSkgPyB0aGlzW2tleV0gOiBjb25maWdba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyYXRlQWZ0ZXJTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBjcmF0ZUFmdGVyU3R5bGVzKCkge1xuICAgICAgICB0aGlzLmFmdGVyU3R5bGVzID0ge1xuICAgICAgICAgICAgLi4uKHRoaXMudGh5U2Vjb25kYXJ5Q29sb3IgJiYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICR7aGVscGVycy5oZXhUb1JnYih0aGlzLnRoeVNlY29uZGFyeUNvbG9yLCAwKX0sICR7aGVscGVycy5oZXhUb1JnYihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlTZWNvbmRhcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgMC4xNVxuICAgICAgICAgICAgICAgICl9LCAke2hlbHBlcnMuaGV4VG9SZ2IodGhpcy50aHlTZWNvbmRhcnlDb2xvciwgMCl9YFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBhbmltYXRpb246ICFbZmFsc2UsICdmYWxzZSddLmluY2x1ZGVzKHRoaXMudGh5QW5pbWF0ZWQpXG4gICAgICAgICAgICAgICAgPyBgdGh5LXNrZWxldG9uLWFuaW1hdGlvbiAke3RoaXMudGh5QW5pbWF0ZWRJbnRlcnZhbH1zIGluZmluaXRlYFxuICAgICAgICAgICAgICAgIDogJ25vbmUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeVNlY29uZGFyeUNvbG9yLCB0aHlBbmltYXRlZCwgdGh5QW5pbWF0ZWRJbnRlcnZhbCB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoeVNlY29uZGFyeUNvbG9yICYmICF0aHlTZWNvbmRhcnlDb2xvcj8uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAgICAgICAodGh5QW5pbWF0ZWQgJiYgIXRoeUFuaW1hdGVkPy5maXJzdENoYW5nZSkgfHxcbiAgICAgICAgICAgICh0aHlBbmltYXRlZEludGVydmFsICYmICF0aHlBbmltYXRlZEludGVydmFsPy5maXJzdENoYW5nZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmNyYXRlQWZ0ZXJTdHlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9za2VsZXRvbi9za2VsZXRvbi1jaXJjbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBb0MsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTzFDOzs7O0dBSUc7QUFnQkgsTUFBTSxPQUFPLGlCQUFpQjtJQWY5QjtRQWdCWSx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUUsQ0FBQztRQUN2RSxZQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBRSxDQUFDO1FBUTNEOzs7V0FHRztRQUdILFlBQU8sR0FBb0IsRUFBRSxDQUFDO1FBcUJ2QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztLQXVDbEM7SUFyQ0csUUFBUTtRQUNKLE1BQU0sTUFBTSxHQUFHO1lBQ1gsR0FBRyxJQUFJLENBQUMsbUJBQW1CO1lBQzNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUN2QixHQUFHLENB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VixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlTa2VsZXRvbiB9IGZyb20gJy4vc2tlbGV0b24uY29tcG9uZW50JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaGVscGVycyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBJbnB1dENzc1BpeGVsIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRIWV9TS0VMRVRPTl9DT05GSUcsIFRoeVNrZWxldG9uQ29uZmlnTW9kZWwgfSBmcm9tICcuL3NrZWxldG9uLmNvbmZpZyc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW50ZXJmYWNlIFN0eWxlIHtcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICAgIGFuaW1hdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiDpqqjmnrblsY/lnIblvaLnu4Tku7ZcbiAqIEBuYW1lIHRoeS1za2VsZXRvbi1jaXJjbGVcbiAqIEBvcmRlciAzMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1za2VsZXRvbi1jaXJjbGUnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy50aHktc2tlbGV0b25dJzogJ3RydWUnLFxuICAgICAgICAnW2NsYXNzLnRoeS1za2VsZXRvbi1jaXJjbGVdJzogJ3RydWUnLFxuICAgICAgICAnW3N0eWxlLmJhY2tncm91bmRdJzogJ3RoeVByaW1hcnlDb2xvcicsXG4gICAgICAgICdbc3R5bGUud2lkdGhdJzogJ3RoeVNpemUnLFxuICAgICAgICAnW3N0eWxlLmhlaWdodF0nOiAndGh5U2l6ZSdcbiAgICB9LFxuICAgIHRlbXBsYXRlOiBgIDxkaXYgY2xhc3M9XCJ0aHktc2tlbGV0b24tYWZ0ZXJcIiBbbmdTdHlsZV09XCJhZnRlclN0eWxlc1wiPjwvZGl2PiBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5U2tlbGV0b25DaXJjbGUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBza2VsZXRvbkNvbmZpZ01vZGVsID0gaW5qZWN0KFRIWV9TS0VMRVRPTl9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkhO1xuICAgIHByaXZhdGUgX3BhcmVudCA9IGluamVjdChUaHlTa2VsZXRvbiwgeyBvcHRpb25hbDogdHJ1ZSB9KSE7XG5cbiAgICAvKipcbiAgICAgKiDliqjnlLvpgJ/luqZcbiAgICAgKiBAZGVmYXVsdCAxLjVzXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QW5pbWF0ZWRJbnRlcnZhbDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625bC65a+4XG4gICAgICogQGRlZmF1bHQgMjBweFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Q3NzUGl4ZWwoKVxuICAgIHRoeVNpemU6IHN0cmluZyB8IG51bWJlciA9IDIwO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625Li76ImyXG4gICAgICogQGRlZmF1bHQgI0Y3RjdGN1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVByaW1hcnlDb2xvcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625qyh6ImyXG4gICAgICogQGRlZmF1bHQgI2FhYWFhYVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNlY29uZGFyeUNvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblsZXnpLrliqjnlLtcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlBbmltYXRlZDogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBhZnRlclN0eWxlczogU3R5bGUgPSB7fTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICAgICAgICAuLi50aGlzLnNrZWxldG9uQ29uZmlnTW9kZWwsXG4gICAgICAgICAgICAuLi4odGhpcy5fcGFyZW50IHx8IHt9KSxcbiAgICAgICAgICAgIC4uLighaXNVbmRlZmluZWRPck51bGwodGhpcy5fcGFyZW50Py50aHlBbmltYXRlZCkgJiYgeyB0aHlBbmltYXRlZDogdGhpcy5fcGFyZW50LnRoeUFuaW1hdGVkIH0pIC8vIGRvIGl0IGJlY2F1c2UgQElucHV0Qm9vbGVhbigpIGxlYWQgdG8gY2Fubm90IGdldCB0aHlBbmltYXRlZCBmcm9tIF9wYXJlbnQgaW5qZWN0XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHsgdGh5QW5pbWF0ZWRJbnRlcnZhbCwgdGh5UHJpbWFyeUNvbG9yLCB0aHlTZWNvbmRhcnlDb2xvciwgdGh5QW5pbWF0ZWQgfSA9IGNvbmZpZztcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHsgdGh5QW5pbWF0ZWRJbnRlcnZhbCwgdGh5UHJpbWFyeUNvbG9yLCB0aHlTZWNvbmRhcnlDb2xvciwgdGh5QW5pbWF0ZWQgfSkge1xuICAgICAgICAgICAgdGhpc1trZXldID0gIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXNba2V5XSkgPyB0aGlzW2tleV0gOiBjb25maWdba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyYXRlQWZ0ZXJTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBjcmF0ZUFmdGVyU3R5bGVzKCkge1xuICAgICAgICB0aGlzLmFmdGVyU3R5bGVzID0ge1xuICAgICAgICAgICAgLi4uKHRoaXMudGh5U2Vjb25kYXJ5Q29sb3IgJiYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICR7aGVscGVycy5oZXhUb1JnYih0aGlzLnRoeVNlY29uZGFyeUNvbG9yLCAwKX0sICR7aGVscGVycy5oZXhUb1JnYihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlTZWNvbmRhcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgMC4xNVxuICAgICAgICAgICAgICAgICl9LCAke2hlbHBlcnMuaGV4VG9SZ2IodGhpcy50aHlTZWNvbmRhcnlDb2xvciwgMCl9YFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBhbmltYXRpb246ICFbZmFsc2UsICdmYWxzZSddLmluY2x1ZGVzKHRoaXMudGh5QW5pbWF0ZWQpXG4gICAgICAgICAgICAgICAgPyBgdGh5LXNrZWxldG9uLWFuaW1hdGlvbiAke3RoaXMudGh5QW5pbWF0ZWRJbnRlcnZhbH1zIGluZmluaXRlYFxuICAgICAgICAgICAgICAgIDogJ25vbmUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeVNlY29uZGFyeUNvbG9yLCB0aHlBbmltYXRlZCwgdGh5QW5pbWF0ZWRJbnRlcnZhbCB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoeVNlY29uZGFyeUNvbG9yICYmICF0aHlTZWNvbmRhcnlDb2xvcj8uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAgICAgICAodGh5QW5pbWF0ZWQgJiYgIXRoeUFuaW1hdGVkPy5maXJzdENoYW5nZSkgfHxcbiAgICAgICAgICAgICh0aHlBbmltYXRlZEludGVydmFsICYmICF0aHlBbmltYXRlZEludGVydmFsPy5maXJzdENoYW5nZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmNyYXRlQWZ0ZXJTdHlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Optional, Inject } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, inject } from '@angular/core';
3
3
  import { ThySkeleton } from './skeleton.component';
4
4
  import { coerceBooleanProperty, helpers } from 'ngx-tethys/util';
5
5
  import { InputCssPixel } from 'ngx-tethys/core';
@@ -7,16 +7,15 @@ import { THY_SKELETON_CONFIG } from './skeleton.config';
7
7
  import { isUndefinedOrNull } from 'ngx-tethys/util';
8
8
  import { NgStyle } from '@angular/common';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "./skeleton.component";
11
10
  /**
12
11
  * 骨架屏矩形组件
13
12
  * @name thy-skeleton-rectangle
14
13
  * @order 20
15
14
  */
16
15
  export class ThySkeletonRectangle {
17
- constructor(skeletonConfigModel, _parent) {
18
- this.skeletonConfigModel = skeletonConfigModel;
19
- this._parent = _parent;
16
+ constructor() {
17
+ this.skeletonConfigModel = inject(THY_SKELETON_CONFIG, { optional: true });
18
+ this._parent = inject(ThySkeleton, { optional: true });
20
19
  this.afterStyles = {};
21
20
  }
22
21
  ngOnInit() {
@@ -49,7 +48,7 @@ export class ThySkeletonRectangle {
49
48
  this.crateAfterStyles();
50
49
  }
51
50
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySkeletonRectangle, deps: [{ token: THY_SKELETON_CONFIG, optional: true }, { token: i1.ThySkeleton, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySkeletonRectangle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
52
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0", type: ThySkeletonRectangle, isStandalone: true, selector: "thy-skeleton-rectangle", inputs: { thyAnimated: ["thyAnimated", "thyAnimated", coerceBooleanProperty], thyAnimatedInterval: "thyAnimatedInterval", thyBorderRadius: "thyBorderRadius", thyRowWidth: "thyRowWidth", thyRowHeight: "thyRowHeight", thyPrimaryColor: "thyPrimaryColor", thySecondaryColor: "thySecondaryColor" }, host: { properties: { "class.thy-skeleton": "true", "class.thy-skeleton-rectangle": "true", "style.background": "thyPrimaryColor", "style.width": "thyRowWidth", "style.height": "thyRowHeight", "style.borderRadius": "thyBorderRadius" } }, usesOnChanges: true, ngImport: i0, template: ` <div class="thy-skeleton-after" [ngStyle]="afterStyles"></div> `, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
54
53
  }
55
54
  __decorate([
@@ -82,14 +81,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
82
81
  standalone: true,
83
82
  imports: [NgStyle]
84
83
  }]
85
- }], ctorParameters: () => [{ type: undefined, decorators: [{
86
- type: Optional
87
- }, {
88
- type: Inject,
89
- args: [THY_SKELETON_CONFIG]
90
- }] }, { type: i1.ThySkeleton, decorators: [{
91
- type: Optional
92
- }] }], propDecorators: { thyAnimated: [{
84
+ }], propDecorators: { thyAnimated: [{
93
85
  type: Input,
94
86
  args: [{ transform: coerceBooleanProperty }]
95
87
  }], thyAnimatedInterval: [{
@@ -105,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
105
97
  }], thySecondaryColor: [{
106
98
  type: Input
107
99
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tcmVjdGFuZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9za2VsZXRvbi9za2VsZXRvbi1yZWN0YW5nbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsS0FBSyxFQUVMLFFBQVEsRUFHUixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUEwQixNQUFNLG1CQUFtQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTzFDOzs7O0dBSUc7QUFpQkgsTUFBTSxPQUFPLG9CQUFvQjtJQW9EN0IsWUFHWSxtQkFBMkMsRUFDL0IsT0FBb0I7UUFEaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBTjVDLGdCQUFXLEdBQVUsRUFBRSxDQUFDO0lBT3JCLENBQUM7SUFFSixRQUFRO1FBQ0osTUFBTSxNQUFNLEdBQUc7WUFDWCxHQUFHLElBQUksQ0FBQyxtQkFBbUI7WUFDM0IsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3ZCLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLE9B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O2dCQU9sQyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBUU4sZUFBZTtzQkFGZCxLQUFLO2dCQVVOLFdBQVc7c0JBRlYsS0FBSztnQkFVTixZQUFZO3NCQUZYLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5U2tlbGV0b24gfSBmcm9tICcuL3NrZWxldG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGhlbHBlcnMgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgSW5wdXRDc3NQaXhlbCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUSFlfU0tFTEVUT05fQ09ORklHLCBUaHlTa2VsZXRvbkNvbmZpZ01vZGVsIH0gZnJvbSAnLi9za2VsZXRvbi5jb25maWcnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmludGVyZmFjZSBTdHlsZSB7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgICBhbmltYXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICog6aqo5p625bGP55+p5b2i57uE5Lu2XG4gKiBAbmFtZSB0aHktc2tlbGV0b24tcmVjdGFuZ2xlXG4gKiBAb3JkZXIgMjBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktc2tlbGV0b24tcmVjdGFuZ2xlJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MudGh5LXNrZWxldG9uXSc6ICd0cnVlJyxcbiAgICAgICAgJ1tjbGFzcy50aHktc2tlbGV0b24tcmVjdGFuZ2xlXSc6ICd0cnVlJyxcbiAgICAgICAgJ1tzdHlsZS5iYWNrZ3JvdW5kXSc6ICd0aHlQcmltYXJ5Q29sb3InLFxuICAgICAgICAnW3N0eWxlLndpZHRoXSc6ICd0aHlSb3dXaWR0aCcsXG4gICAgICAgICdbc3R5bGUuaGVpZ2h0XSc6ICd0aHlSb3dIZWlnaHQnLFxuICAgICAgICAnW3N0eWxlLmJvcmRlclJhZGl1c10nOiAndGh5Qm9yZGVyUmFkaXVzJ1xuICAgIH0sXG4gICAgdGVtcGxhdGU6IGAgPGRpdiBjbGFzcz1cInRoeS1za2VsZXRvbi1hZnRlclwiIFtuZ1N0eWxlXT1cImFmdGVyU3R5bGVzXCI+PC9kaXY+IGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1N0eWxlXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlTa2VsZXRvblJlY3RhbmdsZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiDmmK/lkKblvIDlkK/liqjnlLtcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5QW5pbWF0ZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDliqjnlLvpgJ/luqZcbiAgICAgKiBAZGVmYXVsdCAxLjVzXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QW5pbWF0ZWRJbnRlcnZhbDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p626L655qGG5ZyG6KeSXG4gICAgICogQGRlZmF1bHQgNHB4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5Qm9yZGVyUmFkaXVzOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDpqqjmnrblrr3luqZcbiAgICAgKiBAZGVmYXVsdCAxMDAlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5Um93V2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOmqqOaetumrmOW6plxuICAgICAqIEBkZWZhdWx0IDIwcHhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dENzc1BpeGVsKClcbiAgICB0aHlSb3dIZWlnaHQ6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOmqqOaetuS4u+iJslxuICAgICAqIEBkZWZhdWx0ICNGN0Y3RjdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQcmltYXJ5Q29sb3I6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOmqqOaetuasoeiJslxuICAgICAqIEBkZWZhdWx0ICNhYWFhYWFcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTZWNvbmRhcnlDb2xvcjogc3RyaW5nO1xuXG4gICAgYWZ0ZXJTdHlsZXM6IFN0eWxlID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUSFlfU0tFTEVUT05fQ09ORklHKVxuICAgICAgICBwcml2YXRlIHNrZWxldG9uQ29uZmlnTW9kZWw6IFRoeVNrZWxldG9uQ29uZmlnTW9kZWwsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX3BhcmVudDogVGh5U2tlbGV0b25cbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgICAgICAgLi4udGhpcy5za2VsZXRvbkNvbmZpZ01vZGVsLFxuICAgICAgICAgICAgLi4uKHRoaXMuX3BhcmVudCB8fCB7fSksXG4gICAgICAgICAgICAuLi4oIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXMuX3BhcmVudD8udGh5QW5pbWF0ZWQpICYmIHsgdGh5QW5pbWF0ZWQ6IHRoaXMuX3BhcmVudC50aHlBbmltYXRlZCB9KVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB7IHRoeUFuaW1hdGVkSW50ZXJ2YWwsIHRoeVByaW1hcnlDb2xvciwgdGh5U2Vjb25kYXJ5Q29sb3IsIHRoeUFuaW1hdGVkIH0gPSBjb25maWc7XG5cbiAgICAgICAgZm9yIChsZXQga2V5IGluIHsgdGh5QW5pbWF0ZWRJbnRlcnZhbCwgdGh5UHJpbWFyeUNvbG9yLCB0aHlTZWNvbmRhcnlDb2xvciwgdGh5QW5pbWF0ZWQgfSkge1xuICAgICAgICAgICAgdGhpc1trZXldID0gIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXNba2V5XSkgPyB0aGlzW2tleV0gOiBjb25maWdba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyYXRlQWZ0ZXJTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBjcmF0ZUFmdGVyU3R5bGVzKCkge1xuICAgICAgICB0aGlzLmFmdGVyU3R5bGVzID0ge1xuICAgICAgICAgICAgLi4uKHRoaXMudGh5U2Vjb25kYXJ5Q29sb3IgJiYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICR7aGVscGVycy5oZXhUb1JnYih0aGlzLnRoeVNlY29uZGFyeUNvbG9yLCAwKX0sICR7aGVscGVycy5oZXhUb1JnYihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlTZWNvbmRhcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgMC4xNVxuICAgICAgICAgICAgICAgICl9LCAke2hlbHBlcnMuaGV4VG9SZ2IodGhpcy50aHlTZWNvbmRhcnlDb2xvciwgMCl9YFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBhbmltYXRpb246ICFbZmFsc2UsICdmYWxzZSddLmluY2x1ZGVzKHRoaXMudGh5QW5pbWF0ZWQpXG4gICAgICAgICAgICAgICAgPyBgdGh5LXNrZWxldG9uLWFuaW1hdGlvbiAke3RoaXMudGh5QW5pbWF0ZWRJbnRlcnZhbH1zIGluZmluaXRlYFxuICAgICAgICAgICAgICAgIDogJ25vbmUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeVNlY29uZGFyeUNvbG9yLCB0aHlBbmltYXRlZCwgdGh5QW5pbWF0ZWRJbnRlcnZhbCB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoeVNlY29uZGFyeUNvbG9yICYmICF0aHlTZWNvbmRhcnlDb2xvcj8uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAgICAgICAodGh5QW5pbWF0ZWQgJiYgIXRoeUFuaW1hdGVkPy5maXJzdENoYW5nZSkgfHxcbiAgICAgICAgICAgICh0aHlBbmltYXRlZEludGVydmFsICYmICF0aHlBbmltYXRlZEludGVydmFsPy5maXJzdENoYW5nZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmNyYXRlQWZ0ZXJTdHlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tcmVjdGFuZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9za2VsZXRvbi9za2VsZXRvbi1yZWN0YW5nbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBb0MsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBMEIsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTzFDOzs7O0dBSUc7QUFpQkgsTUFBTSxPQUFPLG9CQUFvQjtJQWhCakM7UUFpQlksd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFFLENBQUM7UUFDdkUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUUsQ0FBQztRQW1EM0QsZ0JBQVcsR0FBVSxFQUFFLENBQUM7S0F3QzNCO0lBdENHLFFBQVE7UUFDSixNQUFNLE1BQU0sR0FBRztZQUNYLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtZQUMzQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDdkIsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9B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QTNCLEtBQUs7Z0JBUU4sZUFBZTtzQkFGZCxLQUFLO2dCQVVOLFdBQVc7c0JBRlYsS0FBSztnQkFVTixZQUFZO3NCQUZYLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVNrZWxldG9uIH0gZnJvbSAnLi9za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBoZWxwZXJzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IElucHV0Q3NzUGl4ZWwgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVEhZX1NLRUxFVE9OX0NPTkZJRywgVGh5U2tlbGV0b25Db25maWdNb2RlbCB9IGZyb20gJy4vc2tlbGV0b24uY29uZmlnJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbnRlcmZhY2UgU3R5bGUge1xuICAgIGJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgYW5pbWF0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIOmqqOaetuWxj+efqeW9oue7hOS7tlxuICogQG5hbWUgdGh5LXNrZWxldG9uLXJlY3RhbmdsZVxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXNrZWxldG9uLXJlY3RhbmdsZScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnRoeS1za2VsZXRvbl0nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MudGh5LXNrZWxldG9uLXJlY3RhbmdsZV0nOiAndHJ1ZScsXG4gICAgICAgICdbc3R5bGUuYmFja2dyb3VuZF0nOiAndGh5UHJpbWFyeUNvbG9yJyxcbiAgICAgICAgJ1tzdHlsZS53aWR0aF0nOiAndGh5Um93V2lkdGgnLFxuICAgICAgICAnW3N0eWxlLmhlaWdodF0nOiAndGh5Um93SGVpZ2h0JyxcbiAgICAgICAgJ1tzdHlsZS5ib3JkZXJSYWRpdXNdJzogJ3RoeUJvcmRlclJhZGl1cydcbiAgICB9LFxuICAgIHRlbXBsYXRlOiBgIDxkaXYgY2xhc3M9XCJ0aHktc2tlbGV0b24tYWZ0ZXJcIiBbbmdTdHlsZV09XCJhZnRlclN0eWxlc1wiPjwvZGl2PiBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5U2tlbGV0b25SZWN0YW5nbGUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBza2VsZXRvbkNvbmZpZ01vZGVsID0gaW5qZWN0KFRIWV9TS0VMRVRPTl9DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkhO1xuICAgIHByaXZhdGUgX3BhcmVudCA9IGluamVjdChUaHlTa2VsZXRvbiwgeyBvcHRpb25hbDogdHJ1ZSB9KSE7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblvIDlkK/liqjnlLtcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5QW5pbWF0ZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDliqjnlLvpgJ/luqZcbiAgICAgKiBAZGVmYXVsdCAxLjVzXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QW5pbWF0ZWRJbnRlcnZhbDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p626L655qGG5ZyG6KeSXG4gICAgICogQGRlZmF1bHQgNHB4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5Qm9yZGVyUmFkaXVzOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDpqqjmnrblrr3luqZcbiAgICAgKiBAZGVmYXVsdCAxMDAlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5Um93V2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOmqqOaetumrmOW6plxuICAgICAqIEBkZWZhdWx0IDIwcHhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dENzc1BpeGVsKClcbiAgICB0aHlSb3dIZWlnaHQ6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOmqqOaetuS4u+iJslxuICAgICAqIEBkZWZhdWx0ICNGN0Y3RjdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQcmltYXJ5Q29sb3I6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOmqqOaetuasoeiJslxuICAgICAqIEBkZWZhdWx0ICNhYWFhYWFcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTZWNvbmRhcnlDb2xvcjogc3RyaW5nO1xuXG4gICAgYWZ0ZXJTdHlsZXM6IFN0eWxlID0ge307XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgICAgICAgLi4udGhpcy5za2VsZXRvbkNvbmZpZ01vZGVsLFxuICAgICAgICAgICAgLi4uKHRoaXMuX3BhcmVudCB8fCB7fSksXG4gICAgICAgICAgICAuLi4oIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXMuX3BhcmVudD8udGh5QW5pbWF0ZWQpICYmIHsgdGh5QW5pbWF0ZWQ6IHRoaXMuX3BhcmVudC50aHlBbmltYXRlZCB9KVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB7IHRoeUFuaW1hdGVkSW50ZXJ2YWwsIHRoeVByaW1hcnlDb2xvciwgdGh5U2Vjb25kYXJ5Q29sb3IsIHRoeUFuaW1hdGVkIH0gPSBjb25maWc7XG5cbiAgICAgICAgZm9yIChsZXQga2V5IGluIHsgdGh5QW5pbWF0ZWRJbnRlcnZhbCwgdGh5UHJpbWFyeUNvbG9yLCB0aHlTZWNvbmRhcnlDb2xvciwgdGh5QW5pbWF0ZWQgfSkge1xuICAgICAgICAgICAgdGhpc1trZXldID0gIWlzVW5kZWZpbmVkT3JOdWxsKHRoaXNba2V5XSkgPyB0aGlzW2tleV0gOiBjb25maWdba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyYXRlQWZ0ZXJTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBjcmF0ZUFmdGVyU3R5bGVzKCkge1xuICAgICAgICB0aGlzLmFmdGVyU3R5bGVzID0ge1xuICAgICAgICAgICAgLi4uKHRoaXMudGh5U2Vjb25kYXJ5Q29sb3IgJiYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICR7aGVscGVycy5oZXhUb1JnYih0aGlzLnRoeVNlY29uZGFyeUNvbG9yLCAwKX0sICR7aGVscGVycy5oZXhUb1JnYihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlTZWNvbmRhcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgMC4xNVxuICAgICAgICAgICAgICAgICl9LCAke2hlbHBlcnMuaGV4VG9SZ2IodGhpcy50aHlTZWNvbmRhcnlDb2xvciwgMCl9YFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBhbmltYXRpb246ICFbZmFsc2UsICdmYWxzZSddLmluY2x1ZGVzKHRoaXMudGh5QW5pbWF0ZWQpXG4gICAgICAgICAgICAgICAgPyBgdGh5LXNrZWxldG9uLWFuaW1hdGlvbiAke3RoaXMudGh5QW5pbWF0ZWRJbnRlcnZhbH1zIGluZmluaXRlYFxuICAgICAgICAgICAgICAgIDogJ25vbmUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRoeVNlY29uZGFyeUNvbG9yLCB0aHlBbmltYXRlZCwgdGh5QW5pbWF0ZWRJbnRlcnZhbCB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoeVNlY29uZGFyeUNvbG9yICYmICF0aHlTZWNvbmRhcnlDb2xvcj8uZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAgICAgICAodGh5QW5pbWF0ZWQgJiYgIXRoeUFuaW1hdGVkPy5maXJzdENoYW5nZSkgfHxcbiAgICAgICAgICAgICh0aHlBbmltYXRlZEludGVydmFsICYmICF0aHlBbmltYXRlZEludGVydmFsPy5maXJzdENoYW5nZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmNyYXRlQWZ0ZXJTdHlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { InputCssPixel } from 'ngx-tethys/core';
4
- import { NgFor } from '@angular/common';
5
4
  import { ThySkeletonCircle } from '../skeleton-circle.component';
6
5
  import { ThySkeletonRectangle } from '../skeleton-rectangle.component';
7
6
  import { coerceBooleanProperty } from 'ngx-tethys/util';
@@ -25,8 +24,8 @@ export class ThySkeletonBulletList {
25
24
  this.rowCount = [];
26
25
  }
27
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThySkeletonBulletList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0", type: ThySkeletonBulletList, isStandalone: true, selector: "thy-skeleton-bullet-list", inputs: { thyRowWidth: "thyRowWidth", thyRowHeight: "thyRowHeight", thyBorderRadius: "thyBorderRadius", thyAnimated: ["thyAnimated", "thyAnimated", coerceBooleanProperty], thyAnimatedInterval: "thyAnimatedInterval", thyPrimaryColor: "thyPrimaryColor", thySecondaryColor: "thySecondaryColor", thySize: "thySize", thyRowCount: "thyRowCount" }, host: { properties: { "class.thy-skeleton-bullet-list": "true" } }, ngImport: i0, template: `
29
- <ng-container *ngFor="let item of rowCount; index as i">
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThySkeletonBulletList, isStandalone: true, selector: "thy-skeleton-bullet-list", inputs: { thyRowWidth: "thyRowWidth", thyRowHeight: "thyRowHeight", thyBorderRadius: "thyBorderRadius", thyAnimated: ["thyAnimated", "thyAnimated", coerceBooleanProperty], thyAnimatedInterval: "thyAnimatedInterval", thyPrimaryColor: "thyPrimaryColor", thySecondaryColor: "thySecondaryColor", thySize: "thySize", thyRowCount: "thyRowCount" }, host: { properties: { "class.thy-skeleton-bullet-list": "true" } }, ngImport: i0, template: `
28
+ @for (item of rowCount; track $index; let i = $index) {
30
29
  <div class="d-flex vertical-gap">
31
30
  <thy-skeleton-circle
32
31
  [thyAnimated]="thyAnimated"
@@ -47,8 +46,8 @@ export class ThySkeletonBulletList {
47
46
  [thyAnimatedInterval]="thyAnimatedInterval"></thy-skeleton-rectangle>
48
47
  </div>
49
48
  </div>
50
- </ng-container>
51
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThySkeletonCircle, selector: "thy-skeleton-circle", inputs: ["thyAnimatedInterval", "thySize", "thyPrimaryColor", "thySecondaryColor", "thyAnimated"] }, { kind: "component", type: ThySkeletonRectangle, selector: "thy-skeleton-rectangle", inputs: ["thyAnimated", "thyAnimatedInterval", "thyBorderRadius", "thyRowWidth", "thyRowHeight", "thyPrimaryColor", "thySecondaryColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
49
+ }
50
+ `, isInline: true, dependencies: [{ kind: "component", type: ThySkeletonCircle, selector: "thy-skeleton-circle", inputs: ["thyAnimatedInterval", "thySize", "thyPrimaryColor", "thySecondaryColor", "thyAnimated"] }, { kind: "component", type: ThySkeletonRectangle, selector: "thy-skeleton-rectangle", inputs: ["thyAnimated", "thyAnimatedInterval", "thyBorderRadius", "thyRowWidth", "thyRowHeight", "thyPrimaryColor", "thySecondaryColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
52
51
  }
53
52
  __decorate([
54
53
  InputCssPixel(),
@@ -71,7 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
71
70
  args: [{
72
71
  selector: 'thy-skeleton-bullet-list',
73
72
  template: `
74
- <ng-container *ngFor="let item of rowCount; index as i">
73
+ @for (item of rowCount; track $index; let i = $index) {
75
74
  <div class="d-flex vertical-gap">
76
75
  <thy-skeleton-circle
77
76
  [thyAnimated]="thyAnimated"
@@ -92,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
92
91
  [thyAnimatedInterval]="thyAnimatedInterval"></thy-skeleton-rectangle>
93
92
  </div>
94
93
  </div>
95
- </ng-container>
94
+ }
96
95
  `,
97
96
  host: {
98
97
  '[class.thy-skeleton-bullet-list]': 'true'
@@ -100,7 +99,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
100
99
  changeDetection: ChangeDetectionStrategy.OnPush,
101
100
  encapsulation: ViewEncapsulation.None,
102
101
  standalone: true,
103
- imports: [NgFor, ThySkeletonCircle, ThySkeletonRectangle]
102
+ imports: [ThySkeletonCircle, ThySkeletonRectangle]
104
103
  }]
105
104
  }], ctorParameters: () => [], propDecorators: { thyRowWidth: [{
106
105
  type: Input
@@ -122,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
122
121
  }], thyRowCount: [{
123
122
  type: Input
124
123
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsbGV0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NrZWxldG9uL3N0eWxpemVkL2J1bGxldC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFeEQ7Ozs7R0FJRztBQW1DSCxNQUFNLE9BQU8scUJBQXFCO0lBMEQ5Qjs7T0FFRztJQUNILElBQ0ksV0FBVyxDQUFDLEtBQXNCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVEO1FBWkEsYUFBUSxHQUFhLEVBQUUsQ0FBQztJQVlULENBQUM7OEdBckVQLHFCQUFxQjtrR0FBckIscUJBQXFCLGdOQTZCVixxQkFBcUIseVFBN0QvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F1QlQsNERBT1MsS0FBSyxtSEFBRSxpQkFBaUIsbUtBQUUsb0JBQW9COztBQVN4RDtJQURDLGFBQWEsRUFBRTs7MERBQ2E7QUFRN0I7SUFEQyxhQUFhLEVBQUU7OzJEQUNjO0FBUTlCO0lBREMsYUFBYSxFQUFFOzs4REFDaUI7QUFnQ2pDO0lBREMsYUFBYSxFQUFFOztzREFDUzsyRkF2RGhCLHFCQUFxQjtrQkFsQ2pDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXVCVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0Ysa0NBQWtDLEVBQUUsTUFBTTtxQkFDN0M7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixDQUFDO2lCQUM1RDt3REFRRyxXQUFXO3NCQUZWLEtBQUs7Z0JBVU4sWUFBWTtzQkFGWCxLQUFLO2dCQVVOLGVBQWU7c0JBRmQsS0FBSztnQkFTTixXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBT2xDLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFNRyxlQUFlO3NCQUF2QixLQUFLO2dCQU1HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPTixPQUFPO3NCQUZOLEtBQUs7Z0JBU0YsV0FBVztzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dENzc1BpeGVsIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcblxuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGh5U2tlbGV0b25DaXJjbGUgfSBmcm9tICcuLi9za2VsZXRvbi1jaXJjbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeVNrZWxldG9uUmVjdGFuZ2xlIH0gZnJvbSAnLi4vc2tlbGV0b24tcmVjdGFuZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG4vKipcbiAqIOmqqOaetuWxj+aXoOW6j+WIl+ihqOe7hOS7tlxuICogQG5hbWUgdGh5LXNrZWxldG9uLWJ1bGxldC1saXN0XG4gKiBAb3JkZXIgNTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktc2tlbGV0b24tYnVsbGV0LWxpc3QnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93Q291bnQ7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggdmVydGljYWwtZ2FwXCI+XG4gICAgICAgICAgICAgICAgPHRoeS1za2VsZXRvbi1jaXJjbGVcbiAgICAgICAgICAgICAgICAgICAgW3RoeUFuaW1hdGVkXT1cInRoeUFuaW1hdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW3RoeUFuaW1hdGVkSW50ZXJ2YWxdPVwidGh5QW5pbWF0ZWRJbnRlcnZhbFwiXG4gICAgICAgICAgICAgICAgICAgIFt0aHlTaXplXT1cInRoeVNpemVcIlxuICAgICAgICAgICAgICAgICAgICBbdGh5UHJpbWFyeUNvbG9yXT1cInRoeVByaW1hcnlDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIFt0aHlTZWNvbmRhcnlDb2xvcl09XCJ0aHlTZWNvbmRhcnlDb2xvclwiPlxuICAgICAgICAgICAgICAgIDwvdGh5LXNrZWxldG9uLWNpcmNsZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaG9yaXpvbnRhbC1nYXBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDogMVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGh5LXNrZWxldG9uLXJlY3RhbmdsZVxuICAgICAgICAgICAgICAgICAgICAgICAgW3RoeVJvd1dpZHRoXT1cInRoeVJvd1dpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlSb3dIZWlnaHRdPVwidGh5Um93SGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlBbmltYXRlZF09XCJ0aHlBbmltYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGh5UHJpbWFyeUNvbG9yXT1cInRoeVByaW1hcnlDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGh5U2Vjb25kYXJ5Q29sb3JdPVwidGh5U2Vjb25kYXJ5Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RoeUJvcmRlclJhZGl1c109XCJ0aHlCb3JkZXJSYWRpdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RoeUFuaW1hdGVkSW50ZXJ2YWxdPVwidGh5QW5pbWF0ZWRJbnRlcnZhbFwiPjwvdGh5LXNrZWxldG9uLXJlY3RhbmdsZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy50aHktc2tlbGV0b24tYnVsbGV0LWxpc3RdJzogJ3RydWUnXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nRm9yLCBUaHlTa2VsZXRvbkNpcmNsZSwgVGh5U2tlbGV0b25SZWN0YW5nbGVdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVNrZWxldG9uQnVsbGV0TGlzdCB7XG4gICAgLyoqXG4gICAgICog6aqo5p625a695bqmXG4gICAgICogQGRlZmF1bHQgMTAwJVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Q3NzUGl4ZWwoKVxuICAgIHRoeVJvd1dpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDpqqjmnrbpq5jluqZcbiAgICAgKiBAZGVmYXVsdCAyMHB4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5Um93SGVpZ2h0OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDpqqjmnrbovrnmoYblnIbop5JcbiAgICAgKiBAZGVmYXVsdCA0cHhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dENzc1BpeGVsKClcbiAgICB0aHlCb3JkZXJSYWRpdXM6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuW8gOWQr+WKqOeUu1xuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHRoeUFuaW1hdGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5Yqo55S76YCf5bqmXG4gICAgICogQGRlZmF1bHQgMS41c1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUFuaW1hdGVkSW50ZXJ2YWw6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOmqqOaetuS4u+iJslxuICAgICAqIEBkZWZhdWx0ICNmN2Y3ZjdcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQcmltYXJ5Q29sb3I6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOmqqOaetuasoeiJslxuICAgICAqIEBkZWZhdWx0ICNhYWFhYWFcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTZWNvbmRhcnlDb2xvcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogY2lyY2xl57G75Z6L6aqo5p625bC65a+4XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5U2l6ZTogc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgcm93Q291bnQ6IG51bWJlcltdID0gW107XG4gICAgLyoqXG4gICAgICog6KGM5pWwXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5Um93Q291bnQodmFsdWU6IG51bWJlciB8IHN0cmluZykge1xuICAgICAgICB0aGlzLnJvd0NvdW50ID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogK3ZhbHVlIH0pO1xuICAgIH1cbiAgICBnZXQgdGh5Um93Q291bnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvd0NvdW50Lmxlbmd0aDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsbGV0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3NrZWxldG9uL3N0eWxpemVkL2J1bGxldC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RDs7OztHQUlHO0FBbUNILE1BQU0sT0FBTyxxQkFBcUI7SUEwRDlCOztPQUVHO0lBQ0gsSUFDSSxXQUFXLENBQUMsS0FBc0I7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQ7UUFaQSxhQUFRLEdBQWEsRUFBRSxDQUFDO0lBWVQsQ0FBQzs4R0FyRVAscUJBQXFCO2tHQUFyQixxQkFBcUIsZ05BNkJWLHFCQUFxQix5UUE3RC9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXVCVCw0REFPUyxpQkFBaUIsbUtBQUUsb0JBQW9COztBQVNqRDtJQURDLGFBQWEsRUFBRTs7MERBQ2E7QUFRN0I7SUFEQyxhQUFhLEVBQUU7OzJEQUNjO0FBUTlCO0lBREMsYUFBYSxFQUFFOzs4REFDaUI7QUFnQ2pDO0lBREMsYUFBYSxFQUFFOztzREFDUzsyRkF2RGhCLHFCQUFxQjtrQkFsQ2pDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXVCVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0Ysa0NBQWtDLEVBQUUsTUFBTTtxQkFDN0M7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUM7aUJBQ3JEO3dEQVFHLFdBQVc7c0JBRlYsS0FBSztnQkFVTixZQUFZO3NCQUZYLEtBQUs7Z0JBVU4sZUFBZTtzQkFGZCxLQUFLO2dCQVNOLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFPbEMsbUJBQW1CO3NCQUEzQixLQUFLO2dCQU1HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQU9OLE9BQU87c0JBRk4sS0FBSztnQkFTRixXQUFXO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0Q3NzUGl4ZWwgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuXG5pbXBvcnQgeyBUaHlTa2VsZXRvbkNpcmNsZSB9IGZyb20gJy4uL3NrZWxldG9uLWNpcmNsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5U2tlbGV0b25SZWN0YW5nbGUgfSBmcm9tICcuLi9za2VsZXRvbi1yZWN0YW5nbGUuY29tcG9uZW50JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbi8qKlxuICog6aqo5p625bGP5peg5bqP5YiX6KGo57uE5Lu2XG4gKiBAbmFtZSB0aHktc2tlbGV0b24tYnVsbGV0LWxpc3RcbiAqIEBvcmRlciA1MFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1za2VsZXRvbi1idWxsZXQtbGlzdCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGZvciAoaXRlbSBvZiByb3dDb3VudDsgdHJhY2sgJGluZGV4OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCB2ZXJ0aWNhbC1nYXBcIj5cbiAgICAgICAgICAgICAgICA8dGh5LXNrZWxldG9uLWNpcmNsZVxuICAgICAgICAgICAgICAgICAgICBbdGh5QW5pbWF0ZWRdPVwidGh5QW5pbWF0ZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdGh5QW5pbWF0ZWRJbnRlcnZhbF09XCJ0aHlBbmltYXRlZEludGVydmFsXCJcbiAgICAgICAgICAgICAgICAgICAgW3RoeVNpemVdPVwidGh5U2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aHlQcmltYXJ5Q29sb3JdPVwidGh5UHJpbWFyeUNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgW3RoeVNlY29uZGFyeUNvbG9yXT1cInRoeVNlY29uZGFyeUNvbG9yXCI+XG4gICAgICAgICAgICAgICAgPC90aHktc2tlbGV0b24tY2lyY2xlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJob3Jpem9udGFsLWdhcFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4OiAxXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aHktc2tlbGV0b24tcmVjdGFuZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGh5Um93V2lkdGhdPVwidGh5Um93V2lkdGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RoeVJvd0hlaWdodF09XCJ0aHlSb3dIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RoeUFuaW1hdGVkXT1cInRoeUFuaW1hdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlQcmltYXJ5Q29sb3JdPVwidGh5UHJpbWFyeUNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlTZWNvbmRhcnlDb2xvcl09XCJ0aHlTZWNvbmRhcnlDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGh5Qm9yZGVyUmFkaXVzXT1cInRoeUJvcmRlclJhZGl1c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGh5QW5pbWF0ZWRJbnRlcnZhbF09XCJ0aHlBbmltYXRlZEludGVydmFsXCI+PC90aHktc2tlbGV0b24tcmVjdGFuZ2xlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy50aHktc2tlbGV0b24tYnVsbGV0LWxpc3RdJzogJ3RydWUnXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeVNrZWxldG9uQ2lyY2xlLCBUaHlTa2VsZXRvblJlY3RhbmdsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5U2tlbGV0b25CdWxsZXRMaXN0IHtcbiAgICAvKipcbiAgICAgKiDpqqjmnrblrr3luqZcbiAgICAgKiBAZGVmYXVsdCAxMDAlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5Um93V2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOmqqOaetumrmOW6plxuICAgICAqIEBkZWZhdWx0IDIwcHhcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dENzc1BpeGVsKClcbiAgICB0aHlSb3dIZWlnaHQ6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOmqqOaetui+ueahhuWchuinklxuICAgICAqIEBkZWZhdWx0IDRweFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Q3NzUGl4ZWwoKVxuICAgIHRoeUJvcmRlclJhZGl1czogc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5byA5ZCv5Yqo55S7XG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5QW5pbWF0ZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDliqjnlLvpgJ/luqZcbiAgICAgKiBAZGVmYXVsdCAxLjVzXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QW5pbWF0ZWRJbnRlcnZhbDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625Li76ImyXG4gICAgICogQGRlZmF1bHQgI2Y3ZjdmN1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVByaW1hcnlDb2xvcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625qyh6ImyXG4gICAgICogQGRlZmF1bHQgI2FhYWFhYVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNlY29uZGFyeUNvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBjaXJjbGXnsbvlnovpqqjmnrblsLrlr7hcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dENzc1BpeGVsKClcbiAgICB0aHlTaXplOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICByb3dDb3VudDogbnVtYmVyW10gPSBbXTtcbiAgICAvKipcbiAgICAgKiDooYzmlbBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlSb3dDb3VudCh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucm93Q291bnQgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiArdmFsdWUgfSk7XG4gICAgfVxuICAgIGdldCB0aHlSb3dDb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm93Q291bnQubGVuZ3RoO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==