@ng-nest/ui 16.0.11 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/README.md +1 -1
  2. package/date-picker/date-range.component.d.ts +1 -1
  3. package/dialog/dialog.property.d.ts +1 -1
  4. package/drawer/drawer.property.d.ts +1 -1
  5. package/esm2022/affix/affix.component.mjs +6 -7
  6. package/esm2022/affix/affix.module.mjs +6 -7
  7. package/esm2022/affix/affix.property.mjs +5 -6
  8. package/esm2022/alert/alert.component.mjs +6 -7
  9. package/esm2022/alert/alert.module.mjs +6 -7
  10. package/esm2022/alert/alert.property.mjs +5 -6
  11. package/esm2022/anchor/anchor-inner.component.mjs +5 -6
  12. package/esm2022/anchor/anchor.component.mjs +6 -7
  13. package/esm2022/anchor/anchor.module.mjs +6 -7
  14. package/esm2022/anchor/anchor.property.mjs +9 -11
  15. package/esm2022/api/api.component.mjs +6 -7
  16. package/esm2022/api/api.module.mjs +6 -7
  17. package/esm2022/auto-complete/auto-complete-portal.component.mjs +6 -7
  18. package/esm2022/auto-complete/auto-complete.component.mjs +6 -7
  19. package/esm2022/auto-complete/auto-complete.module.mjs +6 -7
  20. package/esm2022/auto-complete/auto-complete.property.mjs +5 -6
  21. package/esm2022/avatar/avatar-group.component.mjs +6 -7
  22. package/esm2022/avatar/avatar.component.mjs +6 -7
  23. package/esm2022/avatar/avatar.module.mjs +6 -7
  24. package/esm2022/avatar/avatar.property.mjs +9 -11
  25. package/esm2022/back-top/back-top.component.mjs +6 -7
  26. package/esm2022/back-top/back-top.module.mjs +6 -7
  27. package/esm2022/back-top/back-top.property.mjs +5 -6
  28. package/esm2022/badge/badge.component.mjs +6 -7
  29. package/esm2022/badge/badge.module.mjs +6 -7
  30. package/esm2022/badge/badge.property.mjs +5 -6
  31. package/esm2022/base-form/base-form.component.mjs +5 -6
  32. package/esm2022/base-form/base-form.module.mjs +6 -7
  33. package/esm2022/base-form/base-form.property.mjs +5 -6
  34. package/esm2022/border/border.component.mjs +6 -7
  35. package/esm2022/border/border.module.mjs +6 -7
  36. package/esm2022/button/button.component.mjs +7 -8
  37. package/esm2022/button/button.module.mjs +6 -7
  38. package/esm2022/button/button.property.mjs +9 -11
  39. package/esm2022/button/buttons.component.mjs +6 -7
  40. package/esm2022/calendar/calendar.component.mjs +6 -7
  41. package/esm2022/calendar/calendar.module.mjs +6 -7
  42. package/esm2022/calendar/calendar.property.mjs +5 -6
  43. package/esm2022/card/card.component.mjs +6 -7
  44. package/esm2022/card/card.module.mjs +6 -7
  45. package/esm2022/card/card.property.mjs +5 -6
  46. package/esm2022/carousel/carousel-panel.component.mjs +7 -8
  47. package/esm2022/carousel/carousel.component.mjs +6 -7
  48. package/esm2022/carousel/carousel.module.mjs +6 -7
  49. package/esm2022/carousel/carousel.property.mjs +9 -11
  50. package/esm2022/cascade/cascade-portal.component.mjs +6 -7
  51. package/esm2022/cascade/cascade.component.mjs +6 -7
  52. package/esm2022/cascade/cascade.module.mjs +6 -7
  53. package/esm2022/cascade/cascade.property.mjs +5 -6
  54. package/esm2022/checkbox/checkbox.component.mjs +6 -7
  55. package/esm2022/checkbox/checkbox.module.mjs +6 -7
  56. package/esm2022/checkbox/checkbox.property.mjs +5 -6
  57. package/esm2022/collapse/collapse-panel.component.mjs +7 -8
  58. package/esm2022/collapse/collapse.component.mjs +6 -7
  59. package/esm2022/collapse/collapse.module.mjs +6 -7
  60. package/esm2022/collapse/collapse.property.mjs +9 -11
  61. package/esm2022/color/color.component.mjs +6 -7
  62. package/esm2022/color/color.module.mjs +6 -7
  63. package/esm2022/color/color.property.mjs +5 -6
  64. package/esm2022/color-picker/color-picker-portal.component.mjs +7 -8
  65. package/esm2022/color-picker/color-picker.component.mjs +6 -7
  66. package/esm2022/color-picker/color-picker.module.mjs +6 -7
  67. package/esm2022/color-picker/color-picker.property.mjs +5 -6
  68. package/esm2022/comment/comment-reply.component.mjs +6 -7
  69. package/esm2022/comment/comment.component.mjs +6 -7
  70. package/esm2022/comment/comment.module.mjs +6 -7
  71. package/esm2022/comment/comment.property.mjs +9 -11
  72. package/esm2022/container/aside.component.mjs +6 -7
  73. package/esm2022/container/container.component.mjs +6 -7
  74. package/esm2022/container/container.module.mjs +6 -7
  75. package/esm2022/container/container.property.mjs +17 -21
  76. package/esm2022/container/footer.component.mjs +7 -8
  77. package/esm2022/container/header.component.mjs +7 -8
  78. package/esm2022/container/main.component.mjs +6 -7
  79. package/esm2022/core/config/config.service.mjs +6 -7
  80. package/esm2022/core/services/http.service.mjs +6 -7
  81. package/esm2022/core/services/preloading-strategy.service.mjs +5 -6
  82. package/esm2022/core/services/reuse-strategy.service.mjs +2 -3
  83. package/esm2022/core/services/storage.service.mjs +6 -7
  84. package/esm2022/core/theme/theme.service.mjs +6 -7
  85. package/esm2022/crumb/crumb.component.mjs +6 -7
  86. package/esm2022/crumb/crumb.module.mjs +6 -7
  87. package/esm2022/crumb/crumb.property.mjs +5 -6
  88. package/esm2022/date-picker/date-picker-portal.component.mjs +6 -7
  89. package/esm2022/date-picker/date-picker.component.mjs +6 -7
  90. package/esm2022/date-picker/date-picker.module.mjs +6 -7
  91. package/esm2022/date-picker/date-picker.property.mjs +25 -31
  92. package/esm2022/date-picker/date-quarter.pipe.mjs +6 -7
  93. package/esm2022/date-picker/date-range-portal.component.mjs +6 -7
  94. package/esm2022/date-picker/date-range.component.mjs +6 -7
  95. package/esm2022/date-picker/picker-date.component.mjs +6 -7
  96. package/esm2022/date-picker/picker-month.component.mjs +6 -7
  97. package/esm2022/date-picker/picker-quarter.component.mjs +6 -7
  98. package/esm2022/date-picker/picker-year.component.mjs +6 -7
  99. package/esm2022/description/description-item.component.mjs +6 -7
  100. package/esm2022/description/description.component.mjs +6 -7
  101. package/esm2022/description/description.module.mjs +6 -7
  102. package/esm2022/description/description.property.mjs +9 -11
  103. package/esm2022/dialog/dialog-container.component.mjs +6 -7
  104. package/esm2022/dialog/dialog-portal.component.mjs +6 -7
  105. package/esm2022/dialog/dialog-portal.directives.mjs +31 -37
  106. package/esm2022/dialog/dialog.component.mjs +7 -8
  107. package/esm2022/dialog/dialog.module.mjs +6 -7
  108. package/esm2022/dialog/dialog.property.mjs +9 -11
  109. package/esm2022/dialog/dialog.service.mjs +6 -7
  110. package/esm2022/doc/doc.component.mjs +6 -7
  111. package/esm2022/doc/doc.module.mjs +6 -7
  112. package/esm2022/drag/drag.directive.mjs +6 -7
  113. package/esm2022/drag/drag.module.mjs +6 -7
  114. package/esm2022/drag/drag.property.mjs +5 -6
  115. package/esm2022/drawer/drawer-container.component.mjs +6 -7
  116. package/esm2022/drawer/drawer-portal.component.mjs +6 -7
  117. package/esm2022/drawer/drawer-portal.directives.mjs +15 -18
  118. package/esm2022/drawer/drawer.component.mjs +7 -8
  119. package/esm2022/drawer/drawer.module.mjs +6 -7
  120. package/esm2022/drawer/drawer.property.mjs +9 -11
  121. package/esm2022/drawer/drawer.service.mjs +6 -7
  122. package/esm2022/dropdown/dropdown-portal.component.mjs +6 -7
  123. package/esm2022/dropdown/dropdown.component.mjs +6 -7
  124. package/esm2022/dropdown/dropdown.module.mjs +6 -7
  125. package/esm2022/dropdown/dropdown.property.mjs +5 -6
  126. package/esm2022/empty/empty.component.mjs +6 -7
  127. package/esm2022/empty/empty.module.mjs +6 -7
  128. package/esm2022/empty/empty.property.mjs +5 -6
  129. package/esm2022/examples/examples.component.mjs +6 -7
  130. package/esm2022/examples/examples.module.mjs +6 -7
  131. package/esm2022/find/find.component.mjs +6 -7
  132. package/esm2022/find/find.module.mjs +6 -7
  133. package/esm2022/find/find.property.mjs +5 -6
  134. package/esm2022/form/control.component.mjs +6 -7
  135. package/esm2022/form/form.component.mjs +6 -7
  136. package/esm2022/form/form.module.mjs +6 -7
  137. package/esm2022/form/form.property.mjs +9 -11
  138. package/esm2022/highlight/highlight.component.mjs +7 -8
  139. package/esm2022/highlight/highlight.module.mjs +6 -7
  140. package/esm2022/highlight/highlight.property.mjs +5 -6
  141. package/esm2022/i18n/i18n.directive.mjs +6 -7
  142. package/esm2022/i18n/i18n.module.mjs +6 -7
  143. package/esm2022/i18n/i18n.pipe.mjs +6 -7
  144. package/esm2022/i18n/i18n.service.mjs +7 -8
  145. package/esm2022/icon/icon.component.mjs +6 -7
  146. package/esm2022/icon/icon.module.mjs +6 -7
  147. package/esm2022/icon/icon.property.mjs +5 -6
  148. package/esm2022/icon/icon.service.mjs +7 -8
  149. package/esm2022/image/image-group.component.mjs +5 -6
  150. package/esm2022/image/image-preview.component.mjs +7 -8
  151. package/esm2022/image/image.component.mjs +7 -8
  152. package/esm2022/image/image.module.mjs +6 -7
  153. package/esm2022/image/image.property.mjs +9 -11
  154. package/esm2022/inner/inner.component.mjs +6 -7
  155. package/esm2022/inner/inner.module.mjs +6 -7
  156. package/esm2022/inner/inner.property.mjs +5 -6
  157. package/esm2022/input/input-group.component.mjs +6 -7
  158. package/esm2022/input/input.component.mjs +7 -8
  159. package/esm2022/input/input.module.mjs +6 -7
  160. package/esm2022/input/input.property.mjs +9 -11
  161. package/esm2022/input-number/input-number.component.mjs +6 -7
  162. package/esm2022/input-number/input-number.module.mjs +6 -7
  163. package/esm2022/input-number/input-number.property.mjs +5 -6
  164. package/esm2022/keyword/keyword.directive.mjs +6 -7
  165. package/esm2022/keyword/keyword.module.mjs +6 -7
  166. package/esm2022/keyword/keyword.property.mjs +5 -6
  167. package/esm2022/layout/col.component.mjs +7 -8
  168. package/esm2022/layout/layout.module.mjs +6 -7
  169. package/esm2022/layout/layout.property.mjs +9 -11
  170. package/esm2022/layout/row.component.mjs +6 -7
  171. package/esm2022/link/link.component.mjs +6 -7
  172. package/esm2022/link/link.module.mjs +6 -7
  173. package/esm2022/link/link.property.mjs +5 -6
  174. package/esm2022/list/list-drop-group.directive.mjs +5 -6
  175. package/esm2022/list/list-option.component.mjs +6 -7
  176. package/esm2022/list/list.component.mjs +7 -8
  177. package/esm2022/list/list.module.mjs +6 -7
  178. package/esm2022/list/list.property.mjs +9 -11
  179. package/esm2022/loading/loading.component.mjs +6 -7
  180. package/esm2022/loading/loading.module.mjs +6 -7
  181. package/esm2022/loading/loading.property.mjs +5 -6
  182. package/esm2022/menu/menu-node.component.mjs +6 -7
  183. package/esm2022/menu/menu.component.mjs +6 -7
  184. package/esm2022/menu/menu.module.mjs +6 -7
  185. package/esm2022/menu/menu.property.mjs +9 -11
  186. package/esm2022/message/message.component.mjs +6 -7
  187. package/esm2022/message/message.module.mjs +6 -7
  188. package/esm2022/message/message.service.mjs +6 -7
  189. package/esm2022/message-box/message-box.component.mjs +6 -7
  190. package/esm2022/message-box/message-box.module.mjs +6 -7
  191. package/esm2022/message-box/message-box.service.mjs +6 -7
  192. package/esm2022/notification/notification.component.mjs +6 -7
  193. package/esm2022/notification/notification.module.mjs +6 -7
  194. package/esm2022/notification/notification.service.mjs +6 -7
  195. package/esm2022/outlet/outlet.directive.mjs +6 -7
  196. package/esm2022/outlet/outlet.module.mjs +6 -7
  197. package/esm2022/page-header/page-header.component.mjs +6 -7
  198. package/esm2022/page-header/page-header.module.mjs +6 -7
  199. package/esm2022/page-header/page-header.property.mjs +5 -6
  200. package/esm2022/pagination/pagination.component.mjs +6 -7
  201. package/esm2022/pagination/pagination.module.mjs +6 -7
  202. package/esm2022/pagination/pagination.property.mjs +5 -6
  203. package/esm2022/pattern/pattern.component.mjs +6 -7
  204. package/esm2022/pattern/pattern.module.mjs +6 -7
  205. package/esm2022/popconfirm/popconfirm.component.mjs +6 -7
  206. package/esm2022/popconfirm/popconfirm.module.mjs +6 -7
  207. package/esm2022/popconfirm/popconfirm.property.mjs +5 -6
  208. package/esm2022/popover/popover-portal.component.mjs +6 -7
  209. package/esm2022/popover/popover.directive.mjs +6 -7
  210. package/esm2022/popover/popover.module.mjs +6 -7
  211. package/esm2022/popover/popover.property.mjs +5 -6
  212. package/esm2022/portal/portal.module.mjs +6 -7
  213. package/esm2022/portal/portal.service.mjs +6 -7
  214. package/esm2022/progress/progress.component.mjs +6 -7
  215. package/esm2022/progress/progress.module.mjs +6 -7
  216. package/esm2022/progress/progress.property.mjs +5 -6
  217. package/esm2022/radio/radio.component.mjs +6 -7
  218. package/esm2022/radio/radio.module.mjs +6 -7
  219. package/esm2022/radio/radio.property.mjs +5 -6
  220. package/esm2022/rate/rate.component.mjs +6 -7
  221. package/esm2022/rate/rate.module.mjs +6 -7
  222. package/esm2022/rate/rate.property.mjs +5 -6
  223. package/esm2022/resizable/resizable.directive.mjs +6 -7
  224. package/esm2022/resizable/resizable.module.mjs +6 -7
  225. package/esm2022/resizable/resizable.property.mjs +5 -6
  226. package/esm2022/result/result.component.mjs +6 -7
  227. package/esm2022/result/result.module.mjs +6 -7
  228. package/esm2022/result/result.property.mjs +5 -6
  229. package/esm2022/ripple/ripple.directive.mjs +6 -7
  230. package/esm2022/ripple/ripple.module.mjs +6 -7
  231. package/esm2022/ripple/ripple.property.mjs +5 -6
  232. package/esm2022/select/select-portal.component.mjs +6 -7
  233. package/esm2022/select/select.component.mjs +6 -7
  234. package/esm2022/select/select.module.mjs +6 -7
  235. package/esm2022/select/select.property.mjs +5 -6
  236. package/esm2022/skeleton/skeleton.component.mjs +6 -7
  237. package/esm2022/skeleton/skeleton.module.mjs +6 -7
  238. package/esm2022/skeleton/skeleton.property.mjs +5 -6
  239. package/esm2022/slider/slider.component.mjs +6 -7
  240. package/esm2022/slider/slider.module.mjs +6 -7
  241. package/esm2022/slider/slider.property.mjs +5 -6
  242. package/esm2022/slider-select/slider-select.component.mjs +6 -7
  243. package/esm2022/slider-select/slider-select.module.mjs +6 -7
  244. package/esm2022/slider-select/slider-select.property.mjs +5 -6
  245. package/esm2022/statistic/countdown.component.mjs +6 -7
  246. package/esm2022/statistic/statistic.component.mjs +6 -7
  247. package/esm2022/statistic/statistic.module.mjs +6 -7
  248. package/esm2022/statistic/statistic.property.mjs +9 -11
  249. package/esm2022/steps/steps.component.mjs +6 -7
  250. package/esm2022/steps/steps.module.mjs +6 -7
  251. package/esm2022/steps/steps.property.mjs +5 -6
  252. package/esm2022/switch/switch.component.mjs +6 -7
  253. package/esm2022/switch/switch.module.mjs +6 -7
  254. package/esm2022/switch/switch.property.mjs +5 -6
  255. package/esm2022/table/table-body.component.mjs +6 -7
  256. package/esm2022/table/table-foot.component.mjs +6 -7
  257. package/esm2022/table/table-head.component.mjs +6 -7
  258. package/esm2022/table/table.component.mjs +6 -7
  259. package/esm2022/table/table.module.mjs +6 -7
  260. package/esm2022/table/table.property.mjs +17 -21
  261. package/esm2022/tabs/tab-content.component.mjs +6 -7
  262. package/esm2022/tabs/tab-link.directive.mjs +13 -15
  263. package/esm2022/tabs/tab.component.mjs +6 -7
  264. package/esm2022/tabs/tabs.component.mjs +7 -8
  265. package/esm2022/tabs/tabs.module.mjs +6 -7
  266. package/esm2022/tabs/tabs.property.mjs +9 -11
  267. package/esm2022/tag/tag.component.mjs +6 -7
  268. package/esm2022/tag/tag.module.mjs +6 -7
  269. package/esm2022/tag/tag.property.mjs +5 -6
  270. package/esm2022/text-retract/text-retract.component.mjs +6 -7
  271. package/esm2022/text-retract/text-retract.module.mjs +6 -7
  272. package/esm2022/text-retract/text-retract.property.mjs +5 -6
  273. package/esm2022/textarea/textarea.component.mjs +6 -7
  274. package/esm2022/textarea/textarea.module.mjs +6 -7
  275. package/esm2022/textarea/textarea.property.mjs +5 -6
  276. package/esm2022/theme/theme.component.mjs +6 -7
  277. package/esm2022/theme/theme.module.mjs +6 -7
  278. package/esm2022/theme/theme.property.mjs +5 -6
  279. package/esm2022/time-ago/time-ago.module.mjs +6 -7
  280. package/esm2022/time-ago/time-ago.pipe.mjs +6 -7
  281. package/esm2022/time-picker/time-picker-frame.component.mjs +6 -7
  282. package/esm2022/time-picker/time-picker-portal.component.mjs +6 -7
  283. package/esm2022/time-picker/time-picker.component.mjs +6 -7
  284. package/esm2022/time-picker/time-picker.module.mjs +6 -7
  285. package/esm2022/time-picker/time-picker.property.mjs +5 -6
  286. package/esm2022/time-range/time-range.module.mjs +6 -7
  287. package/esm2022/time-range/time-range.pipe.mjs +5 -6
  288. package/esm2022/timeline/timeline.component.mjs +6 -7
  289. package/esm2022/timeline/timeline.module.mjs +6 -7
  290. package/esm2022/timeline/timeline.property.mjs +5 -6
  291. package/esm2022/tooltip/tooltip-portal.component.mjs +6 -7
  292. package/esm2022/tooltip/tooltip.directive.mjs +6 -7
  293. package/esm2022/tooltip/tooltip.module.mjs +6 -7
  294. package/esm2022/tooltip/tooltip.property.mjs +5 -6
  295. package/esm2022/transfer/transfer.component.mjs +6 -7
  296. package/esm2022/transfer/transfer.module.mjs +6 -7
  297. package/esm2022/transfer/transfer.property.mjs +5 -6
  298. package/esm2022/tree/tree-node.component.mjs +6 -7
  299. package/esm2022/tree/tree.component.mjs +30 -14
  300. package/esm2022/tree/tree.module.mjs +6 -7
  301. package/esm2022/tree/tree.property.mjs +9 -11
  302. package/esm2022/tree/tree.service.mjs +5 -6
  303. package/esm2022/tree-file/tree-file.component.mjs +7 -8
  304. package/esm2022/tree-file/tree-file.module.mjs +6 -7
  305. package/esm2022/tree-file/tree-file.property.mjs +5 -6
  306. package/esm2022/tree-select/tree-select-portal.component.mjs +6 -7
  307. package/esm2022/tree-select/tree-select.component.mjs +6 -7
  308. package/esm2022/tree-select/tree-select.module.mjs +6 -7
  309. package/esm2022/tree-select/tree-select.property.mjs +5 -6
  310. package/esm2022/typography/typography.component.mjs +6 -7
  311. package/esm2022/typography/typography.module.mjs +6 -7
  312. package/esm2022/typography/typography.property.mjs +5 -6
  313. package/esm2022/upload/upload-portal.component.mjs +6 -7
  314. package/esm2022/upload/upload.component.mjs +7 -8
  315. package/esm2022/upload/upload.module.mjs +6 -7
  316. package/esm2022/upload/upload.property.mjs +5 -6
  317. package/fesm2022/ng-nest-ui-affix.mjs +11 -11
  318. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  319. package/fesm2022/ng-nest-ui-alert.mjs +11 -11
  320. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  321. package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
  322. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  323. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  324. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  325. package/fesm2022/ng-nest-ui-auto-complete.mjs +15 -15
  326. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  327. package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
  328. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  329. package/fesm2022/ng-nest-ui-back-top.mjs +12 -12
  330. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  331. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  332. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  333. package/fesm2022/ng-nest-ui-base-form.mjs +11 -11
  334. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  335. package/fesm2022/ng-nest-ui-border.mjs +8 -8
  336. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-button.mjs +20 -20
  338. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
  340. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  341. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  342. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-carousel.mjs +20 -20
  344. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-cascade.mjs +16 -16
  346. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  348. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-collapse.mjs +19 -19
  350. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-color-picker.mjs +16 -16
  352. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-color.mjs +12 -12
  354. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-comment.mjs +19 -19
  356. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-container.mjs +38 -38
  358. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-core.mjs +20 -20
  360. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  362. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-date-picker.mjs +58 -58
  364. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-description.mjs +18 -18
  366. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-dialog.mjs +51 -51
  368. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  370. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-drag.mjs +11 -11
  372. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-drawer.mjs +38 -38
  374. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-dropdown.mjs +16 -16
  376. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  378. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  380. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  382. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-form.mjs +18 -18
  384. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-highlight.mjs +13 -13
  386. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-i18n.mjs +17 -17
  388. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-icon.mjs +16 -16
  390. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-image.mjs +23 -23
  392. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  394. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  396. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-input.mjs +19 -19
  398. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-keyword.mjs +11 -11
  400. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-layout.mjs +19 -19
  402. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  404. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-list.mjs +22 -22
  406. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-loading.mjs +11 -11
  408. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-menu.mjs +18 -18
  410. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-message-box.mjs +13 -13
  412. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-message.mjs +12 -12
  414. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-notification.mjs +12 -12
  416. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
  418. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  420. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  422. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  424. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  426. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-popover.mjs +15 -15
  428. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-portal.mjs +8 -8
  430. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  432. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  434. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-rate.mjs +11 -11
  436. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-resizable.mjs +11 -11
  438. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  440. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
  442. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-select.mjs +15 -15
  444. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-skeleton.mjs +11 -11
  446. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -11
  448. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  450. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-statistic.mjs +19 -19
  452. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  454. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  456. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-table.mjs +32 -32
  458. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-tabs.mjs +33 -33
  460. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  462. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  464. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  466. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-theme.mjs +11 -11
  468. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
  470. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-time-picker.mjs +20 -20
  472. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  474. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  476. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-tooltip.mjs +15 -15
  478. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  480. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-tree-file.mjs +12 -12
  482. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-tree-select.mjs +15 -15
  484. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-tree.mjs +45 -28
  486. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  488. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  489. package/fesm2022/ng-nest-ui-upload.mjs +17 -17
  490. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  491. package/package.json +57 -57
