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
@@ -4,11 +4,9 @@ import { fromEvent, merge, ReplaySubject, Subject, Subscription } from 'rxjs';
4
4
  import { auditTime, map, takeUntil } from 'rxjs/operators';
5
5
  import { Platform } from '@angular/cdk/platform';
6
6
  import { DOCUMENT } from '@angular/common';
7
- import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Inject, Input, NgZone, numberAttribute, Output, Renderer2, ViewChild, ViewEncapsulation } from '@angular/core';
7
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, NgZone, numberAttribute, Output, Renderer2, ViewChild, ViewEncapsulation, inject } from '@angular/core';
8
8
  import { AffixRespondEvents } from './respond-events';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "ngx-tethys/core";
11
- import * as i2 from "@angular/cdk/platform";
12
10
  const THY_AFFIX_CLS_PREFIX = 'thy-affix';
13
11
  const THY_AFFIX_DEFAULT_SCROLL_TIME = 20;
14
12
  /**
@@ -21,11 +19,11 @@ export class ThyAffix {
21
19
  const el = this.thyContainer;
22
20
  return (typeof el === 'string' ? this.document.querySelector(el) : el) || window;
23
21
  }
24
- constructor(el, document, scrollService, ngZone, platform, renderer) {
25
- this.scrollService = scrollService;
26
- this.ngZone = ngZone;
27
- this.platform = platform;
28
- this.renderer = renderer;
22
+ constructor() {
23
+ this.scrollService = inject(ThyScrollService);
24
+ this.ngZone = inject(NgZone);
25
+ this.platform = inject(Platform);
26
+ this.renderer = inject(Renderer2);
29
27
  /**
30
28
  * 固定状态改变时触发的回调函数
31
29
  */
@@ -33,6 +31,8 @@ export class ThyAffix {
33
31
  this.positionChangeSubscription = Subscription.EMPTY;
34
32
  this.offsetChanged$ = new ReplaySubject(1);
35
33
  this.destroy$ = new Subject();
34
+ const el = inject(ElementRef);
35
+ const document = inject(DOCUMENT);
36
36
  // The wrapper would stay at the original position as a placeholder.
37
37
  this.placeholderNode = el.nativeElement;
38
38
  this.document = document;
@@ -205,7 +205,7 @@ export class ThyAffix {
205
205
  this.syncPlaceholderStyle(e);
206
206
  }
207
207
  }
208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyAffix, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.ThyScrollService }, { token: i0.NgZone }, { token: i2.Platform }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyAffix, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
209
209
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0", type: ThyAffix, isStandalone: true, selector: "thy-affix", inputs: { thyContainer: "thyContainer", thyOffsetTop: ["thyOffsetTop", "thyOffsetTop", numberAttribute], thyOffsetBottom: ["thyOffsetBottom", "thyOffsetBottom", numberAttribute] }, outputs: { thyChange: "thyChange" }, viewQueries: [{ propertyName: "fixedElement", first: true, predicate: ["fixedElement"], descendants: true, static: true }], exportAs: ["thyAffix"], usesOnChanges: true, ngImport: i0, template: `
210
210
  <div #fixedElement>
211
211
  <ng-content></ng-content>
@@ -226,10 +226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
226
226
  encapsulation: ViewEncapsulation.None,
227
227
  standalone: true
228
228
  }]
