ngx-tethys 18.0.8 → 18.1.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/action/action.component.d.ts +1 -2
  3. package/affix/affix.component.d.ts +2 -4
  4. package/alert/alert.component.d.ts +11 -19
  5. package/anchor/anchor-link.component.d.ts +2 -4
  6. package/anchor/anchor.component.d.ts +2 -7
  7. package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
  8. package/autocomplete/autocomplete.component.d.ts +1 -2
  9. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
  10. package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
  11. package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
  12. package/avatar/avatar.component.d.ts +1 -3
  13. package/avatar/avatar.pipe.d.ts +0 -2
  14. package/back-top/back-top.component.d.ts +2 -4
  15. package/badge/badge.component.d.ts +2 -2
  16. package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
  17. package/breadcrumb/breadcrumb.component.d.ts +1 -2
  18. package/button/button.component.d.ts +1 -2
  19. package/calendar/calendar-header.component.d.ts +1 -2
  20. package/calendar/calendar.component.d.ts +1 -2
  21. package/carousel/carousel-item.directive.d.ts +1 -2
  22. package/carousel/carousel.component.d.ts +1 -4
  23. package/carousel/carousel.service.d.ts +1 -2
  24. package/cascader/cascader.component.d.ts +4 -4
  25. package/checkbox/checkbox.component.d.ts +0 -2
  26. package/collapse/collapse-item.component.d.ts +2 -4
  27. package/color-picker/color-picker-panel.component.d.ts +2 -3
  28. package/color-picker/color-picker.component.d.ts +2 -4
  29. package/color-picker/coordinates.directive.d.ts +1 -2
  30. package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
  31. package/color-picker/parts/hue/hue.component.d.ts +1 -2
  32. package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
  33. package/copy/copy.directive.d.ts +0 -2
  34. package/core/click-positioner.d.ts +0 -2
  35. package/core/scroll.d.ts +1 -2
  36. package/core/update-host-class.service.d.ts +1 -2
  37. package/date-picker/abstract-picker.component.d.ts +1 -1
  38. package/date-picker/abstract-picker.directive.d.ts +2 -3
  39. package/date-picker/base-picker.component.d.ts +2 -3
  40. package/date-picker/date-picker.component.d.ts +2 -2
  41. package/date-picker/date-picker.directive.d.ts +1 -3
  42. package/date-picker/date-picker.service.d.ts +2 -2
  43. package/date-picker/index.d.ts +26 -27
  44. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
  45. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
  46. package/date-picker/lib/date/date-header.component.d.ts +0 -3
  47. package/date-picker/lib/date/date-table-cell.component.d.ts +1 -1
  48. package/date-picker/lib/date/date-table.component.d.ts +1 -3
  49. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
  50. package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
  51. package/date-picker/lib/month/month-header.component.d.ts +0 -3
  52. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  53. package/date-picker/lib/popups/date-popup.component.d.ts +1 -4
  54. package/date-picker/lib/popups/inner-popup.component.d.ts +0 -2
  55. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
  56. package/date-picker/lib/year/year-header.component.d.ts +0 -1
  57. package/date-picker/month-picker.component.d.ts +2 -2
  58. package/date-picker/picker.component.d.ts +1 -3
  59. package/date-picker/picker.pipes.d.ts +0 -3
  60. package/date-picker/quarter-picker.component.d.ts +2 -2
  61. package/date-picker/range-picker.component.d.ts +2 -2
  62. package/date-picker/range-picker.directive.d.ts +2 -3
  63. package/date-picker/week-picker.component.d.ts +2 -2
  64. package/date-picker/year-picker.component.d.ts +2 -2
  65. package/date-range/date-range.component.d.ts +3 -11
  66. package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
  67. package/dialog/body/dialog-body.component.d.ts +0 -2
  68. package/dialog/confirm/confirm.component.d.ts +2 -3
  69. package/dialog/dialog-container.component.d.ts +4 -5
  70. package/dialog/dialog.service.d.ts +4 -4
  71. package/dialog/footer/dialog-footer.component.d.ts +2 -2
  72. package/dialog/header/dialog-header.component.d.ts +2 -6
  73. package/divider/divider.component.d.ts +8 -2
  74. package/dot/dot.component.d.ts +1 -2
  75. package/drag-drop/drag-content.directive.d.ts +2 -3
  76. package/drag-drop/drag-handle.directive.d.ts +2 -3
  77. package/drag-drop/drag.directive.d.ts +4 -5
  78. package/drag-drop/drop-container.directive.d.ts +6 -3
  79. package/dropdown/dropdown-active.directive.d.ts +3 -4
  80. package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
  81. package/dropdown/dropdown-submenu.component.d.ts +1 -3
  82. package/dropdown/dropdown.directive.d.ts +3 -5
  83. package/empty/empty.component.d.ts +6 -6
  84. package/esm2022/action/action.component.mjs +20 -21
  85. package/esm2022/affix/affix.component.mjs +11 -14
  86. package/esm2022/alert/alert.component.mjs +55 -81
  87. package/esm2022/anchor/anchor-link.component.mjs +23 -16
  88. package/esm2022/anchor/anchor.component.mjs +27 -24
  89. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +25 -26
  90. package/esm2022/autocomplete/autocomplete.component.mjs +11 -11
  91. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
  92. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
  93. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
  94. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +4 -4
  95. package/esm2022/avatar/avatar.component.mjs +27 -28
  96. package/esm2022/avatar/avatar.pipe.mjs +6 -7
  97. package/esm2022/back-top/back-top.component.mjs +14 -18
  98. package/esm2022/badge/badge.component.mjs +8 -9
  99. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  100. package/esm2022/breadcrumb/breadcrumb.component.mjs +15 -17
  101. package/esm2022/button/button-icon.component.mjs +4 -4
  102. package/esm2022/button/button.component.mjs +15 -15
  103. package/esm2022/calendar/calendar-header.component.mjs +15 -15
  104. package/esm2022/calendar/calendar.component.mjs +14 -15
  105. package/esm2022/card/header.component.mjs +4 -4
  106. package/esm2022/carousel/carousel-item.directive.mjs +7 -6
  107. package/esm2022/carousel/carousel.component.mjs +13 -15
  108. package/esm2022/carousel/carousel.service.mjs +7 -9
  109. package/esm2022/cascader/cascader-li.component.mjs +4 -4
  110. package/esm2022/cascader/cascader-search-option.component.mjs +4 -4
  111. package/esm2022/cascader/cascader.component.mjs +15 -22
  112. package/esm2022/checkbox/checkbox.component.mjs +11 -13
  113. package/esm2022/collapse/collapse-item.component.mjs +21 -24
  114. package/esm2022/color-picker/color-picker-panel.component.mjs +14 -15
  115. package/esm2022/color-picker/color-picker.component.mjs +10 -11
  116. package/esm2022/color-picker/coordinates.directive.mjs +10 -10
  117. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
  118. package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
  119. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
  120. package/esm2022/comment/comment.component.mjs +4 -4
  121. package/esm2022/copy/copy.directive.mjs +8 -12
  122. package/esm2022/core/click-positioner.mjs +6 -7
  123. package/esm2022/core/scroll.mjs +7 -9
  124. package/esm2022/core/store/store.mjs +1 -1
  125. package/esm2022/core/update-host-class.service.mjs +6 -6
  126. package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
  127. package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
  128. package/esm2022/date-picker/base-picker.component.mjs +26 -26
  129. package/esm2022/date-picker/date-picker.component.mjs +10 -11
  130. package/esm2022/date-picker/date-picker.directive.mjs +6 -8
  131. package/esm2022/date-picker/date-picker.service.mjs +6 -10
  132. package/esm2022/date-picker/index.mjs +27 -28
  133. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +7 -8
  134. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
  135. package/esm2022/date-picker/lib/date/date-header.component.mjs +6 -12
  136. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +4 -4
  137. package/esm2022/date-picker/lib/date/date-table.component.mjs +10 -12
  138. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +16 -16
  139. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +8 -11
  140. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +4 -4
  141. package/esm2022/date-picker/lib/month/month-header.component.mjs +6 -12
  142. package/esm2022/date-picker/lib/month/month-table.component.mjs +9 -10
  143. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +14 -29
  144. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +14 -20
  145. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +9 -10
  146. package/esm2022/date-picker/lib/year/year-header.component.mjs +6 -12
  147. package/esm2022/date-picker/lib/year/year-table.component.mjs +4 -4
  148. package/esm2022/date-picker/month-picker.component.mjs +9 -11
  149. package/esm2022/date-picker/picker.component.mjs +24 -35
  150. package/esm2022/date-picker/picker.pipes.mjs +10 -11
  151. package/esm2022/date-picker/quarter-picker.component.mjs +9 -11
  152. package/esm2022/date-picker/range-picker.component.mjs +9 -11
  153. package/esm2022/date-picker/range-picker.directive.mjs +6 -8
  154. package/esm2022/date-picker/week-picker.component.mjs +9 -11
  155. package/esm2022/date-picker/year-picker.component.mjs +9 -11
  156. package/esm2022/date-range/date-range.component.mjs +17 -18
  157. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +9 -13
  158. package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
  159. package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
  160. package/esm2022/dialog/dialog-container.component.mjs +13 -18
  161. package/esm2022/dialog/dialog.service.mjs +10 -17
  162. package/esm2022/dialog/footer/dialog-footer.component.mjs +10 -14
  163. package/esm2022/dialog/header/dialog-header.component.mjs +17 -22
  164. package/esm2022/divider/divider.component.mjs +21 -13
  165. package/esm2022/dot/dot.component.mjs +7 -7
  166. package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
  167. package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
  168. package/esm2022/drag-drop/drag.directive.mjs +13 -16
  169. package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
  170. package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
  171. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
  172. package/esm2022/dropdown/dropdown-menu.component.mjs +11 -7
  173. package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
  174. package/esm2022/dropdown/dropdown.directive.mjs +12 -10
  175. package/esm2022/empty/empty.component.mjs +17 -20
  176. package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
  177. package/esm2022/form/form-group-error/form-group-error.component.mjs +12 -15
  178. package/esm2022/form/form-group-label.directive.mjs +9 -10
  179. package/esm2022/form/form-group.component.mjs +18 -22
  180. package/esm2022/form/form-submit.directive.mjs +6 -7
  181. package/esm2022/form/form-validator-loader.mjs +1 -1
  182. package/esm2022/form/form-validator.service.mjs +12 -13
  183. package/esm2022/form/form.directive.mjs +11 -16
  184. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +13 -19
  185. package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
  186. package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
  187. package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
  188. package/esm2022/grid/thy-col.directive.mjs +9 -14
  189. package/esm2022/grid/thy-grid-item.component.mjs +8 -14
  190. package/esm2022/grid/thy-grid.component.mjs +7 -8
  191. package/esm2022/guider/guider-hint/guider-hint.component.mjs +4 -4
  192. package/esm2022/guider/guider.directive.mjs +8 -9
  193. package/esm2022/guider/guider.service.mjs +12 -19
  194. package/esm2022/icon/icon-registry.mjs +11 -16
  195. package/esm2022/icon/icon.component.mjs +8 -9
  196. package/esm2022/image/image-group.component.mjs +7 -7
  197. package/esm2022/image/image.directive.mjs +11 -12
  198. package/esm2022/image/image.service.mjs +8 -14
  199. package/esm2022/image/preview/image-preview.component.mjs +36 -41
  200. package/esm2022/input/input-count.component.mjs +7 -10
  201. package/esm2022/input/input-group.component.mjs +15 -16
  202. package/esm2022/input/input-search.component.mjs +9 -10
  203. package/esm2022/input/input.component.mjs +17 -17
  204. package/esm2022/input/input.directive.mjs +12 -17
  205. package/esm2022/input-number/input-number.component.mjs +6 -6
  206. package/esm2022/layout/header.component.mjs +4 -4
  207. package/esm2022/layout/sidebar-header.component.mjs +4 -4
  208. package/esm2022/layout/sidebar.component.mjs +125 -121
  209. package/esm2022/list/list-item-meta.component.mjs +4 -4
  210. package/esm2022/list/selection/selection-list.mjs +25 -25
  211. package/esm2022/loading/loading.component.mjs +10 -11
  212. package/esm2022/mention/mention.directive.mjs +9 -14
  213. package/esm2022/mention/suggestions/suggestions.component.mjs +11 -12
  214. package/esm2022/menu/group/menu-group.component.mjs +37 -38
  215. package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
  216. package/esm2022/menu/item/menu-item.component.mjs +8 -9
  217. package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
  218. package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
  219. package/esm2022/message/message-container.component.mjs +21 -15
  220. package/esm2022/message/message-queue.service.mjs +6 -8
  221. package/esm2022/message/message.component.mjs +9 -10
  222. package/esm2022/message/message.service.mjs +10 -11
  223. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +4 -5
  224. package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
  225. package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
  226. package/esm2022/nav/nav-item.directive.mjs +8 -11
  227. package/esm2022/nav/nav.component.mjs +35 -38
  228. package/esm2022/nav/nav.pipe.mjs +6 -7
  229. package/esm2022/notify/notify-container.component.mjs +11 -14
  230. package/esm2022/notify/notify-queue.service.mjs +6 -8
  231. package/esm2022/notify/notify.component.mjs +10 -10
  232. package/esm2022/notify/notify.service.mjs +11 -12
  233. package/esm2022/pagination/pagination.component.mjs +41 -46
  234. package/esm2022/pagination/pagination.pipe.mjs +6 -7
  235. package/esm2022/popover/header/popover-header.component.mjs +15 -17
  236. package/esm2022/popover/popover-container.component.mjs +11 -13
  237. package/esm2022/popover/popover.directive.mjs +13 -12
  238. package/esm2022/popover/popover.service.mjs +14 -26
  239. package/esm2022/progress/progress-circle.component.mjs +4 -7
  240. package/esm2022/progress/progress-strip.component.mjs +10 -13
  241. package/esm2022/progress/progress.component.mjs +5 -8
  242. package/esm2022/property/property-item.component.mjs +13 -16
  243. package/esm2022/property-operation/property-operation.component.mjs +27 -28
  244. package/esm2022/radio/button/radio-button.component.mjs +9 -15
  245. package/esm2022/radio/group/radio-group.component.mjs +17 -17
  246. package/esm2022/radio/radio.component.mjs +12 -18
  247. package/esm2022/rate/rate.component.mjs +10 -10
  248. package/esm2022/resizable/resizable.directive.mjs +10 -12
  249. package/esm2022/resizable/resizable.service.mjs +7 -9
  250. package/esm2022/resizable/resize-handle.component.mjs +16 -14
  251. package/esm2022/resizable/resize-handles.component.mjs +12 -5
  252. package/esm2022/result/result.component.mjs +4 -4
  253. package/esm2022/segment/segment-item.component.mjs +15 -18
  254. package/esm2022/segment/segment.component.mjs +29 -30
  255. package/esm2022/select/custom-select/custom-select.component.mjs +19 -35
  256. package/esm2022/select/native-select/native-select.component.mjs +10 -11
  257. package/esm2022/shared/base-form-check.component.mjs +7 -8
  258. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
  259. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
  260. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
  261. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
  262. package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
  263. package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
  264. package/esm2022/shared/directives/thy-show.mjs +11 -11
  265. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
  266. package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
  267. package/esm2022/shared/ng-transclude.directive.mjs +6 -5
  268. package/esm2022/shared/option/group/option-group.component.mjs +10 -10
  269. package/esm2022/shared/option/list-option/list-option.component.mjs +14 -22
  270. package/esm2022/shared/option/option.component.mjs +11 -22
  271. package/esm2022/shared/select/select-control/select-control.component.mjs +27 -27
  272. package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
  273. package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
  274. package/esm2022/skeleton/stylized/bullet-list.component.mjs +8 -9
  275. package/esm2022/skeleton/stylized/list.component.mjs +8 -9
  276. package/esm2022/skeleton/stylized/paragraph.component.mjs +8 -9
  277. package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
  278. package/esm2022/slide/slide-container.component.mjs +12 -16
  279. package/esm2022/slide/slide-header/slide-header.component.mjs +13 -14
  280. package/esm2022/slide/slide-ref.service.mjs +1 -1
  281. package/esm2022/slide/slide.service.mjs +8 -12
  282. package/esm2022/slider/slider.component.mjs +8 -8
  283. package/esm2022/space/space.component.mjs +16 -16
  284. package/esm2022/statistic/statistic.component.mjs +23 -23
  285. package/esm2022/stepper/step.component.mjs +6 -11
  286. package/esm2022/stepper/stepper-button.directive.mjs +10 -11
  287. package/esm2022/stepper/stepper.component.mjs +5 -5
  288. package/esm2022/strength/strength.component.mjs +11 -12
  289. package/esm2022/switch/switch.component.mjs +11 -11
  290. package/esm2022/table/table-column.component.mjs +58 -63
  291. package/esm2022/table/table-skeleton.component.mjs +35 -38
  292. package/esm2022/table/table.component.mjs +19 -29
  293. package/esm2022/tabs/tab-content.component.mjs +9 -9
  294. package/esm2022/tabs/tabs.component.mjs +22 -25
  295. package/esm2022/tag/tag.component.mjs +22 -22
  296. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +12 -12
  297. package/esm2022/time-picker/time-picker-panel.component.mjs +31 -34
  298. package/esm2022/time-picker/time-picker.component.mjs +33 -43
  299. package/esm2022/timeline/timeline-item.component.mjs +15 -16
  300. package/esm2022/timeline/timeline.component.mjs +15 -16
  301. package/esm2022/tooltip/tooltip.component.mjs +17 -17
  302. package/esm2022/tooltip/tooltip.directive.mjs +11 -10
  303. package/esm2022/tooltip/tooltip.service.mjs +9 -13
  304. package/esm2022/transfer/transfer-list.component.mjs +9 -9
  305. package/esm2022/transfer/transfer.component.mjs +4 -4
  306. package/esm2022/tree/tree-node.component.mjs +16 -20
  307. package/esm2022/tree/tree.component.mjs +90 -96
  308. package/esm2022/tree-select/tree-select.component.mjs +28 -36
  309. package/esm2022/typography/bg-color.directive.mjs +9 -9
  310. package/esm2022/typography/text/text.component.mjs +3 -4
  311. package/esm2022/typography/text-color.directive.mjs +9 -9
  312. package/esm2022/upload/file-drop.directive.mjs +1 -1
  313. package/esm2022/upload/file-select-base.mjs +5 -6
  314. package/esm2022/upload/file-select.component.mjs +4 -3
  315. package/esm2022/upload/upload.service.mjs +6 -7
  316. package/esm2022/version.mjs +2 -2
  317. package/esm2022/vote/vote.component.mjs +4 -4
  318. package/esm2022/watermark/watermark.directive.mjs +12 -12
  319. package/fesm2022/ngx-tethys-action.mjs +20 -20
  320. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  321. package/fesm2022/ngx-tethys-affix.mjs +12 -14
  322. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  323. package/fesm2022/ngx-tethys-alert.mjs +54 -80
  324. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  325. package/fesm2022/ngx-tethys-anchor.mjs +48 -35
  326. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  327. package/fesm2022/ngx-tethys-arrow-switcher.mjs +25 -25
  328. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  329. package/fesm2022/ngx-tethys-autocomplete.mjs +63 -75
  330. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  331. package/fesm2022/ngx-tethys-avatar.mjs +32 -32
  332. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  333. package/fesm2022/ngx-tethys-back-top.mjs +15 -18
  334. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  335. package/fesm2022/ngx-tethys-badge.mjs +8 -8
  336. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  337. package/fesm2022/ngx-tethys-breadcrumb.mjs +19 -21
  338. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  339. package/fesm2022/ngx-tethys-button.mjs +16 -16
  340. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  341. package/fesm2022/ngx-tethys-calendar.mjs +26 -26
  342. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  343. package/fesm2022/ngx-tethys-card.mjs +3 -3
  344. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  345. package/fesm2022/ngx-tethys-carousel.mjs +23 -24
  346. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  347. package/fesm2022/ngx-tethys-cascader.mjs +19 -25
  348. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  349. package/fesm2022/ngx-tethys-checkbox.mjs +10 -11
  350. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  351. package/fesm2022/ngx-tethys-collapse.mjs +20 -22
  352. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  353. package/fesm2022/ngx-tethys-color-picker.mjs +47 -45
  354. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  355. package/fesm2022/ngx-tethys-comment.mjs +3 -3
  356. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  357. package/fesm2022/ngx-tethys-copy.mjs +8 -12
  358. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  359. package/fesm2022/ngx-tethys-core.mjs +14 -16
  360. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  361. package/fesm2022/ngx-tethys-date-picker.mjs +2872 -2924
  362. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  363. package/fesm2022/ngx-tethys-date-range.mjs +24 -26
  364. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  365. package/fesm2022/ngx-tethys-dialog.mjs +61 -77
  366. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  367. package/fesm2022/ngx-tethys-divider.mjs +20 -12
  368. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  369. package/fesm2022/ngx-tethys-dot.mjs +6 -6
  370. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  371. package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
  372. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  373. package/fesm2022/ngx-tethys-dropdown.mjs +49 -43
  374. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  375. package/fesm2022/ngx-tethys-empty.mjs +18 -18
  376. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  377. package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
  378. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  379. package/fesm2022/ngx-tethys-form.mjs +74 -89
  380. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  381. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
  382. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  383. package/fesm2022/ngx-tethys-grid.mjs +20 -29
  384. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  385. package/fesm2022/ngx-tethys-guider.mjs +20 -26
  386. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  387. package/fesm2022/ngx-tethys-icon.mjs +18 -22
  388. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  389. package/fesm2022/ngx-tethys-image.mjs +60 -65
  390. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  391. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  392. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  393. package/fesm2022/ngx-tethys-input.mjs +53 -60
  394. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  395. package/fesm2022/ngx-tethys-layout.mjs +129 -124
  396. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  397. package/fesm2022/ngx-tethys-list.mjs +27 -27
  398. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  399. package/fesm2022/ngx-tethys-loading.mjs +10 -10
  400. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  401. package/fesm2022/ngx-tethys-mention.mjs +19 -24
  402. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  403. package/fesm2022/ngx-tethys-menu.mjs +56 -57
  404. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  405. package/fesm2022/ngx-tethys-message.mjs +47 -41
  406. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  407. package/fesm2022/ngx-tethys-nav.mjs +61 -72
  408. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  409. package/fesm2022/ngx-tethys-notify.mjs +31 -34
  410. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  411. package/fesm2022/ngx-tethys-pagination.mjs +46 -51
  412. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  413. package/fesm2022/ngx-tethys-popover.mjs +51 -57
  414. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  415. package/fesm2022/ngx-tethys-progress.mjs +15 -24
  416. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-property-operation.mjs +27 -27
  418. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  419. package/fesm2022/ngx-tethys-property.mjs +14 -14
  420. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  421. package/fesm2022/ngx-tethys-radio.mjs +33 -39
  422. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  423. package/fesm2022/ngx-tethys-rate.mjs +9 -9
  424. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  425. package/fesm2022/ngx-tethys-resizable.mjs +43 -34
  426. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  427. package/fesm2022/ngx-tethys-result.mjs +3 -3
  428. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  429. package/fesm2022/ngx-tethys-segment.mjs +41 -44
  430. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  431. package/fesm2022/ngx-tethys-select.mjs +28 -44
  432. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  433. package/fesm2022/ngx-tethys-shared.mjs +135 -150
  434. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  435. package/fesm2022/ngx-tethys-skeleton.mjs +33 -47
  436. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  437. package/fesm2022/ngx-tethys-slide.mjs +33 -37
  438. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  439. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  440. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  441. package/fesm2022/ngx-tethys-space.mjs +16 -16
  442. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  443. package/fesm2022/ngx-tethys-statistic.mjs +22 -22
  444. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  445. package/fesm2022/ngx-tethys-stepper.mjs +17 -22
  446. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  447. package/fesm2022/ngx-tethys-strength.mjs +11 -11
  448. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  449. package/fesm2022/ngx-tethys-switch.mjs +10 -10
  450. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  451. package/fesm2022/ngx-tethys-table.mjs +107 -124
  452. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  453. package/fesm2022/ngx-tethys-tabs.mjs +29 -32
  454. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  455. package/fesm2022/ngx-tethys-tag.mjs +21 -21
  456. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  457. package/fesm2022/ngx-tethys-time-picker.mjs +70 -80
  458. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  459. package/fesm2022/ngx-tethys-timeline.mjs +26 -26
  460. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  461. package/fesm2022/ngx-tethys-tooltip.mjs +35 -36
  462. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  463. package/fesm2022/ngx-tethys-transfer.mjs +10 -10
  464. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  465. package/fesm2022/ngx-tethys-tree-select.mjs +29 -37
  466. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  467. package/fesm2022/ngx-tethys-tree.mjs +102 -110
  468. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  469. package/fesm2022/ngx-tethys-typography.mjs +18 -18
  470. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  471. package/fesm2022/ngx-tethys-upload.mjs +11 -12
  472. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  473. package/fesm2022/ngx-tethys-vote.mjs +3 -3
  474. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  475. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  476. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  477. package/fesm2022/ngx-tethys.mjs +1 -1
  478. package/fesm2022/ngx-tethys.mjs.map +1 -1
  479. package/flexible-text/flexible-text.component.d.ts +1 -3
  480. package/form/form-group-error/form-group-error.component.d.ts +1 -3
  481. package/form/form-group-label.directive.d.ts +0 -2
  482. package/form/form-group.component.d.ts +1 -4
  483. package/form/form-submit.directive.d.ts +0 -2
  484. package/form/form-validator.service.d.ts +0 -2
  485. package/form/form.directive.d.ts +4 -4
  486. package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
  487. package/form/validator/unique-validator.directive.d.ts +1 -4
  488. package/fullscreen/fullscreen.component.d.ts +0 -2
  489. package/fullscreen/fullscreen.service.d.ts +0 -2
  490. package/grid/thy-col.directive.d.ts +1 -2
  491. package/grid/thy-grid-item.component.d.ts +2 -4
  492. package/grid/thy-grid.component.d.ts +1 -3
  493. package/guider/guider.directive.d.ts +1 -3
  494. package/guider/guider.service.d.ts +0 -7
  495. package/icon/icon-registry.d.ts +1 -3
  496. package/icon/icon.component.d.ts +1 -3
  497. package/image/image-group.component.d.ts +1 -2
  498. package/image/image.directive.d.ts +1 -3
  499. package/image/image.service.d.ts +2 -2
  500. package/image/preview/image-preview.component.d.ts +1 -4
  501. package/input/input-count.component.d.ts +3 -4
  502. package/input/input-group.component.d.ts +1 -3
  503. package/input/input-search.component.d.ts +2 -2
  504. package/input/input.component.d.ts +1 -2
  505. package/input/input.directive.d.ts +2 -3
  506. package/input-number/input-number.component.d.ts +2 -2
  507. package/layout/sidebar.component.d.ts +44 -13
  508. package/list/selection/selection-list.d.ts +1 -2
  509. package/loading/loading.component.d.ts +0 -2
  510. package/loading/styles/loading.scss +3 -1
  511. package/mention/mention.directive.d.ts +4 -5
  512. package/mention/suggestions/suggestions.component.d.ts +2 -3
  513. package/menu/group/menu-group.component.d.ts +30 -8
  514. package/menu/item/action/menu-item-action.component.d.ts +2 -3
  515. package/menu/item/menu-item.component.d.ts +1 -2
  516. package/message/abstract/abstract-message-container.component.d.ts +1 -2
  517. package/message/abstract/abstract-message.component.d.ts +2 -2
  518. package/message/message-container.component.d.ts +1 -3
  519. package/message/message-queue.service.d.ts +1 -2
  520. package/message/message.component.d.ts +1 -3
  521. package/message/message.service.d.ts +3 -5
  522. package/nav/icon-nav/icon-nav.component.d.ts +2 -2
  523. package/nav/nav-ink-bar.directive.d.ts +2 -4
  524. package/nav/nav-item.directive.d.ts +3 -4
  525. package/nav/nav.component.d.ts +1 -3
  526. package/nav/nav.pipe.d.ts +0 -2
  527. package/notify/notify-container.component.d.ts +1 -3
  528. package/notify/notify-queue.service.d.ts +1 -2
  529. package/notify/notify.component.d.ts +2 -3
  530. package/notify/notify.service.d.ts +1 -4
  531. package/package.json +1 -1
  532. package/pagination/pagination.component.d.ts +2 -4
  533. package/pagination/pagination.pipe.d.ts +0 -2
  534. package/popover/header/popover-header.component.d.ts +0 -3
  535. package/popover/popover-container.component.d.ts +3 -4
  536. package/popover/popover.directive.d.ts +2 -5
  537. package/popover/popover.service.d.ts +4 -6
  538. package/progress/progress-circle.component.d.ts +0 -1
  539. package/progress/progress-strip.component.d.ts +0 -1
  540. package/progress/progress.component.d.ts +0 -1
  541. package/property/property-item.component.d.ts +6 -9
  542. package/property-operation/property-operation.component.d.ts +1 -3
  543. package/radio/button/radio-button.component.d.ts +2 -5
  544. package/radio/group/radio-group.component.d.ts +1 -2
  545. package/radio/radio.component.d.ts +2 -3
  546. package/rate/rate.component.d.ts +2 -2
  547. package/resizable/resizable.directive.d.ts +2 -4
  548. package/resizable/resizable.service.d.ts +2 -2
  549. package/resizable/resize-handle.component.d.ts +2 -7
  550. package/schematics/version.d.ts +1 -1
  551. package/schematics/version.js +1 -1
  552. package/segment/segment-item.component.d.ts +4 -5
  553. package/segment/segment.component.d.ts +2 -7
  554. package/select/custom-select/custom-select.component.d.ts +5 -5
  555. package/select/native-select/native-select.component.d.ts +1 -1
  556. package/shared/base-form-check.component.d.ts +1 -1
  557. package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
  558. package/shared/directives/thy-autofocus.directive.d.ts +0 -2
  559. package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
  560. package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
  561. package/shared/directives/thy-enter.directive.d.ts +1 -2
  562. package/shared/directives/thy-scroll.directive.d.ts +1 -2
  563. package/shared/directives/thy-show.d.ts +1 -2
  564. package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
  565. package/shared/directives/view-outlet.directive.d.ts +1 -2
  566. package/shared/ng-transclude.directive.d.ts +1 -1
  567. package/shared/option/group/option-group.component.d.ts +1 -2
  568. package/shared/option/list-option/list-option.component.d.ts +6 -7
  569. package/shared/option/option.component.d.ts +5 -5
  570. package/shared/select/select-control/select-control.component.d.ts +1 -2
  571. package/skeleton/skeleton-circle.component.d.ts +1 -4
  572. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  573. package/skeleton/stylized/bullet-list.component.d.ts +9 -1
  574. package/slide/drawer/drawer-container.directive.d.ts +1 -2
  575. package/slide/slide-container.component.d.ts +3 -4
  576. package/slide/slide-header/slide-header.component.d.ts +0 -2
  577. package/slide/slide.service.d.ts +3 -3
  578. package/slider/slider.component.d.ts +2 -2
  579. package/space/space.component.d.ts +1 -2
  580. package/statistic/statistic.component.d.ts +1 -2
  581. package/stepper/step.component.d.ts +1 -2
  582. package/stepper/stepper-button.directive.d.ts +0 -3
  583. package/strength/strength.component.d.ts +0 -1
  584. package/switch/switch.component.d.ts +1 -1
  585. package/table/table-column.component.d.ts +32 -8
  586. package/table/table-skeleton.component.d.ts +1 -3
  587. package/table/table.component.d.ts +3 -5
  588. package/tabs/tabs.component.d.ts +1 -3
  589. package/tag/tag.component.d.ts +7 -3
  590. package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
  591. package/time-picker/time-picker-panel.component.d.ts +1 -3
  592. package/time-picker/time-picker.component.d.ts +1 -2
  593. package/timeline/timeline-item.component.d.ts +1 -3
  594. package/timeline/timeline.component.d.ts +1 -3
  595. package/tooltip/tooltip.component.d.ts +1 -2
  596. package/tooltip/tooltip.directive.d.ts +6 -9
  597. package/tooltip/tooltip.service.d.ts +2 -4
  598. package/transfer/transfer-list.component.d.ts +1 -2
  599. package/tree/tree-node.component.d.ts +5 -21
  600. package/tree/tree.component.d.ts +1 -2
  601. package/tree-select/tree-select.component.d.ts +5 -6
  602. package/typography/bg-color.directive.d.ts +0 -2
  603. package/typography/text-color.directive.d.ts +1 -2
  604. package/upload/file-select-base.d.ts +2 -3
  605. package/upload/file-select.component.d.ts +1 -0
  606. package/upload/upload.service.d.ts +0 -2
  607. package/watermark/watermark.directive.d.ts +1 -2