@@ -1,7 +1,7 @@
1
1
  import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { XTypographyPrefix, XTypographyProperty } from './typography.property';
3
3
  import * as i0 from "@angular/core";
4
- class XTypographyComponent extends XTypographyProperty {
4
+ export class XTypographyComponent extends XTypographyProperty {
5
5
  constructor(renderer, elementRef) {
6
6
  super();
7
7
  this.renderer = renderer;
@@ -14,12 +14,11 @@ class XTypographyComponent extends XTypographyProperty {
14
14
  if (this.text && this.text.length > 0)
15
15
  this.firstText = this.text.slice(0, 1);
16
16
  }
17
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTypographyComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
18
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XTypographyComponent, selector: "x-typography", usesInheritance: true, ngImport: i0, template: "<h4>{{ font }}</h4>\r\n<div class=\"x-typography-list\">\r\n <div class=\"x-typography-item\">\r\n <h1>{{ firstText }}</h1>\r\n <p>\r\n <span>\u5E38\u89C4</span>\r\n <span class=\"x-typography-blod\">\u7C97\u4F53</span>\r\n </p>\r\n </div>\r\n <div class=\"x-typography-item\">\r\n <h1>Aa</h1>\r\n <p>\r\n <span>Regular</span>\r\n <span class=\"x-typography-blod\">Bold</span>\r\n </p>\r\n </div>\r\n</div>\r\n<p>{{ text }}</p>\r\n<p>abcdefghijklmnopqrstuvwxyz</p>\r\n<p>ABCDEFGHIJKLMNOPQRSTUVWXYZ</p>\r\n<p>1234567890.:,;'\"(!?)+-*/=</p>\r\n", styles: [".x-typography{margin:0;padding:0;color:var(--x-text)}.x-typography h4,.x-typography h1,.x-typography p{margin:0;font-size:.875rem;line-height:1.5rem}.x-typography>h4{color:var(--x-text-300);font-weight:500}.x-typography-list{display:flex;margin:.5rem 0}.x-typography-item{display:flex;margin:.5rem 0 0 3rem}.x-typography-item:first-child{margin-left:0}.x-typography-item>h1{color:var(--x-text);font-size:3.75rem;font-weight:600}.x-typography-item>p{display:flex;flex-direction:column;padding:.75rem 0;margin-left:1.5rem}.x-typography-item>p>span{margin-top:.25rem}.x-typography-item>p>span:first-child{margin-top:0}.x-typography-blod{font-weight:600}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
17
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XTypographyComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
18
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XTypographyComponent, selector: "x-typography", usesInheritance: true, ngImport: i0, template: "<h4>{{ font }}</h4>\r\n<div class=\"x-typography-list\">\r\n <div class=\"x-typography-item\">\r\n <h1>{{ firstText }}</h1>\r\n <p>\r\n <span>\u5E38\u89C4</span>\r\n <span class=\"x-typography-blod\">\u7C97\u4F53</span>\r\n </p>\r\n </div>\r\n <div class=\"x-typography-item\">\r\n <h1>Aa</h1>\r\n <p>\r\n <span>Regular</span>\r\n <span class=\"x-typography-blod\">Bold</span>\r\n </p>\r\n </div>\r\n</div>\r\n<p>{{ text }}</p>\r\n<p>abcdefghijklmnopqrstuvwxyz</p>\r\n<p>ABCDEFGHIJKLMNOPQRSTUVWXYZ</p>\r\n<p>1234567890.:,;'\"(!?)+-*/=</p>\r\n", styles: [".x-typography{margin:0;padding:0;color:var(--x-text)}.x-typography h4,.x-typography h1,.x-typography p{margin:0;font-size:.875rem;line-height:1.5rem}.x-typography>h4{color:var(--x-text-300);font-weight:500}.x-typography-list{display:flex;margin:.5rem 0}.x-typography-item{display:flex;margin:.5rem 0 0 3rem}.x-typography-item:first-child{margin-left:0}.x-typography-item>h1{color:var(--x-text);font-size:3.75rem;font-weight:600}.x-typography-item>p{display:flex;flex-direction:column;padding:.75rem 0;margin-left:1.5rem}.x-typography-item>p>span{margin-top:.25rem}.x-typography-item>p>span:first-child{margin-top:0}.x-typography-blod{font-weight:600}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
19
  }
20
- export { XTypographyComponent };
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTypographyComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XTypographyComponent, decorators: [{
22
21
  type: Component,
23
22
  args: [{ selector: 'x-typography', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<h4>{{ font }}</h4>\r\n<div class=\"x-typography-list\">\r\n <div class=\"x-typography-item\">\r\n <h1>{{ firstText }}</h1>\r\n <p>\r\n <span>\u5E38\u89C4</span>\r\n <span class=\"x-typography-blod\">\u7C97\u4F53</span>\r\n </p>\r\n </div>\r\n <div class=\"x-typography-item\">\r\n <h1>Aa</h1>\r\n <p>\r\n <span>Regular</span>\r\n <span class=\"x-typography-blod\">Bold</span>\r\n </p>\r\n </div>\r\n</div>\r\n<p>{{ text }}</p>\r\n<p>abcdefghijklmnopqrstuvwxyz</p>\r\n<p>ABCDEFGHIJKLMNOPQRSTUVWXYZ</p>\r\n<p>1234567890.:,;'\"(!?)+-*/=</p>\r\n", styles: [".x-typography{margin:0;padding:0;color:var(--x-text)}.x-typography h4,.x-typography h1,.x-typography p{margin:0;font-size:.875rem;line-height:1.5rem}.x-typography>h4{color:var(--x-text-300);font-weight:500}.x-typography-list{display:flex;margin:.5rem 0}.x-typography-item{display:flex;margin:.5rem 0 0 3rem}.x-typography-item:first-child{margin-left:0}.x-typography-item>h1{color:var(--x-text);font-size:3.75rem;font-weight:600}.x-typography-item>p{display:flex;flex-direction:column;padding:.75rem 0;margin-left:1.5rem}.x-typography-item>p>span{margin-top:.25rem}.x-typography-item>p>span:first-child{margin-top:0}.x-typography-blod{font-weight:600}\n"] }]
24
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwb2dyYXBoeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHlwb2dyYXBoeS90eXBvZ3JhcGh5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUUvRSxNQU9hLG9CQUFxQixTQUFRLG1CQUFtQjtJQUczRCxZQUFvQixRQUFtQixFQUFVLFVBQXNCO1FBQ3JFLEtBQUssRUFBRSxDQUFDO1FBRFUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFckUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9GLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztrSUFYVSxvQkFBb0I7c0hBQXBCLG9CQUFvQiwyRUNWakMsMGtCQXFCQTs7U0RYYSxvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFR5cG9ncmFwaHlQcmVmaXgsIFhUeXBvZ3JhcGh5UHJvcGVydHkgfSBmcm9tICcuL3R5cG9ncmFwaHkucHJvcGVydHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd4LXR5cG9ncmFwaHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90eXBvZ3JhcGh5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS9pbmRleC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFR5cG9ncmFwaHlDb21wb25lbnQgZXh0ZW5kcyBYVHlwb2dyYXBoeVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBmaXJzdFRleHQhOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgWFR5cG9ncmFwaHlQcmVmaXgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb250KSB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9udC1mYW1pbHknLCB0aGlzLmZvbnQpO1xyXG4gICAgaWYgKHRoaXMudGV4dCAmJiB0aGlzLnRleHQubGVuZ3RoID4gMCkgdGhpcy5maXJzdFRleHQgPSB0aGlzLnRleHQuc2xpY2UoMCwgMSk7XHJcbiAgfVxyXG59XHJcbiIsIjxoND57eyBmb250IH19PC9oND5cclxuPGRpdiBjbGFzcz1cIngtdHlwb2dyYXBoeS1saXN0XCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtdHlwb2dyYXBoeS1pdGVtXCI+XHJcbiAgICA8aDE+e3sgZmlyc3RUZXh0IH19PC9oMT5cclxuICAgIDxwPlxyXG4gICAgICA8c3Bhbj7luLjop4Q8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwieC10eXBvZ3JhcGh5LWJsb2RcIj7nspfkvZM8L3NwYW4+XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdHlwb2dyYXBoeS1pdGVtXCI+XHJcbiAgICA8aDE+QWE8L2gxPlxyXG4gICAgPHA+XHJcbiAgICAgIDxzcGFuPlJlZ3VsYXI8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwieC10eXBvZ3JhcGh5LWJsb2RcIj5Cb2xkPC9zcGFuPlxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPHA+e3sgdGV4dCB9fTwvcD5cclxuPHA+YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXo8L3A+XHJcbjxwPkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaPC9wPlxyXG48cD4xMjM0NTY3ODkwLjosOydcIighPykrLSovPTwvcD5cclxuIl19
23
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwb2dyYXBoeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90eXBvZ3JhcGh5L3R5cG9ncmFwaHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHlwb2dyYXBoeS90eXBvZ3JhcGh5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVMvRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBRzNELFlBQW9CLFFBQW1CLEVBQVUsVUFBc0I7UUFDckUsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUVyRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0YsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO2lJQVhVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLDJFQ1ZqQywwa0JBcUJBOzsyRkRYYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0UsY0FBYyxpQkFHVCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgUmVuZGVyZXIyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUeXBvZ3JhcGh5UHJlZml4LCBYVHlwb2dyYXBoeVByb3BlcnR5IH0gZnJvbSAnLi90eXBvZ3JhcGh5LnByb3BlcnR5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneC10eXBvZ3JhcGh5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHlwb2dyYXBoeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUvaW5kZXguc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUeXBvZ3JhcGh5Q29tcG9uZW50IGV4dGVuZHMgWFR5cG9ncmFwaHlQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZmlyc3RUZXh0ITogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFhUeXBvZ3JhcGh5UHJlZml4KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZm9udCkgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZvbnQtZmFtaWx5JywgdGhpcy5mb250KTtcclxuICAgIGlmICh0aGlzLnRleHQgJiYgdGhpcy50ZXh0Lmxlbmd0aCA+IDApIHRoaXMuZmlyc3RUZXh0ID0gdGhpcy50ZXh0LnNsaWNlKDAsIDEpO1xyXG4gIH1cclxufVxyXG4iLCI8aDQ+e3sgZm9udCB9fTwvaDQ+XHJcbjxkaXYgY2xhc3M9XCJ4LXR5cG9ncmFwaHktbGlzdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXR5cG9ncmFwaHktaXRlbVwiPlxyXG4gICAgPGgxPnt7IGZpcnN0VGV4dCB9fTwvaDE+XHJcbiAgICA8cD5cclxuICAgICAgPHNwYW4+5bi46KeEPC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIngtdHlwb2dyYXBoeS1ibG9kXCI+57KX5L2TPC9zcGFuPlxyXG4gICAgPC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXR5cG9ncmFwaHktaXRlbVwiPlxyXG4gICAgPGgxPkFhPC9oMT5cclxuICAgIDxwPlxyXG4gICAgICA8c3Bhbj5SZWd1bGFyPC9zcGFuPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIngtdHlwb2dyYXBoeS1ibG9kXCI+Qm9sZDwvc3Bhbj5cclxuICAgIDwvcD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxwPnt7IHRleHQgfX08L3A+XHJcbjxwPmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6PC9wPlxyXG48cD5BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjwvcD5cclxuPHA+MTIzNDU2Nzg5MC46LDsnXCIoIT8pKy0qLz08L3A+XHJcbiJdfQ==
@@ -3,13 +3,12 @@ import { CommonModule } from '@angular/common';
3
3
  import { XTypographyComponent } from './typography.component';
4
4
  import { XTypographyProperty } from './typography.property';
5
5
  import * as i0 from "@angular/core";
6
- class XTypographyModule {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTypographyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: XTypographyModule, declarations: [XTypographyComponent, XTypographyProperty], imports: [CommonModule], exports: [XTypographyComponent] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTypographyModule, imports: [CommonModule] }); }
6
+ export class XTypographyModule {
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XTypographyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XTypographyModule, declarations: [XTypographyComponent, XTypographyProperty], imports: [CommonModule], exports: [XTypographyComponent] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XTypographyModule, imports: [CommonModule] }); }
10
10
  }
11
- export { XTypographyModule };
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTypographyModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XTypographyModule, decorators: [{
13
12
  type: NgModule,
14
13
  args: [{
15
14
  declarations: [XTypographyComponent, XTypographyProperty],
@@ -17,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17
16
  imports: [CommonModule]
18
17
  }]
19
18
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwb2dyYXBoeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90eXBvZ3JhcGh5L3R5cG9ncmFwaHkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU1RCxNQUthLGlCQUFpQjtrSUFBakIsaUJBQWlCO21JQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLEVBQUUsbUJBQW1CLGFBRTlDLFlBQVksYUFEWixvQkFBb0I7bUlBR25CLGlCQUFpQixZQUZsQixZQUFZOztTQUVYLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLG1CQUFtQixDQUFDO29CQUN6RCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhUeXBvZ3JhcGh5Q29tcG9uZW50IH0gZnJvbSAnLi90eXBvZ3JhcGh5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhUeXBvZ3JhcGh5UHJvcGVydHkgfSBmcm9tICcuL3R5cG9ncmFwaHkucHJvcGVydHknO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtYVHlwb2dyYXBoeUNvbXBvbmVudCwgWFR5cG9ncmFwaHlQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hUeXBvZ3JhcGh5Q29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFR5cG9ncmFwaHlNb2R1bGUge31cclxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwb2dyYXBoeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90eXBvZ3JhcGh5L3R5cG9ncmFwaHkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU81RCxNQUFNLE9BQU8saUJBQWlCO2lJQUFqQixpQkFBaUI7a0lBQWpCLGlCQUFpQixpQkFKYixvQkFBb0IsRUFBRSxtQkFBbUIsYUFFOUMsWUFBWSxhQURaLG9CQUFvQjtrSUFHbkIsaUJBQWlCLFlBRmxCLFlBQVk7OzJGQUVYLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQztvQkFDekQsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYVHlwb2dyYXBoeUNvbXBvbmVudCB9IGZyb20gJy4vdHlwb2dyYXBoeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYVHlwb2dyYXBoeVByb3BlcnR5IH0gZnJvbSAnLi90eXBvZ3JhcGh5LnByb3BlcnR5JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbWFR5cG9ncmFwaHlDb21wb25lbnQsIFhUeXBvZ3JhcGh5UHJvcGVydHldLFxyXG4gIGV4cG9ydHM6IFtYVHlwb2dyYXBoeUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhUeXBvZ3JhcGh5TW9kdWxlIHt9XHJcbiJdfQ==
@@ -10,7 +10,7 @@ export const XTypographyPrefix = 'x-typography';
10
10
  /**
11
11
  * Typography Property
12
12
  */
13
- class XTypographyProperty extends XProperty {
13
+ export class XTypographyProperty extends XProperty {
14
14
  constructor() {
15
15
  super(...arguments);
16
16
  /**
@@ -19,11 +19,10 @@ class XTypographyProperty extends XProperty {
19
19
  */
20
20
  this.font = 'Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif';
21
21
  }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTypographyProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XTypographyProperty, selector: "x-typography-property", inputs: { font: "font", text: "text" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XTypographyProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XTypographyProperty, selector: "x-typography-property", inputs: { font: "font", text: "text" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
24
24
  }
25
- export { XTypographyProperty };
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XTypographyProperty, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XTypographyProperty, decorators: [{
27
26
  type: Component,
28
27
  args: [{ selector: `${XTypographyPrefix}-property`, template: '' }]
29
28
  }], propDecorators: { font: [{
@@ -31,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
31
30
  }], text: [{
32
31
  type: Input
33
32
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwb2dyYXBoeS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3R5cG9ncmFwaHkvdHlwb2dyYXBoeS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxNQUNhLG1CQUFvQixTQUFRLFNBQVM7SUFEbEQ7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFXLHlGQUF5RixDQUFDO0tBTW5IO2tJQVhZLG1CQUFtQjtzSEFBbkIsbUJBQW1CLDRIQURrQyxFQUFFOztTQUN2RCxtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLGlCQUFpQixXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNM0QsSUFBSTtzQkFBWixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhQcm9wZXJ0eSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVHlwb2dyYXBoeVxyXG4gKiBAc2VsZWN0b3IgeC10eXBvZ3JhcGh5XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFR5cG9ncmFwaHlQcmVmaXggPSAneC10eXBvZ3JhcGh5JztcclxuXHJcbi8qKlxyXG4gKiBUeXBvZ3JhcGh5IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hUeXBvZ3JhcGh5UHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFR5cG9ncmFwaHlQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWtl+S9k1xyXG4gICAqIEBlbl9VUyBGb250XHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9udDogc3RyaW5nID0gJ0hlbHZldGljYSBOZXVlLEhlbHZldGljYSxQaW5nRmFuZyBTQyxIaXJhZ2lubyBTYW5zIEdCLE1pY3Jvc29mdCBZYUhlaSxTaW1TdW4sc2Fucy1zZXJpZic7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaWh+Wtl1xyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHRleHRcclxuICAgKi9cclxuICBASW5wdXQoKSB0ZXh0Pzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwb2dyYXBoeS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3R5cG9ncmFwaHkvdHlwb2dyYXBoeS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFFaEQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUztJQURsRDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQVcseUZBQXlGLENBQUM7S0FNbkg7aUlBWFksbUJBQW1CO3FIQUFuQixtQkFBbUIsNEhBRGtDLEVBQUU7OzJGQUN2RCxtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxpQkFBaUIsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTTNELElBQUk7c0JBQVosS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYUHJvcGVydHkgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFR5cG9ncmFwaHlcclxuICogQHNlbGVjdG9yIHgtdHlwb2dyYXBoeVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUeXBvZ3JhcGh5UHJlZml4ID0gJ3gtdHlwb2dyYXBoeSc7XHJcblxyXG4vKipcclxuICogVHlwb2dyYXBoeSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHNlbGVjdG9yOiBgJHtYVHlwb2dyYXBoeVByZWZpeH0tcHJvcGVydHlgLCB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUeXBvZ3JhcGh5UHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrZfkvZNcclxuICAgKiBAZW5fVVMgRm9udFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvbnQ6IHN0cmluZyA9ICdIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2EsUGluZ0ZhbmcgU0MsSGlyYWdpbm8gU2FucyBHQixNaWNyb3NvZnQgWWFIZWksU2ltU3VuLHNhbnMtc2VyaWYnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrmloflrZdcclxuICAgKiBAZW5fVVMgRGlzcGxheSB0ZXh0XHJcbiAgICovXHJcbiAgQElucHV0KCkgdGV4dD86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -6,7 +6,7 @@ import { XClamp } from '@ng-nest/ui/core';
6
6
  import { XUploadPortalPrefix } from './upload.property';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@ng-nest/ui/icon";
9
- class XUploadPortalComponent {
9
+ export class XUploadPortalComponent {
10
10
  constructor(renderer, cdr) {
11
11
  this.renderer = renderer;
12
12
  this.cdr = cdr;
@@ -178,14 +178,13 @@ class XUploadPortalComponent {
178
178
  });
179
179
  };
180
180
  }
181
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XUploadPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
182
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XUploadPortalComponent, selector: "x-upload-portal", viewQueries: [{ propertyName: "imgRef", first: true, predicate: ["imgRef"], descendants: true }, { propertyName: "imgClipRef", first: true, predicate: ["imgClipRef"], descendants: true }, { propertyName: "boundaryRef", first: true, predicate: ["boundaryRef"], descendants: true }, { propertyName: "cutRef", first: true, predicate: ["cutRef"], descendants: true }], ngImport: i0, template: "<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file?.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file?.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n", styles: ["x-upload-portal{width:100%;height:100%}.x-upload-portal{margin:0;padding:0;display:flex;position:relative;width:100%;height:100%;flex-direction:column}.x-upload-portal-tools{width:100%;height:3.25rem;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:1;color:#fff}.x-upload-portal-bottom-tools{width:100%;height:3.25rem;position:absolute;display:flex;justify-content:center;align-items:center;z-index:1;color:#fff;bottom:0}.x-upload-portal-title{display:flex;align-items:center;margin:0 1rem}.x-upload-portal-title>x-icon{font-size:1.25rem}.x-upload-portal-title>span{margin-left:.5rem}.x-upload-portal-close{font-size:1.75rem;padding:0 1rem;color:#fffc;transition:color var(--x-animation-duration-base);cursor:pointer}.x-upload-portal-close:hover{color:#fff}.x-upload-portal-img{flex:1;width:100%;position:relative;overflow:auto}.x-upload-portal-full-img{max-width:85%;max-height:85%;width:auto;height:auto;position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.x-upload-portal-clip-img{position:absolute}.x-upload-portal-ready .x-upload-portal-full-img{max-width:inherit;max-height:inherit}.x-upload-portal-boundary{width:0;height:0;left:50%;top:50%;transform:translate3d(-50%,-50%,0);position:relative;background-color:#00000080}.x-upload-portal-cut{width:0;height:0;border:.125rem var(--x-border-style) rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;position:relative;cursor:move}.x-upload-portal-cut-top-start,.x-upload-portal-cut-top,.x-upload-portal-cut-top-end,.x-upload-portal-cut-left,.x-upload-portal-cut-right,.x-upload-portal-cut-bottom-start,.x-upload-portal-cut-bottom,.x-upload-portal-cut-bottom-end{width:.825rem;height:.825rem;background:rgb(255,255,255);position:absolute;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-upload-portal-cut-top-start{top:-.4125rem;left:-.4125rem;cursor:se-resize}.x-upload-portal-cut-top{top:-.4125rem;cursor:s-resize}.x-upload-portal-cut-top-end{top:-.4125rem;right:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-left{left:-.4125rem;cursor:w-resize}.x-upload-portal-cut-right{right:-.4125rem;cursor:w-resize}.x-upload-portal-cut-bottom-start{left:-.4125rem;bottom:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-bottom{bottom:-.4125rem;cursor:s-resize}.x-upload-portal-cut-bottom-end{right:-.4125rem;bottom:-.4125rem;cursor:se-resize}.x-upload-portal-top-start{cursor:se-resize}.x-upload-portal-top{cursor:s-resize}.x-upload-portal-top-end{cursor:ne-resize}.x-upload-portal-left,.x-upload-portal-right{cursor:w-resize}.x-upload-portal-bottom-start{cursor:ne-resize}.x-upload-portal-bottom{cursor:s-resize}.x-upload-portal-bottom-end{cursor:se-resize}\n"], dependencies: [{ kind: "component", type: i1.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
181
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XUploadPortalComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
182
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XUploadPortalComponent, selector: "x-upload-portal", viewQueries: [{ propertyName: "imgRef", first: true, predicate: ["imgRef"], descendants: true }, { propertyName: "imgClipRef", first: true, predicate: ["imgClipRef"], descendants: true }, { propertyName: "boundaryRef", first: true, predicate: ["boundaryRef"], descendants: true }, { propertyName: "cutRef", first: true, predicate: ["cutRef"], descendants: true }], ngImport: i0, template: "<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file?.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file?.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n", styles: ["x-upload-portal{width:100%;height:100%}.x-upload-portal{margin:0;padding:0;display:flex;position:relative;width:100%;height:100%;flex-direction:column}.x-upload-portal-tools{width:100%;height:3.25rem;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:1;color:#fff}.x-upload-portal-bottom-tools{width:100%;height:3.25rem;position:absolute;display:flex;justify-content:center;align-items:center;z-index:1;color:#fff;bottom:0}.x-upload-portal-title{display:flex;align-items:center;margin:0 1rem}.x-upload-portal-title>x-icon{font-size:1.25rem}.x-upload-portal-title>span{margin-left:.5rem}.x-upload-portal-close{font-size:1.75rem;padding:0 1rem;color:#fffc;transition:color var(--x-animation-duration-base);cursor:pointer}.x-upload-portal-close:hover{color:#fff}.x-upload-portal-img{flex:1;width:100%;position:relative;overflow:auto}.x-upload-portal-full-img{max-width:85%;max-height:85%;width:auto;height:auto;position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.x-upload-portal-clip-img{position:absolute}.x-upload-portal-ready .x-upload-portal-full-img{max-width:inherit;max-height:inherit}.x-upload-portal-boundary{width:0;height:0;left:50%;top:50%;transform:translate3d(-50%,-50%,0);position:relative;background-color:#00000080}.x-upload-portal-cut{width:0;height:0;border:.125rem var(--x-border-style) rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;position:relative;cursor:move}.x-upload-portal-cut-top-start,.x-upload-portal-cut-top,.x-upload-portal-cut-top-end,.x-upload-portal-cut-left,.x-upload-portal-cut-right,.x-upload-portal-cut-bottom-start,.x-upload-portal-cut-bottom,.x-upload-portal-cut-bottom-end{width:.825rem;height:.825rem;background:rgb(255,255,255);position:absolute;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-upload-portal-cut-top-start{top:-.4125rem;left:-.4125rem;cursor:se-resize}.x-upload-portal-cut-top{top:-.4125rem;cursor:s-resize}.x-upload-portal-cut-top-end{top:-.4125rem;right:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-left{left:-.4125rem;cursor:w-resize}.x-upload-portal-cut-right{right:-.4125rem;cursor:w-resize}.x-upload-portal-cut-bottom-start{left:-.4125rem;bottom:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-bottom{bottom:-.4125rem;cursor:s-resize}.x-upload-portal-cut-bottom-end{right:-.4125rem;bottom:-.4125rem;cursor:se-resize}.x-upload-portal-top-start{cursor:se-resize}.x-upload-portal-top{cursor:s-resize}.x-upload-portal-top-end{cursor:ne-resize}.x-upload-portal-left,.x-upload-portal-right{cursor:w-resize}.x-upload-portal-bottom-start{cursor:ne-resize}.x-upload-portal-bottom{cursor:s-resize}.x-upload-portal-bottom-end{cursor:se-resize}\n"], dependencies: [{ kind: "component", type: i1.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
183
183
  }
184
- export { XUploadPortalComponent };
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XUploadPortalComponent, decorators: [{
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XUploadPortalComponent, decorators: [{
186
185
  type: Component,
187
186
  args: [{ selector: `${XUploadPortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-upload-portal {{ cutType }}\" [class.x-upload-portal-ready]=\"ready\">\r\n <div class=\"x-upload-portal-tools\">\r\n <div class=\"x-upload-portal-title\">\r\n <x-icon type=\"fto-image\"></x-icon>\r\n <span>{{ file?.name }}</span>\r\n </div>\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-x\" (click)=\"closePortal()\"></x-icon>\r\n </div>\r\n <div class=\"x-upload-portal-img\">\r\n <img #imgRef class=\"x-upload-portal-full-img\" [src]=\"file?.url\" />\r\n <div #boundaryRef class=\"x-upload-portal-boundary\">\r\n <img #imgClipRef class=\"x-upload-portal-clip-img\" [src]=\"file?.url\" />\r\n <div #cutRef class=\"x-upload-portal-cut\">\r\n <div class=\"x-upload-portal-cut-top-start\"></div>\r\n <div class=\"x-upload-portal-cut-top\"></div>\r\n <div class=\"x-upload-portal-cut-top-end\"></div>\r\n <div class=\"x-upload-portal-cut-left\"></div>\r\n <div class=\"x-upload-portal-cut-right\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-start\"></div>\r\n <div class=\"x-upload-portal-cut-bottom\"></div>\r\n <div class=\"x-upload-portal-cut-bottom-end\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"x-upload-portal-bottom-tools\">\r\n <x-icon class=\"x-upload-portal-close\" type=\"fto-check\" (click)=\"sure()\"></x-icon>\r\n </div>\r\n</div>\r\n", styles: ["x-upload-portal{width:100%;height:100%}.x-upload-portal{margin:0;padding:0;display:flex;position:relative;width:100%;height:100%;flex-direction:column}.x-upload-portal-tools{width:100%;height:3.25rem;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:1;color:#fff}.x-upload-portal-bottom-tools{width:100%;height:3.25rem;position:absolute;display:flex;justify-content:center;align-items:center;z-index:1;color:#fff;bottom:0}.x-upload-portal-title{display:flex;align-items:center;margin:0 1rem}.x-upload-portal-title>x-icon{font-size:1.25rem}.x-upload-portal-title>span{margin-left:.5rem}.x-upload-portal-close{font-size:1.75rem;padding:0 1rem;color:#fffc;transition:color var(--x-animation-duration-base);cursor:pointer}.x-upload-portal-close:hover{color:#fff}.x-upload-portal-img{flex:1;width:100%;position:relative;overflow:auto}.x-upload-portal-full-img{max-width:85%;max-height:85%;width:auto;height:auto;position:absolute;left:50%;top:50%;transform:translate3d(-50%,-50%,0)}.x-upload-portal-clip-img{position:absolute}.x-upload-portal-ready .x-upload-portal-full-img{max-width:inherit;max-height:inherit}.x-upload-portal-boundary{width:0;height:0;left:50%;top:50%;transform:translate3d(-50%,-50%,0);position:relative;background-color:#00000080}.x-upload-portal-cut{width:0;height:0;border:.125rem var(--x-border-style) rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;position:relative;cursor:move}.x-upload-portal-cut-top-start,.x-upload-portal-cut-top,.x-upload-portal-cut-top-end,.x-upload-portal-cut-left,.x-upload-portal-cut-right,.x-upload-portal-cut-bottom-start,.x-upload-portal-cut-bottom,.x-upload-portal-cut-bottom-end{width:.825rem;height:.825rem;background:rgb(255,255,255);position:absolute;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-upload-portal-cut-top-start{top:-.4125rem;left:-.4125rem;cursor:se-resize}.x-upload-portal-cut-top{top:-.4125rem;cursor:s-resize}.x-upload-portal-cut-top-end{top:-.4125rem;right:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-left{left:-.4125rem;cursor:w-resize}.x-upload-portal-cut-right{right:-.4125rem;cursor:w-resize}.x-upload-portal-cut-bottom-start{left:-.4125rem;bottom:-.4125rem;cursor:ne-resize}.x-upload-portal-cut-bottom{bottom:-.4125rem;cursor:s-resize}.x-upload-portal-cut-bottom-end{right:-.4125rem;bottom:-.4125rem;cursor:se-resize}.x-upload-portal-top-start{cursor:se-resize}.x-upload-portal-top{cursor:s-resize}.x-upload-portal-top-end{cursor:ne-resize}.x-upload-portal-left,.x-upload-portal-right{cursor:w-resize}.x-upload-portal-bottom-start{cursor:ne-resize}.x-upload-portal-bottom{cursor:s-resize}.x-upload-portal-bottom-end{cursor:se-resize}\n"] }]
188
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { imgRef: [{
187
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { imgRef: [{
189
188
  type: ViewChild,
190
189
  args: ['imgRef']
191
190
  }], imgClipRef: [{
@@ -198,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
198
197
  type: ViewChild,
199
198
  args: ['cutRef']
200
199
  }] } });
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUVyRixNQU9hLHNCQUFzQjtJQXFDakMsWUFBb0IsUUFBbUIsRUFBVSxHQUFzQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEvQnZFLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUM3QixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsaUJBQVksR0FBRztZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO1FBQ0YsZ0JBQVcsR0FBRztZQUNaLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO1FBQ0YsV0FBTSxHQUFHO1lBQ1AsS0FBSyxFQUFFLENBQUM7WUFDUixN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QUFHLFdBQVcsQ0FBQztRQUM5QixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNoQixPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDM0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQVksQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7SUFDSixDQUFDO2tJQTNNVSxzQkFBc0I7c0hBQXRCLHNCQUFzQixvYUN2Qm5DLDAzQ0E0QkE7O1NETGEsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsR0FBRyxtQkFBbUIsRUFBRSxpQkFHbkIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtnSUFJMUIsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNNLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDRyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0gsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgaW5qZWN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhDbGFtcCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYVXBsb2FkQ3V0VHlwZSwgWFVwbG9hZE5vZGUsIFhVcGxvYWRQb3J0YWxQcmVmaXggfSBmcm9tICcuL3VwbG9hZC5wcm9wZXJ0eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFVwbG9hZFBvcnRhbFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtcG9ydGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91cGxvYWQtcG9ydGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFVwbG9hZFBvcnRhbENvbXBvbmVudCB7XHJcbiAgZmlsZT86IFhVcGxvYWROb2RlO1xyXG4gIEBWaWV3Q2hpbGQoJ2ltZ1JlZicpIGltZ1JlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2ltZ0NsaXBSZWYnKSBpbWdDbGlwUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnYm91bmRhcnlSZWYnKSBib3VuZGFyeVJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2N1dFJlZicpIGN1dFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIHJlYWR5ID0gZmFsc2U7XHJcbiAgY3V0VHlwZTogWFVwbG9hZEN1dFR5cGUgPSAnJztcclxuICBwcm9wb3J0aW9uID0gMTtcclxuICBvcmlnaW5hbFNpemUgPSB7XHJcbiAgICB3aWR0aDogMCxcclxuICAgIGhlaWdodDogMFxyXG4gIH07XHJcbiAgYm91bmRhcnlCb3ggPSB7XHJcbiAgICB3aWR0aDogMCxcclxuICAgIGhlaWdodDogMFxyXG4gIH07XHJcbiAgY3V0Qm94ID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDAsXHJcbiAgICB4OiAwLFxyXG4gICAgeTogMFxyXG4gIH07XHJcbiAgY2xpcFJlY3QhOiB7XHJcbiAgICB0b3A6IG51bWJlcjtcclxuICAgIHJpZ2h0OiBudW1iZXI7XHJcbiAgICBib3R0b206IG51bWJlcjtcclxuICAgIGxlZnQ6IG51bWJlcjtcclxuICB9O1xyXG5cclxuICBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG5cclxuICBjbG9zZVBvcnRhbCE6ICgpID0+IHZvaWQ7XHJcbiAgZGVzdHJveVBvcnRhbCE6ICgpID0+IHZvaWQ7XHJcbiAgc3VyZVBvcnRhbCE6IChibG9iOiBCbG9iKSA9PiB2b2lkO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q3V0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldEN1dCgpIHtcclxuICAgIGxldCB3aWR0aCA9IHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJvdW5kYXJ5UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdDbGlwUmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMuY3V0Qm94LndpZHRoID0gd2lkdGg7XHJcbiAgICB0aGlzLmN1dEJveC5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICB0aGlzLmJvdW5kYXJ5Qm94ID0geyB3aWR0aCwgaGVpZ2h0IH07XHJcbiAgICB0aGlzLmNsaXBSZWN0ID0ge1xyXG4gICAgICB0b3A6IDAsXHJcbiAgICAgIHJpZ2h0OiB3aWR0aCxcclxuICAgICAgYm90dG9tOiBoZWlnaHQsXHJcbiAgICAgIGxlZnQ6IDBcclxuICAgIH07XHJcbiAgICB0aGlzLnNldE9yaWdpbmFsU2l6ZSgpO1xyXG4gICAgdGhpcy5yZWFkeSA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgY29uc3QgbW91c2VEb3duID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKTtcclxuXHJcbiAgICBtb3VzZURvd24uc3Vic2NyaWJlKChkb3duTWU6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgbGV0IHggPSBkb3duTWUucGFnZVg7XHJcbiAgICAgIGxldCB5ID0gZG93bk1lLnBhZ2VZO1xyXG4gICAgICBsZXQgb2Zmc2V0WCA9IDA7XHJcbiAgICAgIGxldCBvZmZzZXRZID0gMDtcclxuICAgICAgY29uc3QgX3VuU3ViID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgICAgbGV0IGNsYXNzTmFtZSA9IChkb3duTWUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50KS5jbGFzc05hbWU7XHJcbiAgICAgIGNvbnN0IHNwdCA9IGAke1hVcGxvYWRQb3J0YWxQcmVmaXh9LWN1dC1gO1xyXG4gICAgICBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKHNwdCkpIHtcclxuICAgICAgICB0aGlzLmN1dFR5cGUgPSBjbGFzc05hbWUucmVwbGFjZShzcHQsICcnKSBhcyBYVXBsb2FkQ3V0VHlwZTtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ21vdXNlbW92ZScpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobW92ZU1lOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBvZmZzZXRYID0gbW92ZU1lLnBhZ2VYIC0geDtcclxuICAgICAgICAgIG9mZnNldFkgPSBtb3ZlTWUucGFnZVkgLSB5O1xyXG4gICAgICAgICAgeCA9IG1vdmVNZS5wYWdlWDtcclxuICAgICAgICAgIHkgPSBtb3ZlTWUucGFnZVk7XHJcbiAgICAgICAgICB0aGlzLnNldEN1dEVsZSh0aGlzLmN1dFR5cGUsIG9mZnNldFgsIG9mZnNldFkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LCAnbW91c2V1cCcpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmN1dFR5cGUgPSAnJztcclxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIF91blN1Yi5uZXh0KCk7XHJcbiAgICAgICAgICBfdW5TdWIuY29tcGxldGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0T3JpZ2luYWxTaXplKCkge1xyXG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XHJcbiAgICBpbWcuc3JjID0gdGhpcy5maWxlPy51cmwhO1xyXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgdGhpcy5vcmlnaW5hbFNpemUgPSB7IHdpZHRoOiBpbWcud2lkdGgsIGhlaWdodDogaW1nLmhlaWdodCB9O1xyXG4gICAgICB0aGlzLnByb3BvcnRpb24gPSB0aGlzLmJvdW5kYXJ5Qm94LndpZHRoIC8gdGhpcy5vcmlnaW5hbFNpemUud2lkdGg7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0Q3V0RWxlKHBvc2l0aW9uOiBYVXBsb2FkQ3V0VHlwZSwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcclxuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcclxuICAgICAgY2FzZSAndG9wLXN0YXJ0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCAtPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0IC09IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AtZW5kJzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoICs9IHg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1lbmQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbS1zdGFydCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggLT0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgKz0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoIC09IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICcnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBjb25zdCBib3VuZGFyeVJlY3QgPSB0aGlzLmJvdW5kYXJ5UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgY29uc3QgbWF4WSA9IGJvdW5kYXJ5UmVjdC5oZWlnaHQgLSB0aGlzLmN1dEJveC5oZWlnaHQ7XHJcbiAgICBjb25zdCBtYXhYID0gYm91bmRhcnlSZWN0LndpZHRoIC0gdGhpcy5jdXRCb3gud2lkdGg7XHJcblxyXG4gICAgdGhpcy5jdXRCb3gueCA9IFhDbGFtcCh0aGlzLmN1dEJveC54LCAwLCBtYXhYKTtcclxuICAgIHRoaXMuY3V0Qm94LnkgPSBYQ2xhbXAodGhpcy5jdXRCb3gueSwgMCwgbWF4WSk7XHJcblxyXG4gICAgLy8gY29uc3QgbWF4V2lkdGggPSBib3VuZGFyeVJlY3QuaGVpZ2h0IC0gdGhpcy5jdXRCb3gueTtcclxuICAgIC8vIGNvbnN0IG1heEhlaWdodCA9IGJvdW5kYXJ5UmVjdC53aWR0aCAtIHRoaXMuY3V0Qm94Lng7XHJcblxyXG4gICAgLy8gdGhpcy5jdXRCb3gud2lkdGggPSBYQ2xhbXAodGhpcy5jdXRCb3gud2lkdGgsIDAsIG1heFdpZHRoKTtcclxuICAgIC8vIHRoaXMuY3V0Qm94LmhlaWdodCA9IFhDbGFtcCh0aGlzLmN1dEJveC53aWR0aCwgMCwgbWF4SGVpZ2h0KTtcclxuXHJcbiAgICB0aGlzLmNsaXBSZWN0ID0ge1xyXG4gICAgICB0b3A6IHRoaXMuY3V0Qm94LnksXHJcbiAgICAgIHJpZ2h0OiB0aGlzLmN1dEJveC53aWR0aCArIHRoaXMuY3V0Qm94LngsXHJcbiAgICAgIGJvdHRvbTogdGhpcy5jdXRCb3guaGVpZ2h0ICsgdGhpcy5jdXRCb3gueSxcclxuICAgICAgbGVmdDogdGhpcy5jdXRCb3gueFxyXG4gICAgfTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXHJcbiAgICAgIHRoaXMuaW1nQ2xpcFJlZi5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAnY2xpcCcsXHJcbiAgICAgIGByZWN0KCR7dGhpcy5jbGlwUmVjdC50b3B9cHgsJHt0aGlzLmNsaXBSZWN0LnJpZ2h0fXB4LCR7dGhpcy5jbGlwUmVjdC5ib3R0b219cHgsJHt0aGlzLmNsaXBSZWN0LmxlZnR9cHgpYFxyXG4gICAgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5jdXRCb3gud2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke3RoaXMuY3V0Qm94LmhlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZTNkKCR7dGhpcy5jdXRCb3gueH1weCwgJHt0aGlzLmN1dEJveC55fXB4LCAwKWApO1xyXG4gIH1cclxuXHJcbiAgc3VyZSgpIHtcclxuICAgIGNvbnN0IGNhbnZhcyA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xyXG4gICAgY2FudmFzLndpZHRoID0gdGhpcy5jdXRCb3gud2lkdGggLyB0aGlzLnByb3BvcnRpb247XHJcbiAgICBjYW52YXMuaGVpZ2h0ID0gdGhpcy5jdXRCb3guaGVpZ2h0IC8gdGhpcy5wcm9wb3J0aW9uO1xyXG4gICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpITtcclxuICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xyXG4gICAgaW1nLnNyYyA9IHRoaXMuZmlsZT8udXJsITtcclxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xyXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAtdGhpcy5jdXRCb3gueCAvIHRoaXMucHJvcG9ydGlvbiwgLXRoaXMuY3V0Qm94LnkgLyB0aGlzLnByb3BvcnRpb24pO1xyXG4gICAgICBjYW52YXMudG9CbG9iKChibG9iKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdXJlUG9ydGFsKGJsb2IgYXMgQmxvYik7XHJcbiAgICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwge3sgY3V0VHlwZSB9fVwiIFtjbGFzcy54LXVwbG9hZC1wb3J0YWwtcmVhZHldPVwicmVhZHlcIj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRvb2xzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRpdGxlXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1pbWFnZVwiPjwveC1pY29uPlxyXG4gICAgICA8c3Bhbj57eyBmaWxlPy5uYW1lIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by14XCIgKGNsaWNrKT1cImNsb3NlUG9ydGFsKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWltZ1wiPlxyXG4gICAgPGltZyAjaW1nUmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWZ1bGwtaW1nXCIgW3NyY109XCJmaWxlPy51cmxcIiAvPlxyXG4gICAgPGRpdiAjYm91bmRhcnlSZWYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtYm91bmRhcnlcIj5cclxuICAgICAgPGltZyAjaW1nQ2xpcFJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jbGlwLWltZ1wiIFtzcmNdPVwiZmlsZT8udXJsXCIgLz5cclxuICAgICAgPGRpdiAjY3V0UmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcC1zdGFydFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXRvcC1lbmRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1sZWZ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtcmlnaHRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b20tc3RhcnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b21cIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC1ib3R0b20tZW5kXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1ib3R0b20tdG9vbHNcIj5cclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY2xvc2VcIiB0eXBlPVwiZnRvLWNoZWNrXCIgKGNsaWNrKT1cInN1cmUoKVwiPjwveC1pY29uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVNyRixNQUFNLE9BQU8sc0JBQXNCO0lBcUNqQyxZQUFvQixRQUFtQixFQUFVLEdBQXNCO1FBQW5ELGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQS9CdkUsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBQzdCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixpQkFBWSxHQUFHO1lBQ2IsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFDRixnQkFBVyxHQUFHO1lBQ1osS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFDRixXQUFNLEdBQUc7WUFDUCxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxDQUFDO1lBQ1QsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7UUFRRixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBS2YsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFaUMsQ0FBQztJQUUzRSxRQUFRLEtBQUksQ0FBQztJQUViLGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDbEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsRUFBRSxDQUFDO1lBQ04sS0FBSyxFQUFFLEtBQUs7WUFDWixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXpCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRWpILFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3JCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztZQUNuQyxJQUFJLFNBQVMsR0FBSSxNQUFNLENBQUMsTUFBeUIsQ0FBQyxTQUFTLENBQUM7WUFDNUQsTUFBTSxHQUFHLEdBQUcsR0FBRyxtQkFBbUIsT0FBTyxDQUFDO1lBQzFDLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQW1CLENBQUM7Z0JBQzVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDMUI7WUFDRCxTQUFTLENBQWEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxDQUFDO2lCQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2QixTQUFTLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUU7Z0JBQ2hDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDM0IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDakIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDLENBQUM7WUFDTCxTQUFTLENBQWEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDO2lCQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN2QixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN6QixNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDeEIsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUksQ0FBQztRQUMxQixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ3JFLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsUUFBd0IsRUFBRSxDQUFTLEVBQUUsQ0FBUztRQUN0RCxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1IsS0FBSyxLQUFLO2dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO2dCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25CLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUN2QixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO2dCQUN4QixNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssY0FBYztnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsTUFBTTtZQUNSLEtBQUssRUFBRTtnQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkIsTUFBTTtTQUNUO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU1RSxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ3RELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFFcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9DLHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFFeEQsOERBQThEO1FBQzlELGdFQUFnRTtRQUVoRSxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUM3QixNQUFNLEVBQ04sUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUMxRyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUN2RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsZUFBZSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbkQsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLENBQUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBSSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQzlCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBWSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7aUlBM01VLHNCQUFzQjtxSEFBdEIsc0JBQXNCLG9hQ3ZCbkMsMDNDQTRCQTs7MkZETGEsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLEdBQUcsbUJBQW1CLEVBQUUsaUJBR25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEdBSTFCLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDTSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0csV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNILE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYQ2xhbXAgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFVwbG9hZEN1dFR5cGUsIFhVcGxvYWROb2RlLCBYVXBsb2FkUG9ydGFsUHJlZml4IH0gZnJvbSAnLi91cGxvYWQucHJvcGVydHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hVcGxvYWRQb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhVcGxvYWRQb3J0YWxDb21wb25lbnQge1xyXG4gIGZpbGU/OiBYVXBsb2FkTm9kZTtcclxuICBAVmlld0NoaWxkKCdpbWdSZWYnKSBpbWdSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdpbWdDbGlwUmVmJykgaW1nQ2xpcFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2JvdW5kYXJ5UmVmJykgYm91bmRhcnlSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdjdXRSZWYnKSBjdXRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICByZWFkeSA9IGZhbHNlO1xyXG4gIGN1dFR5cGU6IFhVcGxvYWRDdXRUeXBlID0gJyc7XHJcbiAgcHJvcG9ydGlvbiA9IDE7XHJcbiAgb3JpZ2luYWxTaXplID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDBcclxuICB9O1xyXG4gIGJvdW5kYXJ5Qm94ID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDBcclxuICB9O1xyXG4gIGN1dEJveCA9IHtcclxuICAgIHdpZHRoOiAwLFxyXG4gICAgaGVpZ2h0OiAwLFxyXG4gICAgeDogMCxcclxuICAgIHk6IDBcclxuICB9O1xyXG4gIGNsaXBSZWN0IToge1xyXG4gICAgdG9wOiBudW1iZXI7XHJcbiAgICByaWdodDogbnVtYmVyO1xyXG4gICAgYm90dG9tOiBudW1iZXI7XHJcbiAgICBsZWZ0OiBudW1iZXI7XHJcbiAgfTtcclxuXHJcbiAgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuXHJcbiAgY2xvc2VQb3J0YWwhOiAoKSA9PiB2b2lkO1xyXG4gIGRlc3Ryb3lQb3J0YWwhOiAoKSA9PiB2b2lkO1xyXG4gIHN1cmVQb3J0YWwhOiAoYmxvYjogQmxvYikgPT4gdm9pZDtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldEN1dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDdXQoKSB7XHJcbiAgICBsZXQgd2lkdGggPSB0aGlzLmltZ1JlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgbGV0IGhlaWdodCA9IHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYm91bmRhcnlSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdDbGlwUmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nQ2xpcFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLmN1dEJveC53aWR0aCA9IHdpZHRoO1xyXG4gICAgdGhpcy5jdXRCb3guaGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgdGhpcy5ib3VuZGFyeUJveCA9IHsgd2lkdGgsIGhlaWdodCB9O1xyXG4gICAgdGhpcy5jbGlwUmVjdCA9IHtcclxuICAgICAgdG9wOiAwLFxyXG4gICAgICByaWdodDogd2lkdGgsXHJcbiAgICAgIGJvdHRvbTogaGVpZ2h0LFxyXG4gICAgICBsZWZ0OiAwXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXRPcmlnaW5hbFNpemUoKTtcclxuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIGNvbnN0IG1vdXNlRG93biA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJykucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSk7XHJcblxyXG4gICAgbW91c2VEb3duLnN1YnNjcmliZSgoZG93bk1lOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgIGxldCB4ID0gZG93bk1lLnBhZ2VYO1xyXG4gICAgICBsZXQgeSA9IGRvd25NZS5wYWdlWTtcclxuICAgICAgbGV0IG9mZnNldFggPSAwO1xyXG4gICAgICBsZXQgb2Zmc2V0WSA9IDA7XHJcbiAgICAgIGNvbnN0IF91blN1YiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAgIGxldCBjbGFzc05hbWUgPSAoZG93bk1lLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudCkuY2xhc3NOYW1lO1xyXG4gICAgICBjb25zdCBzcHQgPSBgJHtYVXBsb2FkUG9ydGFsUHJlZml4fS1jdXQtYDtcclxuICAgICAgaWYgKGNsYXNzTmFtZS5pbmNsdWRlcyhzcHQpKSB7XHJcbiAgICAgICAgdGhpcy5jdXRUeXBlID0gY2xhc3NOYW1lLnJlcGxhY2Uoc3B0LCAnJykgYXMgWFVwbG9hZEN1dFR5cGU7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQsICdtb3VzZW1vdmUnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChfdW5TdWIpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKG1vdmVNZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICAgICAgb2Zmc2V0WCA9IG1vdmVNZS5wYWdlWCAtIHg7XHJcbiAgICAgICAgICBvZmZzZXRZID0gbW92ZU1lLnBhZ2VZIC0geTtcclxuICAgICAgICAgIHggPSBtb3ZlTWUucGFnZVg7XHJcbiAgICAgICAgICB5ID0gbW92ZU1lLnBhZ2VZO1xyXG4gICAgICAgICAgdGhpcy5zZXRDdXRFbGUodGhpcy5jdXRUeXBlLCBvZmZzZXRYLCBvZmZzZXRZKTtcclxuICAgICAgICB9KTtcclxuICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ21vdXNldXAnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChfdW5TdWIpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jdXRUeXBlID0gJyc7XHJcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICBfdW5TdWIubmV4dCgpO1xyXG4gICAgICAgICAgX3VuU3ViLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldE9yaWdpbmFsU2l6ZSgpIHtcclxuICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xyXG4gICAgaW1nLnNyYyA9IHRoaXMuZmlsZT8udXJsITtcclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMub3JpZ2luYWxTaXplID0geyB3aWR0aDogaW1nLndpZHRoLCBoZWlnaHQ6IGltZy5oZWlnaHQgfTtcclxuICAgICAgdGhpcy5wcm9wb3J0aW9uID0gdGhpcy5ib3VuZGFyeUJveC53aWR0aCAvIHRoaXMub3JpZ2luYWxTaXplLndpZHRoO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldEN1dEVsZShwb3NpdGlvbjogWFVwbG9hZEN1dFR5cGUsIHg6IG51bWJlciwgeTogbnVtYmVyKSB7XHJcbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ3RvcC1zdGFydCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggLT0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wLWVuZCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tZW5kJzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoIC09IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCAtPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnJzpcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYm91bmRhcnlSZWN0ID0gdGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgIGNvbnN0IG1heFkgPSBib3VuZGFyeVJlY3QuaGVpZ2h0IC0gdGhpcy5jdXRCb3guaGVpZ2h0O1xyXG4gICAgY29uc3QgbWF4WCA9IGJvdW5kYXJ5UmVjdC53aWR0aCAtIHRoaXMuY3V0Qm94LndpZHRoO1xyXG5cclxuICAgIHRoaXMuY3V0Qm94LnggPSBYQ2xhbXAodGhpcy5jdXRCb3gueCwgMCwgbWF4WCk7XHJcbiAgICB0aGlzLmN1dEJveC55ID0gWENsYW1wKHRoaXMuY3V0Qm94LnksIDAsIG1heFkpO1xyXG5cclxuICAgIC8vIGNvbnN0IG1heFdpZHRoID0gYm91bmRhcnlSZWN0LmhlaWdodCAtIHRoaXMuY3V0Qm94Lnk7XHJcbiAgICAvLyBjb25zdCBtYXhIZWlnaHQgPSBib3VuZGFyeVJlY3Qud2lkdGggLSB0aGlzLmN1dEJveC54O1xyXG5cclxuICAgIC8vIHRoaXMuY3V0Qm94LndpZHRoID0gWENsYW1wKHRoaXMuY3V0Qm94LndpZHRoLCAwLCBtYXhXaWR0aCk7XHJcbiAgICAvLyB0aGlzLmN1dEJveC5oZWlnaHQgPSBYQ2xhbXAodGhpcy5jdXRCb3gud2lkdGgsIDAsIG1heEhlaWdodCk7XHJcblxyXG4gICAgdGhpcy5jbGlwUmVjdCA9IHtcclxuICAgICAgdG9wOiB0aGlzLmN1dEJveC55LFxyXG4gICAgICByaWdodDogdGhpcy5jdXRCb3gud2lkdGggKyB0aGlzLmN1dEJveC54LFxyXG4gICAgICBib3R0b206IHRoaXMuY3V0Qm94LmhlaWdodCArIHRoaXMuY3V0Qm94LnksXHJcbiAgICAgIGxlZnQ6IHRoaXMuY3V0Qm94LnhcclxuICAgIH07XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxyXG4gICAgICB0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgJ2NsaXAnLFxyXG4gICAgICBgcmVjdCgke3RoaXMuY2xpcFJlY3QudG9wfXB4LCR7dGhpcy5jbGlwUmVjdC5yaWdodH1weCwke3RoaXMuY2xpcFJlY3QuYm90dG9tfXB4LCR7dGhpcy5jbGlwUmVjdC5sZWZ0fXB4KWBcclxuICAgICk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMuY3V0Qm94LndpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLmN1dEJveC5oZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUzZCgke3RoaXMuY3V0Qm94Lnh9cHgsICR7dGhpcy5jdXRCb3gueX1weCwgMClgKTtcclxuICB9XHJcblxyXG4gIHN1cmUoKSB7XHJcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgIGNhbnZhcy53aWR0aCA9IHRoaXMuY3V0Qm94LndpZHRoIC8gdGhpcy5wcm9wb3J0aW9uO1xyXG4gICAgY2FudmFzLmhlaWdodCA9IHRoaXMuY3V0Qm94LmhlaWdodCAvIHRoaXMucHJvcG9ydGlvbjtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcbiAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgIGltZy5zcmMgPSB0aGlzLmZpbGU/LnVybCE7XHJcbiAgICBpbWcuY3Jvc3NPcmlnaW4gPSAnYW5vbnltb3VzJztcclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltZywgLXRoaXMuY3V0Qm94LnggLyB0aGlzLnByb3BvcnRpb24sIC10aGlzLmN1dEJveC55IC8gdGhpcy5wcm9wb3J0aW9uKTtcclxuICAgICAgY2FudmFzLnRvQmxvYigoYmxvYikgPT4ge1xyXG4gICAgICAgIHRoaXMuc3VyZVBvcnRhbChibG9iIGFzIEJsb2IpO1xyXG4gICAgICAgIHRoaXMuY2xvc2VQb3J0YWwoKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsIHt7IGN1dFR5cGUgfX1cIiBbY2xhc3MueC11cGxvYWQtcG9ydGFsLXJlYWR5XT1cInJlYWR5XCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC10b29sc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC10aXRsZVwiPlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8taW1hZ2VcIj48L3gtaWNvbj5cclxuICAgICAgPHNwYW4+e3sgZmlsZT8ubmFtZSB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtaWNvbiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jbG9zZVwiIHR5cGU9XCJmdG8teFwiIChjbGljayk9XCJjbG9zZVBvcnRhbCgpXCI+PC94LWljb24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1pbWdcIj5cclxuICAgIDxpbWcgI2ltZ1JlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1mdWxsLWltZ1wiIFtzcmNdPVwiZmlsZT8udXJsXCIgLz5cclxuICAgIDxkaXYgI2JvdW5kYXJ5UmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWJvdW5kYXJ5XCI+XHJcbiAgICAgIDxpbWcgI2ltZ0NsaXBSZWYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY2xpcC1pbWdcIiBbc3JjXT1cImZpbGU/LnVybFwiIC8+XHJcbiAgICAgIDxkaXYgI2N1dFJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3Atc3RhcnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3BcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3AtZW5kXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtbGVmdFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXJpZ2h0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tLXN0YXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tLWVuZFwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtYm90dG9tLXRvb2xzXCI+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by1jaGVja1wiIChjbGljayk9XCJzdXJlKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -17,7 +17,7 @@ import * as i7 from "@ng-nest/ui/button";
17
17
  import * as i8 from "@ng-nest/ui/icon";
18
18
  import * as i9 from "@ng-nest/ui/image";
19
19
  import * as i10 from "@ng-nest/ui/progress";
20
- class XUploadComponent extends XUploadProperty {
20
+ export class XUploadComponent extends XUploadProperty {
21
21
  get getText() {
22
22
  return this.text || this.locale.uploadText;
23
23
  }
@@ -238,17 +238,16 @@ class XUploadComponent extends XUploadProperty {
238
238
  file.state = 'success';
239
239
  this.cdr.detectChanges();
240
240
  }
241
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XUploadComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.HttpClient, optional: true }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.XI18nService }, { token: i4.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
242
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XUploadComponent, selector: "x-upload", providers: [XValueAccessor(XUploadComponent)], viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #upload class=\"x-upload x-upload-{{ type }}\" [class.x-disabled]=\"disabled\">\r\n <input type=\"file\" #file (change)=\"change($event)\" [attr.accept]=\"accept\" [multiple]=\"multiple\" style=\"display: none\" />\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'list'\">\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n <ng-container *xOutlet=\"filesTpl; context: { $files: files }\">\r\n <ul class=\"x-upload-files\">\r\n <li *ngFor=\"let file of files; index as i; trackBy: trackByItem\" [class.x-upload-disabled]=\"!download\">\r\n <ng-container *ngIf=\"download\">\r\n <a [href]=\"file.url\" target=\"_blank\" [title]=\"file.name\">\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!download\">\r\n <a>\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <span class=\"x-upload-percent\" *ngSwitchCase=\"'uploading'\">{{ file.percent }}%</span>\r\n <x-icon class=\"x-upload-state success\" *ngSwitchCase=\"'success'\" type=\"fto-check\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n </ng-container>\r\n <x-button *ngIf=\"file.state !== 'uploading'\" icon=\"fto-x\" (click)=\"remove(file, i)\" onlyIcon closable size=\"mini\"></x-button>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'img'\">\r\n <x-image-group>\r\n <ng-container *ngFor=\"let file of files; index as i; trackBy: trackByItem\">\r\n <x-image\r\n [src]=\"file.url\"\r\n (load)=\"imgLoad(file)\"\r\n (error)=\"imgError($event, file)\"\r\n class=\"{{ file.state }}\"\r\n [previewTpl]=\"previewTpl\"\r\n [fallback]=\"imgFallback\"\r\n >\r\n </x-image>\r\n <ng-template #previewTpl let-image=\"$image\">\r\n <div class=\"x-upload-uploading\" *ngIf=\"file.state == 'uploading'\">\r\n <x-progress [percent]=\"file.percent!\" info=\"false\"></x-progress>\r\n </div>\r\n <div class=\"x-image-overlay\">\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <x-icon type=\"fto-eye\" *ngSwitchCase=\"'success'\" (click)=\"image.onPreview()\"></x-icon>\r\n </ng-container>\r\n <x-icon *ngIf=\"imgCut && file.state === 'success'\" type=\"fto-crop\" (click)=\"onImgCut(file, i)\"></x-icon>\r\n <x-icon *ngIf=\"file.state !== 'uploading'\" type=\"fto-trash-2\" (click)=\"remove(file, i)\"></x-icon>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n </x-image-group>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #uploadBtnTpl>\r\n <div class=\"x-upload-buttons\" [class.x-upload-buttons-template]=\"isTemplateText\" (click)=\"uploadClick()\">\r\n <ng-container *xOutlet=\"getText\">\r\n <x-button icon=\"fto-upload\" [disabled]=\"disabled\" type=\"primary\">{{ getText }}</x-button>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-upload{margin:0;padding:0;color:var(--x-text);font-size:var(--x-font-size)}.x-upload-buttons{display:inline-flex}.x-upload-buttons>.x-button:not(:first-child){margin-left:.4rem}.x-upload-buttons-template{cursor:pointer}.x-upload-files{margin-top:.4rem}.x-upload-files>li{padding:0 .2rem;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);display:flex;align-items:center;overflow:hidden;cursor:pointer;border-radius:var(--x-border-radius)}.x-upload-files>li .x-icon{color:var(--x-text-400);font-size:1rem}.x-upload-files>li .x-icon.x-upload-state.success{color:var(--x-success)}.x-upload-files>li .x-icon.x-upload-state.error{color:var(--x-danger)}.x-upload-files>li a{flex:1;display:flex;align-items:center;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);color:inherit;text-decoration:none;overflow:hidden}.x-upload-files>li span.x-upload-filename{margin-left:.2rem;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-upload-files>li span.x-upload-percent{color:var(--x-text-400)}.x-upload-files>li>.x-button{display:none;padding:0}.x-upload-files>li:not(:first-child){margin-top:.2rem}.x-upload-files>li.x-upload-disabled{cursor:default}.x-upload-files>li.x-upload-disabled>a{cursor:default}.x-upload-files>li:hover:not(.x-upload-disabled){color:var(--x-primary);background-color:var(--x-background)}.x-upload-files>li:hover>.x-button{display:inline-block}.x-upload-files>li:hover>.x-upload-state{display:none}.x-upload-img{display:flex;flex-wrap:wrap}.x-upload-img .x-upload-buttons-template{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:6.25rem;height:6.25rem;margin-right:.5rem;margin-bottom:.5rem;border:var(--x-border-width) dashed var(--x-border);background:var(--x-background);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base)}.x-upload-img .x-upload-buttons-template:hover{border-color:var(--x-primary)}.x-upload-img .x-image{height:6.25rem;width:6.25rem;padding:.325rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base);margin-right:.5rem;margin-bottom:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.x-upload-img .x-image-overlay x-icon{font-size:1rem;color:#fffc;padding:.25rem;transition:color var(--x-animation-duration-base)}.x-upload-img .x-image-overlay x-icon:hover{color:#fff}.x-upload-img x-image.error .x-image{border-color:var(--x-danger)}.x-upload-img x-image.error .x-image-error-icon{color:var(--x-danger)}.x-upload-uploading{position:absolute;margin-top:3rem;width:calc(100% - 1rem)}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i7.XButtonComponent, selector: "x-button" }, { kind: "component", type: i8.XIconComponent, selector: "x-icon" }, { kind: "component", type: i9.XImageComponent, selector: "x-image" }, { kind: "component", type: i9.XImageGroupComponent, selector: "x-image-group" }, { kind: "component", type: i10.XProgressComponent, selector: "x-progress" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
241
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XUploadComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.HttpClient, optional: true }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.XI18nService }, { token: i4.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
242
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XUploadComponent, selector: "x-upload", providers: [XValueAccessor(XUploadComponent)], viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #upload class=\"x-upload x-upload-{{ type }}\" [class.x-disabled]=\"disabled\">\r\n <input type=\"file\" #file (change)=\"change($event)\" [attr.accept]=\"accept\" [multiple]=\"multiple\" style=\"display: none\" />\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'list'\">\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n <ng-container *xOutlet=\"filesTpl; context: { $files: files }\">\r\n <ul class=\"x-upload-files\">\r\n <li *ngFor=\"let file of files; index as i; trackBy: trackByItem\" [class.x-upload-disabled]=\"!download\">\r\n <ng-container *ngIf=\"download\">\r\n <a [href]=\"file.url\" target=\"_blank\" [title]=\"file.name\">\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!download\">\r\n <a>\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <span class=\"x-upload-percent\" *ngSwitchCase=\"'uploading'\">{{ file.percent }}%</span>\r\n <x-icon class=\"x-upload-state success\" *ngSwitchCase=\"'success'\" type=\"fto-check\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n </ng-container>\r\n <x-button *ngIf=\"file.state !== 'uploading'\" icon=\"fto-x\" (click)=\"remove(file, i)\" onlyIcon closable size=\"mini\"></x-button>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'img'\">\r\n <x-image-group>\r\n <ng-container *ngFor=\"let file of files; index as i; trackBy: trackByItem\">\r\n <x-image\r\n [src]=\"file.url\"\r\n (load)=\"imgLoad(file)\"\r\n (error)=\"imgError($event, file)\"\r\n class=\"{{ file.state }}\"\r\n [previewTpl]=\"previewTpl\"\r\n [fallback]=\"imgFallback\"\r\n >\r\n </x-image>\r\n <ng-template #previewTpl let-image=\"$image\">\r\n <div class=\"x-upload-uploading\" *ngIf=\"file.state == 'uploading'\">\r\n <x-progress [percent]=\"file.percent!\" info=\"false\"></x-progress>\r\n </div>\r\n <div class=\"x-image-overlay\">\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <x-icon type=\"fto-eye\" *ngSwitchCase=\"'success'\" (click)=\"image.onPreview()\"></x-icon>\r\n </ng-container>\r\n <x-icon *ngIf=\"imgCut && file.state === 'success'\" type=\"fto-crop\" (click)=\"onImgCut(file, i)\"></x-icon>\r\n <x-icon *ngIf=\"file.state !== 'uploading'\" type=\"fto-trash-2\" (click)=\"remove(file, i)\"></x-icon>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n </x-image-group>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #uploadBtnTpl>\r\n <div class=\"x-upload-buttons\" [class.x-upload-buttons-template]=\"isTemplateText\" (click)=\"uploadClick()\">\r\n <ng-container *xOutlet=\"getText\">\r\n <x-button icon=\"fto-upload\" [disabled]=\"disabled\" type=\"primary\">{{ getText }}</x-button>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-upload{margin:0;padding:0;color:var(--x-text);font-size:var(--x-font-size)}.x-upload-buttons{display:inline-flex}.x-upload-buttons>.x-button:not(:first-child){margin-left:.4rem}.x-upload-buttons-template{cursor:pointer}.x-upload-files{margin-top:.4rem}.x-upload-files>li{padding:0 .2rem;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);display:flex;align-items:center;overflow:hidden;cursor:pointer;border-radius:var(--x-border-radius)}.x-upload-files>li .x-icon{color:var(--x-text-400);font-size:1rem}.x-upload-files>li .x-icon.x-upload-state.success{color:var(--x-success)}.x-upload-files>li .x-icon.x-upload-state.error{color:var(--x-danger)}.x-upload-files>li a{flex:1;display:flex;align-items:center;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);color:inherit;text-decoration:none;overflow:hidden}.x-upload-files>li span.x-upload-filename{margin-left:.2rem;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-upload-files>li span.x-upload-percent{color:var(--x-text-400)}.x-upload-files>li>.x-button{display:none;padding:0}.x-upload-files>li:not(:first-child){margin-top:.2rem}.x-upload-files>li.x-upload-disabled{cursor:default}.x-upload-files>li.x-upload-disabled>a{cursor:default}.x-upload-files>li:hover:not(.x-upload-disabled){color:var(--x-primary);background-color:var(--x-background)}.x-upload-files>li:hover>.x-button{display:inline-block}.x-upload-files>li:hover>.x-upload-state{display:none}.x-upload-img{display:flex;flex-wrap:wrap}.x-upload-img .x-upload-buttons-template{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:6.25rem;height:6.25rem;margin-right:.5rem;margin-bottom:.5rem;border:var(--x-border-width) dashed var(--x-border);background:var(--x-background);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base)}.x-upload-img .x-upload-buttons-template:hover{border-color:var(--x-primary)}.x-upload-img .x-image{height:6.25rem;width:6.25rem;padding:.325rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base);margin-right:.5rem;margin-bottom:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.x-upload-img .x-image-overlay x-icon{font-size:1rem;color:#fffc;padding:.25rem;transition:color var(--x-animation-duration-base)}.x-upload-img .x-image-overlay x-icon:hover{color:#fff}.x-upload-img x-image.error .x-image{border-color:var(--x-danger)}.x-upload-img x-image.error .x-image-error-icon{color:var(--x-danger)}.x-upload-uploading{position:absolute;margin-top:3rem;width:calc(100% - 1rem)}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i7.XButtonComponent, selector: "x-button" }, { kind: "component", type: i8.XIconComponent, selector: "x-icon" }, { kind: "component", type: i9.XImageComponent, selector: "x-image" }, { kind: "component", type: i9.XImageGroupComponent, selector: "x-image-group" }, { kind: "component", type: i10.XProgressComponent, selector: "x-progress" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
243
243
  }
244
- export { XUploadComponent };
245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XUploadComponent, decorators: [{
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XUploadComponent, decorators: [{
246
245
  type: Component,
247
246
  args: [{ selector: `${XUploadPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XUploadComponent)], template: "<div #upload class=\"x-upload x-upload-{{ type }}\" [class.x-disabled]=\"disabled\">\r\n <input type=\"file\" #file (change)=\"change($event)\" [attr.accept]=\"accept\" [multiple]=\"multiple\" style=\"display: none\" />\r\n\r\n <ng-container [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'list'\">\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n <ng-container *xOutlet=\"filesTpl; context: { $files: files }\">\r\n <ul class=\"x-upload-files\">\r\n <li *ngFor=\"let file of files; index as i; trackBy: trackByItem\" [class.x-upload-disabled]=\"!download\">\r\n <ng-container *ngIf=\"download\">\r\n <a [href]=\"file.url\" target=\"_blank\" [title]=\"file.name\">\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf=\"!download\">\r\n <a>\r\n <x-icon type=\"fto-file-text\"></x-icon>\r\n <span class=\"x-upload-filename\">{{ file.name }}</span>\r\n </a>\r\n </ng-container>\r\n\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <span class=\"x-upload-percent\" *ngSwitchCase=\"'uploading'\">{{ file.percent }}%</span>\r\n <x-icon class=\"x-upload-state success\" *ngSwitchCase=\"'success'\" type=\"fto-check\"></x-icon>\r\n <x-icon class=\"x-upload-state error\" *ngSwitchCase=\"'error'\" type=\"fto-info\"></x-icon>\r\n </ng-container>\r\n <x-button *ngIf=\"file.state !== 'uploading'\" icon=\"fto-x\" (click)=\"remove(file, i)\" onlyIcon closable size=\"mini\"></x-button>\r\n </li>\r\n </ul>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'img'\">\r\n <x-image-group>\r\n <ng-container *ngFor=\"let file of files; index as i; trackBy: trackByItem\">\r\n <x-image\r\n [src]=\"file.url\"\r\n (load)=\"imgLoad(file)\"\r\n (error)=\"imgError($event, file)\"\r\n class=\"{{ file.state }}\"\r\n [previewTpl]=\"previewTpl\"\r\n [fallback]=\"imgFallback\"\r\n >\r\n </x-image>\r\n <ng-template #previewTpl let-image=\"$image\">\r\n <div class=\"x-upload-uploading\" *ngIf=\"file.state == 'uploading'\">\r\n <x-progress [percent]=\"file.percent!\" info=\"false\"></x-progress>\r\n </div>\r\n <div class=\"x-image-overlay\">\r\n <ng-container [ngSwitch]=\"file.state\">\r\n <x-icon class=\"x-upload-state\" *ngSwitchCase=\"'ready'\" type=\"fto-clock\"></x-icon>\r\n <x-icon type=\"fto-eye\" *ngSwitchCase=\"'success'\" (click)=\"image.onPreview()\"></x-icon>\r\n </ng-container>\r\n <x-icon *ngIf=\"imgCut && file.state === 'success'\" type=\"fto-crop\" (click)=\"onImgCut(file, i)\"></x-icon>\r\n <x-icon *ngIf=\"file.state !== 'uploading'\" type=\"fto-trash-2\" (click)=\"remove(file, i)\"></x-icon>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"uploadBtnTpl\"></ng-container>\r\n </x-image-group>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #uploadBtnTpl>\r\n <div class=\"x-upload-buttons\" [class.x-upload-buttons-template]=\"isTemplateText\" (click)=\"uploadClick()\">\r\n <ng-container *xOutlet=\"getText\">\r\n <x-button icon=\"fto-upload\" [disabled]=\"disabled\" type=\"primary\">{{ getText }}</x-button>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: [".x-upload{margin:0;padding:0;color:var(--x-text);font-size:var(--x-font-size)}.x-upload-buttons{display:inline-flex}.x-upload-buttons>.x-button:not(:first-child){margin-left:.4rem}.x-upload-buttons-template{cursor:pointer}.x-upload-files{margin-top:.4rem}.x-upload-files>li{padding:0 .2rem;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);display:flex;align-items:center;overflow:hidden;cursor:pointer;border-radius:var(--x-border-radius)}.x-upload-files>li .x-icon{color:var(--x-text-400);font-size:1rem}.x-upload-files>li .x-icon.x-upload-state.success{color:var(--x-success)}.x-upload-files>li .x-icon.x-upload-state.error{color:var(--x-danger)}.x-upload-files>li a{flex:1;display:flex;align-items:center;height:calc(var(--x-font-size) + .6rem);line-height:calc(var(--x-font-size) + .6rem);color:inherit;text-decoration:none;overflow:hidden}.x-upload-files>li span.x-upload-filename{margin-left:.2rem;flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-upload-files>li span.x-upload-percent{color:var(--x-text-400)}.x-upload-files>li>.x-button{display:none;padding:0}.x-upload-files>li:not(:first-child){margin-top:.2rem}.x-upload-files>li.x-upload-disabled{cursor:default}.x-upload-files>li.x-upload-disabled>a{cursor:default}.x-upload-files>li:hover:not(.x-upload-disabled){color:var(--x-primary);background-color:var(--x-background)}.x-upload-files>li:hover>.x-button{display:inline-block}.x-upload-files>li:hover>.x-upload-state{display:none}.x-upload-img{display:flex;flex-wrap:wrap}.x-upload-img .x-upload-buttons-template{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:6.25rem;height:6.25rem;margin-right:.5rem;margin-bottom:.5rem;border:var(--x-border-width) dashed var(--x-border);background:var(--x-background);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base)}.x-upload-img .x-upload-buttons-template:hover{border-color:var(--x-primary)}.x-upload-img .x-image{height:6.25rem;width:6.25rem;padding:.325rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);transition:border-color var(--x-animation-duration-base);margin-right:.5rem;margin-bottom:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.x-upload-img .x-image-overlay x-icon{font-size:1rem;color:#fffc;padding:.25rem;transition:color var(--x-animation-duration-base)}.x-upload-img .x-image-overlay x-icon:hover{color:#fff}.x-upload-img x-image.error .x-image{border-color:var(--x-danger)}.x-upload-img x-image.error .x-image-error-icon{color:var(--x-danger)}.x-upload-uploading{position:absolute;margin-top:3rem;width:calc(100% - 1rem)}\n"] }]
248
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.HttpClient, decorators: [{
247
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.HttpClient, decorators: [{
249
248
  type: Optional
250
- }] }, { type: i0.ChangeDetectorRef }, { type: i2.XPortalService }, { type: i0.ViewContainerRef }, { type: i3.XI18nService }, { type: i4.XConfigService }]; }, propDecorators: { file: [{
249
+ }] }, { type: i0.ChangeDetectorRef }, { type: i2.XPortalService }, { type: i0.ViewContainerRef }, { type: i3.XI18nService }, { type: i4.XConfigService }], propDecorators: { file: [{
251
250
  type: ViewChild,
252
251
  args: ['file', { static: true }]
253
252
  }] } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3VwbG9hZC91cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsYUFBYSxFQUFFLFdBQVcsRUFBYSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsU0FBUyxFQUlULFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFlLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JHLE9BQU8sRUFBa0IsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7OztBQUV2RCxNQVFhLGdCQUFpQixTQUFRLGVBQWU7SUFRbkQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFJUSxVQUFVLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxDQUFDLEtB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QUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBa0IsRUFBRSxJQUFpQjtRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBaUI7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO2tJQW5QVSxnQkFBZ0I7c0hBQWhCLGdCQUFnQixtQ0FGaEIsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyw2SkM3Qi9DLDZ5SEF3RUE7O1NEekNhLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGtCQUFrQixDQUFDOzswQkE2QjFDLFFBQVE7Z01BMUIwQixJQUFJO3NCQUF4QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUmVxdWVzdCwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPcHRpb25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVXBsb2FkUHJlZml4LCBYVXBsb2FkTm9kZSwgWFVwbG9hZFByb3BlcnR5LCBYVXBsb2FkUG9ydGFsUHJlZml4IH0gZnJvbSAnLi91cGxvYWQucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ29uZmlnU2VydmljZSwgWElzQXJyYXksIFhJc1RlbXBsYXRlUmVmIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFhJMThuU2VydmljZSwgWEkxOG5VcGxvYWQgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgWFBvcnRhbE92ZXJsYXlSZWYsIFhQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWFVwbG9hZFBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkLXBvcnRhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFVwbG9hZFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWFVwbG9hZENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgWFVwbG9hZFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBmaWxlITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBmaWxlczogWFVwbG9hZE5vZGVbXSA9IFtdO1xyXG4gIHNob3dVcGxvYWQgPSBmYWxzZTtcclxuICB1cGxvYWROb2RlczogWFVwbG9hZE5vZGVbXSA9IFtdO1xyXG4gIGxvY2FsZTogWEkxOG5VcGxvYWQgPSB7fTtcclxuICBwb3J0YWwhOiBYUG9ydGFsT3ZlcmxheVJlZjxYVXBsb2FkUG9ydGFsQ29tcG9uZW50PjtcclxuXHJcbiAgZ2V0IGdldFRleHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXh0IHx8IHRoaXMubG9jYWxlLnVwbG9hZFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNUZW1wbGF0ZVRleHQoKSB7XHJcbiAgICByZXR1cm4gWElzVGVtcGxhdGVSZWYodGhpcy5nZXRUZXh0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFhVcGxvYWROb2RlW10pIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0RmlsZXMoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwdWJsaWMgaTE4bjogWEkxOG5TZXJ2aWNlLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKCFodHRwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtYVXBsb2FkUHJlZml4fTogTm90IGZvdW5kICdIdHRwQ2xpZW50JywgWW91IGNhbiBpbXBvcnQgJ0h0dHBDbGllbnRNb2R1bGUnIGluIHlvdXIgcm9vdCBtb2R1bGUuYCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4LnVwbG9hZCBhcyBYSTE4blVwbG9hZCksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdpbWcnKSB0aGlzLmFjY2VwdCA9ICdpbWFnZS8qJztcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmlsZXMoKSB7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHJldHVybjtcclxuICAgIC8vIGlmICh0aGlzLnR5cGUgIT09ICdpbWcnKSByZXR1cm47XHJcbiAgICB0aGlzLmZpbGVzID0gdGhpcy52YWx1ZS5tYXAoKHgpID0+IHtcclxuICAgICAgaWYgKCF4LnN0YXRlKSB4LnN0YXRlID0gJ3N1Y2Nlc3MnO1xyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgbGV0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAndW5kZWZpbmVkJyB8fCBpbnB1dC5maWxlcz8ubGVuZ3RoID09PSAwKSByZXR1cm47XHJcbiAgICBsZXQgZmlsZXM6IFhVcGxvYWROb2RlW10gPSBbXTtcclxuICAgIGxldCBtYXggPSB0aGlzLm1heExpbWl0ID8gTnVtYmVyKHRoaXMubWF4TGltaXQpIDogKGlucHV0LmZpbGVzIGFzIEZpbGVMaXN0KS5sZW5ndGg7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1heDsgaSsrKSB7XHJcbiAgICAgIGxldCBmaWxlOiBYVXBsb2FkTm9kZSA9IChpbnB1dC5maWxlcyBhcyBGaWxlTGlzdCkuaXRlbShpKSBhcyBYVXBsb2FkTm9kZTtcclxuICAgICAgZmlsZS5zdGF0ZSA9ICdyZWFkeSc7XHJcbiAgICAgIGZpbGVzID0gWy4uLmZpbGVzLCBmaWxlXTtcclxuICAgIH1cclxuICAgIGlmIChmaWxlcy5sZW5ndGggPiAwKSB0aGlzLnNob3dVcGxvYWQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGVNb2RlbCA9PT0gJ2NvdmVyJykge1xyXG4gICAgICB0aGlzLmZpbGVzID0gZmlsZXM7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubXVsdGlwbGVNb2RlbCA9PT0gJ2FkZCcpIHtcclxuICAgICAgdGhpcy5maWxlcyA9IFsuLi50aGlzLmZpbGVzLCAuLi5maWxlc107XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5maWxlcztcclxuICAgIHRoaXMub25DaGFuZ2UgJiYgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMub25VcGxvYWRpbmcoKTtcclxuICAgIGlucHV0LnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoZmlsZTogWFVwbG9hZE5vZGUsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuZmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIGlmICh0aGlzLmZpbGVzLmxlbmd0aCA9PT0gMCkgdGhpcy5maWxlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgIHRoaXMuc2hvd1VwbG9hZCA9IHRoaXMuZmlsZXMuZmluZCgoeCkgPT4geC5zdGF0ZSA9PT0gJ3JlYWR5JykgIT0gbnVsbDtcclxuICAgIGNvbnN0IHZpbmRleCA9IHRoaXMudmFsdWUuaW5kZXhPZihmaWxlKTtcclxuICAgIGlmICh2aW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLnZhbHVlLnNwbGljZSh2aW5kZXgsIDEpO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlICYmIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlbW92ZUNsaWNrLmVtaXQoeyBmaWxlOiBmaWxlLCBpbmRleDogaW5kZXggfSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRDbGljaygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLmZpbGUubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgb25VcGxvYWRpbmcoKSB7XHJcbiAgICBpZiAoIXRoaXMuYWN0aW9uKSByZXR1cm47XHJcbiAgICBsZXQgcmVhZHlGaWxlcyA9IHRoaXMuZmlsZXMuZmlsdGVyKCh4KSA9PiB4LnN0YXRlID09PSAncmVhZHknKTtcclxuICAgIHJlYWR5RmlsZXMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnVwbG9hZEZpbGUoeCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHVwbG9hZEZpbGUoZmlsZTogWFVwbG9hZE5vZGUsIGluZGV4ID0gLTEpIHtcclxuICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XHJcbiAgICBjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCB0aGlzLmFjdGlvbiEsIGZvcm1EYXRhLCB7XHJcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsXHJcbiAgICAgIHdpdGhDcmVkZW50aWFsczogZmFsc2UsXHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh0aGlzLmhlYWRlcnMpXHJcbiAgICB9KTtcclxuICAgIHRoaXMuaHR0cFxyXG4gICAgICAucmVxdWVzdChyZXEpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoZXZlbnQpID0+XHJcbiAgICAgICAgICB0aGlzLmdldEV2ZW50TWVzc2FnZShldmVudCwgZmlsZSwgKGJvZHk6IEJsb2JQYXJ0KSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBibG9iID0gbmV3IEJsb2IoW2JvZHldKTtcclxuICAgICAgICAgICAgbGV0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGJsb2IsICd1dGYtOCcpO1xyXG4gICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBib2R5ID0gW107XHJcbiAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGJvZHkgPSBKU09OLnBhcnNlKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKTtcclxuICAgICAgICAgICAgICAgIGlmIChYSXNBcnJheShib2R5KSAmJiBib2R5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgZmlsZS51cmwgPSBib2R5WzBdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZmlsZS5ib2R5ID0gYm9keTtcclxuICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVzW2luZGV4XSA9IGZpbGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMudXBsb2FkU3VjY2Vzcy5lbWl0KGZpbGUpO1xyXG4gICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaG93VXBsb2FkID0gdGhpcy5maWxlcy5maW5kKCh5KSA9PiB5LnN0YXRlID09PSAncmVhZHknKSAhPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgZmlsZS5zdGF0ZSA9ICdlcnJvcic7XHJcbiAgICAgICAgICB0aGlzLnVwbG9hZEVycm9yLmVtaXQoZmlsZSk7XHJcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXZlbnRNZXNzYWdlKGV2ZW50OiBIdHRwRXZlbnQ8YW55PiwgZmlsZTogWFVwbG9hZE5vZGUsIHN1Y2Nlc3NGdW5jOiBGdW5jdGlvbikge1xyXG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5TZW50OlxyXG4gICAgICAgIGZpbGUuc3RhdGUgPSAncmVhZHknO1xyXG4gICAgICAgIHRoaXMudXBsb2FkUmVhZHkuZW1pdChmaWxlKTtcclxuICAgICAgICByZXR1cm4gYOW8gOWni+S4iuS8oOaWh+S7tmA7XHJcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczpcclxuICAgICAgICBmaWxlLnN0YXRlID0gJ3VwbG9hZGluZyc7XHJcbiAgICAgICAgaWYgKGV2ZW50LnRvdGFsKSBmaWxlLnBlcmNlbnQgPSBNYXRoLnJvdW5kKCgxMDAgKiBldmVudC5sb2FkZWQpIC8gZXZlbnQudG90YWwpO1xyXG4gICAgICAgIHRoaXMudXBsb2FkaW5nLmVtaXQoZmlsZSk7XHJcbiAgICAgICAgcmV0dXJuIGDkuIrkvKDkuK1gO1xyXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2U6XHJcbiAgICAgICAgZmlsZS5zdGF0ZSA9ICdzdWNjZXNzJztcclxuICAgICAgICBzdWNjZXNzRnVuYyhldmVudC5ib2R5KTtcclxuICAgICAgICByZXR1cm4gYOaWh+S7tuS4iuS8oOWujOavlWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogWFVwbG9hZE5vZGUpIHtcclxuICAgIHJldHVybiBgJHtpdGVtLm5hbWV9LSR7aXRlbS5sYXN0TW9kaWZpZWR9YDtcclxuICB9XHJcblxyXG4gIG9uSW1nQ3V0KGZpbGU6IFhVcGxvYWROb2RlLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiBYVXBsb2FkUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IHtcclxuICAgICAgICBwYW5lbENsYXNzOiBbWFVwbG9hZFBvcnRhbFByZWZpeF0sXHJcbiAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlKCdjZW50ZXInKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoZmlsZSwgaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoZmlsZTogWFVwbG9hZE5vZGUsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbD8uY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHJldHVybjtcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgIGNsb3NlUG9ydGFsOiAoKSA9PiB0aGlzLmNsb3NlUG9ydGFsKCksXHJcbiAgICAgIGRlc3Ryb3lQb3J0YWw6ICgpID0+IHRoaXMuZGVzdHJveVBvcnRhbCgpLFxyXG4gICAgICBzdXJlUG9ydGFsOiAoYmxvYjogQmxvYikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZsID0gbmV3IEZpbGUoW2Jsb2JdLCBmaWxlLm5hbWUsIHsgdHlwZTogYmxvYi50eXBlIH0pIGFzIFhVcGxvYWROb2RlO1xyXG4gICAgICAgIGZsLnN0YXRlID0gJ3JlYWR5JztcclxuICAgICAgICB0aGlzLnVwbG9hZEZpbGUoZmwsIGluZGV4KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcG9ydGFsQXR0YWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVBvcnRhbCgpIHtcclxuICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkpIHtcclxuICAgICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveVBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICBpbWdFcnJvcihfZXZlbnQ6IEVycm9yRXZlbnQsIGZpbGU6IFhVcGxvYWROb2RlKSB7XHJcbiAgICBmaWxlLnN0YXRlID0gJ2Vycm9yJztcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGltZ0xvYWQoZmlsZTogWFVwbG9hZE5vZGUpIHtcclxuICAgIGZpbGUuc3RhdGUgPSAnc3VjY2Vzcyc7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3VwbG9hZCBjbGFzcz1cIngtdXBsb2FkIHgtdXBsb2FkLXt7IHR5cGUgfX1cIiBbY2xhc3MueC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlIChjaGFuZ2UpPVwiY2hhbmdlKCRldmVudClcIiBbYXR0ci5hY2NlcHRdPVwiYWNjZXB0XCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgLz5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xpc3QnXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1cGxvYWRCdG5UcGxcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImZpbGVzVHBsOyBjb250ZXh0OiB7ICRmaWxlczogZmlsZXMgfVwiPlxyXG4gICAgICAgIDx1bCBjbGFzcz1cIngtdXBsb2FkLWZpbGVzXCI+XHJcbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZXM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCIgW2NsYXNzLngtdXBsb2FkLWRpc2FibGVkXT1cIiFkb3dubG9hZFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG93bmxvYWRcIj5cclxuICAgICAgICAgICAgICA8YSBbaHJlZl09XCJmaWxlLnVybFwiIHRhcmdldD1cIl9ibGFua1wiIFt0aXRsZV09XCJmaWxlLm5hbWVcIj5cclxuICAgICAgICAgICAgICAgIDx4LWljb24gdHlwZT1cImZ0by1maWxlLXRleHRcIj48L3gtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwieC11cGxvYWQtZmlsZW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkb3dubG9hZFwiPlxyXG4gICAgICAgICAgICAgIDxhPlxyXG4gICAgICAgICAgICAgICAgPHgtaWNvbiB0eXBlPVwiZnRvLWZpbGUtdGV4dFwiPjwveC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ4LXVwbG9hZC1maWxlbmFtZVwiPnt7IGZpbGUubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZmlsZS5zdGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDx4LWljb24gY2xhc3M9XCJ4LXVwbG9hZC1zdGF0ZVwiICpuZ1N3aXRjaENhc2U9XCIncmVhZHknXCIgdHlwZT1cImZ0by1jbG9ja1wiPjwveC1pY29uPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwieC11cGxvYWQtcGVyY2VudFwiICpuZ1N3aXRjaENhc2U9XCIndXBsb2FkaW5nJ1wiPnt7IGZpbGUucGVyY2VudCB9fSU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHgtaWNvbiBjbGFzcz1cIngtdXBsb2FkLXN0YXRlIHN1Y2Nlc3NcIiAqbmdTd2l0Y2hDYXNlPVwiJ3N1Y2Nlc3MnXCIgdHlwZT1cImZ0by1jaGVja1wiPjwveC1pY29uPlxyXG4gICAgICAgICAgICAgIDx4LWljb24gY2xhc3M9XCJ4LXVwbG9hZC1zdGF0ZSBlcnJvclwiICpuZ1N3aXRjaENhc2U9XCInZXJyb3InXCIgdHlwZT1cImZ0by1pbmZvXCI+PC94LWljb24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8eC1idXR0b24gKm5nSWY9XCJmaWxlLnN0YXRlICE9PSAndXBsb2FkaW5nJ1wiIGljb249XCJmdG8teFwiIChjbGljayk9XCJyZW1vdmUoZmlsZSwgaSlcIiBvbmx5SWNvbiBjbG9zYWJsZSBzaXplPVwibWluaVwiPjwveC1idXR0b24+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW1nJ1wiPlxyXG4gICAgICA8eC1pbWFnZS1ncm91cD5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiPlxyXG4gICAgICAgICAgPHgtaW1hZ2VcclxuICAgICAgICAgICAgW3NyY109XCJmaWxlLnVybFwiXHJcbiAgICAgICAgICAgIChsb2FkKT1cImltZ0xvYWQoZmlsZSlcIlxyXG4gICAgICAgICAgICAoZXJyb3IpPVwiaW1nRXJyb3IoJGV2ZW50LCBmaWxlKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwie3sgZmlsZS5zdGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIFtwcmV2aWV3VHBsXT1cInByZXZpZXdUcGxcIlxyXG4gICAgICAgICAgICBbZmFsbGJhY2tdPVwiaW1nRmFsbGJhY2tcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC94LWltYWdlPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNwcmV2aWV3VHBsIGxldC1pbWFnZT1cIiRpbWFnZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtdXBsb2FkaW5nXCIgKm5nSWY9XCJmaWxlLnN0YXRlID09ICd1cGxvYWRpbmcnXCI+XHJcbiAgICAgICAgICAgICAgPHgtcHJvZ3Jlc3MgW3BlcmNlbnRdPVwiZmlsZS5wZXJjZW50IVwiIGluZm89XCJmYWxzZVwiPjwveC1wcm9ncmVzcz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LWltYWdlLW92ZXJsYXlcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJmaWxlLnN0YXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtc3RhdGVcIiAqbmdTd2l0Y2hDYXNlPVwiJ3JlYWR5J1wiIHR5cGU9XCJmdG8tY2xvY2tcIj48L3gtaWNvbj5cclxuICAgICAgICAgICAgICAgIDx4LWljb24gdHlwZT1cImZ0by1leWVcIiAqbmdTd2l0Y2hDYXNlPVwiJ3N1Y2Nlc3MnXCIgKGNsaWNrKT1cImltYWdlLm9uUHJldmlldygpXCI+PC94LWljb24+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPHgtaWNvbiAqbmdJZj1cImltZ0N1dCAmJiBmaWxlLnN0YXRlID09PSAnc3VjY2VzcydcIiB0eXBlPVwiZnRvLWNyb3BcIiAoY2xpY2spPVwib25JbWdDdXQoZmlsZSwgaSlcIj48L3gtaWNvbj5cclxuICAgICAgICAgICAgICA8eC1pY29uICpuZ0lmPVwiZmlsZS5zdGF0ZSAhPT0gJ3VwbG9hZGluZydcIiB0eXBlPVwiZnRvLXRyYXNoLTJcIiAoY2xpY2spPVwicmVtb3ZlKGZpbGUsIGkpXCI+PC94LWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidXBsb2FkQnRuVHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwveC1pbWFnZS1ncm91cD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdXBsb2FkQnRuVHBsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1idXR0b25zXCIgW2NsYXNzLngtdXBsb2FkLWJ1dHRvbnMtdGVtcGxhdGVdPVwiaXNUZW1wbGF0ZVRleHRcIiAoY2xpY2spPVwidXBsb2FkQ2xpY2soKVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImdldFRleHRcIj5cclxuICAgICAgPHgtYnV0dG9uIGljb249XCJmdG8tdXBsb2FkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgdHlwZT1cInByaW1hcnlcIj57eyBnZXRUZXh0IH19PC94LWJ1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3VwbG9hZC91cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdXBsb2FkL3VwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsYUFBYSxFQUFFLFdBQVcsRUFBYSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsU0FBUyxFQUlULFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFlLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JHLE9BQU8sRUFBa0IsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7OztBQVV2RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQVFuRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUlRLFVBQVUsQ0FBQyxLQUFvQjtRQUN0QyxJQUFJLENB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QUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFrQixFQUFFLElBQWlCO1FBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFpQjtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7aUlBblBVLGdCQUFnQjtxSEFBaEIsZ0JBQWdCLG1DQUZoQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLDZKQzdCL0MsNnlIQXdFQTs7MkZEekNhLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxHQUFHLGFBQWEsRUFBRSxpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsY0FBYyxrQkFBa0IsQ0FBQzs7MEJBNkIxQyxRQUFROzZMQTFCMEIsSUFBSTtzQkFBeEMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cFJlcXVlc3QsIEh0dHBFdmVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3B0aW9uYWxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFVwbG9hZFByZWZpeCwgWFVwbG9hZE5vZGUsIFhVcGxvYWRQcm9wZXJ0eSwgWFVwbG9hZFBvcnRhbFByZWZpeCB9IGZyb20gJy4vdXBsb2FkLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWENvbmZpZ1NlcnZpY2UsIFhJc0FycmF5LCBYSXNUZW1wbGF0ZVJlZiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBYSTE4blNlcnZpY2UsIFhJMThuVXBsb2FkIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhVcGxvYWRQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hVcGxvYWRQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhVcGxvYWRDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFVwbG9hZENvbXBvbmVudCBleHRlbmRzIFhVcGxvYWRQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKCdmaWxlJywgeyBzdGF0aWM6IHRydWUgfSkgZmlsZSE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgZmlsZXM6IFhVcGxvYWROb2RlW10gPSBbXTtcclxuICBzaG93VXBsb2FkID0gZmFsc2U7XHJcbiAgdXBsb2FkTm9kZXM6IFhVcGxvYWROb2RlW10gPSBbXTtcclxuICBsb2NhbGU6IFhJMThuVXBsb2FkID0ge307XHJcbiAgcG9ydGFsITogWFBvcnRhbE92ZXJsYXlSZWY8WFVwbG9hZFBvcnRhbENvbXBvbmVudD47XHJcblxyXG4gIGdldCBnZXRUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGV4dCB8fCB0aGlzLmxvY2FsZS51cGxvYWRUZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVGVtcGxhdGVUZXh0KCkge1xyXG4gICAgcmV0dXJuIFhJc1RlbXBsYXRlUmVmKHRoaXMuZ2V0VGV4dCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBYVXBsb2FkTm9kZVtdKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldEZpbGVzKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBwb3J0YWxTZXJ2aWNlOiBYUG9ydGFsU2VydmljZSxcclxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHVibGljIGkxOG46IFhJMThuU2VydmljZSxcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGlmICghaHR0cCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7WFVwbG9hZFByZWZpeH06IE5vdCBmb3VuZCAnSHR0cENsaWVudCcsIFlvdSBjYW4gaW1wb3J0ICdIdHRwQ2xpZW50TW9kdWxlJyBpbiB5b3VyIHJvb3QgbW9kdWxlLmApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC51cGxvYWQgYXMgWEkxOG5VcGxvYWQpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnaW1nJykgdGhpcy5hY2NlcHQgPSAnaW1hZ2UvKic7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldEZpbGVzKCkge1xyXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSByZXR1cm47XHJcbiAgICAvLyBpZiAodGhpcy50eXBlICE9PSAnaW1nJykgcmV0dXJuO1xyXG4gICAgdGhpcy5maWxlcyA9IHRoaXMudmFsdWUubWFwKCh4KSA9PiB7XHJcbiAgICAgIGlmICgheC5zdGF0ZSkgeC5zdGF0ZSA9ICdzdWNjZXNzJztcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZShldmVudDogRXZlbnQpIHtcclxuICAgIGxldCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3VuZGVmaW5lZCcgfHwgaW5wdXQuZmlsZXM/Lmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgbGV0IGZpbGVzOiBYVXBsb2FkTm9kZVtdID0gW107XHJcbiAgICBsZXQgbWF4ID0gdGhpcy5tYXhMaW1pdCA/IE51bWJlcih0aGlzLm1heExpbWl0KSA6IChpbnB1dC5maWxlcyBhcyBGaWxlTGlzdCkubGVuZ3RoO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXg7IGkrKykge1xyXG4gICAgICBsZXQgZmlsZTogWFVwbG9hZE5vZGUgPSAoaW5wdXQuZmlsZXMgYXMgRmlsZUxpc3QpLml0ZW0oaSkgYXMgWFVwbG9hZE5vZGU7XHJcbiAgICAgIGZpbGUuc3RhdGUgPSAncmVhZHknO1xyXG4gICAgICBmaWxlcyA9IFsuLi5maWxlcywgZmlsZV07XHJcbiAgICB9XHJcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkgdGhpcy5zaG93VXBsb2FkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlTW9kZWwgPT09ICdjb3ZlcicpIHtcclxuICAgICAgdGhpcy5maWxlcyA9IGZpbGVzO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm11bHRpcGxlTW9kZWwgPT09ICdhZGQnKSB7XHJcbiAgICAgIHRoaXMuZmlsZXMgPSBbLi4udGhpcy5maWxlcywgLi4uZmlsZXNdO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZmlsZXM7XHJcbiAgICB0aGlzLm9uQ2hhbmdlICYmIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLm9uVXBsb2FkaW5nKCk7XHJcbiAgICBpbnB1dC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKGZpbGU6IFhVcGxvYWROb2RlLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmZpbGVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICBpZiAodGhpcy5maWxlcy5sZW5ndGggPT09IDApIHRoaXMuZmlsZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLnNob3dVcGxvYWQgPSB0aGlzLmZpbGVzLmZpbmQoKHgpID0+IHguc3RhdGUgPT09ICdyZWFkeScpICE9IG51bGw7XHJcbiAgICBjb25zdCB2aW5kZXggPSB0aGlzLnZhbHVlLmluZGV4T2YoZmlsZSk7XHJcbiAgICBpZiAodmluZGV4ID4gLTEpIHtcclxuICAgICAgdGhpcy52YWx1ZS5zcGxpY2UodmluZGV4LCAxKTtcclxuICAgICAgdGhpcy5vbkNoYW5nZSAmJiB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZW1vdmVDbGljay5lbWl0KHsgZmlsZTogZmlsZSwgaW5kZXg6IGluZGV4IH0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5maWxlLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIG9uVXBsb2FkaW5nKCkge1xyXG4gICAgaWYgKCF0aGlzLmFjdGlvbikgcmV0dXJuO1xyXG4gICAgbGV0IHJlYWR5RmlsZXMgPSB0aGlzLmZpbGVzLmZpbHRlcigoeCkgPT4geC5zdGF0ZSA9PT0gJ3JlYWR5Jyk7XHJcbiAgICByZWFkeUZpbGVzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgdGhpcy51cGxvYWRGaWxlKHgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRGaWxlKGZpbGU6IFhVcGxvYWROb2RlLCBpbmRleCA9IC0xKSB7XHJcbiAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xyXG4gICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdGhpcy5hY3Rpb24hLCBmb3JtRGF0YSwge1xyXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInLFxyXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IGZhbHNlLFxyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnModGhpcy5oZWFkZXJzKVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmh0dHBcclxuICAgICAgLnJlcXVlc3QocmVxKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGV2ZW50KSA9PlxyXG4gICAgICAgICAgdGhpcy5nZXRFdmVudE1lc3NhZ2UoZXZlbnQsIGZpbGUsIChib2R5OiBCbG9iUGFydCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgYmxvYiA9IG5ldyBCbG9iKFtib2R5XSk7XHJcbiAgICAgICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iLCAndXRmLTgnKTtcclxuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgYm9keSA9IFtdO1xyXG4gICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBib2R5ID0gSlNPTi5wYXJzZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoWElzQXJyYXkoYm9keSkgJiYgYm9keS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIGZpbGUudXJsID0gYm9keVswXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZpbGUuYm9keSA9IGJvZHk7XHJcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWxlc1tpbmRleF0gPSBmaWxlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLnVwbG9hZFN1Y2Nlc3MuZW1pdChmaWxlKTtcclxuICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hvd1VwbG9hZCA9IHRoaXMuZmlsZXMuZmluZCgoeSkgPT4geS5zdGF0ZSA9PT0gJ3JlYWR5JykgIT0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIGZpbGUuc3RhdGUgPSAnZXJyb3InO1xyXG4gICAgICAgICAgdGhpcy51cGxvYWRFcnJvci5lbWl0KGZpbGUpO1xyXG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGdldEV2ZW50TWVzc2FnZShldmVudDogSHR0cEV2ZW50PGFueT4sIGZpbGU6IFhVcGxvYWROb2RlLCBzdWNjZXNzRnVuYzogRnVuY3Rpb24pIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuU2VudDpcclxuICAgICAgICBmaWxlLnN0YXRlID0gJ3JlYWR5JztcclxuICAgICAgICB0aGlzLnVwbG9hZFJlYWR5LmVtaXQoZmlsZSk7XHJcbiAgICAgICAgcmV0dXJuIGDlvIDlp4vkuIrkvKDmlofku7ZgO1xyXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XHJcbiAgICAgICAgZmlsZS5zdGF0ZSA9ICd1cGxvYWRpbmcnO1xyXG4gICAgICAgIGlmIChldmVudC50b3RhbCkgZmlsZS5wZXJjZW50ID0gTWF0aC5yb3VuZCgoMTAwICogZXZlbnQubG9hZGVkKSAvIGV2ZW50LnRvdGFsKTtcclxuICAgICAgICB0aGlzLnVwbG9hZGluZy5lbWl0KGZpbGUpO1xyXG4gICAgICAgIHJldHVybiBg5LiK5Lyg5LitYDtcclxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG4gICAgICAgIGZpbGUuc3RhdGUgPSAnc3VjY2Vzcyc7XHJcbiAgICAgICAgc3VjY2Vzc0Z1bmMoZXZlbnQuYm9keSk7XHJcbiAgICAgICAgcmV0dXJuIGDmlofku7bkuIrkvKDlrozmr5VgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUl0ZW0oX2luZGV4OiBudW1iZXIsIGl0ZW06IFhVcGxvYWROb2RlKSB7XHJcbiAgICByZXR1cm4gYCR7aXRlbS5uYW1lfS0ke2l0ZW0ubGFzdE1vZGlmaWVkfWA7XHJcbiAgfVxyXG5cclxuICBvbkltZ0N1dChmaWxlOiBYVXBsb2FkTm9kZSwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5wb3J0YWwgPSB0aGlzLnBvcnRhbFNlcnZpY2UuYXR0YWNoKHtcclxuICAgICAgY29udGVudDogWFVwbG9hZFBvcnRhbENvbXBvbmVudCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiB7XHJcbiAgICAgICAgcGFuZWxDbGFzczogW1hVcGxvYWRQb3J0YWxQcmVmaXhdLFxyXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMucG9ydGFsU2VydmljZS5zZXRQbGFjZSgnY2VudGVyJylcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldEluc3RhbmNlKGZpbGUsIGluZGV4KTtcclxuICB9XHJcblxyXG4gIHNldEluc3RhbmNlKGZpbGU6IFhVcGxvYWROb2RlLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWw/LmNvbXBvbmVudFJlZjtcclxuICAgIGlmICghY29tcG9uZW50UmVmKSByZXR1cm47XHJcbiAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwge1xyXG4gICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICBjbG9zZVBvcnRhbDogKCkgPT4gdGhpcy5jbG9zZVBvcnRhbCgpLFxyXG4gICAgICBkZXN0cm95UG9ydGFsOiAoKSA9PiB0aGlzLmRlc3Ryb3lQb3J0YWwoKSxcclxuICAgICAgc3VyZVBvcnRhbDogKGJsb2I6IEJsb2IpID0+IHtcclxuICAgICAgICBjb25zdCBmbCA9IG5ldyBGaWxlKFtibG9iXSwgZmlsZS5uYW1lLCB7IHR5cGU6IGJsb2IudHlwZSB9KSBhcyBYVXBsb2FkTm9kZTtcclxuICAgICAgICBmbC5zdGF0ZSA9ICdyZWFkeSc7XHJcbiAgICAgICAgdGhpcy51cGxvYWRGaWxlKGZsLCBpbmRleCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3lQb3J0YWwoKSB7XHJcbiAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgaW1nRXJyb3IoX2V2ZW50OiBFcnJvckV2ZW50LCBmaWxlOiBYVXBsb2FkTm9kZSkge1xyXG4gICAgZmlsZS5zdGF0ZSA9ICdlcnJvcic7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBpbWdMb2FkKGZpbGU6IFhVcGxvYWROb2RlKSB7XHJcbiAgICBmaWxlLnN0YXRlID0gJ3N1Y2Nlc3MnO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICN1cGxvYWQgY2xhc3M9XCJ4LXVwbG9hZCB4LXVwbG9hZC17eyB0eXBlIH19XCIgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZSAoY2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCIgW2F0dHIuYWNjZXB0XT1cImFjY2VwdFwiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIC8+XHJcblxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsaXN0J1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidXBsb2FkQnRuVHBsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJmaWxlc1RwbDsgY29udGV4dDogeyAkZmlsZXM6IGZpbGVzIH1cIj5cclxuICAgICAgICA8dWwgY2xhc3M9XCJ4LXVwbG9hZC1maWxlc1wiPlxyXG4gICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiIFtjbGFzcy54LXVwbG9hZC1kaXNhYmxlZF09XCIhZG93bmxvYWRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvd25sb2FkXCI+XHJcbiAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiZmlsZS51cmxcIiB0YXJnZXQ9XCJfYmxhbmtcIiBbdGl0bGVdPVwiZmlsZS5uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICA8eC1pY29uIHR5cGU9XCJmdG8tZmlsZS10ZXh0XCI+PC94LWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIngtdXBsb2FkLWZpbGVuYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZG93bmxvYWRcIj5cclxuICAgICAgICAgICAgICA8YT5cclxuICAgICAgICAgICAgICAgIDx4LWljb24gdHlwZT1cImZ0by1maWxlLXRleHRcIj48L3gtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwieC11cGxvYWQtZmlsZW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpbGUuc3RhdGVcIj5cclxuICAgICAgICAgICAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtc3RhdGVcIiAqbmdTd2l0Y2hDYXNlPVwiJ3JlYWR5J1wiIHR5cGU9XCJmdG8tY2xvY2tcIj48L3gtaWNvbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIngtdXBsb2FkLXBlcmNlbnRcIiAqbmdTd2l0Y2hDYXNlPVwiJ3VwbG9hZGluZydcIj57eyBmaWxlLnBlcmNlbnQgfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDx4LWljb24gY2xhc3M9XCJ4LXVwbG9hZC1zdGF0ZSBzdWNjZXNzXCIgKm5nU3dpdGNoQ2FzZT1cIidzdWNjZXNzJ1wiIHR5cGU9XCJmdG8tY2hlY2tcIj48L3gtaWNvbj5cclxuICAgICAgICAgICAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtc3RhdGUgZXJyb3JcIiAqbmdTd2l0Y2hDYXNlPVwiJ2Vycm9yJ1wiIHR5cGU9XCJmdG8taW5mb1wiPjwveC1pY29uPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHgtYnV0dG9uICpuZ0lmPVwiZmlsZS5zdGF0ZSAhPT0gJ3VwbG9hZGluZydcIiBpY29uPVwiZnRvLXhcIiAoY2xpY2spPVwicmVtb3ZlKGZpbGUsIGkpXCIgb25seUljb24gY2xvc2FibGUgc2l6ZT1cIm1pbmlcIj48L3gtYnV0dG9uPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ltZydcIj5cclxuICAgICAgPHgtaW1hZ2UtZ3JvdXA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlczsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIj5cclxuICAgICAgICAgIDx4LWltYWdlXHJcbiAgICAgICAgICAgIFtzcmNdPVwiZmlsZS51cmxcIlxyXG4gICAgICAgICAgICAobG9hZCk9XCJpbWdMb2FkKGZpbGUpXCJcclxuICAgICAgICAgICAgKGVycm9yKT1cImltZ0Vycm9yKCRldmVudCwgZmlsZSlcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInt7IGZpbGUuc3RhdGUgfX1cIlxyXG4gICAgICAgICAgICBbcHJldmlld1RwbF09XCJwcmV2aWV3VHBsXCJcclxuICAgICAgICAgICAgW2ZhbGxiYWNrXT1cImltZ0ZhbGxiYWNrXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwveC1pbWFnZT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcHJldmlld1RwbCBsZXQtaW1hZ2U9XCIkaW1hZ2VcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXVwbG9hZGluZ1wiICpuZ0lmPVwiZmlsZS5zdGF0ZSA9PSAndXBsb2FkaW5nJ1wiPlxyXG4gICAgICAgICAgICAgIDx4LXByb2dyZXNzIFtwZXJjZW50XT1cImZpbGUucGVyY2VudCFcIiBpbmZvPVwiZmFsc2VcIj48L3gtcHJvZ3Jlc3M+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwieC1pbWFnZS1vdmVybGF5XCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZmlsZS5zdGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPHgtaWNvbiBjbGFzcz1cIngtdXBsb2FkLXN0YXRlXCIgKm5nU3dpdGNoQ2FzZT1cIidyZWFkeSdcIiB0eXBlPVwiZnRvLWNsb2NrXCI+PC94LWljb24+XHJcbiAgICAgICAgICAgICAgICA8eC1pY29uIHR5cGU9XCJmdG8tZXllXCIgKm5nU3dpdGNoQ2FzZT1cIidzdWNjZXNzJ1wiIChjbGljayk9XCJpbWFnZS5vblByZXZpZXcoKVwiPjwveC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDx4LWljb24gKm5nSWY9XCJpbWdDdXQgJiYgZmlsZS5zdGF0ZSA9PT0gJ3N1Y2Nlc3MnXCIgdHlwZT1cImZ0by1jcm9wXCIgKGNsaWNrKT1cIm9uSW1nQ3V0KGZpbGUsIGkpXCI+PC94LWljb24+XHJcbiAgICAgICAgICAgICAgPHgtaWNvbiAqbmdJZj1cImZpbGUuc3RhdGUgIT09ICd1cGxvYWRpbmcnXCIgdHlwZT1cImZ0by10cmFzaC0yXCIgKGNsaWNrKT1cInJlbW92ZShmaWxlLCBpKVwiPjwveC1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInVwbG9hZEJ0blRwbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3gtaW1hZ2UtZ3JvdXA+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI3VwbG9hZEJ0blRwbD5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtYnV0dG9uc1wiIFtjbGFzcy54LXVwbG9hZC1idXR0b25zLXRlbXBsYXRlXT1cImlzVGVtcGxhdGVUZXh0XCIgKGNsaWNrKT1cInVwbG9hZENsaWNrKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJnZXRUZXh0XCI+XHJcbiAgICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLXVwbG9hZFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIHR5cGU9XCJwcmltYXJ5XCI+e3sgZ2V0VGV4dCB9fTwveC1idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -14,9 +14,9 @@ import { XBaseFormModule } from '@ng-nest/ui/base-form';
14
14
  import { XImageModule } from '@ng-nest/ui/image';
15
15
  import { XProgressModule } from '@ng-nest/ui/progress';
16
16
  import * as i0 from "@angular/core";
17
- class XUploadModule {
18
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: XUploadModule, declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty], imports: [CommonModule,
17
+ export class XUploadModule {
18
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XUploadModule, declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty], imports: [CommonModule,
20
20
  FormsModule,
21
21
  ReactiveFormsModule,
22
22
  DragDropModule,
@@ -28,7 +28,7 @@ class XUploadModule {
28
28
  XBaseFormModule,
29
29
  XImageModule,
30
30
  XProgressModule], exports: [XUploadComponent] }); }
31
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XUploadModule, imports: [CommonModule,
31
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XUploadModule, imports: [CommonModule,
32
32
  FormsModule,
33
33
  ReactiveFormsModule,
34
34
  DragDropModule,
@@ -41,8 +41,7 @@ class XUploadModule {
41
41
  XImageModule,
42
42
  XProgressModule] }); }
43
43
  }
44
- export { XUploadModule };
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XUploadModule, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XUploadModule, decorators: [{
46
45
  type: NgModule,
47
46
  args: [{
48
47
  declarations: [XUploadComponent, XUploadPortalComponent, XUploadProperty],
@@ -63,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
63
62
  ]
64
63
  }]
65
64
  }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3VwbG9hZC91cGxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXZELE1Ba0JhLGFBQWE7a0lBQWIsYUFBYTttSUFBYixhQUFhLGlCQWpCVCxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLGFBR3RFLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGFBQWE7WUFDYixXQUFXO1lBQ1gsV0FBVztZQUNYLGVBQWU7WUFDZixZQUFZO1lBQ1osZUFBZSxhQWJQLGdCQUFnQjttSUFnQmYsYUFBYSxZQWR0QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGFBQWE7WUFDYixhQUFhO1lBQ2IsV0FBVztZQUNYLFdBQVc7WUFDWCxlQUFlO1lBQ2YsWUFBWTtZQUNaLGVBQWU7O1NBR04sYUFBYTs0RkFBYixhQUFhO2tCQWxCekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLENBQUM7b0JBQ3pFLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgWEljb25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pY29uJztcclxuaW1wb3J0IHsgWFVwbG9hZFByb3BlcnR5IH0gZnJvbSAnLi91cGxvYWQucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSTE4bk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBYT3V0bGV0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgWFBvcnRhbE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhVcGxvYWRQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWEJhc2VGb3JtTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWEltYWdlTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaW1hZ2UnO1xyXG5pbXBvcnQgeyBYUHJvZ3Jlc3NNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wcm9ncmVzcyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hVcGxvYWRDb21wb25lbnQsIFhVcGxvYWRQb3J0YWxDb21wb25lbnQsIFhVcGxvYWRQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hVcGxvYWRDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgWFBvcnRhbE1vZHVsZSxcclxuICAgIFhPdXRsZXRNb2R1bGUsXHJcbiAgICBYQnV0dG9uTW9kdWxlLFxyXG4gICAgWEljb25Nb2R1bGUsXHJcbiAgICBYSTE4bk1vZHVsZSxcclxuICAgIFhCYXNlRm9ybU1vZHVsZSxcclxuICAgIFhJbWFnZU1vZHVsZSxcclxuICAgIFhQcm9ncmVzc01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhVcGxvYWRNb2R1bGUge31cclxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3VwbG9hZC91cGxvYWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBb0J2RCxNQUFNLE9BQU8sYUFBYTtpSUFBYixhQUFhO2tJQUFiLGFBQWEsaUJBakJULGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLGVBQWUsYUFHdEUsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLFdBQVc7WUFDWCxXQUFXO1lBQ1gsZUFBZTtZQUNmLFlBQVk7WUFDWixlQUFlLGFBYlAsZ0JBQWdCO2tJQWdCZixhQUFhLFlBZHRCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGFBQWE7WUFDYixXQUFXO1lBQ1gsV0FBVztZQUNYLGVBQWU7WUFDZixZQUFZO1lBQ1osZUFBZTs7MkZBR04sYUFBYTtrQkFsQnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxDQUFDO29CQUN6RSxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFhJY29uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IFhVcGxvYWRQcm9wZXJ0eSB9IGZyb20gJy4vdXBsb2FkLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWEkxOG5Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgWE91dGxldE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhQb3J0YWxNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBYVXBsb2FkUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhCYXNlRm9ybU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhJbWFnZU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ltYWdlJztcclxuaW1wb3J0IHsgWFByb2dyZXNzTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcHJvZ3Jlc3MnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtYVXBsb2FkQ29tcG9uZW50LCBYVXBsb2FkUG9ydGFsQ29tcG9uZW50LCBYVXBsb2FkUHJvcGVydHldLFxyXG4gIGV4cG9ydHM6IFtYVXBsb2FkQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIFhQb3J0YWxNb2R1bGUsXHJcbiAgICBYT3V0bGV0TW9kdWxlLFxyXG4gICAgWEJ1dHRvbk1vZHVsZSxcclxuICAgIFhJY29uTW9kdWxlLFxyXG4gICAgWEkxOG5Nb2R1bGUsXHJcbiAgICBYQmFzZUZvcm1Nb2R1bGUsXHJcbiAgICBYSW1hZ2VNb2R1bGUsXHJcbiAgICBYUHJvZ3Jlc3NNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVXBsb2FkTW9kdWxlIHt9XHJcbiJdfQ==