229
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
230
- type: Inject,
231
- args: [DOCUMENT]
232
- }] }, { type: i1.ThyScrollService }, { type: i0.NgZone }, { type: i2.Platform }, { type: i0.Renderer2 }], propDecorators: { fixedElement: [{
229
+ }], ctorParameters: () => [], propDecorators: { fixedElement: [{
233
230
  type: ViewChild,
234
231
  args: ['fixedElement', { static: true }]
235
232
  }], thyContainer: [{
@@ -243,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
243
240
  }], thyChange: [{
244
241
  type: Output
245
242
  }] } });
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FmZml4L2FmZml4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBYyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBR2YsTUFBTSxFQUNOLFNBQVMsRUFFVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBRXRELE1BQU0sb0JBQW9CLEdBQUcsV0FBVyxDQUFDO0FBQ3pDLE1BQU0sNkJBQTZCLEdBQUcsRUFBRSxDQUFDO0FBRXpDOzs7O0dBSUc7QUFhSCxNQUFNLE9BQU8sUUFBUTtJQXNDakIsSUFBWSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDN0IsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFh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L0IsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7OEdBclBRLFFBQVEsNENBNkNMLFFBQVE7a0dBN0NYLFFBQVEsb0lBY0csZUFBZSwyREFNZixlQUFlLDJPQTdCekI7Ozs7S0FJVDs7MkZBS1EsUUFBUTtrQkFacEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztvQkFDckIsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRTs7OztLQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkE4Q1EsTUFBTTsyQkFBQyxRQUFROzRJQTVDaUMsWUFBWTtzQkFBaEUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU9sQyxZQUFZO3NCQUFwQixLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBT3JDLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBTWxCLFNBQVM7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGRvbSwgc2hhbGxvd0VxdWFsLCBTaW1wbGVSZWN0IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFmZml4UmVzcG9uZEV2ZW50cyB9IGZyb20gJy4vcmVzcG9uZC1ldmVudHMnO1xuXG5jb25zdCBUSFlfQUZGSVhfQ0xTX1BSRUZJWCA9ICd0aHktYWZmaXgnO1xuY29uc3QgVEhZX0FGRklYX0RFRkFVTFRfU0NST0xMX1RJTUUgPSAyMDtcblxuLyoqXG4gKiDlm7rpkonnu4Tku7ZcbiAqIEBuYW1lIHRoeS1hZmZpeFxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWFmZml4JyxcbiAgICBleHBvcnRBczogJ3RoeUFmZml4JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2ICNmaXhlZEVsZW1lbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUFmZml4IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ2ZpeGVkRWxlbWVudCcsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgZml4ZWRFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gdGh5LWFmZml4IOmcgOimgeebkeWQrOWFtua7muWKqOS6i+S7tueahOWFg+e0oO+8jOWAvOS4uuS4gOS4qui/lOWbnuWvueW6lCBET00g5YWD57Sg55qE5Ye95pWwXG4gICAgICogQGRlZmF1bHQgd2luZG93XG4gICAgICogQHR5cGUgc3RyaW5nIHwgRWxlbWVudCB8IFdpbmRvd1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbnRhaW5lcj86IHN0cmluZyB8IEVsZW1lbnQgfCBXaW5kb3c7XG5cbiAgICAvKipcbiAgICAgKiDot53nprvnqpflj6Ppobbpg6jnvJPlhrLnmoTlgY/np7vph4/pmIjlgLxcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICB0aHlPZmZzZXRUb3A/OiBudWxsIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6Led56a756qX5Y+j5bqV6YOo57yT5Yay55qE5YGP56e76YeP6ZiI5YC8XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICB0aHlPZmZzZXRCb3R0b20/OiBudWxsIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog5Zu65a6a54q25oCB5pS55Y+Y5pe26Kem5Y+R55qE5Zue6LCD5Ye95pWwXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXJOb2RlOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgYWZmaXhTdHlsZT86IGFueTtcbiAgICBwcml2YXRlIHBsYWNlaG9sZGVyU3R5bGU/OiBhbnk7XG4gICAgcHJpdmF0ZSBwb3NpdGlvbkNoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgb2Zmc2V0Q2hhbmdlZCQgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHRpbWVvdXQ/OiBhbnk7XG4gICAgcHJpdmF0ZSBkb2N1bWVudDogYW55O1xuXG4gICAgcHJpdmF0ZSBnZXQgY29udGFpbmVyKCk6IEVsZW1lbnQgfCBXaW5kb3cge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMudGh5Q29udGFpbmVyO1xuICAgICAgICByZXR1cm4gKHR5cGVvZiBlbCA9PT0gJ3N0cmluZycgPyB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZWwpIDogZWwpIHx8IHdpbmRvdztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnksXG4gICAgICAgIHByaXZhdGUgc2Nyb2xsU2VydmljZTogVGh5U2Nyb2xsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge1xuICAgICAgICAvLyBUaGUgd3JhcHBlciB3b3VsZCBzdGF5IGF0IHRoZSBvcmlnaW5hbCBwb3NpdGlvbiBhcyBhIHBsYWNlaG9sZGVyLlxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyTm9kZSA9IGVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdGh5T2Zmc2V0Qm90dG9tLCB0aHlPZmZzZXRUb3AsIHRoeUNvbnRhaW5lciB9ID0gY2hhbmdlcztcblxuICAgICAgICBpZiAodGh5T2Zmc2V0Qm90dG9tIHx8IHRoeU9mZnNldFRvcCkge1xuICAgICAgICAgICAgdGhpcy5vZmZzZXRDaGFuZ2VkJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoeUNvbnRhaW5lcikge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3Rlckxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3Rlckxpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgICAgdGhpcy5wb3NpdGlvbkNoYW5nZVN1YnNjcmlwdGlvbiA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgICAgICAuLi5PYmplY3Qua2V5cyhBZmZpeFJlc3BvbmRFdmVudHMpLm1hcChldk5hbWUgPT4gZnJvbUV2ZW50KHRoaXMuY29udGFpbmVyLCBldk5hbWUpKSxcbiAgICAgICAgICAgICAgICB0aGlzLm9mZnNldENoYW5nZWQkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+ICh7fSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKGF1ZGl0VGltZShUSFlfQUZGSVhfREVGQVVMVF9TQ1JPTExfVElNRSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShlID0+IHRoaXMudXBkYXRlUG9zaXRpb24oZSBhcyBFdmVudCkpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVBvc2l0aW9uKHt9IGFzIEV2ZW50KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICB0aGlzLnBvc2l0aW9uQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0T2Zmc2V0KGVsZW1lbnQ6IEVsZW1lbnQsIHRhcmdldDogRWxlbWVudCB8IFdpbmRvdyB8IHVuZGVmaW5lZCk6IFNpbXBsZVJlY3Qge1xuICAgICAgICBjb25zdCBlbGVtUmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBkb20uZ2V0Q29udGFpbmVyUmVjdCh0YXJnZXQpO1xuXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuc2Nyb2xsU2VydmljZS5nZXRTY3JvbGwodGFyZ2V0LCB0cnVlKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHRoaXMuc2Nyb2xsU2VydmljZS5nZXRTY3JvbGwodGFyZ2V0LCBmYWxzZSk7XG5cbiAgICAgICAgY29uc3QgZG9jRWxlbSA9IHRoaXMuZG9jdW1lbnQuYm9keTtcbiAgICAgICAgY29uc3QgY2xpZW50VG9wID0gZG9jRWxlbS5jbGllbnRUb3AgfHwgMDtcbiAgICAgICAgY29uc3QgY2xpZW50TGVmdCA9IGRvY0VsZW0uY2xpZW50TGVmdCB8fCAwO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3A6IGVsZW1SZWN0LnRvcCAtIGNvbnRhaW5lclJlY3QudG9wICsgc2Nyb2xsVG9wIC0gY2xpZW50VG9wLFxuICAgICAgICAgICAgbGVmdDogZWxlbVJlY3QubGVmdCAtIGNvbnRhaW5lclJlY3QubGVmdCArIHNjcm9sbExlZnQgLSBjbGllbnRMZWZ0LFxuICAgICAgICAgICAgd2lkdGg6IGVsZW1SZWN0LndpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiBlbGVtUmVjdC5oZWlnaHRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEFmZml4U3R5bGUoZTogRXZlbnQsIGFmZml4U3R5bGU/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxBZmZpeFN0eWxlID0gdGhpcy5hZmZpeFN0eWxlO1xuICAgICAgICBjb25zdCBpc1dpbmRvdyA9IHRoaXMuY29udGFpbmVyID09PSB3aW5kb3c7XG4gICAgICAgIGlmIChlLnR5cGUgPT09ICdzY3JvbGwnICYmIG9yaWdpbmFsQWZmaXhTdHlsZSAmJiBhZmZpeFN0eWxlICYmIGlzV2luZG93KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNoYWxsb3dFcXVhbChvcmlnaW5hbEFmZml4U3R5bGUsIGFmZml4U3R5bGUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaXhlZCA9ICEhYWZmaXhTdHlsZTtcbiAgICAgICAgY29uc3Qgd3JhcEVsZW1lbnQgPSB0aGlzLmZpeGVkRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBFbGVtZW50LCAnY3NzVGV4dCcsIGRvbS5nZXRTdHlsZUFzVGV4dChhZmZpeFN0eWxlKSk7XG4gICAgICAgIHRoaXMuYWZmaXhTdHlsZSA9IGFmZml4U3R5bGU7XG4gICAgICAgIGlmIChmaXhlZCkge1xuICAgICAgICAgICAgd3JhcEVsZW1lbnQuY2xhc3NMaXN0LmFkZChUSFlfQUZGSVhfQ0xTX1BSRUZJWCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3cmFwRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFRIWV9BRkZJWF9DTFNfUFJFRklYKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgoYWZmaXhTdHlsZSAmJiAhb3JpZ2luYWxBZmZpeFN0eWxlKSB8fCAoIWFmZml4U3R5bGUgJiYgb3JpZ2luYWxBZmZpeFN0eWxlKSkge1xuICAgICAgICAgICAgdGhpcy50aHlDaGFuZ2UuZW1pdChmaXhlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBsYWNlaG9sZGVyU3R5bGUocGxhY2Vob2xkZXJTdHlsZT86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcmlnaW5hbFBsYWNlaG9sZGVyU3R5bGUgPSB0aGlzLnBsYWNlaG9sZGVyU3R5bGU7XG4gICAgICAgIGlmIChzaGFsbG93RXF1YWwocGxhY2Vob2xkZXJTdHlsZSwgb3JpZ2luYWxQbGFjZWhvbGRlclN0eWxlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wbGFjZWhvbGRlck5vZGUsICdjc3NUZXh0JywgZG9tLmdldFN0eWxlQXNUZXh0KHBsYWNlaG9sZGVyU3R5bGUpKTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlclN0eWxlID0gcGxhY2Vob2xkZXJTdHlsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNQbGFjZWhvbGRlclN0eWxlKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hZmZpeFN0eWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnBsYWNlaG9sZGVyTm9kZSwgJ2Nzc1RleHQnLCAnJyk7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJTdHlsZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgc3R5bGVPYmogPSB7XG4gICAgICAgICAgICB3aWR0aDogdGhpcy5wbGFjZWhvbGRlck5vZGUub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuZml4ZWRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0QWZmaXhTdHlsZShlLCB7XG4gICAgICAgICAgICAuLi50aGlzLmFmZml4U3R5bGUsXG4gICAgICAgICAgICAuLi5zdHlsZU9ialxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlclN0eWxlKHN0eWxlT2JqKTtcbiAgICB9XG5cbiAgICB1cGRhdGVQb3NpdGlvbihlOiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250YWluZXJOb2RlID0gdGhpcy5jb250YWluZXI7XG4gICAgICAgIGxldCBvZmZzZXRUb3AgPSB0aGlzLnRoeU9mZnNldFRvcDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxTZXJ2aWNlLmdldFNjcm9sbChjb250YWluZXJOb2RlLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZWxlbWVudE9mZnNldCA9IHRoaXMuZ2V0T2Zmc2V0KHRoaXMucGxhY2Vob2xkZXJOb2RlLCBjb250YWluZXJOb2RlKTtcbiAgICAgICAgY29uc3QgZml4ZWROb2RlID0gdGhpcy5maXhlZEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgZWxlbVNpemUgPSB7XG4gICAgICAgICAgICB3aWR0aDogZml4ZWROb2RlLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiBmaXhlZE5vZGUub2Zmc2V0SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9mZnNldE1vZGUgPSB7XG4gICAgICAgICAgICB0b3A6IGZhbHNlLFxuICAgICAgICAgICAgYm90dG9tOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICAvLyBEZWZhdWx0IHRvIGBvZmZzZXRUb3A9MGAuXG4gICAgICAgIGlmICh0eXBlb2Ygb2Zmc2V0VG9wICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgdGhpcy50aHlPZmZzZXRCb3R0b20gIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBvZmZzZXRNb2RlLnRvcCA9IHRydWU7XG4gICAgICAgICAgICBvZmZzZXRUb3AgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2Zmc2V0TW9kZS50b3AgPSB0eXBlb2Ygb2Zmc2V0VG9wID09PSAnbnVtYmVyJztcbiAgICAgICAgICAgIG9mZnNldE1vZGUuYm90dG9tID0gdHlwZW9mIHRoaXMudGh5T2Zmc2V0Qm90dG9tID09PSAnbnVtYmVyJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250YWluZXJSZWN0ID0gZG9tLmdldENvbnRhaW5lclJlY3QoY29udGFpbmVyTm9kZSBhcyBXaW5kb3cpO1xuICAgICAgICBjb25zdCB0YXJnZXRJbm5lckhlaWdodCA9IChjb250YWluZXJOb2RlIGFzIFdpbmRvdykuaW5uZXJIZWlnaHQgfHwgKGNvbnRhaW5lck5vZGUgYXMgSFRNTEVsZW1lbnQpLmNsaWVudEhlaWdodDtcbiAgICAgICAgaWYgKHNjcm9sbFRvcCA+PSBlbGVtZW50T2Zmc2V0LnRvcCAtIChvZmZzZXRUb3AgYXMgbnVtYmVyKSAmJiBvZmZzZXRNb2RlLnRvcCkge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBlbGVtZW50T2Zmc2V0LndpZHRoO1xuICAgICAgICAgICAgY29uc3QgdG9wID0gY29udGFpbmVyUmVjdC50b3AgKyAob2Zmc2V0VG9wIGFzIG51bWJlcik7XG4gICAgICAgICAgICB0aGlzLnNldEFmZml4U3R5bGUoZSwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgICAgIHRvcCxcbiAgICAgICAgICAgICAgICBsZWZ0OiBjb250YWluZXJSZWN0LmxlZnQgKyBlbGVtZW50T2Zmc2V0LmxlZnQsXG4gICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlclN0eWxlKHtcbiAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVsZW1TaXplLmhlaWdodFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBzY3JvbGxUb3AgPD0gZWxlbWVudE9mZnNldC50b3AgKyBlbGVtU2l6ZS5oZWlnaHQgKyAodGhpcy50aHlPZmZzZXRCb3R0b20gYXMgbnVtYmVyKSAtIHRhcmdldElubmVySGVpZ2h0ICYmXG4gICAgICAgICAgICBvZmZzZXRNb2RlLmJvdHRvbVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEJvdHRvbU9mZnNldCA9IGNvbnRhaW5lck5vZGUgPT09IHdpbmRvdyA/IDAgOiB3aW5kb3cuaW5uZXJIZWlnaHQgLSBjb250YWluZXJSZWN0LmJvdHRvbTtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZWxlbWVudE9mZnNldC53aWR0aDtcbiAgICAgICAgICAgIHRoaXMuc2V0QWZmaXhTdHlsZShlLCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICAgICAgYm90dG9tOiB0YXJnZXRCb3R0b21PZmZzZXQgKyAodGhpcy50aHlPZmZzZXRCb3R0b20gYXMgbnVtYmVyKSxcbiAgICAgICAgICAgICAgICBsZWZ0OiBjb250YWluZXJSZWN0LmxlZnQgKyBlbGVtZW50T2Zmc2V0LmxlZnQsXG4gICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlclN0eWxlKHtcbiAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVsZW1lbnRPZmZzZXQuaGVpZ2h0XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBlLnR5cGUgPT09IEFmZml4UmVzcG9uZEV2ZW50cy5yZXNpemUgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmFmZml4U3R5bGUgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmFmZml4U3R5bGUucG9zaXRpb24gPT09ICdmaXhlZCcgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyTm9kZS5vZmZzZXRXaWR0aFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBZmZpeFN0eWxlKGUsIHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5hZmZpeFN0eWxlLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy5wbGFjZWhvbGRlck5vZGUub2Zmc2V0V2lkdGhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBZmZpeFN0eWxlKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlclN0eWxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZS50eXBlID09PSAncmVzaXplJykge1xuICAgICAgICAgICAgdGhpcy5zeW5jUGxhY2Vob2xkZXJTdHlsZShlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FmZml4L2FmZml4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBYyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGVBQWUsRUFHZixNQUFNLEVBQ04sU0FBUyxFQUVULFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUV0RCxNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FBQztBQUN6QyxNQUFNLDZCQUE2QixHQUFHLEVBQUUsQ0FBQztBQUV6Qzs7OztHQUlHO0FBYUgsTUFBTSxPQUFPLFFBQVE7SUEyQ2pCLElBQVksU0FBUztRQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUM7SUFDckYsQ0FBQztJQUVEO1FBL0NRLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUF3QnJDOztXQUVHO1FBQ2dCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTW5ELCtCQUEwQixHQUFpQixZQUFZLENBQUMsS0FBSyxDQUFDO1FBQzlELG1CQUFjLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFVbkMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVsQyxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWhFLElBQUksZUFBZSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pFLE9BQU8sS0FBSyxDQUNSLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQ25GLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNwQixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNsQixDQUNKO2lCQUNJLElBQUksQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsQ0FBQztpQkFDOUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxlQUFlO1FBQ25CLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWdCLEVBQUUsTUFBb0M7UUFDNUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDakQsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFL0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbkMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7UUFDekMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFFM0MsT0FBTztZQUNILEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcsU0FBUyxHQUFHLFNBQVM7WUFDN0QsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksR0FBRyxVQUFVLEdBQUcsVUFBVTtZQUNsRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7WUFDckIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1NBQzFCLENBQUM7SUFDTixDQUFDO0lBRU8sYUFBYSxDQUFDLENBQVEsRUFBRSxVQUFnQjtRQUM1QyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUM7UUFDM0MsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxrQkFBa0IsSUFBSSxVQUFVLElBQUksUUFBUSxFQUFFLENBQUM7WUFDdEUsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQy9DLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwRCxDQUFDO2FBQU0sQ0FBQztZQUNKLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQzdFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsZ0JBQXNCO1FBQzlDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3ZELElBQUksWUFBWSxDQUFDLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztZQUMzRCxPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUM3QyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsQ0FBUTtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztRQUNsQyxNQUFNLFFBQVEsR0FBRztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVc7WUFDdkMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFlBQVk7U0FDdkQsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFO1lBQ2xCLEdBQUcsSUFBSSxDQUFDLFVBQVU7WUFDbEIsR0FBRyxRQUFRO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjLENBQUMsQ0FBUTtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMzQixPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNsQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ2xELE1BQU0sUUFBUSxHQUFHO1lBQ2IsS0FBSyxFQUFFLFNBQVMsQ0FBQyxXQUFXO1lBQzVCLE1BQU0sRUFBRSxTQUFTLENBQUMsWUFBWTtTQUNqQyxDQUFDO1FBQ0YsTUFBTSxVQUFVLEdBQUc7WUFDZixHQUFHLEVBQUUsS0FBSztZQUNWLE1BQU0sRUFBRSxLQUFLO1NBQ2hCLENBQUM7UUFDRiw0QkFBNEI7UUFDNUIsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVFLFVBQVUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDSixVQUFVLENBQUMsR0FBRyxHQUFHLE9BQU8sU0FBUyxLQUFLLFFBQVEsQ0FBQztZQUMvQyxVQUFVLENBQUMsTUFBTSxHQUFHLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxRQUFRLENBQUM7UUFDakUsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUF1QixDQUFDLENBQUM7UUFDcEUsTUFBTSxpQkFBaUIsR0FBSSxhQUF3QixDQUFDLFdBQVcsSUFBSyxhQUE2QixDQUFDLFlBQVksQ0FBQztRQUMvRyxJQUFJLFNBQVMsSUFBSSxhQUFhLENBQUMsR0FBRyxHQUFJLFNBQW9CLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzNFLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDbEMsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLEdBQUcsR0FBSSxTQUFvQixDQUFDO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFO2dCQUNsQixRQUFRLEVBQUUsT0FBTztnQkFDakIsR0FBRztnQkFDSCxJQUFJLEVBQUUsYUFBYSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSTtnQkFDN0MsS0FBSzthQUNSLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQztnQkFDckIsS0FBSztnQkFDTCxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07YUFDMUIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLElBQ0gsU0FBUyxJQUFJLGFBQWEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBSSxJQUFJLENBQUMsZUFBMEIsR0FBRyxpQkFBaUI7WUFDdkcsVUFBVSxDQUFDLE1BQU0sRUFDbkIsQ0FBQztZQUNDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDcEcsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRTtnQkFDbEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE1BQU0sRUFBRSxrQkFBa0IsR0FBSSxJQUFJLENBQUMsZUFBMEI7Z0JBQzdELElBQUksRUFBRSxhQUFhLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxJQUFJO2dCQUM3QyxLQUFLO2FBQ1IsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2dCQUNyQixLQUFLO2dCQUNMLE1BQU0sRUFBRSxhQUFhLENBQUMsTUFBTTthQUMvQixDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQ0ksQ0FBQyxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxNQUFNO2dCQUNwQyxJQUFJLENBQUMsVUFBVTtnQkFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsS0FBSyxPQUFPO2dCQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFDbEMsQ0FBQztnQkFDQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRTtvQkFDbEIsR0FBRyxJQUFJLENBQUMsVUFBVTtvQkFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVztpQkFDMUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsQ0FBQztZQUNELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFFRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDOzhHQXRQUSxRQUFRO2tHQUFSLFFBQVEsb0lBbUJHLGVBQWUsMkRBTWYsZUFBZSwyT0FsQ3pCOzs7O0tBSVQ7OzJGQUtRLFFBQVE7a0JBWnBCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUU7Ozs7S0FJVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3REFPd0QsWUFBWTtzQkFBaEUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQU9sQyxZQUFZO3NCQUFwQixLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBT3JDLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBTWxCLFNBQVM7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGRvbSwgc2hhbGxvd0VxdWFsLCBTaW1wbGVSZWN0IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYXVkaXRUaW1lLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFmZml4UmVzcG9uZEV2ZW50cyB9IGZyb20gJy4vcmVzcG9uZC1ldmVudHMnO1xuXG5jb25zdCBUSFlfQUZGSVhfQ0xTX1BSRUZJWCA9ICd0aHktYWZmaXgnO1xuY29uc3QgVEhZX0FGRklYX0RFRkFVTFRfU0NST0xMX1RJTUUgPSAyMDtcblxuLyoqXG4gKiDlm7rpkonnu4Tku7ZcbiAqIEBuYW1lIHRoeS1hZmZpeFxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWFmZml4JyxcbiAgICBleHBvcnRBczogJ3RoeUFmZml4JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2ICNmaXhlZEVsZW1lbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUFmZml4IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgc2Nyb2xsU2VydmljZSA9IGluamVjdChUaHlTY3JvbGxTZXJ2aWNlKTtcbiAgICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgcGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm0pO1xuICAgIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2ZpeGVkRWxlbWVudCcsIHsgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgZml4ZWRFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva4gdGh5LWFmZml4IOmcgOimgeebkeWQrOWFtua7muWKqOS6i+S7tueahOWFg+e0oO+8jOWAvOS4uuS4gOS4qui/lOWbnuWvueW6lCBET00g5YWD57Sg55qE5Ye95pWwXG4gICAgICogQGRlZmF1bHQgd2luZG93XG4gICAgICogQHR5cGUgc3RyaW5nIHwgRWxlbWVudCB8IFdpbmRvd1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbnRhaW5lcj86IHN0cmluZyB8IEVsZW1lbnQgfCBXaW5kb3c7XG5cbiAgICAvKipcbiAgICAgKiDot53nprvnqpflj6Ppobbpg6jnvJPlhrLnmoTlgY/np7vph4/pmIjlgLxcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICB0aHlPZmZzZXRUb3A/OiBudWxsIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6Led56a756qX5Y+j5bqV6YOo57yT5Yay55qE5YGP56e76YeP6ZiI5YC8XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICB0aHlPZmZzZXRCb3R0b20/OiBudWxsIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog5Zu65a6a54q25oCB5pS55Y+Y5pe26Kem5Y+R55qE5Zue6LCD5Ye95pWwXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXJOb2RlOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgYWZmaXhTdHlsZT86IGFueTtcbiAgICBwcml2YXRlIHBsYWNlaG9sZGVyU3R5bGU/OiBhbnk7XG4gICAgcHJpdmF0ZSBwb3NpdGlvbkNoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICAgIHByaXZhdGUgb2Zmc2V0Q2hhbmdlZCQgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHRpbWVvdXQ/OiBhbnk7XG4gICAgcHJpdmF0ZSBkb2N1bWVudDogYW55O1xuXG4gICAgcHJpdmF0ZSBnZXQgY29udGFpbmVyKCk6IEVsZW1lbnQgfCBXaW5kb3cge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMudGh5Q29udGFpbmVyO1xuICAgICAgICByZXR1cm4gKHR5cGVvZiBlbCA9PT0gJ3N0cmluZycgPyB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZWwpIDogZWwpIHx8IHdpbmRvdztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgICAgICAvLyBUaGUgd3JhcHBlciB3b3VsZCBzdGF5IGF0IHRoZSBvcmlnaW5hbCBwb3NpdGlvbiBhcyBhIHBsYWNlaG9sZGVyLlxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyTm9kZSA9IGVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdGh5T2Zmc2V0Qm90dG9tLCB0aHlPZmZzZXRUb3AsIHRoeUNvbnRhaW5lciB9ID0gY2hhbmdlcztcblxuICAgICAgICBpZiAodGh5T2Zmc2V0Qm90dG9tIHx8IHRoeU9mZnNldFRvcCkge1xuICAgICAgICAgICAgdGhpcy5vZmZzZXRDaGFuZ2VkJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoeUNvbnRhaW5lcikge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3Rlckxpc3RlbmVycygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3Rlckxpc3RlbmVycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgICAgdGhpcy5wb3NpdGlvbkNoYW5nZVN1YnNjcmlwdGlvbiA9IHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgICAgICAuLi5PYmplY3Qua2V5cyhBZmZpeFJlc3BvbmRFdmVudHMpLm1hcChldk5hbWUgPT4gZnJvbUV2ZW50KHRoaXMuY29udGFpbmVyLCBldk5hbWUpKSxcbiAgICAgICAgICAgICAgICB0aGlzLm9mZnNldENoYW5nZWQkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+ICh7fSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKGF1ZGl0VGltZShUSFlfQUZGSVhfREVGQVVMVF9TQ1JPTExfVElNRSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShlID0+IHRoaXMudXBkYXRlUG9zaXRpb24oZSBhcyBFdmVudCkpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnVwZGF0ZVBvc2l0aW9uKHt9IGFzIEV2ZW50KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICB0aGlzLnBvc2l0aW9uQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0T2Zmc2V0KGVsZW1lbnQ6IEVsZW1lbnQsIHRhcmdldDogRWxlbWVudCB8IFdpbmRvdyB8IHVuZGVmaW5lZCk6IFNpbXBsZVJlY3Qge1xuICAgICAgICBjb25zdCBlbGVtUmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBkb20uZ2V0Q29udGFpbmVyUmVjdCh0YXJnZXQpO1xuXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHRoaXMuc2Nyb2xsU2VydmljZS5nZXRTY3JvbGwodGFyZ2V0LCB0cnVlKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IHRoaXMuc2Nyb2xsU2VydmljZS5nZXRTY3JvbGwodGFyZ2V0LCBmYWxzZSk7XG5cbiAgICAgICAgY29uc3QgZG9jRWxlbSA9IHRoaXMuZG9jdW1lbnQuYm9keTtcbiAgICAgICAgY29uc3QgY2xpZW50VG9wID0gZG9jRWxlbS5jbGllbnRUb3AgfHwgMDtcbiAgICAgICAgY29uc3QgY2xpZW50TGVmdCA9IGRvY0VsZW0uY2xpZW50TGVmdCB8fCAwO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3A6IGVsZW1SZWN0LnRvcCAtIGNvbnRhaW5lclJlY3QudG9wICsgc2Nyb2xsVG9wIC0gY2xpZW50VG9wLFxuICAgICAgICAgICAgbGVmdDogZWxlbVJlY3QubGVmdCAtIGNvbnRhaW5lclJlY3QubGVmdCArIHNjcm9sbExlZnQgLSBjbGllbnRMZWZ0LFxuICAgICAgICAgICAgd2lkdGg6IGVsZW1SZWN0LndpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiBlbGVtUmVjdC5oZWlnaHRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEFmZml4U3R5bGUoZTogRXZlbnQsIGFmZml4U3R5bGU/OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxBZmZpeFN0eWxlID0gdGhpcy5hZmZpeFN0eWxlO1xuICAgICAgICBjb25zdCBpc1dpbmRvdyA9IHRoaXMuY29udGFpbmVyID09PSB3aW5kb3c7XG4gICAgICAgIGlmIChlLnR5cGUgPT09ICdzY3JvbGwnICYmIG9yaWdpbmFsQWZmaXhTdHlsZSAmJiBhZmZpeFN0eWxlICYmIGlzV2luZG93KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNoYWxsb3dFcXVhbChvcmlnaW5hbEFmZml4U3R5bGUsIGFmZml4U3R5bGUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaXhlZCA9ICEhYWZmaXhTdHlsZTtcbiAgICAgICAgY29uc3Qgd3JhcEVsZW1lbnQgPSB0aGlzLmZpeGVkRWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBFbGVtZW50LCAnY3NzVGV4dCcsIGRvbS5nZXRTdHlsZUFzVGV4dChhZmZpeFN0eWxlKSk7XG4gICAgICAgIHRoaXMuYWZmaXhTdHlsZSA9IGFmZml4U3R5bGU7XG4gICAgICAgIGlmIChmaXhlZCkge1xuICAgICAgICAgICAgd3JhcEVsZW1lbnQuY2xhc3NMaXN0LmFkZChUSFlfQUZGSVhfQ0xTX1BSRUZJWCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3cmFwRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFRIWV9BRkZJWF9DTFNfUFJFRklYKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgoYWZmaXhTdHlsZSAmJiAhb3JpZ2luYWxBZmZpeFN0eWxlKSB8fCAoIWFmZml4U3R5bGUgJiYgb3JpZ2luYWxBZmZpeFN0eWxlKSkge1xuICAgICAgICAgICAgdGhpcy50aHlDaGFuZ2UuZW1pdChmaXhlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBsYWNlaG9sZGVyU3R5bGUocGxhY2Vob2xkZXJTdHlsZT86IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcmlnaW5hbFBsYWNlaG9sZGVyU3R5bGUgPSB0aGlzLnBsYWNlaG9sZGVyU3R5bGU7XG4gICAgICAgIGlmIChzaGFsbG93RXF1YWwocGxhY2Vob2xkZXJTdHlsZSwgb3JpZ2luYWxQbGFjZWhvbGRlclN0eWxlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wbGFjZWhvbGRlck5vZGUsICdjc3NUZXh0JywgZG9tLmdldFN0eWxlQXNUZXh0KHBsYWNlaG9sZGVyU3R5bGUpKTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlclN0eWxlID0gcGxhY2Vob2xkZXJTdHlsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNQbGFjZWhvbGRlclN0eWxlKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hZmZpeFN0eWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnBsYWNlaG9sZGVyTm9kZSwgJ2Nzc1RleHQnLCAnJyk7XG4gICAgICAgIHRoaXMucGxhY2Vob2xkZXJTdHlsZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qgc3R5bGVPYmogPSB7XG4gICAgICAgICAgICB3aWR0aDogdGhpcy5wbGFjZWhvbGRlck5vZGUub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuZml4ZWRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0QWZmaXhTdHlsZShlLCB7XG4gICAgICAgICAgICAuLi50aGlzLmFmZml4U3R5bGUsXG4gICAgICAgICAgICAuLi5zdHlsZU9ialxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlclN0eWxlKHN0eWxlT2JqKTtcbiAgICB9XG5cbiAgICB1cGRhdGVQb3NpdGlvbihlOiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250YWluZXJOb2RlID0gdGhpcy5jb250YWluZXI7XG4gICAgICAgIGxldCBvZmZzZXRUb3AgPSB0aGlzLnRoeU9mZnNldFRvcDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGhpcy5zY3JvbGxTZXJ2aWNlLmdldFNjcm9sbChjb250YWluZXJOb2RlLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZWxlbWVudE9mZnNldCA9IHRoaXMuZ2V0T2Zmc2V0KHRoaXMucGxhY2Vob2xkZXJOb2RlLCBjb250YWluZXJOb2RlKTtcbiAgICAgICAgY29uc3QgZml4ZWROb2RlID0gdGhpcy5maXhlZEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgZWxlbVNpemUgPSB7XG4gICAgICAgICAgICB3aWR0aDogZml4ZWROb2RlLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiBmaXhlZE5vZGUub2Zmc2V0SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9mZnNldE1vZGUgPSB7XG4gICAgICAgICAgICB0b3A6IGZhbHNlLFxuICAgICAgICAgICAgYm90dG9tOiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICAvLyBEZWZhdWx0IHRvIGBvZmZzZXRUb3A9MGAuXG4gICAgICAgIGlmICh0eXBlb2Ygb2Zmc2V0VG9wICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgdGhpcy50aHlPZmZzZXRCb3R0b20gIT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBvZmZzZXRNb2RlLnRvcCA9IHRydWU7XG4gICAgICAgICAgICBvZmZzZXRUb3AgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2Zmc2V0TW9kZS50b3AgPSB0eXBlb2Ygb2Zmc2V0VG9wID09PSAnbnVtYmVyJztcbiAgICAgICAgICAgIG9mZnNldE1vZGUuYm90dG9tID0gdHlwZW9mIHRoaXMudGh5T2Zmc2V0Qm90dG9tID09PSAnbnVtYmVyJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250YWluZXJSZWN0ID0gZG9tLmdldENvbnRhaW5lclJlY3QoY29udGFpbmVyTm9kZSBhcyBXaW5kb3cpO1xuICAgICAgICBjb25zdCB0YXJnZXRJbm5lckhlaWdodCA9IChjb250YWluZXJOb2RlIGFzIFdpbmRvdykuaW5uZXJIZWlnaHQgfHwgKGNvbnRhaW5lck5vZGUgYXMgSFRNTEVsZW1lbnQpLmNsaWVudEhlaWdodDtcbiAgICAgICAgaWYgKHNjcm9sbFRvcCA+PSBlbGVtZW50T2Zmc2V0LnRvcCAtIChvZmZzZXRUb3AgYXMgbnVtYmVyKSAmJiBvZmZzZXRNb2RlLnRvcCkge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBlbGVtZW50T2Zmc2V0LndpZHRoO1xuICAgICAgICAgICAgY29uc3QgdG9wID0gY29udGFpbmVyUmVjdC50b3AgKyAob2Zmc2V0VG9wIGFzIG51bWJlcik7XG4gICAgICAgICAgICB0aGlzLnNldEFmZml4U3R5bGUoZSwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgICAgIHRvcCxcbiAgICAgICAgICAgICAgICBsZWZ0OiBjb250YWluZXJSZWN0LmxlZnQgKyBlbGVtZW50T2Zmc2V0LmxlZnQsXG4gICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlclN0eWxlKHtcbiAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVsZW1TaXplLmhlaWdodFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBzY3JvbGxUb3AgPD0gZWxlbWVudE9mZnNldC50b3AgKyBlbGVtU2l6ZS5oZWlnaHQgKyAodGhpcy50aHlPZmZzZXRCb3R0b20gYXMgbnVtYmVyKSAtIHRhcmdldElubmVySGVpZ2h0ICYmXG4gICAgICAgICAgICBvZmZzZXRNb2RlLmJvdHRvbVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEJvdHRvbU9mZnNldCA9IGNvbnRhaW5lck5vZGUgPT09IHdpbmRvdyA/IDAgOiB3aW5kb3cuaW5uZXJIZWlnaHQgLSBjb250YWluZXJSZWN0LmJvdHRvbTtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZWxlbWVudE9mZnNldC53aWR0aDtcbiAgICAgICAgICAgIHRoaXMuc2V0QWZmaXhTdHlsZShlLCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICAgICAgYm90dG9tOiB0YXJnZXRCb3R0b21PZmZzZXQgKyAodGhpcy50aHlPZmZzZXRCb3R0b20gYXMgbnVtYmVyKSxcbiAgICAgICAgICAgICAgICBsZWZ0OiBjb250YWluZXJSZWN0LmxlZnQgKyBlbGVtZW50T2Zmc2V0LmxlZnQsXG4gICAgICAgICAgICAgICAgd2lkdGhcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlclN0eWxlKHtcbiAgICAgICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGVsZW1lbnRPZmZzZXQuaGVpZ2h0XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBlLnR5cGUgPT09IEFmZml4UmVzcG9uZEV2ZW50cy5yZXNpemUgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmFmZml4U3R5bGUgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmFmZml4U3R5bGUucG9zaXRpb24gPT09ICdmaXhlZCcgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyTm9kZS5vZmZzZXRXaWR0aFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBZmZpeFN0eWxlKGUsIHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5hZmZpeFN0eWxlLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy5wbGFjZWhvbGRlck5vZGUub2Zmc2V0V2lkdGhcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBZmZpeFN0eWxlKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXRQbGFjZWhvbGRlclN0eWxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZS50eXBlID09PSAncmVzaXplJykge1xuICAgICAgICAgICAgdGhpcy5zeW5jUGxhY2Vob2xkZXJTdHlsZShlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { Component, Input, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';
1
+ import { Component, TemplateRef, ChangeDetectionStrategy, input, contentChild, effect, computed } from '@angular/core';
2
2
  import { coerceBooleanProperty, isString } from 'ngx-tethys/util';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
4
  import { ThyIcon } from 'ngx-tethys/icon';
5
- import { NgIf, NgTemplateOutlet } from '@angular/common';
5
+ import { NgTemplateOutlet } from '@angular/common';
6
6
  import * as i0 from "@angular/core";
7
7
  const weakTypes = ['primary-weak', 'success-weak', 'warning-weak', 'danger-weak'];
8
8
  const typeIconsMap = {
@@ -22,103 +22,77 @@ const typeIconsMap = {
22
22
  * @order 10
23
23
  */
24
24
  export class ThyAlert {
25
- /**
26
- * 指定警告提示的类型
27
- * @type success | warning | danger | info | primary | primary-weak | success-weak | warning-weak | danger-weak
28
- * @default info
29
- */
30
- set thyType(value) {
31
- this.type = value;
32
- }
33
- /**
34
- * 指定警告提示的主题
35
- * @type fill | bordered | naked
36
- * @default fill
37
- */
38
- set thyTheme(value) {
39
- this.theme = value;
40
- }
41
- /**
42
- * 显示警告提示的内容
43
- */
44
- set thyMessage(value) {
45
- if (value instanceof TemplateRef) {
46
- this.messageTemplate = value;
47
- }
48
- else {
49
- this.messageText = value;
50
- }
51
- }
52
- /**
53
- * 显示自定义图标,可传 true/false 控制是否显示图标,或者传字符串去指定图标名称
54
- */
55
- set thyIcon(value) {
56
- if (value) {
57
- this.showIcon = true;
58
- this.icon = isString(value) ? value.toString() : null;
59
- }
60
- else {
61
- this.showIcon = false;
62
- }
63
- }
64
- get thyIcon() {
65
- if (this.showIcon) {
66
- return this.icon || typeIconsMap[this.type];
67
- }
68
- else {
69
- return null;
70
- }
71
- }
72
25
  constructor() {
73
26
  this.hidden = false;
74
- this.showIcon = true;
75
- this.type = 'info';
76
27
  this.hostRenderer = useHostRenderer();
77
- this.theme = 'fill';
78
- }
79
- ngOnInit() {
80
- this.updateClass();
81
- }
82
- ngOnChanges(changes) {
83
- if ((changes.thyTheme && !changes.thyTheme.firstChange) || (changes.thyType && !changes.thyType.firstChange)) {
28
+ this.messageIsTemplate = computed(() => {
29
+ const value = this.thyMessage();
30
+ return value instanceof TemplateRef;
31
+ });
32
+ /**
33
+ * 指定警告提示的类型
34
+ * @type success | warning | danger | info | primary | primary-weak | success-weak | warning-weak | danger-weak
35
+ * @default info
36
+ */
37
+ this.thyType = input('info');
38
+ /**
39
+ * 指定警告提示的主题
40
+ * @type fill | bordered | naked
41
+ * @default fill
42
+ */
43
+ this.thyTheme = input('fill');
44
+ /**
45
+ * 显示警告提示的内容
46
+ */
47
+ this.thyMessage = input();
48
+ /**
49
+ * 显示自定义图标,可传 true/false 控制是否显示图标,或者传字符串去指定图标名称
50
+ */
51
+ this.thyIcon = input();
52
+ this.icon = computed(() => {
53
+ const icon = this.thyIcon();
54
+ if (icon) {
55
+ return isString(icon) ? icon : typeIconsMap[this.thyType()];
56
+ }
57
+ else {
58
+ return icon === 'false' || icon === false ? '' : typeIconsMap[this.thyType()];
59
+ }
60
+ });
61
+ /**
62
+ * 是否显示关闭警告框按钮,默认不显示
63
+ * @default false
64
+ */
65
+ this.thyCloseable = input(false, { transform: coerceBooleanProperty });
66
+ /**
67
+ * 警告框自定义操作
68
+ * @type TemplateRef
69
+ */
70
+ this.alertOperation = contentChild('operation');
71
+ effect(() => {
84
72
  this.updateClass();
85
- }
73
+ });
86
74
  }
87
75
  closeAlert() {
88
76
  this.hidden = true;
89
77
  }
90
78
  updateClass() {
91
79
  // 兼容 'primary-weak', 'success-weak', 'warning-weak', 'danger-weak' types
92
- let theme = this.theme;
93
- let type = this.type;
94
- if (weakTypes.includes(this.type)) {
80
+ let theme = this.thyTheme();
81
+ let type = this.thyType();
82
+ if (weakTypes.includes(type)) {
95
83
  theme = 'bordered';
96
- type = this.type.split('-')[0];
84
+ type = type.split('-')[0];
97
85
  }
98
86
  this.hostRenderer.updateClass([`thy-alert-${theme}`, `thy-alert-${theme}-${type}`]);
99
87
  }
100
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0", type: ThyAlert, isStandalone: true, selector: "thy-alert", inputs: { thyType: "thyType", thyTheme: "thyTheme", thyMessage: "thyMessage", thyIcon: "thyIcon", thyCloseable: ["thyCloseable", "thyCloseable", coerceBooleanProperty] }, host: { properties: { "class.thy-alert-hidden": "hidden" }, classAttribute: "thy-alert" }, queries: [{ propertyName: "alertOperation", first: true, predicate: ["operation"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips\uFF1A </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyAlert, isStandalone: true, selector: "thy-alert", inputs: { thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thyTheme: { classPropertyName: "thyTheme", publicName: "thyTheme", isSignal: true, isRequired: false, transformFunction: null }, thyMessage: { classPropertyName: "thyMessage", publicName: "thyMessage", isSignal: true, isRequired: false, transformFunction: null }, thyIcon: { classPropertyName: "thyIcon", publicName: "thyIcon", isSignal: true, isRequired: false, transformFunction: null }, thyCloseable: { classPropertyName: "thyCloseable", publicName: "thyCloseable", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.thy-alert-hidden": "hidden" }, classAttribute: "thy-alert" }, queries: [{ propertyName: "alertOperation", first: true, predicate: ["operation"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"thy-alert-content\">\n @if (icon()) {\n <thy-icon class=\"thy-alert-icon\" [thyIconName]=\"icon()\"></thy-icon>\n }\n @if (thyTheme() === 'naked') {\n <span class=\"thy-alert-tips\">Tips\uFF1A </span>\n }\n @if (messageIsTemplate()) {\n <ng-template *ngTemplateOutlet=\"thyMessage()\"></ng-template>\n } @else if (thyMessage()) {\n <span>{{ thyMessage() }}</span>\n }\n @if (alertOperation()) {\n <div class=\"thy-alert-operation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation()\"></ng-container>\n </div>\n }\n</div>\n@if (thyCloseable()) {\n <a href=\"javascript:;\" class=\"thy-alert-close\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
102
90
  }
103
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyAlert, decorators: [{
104
92
  type: Component,
105
93
  args: [{ selector: 'thy-alert', changeDetection: ChangeDetectionStrategy.OnPush, host: {
106
94
  class: 'thy-alert',
107
95
  '[class.thy-alert-hidden]': 'hidden'
108
- }, standalone: true, imports: [NgIf, ThyIcon, NgTemplateOutlet], template: "<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips\uFF1A </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n" }]
109
- }], ctorParameters: () => [], propDecorators: { thyType: [{
110
- type: Input
111
- }], thyTheme: [{
112
- type: Input
113
- }], thyMessage: [{
114
- type: Input
115
- }], thyIcon: [{
116
- type: Input
117
- }], thyCloseable: [{
118
- type: Input,
119
- args: [{ transform: coerceBooleanProperty }]
120
- }], alertOperation: [{
121
- type: ContentChild,
122
- args: ['operation']
123
- }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxZQUFZLEVBQUUsV0FBVyxFQUFhLHVCQUF1QixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXpELE1BQU0sU0FBUyxHQUFHLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFlbEYsTUFBTSxZQUFZLEdBQTJCO0lBQ3pDLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxjQUFjLEVBQUUsbUJBQW1CO0lBQ25DLGNBQWMsRUFBRSxhQUFhO0lBQzdCLGFBQWEsRUFBRSxtQkFBbUI7Q0FDckMsQ0FBQztBQUVGOzs7O0dBSUc7QUFZSCxNQUFNLE9BQU8sUUFBUTtJQWlCakI7Ozs7T0FJRztJQUNILElBQWEsT0FBTyxDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlH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SUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQzt3REF3QjdCLE9BQU87c0JBQW5CLEtBQUs7Z0JBU08sUUFBUTtzQkFBcEIsS0FBSztnQkFPTyxVQUFVO3NCQUF0QixLQUFLO2dCQVlGLE9BQU87c0JBRFYsS0FBSztnQkFzQnVDLFlBQVk7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTWhCLGNBQWM7c0JBQXhDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgT25DaGFuZ2VzLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3Qgd2Vha1R5cGVzID0gWydwcmltYXJ5LXdlYWsnLCAnc3VjY2Vzcy13ZWFrJywgJ3dhcm5pbmctd2VhaycsICdkYW5nZXItd2VhayddO1xuXG50eXBlIFRoeUFsZXJ0VHlwZSA9XG4gICAgfCAnc3VjY2VzcydcbiAgICB8ICd3YXJuaW5nJ1xuICAgIHwgJ2RhbmdlcidcbiAgICB8ICdpbmZvJ1xuICAgIHwgJ3ByaW1hcnknXG4gICAgfCAncHJpbWFyeS13ZWFrJ1xuICAgIHwgJ3N1Y2Nlc3Mtd2VhaydcbiAgICB8ICd3YXJuaW5nLXdlYWsnXG4gICAgfCAnZGFuZ2VyLXdlYWsnO1xuXG5leHBvcnQgdHlwZSBUaHlBbGVydFRoZW1lID0gJ2ZpbGwnIHwgJ2JvcmRlcmVkJyB8ICduYWtlZCc7XG5cbmNvbnN0IHR5cGVJY29uc01hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBzdWNjZXNzOiAnY2hlY2stY2lyY2xlLWZpbGwnLFxuICAgIHdhcm5pbmc6ICd3YXJpbmctZmlsbCcsXG4gICAgZGFuZ2VyOiAnY2xvc2UtY2lyY2xlLWZpbGwnLFxuICAgIGluZm86ICdtaW51cy1jaXJjbGUtZmlsbCcsXG4gICAgcHJpbWFyeTogJ2luZm8tY2lyY2xlLWZpbGwnLFxuICAgICdwcmltYXJ5LXdlYWsnOiAnaW5mby1jaXJjbGUtZmlsbCcsXG4gICAgJ3N1Y2Nlc3Mtd2Vhayc6ICdjaGVjay1jaXJjbGUtZmlsbCcsXG4gICAgJ3dhcm5pbmctd2Vhayc6ICd3YXJpbmctZmlsbCcsXG4gICAgJ2Rhbmdlci13ZWFrJzogJ2Nsb3NlLWNpcmNsZS1maWxsJ1xufTtcblxuLyoqXG4gKiDorablkYrmj5DnpLrvvIzlsZXnjrDpnIDopoHlhbPms6jnmoTkv6Hmga9cbiAqIEBuYW1lIHRoeS1hbGVydFxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWFsZXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYWxlcnQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1hbGVydC1oaWRkZW5dJzogJ2hpZGRlbidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFRoeUljb24sIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUFsZXJ0IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgaGlkZGVuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHNob3dJY29uID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgaWNvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSB0eXBlOiBUaHlBbGVydFR5cGUgPSAnaW5mbyc7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgcHVibGljIHRoZW1lOiBUaHlBbGVydFRoZW1lID0gJ2ZpbGwnO1xuXG4gICAgbWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBtZXNzYWdlVGV4dDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5oyH5a6a6K2m5ZGK5o+Q56S655qE57G75Z6LXG4gICAgICogQHR5cGUgc3VjY2VzcyB8IHdhcm5pbmcgfCBkYW5nZXIgfCBpbmZvIHwgcHJpbWFyeSB8IHByaW1hcnktd2VhayB8IHN1Y2Nlc3Mtd2VhayB8IHdhcm5pbmctd2VhayB8IGRhbmdlci13ZWFrXG4gICAgICogQGRlZmF1bHQgaW5mb1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlUeXBlKHZhbHVlOiBUaHlBbGVydFR5cGUpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oyH5a6a6K2m5ZGK5o+Q56S655qE5Li76aKYXG4gICAgICogQHR5cGUgZmlsbCB8IGJvcmRlcmVkIHwgbmFrZWRcbiAgICAgKiBAZGVmYXVsdCBmaWxsXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVRoZW1lKHZhbHVlOiBUaHlBbGVydFRoZW1lKSB7XG4gICAgICAgIHRoaXMudGhlbWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrorablkYrmj5DnpLrnmoTlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5TWVzc2FnZSh2YWx1ZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VUZW1wbGF0ZSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlVGV4dCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pi+56S66Ieq5a6a5LmJ5Zu+5qCH77yM5Y+v5LygIHRydWUvZmFsc2Ug5o6n5Yi25piv5ZCm5pi+56S65Zu+5qCH77yM5oiW6ICF5Lyg5a2X56ym5Liy5Y675oyH5a6a5Zu+5qCH5ZCN56ewXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbih2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0ljb24gPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pY29uID0gaXNTdHJpbmcodmFsdWUpID8gdmFsdWUudG9TdHJpbmcoKSA6IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dJY29uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdGh5SWNvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvd0ljb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmljb24gfHwgdHlwZUljb25zTWFwW3RoaXMudHlwZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuWFs+mXreitpuWRiuahhuaMiemSru+8jOm7mOiupOS4jeaYvuekulxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Q2xvc2VhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog6K2m5ZGK5qGG6Ieq5a6a5LmJ5pON5L2cXG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdvcGVyYXRpb24nKSBhbGVydE9wZXJhdGlvbjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoKGNoYW5nZXMudGh5VGhlbWUgJiYgIWNoYW5nZXMudGh5VGhlbWUuZmlyc3RDaGFuZ2UpIHx8IChjaGFuZ2VzLnRoeVR5cGUgJiYgIWNoYW5nZXMudGh5VHlwZS5maXJzdENoYW5nZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlQWxlcnQoKSB7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzKCkge1xuICAgICAgICAvLyDlhbzlrrkgJ3ByaW1hcnktd2VhaycsICdzdWNjZXNzLXdlYWsnLCAnd2FybmluZy13ZWFrJywgJ2Rhbmdlci13ZWFrJyB0eXBlc1xuICAgICAgICBsZXQgdGhlbWUgPSB0aGlzLnRoZW1lO1xuICAgICAgICBsZXQgdHlwZSA9IHRoaXMudHlwZTtcbiAgICAgICAgaWYgKHdlYWtUeXBlcy5pbmNsdWRlcyh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICB0aGVtZSA9ICdib3JkZXJlZCc7XG4gICAgICAgICAgICB0eXBlID0gdGhpcy50eXBlLnNwbGl0KCctJylbMF0gYXMgVGh5QWxlcnRUeXBlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWFsZXJ0LSR7dGhlbWV9YCwgYHRoeS1hbGVydC0ke3RoZW1lfS0ke3R5cGV9YF0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktYWxlcnQtY29udGVudFwiPlxuICA8dGh5LWljb24gKm5nSWY9XCJ0aHlJY29uXCIgY2xhc3M9XCJ0aHktYWxlcnQtaWNvblwiIFt0aHlJY29uTmFtZV09XCJ0aHlJY29uXCI+PC90aHktaWNvbj5cbiAgPHNwYW4gKm5nSWY9XCJ0aGVtZSA9PT0gJ25ha2VkJ1wiIGNsYXNzPVwidGh5LWFsZXJ0LXRpcHNcIj5UaXBz77yaIDwvc3Bhbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lc3NhZ2VUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm1lc3NhZ2VUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8c3BhbiAqbmdJZj1cIm1lc3NhZ2VUZXh0XCI+e3sgbWVzc2FnZVRleHQgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJ0aHktYWxlcnQtb3BlcmF0aW9uXCIgKm5nSWY9XCJhbGVydE9wZXJhdGlvblwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWxlcnRPcGVyYXRpb25cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cInRoeS1hbGVydC1jbG9zZVwiICpuZ0lmPVwidGh5Q2xvc2VhYmxlXCIgKGNsaWNrKT1cImNsb3NlQWxlcnQoKVwiPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiPjwvdGh5LWljb24+XG48L2E+XG4iXX0=
96
+ }, standalone: true, imports: [ThyIcon, NgTemplateOutlet], template: "<div class=\"thy-alert-content\">\n @if (icon()) {\n <thy-icon class=\"thy-alert-icon\" [thyIconName]=\"icon()\"></thy-icon>\n }\n @if (thyTheme() === 'naked') {\n <span class=\"thy-alert-tips\">Tips\uFF1A </span>\n }\n @if (messageIsTemplate()) {\n <ng-template *ngTemplateOutlet=\"thyMessage()\"></ng-template>\n } @else if (thyMessage()) {\n <span>{{ thyMessage() }}</span>\n }\n @if (alertOperation()) {\n <div class=\"thy-alert-operation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation()\"></ng-container>\n </div>\n }\n</div>\n@if (thyCloseable()) {\n <a href=\"javascript:;\" class=\"thy-alert-close\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </a>\n}\n" }]
97
+ }], ctorParameters: () => [] });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRW5ELE1BQU0sU0FBUyxHQUFHLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFlbEYsTUFBTSxZQUFZLEdBQTJCO0lBQ3pDLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxjQUFjLEVBQUUsbUJBQW1CO0lBQ25DLGNBQWMsRUFBRSxhQUFhO0lBQzdCLGFBQWEsRUFBRSxtQkFBbUI7Q0FDckMsQ0FBQztBQUVGOzs7O0dBSUc7QUFZSCxNQUFNLE9BQU8sUUFBUTtJQXVEakI7UUF0RFEsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGlCQUFZLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFFekMsc0JBQWlCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLFlBQVksV0FBVyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBRUg7Ozs7V0FJRztRQUNILFlBQU8sR0FBRyxLQUFLLENBQWUsTUFBTSxDQUFDLENBQUM7UUFFdEM7Ozs7V0FJRztRQUNILGFBQVEsR0FBRyxLQUFLLENBQWdCLE1BQU0sQ0FBQyxDQUFDO1FBRXhDOztXQUVHO1FBQ0gsZUFBVSxHQUFHLEtBQUssRUFBcUMsQ0FBQztRQUV4RDs7V0FFRztRQUNILFlBQU8sR0FBRyxLQUFLLEVBQW9CLENBQUM7UUFFcEMsU0FBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1AsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbEYsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUg7OztXQUdHO1FBQ0gsaUJBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUVsRTs7O1dBR0c7UUFDSCxtQkFBYyxHQUFHLFlBQVksQ0FBbUIsV0FBVyxDQUFDLENBQUM7UUFHekQsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVPLFdBQVc7UUFDZix5RUFBeUU7UUFDekUsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixLQUFLLEdBQUcsVUFBVSxDQUFDO1lBQ25CLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBaUIsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxhQUFhLEtBQUssRUFBRSxFQUFFLGFBQWEsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDOzhHQTFFUSxRQUFRO2tHQUFSLFFBQVEsczdCQ2pEckIsa3VCQXVCQSw0Q0R3QmMsT0FBTyxzTUFBRSxnQkFBZ0I7OzJGQUUxQixRQUFRO2tCQVhwQixTQUFTOytCQUNJLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsV0FBVzt3QkFDbEIsMEJBQTBCLEVBQUUsUUFBUTtxQkFDdkMsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgaW5wdXQsIGNvbnRlbnRDaGlsZCwgZWZmZWN0LCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3Qgd2Vha1R5cGVzID0gWydwcmltYXJ5LXdlYWsnLCAnc3VjY2Vzcy13ZWFrJywgJ3dhcm5pbmctd2VhaycsICdkYW5nZXItd2VhayddO1xuXG50eXBlIFRoeUFsZXJ0VHlwZSA9XG4gICAgfCAnc3VjY2VzcydcbiAgICB8ICd3YXJuaW5nJ1xuICAgIHwgJ2RhbmdlcidcbiAgICB8ICdpbmZvJ1xuICAgIHwgJ3ByaW1hcnknXG4gICAgfCAncHJpbWFyeS13ZWFrJ1xuICAgIHwgJ3N1Y2Nlc3Mtd2VhaydcbiAgICB8ICd3YXJuaW5nLXdlYWsnXG4gICAgfCAnZGFuZ2VyLXdlYWsnO1xuXG5leHBvcnQgdHlwZSBUaHlBbGVydFRoZW1lID0gJ2ZpbGwnIHwgJ2JvcmRlcmVkJyB8ICduYWtlZCc7XG5cbmNvbnN0IHR5cGVJY29uc01hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBzdWNjZXNzOiAnY2hlY2stY2lyY2xlLWZpbGwnLFxuICAgIHdhcm5pbmc6ICd3YXJpbmctZmlsbCcsXG4gICAgZGFuZ2VyOiAnY2xvc2UtY2lyY2xlLWZpbGwnLFxuICAgIGluZm86ICdtaW51cy1jaXJjbGUtZmlsbCcsXG4gICAgcHJpbWFyeTogJ2luZm8tY2lyY2xlLWZpbGwnLFxuICAgICdwcmltYXJ5LXdlYWsnOiAnaW5mby1jaXJjbGUtZmlsbCcsXG4gICAgJ3N1Y2Nlc3Mtd2Vhayc6ICdjaGVjay1jaXJjbGUtZmlsbCcsXG4gICAgJ3dhcm5pbmctd2Vhayc6ICd3YXJpbmctZmlsbCcsXG4gICAgJ2Rhbmdlci13ZWFrJzogJ2Nsb3NlLWNpcmNsZS1maWxsJ1xufTtcblxuLyoqXG4gKiDorablkYrmj5DnpLrvvIzlsZXnjrDpnIDopoHlhbPms6jnmoTkv6Hmga9cbiAqIEBuYW1lIHRoeS1hbGVydFxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWFsZXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYWxlcnQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1hbGVydC1oaWRkZW5dJzogJ2hpZGRlbidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1RoeUljb24sIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUFsZXJ0IHtcbiAgICBwcml2YXRlIGhpZGRlbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIG1lc3NhZ2VJc1RlbXBsYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudGh5TWVzc2FnZSgpO1xuICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIOaMh+WumuitpuWRiuaPkOekuueahOexu+Wei1xuICAgICAqIEB0eXBlIHN1Y2Nlc3MgfCB3YXJuaW5nIHwgZGFuZ2VyIHwgaW5mbyB8IHByaW1hcnkgfCBwcmltYXJ5LXdlYWsgfCBzdWNjZXNzLXdlYWsgfCB3YXJuaW5nLXdlYWsgfCBkYW5nZXItd2Vha1xuICAgICAqIEBkZWZhdWx0IGluZm9cbiAgICAgKi9cbiAgICB0aHlUeXBlID0gaW5wdXQ8VGh5QWxlcnRUeXBlPignaW5mbycpO1xuXG4gICAgLyoqXG4gICAgICog5oyH5a6a6K2m5ZGK5o+Q56S655qE5Li76aKYXG4gICAgICogQHR5cGUgZmlsbCB8IGJvcmRlcmVkIHwgbmFrZWRcbiAgICAgKiBAZGVmYXVsdCBmaWxsXG4gICAgICovXG4gICAgdGh5VGhlbWUgPSBpbnB1dDxUaHlBbGVydFRoZW1lPignZmlsbCcpO1xuXG4gICAgLyoqXG4gICAgICog5pi+56S66K2m5ZGK5o+Q56S655qE5YaF5a65XG4gICAgICovXG4gICAgdGh5TWVzc2FnZSA9IGlucHV0PHN0cmluZyB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50Pj4oKTtcblxuICAgIC8qKlxuICAgICAqIOaYvuekuuiHquWumuS5ieWbvuagh++8jOWPr+S8oCB0cnVlL2ZhbHNlIOaOp+WItuaYr+WQpuaYvuekuuWbvuagh++8jOaIluiAheS8oOWtl+espuS4suWOu+aMh+WumuWbvuagh+WQjeensFxuICAgICAqL1xuICAgIHRoeUljb24gPSBpbnB1dDxib29sZWFuIHwgc3RyaW5nPigpO1xuXG4gICAgaWNvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaWNvbiA9IHRoaXMudGh5SWNvbigpO1xuICAgICAgICBpZiAoaWNvbikge1xuICAgICAgICAgICAgcmV0dXJuIGlzU3RyaW5nKGljb24pID8gaWNvbiA6IHR5cGVJY29uc01hcFt0aGlzLnRoeVR5cGUoKV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gaWNvbiA9PT0gJ2ZhbHNlJyB8fCBpY29uID09PSBmYWxzZSA/ICcnIDogdHlwZUljb25zTWFwW3RoaXMudGh5VHlwZSgpXTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65YWz6Zet6K2m5ZGK5qGG5oyJ6ZKu77yM6buY6K6k5LiN5pi+56S6XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICB0aHlDbG9zZWFibGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KTtcblxuICAgIC8qKlxuICAgICAqIOitpuWRiuahhuiHquWumuS5ieaTjeS9nFxuICAgICAqIEB0eXBlIFRlbXBsYXRlUmVmXG4gICAgICovXG4gICAgYWxlcnRPcGVyYXRpb24gPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8YW55Pj4oJ29wZXJhdGlvbicpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsb3NlQWxlcnQoKSB7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzKCkge1xuICAgICAgICAvLyDlhbzlrrkgJ3ByaW1hcnktd2VhaycsICdzdWNjZXNzLXdlYWsnLCAnd2FybmluZy13ZWFrJywgJ2Rhbmdlci13ZWFrJyB0eXBlc1xuICAgICAgICBsZXQgdGhlbWUgPSB0aGlzLnRoeVRoZW1lKCk7XG4gICAgICAgIGxldCB0eXBlID0gdGhpcy50aHlUeXBlKCk7XG4gICAgICAgIGlmICh3ZWFrVHlwZXMuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgICAgIHRoZW1lID0gJ2JvcmRlcmVkJztcbiAgICAgICAgICAgIHR5cGUgPSB0eXBlLnNwbGl0KCctJylbMF0gYXMgVGh5QWxlcnRUeXBlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWFsZXJ0LSR7dGhlbWV9YCwgYHRoeS1hbGVydC0ke3RoZW1lfS0ke3R5cGV9YF0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktYWxlcnQtY29udGVudFwiPlxuICBAaWYgKGljb24oKSkge1xuICAgIDx0aHktaWNvbiBjbGFzcz1cInRoeS1hbGVydC1pY29uXCIgW3RoeUljb25OYW1lXT1cImljb24oKVwiPjwvdGh5LWljb24+XG4gIH1cbiAgQGlmICh0aHlUaGVtZSgpID09PSAnbmFrZWQnKSB7XG4gICAgPHNwYW4gY2xhc3M9XCJ0aHktYWxlcnQtdGlwc1wiPlRpcHPvvJogPC9zcGFuPlxuICB9XG4gIEBpZiAobWVzc2FnZUlzVGVtcGxhdGUoKSkge1xuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInRoeU1lc3NhZ2UoKVwiPjwvbmctdGVtcGxhdGU+XG4gIH0gQGVsc2UgaWYgKHRoeU1lc3NhZ2UoKSkge1xuICAgIDxzcGFuPnt7IHRoeU1lc3NhZ2UoKSB9fTwvc3Bhbj5cbiAgfVxuICBAaWYgKGFsZXJ0T3BlcmF0aW9uKCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwidGh5LWFsZXJ0LW9wZXJhdGlvblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhbGVydE9wZXJhdGlvbigpXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuQGlmICh0aHlDbG9zZWFibGUoKSkge1xuICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgY2xhc3M9XCJ0aHktYWxlcnQtY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VBbGVydCgpXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiY2xvc2VcIj48L3RoeS1pY29uPlxuICA8L2E+XG59XG4iXX0=
@@ -1,11 +1,9 @@
1
1
  import { Platform } from '@angular/cdk/platform';