@@ -1,13 +1,12 @@
1
- import { Pipe } from '@angular/core';
1
+ import { Pipe, inject } from '@angular/core';
2
2
  import { DomSanitizer } from '@angular/platform-browser';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/platform-browser";
5
4
  /**
6
5
  * @private
7
6
  */
8
7
  export class PaginationTotalCountFormat {
9
- constructor(sanitizer) {
10
- this.sanitizer = sanitizer;
8
+ constructor() {
9
+ this.sanitizer = inject(DomSanitizer);
11
10
  }
12
11
  transform(count, format) {
13
12
  if (count && format) {
@@ -17,7 +16,7 @@ export class PaginationTotalCountFormat {
17
16
  return '';
18
17
  }
19
18
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationTotalCountFormat, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationTotalCountFormat, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
21
20
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: PaginationTotalCountFormat, isStandalone: true, name: "paginationTotalPagesFormat" }); }
22
21
  }
23
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PaginationTotalCountFormat, decorators: [{
@@ -26,5 +25,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
26
25
  name: 'paginationTotalPagesFormat',
27
26
  standalone: true
28
27
  }]
29
- }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRXpEOztHQUVHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUUvQyxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWM7UUFDbkMsSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0wsQ0FBQzs4R0FUUSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsNEJBQTRCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuLyoqXG4gKiBAcHJpdmF0ZVxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ3BhZ2luYXRpb25Ub3RhbFBhZ2VzRm9ybWF0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Ub3RhbENvdW50Rm9ybWF0IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAgIHRyYW5zZm9ybShjb3VudDogbnVtYmVyLCBmb3JtYXQ6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmIChjb3VudCAmJiBmb3JtYXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChmb3JtYXQucmVwbGFjZSgvXFx7KC4rPylcXH0vZywgYDxzcGFuPiR7Y291bnR9PC9zcGFuPmApKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRXpEOztHQUVHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQUp2QztRQUtZLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0FTNUM7SUFQRyxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWM7UUFDbkMsSUFBSSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0wsQ0FBQzs4R0FUUSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsNEJBQTRCO29CQUNsQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAncGFnaW5hdGlvblRvdGFsUGFnZXNGb3JtYXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvblRvdGFsQ291bnRGb3JtYXQgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwcml2YXRlIHNhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuXG4gICAgdHJhbnNmb3JtKGNvdW50OiBudW1iZXIsIGZvcm1hdDogc3RyaW5nKTogYW55IHtcbiAgICAgICAgaWYgKGNvdW50ICYmIGZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGZvcm1hdC5yZXBsYWNlKC9cXHsoLis/KVxcfS9nLCBgPHNwYW4+JHtjb3VudH08L3NwYW4+YCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,17 +1,23 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, inject } from '@angular/core';
2
2
  import { ThyTranslate } from 'ngx-tethys/core';