2
- import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, Input, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, Input, TemplateRef, ViewChild, ViewEncapsulation, inject } from '@angular/core';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
4
  import { ThyAnchor } from './anchor.component';
5
- import { NgIf } from '@angular/common';
5
+ import { NgTemplateOutlet } from '@angular/common';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "./anchor.component";
8
- import * as i2 from "@angular/cdk/platform";
9
7
  /**
10
8
  * 锚点链接组件,可供锚点跳转
11
9
  * @name thy-anchor-link,thyAnchorLink
@@ -23,16 +21,17 @@ export class ThyAnchorLink {
23
21
  this.title = value;
24
22
  }
25
23
  }
26
- constructor(elementRef, anchorComponent, platform) {
27
- this.elementRef = elementRef;
28
- this.anchorComponent = anchorComponent;
29
- this.platform = platform;
24
+ constructor() {
25
+ this.elementRef = inject(ElementRef);
26
+ this.anchorComponent = inject(ThyAnchor);
27
+ this.platform = inject(Platform);
30
28
  this.title = '';
31
29
  this.hostRenderer = useHostRenderer();
32
30
  /**
33
31
  * 锚点链接
34
32
  */
35
33
  this.thyHref = '#';
34
+ const elementRef = this.elementRef;
36
35
  this.hostRenderer.addClass('thy-anchor-link');