3
3
  import { ThyPopover } from '../popover.service';
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
- import * as i1 from "ngx-tethys/core";
8
- import * as i2 from "../popover.service";
9
7
  /**
10
8
  * 悬浮层头部组件
11
9
  * @name thy-popover-header
12
10
  * @order 30
13
11
  */
14
12
  export class ThyPopoverHeader {
13
+ constructor() {
14
+ this.translate = inject(ThyTranslate);
15
+ this.thyPopover = inject(ThyPopover);
16
+ /**
17
+ * @internal
18
+ */
19
+ this.thyClosed = new EventEmitter();
20
+ }
15
21
  /**
16
22
  * 标题的多语言 Key
17
23
  */
@@ -20,14 +26,6 @@ export class ThyPopoverHeader {
20
26
  this.thyTitle = this.translate.instant(key);
21
27
  }
22
28
  }
23
- constructor(translate, thyPopover) {
24
- this.translate = translate;
25
- this.thyPopover = thyPopover;
26
- /**
27
- * @internal
28
- */
29
- this.thyClosed = new EventEmitter();
30
- }
31
29
  /**
32
30
  * @internal
33
31
  */
@@ -35,15 +33,15 @@ export class ThyPopoverHeader {
35
33
  this.thyClosed.emit(event);
36
34
  this.thyPopover.close();
37
35
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverHeader, deps: [{ token: i1.ThyTranslate }, { token: i2.ThyPopover }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyPopoverHeader, isStandalone: true, selector: "thy-popover-header", inputs: { thyTitle: "thyTitle", thyTitleTranslationKey: "thyTitleTranslationKey" }, outputs: { thyClosed: "thyClosed" }, host: { classAttribute: "thy-popover-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["popoverHeader"], descendants: true }], exportAs: ["thyPopoverHeader"], ngImport: i0, template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h5 class=\"thy-popover-title\">{{ thyTitle }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyPopoverHeader, isStandalone: true, selector: "thy-popover-header", inputs: { thyTitle: "thyTitle", thyTitleTranslationKey: "thyTitleTranslationKey" }, outputs: { thyClosed: "thyClosed" }, host: { classAttribute: "thy-popover-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["popoverHeader"], descendants: true }], exportAs: ["thyPopoverHeader"], ngImport: i0, template: "@if (headerTemplate) {\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n} @else {\n <h5 class=\"thy-popover-title\">{{ thyTitle }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
38
  }