37
36
  if (elementRef.nativeElement.tagName.toLowerCase() === 'thy-link') {
38
37
  console.warn(`'thy-link' and 'thyLink' are deprecated, please use 'thy-anchor-link' and 'thyAnchorLink' instead.`);
@@ -60,13 +59,17 @@ export class ThyAnchorLink {
60
59
  ngOnDestroy() {
61
60
  this.anchorComponent.unregisterLink(this);
62
61
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyAnchorLink, deps: [{ token: i0.ElementRef }, { token: i1.ThyAnchor }, { token: i2.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyAnchorLink, isStandalone: true, selector: "thy-link,thy-anchor-link", inputs: { thyHref: "thyHref", thyTitle: "thyTitle" }, queries: [{ propertyName: "thyTemplate", first: true, predicate: ["thyTemplate"], descendants: true }], viewQueries: [{ propertyName: "linkTitle", first: true, predicate: ["linkTitle"], descendants: true, static: true }], exportAs: ["thyLink", "thyAnchorLink"], ngImport: i0, template: `
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyAnchorLink, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyAnchorLink, isStandalone: true, selector: "thy-link,thy-anchor-link", inputs: { thyHref: "thyHref", thyTitle: "thyTitle" }, queries: [{ propertyName: "thyTemplate", first: true, predicate: ["thyTemplate"], descendants: true }], viewQueries: [{ propertyName: "linkTitle", first: true, predicate: ["linkTitle"], descendants: true, static: true }], exportAs: ["thyLink", "thyAnchorLink"], ngImport: i0, template: `
65
64
  <a #linkTitle (click)="goToClick($event)" href="{{ thyHref }}" class="thy-anchor-link-title" title="{{ title }}">
66
- <span *ngIf="title; else titleTemplate || thyTemplate">{{ title }}</span>
65
+ @if (title) {
66
+ <span>{{ title }}</span>
67
+ } @else {
68
+ <ng-template [ngTemplateOutlet]="titleTemplate || thyTemplate"></ng-template>
69
+ }
67
70
  </a>
68
71
  <ng-content></ng-content>
69
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
72
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
70
73
  }
71
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyAnchorLink, decorators: [{
72
75
  type: Component,
@@ -76,16 +79,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
76
79
  preserveWhitespaces: false,
77
80
  template: `
78
81
  <a #linkTitle (click)="goToClick($event)" href="{{ thyHref }}" class="thy-anchor-link-title" title="{{ title }}">
79
- <span *ngIf="title; else titleTemplate || thyTemplate">{{ title }}</span>
82
+ @if (title) {
83
+ <span>{{ title }}</span>
84
+ } @else {
85
+ <ng-template [ngTemplateOutlet]="titleTemplate || thyTemplate"></ng-template>
86
+ }
80
87
  </a>
81
88
  <ng-content></ng-content>
82
89
  `,
83
90
  encapsulation: ViewEncapsulation.None,
84
91
  changeDetection: ChangeDetectionStrategy.OnPush,
85
92
  standalone: true,
86
- imports: [NgIf]
93
+ imports: [NgTemplateOutlet]
87
94
  }]
88
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyAnchor }, { type: i2.Platform }], propDecorators: { thyHref: [{
95
+ }], ctorParameters: () => [], propDecorators: { thyHref: [{
89
96
  type: Input
90
97
  }], thyTitle: [{
91
98
  type: Input
@@ -96,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
96
103
  type: ViewChild,
97
104
  args: ['linkTitle', { static: true }]
98
105
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuY2hvci9hbmNob3ItbGluay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRXZDOzs7R0FHRztBQWdCSCxNQUFNLE9BQU8sYUFBYTtJQVl0Qjs7T0FFRztJQUNILElBQ0ksUUFBUSxDQUFDLEtBQWlDO1FBQzFDLElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFNRCxZQUNXLFVBQXNCLEVBQ3JCLGVBQTBCLEVBQzFCLFFBQWtCO1FBRm5CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQVc7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQS9COUIsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFJbEIsaUJBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUV6Qzs7V0FFRztRQUNNLFlBQU8sR0FBRyxHQUFHLENBQUM7UUF3Qm5CLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMsSUFBSSxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNoRSxPQUFPLENBQUMsSUFBSSxDQUFDLG9HQUFvRyxDQUFDLENBQUM7UUFDdkgsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsU0FBUyxDQUFDLENBQVE7UUFDZCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQWxFUSxhQUFhO2tHQUFiLGFBQWEsZ1pBWFo7Ozs7O0tBS1QsNERBSVMsSUFBSTs7MkZBRUwsYUFBYTtrQkFmekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxtQkFBbUIsRUFBRSxLQUFLO29CQUMxQixRQUFRLEVBQUU7Ozs7O0tBS1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDO2lCQUNsQjs4SEFXWSxPQUFPO3NCQUFmLEtBQUs7Z0JBTUYsUUFBUTtzQkFEWCxLQUFLO2dCQVV1QixXQUFXO3NCQUF2QyxZQUFZO3VCQUFDLGFBQWE7Z0JBRWUsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuXG5pbXBvcnQgeyBUaHlBbmNob3IgfSBmcm9tICcuL2FuY2hvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICog6ZSa54K56ZO+5o6l57uE5Lu277yM5Y+v5L6b6ZSa54K56Lez6L2sXG4gKiBAbmFtZSB0aHktYW5jaG9yLWxpbmssdGh5QW5jaG9yTGlua1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1saW5rLHRoeS1hbmNob3ItbGluaycsXG4gICAgZXhwb3J0QXM6ICd0aHlMaW5rLHRoeUFuY2hvckxpbmsnLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxhICNsaW5rVGl0bGUgKGNsaWNrKT1cImdvVG9DbGljaygkZXZlbnQpXCIgaHJlZj1cInt7IHRoeUhyZWYgfX1cIiBjbGFzcz1cInRoeS1hbmNob3ItbGluay10aXRsZVwiIHRpdGxlPVwie3sgdGl0bGUgfX1cIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGl0bGU7IGVsc2UgdGl0bGVUZW1wbGF0ZSB8fCB0aHlUZW1wbGF0ZVwiPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICBgLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5QW5jaG9yTGluayBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICB0aXRsZTogc3RyaW5nIHwgbnVsbCA9ICcnO1xuXG4gICAgdGl0bGVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgLyoqXG4gICAgICog6ZSa54K56ZO+5o6lXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SHJlZiA9ICcjJztcblxuICAgIC8qKlxuICAgICAqIOaWh+Wtl+WGheWuuVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVRpdGxlKHZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPikge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgdGhpcy50aXRsZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnRpdGxlVGVtcGxhdGUgPSB2YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGQoJ3RoeVRlbXBsYXRlJykgdGh5VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2xpbmtUaXRsZScsIHsgc3RhdGljOiB0cnVlIH0pIGxpbmtUaXRsZSE6IEVsZW1lbnRSZWY8SFRNTEFuY2hvckVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGFuY2hvckNvbXBvbmVudDogVGh5QW5jaG9yLFxuICAgICAgICBwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybVxuICAgICkge1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5hZGRDbGFzcygndGh5LWFuY2hvci1saW5rJyk7XG4gICAgICAgIGlmIChlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAndGh5LWxpbmsnKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYCd0aHktbGluaycgYW5kICd0aHlMaW5rJyBhcmUgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSAndGh5LWFuY2hvci1saW5rJyBhbmQgJ3RoeUFuY2hvckxpbmsnIGluc3RlYWQuYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbmNob3JDb21wb25lbnQucmVnaXN0ZXJMaW5rKHRoaXMpO1xuICAgIH1cblxuICAgIGdldExpbmtUaXRsZUVsZW1lbnQoKTogSFRNTEFuY2hvckVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5rVGl0bGUubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBzZXRBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLmFkZENsYXNzKCd0aHktYW5jaG9yLWxpbmstYWN0aXZlJyk7XG4gICAgfVxuXG4gICAgdW5zZXRBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnJlbW92ZUNsYXNzKCd0aHktYW5jaG9yLWxpbmstYWN0aXZlJyk7XG4gICAgfVxuXG4gICAgZ29Ub0NsaWNrKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLmFuY2hvckNvbXBvbmVudC5oYW5kbGVTY3JvbGxUbyh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFuY2hvckNvbXBvbmVudC51bnJlZ2lzdGVyTGluayh0aGlzKTtcbiAgICB9XG59XG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuY2hvci9hbmNob3ItbGluay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUdMLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUVuRDs7O0dBR0c7QUFvQkgsTUFBTSxPQUFPLGFBQWE7SUFnQnRCOztPQUVHO0lBQ0gsSUFDSSxRQUFRLENBQUMsS0FBaUM7UUFDMUMsSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO0lBQ0wsQ0FBQztJQU1EO1FBaENBLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEIsb0JBQWUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwQyxVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUlsQixpQkFBWSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRXpDOztXQUVHO1FBQ00sWUFBTyxHQUFHLEdBQUcsQ0FBQztRQW9CbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUVuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDaEUsT0FBTyxDQUFDLElBQUksQ0FBQyxvR0FBb0csQ0FBQyxDQUFDO1FBQ3ZILENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxtQkFBbUI7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUFRO1FBQ2QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0FwRVEsYUFBYTtrR0FBYixhQUFhLGdaQWZaOzs7Ozs7Ozs7S0FTVCw0REFJUyxnQkFBZ0I7OzJGQUVqQixhQUFhO2tCQW5CekIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxtQkFBbUIsRUFBRSxLQUFLO29CQUMxQixRQUFRLEVBQUU7Ozs7Ozs7OztLQVNUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM5Qjt3REFlWSxPQUFPO3NCQUFmLEtBQUs7Z0JBTUYsUUFBUTtzQkFEWCxLQUFLO2dCQVV1QixXQUFXO3NCQUF2QyxZQUFZO3VCQUFDLGFBQWE7Z0JBRWUsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHsgVGh5QW5jaG9yIH0gZnJvbSAnLi9hbmNob3IuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOmUmueCuemTvuaOpee7hOS7tu+8jOWPr+S+m+mUmueCuei3s+i9rFxuICogQG5hbWUgdGh5LWFuY2hvci1saW5rLHRoeUFuY2hvckxpbmtcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktbGluayx0aHktYW5jaG9yLWxpbmsnLFxuICAgIGV4cG9ydEFzOiAndGh5TGluayx0aHlBbmNob3JMaW5rJyxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8YSAjbGlua1RpdGxlIChjbGljayk9XCJnb1RvQ2xpY2soJGV2ZW50KVwiIGhyZWY9XCJ7eyB0aHlIcmVmIH19XCIgY2xhc3M9XCJ0aHktYW5jaG9yLWxpbmstdGl0bGVcIiB0aXRsZT1cInt7IHRpdGxlIH19XCI+XG4gICAgICAgICAgICBAaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgdGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVUZW1wbGF0ZSB8fCB0aHlUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYT5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIGAsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XVxufSlcbmV4cG9ydCBjbGFzcyBUaHlBbmNob3JMaW5rIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSBhbmNob3JDb21wb25lbnQgPSBpbmplY3QoVGh5QW5jaG9yKTtcbiAgICBwcml2YXRlIHBsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtKTtcblxuICAgIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgICB0aXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDplJrngrnpk77mjqVcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlIcmVmID0gJyMnO1xuXG4gICAgLyoqXG4gICAgICog5paH5a2X5YaF5a65XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGl0bGUodmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+KSB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICB0aGlzLnRpdGxlID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMudGl0bGVUZW1wbGF0ZSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aXRsZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZCgndGh5VGVtcGxhdGUnKSB0aHlUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnbGlua1RpdGxlJywgeyBzdGF0aWM6IHRydWUgfSkgbGlua1RpdGxlITogRWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFJlZiA9IHRoaXMuZWxlbWVudFJlZjtcblxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5hZGRDbGFzcygndGh5LWFuY2hvci1saW5rJyk7XG4gICAgICAgIGlmIChlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAndGh5LWxpbmsnKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYCd0aHktbGluaycgYW5kICd0aHlMaW5rJyBhcmUgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSAndGh5LWFuY2hvci1saW5rJyBhbmQgJ3RoeUFuY2hvckxpbmsnIGluc3RlYWQuYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbmNob3JDb21wb25lbnQucmVnaXN0ZXJMaW5rKHRoaXMpO1xuICAgIH1cblxuICAgIGdldExpbmtUaXRsZUVsZW1lbnQoKTogSFRNTEFuY2hvckVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5saW5rVGl0bGUubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBzZXRBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLmFkZENsYXNzKCd0aHktYW5jaG9yLWxpbmstYWN0aXZlJyk7XG4gICAgfVxuXG4gICAgdW5zZXRBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnJlbW92ZUNsYXNzKCd0aHktYW5jaG9yLWxpbmstYWN0aXZlJyk7XG4gICAgfVxuXG4gICAgZ29Ub0NsaWNrKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICB0aGlzLmFuY2hvckNvbXBvbmVudC5oYW5kbGVTY3JvbGxUbyh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFuY2hvckNvbXBvbmVudC51bnJlZ2lzdGVyTGluayh0aGlzKTtcbiAgICB9XG59XG4iXX0=