41
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverHeader, decorators: [{
42
40
  type: Component,
43
41
  args: [{ selector: 'thy-popover-header', exportAs: 'thyPopoverHeader', changeDetection: ChangeDetectionStrategy.OnPush, host: {
44
42
  class: 'thy-popover-header'
45
- }, standalone: true, imports: [NgIf, NgTemplateOutlet, ThyIcon], template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h5 class=\"thy-popover-title\">{{ thyTitle }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n</ng-template>\n" }]
46
- }], ctorParameters: () => [{ type: i1.ThyTranslate }, { type: i2.ThyPopover }], propDecorators: { thyTitle: [{
43
+ }, standalone: true, imports: [NgTemplateOutlet, ThyIcon], template: "@if (headerTemplate) {\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n} @else {\n <h5 class=\"thy-popover-title\">{{ thyTitle }}</h5>\n <button type=\"button\" class=\"close\" (click)=\"close($event)\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n </button>\n}\n" }]
44
+ }], propDecorators: { thyTitle: [{
47
45
  type: Input
48
46
  }], thyTitleTranslationKey: [{
49
47
  type: Input
@@ -53,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
53
51
  }], thyClosed: [{
54
52
  type: Output
55
53
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvaGVhZGVyL3BvcG92ZXItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9wb3BvdmVyL2hlYWRlci9wb3BvdmVyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRXpEOzs7O0dBSUc7QUFZSCxNQUFNLE9BQU8sZ0JBQWdCO0lBTXpCOztPQUVHO0lBQ0gsSUFDSSxzQkFBc0IsQ0FBQyxHQUFXO1FBQ2xDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7SUFjRCxZQUNZLFNBQXVCLEVBQ3ZCLFVBQXNCO1FBRHRCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVBsQzs7V0FFRztRQUNPLGNBQVMsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQUtsRSxDQUFDO0lBRUo7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBWTtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0F2Q1EsZ0JBQWdCO2tHQUFoQixnQkFBZ0Isb1lDdEI3Qix3WEFTQSw0Q0RXYyxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxPQUFPOzsyRkFFaEMsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNJLG9CQUFvQixZQUVwQixrQkFBa0IsbUJBQ1gsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QixjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7MEdBTWpDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUYsc0JBQXNCO3NCQUR6QixLQUFLO2dCQVlDLGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMsZUFBZTtnQkFNbkIsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5VHJhbnNsYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICcuLi9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiDmgqzmta7lsYLlpLTpg6jnu4Tku7ZcbiAqIEBuYW1lIHRoeS1wb3BvdmVyLWhlYWRlclxuICogQG9yZGVyIDMwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXBvcG92ZXItaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGV4cG9ydEFzOiAndGh5UG9wb3ZlckhlYWRlcicsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1wb3BvdmVyLWhlYWRlcidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeUljb25dXG59KVxuZXhwb3J0IGNsYXNzIFRoeVBvcG92ZXJIZWFkZXIge1xuICAgIC8qKlxuICAgICAqIOWktOmDqOagh+mimFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmoIfpopjnmoTlpJror63oqIAgS2V5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGl0bGVUcmFuc2xhdGlvbktleShrZXk6IHN0cmluZykge1xuICAgICAgICBpZiAoa2V5ICYmICF0aGlzLnRoeVRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLnRoeVRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChrZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5aS06YOo5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdwb3BvdmVySGVhZGVyJylcbiAgICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5Q2xvc2VkOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVGh5VHJhbnNsYXRlLFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXJcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBjbG9zZShldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlDbG9zZWQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMudGh5UG9wb3Zlci5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0SGVhZGVyXCI+XG4gIDx0ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlcj5cbiAgPGg1IGNsYXNzPVwidGh5LXBvcG92ZXItdGl0bGVcIj57eyB0aHlUaXRsZSB9fTwvaDU+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCI+PC90aHktaWNvbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvaGVhZGVyL3BvcG92ZXItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9wb3BvdmVyL2hlYWRlci9wb3BvdmVyLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUVuRDs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLGdCQUFnQjtJQVg3QjtRQVlZLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQXdCeEM7O1dBRUc7UUFDTyxjQUFTLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7S0FTeEU7SUE3Qkc7O09BRUc7SUFDSCxJQUNJLHNCQUFzQixDQUFDLEdBQVc7UUFDbEMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0wsQ0FBQztJQWNEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEtBQVk7UUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBckNRLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG9ZQ3RCN0Isa1NBUUEsNENEWWMsZ0JBQWdCLG9KQUFFLE9BQU87OzJGQUUxQixnQkFBZ0I7a0JBWDVCLFNBQVM7K0JBQ0ksb0JBQW9CLFlBRXBCLGtCQUFrQixtQkFDWCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxvQkFBb0I7cUJBQzlCLGNBQ1csSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDOzhCQVMzQixRQUFRO3NCQUFoQixLQUFLO2dCQU1GLHNCQUFzQjtzQkFEekIsS0FBSztnQkFZQyxjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWU7Z0JBTW5CLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5VHJhbnNsYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICcuLi9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiDmgqzmta7lsYLlpLTpg6jnu4Tku7ZcbiAqIEBuYW1lIHRoeS1wb3BvdmVyLWhlYWRlclxuICogQG9yZGVyIDMwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXBvcG92ZXItaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGV4cG9ydEFzOiAndGh5UG9wb3ZlckhlYWRlcicsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1wb3BvdmVyLWhlYWRlcidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIFRoeUljb25dXG59KVxuZXhwb3J0IGNsYXNzIFRoeVBvcG92ZXJIZWFkZXIge1xuICAgIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KFRoeVRyYW5zbGF0ZSk7XG4gICAgcHJpdmF0ZSB0aHlQb3BvdmVyID0gaW5qZWN0KFRoeVBvcG92ZXIpO1xuXG4gICAgLyoqXG4gICAgICog5aS06YOo5qCH6aKYXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VGl0bGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOagh+mimOeahOWkmuivreiogCBLZXlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUaXRsZVRyYW5zbGF0aW9uS2V5KGtleTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChrZXkgJiYgIXRoaXMudGh5VGl0bGUpIHtcbiAgICAgICAgICAgIHRoaXMudGh5VGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlpLTpg6jmqKHmnb9cbiAgICAgKiBAdHlwZSBUZW1wbGF0ZVJlZlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3BvcG92ZXJIZWFkZXInKVxuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlDbG9zZWQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgY2xvc2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5Q2xvc2VkLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXIuY2xvc2UoKTtcbiAgICB9XG59XG4iLCJAaWYgKGhlYWRlclRlbXBsYXRlKSB7XG4gIDx0ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvdGVtcGxhdGU+XG59IEBlbHNlIHtcbiAgPGg1IGNsYXNzPVwidGh5LXBvcG92ZXItdGl0bGVcIj57eyB0aHlUaXRsZSB9fTwvaDU+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoJGV2ZW50KVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCI+PC90aHktaWNvbj5cbiAgPC9idXR0b24+XG59XG4iXX0=
@@ -3,26 +3,24 @@ import { from, timer } from 'rxjs';
3
3
  import { filter, take, takeUntil } from 'rxjs/operators';
4
4
  import { ContentObserver } from '@angular/cdk/observers';
5
5
  import { PortalModule } from '@angular/cdk/portal';
6
- import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, NgZone, ViewChild } from '@angular/core';
6
+ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, NgZone, ViewChild, inject } from '@angular/core';
7
7
  import { ThyPopoverConfig } from './popover.config';
8
8
  import { popoverAbstractOverlayOptions } from './popover.options';
9
9
  import { scaleMotion, scaleXMotion, scaleYMotion } from 'ngx-tethys/core';
10
10
  import * as i0 from "@angular/core";
11
- import * as i1 from "./popover.config";
12
- import * as i2 from "ngx-tethys/core";
13
- import * as i3 from "@angular/cdk/observers";
14
11
  /**
15
12
  * @internal
16
13
  */
17
14
  export class ThyPopoverContainer extends ThyAbstractOverlayContainer {
18
15
  beforeAttachPortal() { }
19
- constructor(elementRef, config, changeDetectorRef, thyClickDispatcher, contentObserver, ngZone) {
16
+ constructor() {
17
+ const changeDetectorRef = inject(ChangeDetectorRef);
20
18
  super(popoverAbstractOverlayOptions, changeDetectorRef);
21
- this.elementRef = elementRef;
22
- this.config = config;
23
- this.thyClickDispatcher = thyClickDispatcher;
24
- this.contentObserver = contentObserver;
25
- this.ngZone = ngZone;
19
+ this.elementRef = inject(ElementRef);
20
+ this.config = inject(ThyPopoverConfig);
21
+ this.thyClickDispatcher = inject(ThyClickDispatcher);
22
+ this.contentObserver = inject(ContentObserver);
23
+ this.ngZone = inject(NgZone);
26
24
  /** State of the popover animation. */
27
25
  this.animationState = 'enter';
28
26
  /** Emits when an animation state changes. */
@@ -96,7 +94,7 @@ export class ThyPopoverContainer extends ThyAbstractOverlayContainer {
96
94
  this.updatePosition.complete();
97
95
  this.outsideClicked.complete();
98
96
  }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverContainer, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopoverConfig }, { token: i0.ChangeDetectorRef }, { token: i2.ThyClickDispatcher }, { token: i3.ContentObserver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
100
98
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyPopoverContainer, isStandalone: true, selector: "thy-popover-container", host: { attributes: { "tabindex": "-1" }, listeners: { "@scaleXMotion.start": "onAnimationStart($event)", "@scaleXMotion.done": "onAnimationDone($event)", "@scaleYMotion.start": "onAnimationStart($event)", "@scaleYMotion.done": "onAnimationDone($event)", "@scaleMotion.start": "onAnimationStart($event)", "@scaleMotion.done": "onAnimationDone($event)", "click": "onInsideClick()" }, properties: { "attr.role": "'popover'", "attr.id": "id", "@.disabled": "!!config.animationDisabled", "@scaleXMotion": "(config.placement === \"left\" || config.placement === \"right\") ? animationState : \"void\"", "@scaleYMotion": "(config.placement === \"top\" || config.placement === \"bottom\") ? animationState : \"void\"", "@scaleMotion": "(config.placement !== \"left\" && config.placement !== \"right\" && config.placement !== \"top\" && config.placement !== \"bottom\") ? animationState : \"void\"" }, classAttribute: "thy-popover-container" }, viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: ThyPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template thyPortalOutlet></ng-template>\n", dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: ThyPortalOutlet, selector: "[thyPortalOutlet]", inputs: ["thyPortalOutlet"], exportAs: ["thyPortalOutlet"] }], animations: [scaleXMotion, scaleYMotion, scaleMotion] }); }
101
99
  }
102
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverContainer, decorators: [{
@@ -117,11 +115,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
117
115
  '(@scaleMotion.start)': 'onAnimationStart($event)',
118
116
  '(@scaleMotion.done)': 'onAnimationDone($event)'
119
117
  }, standalone: true, imports: [PortalModule, ThyPortalOutlet], template: "<ng-template thyPortalOutlet></ng-template>\n" }]
120
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyPopoverConfig }, { type: i0.ChangeDetectorRef }, { type: i2.ThyClickDispatcher }, { type: i3.ContentObserver }, { type: i0.NgZone }], propDecorators: { portalOutlet: [{
118
+ }], ctorParameters: () => [], propDecorators: { portalOutlet: [{
121
119
  type: ViewChild,
122
120
  args: [ThyPortalOutlet, { static: true }]
123
121
  }], onInsideClick: [{
124
122
  type: HostListener,
125
123
  args: ['click', []]
126
124
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxJQUFJLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUVOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFMUU7O0dBRUc7QUE2QkgsTUFBTSxPQUFPLG1CQUFxQyxTQUFRLDJCQUFrQztJQW1CeEYsa0JBQWtCLEtBQVUsQ0FBQztJQUU3QixZQUNZLFVBQXNCLEVBQ3ZCLE1BQStCLEVBQ3RDLGlCQUFvQyxFQUM1QixrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsTUFBYztRQUV0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LFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDOzsyRkF5QjVDLG1CQUFtQjtrQkE1Qi9CLFNBQVM7K0JBQ0ksdUJBQXVCLGNBRXJCLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsUUFDL0M7d0JBQ0YsS0FBSyxFQUFFLHVCQUF1Qjt3QkFDOUIsUUFBUSxFQUFFLElBQUk7d0JBQ2QsYUFBYSxFQUFFLFdBQVc7d0JBQzFCLFdBQVcsRUFBRSxJQUFJO3dCQUVqQixjQUFjLEVBQUUsNEJBQTRCO3dCQUU1QyxpQkFBaUIsRUFBRSx5RkFBeUY7d0JBQzVHLHVCQUF1QixFQUFFLDBCQUEwQjt3QkFDbkQsc0JBQXNCLEVBQUUseUJBQXlCO3dCQUVqRCxpQkFBaUIsRUFBRSx5RkFBeUY7d0JBQzVHLHVCQUF1QixFQUFFLDBCQUEwQjt3QkFDbkQsc0JBQXNCLEVBQUUseUJBQXlCO3dCQUVqRCxnQkFBZ0IsRUFDWix3SkFBd0o7d0JBQzVKLHNCQUFzQixFQUFFLDBCQUEwQjt3QkFDbEQscUJBQXFCLEVBQUUseUJBQXlCO3FCQUNuRCxjQUNXLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7a09BSXhDLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQWlHNUMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLE9BQU8sRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5QWJzdHJhY3RPdmVybGF5Q29udGFpbmVyLCBUaHlDbGlja0Rpc3BhdGNoZXIsIFRoeVBvcnRhbE91dGxldCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb250ZW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb2JzZXJ2ZXJzJztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRoeVBvcG92ZXJDb25maWcgfSBmcm9tICcuL3BvcG92ZXIuY29uZmlnJztcbmltcG9ydCB7IHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zIH0gZnJvbSAnLi9wb3BvdmVyLm9wdGlvbnMnO1xuaW1wb3J0IHsgc2NhbGVNb3Rpb24sIHNjYWxlWE1vdGlvbiwgc2NhbGVZTW90aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktcG9wb3Zlci1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wb3BvdmVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW3NjYWxlWE1vdGlvbiwgc2NhbGVZTW90aW9uLCBzY2FsZU1vdGlvbl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1wb3BvdmVyLWNvbnRhaW5lcicsXG4gICAgICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICAgICAnW2F0dHIucm9sZV0nOiBgJ3BvcG92ZXInYCxcbiAgICAgICAgJ1thdHRyLmlkXSc6ICdpZCcsXG5cbiAgICAgICAgJ1tALmRpc2FibGVkXSc6ICchIWNvbmZpZy5hbmltYXRpb25EaXNhYmxlZCcsXG5cbiAgICAgICAgJ1tAc2NhbGVYTW90aW9uXSc6ICcoY29uZmlnLnBsYWNlbWVudCA9PT0gXCJsZWZ0XCIgfHwgY29uZmlnLnBsYWNlbWVudCA9PT0gXCJyaWdodFwiKSA/IGFuaW1hdGlvblN0YXRlIDogXCJ2b2lkXCInLFxuICAgICAgICAnKEBzY2FsZVhNb3Rpb24uc3RhcnQpJzogJ29uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KScsXG4gICAgICAgICcoQHNjYWxlWE1vdGlvbi5kb25lKSc6ICdvbkFuaW1hdGlvbkRvbmUoJGV2ZW50KScsXG5cbiAgICAgICAgJ1tAc2NhbGVZTW90aW9uXSc6ICcoY29uZmlnLnBsYWNlbWVudCA9PT0gXCJ0b3BcIiB8fCBjb25maWcucGxhY2VtZW50ID09PSBcImJvdHRvbVwiKSA/IGFuaW1hdGlvblN0YXRlIDogXCJ2b2lkXCInLFxuICAgICAgICAnKEBzY2FsZVlNb3Rpb24uc3RhcnQpJzogJ29uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KScsXG4gICAgICAgICcoQHNjYWxlWU1vdGlvbi5kb25lKSc6ICdvbkFuaW1hdGlvbkRvbmUoJGV2ZW50KScsXG5cbiAgICAgICAgJ1tAc2NhbGVNb3Rpb25dJzpcbiAgICAgICAgICAgICcoY29uZmlnLnBsYWNlbWVudCAhPT0gXCJsZWZ0XCIgJiYgY29uZmlnLnBsYWNlbWVudCAhPT0gXCJyaWdodFwiICYmIGNvbmZpZy5wbGFjZW1lbnQgIT09IFwidG9wXCIgJiYgY29uZmlnLnBsYWNlbWVudCAhPT0gXCJib3R0b21cIikgPyBhbmltYXRpb25TdGF0ZSA6IFwidm9pZFwiJyxcbiAgICAgICAgJyhAc2NhbGVNb3Rpb24uc3RhcnQpJzogJ29uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KScsXG4gICAgICAgICcoQHNjYWxlTW90aW9uLmRvbmUpJzogJ29uQW5pbWF0aW9uRG9uZSgkZXZlbnQpJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUG9ydGFsTW9kdWxlLCBUaHlQb3J0YWxPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVBvcG92ZXJDb250YWluZXI8VERhdGEgPSB1bmtub3duPiBleHRlbmRzIFRoeUFic3RyYWN0T3ZlcmxheUNvbnRhaW5lcjxURGF0YT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoVGh5UG9ydGFsT3V0bGV0LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHBvcnRhbE91dGxldDogVGh5UG9ydGFsT3V0bGV0O1xuXG4gICAgLyoqIFN0YXRlIG9mIHRoZSBwb3BvdmVyIGFuaW1hdGlvbi4gKi9cbiAgICBhbmltYXRpb25TdGF0ZTogJ3ZvaWQnIHwgJ2VudGVyJyB8ICdleGl0JyA9ICdlbnRlcic7XG5cbiAgICAvKiogRW1pdHMgd2hlbiBhbiBhbmltYXRpb24gc3RhdGUgY2hhbmdlcy4gKi9cbiAgICBhbmltYXRpb25TdGF0ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEFuaW1hdGlvbkV2ZW50PigpO1xuXG4gICAgYW5pbWF0aW9uT3BlbmluZ0RvbmU6IE9ic2VydmFibGU8QW5pbWF0aW9uRXZlbnQ+O1xuICAgIGFuaW1hdGlvbkNsb3NpbmdEb25lOiBPYnNlcnZhYmxlPEFuaW1hdGlvbkV2ZW50PjtcblxuICAgIGluc2lkZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICB1cGRhdGVQb3NpdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIG91dHNpZGVDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgYmVmb3JlQXR0YWNoUG9ydGFsKCk6IHZvaWQge31cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBjb25maWc6IFRoeVBvcG92ZXJDb25maWc8VERhdGE+LFxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdGh5Q2xpY2tEaXNwYXRjaGVyOiBUaHlDbGlja0Rpc3BhdGNoZXIsXG4gICAgICAgIHByaXZhdGUgY29udGVudE9ic2VydmVyOiBDb250ZW50T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHtcbiAgICAgICAgc3VwZXIocG9wb3ZlckFic3RyYWN0T3ZlcmxheU9wdGlvbnMsIGNoYW5nZURldGVjdG9yUmVmKTtcblxuICAgICAgICB0aGlzLmFuaW1hdGlvbk9wZW5pbmdEb25lID0gdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnBoYXNlTmFtZSA9PT0gJ2RvbmUnICYmIGV2ZW50LnRvU3RhdGUgPT09ICdlbnRlcic7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmFuaW1hdGlvbkNsb3NpbmdEb25lID0gdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50LnBoYXNlTmFtZSA9PT0gJ2RvbmUnICYmIGV2ZW50LnRvU3RhdGUgPT09ICdleGl0JztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWcub3V0c2lkZUNsb3NhYmxlICYmICF0aGlzLmNvbmZpZy5oYXNCYWNrZHJvcCkge1xuICAgICAgICAgICAgdGltZXIoMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeUNsaWNrRGlzcGF0Y2hlclxuICAgICAgICAgICAgICAgICAgICAuY2xpY2tlZCgpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmFuaW1hdGlvbkNsb3NpbmdEb25lKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3V0c2lkZUNsaWNrZWQuZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmF1dG9BZGFwdGl2ZSkge1xuICAgICAgICAgICAgY29uc3Qgb25TdGFibGUkID0gdGhpcy5uZ1pvbmUuaXNTdGFibGUgPyBmcm9tKFByb21pc2UucmVzb2x2ZSgpKSA6IHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSk7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgb25TdGFibGUkLnBpcGUodGFrZVVudGlsKHRoaXMuY29udGFpbmVyRGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudE9ic2VydmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYpXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb250YWluZXJEZXN0cm95KSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24uZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDYWxsYmFjaywgaW52b2tlZCB3aGVuZXZlciBhbiBhbmltYXRpb24gb24gdGhlIGhvc3QgY29tcGxldGVzLiAqL1xuICAgIG9uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgLy8gaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgICAvLyAgICAgdGhpcy50cmFwRm9jdXMoKTtcbiAgICAgICAgLy8gfSBlbHNlIGlmIChldmVudC50b1N0YXRlID09PSAnZXhpdCcpIHtcbiAgICAgICAgLy8gICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIENhbGxiYWNrLCBpbnZva2VkIHdoZW4gYW4gYW5pbWF0aW9uIG9uIHRoZSBob3N0IHN0YXJ0cy4gKi9cbiAgICBvbkFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICB0aGlzLmFuaW1hdGlvblN0YXRlQ2hhbmdlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBzdGFydEV4aXRBbmltYXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGUgPSAnZXhpdCc7XG5cbiAgICAgICAgLy8gTWFyayB0aGUgY29udGFpbmVyIGZvciBjaGVjayBzbyBpdCBjYW4gcmVhY3QgaWYgdGhlXG4gICAgICAgIC8vIHZpZXcgY29udGFpbmVyIGlzIHVzaW5nIE9uUHVzaCBjaGFuZ2UgZGV0ZWN0aW9uLlxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgW10pXG4gICAgb25JbnNpZGVDbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmluc2lkZUNsb3NhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmluc2lkZUNsaWNrZWQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pbnNpZGVDbGlja2VkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5vdXRzaWRlQ2xpY2tlZC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSB0aHlQb3J0YWxPdXRsZXQ+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxJQUFJLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUVOLFNBQVMsRUFDVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTFFOztHQUVHO0FBNkJILE1BQU0sT0FBTyxtQkFBcUMsU0FBUSwyQkFBa0M7SUF5QnhGLGtCQUFrQixLQUFVLENBQUM7SUFFN0I7UUFDSSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXBELEtBQUssQ0FBQyw2QkFB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T2pCLGVBQWUscUZDOUQ5QiwrQ0FDQSwyQ0RvRGMsWUFBWSwrQkFBRSxlQUFlLDRHQXZCM0IsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQzs7MkZBeUI1QyxtQkFBbUI7a0JBNUIvQixTQUFTOytCQUNJLHVCQUF1QixjQUVyQixDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLFFBQy9DO3dCQUNGLEtBQUssRUFBRSx1QkFBdUI7d0JBQzlCLFFBQVEsRUFBRSxJQUFJO3dCQUNkLGFBQWEsRUFBRSxXQUFXO3dCQUMxQixXQUFXLEVBQUUsSUFBSTt3QkFFakIsY0FBYyxFQUFFLDRCQUE0Qjt3QkFFNUMsaUJBQWlCLEVBQUUseUZBQXlGO3dCQUM1Ryx1QkFBdUIsRUFBRSwwQkFBMEI7d0JBQ25ELHNCQUFzQixFQUFFLHlCQUF5Qjt3QkFFakQsaUJBQWlCLEVBQUUseUZBQXlGO3dCQUM1Ryx1QkFBdUIsRUFBRSwwQkFBMEI7d0JBQ25ELHNCQUFzQixFQUFFLHlCQUF5Qjt3QkFFakQsZ0JBQWdCLEVBQ1osd0pBQXdKO3dCQUM1SixzQkFBc0IsRUFBRSwwQkFBMEI7d0JBQ2xELHFCQUFxQixFQUFFLHlCQUF5QjtxQkFDbkQsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO3dEQVV4QyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkE0RjVDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxPQUFPLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoeUFic3RyYWN0T3ZlcmxheUNvbnRhaW5lciwgVGh5Q2xpY2tEaXNwYXRjaGVyLCBUaHlQb3J0YWxPdXRsZXQgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29udGVudE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGh5UG9wb3ZlckNvbmZpZyB9IGZyb20gJy4vcG9wb3Zlci5jb25maWcnO1xuaW1wb3J0IHsgcG9wb3ZlckFic3RyYWN0T3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuL3BvcG92ZXIub3B0aW9ucyc7XG5pbXBvcnQgeyBzY2FsZU1vdGlvbiwgc2NhbGVYTW90aW9uLCBzY2FsZVlNb3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1wb3BvdmVyLWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbc2NhbGVYTW90aW9uLCBzY2FsZVlNb3Rpb24sIHNjYWxlTW90aW9uXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LXBvcG92ZXItY29udGFpbmVyJyxcbiAgICAgICAgdGFiaW5kZXg6ICctMScsXG4gICAgICAgICdbYXR0ci5yb2xlXSc6IGAncG9wb3ZlcidgLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcblxuICAgICAgICAnW0AuZGlzYWJsZWRdJzogJyEhY29uZmlnLmFuaW1hdGlvbkRpc2FibGVkJyxcblxuICAgICAgICAnW0BzY2FsZVhNb3Rpb25dJzogJyhjb25maWcucGxhY2VtZW50ID09PSBcImxlZnRcIiB8fCBjb25maWcucGxhY2VtZW50ID09PSBcInJpZ2h0XCIpID8gYW5pbWF0aW9uU3RhdGUgOiBcInZvaWRcIicsXG4gICAgICAgICcoQHNjYWxlWE1vdGlvbi5zdGFydCknOiAnb25BbmltYXRpb25TdGFydCgkZXZlbnQpJyxcbiAgICAgICAgJyhAc2NhbGVYTW90aW9uLmRvbmUpJzogJ29uQW5pbWF0aW9uRG9uZSgkZXZlbnQpJyxcblxuICAgICAgICAnW0BzY2FsZVlNb3Rpb25dJzogJyhjb25maWcucGxhY2VtZW50ID09PSBcInRvcFwiIHx8IGNvbmZpZy5wbGFjZW1lbnQgPT09IFwiYm90dG9tXCIpID8gYW5pbWF0aW9uU3RhdGUgOiBcInZvaWRcIicsXG4gICAgICAgICcoQHNjYWxlWU1vdGlvbi5zdGFydCknOiAnb25BbmltYXRpb25TdGFydCgkZXZlbnQpJyxcbiAgICAgICAgJyhAc2NhbGVZTW90aW9uLmRvbmUpJzogJ29uQW5pbWF0aW9uRG9uZSgkZXZlbnQpJyxcblxuICAgICAgICAnW0BzY2FsZU1vdGlvbl0nOlxuICAgICAgICAgICAgJyhjb25maWcucGxhY2VtZW50ICE9PSBcImxlZnRcIiAmJiBjb25maWcucGxhY2VtZW50ICE9PSBcInJpZ2h0XCIgJiYgY29uZmlnLnBsYWNlbWVudCAhPT0gXCJ0b3BcIiAmJiBjb25maWcucGxhY2VtZW50ICE9PSBcImJvdHRvbVwiKSA/IGFuaW1hdGlvblN0YXRlIDogXCJ2b2lkXCInLFxuICAgICAgICAnKEBzY2FsZU1vdGlvbi5zdGFydCknOiAnb25BbmltYXRpb25TdGFydCgkZXZlbnQpJyxcbiAgICAgICAgJyhAc2NhbGVNb3Rpb24uZG9uZSknOiAnb25BbmltYXRpb25Eb25lKCRldmVudCknXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtQb3J0YWxNb2R1bGUsIFRoeVBvcnRhbE91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5UG9wb3ZlckNvbnRhaW5lcjxURGF0YSA9IHVua25vd24+IGV4dGVuZHMgVGh5QWJzdHJhY3RPdmVybGF5Q29udGFpbmVyPFREYXRhPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIGNvbmZpZyA9IGluamVjdDxUaHlQb3BvdmVyQ29uZmlnPFREYXRhPj4oVGh5UG9wb3ZlckNvbmZpZyk7XG4gICAgcHJpdmF0ZSB0aHlDbGlja0Rpc3BhdGNoZXIgPSBpbmplY3QoVGh5Q2xpY2tEaXNwYXRjaGVyKTtcbiAgICBwcml2YXRlIGNvbnRlbnRPYnNlcnZlciA9IGluamVjdChDb250ZW50T2JzZXJ2ZXIpO1xuICAgIHByaXZhdGUgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICBAVmlld0NoaWxkKFRoeVBvcnRhbE91dGxldCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwb3J0YWxPdXRsZXQ6IFRoeVBvcnRhbE91dGxldDtcblxuICAgIC8qKiBTdGF0ZSBvZiB0aGUgcG9wb3ZlciBhbmltYXRpb24uICovXG4gICAgYW5pbWF0aW9uU3RhdGU6ICd2b2lkJyB8ICdlbnRlcicgfCAnZXhpdCcgPSAnZW50ZXInO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gYW4gYW5pbWF0aW9uIHN0YXRlIGNoYW5nZXMuICovXG4gICAgYW5pbWF0aW9uU3RhdGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxBbmltYXRpb25FdmVudD4oKTtcblxuICAgIGFuaW1hdGlvbk9wZW5pbmdEb25lOiBPYnNlcnZhYmxlPEFuaW1hdGlvbkV2ZW50PjtcbiAgICBhbmltYXRpb25DbG9zaW5nRG9uZTogT2JzZXJ2YWJsZTxBbmltYXRpb25FdmVudD47XG5cbiAgICBpbnNpZGVDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgdXBkYXRlUG9zaXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBvdXRzaWRlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGJlZm9yZUF0dGFjaFBvcnRhbCgpOiB2b2lkIHt9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIHN1cGVyKHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zLCBjaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAgICAgdGhpcy5hbmltYXRpb25PcGVuaW5nRG9uZSA9IHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnZW50ZXInO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5hbmltYXRpb25DbG9zaW5nRG9uZSA9IHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnZXhpdCc7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLm91dHNpZGVDbG9zYWJsZSAmJiAhdGhpcy5jb25maWcuaGFzQmFja2Ryb3ApIHtcbiAgICAgICAgICAgIHRpbWVyKDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlDbGlja0Rpc3BhdGNoZXJcbiAgICAgICAgICAgICAgICAgICAgLmNsaWNrZWQoKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5hbmltYXRpb25DbG9zaW5nRG9uZSkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHNpZGVDbGlja2VkLmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5hdXRvQWRhcHRpdmUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9uU3RhYmxlJCA9IHRoaXMubmdab25lLmlzU3RhYmxlID8gZnJvbShQcm9taXNlLnJlc29sdmUoKSkgOiB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpO1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG9uU3RhYmxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbnRhaW5lckRlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRPYnNlcnZlclxuICAgICAgICAgICAgICAgICAgICAgICAgLm9ic2VydmUodGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29udGFpbmVyRGVzdHJveSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uLmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2FsbGJhY2ssIGludm9rZWQgd2hlbmV2ZXIgYW4gYW5pbWF0aW9uIG9uIHRoZSBob3N0IGNvbXBsZXRlcy4gKi9cbiAgICBvbkFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIC8vIGlmIChldmVudC50b1N0YXRlID09PSAndm9pZCcpIHtcbiAgICAgICAgLy8gICAgIHRoaXMudHJhcEZvY3VzKCk7XG4gICAgICAgIC8vIH0gZWxzZSBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ2V4aXQnKSB7XG4gICAgICAgIC8vICAgICB0aGlzLnJlc3RvcmVGb2N1cygpO1xuICAgICAgICAvLyB9XG4gICAgICAgIHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBDYWxsYmFjaywgaW52b2tlZCB3aGVuIGFuIGFuaW1hdGlvbiBvbiB0aGUgaG9zdCBzdGFydHMuICovXG4gICAgb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZUNoYW5nZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgc3RhcnRFeGl0QW5pbWF0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFuaW1hdGlvblN0YXRlID0gJ2V4aXQnO1xuXG4gICAgICAgIC8vIE1hcmsgdGhlIGNvbnRhaW5lciBmb3IgY2hlY2sgc28gaXQgY2FuIHJlYWN0IGlmIHRoZVxuICAgICAgICAvLyB2aWV3IGNvbnRhaW5lciBpcyB1c2luZyBPblB1c2ggY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFtdKVxuICAgIG9uSW5zaWRlQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5pbnNpZGVDbG9zYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5pbnNpZGVDbGlja2VkLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuaW5zaWRlQ2xpY2tlZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMub3V0c2lkZUNsaWNrZWQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgdGh5UG9ydGFsT3V0bGV0PjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Directive, ElementRef, NgZone, Input, ViewContainerRef, HostBinding, ChangeDetectorRef, numberAttribute } from '@angular/core';
1
+ import { Directive, ElementRef, NgZone, Input, ViewContainerRef, HostBinding, ChangeDetectorRef, numberAttribute, inject } from '@angular/core';
2
2
  import { Platform } from '@angular/cdk/platform';
3
3
  import { FocusMonitor } from '@angular/cdk/a11y';
4
4
  import { ThyOverlayDirectiveBase } from 'ngx-tethys/core';
@@ -6,9 +6,6 @@ import { ThyPopover } from './popover.service';
6
6
  import { ThyPopoverConfig } from './popover.config';
7
7
  import { coerceBooleanProperty } from 'ngx-tethys/util';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/cdk/platform";
10
- import * as i2 from "@angular/cdk/a11y";
11
- import * as i3 from "./popover.service";
12
9
  /**
13
10
  * 弹出悬浮层指令
14
11
  * @name thyPopover
@@ -40,12 +37,15 @@ export class ThyPopoverDirective extends ThyOverlayDirectiveBase {
40
37
  set thyDisabled(value) {
41
38
  this.disabled = value;
42
39
  }
43
- constructor(elementRef, platform, focusMonitor, ngZone, popover, viewContainerRef, cdr) {
40
+ constructor() {
41
+ const elementRef = inject(ElementRef);
42
+ const platform = inject(Platform);
43
+ const focusMonitor = inject(FocusMonitor);
44
+ const ngZone = inject(NgZone);
44
45
  super(elementRef, platform, focusMonitor, ngZone, true);
45
- this.elementRef = elementRef;
46
- this.popover = popover;
47
- this.viewContainerRef = viewContainerRef;
48
- this.cdr = cdr;
46
+ this.popover = inject(ThyPopover);
47
+ this.viewContainerRef = inject(ViewContainerRef);
48
+ this.cdr = inject(ChangeDetectorRef);
49
49
  this.popoverOpened = false;
50
50
  /**
51
51
  * 弹出悬浮层的位置
@@ -60,6 +60,7 @@ export class ThyPopoverDirective extends ThyOverlayDirectiveBase {
60
60
  * 自动适配内容变化重新计算位置
61
61
  */
62
62
  this.thyAutoAdaptive = false;
63
+ this.elementRef = elementRef;
63
64
  }
64
65
  ngOnInit() {
65
66
  this.initialize();
@@ -116,7 +117,7 @@ export class ThyPopoverDirective extends ThyOverlayDirectiveBase {
116
117
  ngOnDestroy() {
117
118
  this.dispose();
118
119
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverDirective, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: i2.FocusMonitor }, { token: i0.NgZone }, { token: i3.ThyPopover }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
120
121
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.0", type: ThyPopoverDirective, isStandalone: true, selector: "[thyPopover]", inputs: { content: ["thyPopover", "content"], thyTrigger: "thyTrigger", thyPlacement: "thyPlacement", thyOffset: ["thyOffset", "thyOffset", numberAttribute], thyConfig: "thyConfig", thyShowDelay: ["thyShowDelay", "thyShowDelay", numberAttribute], thyHideDelay: ["thyHideDelay", "thyHideDelay", numberAttribute], thyAutoAdaptive: ["thyAutoAdaptive", "thyAutoAdaptive", coerceBooleanProperty], thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.thy-popover-opened": "this.popoverOpened" } }, usesInheritance: true, ngImport: i0 }); }
121
122
  }
122
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopoverDirective, decorators: [{
@@ -125,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
125
126
  selector: '[thyPopover]',
126
127
  standalone: true
127
128
  }]
128
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Platform }, { type: i2.FocusMonitor }, { type: i0.NgZone }, { type: i3.ThyPopover }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], propDecorators: { popoverOpened: [{
129
+ }], ctorParameters: () => [], propDecorators: { popoverOpened: [{
129
130
  type: HostBinding,
130
131
  args: [`class.thy-popover-opened`]
131
132
  }], content: [{
@@ -153,4 +154,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
153
154
  type: Input,
154
155
  args: [{ transform: coerceBooleanProperty }]
155
156
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sS0FBSyxFQUdMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQW1DLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUV4RDs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQVE1RDs7T0FFRztJQUNILElBQWEsVUFBVSxDQUFDLE9BQTBCO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFrQkQ7O09BRUc7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQU9EOzs7T0FHRztJQUNILElBQWlELFdBQVcsQ0FBQyxLQUFjO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFD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QVMsRUFBRSxlQUFlLEVBQUU7Z0JBUVEsZUFBZTtzQkFBM0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFNTSxXQUFXO3NCQUEzRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIElucHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIG51bWJlckF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSwgVGh5T3ZlcmxheVRyaWdnZXIsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlclJlZiB9IGZyb20gJy4vcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlckNvbmZpZyB9IGZyb20gJy4vcG9wb3Zlci5jb25maWcnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuLyoqXG4gKiDlvLnlh7rmgqzmta7lsYLmjIfku6RcbiAqIEBuYW1lIHRoeVBvcG92ZXJcbiAqIEBvcmRlciA1MFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlQb3BvdmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQb3BvdmVyRGlyZWN0aXZlIGV4dGVuZHMgVGh5T3ZlcmxheURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktcG9wb3Zlci1vcGVuZWRgKSBwb3BvdmVyT3BlbmVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmgqzmta7nu4Tku7bmiJbogIXmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVBvcG92ZXInKSBjb250ZW50OiBDb21wb25lbnRUeXBlPGFueT4gfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65oKs5rWu5bGC55qE6Kem5Y+R5pa55byPXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVRyaWdnZXIodHJpZ2dlcjogVGh5T3ZlcmxheVRyaWdnZXIpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyID0gdHJpZ2dlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTkvY3nva5cbiAgICAgKiBAdHlwZSB0b3AgfCB0b3BMZWZ0IHwgdG9wUmlnaHQgfCBib3R0b20gfCBib3R0b21MZWZ0IHwgYm90dG9tUmlnaHQgfCBsZWZ0IHwgbGVmdFRvcCB8IGxlZnRCb3R0b20gfCByaWdodCB8ICByaWdodFRvcCB8IHJpZ2h0Qm90dG9tXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGxhY2VtZW50OiBUaHlQbGFjZW1lbnQgPSAnYm90dG9tJztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuaCrOa1ruWxgueahOWBj+enu+mHj1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeU9mZnNldDogbnVtYmVyID0gMDtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuaCrOa1ruWxgueahOmFjee9rlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZztcblxuICAgIC8qKlxuICAgICAqIOaYvuekuuW7tui/n+aXtumXtFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeVNob3dEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2hvd0RlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6ZqQ6JeP5bu26L+f5pe26Ze0XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5SGlkZURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5oaWRlRGVsYXkgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjpgILphY3lhoXlrrnlj5jljJbph43mlrDorqHnrpfkvY3nva5cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlBdXRvQWRhcHRpdmUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuemgeeUqOaJk+W8gOaCrOa1ruWxglxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgc2V0IHRoeURpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgbmdab25lLCB0cnVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy50cmlnZ2VyID09PSAnZm9jdXMnLFxuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudGh5UGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy50aHlPZmZzZXQsXG4gICAgICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0aGlzLnRoeUF1dG9BZGFwdGl2ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMudGh5Q29uZmlnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKHRoaXMuY29udGVudCwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpO1xuICAgIH1cblxuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMuaGlkZURlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sS0FBSyxFQUdMLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQW1DLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RDs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHVCQUF1QjtJQWE1RDs7T0FFRztJQUNILElBQWEsVUFBVSxDQUFDLE9BQTBCO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFrQkQ7O09BRUc7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQU9EOzs7T0FHRztJQUNILElBQWlELFdBQVcsQ0FBQyxLQUFjO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFJRDtRQUNJLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBdkVwRCxZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBYy9EOzs7V0FHRztRQUNNLGlCQUFZLEdBQWlCLFFBQVEsQ0FBQztRQUUvQzs7V0FFRztRQUNvQyxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBdUI3RDs7V0FFRztRQUMwQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQW1CakUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWE7UUFDVCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN4QjtZQUNJLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7WUFDckMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTztZQUNqRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM1QixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDdEIsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlO1NBQ3JDLEVBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FDakIsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksQ0FBQyxRQUFnQixJQUFJLENBQUMsU0FBUztRQUMvQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3RFLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNCLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzVCLENBQUM7WUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQWdCLElBQUksQ0FBQyxTQUFTO1FBQy9CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs4R0EvSVEsbUJBQW1CO2tHQUFuQixtQkFBbUIsNExBNkJSLGVBQWUsMEVBVWYsZUFBZSxrREFRZixlQUFlLDJEQVFmLHFCQUFxQiwrQ0FNckIscUJBQXFCOzsyRkE3RGhDLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQU80QyxhQUFhO3NCQUFyRCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFLbEIsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxZQUFZO2dCQUtOLFVBQVU7c0JBQXRCLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLaUMsU0FBUztzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSzVCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUYsWUFBWTtzQkFEZixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFTakMsWUFBWTtzQkFEZixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFRUSxlQUFlO3NCQUEzRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQU1NLFdBQVc7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSW5wdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgT25Jbml0LFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBUaHlPdmVybGF5RGlyZWN0aXZlQmFzZSwgVGh5T3ZlcmxheVRyaWdnZXIsIFRoeVBsYWNlbWVudCB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyIH0gZnJvbSAnLi9wb3BvdmVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlclJlZiB9IGZyb20gJy4vcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlckNvbmZpZyB9IGZyb20gJy4vcG9wb3Zlci5jb25maWcnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuLyoqXG4gKiDlvLnlh7rmgqzmta7lsYLmjIfku6RcbiAqIEBuYW1lIHRoeVBvcG92ZXJcbiAqIEBvcmRlciA1MFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlQb3BvdmVyXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlQb3BvdmVyRGlyZWN0aXZlIGV4dGVuZHMgVGh5T3ZlcmxheURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgICBwcml2YXRlIHBvcG92ZXIgPSBpbmplY3QoVGh5UG9wb3Zlcik7XG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXBvcG92ZXItb3BlbmVkYCkgcG9wb3Zlck9wZW5lZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5oKs5rWu57uE5Lu25oiW6ICF5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCd0aHlQb3BvdmVyJykgY29udGVudDogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuaCrOa1ruWxgueahOinpuWPkeaWueW8j1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlUcmlnZ2VyKHRyaWdnZXI6IFRoeU92ZXJsYXlUcmlnZ2VyKSB7XG4gICAgICAgIHRoaXMudHJpZ2dlciA9IHRyaWdnZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5by55Ye65oKs5rWu5bGC55qE5L2N572uXG4gICAgICogQHR5cGUgdG9wIHwgdG9wTGVmdCB8IHRvcFJpZ2h0IHwgYm90dG9tIHwgYm90dG9tTGVmdCB8IGJvdHRvbVJpZ2h0IHwgbGVmdCB8IGxlZnRUb3AgfCBsZWZ0Qm90dG9tIHwgcmlnaHQgfCAgcmlnaHRUb3AgfCByaWdodEJvdHRvbVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ2JvdHRvbSc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTlgY/np7vph49cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0aHlPZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTphY3nva5cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb25maWc6IFRoeVBvcG92ZXJDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrlu7bov5/ml7bpl7RcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlTaG93RGVsYXkodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnNob3dEZWxheSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmakOiXj+W7tui/n+aXtumXtFxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUhpZGVEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaGlkZURlbGF5ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5Yqo6YCC6YWN5YaF5a655Y+Y5YyW6YeN5paw6K6h566X5L2N572uXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5QXV0b0FkYXB0aXZlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbnpoHnlKjmiZPlvIDmgqzmta7lsYJcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHNldCB0aHlEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICAgICAgY29uc3QgcGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm0pO1xuICAgICAgICBjb25zdCBmb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcbiAgICAgICAgY29uc3Qgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgbmdab25lLCB0cnVlKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLnRyaWdnZXIgPT09ICdjbGljaycgfHwgdGhpcy50cmlnZ2VyID09PSAnZm9jdXMnLFxuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6IHRoaXMudGh5UGxhY2VtZW50LFxuICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy50aHlPZmZzZXQsXG4gICAgICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0aGlzLnRoeUF1dG9BZGFwdGl2ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMudGh5Q29uZmlnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKHRoaXMuY29udGVudCwgY29uZmlnKTtcblxuICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpO1xuICAgIH1cblxuICAgIHNob3coZGVsYXk6IG51bWJlciA9IHRoaXMuc2hvd0RlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICh0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAhPT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgZGVsYXkgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJPcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMuaGlkZURlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB9XG59XG4iXX0=
@@ -8,15 +8,12 @@ import { FlexibleConnectedPositionStrategy, Overlay, OverlayContainer, ViewportR
8
8
  import { Platform } from '@angular/cdk/platform';
9
9
  import { ComponentPortal } from '@angular/cdk/portal';
10
10
  import { DOCUMENT } from '@angular/common';
11
- import { Inject, Injectable, Injector, NgZone, Optional } from '@angular/core';
11
+ import { Injectable, Injector, NgZone, inject } from '@angular/core';
12
12
  import { ThyPopoverContainer } from './popover-container.component';
13
13
  import { ThyInternalPopoverRef, ThyPopoverRef } from './popover-ref';
14
14
  import { THY_POPOVER_DEFAULT_CONFIG, THY_POPOVER_DEFAULT_CONFIG_VALUE, THY_POPOVER_SCROLL_STRATEGY, ThyPopoverConfig } from './popover.config';
15
15
  import { popoverAbstractOverlayOptions } from './popover.options';
16
16
  import * as i0 from "@angular/core";
17
- import * as i1 from "@angular/cdk/overlay";
18
- import * as i2 from "@angular/cdk/platform";
19
- import * as i3 from "./popover.config";
20
17
  /**
21
18
  * @public
22
19
  * @order 10
@@ -101,16 +98,20 @@ export class ThyPopover extends ThyAbstractOverlayService {
101
98
  coerceElement(config.origin).classList.remove(...coerceArray(config.originActiveClass));
102
99
  }
103
100
  }
104
- constructor(overlay, injector, defaultConfig, scrollStrategy, ngZone, _viewportRuler, _document, _platform, _overlayContainer) {
101
+ constructor() {
102
+ const overlay = inject(Overlay);
103
+ const injector = inject(Injector);
104
+ const defaultConfig = inject(THY_POPOVER_DEFAULT_CONFIG, { optional: true });
105
+ const scrollStrategy = inject(THY_POPOVER_SCROLL_STRATEGY);
105
106
  super(popoverAbstractOverlayOptions, overlay, injector, {
106
107
  ...THY_POPOVER_DEFAULT_CONFIG_VALUE,
107
108
  ...defaultConfig
108
109
  }, scrollStrategy);
109
- this.ngZone = ngZone;
110
- this._viewportRuler = _viewportRuler;
111
- this._document = _document;
112
- this._platform = _platform;
113
- this._overlayContainer = _overlayContainer;
110
+ this.ngZone = inject(NgZone);
111
+ this._viewportRuler = inject(ViewportRuler);
112
+ this._document = inject(DOCUMENT, { optional: true });
113
+ this._platform = inject(Platform);
114
+ this._overlayContainer = inject(OverlayContainer);
114
115
  this.ngUnsubscribe$ = new Subject();
115
116
  this.originInstancesMap = new Map();
116
117
  }
@@ -191,23 +192,10 @@ export class ThyPopover extends ThyAbstractOverlayService {
191
192
  ngOnDestroy() {
192
193
  this.dispose();
193
194
  }
194
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopover, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: THY_POPOVER_DEFAULT_CONFIG, optional: true }, { token: THY_POPOVER_SCROLL_STRATEGY }, { token: i0.NgZone }, { token: i1.ViewportRuler }, { token: DOCUMENT, optional: true }, { token: i2.Platform }, { token: i1.OverlayContainer }], target: i0.ɵɵFactoryTarget.Injectable }); }
195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopover, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
195
196
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopover }); }
196
197
  }
197
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyPopover, decorators: [{
198
199
  type: Injectable
199
- }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i3.ThyPopoverConfig, decorators: [{
200
- type: Optional
201
- }, {
202
- type: Inject,
203
- args: [THY_POPOVER_DEFAULT_CONFIG]
204
- }] }, { type: undefined, decorators: [{
205
- type: Inject,
206
- args: [THY_POPOVER_SCROLL_STRATEGY]
207
- }] }, { type: i0.NgZone }, { type: i1.ViewportRuler }, { type: undefined, decorators: [{
208
- type: Optional
209
- }, {
210
- type: Inject,
211
- args: [DOCUMENT]
212
- }] }, { type: i2.Platform }, { type: i1.OverlayContainer }] });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsb0JBQW9CLEVBQXlCLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckksT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlDQUFpQyxFQUVqQyxPQUFPLEVBRVAsZ0JBQWdCLEVBSWhCLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQywyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ25CLE1BQU0sa0JBQWtCLENB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VTs7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVTs7MEJBaUhGLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCOzswQkFFakMsTUFBTTsyQkFBQywyQkFBMkI7OzBCQUlsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZiwgZ2V0RmxleGlibGVQb3NpdGlvbnMsIFRoeUFic3RyYWN0T3ZlcmxheVJlZiwgVGh5QWJzdHJhY3RPdmVybGF5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBGdW5jdGlvblByb3AsIGlzRnVuY3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgY29lcmNlRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5Q29uZmlnLFxuICAgIE92ZXJsYXlDb250YWluZXIsXG4gICAgT3ZlcmxheVJlZixcbiAgICBQb3NpdGlvblN0cmF0ZWd5LFxuICAgIFNjcm9sbFN0cmF0ZWd5LFxuICAgIFZpZXdwb3J0UnVsZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaHlQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSAnLi9wb3BvdmVyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5SW50ZXJuYWxQb3BvdmVyUmVmLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnLi9wb3BvdmVyLXJlZic7XG5pbXBvcnQge1xuICAgIFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHLFxuICAgIFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgIFRIWV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBUaHlQb3BvdmVyQ29uZmlnXG59IGZyb20gJy4vcG9wb3Zlci5jb25maWcnO1xuaW1wb3J0IHsgcG9wb3ZlckFic3RyYWN0T3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuL3BvcG92ZXIub3B0aW9ucyc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQG9yZGVyIDEwXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaHlQb3BvdmVyIGV4dGVuZHMgVGh5QWJzdHJhY3RPdmVybGF5U2VydmljZTxUaHlQb3BvdmVyQ29uZmlnLCBUaHlQb3BvdmVyQ29udGFpbmVyPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIG9yaWdpbkluc3RhbmNlc01hcCA9IG5ldyBNYXA8XG4gICAgICAgIEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudCxcbiAgICAgICAge1xuICAgICAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnO1xuICAgICAgICAgICAgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxhbnksIGFueT47XG4gICAgICAgIH1cbiAgICA+KCk7XG5cbiAgICBwcml2YXRlIGJ1aWxkUG9zaXRpb25TdHJhdGVneTxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBvcmlnaW46IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbiA9IGNvbmZpZy5vcmlnaW5Qb3NpdGlvbiA/IGNvbmZpZy5vcmlnaW5Qb3NpdGlvbiA6IGNvbmZpZy5vcmlnaW47XG4gICAgICAgIC8vIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbik7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBuZXcgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KFxuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgdGhpcy5fdmlld3BvcnRSdWxlcixcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICAgICAgdGhpcy5fcGxhdGZvcm0sXG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5Q29udGFpbmVyXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldEZsZXhpYmxlUG9zaXRpb25zKGNvbmZpZy5wbGFjZW1lbnQsIGNvbmZpZy5vZmZzZXQsICd0aHktcG9wb3ZlcicpO1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LndpdGhQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUHVzaChjb25maWcuY2FuUHVzaCk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcudGh5LXBvcG92ZXItY29udGFpbmVyJyk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoY2hhbmdlID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2Uuc2Nyb2xsYWJsZVZpZXdQcm9wZXJ0aWVzLmlzT3ZlcmxheUNsaXBwZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBwb3NpdGlvbiBjaGFuZ2VzIG9jY3VyIGFuZCB0aGUgb3ZlcmxheSBpcyBjbGlwcGVkIGJ5XG4gICAgICAgICAgICAgICAgLy8gYSBwYXJlbnQgc2Nyb2xsYWJsZSB0aGVuIGNsb3NlIHRoZSB0b29sdGlwLlxuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZyk6IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICAgICAgaWYgKGNvbmZpZy5zY3JvbGxTdHJhdGVneSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5zY3JvbGxTdHJhdGVneTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNjcm9sbFN0cmF0ZWd5ICYmIGlzRnVuY3Rpb24odGhpcy5zY3JvbGxTdHJhdGVneSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjcm9sbFN0cmF0ZWd5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkT3ZlcmxheUNvbmZpZzxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5idWlsZFBvc2l0aW9uU3RyYXRlZ3koY29uZmlnKTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuYnVpbGRCYXNlT3ZlcmxheUNvbmZpZyhjb25maWcsICd0aHktcG9wb3Zlci1wYW5lbCcpO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBvdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5idWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhdHRhY2hPdmVybGF5Q29udGFpbmVyKG92ZXJsYXk6IE92ZXJsYXlSZWYsIGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZzxhbnk+KTogVGh5UG9wb3ZlckNvbnRhaW5lciB7XG4gICAgICAgIGNvbnN0IHVzZXJJbmplY3RvciA9IGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGh5UG9wb3ZlckNvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUaHlQb3BvdmVyQ29udGFpbmVyLCBjb25maWcudmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWYgPSBvdmVybGF5LmF0dGFjaDxUaHlQb3BvdmVyQ29udGFpbmVyPihjb250YWluZXJQb3J0YWwpO1xuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBYnN0cmFjdE92ZXJsYXlSZWY8VCwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBjb250YWluZXJJbnN0YW5jZTogVGh5UG9wb3ZlckNvbnRhaW5lcixcbiAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnXG4gICAgKTogVGh5QWJzdHJhY3RPdmVybGF5UmVmPFQsIFRoeVBvcG92ZXJDb250YWluZXIsIFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaHlJbnRlcm5hbFBvcG92ZXJSZWYob3ZlcmxheVJlZiwgY29udGFpbmVySW5zdGFuY2UsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUluamVjdG9yPFQ+KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZywgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUPiwgcG9wb3ZlckNvbnRhaW5lcjogVGh5UG9wb3ZlckNvbnRhaW5lcik6IEluamVjdG9yIHtcbiAgICAgICAgY29uc3QgdXNlckluamVjdG9yID0gY29uZmlnICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yO1xuXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogVGh5UG9wb3ZlckNvbnRhaW5lciwgdXNlVmFsdWU6IHBvcG92ZXJDb250YWluZXIgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUaHlQb3BvdmVyUmVmLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBwb3BvdmVyUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5kaXJlY3Rpb24gJiYgKCF1c2VySW5qZWN0b3IgfHwgIXVzZXJJbmplY3Rvci5nZXQ8RGlyZWN0aW9uYWxpdHkgfCBudWxsPihEaXJlY3Rpb25hbGl0eSwgbnVsbCkpKSB7XG4gICAgICAgICAgICBpbmplY3Rpb25Ub2tlbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbmZpZy5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZTogb2YoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHBhcmVudDogdXNlckluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsIHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3JpZ2luRWxlbWVudEFkZEFjdGl2ZUNsYXNzKGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSB7XG4gICAgICAgICAgICBjb2VyY2VFbGVtZW50PEhUTUxFbGVtZW50Pihjb25maWcub3JpZ2luKS5jbGFzc0xpc3QuYWRkKC4uLmNvZXJjZUFycmF5KGNvbmZpZy5vcmlnaW5BY3RpdmVDbGFzcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcub3JpZ2luQWN0aXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNvZXJjZUVsZW1lbnQ8SFRNTEVsZW1lbnQ+KGNvbmZpZy5vcmlnaW4pLmNsYXNzTGlzdC5yZW1vdmUoLi4uY29lcmNlQXJyYXkoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHKVxuICAgICAgICBkZWZhdWx0Q29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnLFxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSlcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IEZ1bmN0aW9uUHJvcDxTY3JvbGxTdHJhdGVneT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheUNvbnRhaW5lcjogT3ZlcmxheUNvbnRhaW5lclxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zLFxuICAgICAgICAgICAgb3ZlcmxheSxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLlRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5zdXJlQ2xvc2VDbG9zZXN0KG9yaWdpbjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgbGV0IGNsb3NlQW5kRW5kID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5jb25maWcubWFudWFsQ2xvc3VyZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlQW5kRW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICBjbG9zZUFuZEVuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHVlLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjbG9zZUFuZEVuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDmgqzmta7lsYJcbiAgICAgKi9cbiAgICBvcGVuPFQsIFREYXRhID0gdW5rbm93biwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgY29uZmlnPzogVGh5UG9wb3ZlckNvbmZpZzxURGF0YT5cbiAgICApOiBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoY29uZmlnLm9yaWdpbik7XG4gICAgICAgIC8vIOm7mOiupOWFs+mXreS5i+WJjeeahOW8ueWHuuahhlxuICAgICAgICAvLyAxLiDlvZPkuYvliY3nmoQgUG9wb3ZlciDorr7nva4gbWFudWFsQ2xvc3VyZSDkuLogdHJ1ZSDml7YsIOW8ueWHuuWFtuS7liBQb3BvdmVyIOaXtuS4jeiHquWKqOWFs+mXrSBtYW51YWxDbG9zdXJlIOS4uiB0cnVlIOeahCBQb3BvdmVyXG4gICAgICAgIC8vIDIuIOW9k+WJjeeahCBPcmlnaW4g5a+55bqU55qEIFBvcG92ZXIg5bey57uP5by55Ye677yM5LiN566hIG1hbnVhbENsb3N1cmUg6K6+572u5Li65L2V77yM55u05o6l5YWz6Zet5bm26L+U5ZueXG4gICAgICAgIGlmICh0aGlzLmVuc3VyZUNsb3NlQ2xvc2VzdChvcmlnaW5FbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMub3Blbk92ZXJsYXk8VCwgVFJlc3VsdD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgY29uZmlnKSBhcyBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQsIFREYXRhPjtcbiAgICAgICAgY29uZmlnID0gcG9wb3ZlclJlZi5jb250YWluZXJJbnN0YW5jZS5jb25maWc7XG4gICAgICAgIHBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmRlbGV0ZShvcmlnaW5FbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50QWRkQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vcmlnaW5JbnN0YW5jZXNNYXAuc2V0KG9yaWdpbkVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIHBvcG92ZXJSZWZcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uSWTojrflj5bmiZPlvIDnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRQb3BvdmVyQnlJZChpZDogc3RyaW5nKTogVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWJzdHJhY3RPdmVybGF5QnlJZChpZCkgYXMgVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiOt+WPluW3sue7j+aJk+W8gOeahOaCrOa1ruWxglxuICAgICAqL1xuICAgIGdldE9wZW5lZFBvcG92ZXJzKCk6IFRoeVBvcG92ZXJSZWY8U2FmZUFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFic3RyYWN0T3ZlcmxheXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgRmluZHMgdGhlIGNsb3Nlc3QgVGh5UG9wb3ZlclJlZiB0byBhbiBlbGVtZW50IGJ5IGxvb2tpbmcgYXQgdGhlIERPTS5cbiAgICAgKiBAZGVzY3JpcHRpb24g6YCa6L+HIERvbSDlhYPntKDmn6Xmib7mnIDov5HlvLnlh7rnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRDbG9zZXN0UG9wb3ZlcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IFRoeVBvcG92ZXJSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQuY2xvc2VzdCgnLnRoeS1wb3BvdmVyLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQb3BvdmVyQnlJZChwYXJlbnQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWFs+mXreaCrOa1ruWxglxuICAgICAqL1xuICAgIGNsb3NlPFQ+KHJlc3VsdD86IFQsIGZvcmNlPzogYm9vbGVhbikge1xuICAgICAgICBzdXBlci5jbG9zZShyZXN1bHQsIGZvcmNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19
200
+ }], ctorParameters: () => [] });
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsb0JBQW9CLEVBQXlCLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckksT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlDQUFpQyxFQUVqQyxPQUFPLEVBRVAsZ0JBQWdCLEVBSWhCLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQTBDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZ0NBQWdDLEVBQ2hDLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDbkIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixP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LENBQUksTUFBVSxFQUFFLEtBQWU7UUFDaEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNQLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuQixDQUFDOzhHQTdOUSxVQUFVO2tIQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZiwgZ2V0RmxleGlibGVQb3NpdGlvbnMsIFRoeUFic3RyYWN0T3ZlcmxheVJlZiwgVGh5QWJzdHJhY3RPdmVybGF5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBGdW5jdGlvblByb3AsIGlzRnVuY3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgY29lcmNlRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5Q29uZmlnLFxuICAgIE92ZXJsYXlDb250YWluZXIsXG4gICAgT3ZlcmxheVJlZixcbiAgICBQb3NpdGlvblN0cmF0ZWd5LFxuICAgIFNjcm9sbFN0cmF0ZWd5LFxuICAgIFZpZXdwb3J0UnVsZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdab25lLCBPbkRlc3Ryb3ksIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRoeVBvcG92ZXJDb250YWluZXIgfSBmcm9tICcuL3BvcG92ZXItY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlJbnRlcm5hbFBvcG92ZXJSZWYsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICcuL3BvcG92ZXItcmVmJztcbmltcG9ydCB7XG4gICAgVEhZX1BPUE9WRVJfREVGQVVMVF9DT05GSUcsXG4gICAgVEhZX1BPUE9WRVJfREVGQVVMVF9DT05GSUdfVkFMVUUsXG4gICAgVEhZX1BPUE9WRVJfU0NST0xMX1NUUkFURUdZLFxuICAgIFRoeVBvcG92ZXJDb25maWdcbn0gZnJvbSAnLi9wb3BvdmVyLmNvbmZpZyc7XG5pbXBvcnQgeyBwb3BvdmVyQWJzdHJhY3RPdmVybGF5T3B0aW9ucyB9IGZyb20gJy4vcG9wb3Zlci5vcHRpb25zJztcbmltcG9ydCB7IFNhZmVBbnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAb3JkZXIgMTBcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoeVBvcG92ZXIgZXh0ZW5kcyBUaHlBYnN0cmFjdE92ZXJsYXlTZXJ2aWNlPFRoeVBvcG92ZXJDb25maWcsIFRoeVBvcG92ZXJDb250YWluZXI+IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXIgPSBpbmplY3QoVmlld3BvcnRSdWxlcik7XG4gICAgcHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQsIHsgb3B0aW9uYWw6IHRydWUgfSkhO1xuICAgIHByaXZhdGUgX3BsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtKTtcbiAgICBwcml2YXRlIF9vdmVybGF5Q29udGFpbmVyID0gaW5qZWN0KE92ZXJsYXlDb250YWluZXIpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIG9yaWdpbkluc3RhbmNlc01hcCA9IG5ldyBNYXA8XG4gICAgICAgIEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudCxcbiAgICAgICAge1xuICAgICAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnO1xuICAgICAgICAgICAgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxhbnksIGFueT47XG4gICAgICAgIH1cbiAgICA+KCk7XG5cbiAgICBwcml2YXRlIGJ1aWxkUG9zaXRpb25TdHJhdGVneTxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBvcmlnaW46IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbiA9IGNvbmZpZy5vcmlnaW5Qb3NpdGlvbiA/IGNvbmZpZy5vcmlnaW5Qb3NpdGlvbiA6IGNvbmZpZy5vcmlnaW47XG4gICAgICAgIC8vIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbik7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBuZXcgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KFxuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgdGhpcy5fdmlld3BvcnRSdWxlcixcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICAgICAgdGhpcy5fcGxhdGZvcm0sXG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5Q29udGFpbmVyXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldEZsZXhpYmxlUG9zaXRpb25zKGNvbmZpZy5wbGFjZW1lbnQsIGNvbmZpZy5vZmZzZXQsICd0aHktcG9wb3ZlcicpO1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LndpdGhQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUHVzaChjb25maWcuY2FuUHVzaCk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcudGh5LXBvcG92ZXItY29udGFpbmVyJyk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoY2hhbmdlID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2Uuc2Nyb2xsYWJsZVZpZXdQcm9wZXJ0aWVzLmlzT3ZlcmxheUNsaXBwZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBwb3NpdGlvbiBjaGFuZ2VzIG9jY3VyIGFuZCB0aGUgb3ZlcmxheSBpcyBjbGlwcGVkIGJ5XG4gICAgICAgICAgICAgICAgLy8gYSBwYXJlbnQgc2Nyb2xsYWJsZSB0aGVuIGNsb3NlIHRoZSB0b29sdGlwLlxuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZyk6IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICAgICAgaWYgKGNvbmZpZy5zY3JvbGxTdHJhdGVneSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5zY3JvbGxTdHJhdGVneTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNjcm9sbFN0cmF0ZWd5ICYmIGlzRnVuY3Rpb24odGhpcy5zY3JvbGxTdHJhdGVneSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjcm9sbFN0cmF0ZWd5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkT3ZlcmxheUNvbmZpZzxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5idWlsZFBvc2l0aW9uU3RyYXRlZ3koY29uZmlnKTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuYnVpbGRCYXNlT3ZlcmxheUNvbmZpZyhjb25maWcsICd0aHktcG9wb3Zlci1wYW5lbCcpO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBvdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5idWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhdHRhY2hPdmVybGF5Q29udGFpbmVyKG92ZXJsYXk6IE92ZXJsYXlSZWYsIGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZzxhbnk+KTogVGh5UG9wb3ZlckNvbnRhaW5lciB7XG4gICAgICAgIGNvbnN0IHVzZXJJbmplY3RvciA9IGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGh5UG9wb3ZlckNvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUaHlQb3BvdmVyQ29udGFpbmVyLCBjb25maWcudmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWYgPSBvdmVybGF5LmF0dGFjaDxUaHlQb3BvdmVyQ29udGFpbmVyPihjb250YWluZXJQb3J0YWwpO1xuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBYnN0cmFjdE92ZXJsYXlSZWY8VCwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBjb250YWluZXJJbnN0YW5jZTogVGh5UG9wb3ZlckNvbnRhaW5lcixcbiAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnXG4gICAgKTogVGh5QWJzdHJhY3RPdmVybGF5UmVmPFQsIFRoeVBvcG92ZXJDb250YWluZXIsIFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaHlJbnRlcm5hbFBvcG92ZXJSZWYob3ZlcmxheVJlZiwgY29udGFpbmVySW5zdGFuY2UsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUluamVjdG9yPFQ+KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZywgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUPiwgcG9wb3ZlckNvbnRhaW5lcjogVGh5UG9wb3ZlckNvbnRhaW5lcik6IEluamVjdG9yIHtcbiAgICAgICAgY29uc3QgdXNlckluamVjdG9yID0gY29uZmlnICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yO1xuXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogVGh5UG9wb3ZlckNvbnRhaW5lciwgdXNlVmFsdWU6IHBvcG92ZXJDb250YWluZXIgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUaHlQb3BvdmVyUmVmLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBwb3BvdmVyUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5kaXJlY3Rpb24gJiYgKCF1c2VySW5qZWN0b3IgfHwgIXVzZXJJbmplY3Rvci5nZXQ8RGlyZWN0aW9uYWxpdHkgfCBudWxsPihEaXJlY3Rpb25hbGl0eSwgbnVsbCkpKSB7XG4gICAgICAgICAgICBpbmplY3Rpb25Ub2tlbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbmZpZy5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZTogb2YoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHBhcmVudDogdXNlckluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsIHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3JpZ2luRWxlbWVudEFkZEFjdGl2ZUNsYXNzKGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSB7XG4gICAgICAgICAgICBjb2VyY2VFbGVtZW50PEhUTUxFbGVtZW50Pihjb25maWcub3JpZ2luKS5jbGFzc0xpc3QuYWRkKC4uLmNvZXJjZUFycmF5KGNvbmZpZy5vcmlnaW5BY3RpdmVDbGFzcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcub3JpZ2luQWN0aXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNvZXJjZUVsZW1lbnQ8SFRNTEVsZW1lbnQ+KGNvbmZpZy5vcmlnaW4pLmNsYXNzTGlzdC5yZW1vdmUoLi4uY29lcmNlQXJyYXkoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBkZWZhdWx0Q29uZmlnID0gaW5qZWN0KFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pITtcbiAgICAgICAgY29uc3Qgc2Nyb2xsU3RyYXRlZ3kgPSBpbmplY3Q8RnVuY3Rpb25Qcm9wPFNjcm9sbFN0cmF0ZWd5Pj4oVEhZX1BPUE9WRVJfU0NST0xMX1NUUkFURUdZKTtcblxuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zLFxuICAgICAgICAgICAgb3ZlcmxheSxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLlRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5zdXJlQ2xvc2VDbG9zZXN0KG9yaWdpbjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgbGV0IGNsb3NlQW5kRW5kID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5jb25maWcubWFudWFsQ2xvc3VyZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlQW5kRW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICBjbG9zZUFuZEVuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHVlLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjbG9zZUFuZEVuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDmgqzmta7lsYJcbiAgICAgKi9cbiAgICBvcGVuPFQsIFREYXRhID0gdW5rbm93biwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgY29uZmlnPzogVGh5UG9wb3ZlckNvbmZpZzxURGF0YT5cbiAgICApOiBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoY29uZmlnLm9yaWdpbik7XG4gICAgICAgIC8vIOm7mOiupOWFs+mXreS5i+WJjeeahOW8ueWHuuahhlxuICAgICAgICAvLyAxLiDlvZPkuYvliY3nmoQgUG9wb3ZlciDorr7nva4gbWFudWFsQ2xvc3VyZSDkuLogdHJ1ZSDml7YsIOW8ueWHuuWFtuS7liBQb3BvdmVyIOaXtuS4jeiHquWKqOWFs+mXrSBtYW51YWxDbG9zdXJlIOS4uiB0cnVlIOeahCBQb3BvdmVyXG4gICAgICAgIC8vIDIuIOW9k+WJjeeahCBPcmlnaW4g5a+55bqU55qEIFBvcG92ZXIg5bey57uP5by55Ye677yM5LiN566hIG1hbnVhbENsb3N1cmUg6K6+572u5Li65L2V77yM55u05o6l5YWz6Zet5bm26L+U5ZueXG4gICAgICAgIGlmICh0aGlzLmVuc3VyZUNsb3NlQ2xvc2VzdChvcmlnaW5FbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMub3Blbk92ZXJsYXk8VCwgVFJlc3VsdD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgY29uZmlnKSBhcyBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQsIFREYXRhPjtcbiAgICAgICAgY29uZmlnID0gcG9wb3ZlclJlZi5jb250YWluZXJJbnN0YW5jZS5jb25maWc7XG4gICAgICAgIHBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmRlbGV0ZShvcmlnaW5FbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50QWRkQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vcmlnaW5JbnN0YW5jZXNNYXAuc2V0KG9yaWdpbkVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIHBvcG92ZXJSZWZcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uSWTojrflj5bmiZPlvIDnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRQb3BvdmVyQnlJZChpZDogc3RyaW5nKTogVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWJzdHJhY3RPdmVybGF5QnlJZChpZCkgYXMgVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiOt+WPluW3sue7j+aJk+W8gOeahOaCrOa1ruWxglxuICAgICAqL1xuICAgIGdldE9wZW5lZFBvcG92ZXJzKCk6IFRoeVBvcG92ZXJSZWY8U2FmZUFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFic3RyYWN0T3ZlcmxheXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgRmluZHMgdGhlIGNsb3Nlc3QgVGh5UG9wb3ZlclJlZiB0byBhbiBlbGVtZW50IGJ5IGxvb2tpbmcgYXQgdGhlIERPTS5cbiAgICAgKiBAZGVzY3JpcHRpb24g6YCa6L+HIERvbSDlhYPntKDmn6Xmib7mnIDov5HlvLnlh7rnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRDbG9zZXN0UG9wb3ZlcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IFRoeVBvcG92ZXJSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQuY2xvc2VzdCgnLnRoeS1wb3BvdmVyLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQb3BvdmVyQnlJZChwYXJlbnQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWFs+mXreaCrOa1ruWxglxuICAgICAqL1xuICAgIGNsb3NlPFQ+KHJlc3VsdD86IFQsIGZvcmNlPzogYm9vbGVhbikge1xuICAgICAgICBzdXBlci5jbG9zZShyZXN1bHQsIGZvcmNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19