@ng-nest/ui 15.0.4 → 15.0.6

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 (488) hide show
  1. package/anchor/anchor.component.d.ts +5 -5
  2. package/api/api.component.d.ts +1 -1
  3. package/auto-complete/auto-complete.component.d.ts +1 -1
  4. package/avatar/avatar.component.d.ts +3 -3
  5. package/back-top/back-top.component.d.ts +2 -2
  6. package/badge/badge.component.d.ts +2 -2
  7. package/border/border.component.d.ts +1 -1
  8. package/button/button.component.d.ts +2 -2
  9. package/button/buttons.component.d.ts +1 -1
  10. package/calendar/calendar.component.d.ts +2 -2
  11. package/card/card.component.d.ts +2 -2
  12. package/carousel/carousel-panel.component.d.ts +2 -2
  13. package/carousel/carousel.component.d.ts +4 -4
  14. package/cascade/cascade.component.d.ts +1 -1
  15. package/checkbox/checkbox.component.d.ts +3 -3
  16. package/collapse/collapse-panel.component.d.ts +2 -2
  17. package/collapse/collapse.component.d.ts +2 -2
  18. package/color/color.component.d.ts +1 -1
  19. package/color-picker/color-picker-portal.component.d.ts +4 -4
  20. package/color-picker/color-picker.component.d.ts +1 -1
  21. package/comment/comment-reply.component.d.ts +2 -2
  22. package/comment/comment.component.d.ts +2 -2
  23. package/container/aside.component.d.ts +1 -1
  24. package/container/container.component.d.ts +1 -1
  25. package/container/footer.component.d.ts +1 -1
  26. package/container/header.component.d.ts +1 -1
  27. package/container/main.component.d.ts +1 -1
  28. package/core/config/config.d.ts +3 -0
  29. package/core/functions/chunk.d.ts +1 -0
  30. package/core/functions/flex.d.ts +1 -1
  31. package/core/functions/group-by.d.ts +1 -0
  32. package/core/functions/guid.d.ts +4 -0
  33. package/core/functions/public-api.d.ts +4 -0
  34. package/core/{util → functions}/resize.d.ts +0 -0
  35. package/core/util/public-api.d.ts +0 -4
  36. package/date-picker/date-picker.component.d.ts +1 -1
  37. package/date-picker/date-range.component.d.ts +1 -1
  38. package/dialog/dialog.component.d.ts +2 -2
  39. package/drawer/drawer.component.d.ts +2 -2
  40. package/dropdown/dropdown-portal.component.d.ts +6 -2
  41. package/dropdown/dropdown.component.d.ts +3 -3
  42. package/esm2020/anchor/anchor.component.mjs +1 -2
  43. package/esm2020/api/api.component.mjs +1 -1
  44. package/esm2020/auto-complete/auto-complete.component.mjs +1 -1
  45. package/esm2020/avatar/avatar.component.mjs +1 -1
  46. package/esm2020/back-top/back-top.component.mjs +1 -1
  47. package/esm2020/badge/badge.component.mjs +1 -1
  48. package/esm2020/base-form/base-form.component.mjs +3 -3
  49. package/esm2020/border/border.component.mjs +1 -1
  50. package/esm2020/button/button.component.mjs +1 -1
  51. package/esm2020/button/buttons.component.mjs +1 -1
  52. package/esm2020/calendar/calendar.component.mjs +1 -1
  53. package/esm2020/card/card.component.mjs +1 -1
  54. package/esm2020/carousel/carousel-panel.component.mjs +1 -1
  55. package/esm2020/carousel/carousel.component.mjs +1 -1
  56. package/esm2020/cascade/cascade.component.mjs +1 -1
  57. package/esm2020/checkbox/checkbox.component.mjs +1 -1
  58. package/esm2020/collapse/collapse-panel.component.mjs +1 -1
  59. package/esm2020/collapse/collapse.component.mjs +1 -1
  60. package/esm2020/color/color.component.mjs +1 -1
  61. package/esm2020/color-picker/color-picker-portal.component.mjs +1 -1
  62. package/esm2020/color-picker/color-picker.component.mjs +1 -1
  63. package/esm2020/comment/comment-reply.component.mjs +1 -1
  64. package/esm2020/comment/comment.component.mjs +1 -1
  65. package/esm2020/container/aside.component.mjs +1 -1
  66. package/esm2020/container/container.component.mjs +1 -1
  67. package/esm2020/container/footer.component.mjs +1 -1
  68. package/esm2020/container/header.component.mjs +1 -1
  69. package/esm2020/container/main.component.mjs +1 -1
  70. package/esm2020/core/config/config.mjs +1 -1
  71. package/esm2020/core/functions/chunk.mjs +14 -0
  72. package/esm2020/core/functions/flex.mjs +2 -2
  73. package/esm2020/core/functions/group-by.mjs +10 -0
  74. package/esm2020/core/functions/guid.mjs +10 -0
  75. package/esm2020/core/functions/order-by.mjs +24 -3
  76. package/esm2020/core/functions/public-api.mjs +5 -1
  77. package/esm2020/core/functions/resize.mjs +17 -0
  78. package/esm2020/core/util/public-api.mjs +1 -5
  79. package/esm2020/date-picker/date-picker-portal.component.mjs +2 -2
  80. package/esm2020/date-picker/date-picker.component.mjs +1 -1
  81. package/esm2020/date-picker/date-range.component.mjs +1 -1
  82. package/esm2020/date-picker/picker-date.component.mjs +3 -3
  83. package/esm2020/date-picker/picker-month.component.mjs +3 -3
  84. package/esm2020/date-picker/picker-year.component.mjs +3 -3
  85. package/esm2020/dialog/dialog.component.mjs +2 -2
  86. package/esm2020/drawer/drawer.component.mjs +1 -1
  87. package/esm2020/dropdown/dropdown-portal.component.mjs +16 -4
  88. package/esm2020/dropdown/dropdown.component.mjs +1 -1
  89. package/esm2020/find/find.component.mjs +1 -1
  90. package/esm2020/form/control.component.mjs +2 -2
  91. package/esm2020/form/form.component.mjs +8 -1
  92. package/esm2020/highlight/highlight.component.mjs +2 -2
  93. package/esm2020/i18n/i18n.property.mjs +1 -1
  94. package/esm2020/i18n/languages/en_GB.mjs +44 -18
  95. package/esm2020/i18n/languages/en_US.mjs +8 -2
  96. package/esm2020/i18n/languages/zh_CN.mjs +8 -2
  97. package/esm2020/i18n/languages/zh_TW.mjs +9 -3
  98. package/esm2020/icon/icon.component.mjs +1 -1
  99. package/esm2020/image/image-preview.component.mjs +1 -1
  100. package/esm2020/image/image.component.mjs +1 -1
  101. package/esm2020/inner/inner.component.mjs +1 -1
  102. package/esm2020/input/input-group.component.mjs +1 -1
  103. package/esm2020/input/input.component.mjs +3 -3
  104. package/esm2020/input-number/input-number.component.mjs +1 -1
  105. package/esm2020/link/link.component.mjs +1 -1
  106. package/esm2020/list/list-option.component.mjs +1 -1
  107. package/esm2020/list/list.component.mjs +2 -2
  108. package/esm2020/loading/loading.component.mjs +2 -2
  109. package/esm2020/menu/menu-node.component.mjs +1 -1
  110. package/esm2020/menu/menu.component.mjs +3 -3
  111. package/esm2020/message/message.component.mjs +1 -1
  112. package/esm2020/message-box/message-box.component.mjs +1 -1
  113. package/esm2020/notification/notification.component.mjs +1 -1
  114. package/esm2020/pagination/pagination.component.mjs +33 -4
  115. package/esm2020/pagination/pagination.property.mjs +15 -3
  116. package/esm2020/popconfirm/popconfirm.component.mjs +1 -1
  117. package/esm2020/popover/popover-portal.component.mjs +1 -1
  118. package/esm2020/progress/progress.component.mjs +1 -1
  119. package/esm2020/radio/radio.component.mjs +1 -1
  120. package/esm2020/rate/rate.component.mjs +1 -1
  121. package/esm2020/result/result.component.mjs +1 -1
  122. package/esm2020/select/select.component.mjs +3 -3
  123. package/esm2020/skeleton/skeleton.component.mjs +1 -1
  124. package/esm2020/slider/slider.component.mjs +1 -1
  125. package/esm2020/slider-select/slider-select.component.mjs +1 -1
  126. package/esm2020/steps/steps.component.mjs +1 -1
  127. package/esm2020/switch/switch.component.mjs +1 -1
  128. package/esm2020/table/table-body.component.mjs +6 -6
  129. package/esm2020/table/table-foot.component.mjs +1 -1
  130. package/esm2020/table/table-head.component.mjs +46 -7
  131. package/esm2020/table/table.component.mjs +16 -5
  132. package/esm2020/table/table.module.mjs +5 -1
  133. package/esm2020/table/table.property.mjs +23 -2
  134. package/esm2020/tabs/tab-content.component.mjs +1 -1
  135. package/esm2020/tabs/tab.component.mjs +3 -3
  136. package/esm2020/tabs/tabs.component.mjs +3 -3
  137. package/esm2020/tag/tag.component.mjs +1 -1
  138. package/esm2020/text-retract/text-retract.component.mjs +1 -1
  139. package/esm2020/textarea/textarea.component.mjs +1 -1
  140. package/esm2020/time-picker/time-picker-frame.component.mjs +188 -55
  141. package/esm2020/time-picker/time-picker-portal.component.mjs +30 -8
  142. package/esm2020/time-picker/time-picker.component.mjs +36 -9
  143. package/esm2020/time-picker/time-picker.module.mjs +8 -4
  144. package/esm2020/time-picker/time-picker.property.mjs +37 -3
  145. package/esm2020/timeline/timeline.component.mjs +1 -1
  146. package/esm2020/tooltip/tooltip-portal.component.mjs +3 -3
  147. package/esm2020/transfer/transfer.component.mjs +130 -20
  148. package/esm2020/transfer/transfer.module.mjs +16 -4
  149. package/esm2020/transfer/transfer.property.mjs +11 -2
  150. package/esm2020/tree/tree-node.component.mjs +1 -1
  151. package/esm2020/tree/tree.component.mjs +1 -1
  152. package/esm2020/tree-file/tree-file.component.mjs +1 -1
  153. package/esm2020/tree-select/tree-select.component.mjs +1 -1
  154. package/esm2020/upload/upload-portal.component.mjs +5 -1
  155. package/esm2020/upload/upload.component.mjs +1 -1
  156. package/fesm2015/ng-nest-ui-anchor.mjs +0 -2
  157. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  158. package/fesm2015/ng-nest-ui-api.mjs +0 -1
  159. package/fesm2015/ng-nest-ui-api.mjs.map +1 -1
  160. package/fesm2015/ng-nest-ui-auto-complete.mjs +0 -1
  161. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  162. package/fesm2015/ng-nest-ui-avatar.mjs +0 -1
  163. package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
  164. package/fesm2015/ng-nest-ui-back-top.mjs +0 -1
  165. package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
  166. package/fesm2015/ng-nest-ui-badge.mjs +0 -1
  167. package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
  168. package/fesm2015/ng-nest-ui-base-form.mjs +2 -3
  169. package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
  170. package/fesm2015/ng-nest-ui-border.mjs +0 -1
  171. package/fesm2015/ng-nest-ui-border.mjs.map +1 -1
  172. package/fesm2015/ng-nest-ui-button.mjs +0 -1
  173. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  174. package/fesm2015/ng-nest-ui-calendar.mjs +0 -1
  175. package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
  176. package/fesm2015/ng-nest-ui-card.mjs +0 -1
  177. package/fesm2015/ng-nest-ui-card.mjs.map +1 -1
  178. package/fesm2015/ng-nest-ui-carousel.mjs +0 -1
  179. package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
  180. package/fesm2015/ng-nest-ui-cascade.mjs +0 -1
  181. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  182. package/fesm2015/ng-nest-ui-checkbox.mjs +0 -1
  183. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  184. package/fesm2015/ng-nest-ui-collapse.mjs +0 -1
  185. package/fesm2015/ng-nest-ui-collapse.mjs.map +1 -1
  186. package/fesm2015/ng-nest-ui-color-picker.mjs +0 -1
  187. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  188. package/fesm2015/ng-nest-ui-color.mjs +0 -1
  189. package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
  190. package/fesm2015/ng-nest-ui-comment.mjs +0 -1
  191. package/fesm2015/ng-nest-ui-comment.mjs.map +1 -1
  192. package/fesm2015/ng-nest-ui-container.mjs +0 -1
  193. package/fesm2015/ng-nest-ui-container.mjs.map +1 -1
  194. package/fesm2015/ng-nest-ui-core.mjs +76 -56
  195. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  196. package/fesm2015/ng-nest-ui-date-picker.mjs +5 -5
  197. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  198. package/fesm2015/ng-nest-ui-dialog.mjs +1 -2
  199. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  200. package/fesm2015/ng-nest-ui-drawer.mjs +0 -1
  201. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  202. package/fesm2015/ng-nest-ui-dropdown.mjs +15 -4
  203. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  204. package/fesm2015/ng-nest-ui-find.mjs +0 -1
  205. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  206. package/fesm2015/ng-nest-ui-form.mjs +8 -2
  207. package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
  208. package/fesm2015/ng-nest-ui-highlight.mjs +1 -2
  209. package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
  210. package/fesm2015/ng-nest-ui-i18n.mjs +65 -22
  211. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  212. package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
  213. package/fesm2015/ng-nest-ui-image.mjs +0 -1
  214. package/fesm2015/ng-nest-ui-image.mjs.map +1 -1
  215. package/fesm2015/ng-nest-ui-inner.mjs +0 -1
  216. package/fesm2015/ng-nest-ui-inner.mjs.map +1 -1
  217. package/fesm2015/ng-nest-ui-input-number.mjs +0 -1
  218. package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
  219. package/fesm2015/ng-nest-ui-input.mjs +2 -3
  220. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  221. package/fesm2015/ng-nest-ui-link.mjs +0 -1
  222. package/fesm2015/ng-nest-ui-link.mjs.map +1 -1
  223. package/fesm2015/ng-nest-ui-list.mjs +1 -2
  224. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  225. package/fesm2015/ng-nest-ui-loading.mjs +1 -2
  226. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  227. package/fesm2015/ng-nest-ui-menu.mjs +2 -3
  228. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  229. package/fesm2015/ng-nest-ui-message-box.mjs +0 -1
  230. package/fesm2015/ng-nest-ui-message-box.mjs.map +1 -1
  231. package/fesm2015/ng-nest-ui-message.mjs +0 -1
  232. package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
  233. package/fesm2015/ng-nest-ui-notification.mjs +0 -1
  234. package/fesm2015/ng-nest-ui-notification.mjs.map +1 -1
  235. package/fesm2015/ng-nest-ui-pagination.mjs +46 -6
  236. package/fesm2015/ng-nest-ui-pagination.mjs.map +1 -1
  237. package/fesm2015/ng-nest-ui-popconfirm.mjs +0 -1
  238. package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
  239. package/fesm2015/ng-nest-ui-popover.mjs +0 -1
  240. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  241. package/fesm2015/ng-nest-ui-progress.mjs +0 -1
  242. package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
  243. package/fesm2015/ng-nest-ui-radio.mjs +0 -1
  244. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  245. package/fesm2015/ng-nest-ui-rate.mjs +0 -1
  246. package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
  247. package/fesm2015/ng-nest-ui-result.mjs +0 -1
  248. package/fesm2015/ng-nest-ui-result.mjs.map +1 -1
  249. package/fesm2015/ng-nest-ui-select.mjs +2 -2
  250. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  251. package/fesm2015/ng-nest-ui-skeleton.mjs +0 -1
  252. package/fesm2015/ng-nest-ui-skeleton.mjs.map +1 -1
  253. package/fesm2015/ng-nest-ui-slider-select.mjs +0 -1
  254. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  255. package/fesm2015/ng-nest-ui-slider.mjs +0 -1
  256. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  257. package/fesm2015/ng-nest-ui-steps.mjs +0 -1
  258. package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
  259. package/fesm2015/ng-nest-ui-switch.mjs +0 -1
  260. package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
  261. package/fesm2015/ng-nest-ui-table.mjs +89 -16
  262. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  263. package/fesm2015/ng-nest-ui-tabs.mjs +4 -5
  264. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  265. package/fesm2015/ng-nest-ui-tag.mjs +0 -1
  266. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  267. package/fesm2015/ng-nest-ui-text-retract.mjs +0 -1
  268. package/fesm2015/ng-nest-ui-text-retract.mjs.map +1 -1
  269. package/fesm2015/ng-nest-ui-textarea.mjs +0 -1
  270. package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
  271. package/fesm2015/ng-nest-ui-time-picker.mjs +292 -81
  272. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  273. package/fesm2015/ng-nest-ui-timeline.mjs +0 -1
  274. package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
  275. package/fesm2015/ng-nest-ui-tooltip.mjs +2 -3
  276. package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
  277. package/fesm2015/ng-nest-ui-transfer.mjs +158 -27
  278. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  279. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  280. package/fesm2015/ng-nest-ui-tree-select.mjs +0 -1
  281. package/fesm2015/ng-nest-ui-tree-select.mjs.map +1 -1
  282. package/fesm2015/ng-nest-ui-tree.mjs +0 -1
  283. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  284. package/fesm2015/ng-nest-ui-upload.mjs +4 -0
  285. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  286. package/fesm2020/ng-nest-ui-anchor.mjs +0 -2
  287. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  288. package/fesm2020/ng-nest-ui-api.mjs +0 -1
  289. package/fesm2020/ng-nest-ui-api.mjs.map +1 -1
  290. package/fesm2020/ng-nest-ui-auto-complete.mjs +0 -1
  291. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  292. package/fesm2020/ng-nest-ui-avatar.mjs +0 -1
  293. package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
  294. package/fesm2020/ng-nest-ui-back-top.mjs +0 -1
  295. package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
  296. package/fesm2020/ng-nest-ui-badge.mjs +0 -1
  297. package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
  298. package/fesm2020/ng-nest-ui-base-form.mjs +2 -3
  299. package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
  300. package/fesm2020/ng-nest-ui-border.mjs +0 -1
  301. package/fesm2020/ng-nest-ui-border.mjs.map +1 -1
  302. package/fesm2020/ng-nest-ui-button.mjs +0 -1
  303. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  304. package/fesm2020/ng-nest-ui-calendar.mjs +0 -1
  305. package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
  306. package/fesm2020/ng-nest-ui-card.mjs +0 -1
  307. package/fesm2020/ng-nest-ui-card.mjs.map +1 -1
  308. package/fesm2020/ng-nest-ui-carousel.mjs +0 -1
  309. package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
  310. package/fesm2020/ng-nest-ui-cascade.mjs +0 -1
  311. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  312. package/fesm2020/ng-nest-ui-checkbox.mjs +0 -1
  313. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  314. package/fesm2020/ng-nest-ui-collapse.mjs +0 -1
  315. package/fesm2020/ng-nest-ui-collapse.mjs.map +1 -1
  316. package/fesm2020/ng-nest-ui-color-picker.mjs +0 -1
  317. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  318. package/fesm2020/ng-nest-ui-color.mjs +0 -1
  319. package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
  320. package/fesm2020/ng-nest-ui-comment.mjs +0 -1
  321. package/fesm2020/ng-nest-ui-comment.mjs.map +1 -1
  322. package/fesm2020/ng-nest-ui-container.mjs +0 -1
  323. package/fesm2020/ng-nest-ui-container.mjs.map +1 -1
  324. package/fesm2020/ng-nest-ui-core.mjs +76 -56
  325. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  326. package/fesm2020/ng-nest-ui-date-picker.mjs +5 -5
  327. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  328. package/fesm2020/ng-nest-ui-dialog.mjs +1 -2
  329. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  330. package/fesm2020/ng-nest-ui-drawer.mjs +0 -1
  331. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  332. package/fesm2020/ng-nest-ui-dropdown.mjs +15 -4
  333. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  334. package/fesm2020/ng-nest-ui-find.mjs +0 -1
  335. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  336. package/fesm2020/ng-nest-ui-form.mjs +8 -2
  337. package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
  338. package/fesm2020/ng-nest-ui-highlight.mjs +1 -2
  339. package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
  340. package/fesm2020/ng-nest-ui-i18n.mjs +65 -22
  341. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  342. package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
  343. package/fesm2020/ng-nest-ui-image.mjs +0 -1
  344. package/fesm2020/ng-nest-ui-image.mjs.map +1 -1
  345. package/fesm2020/ng-nest-ui-inner.mjs +0 -1
  346. package/fesm2020/ng-nest-ui-inner.mjs.map +1 -1
  347. package/fesm2020/ng-nest-ui-input-number.mjs +0 -1
  348. package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
  349. package/fesm2020/ng-nest-ui-input.mjs +2 -3
  350. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  351. package/fesm2020/ng-nest-ui-link.mjs +0 -1
  352. package/fesm2020/ng-nest-ui-link.mjs.map +1 -1
  353. package/fesm2020/ng-nest-ui-list.mjs +1 -2
  354. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  355. package/fesm2020/ng-nest-ui-loading.mjs +1 -2
  356. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  357. package/fesm2020/ng-nest-ui-menu.mjs +2 -3
  358. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  359. package/fesm2020/ng-nest-ui-message-box.mjs +0 -1
  360. package/fesm2020/ng-nest-ui-message-box.mjs.map +1 -1
  361. package/fesm2020/ng-nest-ui-message.mjs +0 -1
  362. package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
  363. package/fesm2020/ng-nest-ui-notification.mjs +0 -1
  364. package/fesm2020/ng-nest-ui-notification.mjs.map +1 -1
  365. package/fesm2020/ng-nest-ui-pagination.mjs +46 -6
  366. package/fesm2020/ng-nest-ui-pagination.mjs.map +1 -1
  367. package/fesm2020/ng-nest-ui-popconfirm.mjs +0 -1
  368. package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
  369. package/fesm2020/ng-nest-ui-popover.mjs +0 -1
  370. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  371. package/fesm2020/ng-nest-ui-progress.mjs +0 -1
  372. package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
  373. package/fesm2020/ng-nest-ui-radio.mjs +0 -1
  374. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  375. package/fesm2020/ng-nest-ui-rate.mjs +0 -1
  376. package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
  377. package/fesm2020/ng-nest-ui-result.mjs +0 -1
  378. package/fesm2020/ng-nest-ui-result.mjs.map +1 -1
  379. package/fesm2020/ng-nest-ui-select.mjs +2 -2
  380. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  381. package/fesm2020/ng-nest-ui-skeleton.mjs +0 -1
  382. package/fesm2020/ng-nest-ui-skeleton.mjs.map +1 -1
  383. package/fesm2020/ng-nest-ui-slider-select.mjs +0 -1
  384. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  385. package/fesm2020/ng-nest-ui-slider.mjs +0 -1
  386. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  387. package/fesm2020/ng-nest-ui-steps.mjs +0 -1
  388. package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
  389. package/fesm2020/ng-nest-ui-switch.mjs +0 -1
  390. package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
  391. package/fesm2020/ng-nest-ui-table.mjs +89 -16
  392. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  393. package/fesm2020/ng-nest-ui-tabs.mjs +4 -5
  394. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  395. package/fesm2020/ng-nest-ui-tag.mjs +0 -1
  396. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  397. package/fesm2020/ng-nest-ui-text-retract.mjs +0 -1
  398. package/fesm2020/ng-nest-ui-text-retract.mjs.map +1 -1
  399. package/fesm2020/ng-nest-ui-textarea.mjs +0 -1
  400. package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
  401. package/fesm2020/ng-nest-ui-time-picker.mjs +291 -78
  402. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  403. package/fesm2020/ng-nest-ui-timeline.mjs +0 -1
  404. package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
  405. package/fesm2020/ng-nest-ui-tooltip.mjs +2 -3
  406. package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
  407. package/fesm2020/ng-nest-ui-transfer.mjs +155 -25
  408. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  409. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  410. package/fesm2020/ng-nest-ui-tree-select.mjs +0 -1
  411. package/fesm2020/ng-nest-ui-tree-select.mjs.map +1 -1
  412. package/fesm2020/ng-nest-ui-tree.mjs +0 -1
  413. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  414. package/fesm2020/ng-nest-ui-upload.mjs +4 -0
  415. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  416. package/find/find.component.d.ts +1 -1
  417. package/form/form.component.d.ts +1 -0
  418. package/highlight/highlight.component.d.ts +3 -3
  419. package/i18n/i18n.property.d.ts +6 -0
  420. package/i18n/languages/en_GB.d.ts +26 -0
  421. package/i18n/languages/en_US.d.ts +6 -0
  422. package/i18n/languages/zh_CN.d.ts +6 -0
  423. package/i18n/languages/zh_TW.d.ts +6 -0
  424. package/icon/icon.component.d.ts +2 -2
  425. package/image/image-preview.component.d.ts +2 -2
  426. package/image/image.component.d.ts +2 -2
  427. package/inner/inner.component.d.ts +1 -1
  428. package/input/input-group.component.d.ts +2 -2
  429. package/input/input.component.d.ts +5 -5
  430. package/input-number/input-number.component.d.ts +1 -1
  431. package/link/link.component.d.ts +2 -2
  432. package/list/list-option.component.d.ts +2 -2
  433. package/list/list.component.d.ts +7 -7
  434. package/loading/loading.component.d.ts +2 -2
  435. package/menu/menu-node.component.d.ts +2 -2
  436. package/menu/menu.component.d.ts +3 -3
  437. package/message/message.component.d.ts +2 -2
  438. package/message-box/message-box.component.d.ts +2 -2
  439. package/notification/notification.component.d.ts +2 -2
  440. package/package.json +1 -1
  441. package/pagination/pagination.component.d.ts +5 -3
  442. package/pagination/pagination.property.d.ts +13 -3
  443. package/popconfirm/popconfirm.component.d.ts +2 -2
  444. package/popover/popover-portal.component.d.ts +2 -2
  445. package/progress/progress.component.d.ts +2 -2
  446. package/radio/radio.component.d.ts +3 -3
  447. package/rate/rate.component.d.ts +3 -3
  448. package/result/result.component.d.ts +2 -2
  449. package/select/select.component.d.ts +1 -1
  450. package/skeleton/skeleton.component.d.ts +2 -2
  451. package/slider/slider.component.d.ts +4 -4
  452. package/slider-select/slider-select.component.d.ts +6 -6
  453. package/steps/steps.component.d.ts +2 -2
  454. package/switch/switch.component.d.ts +1 -1
  455. package/table/table-body.component.d.ts +3 -3
  456. package/table/table-foot.component.d.ts +3 -3
  457. package/table/table-head.component.d.ts +12 -4
  458. package/table/table.component.d.ts +15 -13
  459. package/table/table.module.d.ts +4 -3
  460. package/table/table.property.d.ts +26 -1
  461. package/tabs/tab-content.component.d.ts +1 -1
  462. package/tabs/tabs.component.d.ts +1 -1
  463. package/tag/tag.component.d.ts +2 -2
  464. package/text-retract/text-retract.component.d.ts +2 -2
  465. package/textarea/textarea.component.d.ts +4 -4
  466. package/time-picker/time-picker-frame.component.d.ts +30 -23
  467. package/time-picker/time-picker-portal.component.d.ts +13 -3
  468. package/time-picker/time-picker.component.d.ts +6 -3
  469. package/time-picker/time-picker.module.d.ts +2 -1
  470. package/time-picker/time-picker.property.d.ts +38 -2
  471. package/timeline/timeline.component.d.ts +2 -2
  472. package/tooltip/tooltip-portal.component.d.ts +3 -3
  473. package/transfer/transfer.component.d.ts +14 -4
  474. package/transfer/transfer.module.d.ts +4 -1
  475. package/transfer/transfer.property.d.ts +29 -4
  476. package/tree/tree-node.component.d.ts +2 -2
  477. package/tree/tree.component.d.ts +3 -3
  478. package/tree-file/tree-file.component.d.ts +2 -2
  479. package/tree-select/tree-select.component.d.ts +1 -1
  480. package/upload/upload-portal.component.d.ts +6 -6
  481. package/upload/upload.component.d.ts +3 -3
  482. package/core/util/chunk.d.ts +0 -1
  483. package/core/util/group-by.d.ts +0 -1
  484. package/core/util/guid.d.ts +0 -4
  485. package/esm2020/core/util/chunk.mjs +0 -14
  486. package/esm2020/core/util/group-by.mjs +0 -10
  487. package/esm2020/core/util/guid.mjs +0 -10
  488. package/esm2020/core/util/resize.mjs +0 -17
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
34
34
  type: Component,
35
35
  args: [{ selector: `${XSkeletonPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!loading\">\r\n <ng-content></ng-content>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loading\">\r\n <div #skeleton class=\"x-skeleton\" [ngClass]=\"classMap\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: data }\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #rowsTpl let-rows=\"rows\">\r\n <x-row *ngFor=\"let row of rows\" [space]=\"row.space\" [justify]=\"row.flex ? 'start' : undefined\" [ngStyle]=\"row.style\">\r\n <x-col\r\n *ngFor=\"let col of row.cols\"\r\n [span]=\"col.span\"\r\n [inherit]=\"col.width || col.height ? true : false\"\r\n [ngStyle]=\"col.style\"\r\n [style.padding-top.rem]=\"border && row.space / 2\"\r\n [style.padding-bottom.rem]=\"border && row.space / 2\"\r\n [ngClass]=\"{\r\n title: col.type === 'title',\r\n img: col.type === 'img',\r\n avatar: col.type === 'avatar',\r\n transparent: col.type === 'transparent',\r\n 'has-child': col.rows\r\n }\"\r\n >\r\n <div [style.width]=\"col.width\" [style.height]=\"col.height\">\r\n <ng-container *ngIf=\"col.rows\">\r\n <ng-container *ngTemplateOutlet=\"rowsTpl; context: { rows: col.rows }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </x-col>\r\n </x-row>\r\n</ng-template>\r\n", styles: ["@keyframes skeleton-active{0%{width:0;opacity:.1}20%{width:0;opacity:.5}to{width:100%;opacity:0}}.x-skeleton{margin:0;padding:0}.x-skeleton x-row,.x-skeleton x-col{min-height:1rem}.x-skeleton x-row{background-color:var(--x-background)}.x-skeleton x-row:not(:first-child){margin-top:1rem}.x-skeleton x-col>div{width:100%;height:1rem;background-color:var(--x-info-800);border-radius:var(--x-border-radius);position:relative}.x-skeleton x-col.has-child>div{background-color:transparent}.x-skeleton x-col.has-size{width:inherit}.x-skeleton x-col.avatar>div{border-radius:50%}.x-skeleton x-col.title>div,.x-skeleton x-col.avatar>div,.x-skeleton x-col.img>div{background-color:var(--x-info-700)}.x-skeleton x-col.transparent{padding:0!important}.x-skeleton x-col.transparent>div{background-color:transparent}.x-skeleton-border x-row{margin:0!important}.x-skeleton-border x-row x-col{border-left:.0625rem solid var(--x-border);border-bottom:.0625rem solid var(--x-border)}.x-skeleton-border x-row x-col:last-child{border-right:.0625rem solid var(--x-border)}.x-skeleton-border x-row:first-child x-col{border-top:.0625rem solid var(--x-border)}.x-skeleton-active x-col:not(.has-child):not(.transparent)>div:before{position:absolute;inset:0;background:var(--x-background-100);border-radius:var(--x-border-radius);opacity:0;animation:skeleton-active 1.4s cubic-bezier(.23,1,.32,1) infinite;content:\"\"}\n"] }]
36
36
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDOzs7OztBQVM3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBQ3ZELFlBQ1MsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO0lBR3RDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUM1QixTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxDQUFDLEdBQUcsZUFBZSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNuRCxDQUFDLEdBQUcsZUFBZSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNwRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOztrSUF6QlUsa0JBQWtCO3NIQUFsQixrQkFBa0IsOEZDckIvQiw4MENBbUNBOzJGRGRhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxHQUFHLGVBQWUsRUFBRSxpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTa2VsZXRvblByZWZpeCwgWFNrZWxldG9uUHJvcGVydHkgfSBmcm9tICcuL3NrZWxldG9uLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTa2VsZXRvblByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9za2VsZXRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2tlbGV0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2tlbGV0b25Db21wb25lbnQgZXh0ZW5kcyBYU2tlbGV0b25Qcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBsb2FkaW5nIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGxvYWRpbmcpICYmIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwID0ge1xyXG4gICAgICBbYCR7WFNrZWxldG9uUHJlZml4fS1hY3RpdmVgXTogQm9vbGVhbih0aGlzLmFjdGl2ZSksXHJcbiAgICAgIFtgJHtYU2tlbGV0b25QcmVmaXh9LWJvcmRlcmBdOiBCb29sZWFuKHRoaXMuYm9yZGVyKVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICA8ZGl2ICNza2VsZXRvbiBjbGFzcz1cIngtc2tlbGV0b25cIiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd3NUcGw7IGNvbnRleHQ6IHsgcm93czogZGF0YSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3dzVHBsIGxldC1yb3dzPVwicm93c1wiPlxyXG4gIDx4LXJvdyAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3NcIiBbc3BhY2VdPVwicm93LnNwYWNlXCIgW2p1c3RpZnldPVwicm93LmZsZXggPyAnc3RhcnQnIDogdW5kZWZpbmVkXCIgW25nU3R5bGVdPVwicm93LnN0eWxlXCI+XHJcbiAgICA8eC1jb2xcclxuICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiByb3cuY29sc1wiXHJcbiAgICAgIFtzcGFuXT1cImNvbC5zcGFuXCJcclxuICAgICAgW2luaGVyaXRdPVwiY29sLndpZHRoIHx8IGNvbC5oZWlnaHQgPyB0cnVlIDogZmFsc2VcIlxyXG4gICAgICBbbmdTdHlsZV09XCJjb2wuc3R5bGVcIlxyXG4gICAgICBbc3R5bGUucGFkZGluZy10b3AucmVtXT1cImJvcmRlciAmJiByb3cuc3BhY2UgLyAyXCJcclxuICAgICAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnJlbV09XCJib3JkZXIgJiYgcm93LnNwYWNlIC8gMlwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICB0aXRsZTogY29sLnR5cGUgPT09ICd0aXRsZScsXHJcbiAgICAgICAgaW1nOiBjb2wudHlwZSA9PT0gJ2ltZycsXHJcbiAgICAgICAgYXZhdGFyOiBjb2wudHlwZSA9PT0gJ2F2YXRhcicsXHJcbiAgICAgICAgdHJhbnNwYXJlbnQ6IGNvbC50eXBlID09PSAndHJhbnNwYXJlbnQnLFxyXG4gICAgICAgICdoYXMtY2hpbGQnOiBjb2wucm93c1xyXG4gICAgICB9XCJcclxuICAgID5cclxuICAgICAgPGRpdiBbc3R5bGUud2lkdGhdPVwiY29sLndpZHRoXCIgW3N0eWxlLmhlaWdodF09XCJjb2wuaGVpZ2h0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbC5yb3dzXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93c1RwbDsgY29udGV4dDogeyByb3dzOiBjb2wucm93cyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC94LWNvbD5cclxuICA8L3gtcm93PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2tlbGV0b24vc2tlbGV0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDOzs7OztBQVM3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBQ3ZELFlBQ1MsUUFBbUIsRUFDbkIsVUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtJQUd0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDNUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ2QsQ0FBQyxHQUFHLGVBQWUsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDbkQsQ0FBQyxHQUFHLGVBQWUsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDcEQsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7a0lBekJVLGtCQUFrQjtzSEFBbEIsa0JBQWtCLDhGQ3JCL0IsODBDQW1DQTsyRkRkYSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsR0FBRyxlQUFlLEVBQUUsaUJBR2YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYU2tlbGV0b25QcmVmaXgsIFhTa2VsZXRvblByb3BlcnR5IH0gZnJvbSAnLi9za2VsZXRvbi5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU2tlbGV0b25QcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2tlbGV0b24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NrZWxldG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNrZWxldG9uQ29tcG9uZW50IGV4dGVuZHMgWFNrZWxldG9uUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGxvYWRpbmcgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UobG9hZGluZykgJiYgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXAgPSB7XHJcbiAgICAgIFtgJHtYU2tlbGV0b25QcmVmaXh9LWFjdGl2ZWBdOiBCb29sZWFuKHRoaXMuYWN0aXZlKSxcclxuICAgICAgW2Ake1hTa2VsZXRvblByZWZpeH0tYm9yZGVyYF06IEJvb2xlYW4odGhpcy5ib3JkZXIpXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ1wiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gIDxkaXYgI3NrZWxldG9uIGNsYXNzPVwieC1za2VsZXRvblwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicm93c1RwbDsgY29udGV4dDogeyByb3dzOiBkYXRhIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI3Jvd3NUcGwgbGV0LXJvd3M9XCJyb3dzXCI+XHJcbiAgPHgtcm93ICpuZ0Zvcj1cImxldCByb3cgb2Ygcm93c1wiIFtzcGFjZV09XCJyb3cuc3BhY2VcIiBbanVzdGlmeV09XCJyb3cuZmxleCA/ICdzdGFydCcgOiB1bmRlZmluZWRcIiBbbmdTdHlsZV09XCJyb3cuc3R5bGVcIj5cclxuICAgIDx4LWNvbFxyXG4gICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIHJvdy5jb2xzXCJcclxuICAgICAgW3NwYW5dPVwiY29sLnNwYW5cIlxyXG4gICAgICBbaW5oZXJpdF09XCJjb2wud2lkdGggfHwgY29sLmhlaWdodCA/IHRydWUgOiBmYWxzZVwiXHJcbiAgICAgIFtuZ1N0eWxlXT1cImNvbC5zdHlsZVwiXHJcbiAgICAgIFtzdHlsZS5wYWRkaW5nLXRvcC5yZW1dPVwiYm9yZGVyICYmIHJvdy5zcGFjZSAvIDJcIlxyXG4gICAgICBbc3R5bGUucGFkZGluZy1ib3R0b20ucmVtXT1cImJvcmRlciAmJiByb3cuc3BhY2UgLyAyXCJcclxuICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgIHRpdGxlOiBjb2wudHlwZSA9PT0gJ3RpdGxlJyxcclxuICAgICAgICBpbWc6IGNvbC50eXBlID09PSAnaW1nJyxcclxuICAgICAgICBhdmF0YXI6IGNvbC50eXBlID09PSAnYXZhdGFyJyxcclxuICAgICAgICB0cmFuc3BhcmVudDogY29sLnR5cGUgPT09ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgICAgJ2hhcy1jaGlsZCc6IGNvbC5yb3dzXHJcbiAgICAgIH1cIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IFtzdHlsZS53aWR0aF09XCJjb2wud2lkdGhcIiBbc3R5bGUuaGVpZ2h0XT1cImNvbC5oZWlnaHRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sLnJvd3NcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dzVHBsOyBjb250ZXh0OiB7IHJvd3M6IGNvbC5yb3dzIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3gtY29sPlxyXG4gIDwveC1yb3c+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -239,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
239
239
  type: ViewChild,
240
240
  args: ['sliderNodes']
241
241
  }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDOUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQW9DbkQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFyQ3RDLFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBRTFCLG1CQUFjLEdBQWMsRUFBRSxDQUFDO1FBQy9CLGlCQUFZLEdBQWMsRUFBRSxDQUFDO1FBQzdCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDVCxZQUFPLEdBQVcsQ0FBQyxDQUFD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Q2pCLENBQUM7O2dJQXRPVSxnQkFBZ0I7b0hBQWhCLGdCQUFnQix1U0MzQjdCLHV1REF1Q0E7MkZEWmEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0xBR3BCLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDQyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFNpbXBsZUNoYW5nZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYU2xpZGVyUHJlZml4LCBYU2xpZGVyTm9kZSwgWFNsaWRlclByb3BlcnR5IH0gZnJvbSAnLi9zbGlkZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xhc3NNYXAsIFhJc0NoYW5nZSwgWFJlc2l6ZSwgWFBvc2l0aW9uLCBYSXNVbmRlZmluZWQsIFhJc0VtcHR5LCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU2xpZGVyUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFNsaWRlckNvbXBvbmVudCBleHRlbmRzIFhTbGlkZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlclNjcm9sbCcpIHNsaWRlclNjcm9sbCE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnc2xpZGVyTm9kZXMnKSBzbGlkZXJOb2RlcyE6IEVsZW1lbnRSZWY7XHJcbiAgbm9kZXM6IFhTbGlkZXJOb2RlW10gPSBbXTtcclxuICBhY3RpdmF0ZWQhOiBYU2xpZGVyTm9kZTtcclxuICBzY3JvbGxDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgbm9kZUNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuICBzaG93QXJyb3cgPSBmYWxzZTtcclxuICBhY3RpdmF0ZWRJZCA9ICcnO1xyXG4gIHByaXZhdGUgX29mZnNldDogbnVtYmVyID0gMDtcclxuICBnZXQgb2Zmc2V0KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fb2Zmc2V0O1xyXG4gIH1cclxuICBzZXQgb2Zmc2V0KHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuX29mZnNldCA9IE1hdGguZmxvb3IodmFsdWUpO1xyXG4gICAgdGhpcy50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlJHt0aGlzLmRpcn0oLSR7dGhpcy5fb2Zmc2V0fXB4KWA7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIGRpcmVjdGlvbjogWFBvc2l0aW9uID0gJ3JpZ2h0JztcclxuICBtYXhPZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgZ2V0IGRpcigpOiAnWCcgfCAnWScge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAncm93JyA/ICdYJyA6ICdZJztcclxuICB9XHJcbiAgZ2V0IHNpemVOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAncm93JyA/ICdXaWR0aCcgOiAnSGVpZ2h0JztcclxuICB9XHJcbiAgdHJhbnNmb3JtPzogc3RyaW5nO1xyXG4gIGhpZ2hsaWdodEJveCA9IHtcclxuICAgIHdpZHRoOiAnJyxcclxuICAgIGhlaWdodDogJycsXHJcbiAgICBsZWZ0OiAnJyxcclxuICAgIHRvcDogJydcclxuICB9O1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgbGF5b3V0LCBqdXN0aWZ5LCBub2RlSnVzdGlmeSwgYWN0aXZhdGVkSW5kZXggfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgICBYSXNDaGFuZ2UobGF5b3V0KSAmJiB0aGlzLnNldENoYW5nZSh0aGlzLmNsYXNzTWFwLCBsYXlvdXQpO1xyXG4gICAgWElzQ2hhbmdlKGp1c3RpZnkpICYmIHRoaXMuc2V0Q2hhbmdlKHRoaXMuc2Nyb2xsQ2xhc3NNYXAsIGp1c3RpZnksICd4LWp1c3RpZnknKTtcclxuICAgIFhJc0NoYW5nZShub2RlSnVzdGlmeSkgJiYgdGhpcy5zZXRDaGFuZ2UodGhpcy5ub2RlQ2xhc3NNYXAsIG5vZGVKdXN0aWZ5LCAneC1qdXN0aWZ5Jyk7XHJcbiAgICBYSXNDaGFuZ2UoYWN0aXZhdGVkSW5kZXgpICYmIHRoaXMuc2V0RGlyZWN0aW9uKGFjdGl2YXRlZEluZGV4LmN1cnJlbnRWYWx1ZSwgYWN0aXZhdGVkSW5kZXgucHJldmlvdXNWYWx1ZSkgJiYgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LSR7dGhpcy5sYXlvdXR9YF0gPSAhWElzRW1wdHkodGhpcy5sYXlvdXQpO1xyXG4gICAgdGhpcy5zY3JvbGxDbGFzc01hcFtgeC1qdXN0aWZ5LSR7dGhpcy5qdXN0aWZ5fWBdID0gIVhJc0VtcHR5KHRoaXMuanVzdGlmeSk7XHJcbiAgICB0aGlzLm5vZGVDbGFzc01hcCA9IHtcclxuICAgICAgW2B4LWp1c3RpZnktJHt0aGlzLm5vZGVKdXN0aWZ5fWBdOiAhWElzRW1wdHkodGhpcy5ub2RlSnVzdGlmeSksXHJcbiAgICAgIFtgeC1zaXplLSR7dGhpcy5zaXplfWBdOiAhWElzRW1wdHkodGhpcy5zaXplKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldENoYW5nZShtYXA6IFhDbGFzc01hcCwgY2hhbmdlOiBTaW1wbGVDaGFuZ2UsIHByZWZpeCA9IFhTbGlkZXJQcmVmaXgpIHtcclxuICAgIG1hcFtgJHtwcmVmaXh9LSR7Y2hhbmdlLnByZXZpb3VzVmFsdWV9YF0gPSBmYWxzZTtcclxuICAgIG1hcFtgJHtwcmVmaXh9LSR7Y2hhbmdlLmN1cnJlbnRWYWx1ZX1gXSA9IHRydWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBYUmVzaXplKHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IHgucmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgdGhpcy5zaXplQ2hlY2tlZCgpO1xyXG4gICAgICAgIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbm9kZUNsaWNrKGV2ZW50OiBFdmVudCB8IG51bGwsIG5vZGU6IFhTbGlkZXJOb2RlLCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5zZXREaXJlY3Rpb24oaW5kZXgsIE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSk7XHJcbiAgICB0aGlzLmFjdGl2YXRlZEluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLmFjdGl2YXRlZCA9IG5vZGU7XHJcbiAgICB0aGlzLmFjdGl2YXRlZElkID0gbm9kZS5pZDtcclxuICAgIHRoaXMuc2V0SGlnaGxpZ2h0KCk7XHJcbiAgICB0aGlzLnNldFRyYW5zbGF0ZSgpO1xyXG4gICAgdGhpcy5pbmRleENoYW5nZS5lbWl0KGluZGV4KTtcclxuICAgIHRoaXMubm9kZUNoYW5nZS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZHJvcGRvd25DbGljayhub2RlOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLm5vZGVzLmluZGV4T2Yobm9kZSk7XHJcbiAgICB0aGlzLm5vZGVDbGljayhudWxsLCBub2RlLCBpbmRleCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxQcmV2KCkge1xyXG4gICAgaWYgKHRoaXMub2Zmc2V0ID09PSAwKSByZXR1cm47XHJcbiAgICBjb25zdCBzY3JvbGxTaXplID0gdGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0O1xyXG4gICAgaWYgKCFjdXJyZW50T2Zmc2V0KSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ID4gc2Nyb2xsU2l6ZSA/IGN1cnJlbnRPZmZzZXQgLSBzY3JvbGxTaXplIDogMDtcclxuICAgIHRoaXMub2Zmc2V0ID0gb2Zmc2V0O1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsTmV4dCgpIHtcclxuICAgIGlmICh0aGlzLm9mZnNldCA9PT0gdGhpcy5tYXhPZmZzZXQpIHJldHVybjtcclxuICAgIGNvbnN0IHNsaWRlclNpemUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBpZiAoc2xpZGVyU2l6ZSAtIGN1cnJlbnRPZmZzZXQgPD0gc2Nyb2xsU2l6ZSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgb2Zmc2V0ID0gc2xpZGVyU2l6ZSAtIGN1cnJlbnRPZmZzZXQgPiBzY3JvbGxTaXplICogMiA/IGN1cnJlbnRPZmZzZXQgKyBzY3JvbGxTaXplIDogc2xpZGVyU2l6ZSAtIHNjcm9sbFNpemU7XHJcbiAgICB0aGlzLm9mZnNldCA9IG9mZnNldDtcclxuICB9XHJcblxyXG4gIHNldERpcmVjdGlvbihpbmRleDogbnVtYmVyLCBiZWZvcmU6IG51bWJlcikge1xyXG4gICAgY29uc3QgaW5jcmVhc2UgPSBpbmRleCA+IGJlZm9yZTtcclxuICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5sYXlvdXQgPT09ICdyb3cnID8gKGluY3JlYXNlID8gJ3JpZ2h0JyA6ICdsZWZ0JykgOiBpbmNyZWFzZSA/ICdib3R0b20nIDogJ3RvcCc7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXRUcmFuc2xhdGUoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyU2Nyb2xsKSB8fCBYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJOb2RlcykpIHJldHVybjtcclxuICAgIGNvbnN0IHNsaWRlclJlY3QgPSB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHNsaWRlck5vZGVzUmVjdCA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBsZXQgbW92ZUluZGV4ID0gWydib3R0b20nLCAncmlnaHQnXS5pbmRleE9mKHRoaXMuZGlyZWN0aW9uKSAhPT0gLTEgPyBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCkgKyAyIDogTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpO1xyXG4gICAgbW92ZUluZGV4ID0gbW92ZUluZGV4ID4gdGhpcy5ub2Rlcy5sZW5ndGggPyB0aGlzLm5vZGVzLmxlbmd0aCA6IG1vdmVJbmRleCA9PT0gMCA/IDEgOiBtb3ZlSW5kZXg7XHJcbiAgICBsZXQgbW92ZUVsZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcihgbGk6bnRoLWNoaWxkKCR7bW92ZUluZGV4fSlgKTtcclxuICAgIGxldCBtYXhPZmZzZXQgPSAwO1xyXG4gICAgaWYgKFhJc0VtcHR5KG1vdmVFbGUpKSByZXR1cm47XHJcbiAgICBjb25zdCBtb3ZlUmVjdCA9IG1vdmVFbGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBsZXQgb2Zmc2V0ID0gY3VycmVudE9mZnNldDtcclxuICAgIGlmICh0aGlzLmxheW91dCA9PT0gJ3JvdycpIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LndpZHRoIC0gc2xpZGVyUmVjdC53aWR0aDtcclxuICAgICAgaWYgKG1vdmVSZWN0LmxlZnQgPCBzbGlkZXJSZWN0LmxlZnQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QubGVmdCAtIG1vdmVSZWN0LmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5yaWdodCA+IHNsaWRlclJlY3QucmlnaHQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgbW92ZVJlY3QucmlnaHQgLSBzbGlkZXJSZWN0LnJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtYXhPZmZzZXQgPSBzbGlkZXJOb2Rlc1JlY3QuaGVpZ2h0IC0gc2xpZGVyUmVjdC5oZWlnaHQ7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC50b3AgPCBzbGlkZXJSZWN0LnRvcCkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgLSAoc2xpZGVyUmVjdC50b3AgLSBtb3ZlUmVjdC50b3ApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5ib3R0b20gPiBzbGlkZXJSZWN0LmJvdHRvbSkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyAobW92ZVJlY3QuYm90dG9tIC0gc2xpZGVyUmVjdC5ib3R0b20pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1heE9mZnNldCA9IE1hdGguY2VpbChtYXhPZmZzZXQpO1xyXG4gICAgb2Zmc2V0ID0gTWF0aC5tYXgoTWF0aC5jZWlsKG9mZnNldCksIDApO1xyXG4gICAgaWYgKFt0aGlzLm1heE9mZnNldCArIDEsIHRoaXMubWF4T2Zmc2V0IC0gMV0uaW5jbHVkZXMob2Zmc2V0KSkge1xyXG4gICAgICB0aGlzLm9mZnNldCA9IHRoaXMubWF4T2Zmc2V0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQsIHRoaXMubWF4T2Zmc2V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNpemVDaGVja2VkKCkge1xyXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNob3dBcnJvdyA9IHRoaXMubm9kZXMubGVuZ3RoID4gMSAmJiBzaXplID4gc2Nyb2xsU2l6ZTtcclxuICAgIGlmICh0aGlzLnNob3dBcnJvdyAhPT0gc2hvd0Fycm93KSB7XHJcbiAgICAgIHRoaXMuc2hvd0Fycm93ID0gc2hvd0Fycm93O1xyXG4gICAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LXNob3ctYXJyb3dgXSA9IHRoaXMuc2hvd0Fycm93O1xyXG4gICAgICBpZiAoIXRoaXMuc2hvd0Fycm93KSB7XHJcbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFjdGl2YXRlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSB0aGlzLm5vZGVzW051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KV07XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2YXRlZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkSWQgPSB0aGlzLmFjdGl2YXRlZC5pZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRIaWdobGlnaHQoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyTm9kZXMpKSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVFbGUgPSB0aGlzLnNsaWRlck5vZGVzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgbGk6bnRoLWNoaWxkKCR7TnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpICsgMX0pYCk7XHJcbiAgICBpZiAoIWFjdGl2ZUVsZSkgcmV0dXJuO1xyXG4gICAgdGhpcy5oaWdobGlnaHRCb3ggPSB7XHJcbiAgICAgIHdpZHRoOiBgJHthY3RpdmVFbGUub2Zmc2V0V2lkdGh9cHhgLFxyXG4gICAgICBoZWlnaHQ6IGAke2FjdGl2ZUVsZS5vZmZzZXRIZWlnaHR9cHhgLFxyXG4gICAgICBsZWZ0OiBgJHthY3RpdmVFbGUub2Zmc2V0TGVmdH1weGAsXHJcbiAgICAgIHRvcDogYCR7YWN0aXZlRWxlLm9mZnNldFRvcH1weGBcclxuICAgIH07XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBYU2V0RGF0YTxYU2xpZGVyTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0QWN0aXZhdGVkKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmF0ZWQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSA9PT0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWFNsaWRlck5vZGUpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNzbGlkZXIgY2xhc3M9XCJ4LXNsaWRlclwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCI+XHJcbiAgPHgtbGluayAqbmdJZj1cInNob3dBcnJvd1wiIFtkaXNhYmxlZF09XCJvZmZzZXQgPT09IDBcIiBjbGFzcz1cIngtc2xpZGVyLWFycm93LWxlZnRcIiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIChjbGljayk9XCJzY3JvbGxQcmV2KClcIj48L3gtbGluaz5cclxuICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2Nyb2xsXCIgI3NsaWRlclNjcm9sbCBbbmdDbGFzc109XCJzY3JvbGxDbGFzc01hcFwiPlxyXG4gICAgPHVsICNzbGlkZXJOb2RlcyBbc3R5bGUudHJhbnNmb3JtXT1cInRyYW5zZm9ybVwiPlxyXG4gICAgICA8bGlcclxuICAgICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBub2RlczsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIlxyXG4gICAgICAgIFtjbGFzcy54LXNsaWRlci1hY3RpdmF0ZWRdPVwiZ2V0QWN0aXZhdGVkKGkpXCJcclxuICAgICAgICBbY2xhc3MueC1zbGlkZXItZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHgtbGluayAoY2xpY2spPVwibm9kZUNsaWNrKCRldmVudCwgbm9kZSwgaSlcIiBbbmdDbGFzc109XCJub2RlQ2xhc3NNYXBcIiBbaHJlZl09XCJzaG93QW5jaG9yID8gJyMnICsgbm9kZS5pZCA6ICcnXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vZGVUcGxcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cIm5vZGUubGFiZWxcIj57eyBub2RlLmxhYmVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3gtbGluaz5cclxuICAgICAgPC9saT5cclxuICAgICAgPGxpIGNsYXNzPVwieC1zbGlkZXItaGlnaGxpZ2h0XCIgW2NsYXNzLngtc2xpZGVyLWhpZ2hsaWdodC1hbmltYXRlZF09XCJhbmltYXRlZFwiIFtuZ1N0eWxlXT1cImhpZ2hsaWdodEJveFwiPjwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG4gIDx4LWxpbmtcclxuICAgICpuZ0lmPVwic2hvd0Fycm93XCJcclxuICAgIFtkaXNhYmxlZF09XCJvZmZzZXQgPT09IG1heE9mZnNldFwiXHJcbiAgICBjbGFzcz1cIngtc2xpZGVyLWFycm93LXJpZ2h0XCJcclxuICAgIGljb249XCJmdG8tY2hldnJvbi1yaWdodFwiXHJcbiAgICAoY2xpY2spPVwic2Nyb2xsTmV4dCgpXCJcclxuICA+PC94LWxpbms+XHJcbiAgPHgtZHJvcGRvd25cclxuICAgICpuZ0lmPVwic2hvd0V4cGFuZCAmJiBzaG93QXJyb3cgJiYgbGF5b3V0ID09PSAncm93J1wiXHJcbiAgICBjbGFzcz1cIngtc2xpZGVyLWFsbFwiXHJcbiAgICBbZGF0YV09XCJub2Rlc1wiXHJcbiAgICB0cmlnZ2VyPVwiY2xpY2tcIlxyXG4gICAgWyhhY3RpdmF0ZWRJZCldPVwiYWN0aXZhdGVkSWRcIlxyXG4gICAgKG5vZGVDbGljayk9XCJkcm9wZG93bkNsaWNrKCRldmVudClcIlxyXG4gICAgW3BvcnRhbE1heEhlaWdodF09XCJleHBhbmRNYXhIZWlnaHRcIlxyXG4gID5cclxuICAgIDx4LWJ1dHRvbiBpY29uPVwiZnRvLWxpc3RcIiBvbmx5SWNvbiBbc2l6ZV09XCJzaXplXCI+IDwveC1idXR0b24+XHJcbiAgPC94LWRyb3Bkb3duPlxyXG48L2Rpdj5cclxuIl19
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUlqQix1QkFBdUIsRUFHdkIsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQWUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxPQUFPLEVBQWEsWUFBWSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDOUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQW9DbkQsWUFDUyxRQUFtQixFQUNuQixVQUFtQyxFQUNuQyxHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBckN0QyxVQUFLLEdBQWtCLEVBQUUsQ0FBQztRQUUxQixtQkFBYyxHQUFjLEVBQUUsQ0FBQztRQUMvQixpQkFBWSxHQUFjLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ1QsWUFBTyxHQUFXLENBQUMsQ0FB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SUFDakIsQ0FBQzs7Z0lBdE9VLGdCQUFnQjtvSEFBaEIsZ0JBQWdCLHVTQzNCN0IsdXVEQXVDQTsyRkRaYSxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsR0FBRyxhQUFhLEVBQUUsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTtzTEFHcEIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNDLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgU2ltcGxlQ2hhbmdlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJQcmVmaXgsIFhTbGlkZXJOb2RlLCBYU2xpZGVyUHJvcGVydHkgfSBmcm9tICcuL3NsaWRlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhDbGFzc01hcCwgWElzQ2hhbmdlLCBYUmVzaXplLCBYUG9zaXRpb24sIFhJc1VuZGVmaW5lZCwgWElzRW1wdHksIFhTZXREYXRhLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTbGlkZXJQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgWFNsaWRlclByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnc2xpZGVyU2Nyb2xsJykgc2xpZGVyU2Nyb2xsITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnc2xpZGVyTm9kZXMnKSBzbGlkZXJOb2RlcyE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIG5vZGVzOiBYU2xpZGVyTm9kZVtdID0gW107XHJcbiAgYWN0aXZhdGVkITogWFNsaWRlck5vZGU7XHJcbiAgc2Nyb2xsQ2xhc3NNYXA6IFhDbGFzc01hcCA9IHt9O1xyXG4gIG5vZGVDbGFzc01hcDogWENsYXNzTWFwID0ge307XHJcbiAgc2hvd0Fycm93ID0gZmFsc2U7XHJcbiAgYWN0aXZhdGVkSWQgPSAnJztcclxuICBwcml2YXRlIF9vZmZzZXQ6IG51bWJlciA9IDA7XHJcbiAgZ2V0IG9mZnNldCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX29mZnNldDtcclxuICB9XHJcbiAgc2V0IG9mZnNldCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9vZmZzZXQgPSBNYXRoLmZsb29yKHZhbHVlKTtcclxuICAgIHRoaXMudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSR7dGhpcy5kaXJ9KC0ke3RoaXMuX29mZnNldH1weClgO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICBkaXJlY3Rpb246IFhQb3NpdGlvbiA9ICdyaWdodCc7XHJcbiAgbWF4T2Zmc2V0OiBudW1iZXIgPSAwO1xyXG4gIGdldCBkaXIoKTogJ1gnIHwgJ1knIHtcclxuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAnWCcgOiAnWSc7XHJcbiAgfVxyXG4gIGdldCBzaXplTmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAnV2lkdGgnIDogJ0hlaWdodCc7XHJcbiAgfVxyXG4gIHRyYW5zZm9ybT86IHN0cmluZztcclxuICBoaWdobGlnaHRCb3ggPSB7XHJcbiAgICB3aWR0aDogJycsXHJcbiAgICBoZWlnaHQ6ICcnLFxyXG4gICAgbGVmdDogJycsXHJcbiAgICB0b3A6ICcnXHJcbiAgfTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBsYXlvdXQsIGp1c3RpZnksIG5vZGVKdXN0aWZ5LCBhY3RpdmF0ZWRJbmRleCB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICAgIFhJc0NoYW5nZShsYXlvdXQpICYmIHRoaXMuc2V0Q2hhbmdlKHRoaXMuY2xhc3NNYXAsIGxheW91dCk7XHJcbiAgICBYSXNDaGFuZ2UoanVzdGlmeSkgJiYgdGhpcy5zZXRDaGFuZ2UodGhpcy5zY3JvbGxDbGFzc01hcCwganVzdGlmeSwgJ3gtanVzdGlmeScpO1xyXG4gICAgWElzQ2hhbmdlKG5vZGVKdXN0aWZ5KSAmJiB0aGlzLnNldENoYW5nZSh0aGlzLm5vZGVDbGFzc01hcCwgbm9kZUp1c3RpZnksICd4LWp1c3RpZnknKTtcclxuICAgIFhJc0NoYW5nZShhY3RpdmF0ZWRJbmRleCkgJiYgdGhpcy5zZXREaXJlY3Rpb24oYWN0aXZhdGVkSW5kZXguY3VycmVudFZhbHVlLCBhY3RpdmF0ZWRJbmRleC5wcmV2aW91c1ZhbHVlKSAmJiB0aGlzLnNldEFjdGl2YXRlZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRTdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIHRoaXMuY2xhc3NNYXBbYCR7WFNsaWRlclByZWZpeH0tJHt0aGlzLmxheW91dH1gXSA9ICFYSXNFbXB0eSh0aGlzLmxheW91dCk7XHJcbiAgICB0aGlzLnNjcm9sbENsYXNzTWFwW2B4LWp1c3RpZnktJHt0aGlzLmp1c3RpZnl9YF0gPSAhWElzRW1wdHkodGhpcy5qdXN0aWZ5KTtcclxuICAgIHRoaXMubm9kZUNsYXNzTWFwID0ge1xyXG4gICAgICBbYHgtanVzdGlmeS0ke3RoaXMubm9kZUp1c3RpZnl9YF06ICFYSXNFbXB0eSh0aGlzLm5vZGVKdXN0aWZ5KSxcclxuICAgICAgW2B4LXNpemUtJHt0aGlzLnNpemV9YF06ICFYSXNFbXB0eSh0aGlzLnNpemUpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0Q2hhbmdlKG1hcDogWENsYXNzTWFwLCBjaGFuZ2U6IFNpbXBsZUNoYW5nZSwgcHJlZml4ID0gWFNsaWRlclByZWZpeCkge1xyXG4gICAgbWFwW2Ake3ByZWZpeH0tJHtjaGFuZ2UucHJldmlvdXNWYWx1ZX1gXSA9IGZhbHNlO1xyXG4gICAgbWFwW2Ake3ByZWZpeH0tJHtjaGFuZ2UuY3VycmVudFZhbHVlfWBdID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFN1YnNjcmliZSgpIHtcclxuICAgIFhSZXNpemUodGhpcy5zbGlkZXJTY3JvbGwubmF0aXZlRWxlbWVudCwgdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50KVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzApLCB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNpemVDaGVja2VkKCk7XHJcbiAgICAgICAgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBub2RlQ2xpY2soZXZlbnQ6IEV2ZW50IHwgbnVsbCwgbm9kZTogWFNsaWRlck5vZGUsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGlmIChub2RlLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLnNldERpcmVjdGlvbihpbmRleCwgTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpKTtcclxuICAgIHRoaXMuYWN0aXZhdGVkSW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuYWN0aXZhdGVkID0gbm9kZTtcclxuICAgIHRoaXMuYWN0aXZhdGVkSWQgPSBub2RlLmlkO1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xyXG4gICAgdGhpcy5ub2RlQ2hhbmdlLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBkcm9wZG93bkNsaWNrKG5vZGU6IFhTbGlkZXJOb2RlKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMubm9kZXMuaW5kZXhPZihub2RlKTtcclxuICAgIHRoaXMubm9kZUNsaWNrKG51bGwsIG5vZGUsIGluZGV4KTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFByZXYoKSB7XHJcbiAgICBpZiAodGhpcy5vZmZzZXQgPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IHNjcm9sbFNpemUgPSB0aGlzLnNsaWRlclNjcm9sbC5uYXRpdmVFbGVtZW50W2BvZmZzZXQke3RoaXMuc2l6ZU5hbWV9YF07XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBpZiAoIWN1cnJlbnRPZmZzZXQpIHJldHVybjtcclxuICAgIGNvbnN0IG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgPiBzY3JvbGxTaXplID8gY3VycmVudE9mZnNldCAtIHNjcm9sbFNpemUgOiAwO1xyXG4gICAgdGhpcy5vZmZzZXQgPSBvZmZzZXQ7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxOZXh0KCkge1xyXG4gICAgaWYgKHRoaXMub2Zmc2V0ID09PSB0aGlzLm1heE9mZnNldCkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2xpZGVyU2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IGN1cnJlbnRPZmZzZXQgPSB0aGlzLm9mZnNldDtcclxuICAgIGlmIChzbGlkZXJTaXplIC0gY3VycmVudE9mZnNldCA8PSBzY3JvbGxTaXplKSByZXR1cm47XHJcbiAgICBjb25zdCBvZmZzZXQgPSBzbGlkZXJTaXplIC0gY3VycmVudE9mZnNldCA+IHNjcm9sbFNpemUgKiAyID8gY3VycmVudE9mZnNldCArIHNjcm9sbFNpemUgOiBzbGlkZXJTaXplIC0gc2Nyb2xsU2l6ZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gb2Zmc2V0O1xyXG4gIH1cclxuXHJcbiAgc2V0RGlyZWN0aW9uKGluZGV4OiBudW1iZXIsIGJlZm9yZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBpbmNyZWFzZSA9IGluZGV4ID4gYmVmb3JlO1xyXG4gICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLmxheW91dCA9PT0gJ3JvdycgPyAoaW5jcmVhc2UgPyAncmlnaHQnIDogJ2xlZnQnKSA6IGluY3JlYXNlID8gJ2JvdHRvbScgOiAndG9wJztcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbjtcclxuICB9XHJcblxyXG4gIHNldFRyYW5zbGF0ZSgpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy5zbGlkZXJTY3JvbGwpIHx8IFhJc1VuZGVmaW5lZCh0aGlzLnNsaWRlck5vZGVzKSkgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2xpZGVyUmVjdCA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3Qgc2xpZGVyTm9kZXNSZWN0ID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBtb3ZlSW5kZXggPSBbJ2JvdHRvbScsICdyaWdodCddLmluZGV4T2YodGhpcy5kaXJlY3Rpb24pICE9PSAtMSA/IE51bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSArIDIgOiBOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCk7XHJcbiAgICBtb3ZlSW5kZXggPSBtb3ZlSW5kZXggPiB0aGlzLm5vZGVzLmxlbmd0aCA/IHRoaXMubm9kZXMubGVuZ3RoIDogbW92ZUluZGV4ID09PSAwID8gMSA6IG1vdmVJbmRleDtcclxuICAgIGxldCBtb3ZlRWxlID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKGBsaTpudGgtY2hpbGQoJHttb3ZlSW5kZXh9KWApO1xyXG4gICAgbGV0IG1heE9mZnNldCA9IDA7XHJcbiAgICBpZiAoWElzRW1wdHkobW92ZUVsZSkpIHJldHVybjtcclxuICAgIGNvbnN0IG1vdmVSZWN0ID0gbW92ZUVsZSEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBjdXJyZW50T2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XHJcbiAgICBsZXQgb2Zmc2V0ID0gY3VycmVudE9mZnNldDtcclxuICAgIGlmICh0aGlzLmxheW91dCA9PT0gJ3JvdycpIHtcclxuICAgICAgbWF4T2Zmc2V0ID0gc2xpZGVyTm9kZXNSZWN0LndpZHRoIC0gc2xpZGVyUmVjdC53aWR0aDtcclxuICAgICAgaWYgKG1vdmVSZWN0LmxlZnQgPCBzbGlkZXJSZWN0LmxlZnQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0IC0gKHNsaWRlclJlY3QubGVmdCAtIG1vdmVSZWN0LmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5yaWdodCA+IHNsaWRlclJlY3QucmlnaHQpIHtcclxuICAgICAgICBvZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgbW92ZVJlY3QucmlnaHQgLSBzbGlkZXJSZWN0LnJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBtYXhPZmZzZXQgPSBzbGlkZXJOb2Rlc1JlY3QuaGVpZ2h0IC0gc2xpZGVyUmVjdC5oZWlnaHQ7XHJcbiAgICAgIGlmIChtb3ZlUmVjdC50b3AgPCBzbGlkZXJSZWN0LnRvcCkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgLSAoc2xpZGVyUmVjdC50b3AgLSBtb3ZlUmVjdC50b3ApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb3ZlUmVjdC5ib3R0b20gPiBzbGlkZXJSZWN0LmJvdHRvbSkge1xyXG4gICAgICAgIG9mZnNldCA9IGN1cnJlbnRPZmZzZXQgKyAobW92ZVJlY3QuYm90dG9tIC0gc2xpZGVyUmVjdC5ib3R0b20pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLm1heE9mZnNldCA9IE1hdGguY2VpbChtYXhPZmZzZXQpO1xyXG4gICAgb2Zmc2V0ID0gTWF0aC5tYXgoTWF0aC5jZWlsKG9mZnNldCksIDApO1xyXG4gICAgaWYgKFt0aGlzLm1heE9mZnNldCArIDEsIHRoaXMubWF4T2Zmc2V0IC0gMV0uaW5jbHVkZXMob2Zmc2V0KSkge1xyXG4gICAgICB0aGlzLm9mZnNldCA9IHRoaXMubWF4T2Zmc2V0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vZmZzZXQgPSBNYXRoLm1pbihvZmZzZXQsIHRoaXMubWF4T2Zmc2V0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNpemVDaGVja2VkKCkge1xyXG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMuc2xpZGVyTm9kZXMubmF0aXZlRWxlbWVudFtgb2Zmc2V0JHt0aGlzLnNpemVOYW1lfWBdO1xyXG4gICAgY29uc3Qgc2Nyb2xsU2l6ZSA9IHRoaXMuc2xpZGVyU2Nyb2xsLm5hdGl2ZUVsZW1lbnRbYG9mZnNldCR7dGhpcy5zaXplTmFtZX1gXTtcclxuICAgIGNvbnN0IHNob3dBcnJvdyA9IHRoaXMubm9kZXMubGVuZ3RoID4gMSAmJiBzaXplID4gc2Nyb2xsU2l6ZTtcclxuICAgIGlmICh0aGlzLnNob3dBcnJvdyAhPT0gc2hvd0Fycm93KSB7XHJcbiAgICAgIHRoaXMuc2hvd0Fycm93ID0gc2hvd0Fycm93O1xyXG4gICAgICB0aGlzLmNsYXNzTWFwW2Ake1hTbGlkZXJQcmVmaXh9LXNob3ctYXJyb3dgXSA9IHRoaXMuc2hvd0Fycm93O1xyXG4gICAgICBpZiAoIXRoaXMuc2hvd0Fycm93KSB7XHJcbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFjdGl2YXRlZCgpIHtcclxuICAgIGlmICh0aGlzLm5vZGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWQgPSB0aGlzLm5vZGVzW051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KV07XHJcbiAgICAgIGlmICh0aGlzLmFjdGl2YXRlZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkSWQgPSB0aGlzLmFjdGl2YXRlZC5pZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRIaWdobGlnaHQoKTtcclxuICAgIHRoaXMuc2V0VHJhbnNsYXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRIaWdobGlnaHQoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuc2xpZGVyTm9kZXMpKSByZXR1cm47XHJcbiAgICBjb25zdCBhY3RpdmVFbGU6IEhUTUxFbGVtZW50ID0gdGhpcy5zbGlkZXJOb2Rlcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpOm50aC1jaGlsZCgke051bWJlcih0aGlzLmFjdGl2YXRlZEluZGV4KSArIDF9KWApITtcclxuICAgIGlmICghYWN0aXZlRWxlKSByZXR1cm47XHJcbiAgICB0aGlzLmhpZ2hsaWdodEJveCA9IHtcclxuICAgICAgd2lkdGg6IGAke2FjdGl2ZUVsZS5vZmZzZXRXaWR0aH1weGAsXHJcbiAgICAgIGhlaWdodDogYCR7YWN0aXZlRWxlLm9mZnNldEhlaWdodH1weGAsXHJcbiAgICAgIGxlZnQ6IGAke2FjdGl2ZUVsZS5vZmZzZXRMZWZ0fXB4YCxcclxuICAgICAgdG9wOiBgJHthY3RpdmVFbGUub2Zmc2V0VG9wfXB4YFxyXG4gICAgfTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YSgpIHtcclxuICAgIFhTZXREYXRhPFhTbGlkZXJOb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRBY3RpdmF0ZWQoKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2YXRlZChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpID09PSBpbmRleDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlOb2RlKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYU2xpZGVyTm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3NsaWRlciBjbGFzcz1cIngtc2xpZGVyXCIgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIj5cclxuICA8eC1saW5rICpuZ0lmPVwic2hvd0Fycm93XCIgW2Rpc2FibGVkXT1cIm9mZnNldCA9PT0gMFwiIGNsYXNzPVwieC1zbGlkZXItYXJyb3ctbGVmdFwiIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCIgKGNsaWNrKT1cInNjcm9sbFByZXYoKVwiPjwveC1saW5rPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zY3JvbGxcIiAjc2xpZGVyU2Nyb2xsIFtuZ0NsYXNzXT1cInNjcm9sbENsYXNzTWFwXCI+XHJcbiAgICA8dWwgI3NsaWRlck5vZGVzIFtzdHlsZS50cmFuc2Zvcm1dPVwidHJhbnNmb3JtXCI+XHJcbiAgICAgIDxsaVxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiXHJcbiAgICAgICAgW2NsYXNzLngtc2xpZGVyLWFjdGl2YXRlZF09XCJnZXRBY3RpdmF0ZWQoaSlcIlxyXG4gICAgICAgIFtjbGFzcy54LXNsaWRlci1kaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICBbdGl0bGVdPVwibm9kZS5sYWJlbFwiXHJcbiAgICAgID5cclxuICAgICAgICA8eC1saW5rIChjbGljayk9XCJub2RlQ2xpY2soJGV2ZW50LCBub2RlLCBpKVwiIFtuZ0NsYXNzXT1cIm5vZGVDbGFzc01hcFwiIFtocmVmXT1cInNob3dBbmNob3IgPyAnIycgKyBub2RlLmlkIDogJydcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVHBsOyBjb250ZXh0OiB7ICRub2RlOiBub2RlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbm9kZVRwbFwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwibm9kZS5sYWJlbFwiPnt7IG5vZGUubGFiZWwgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwveC1saW5rPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGkgY2xhc3M9XCJ4LXNsaWRlci1oaWdobGlnaHRcIiBbY2xhc3MueC1zbGlkZXItaGlnaGxpZ2h0LWFuaW1hdGVkXT1cImFuaW1hdGVkXCIgW25nU3R5bGVdPVwiaGlnaGxpZ2h0Qm94XCI+PC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbiAgPHgtbGlua1xyXG4gICAgKm5nSWY9XCJzaG93QXJyb3dcIlxyXG4gICAgW2Rpc2FibGVkXT1cIm9mZnNldCA9PT0gbWF4T2Zmc2V0XCJcclxuICAgIGNsYXNzPVwieC1zbGlkZXItYXJyb3ctcmlnaHRcIlxyXG4gICAgaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCJcclxuICAgIChjbGljayk9XCJzY3JvbGxOZXh0KClcIlxyXG4gID48L3gtbGluaz5cclxuICA8eC1kcm9wZG93blxyXG4gICAgKm5nSWY9XCJzaG93RXhwYW5kICYmIHNob3dBcnJvdyAmJiBsYXlvdXQgPT09ICdyb3cnXCJcclxuICAgIGNsYXNzPVwieC1zbGlkZXItYWxsXCJcclxuICAgIFtkYXRhXT1cIm5vZGVzXCJcclxuICAgIHRyaWdnZXI9XCJjbGlja1wiXHJcbiAgICBbKGFjdGl2YXRlZElkKV09XCJhY3RpdmF0ZWRJZFwiXHJcbiAgICAobm9kZUNsaWNrKT1cImRyb3Bkb3duQ2xpY2soJGV2ZW50KVwiXHJcbiAgICBbcG9ydGFsTWF4SGVpZ2h0XT1cImV4cGFuZE1heEhlaWdodFwiXHJcbiAgPlxyXG4gICAgPHgtYnV0dG9uIGljb249XCJmdG8tbGlzdFwiIG9ubHlJY29uIFtzaXplXT1cInNpemVcIj4gPC94LWJ1dHRvbj5cclxuICA8L3gtZHJvcGRvd24+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
161
161
  type: ViewChild,
162
162
  args: [XTooltipDirective, { static: true }]
163
163
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9zbGlkZXItc2VsZWN0L3NsaWRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdC9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUl2QixTQUFTLEVBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFVdkQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHFCQUFxQjtJQTBCL0QsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUNiLEdBQXNCLEVBQy9CLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBeEJ0QyxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLFlBQU8sR0FBWSxL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TSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdG9vbHRpcCc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFNsaWRlclNlbGVjdFByb3BlcnR5LCBYU2xpZGVyU2VsZWN0UHJlZml4IH0gZnJvbSAnLi9zbGlkZXItc2VsZWN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhJc1VuZGVmaW5lZCwgWFJlc2l6ZSwgWENsZWFyQ2xhc3MsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENka0RyYWdNb3ZlLCBDZGtEcmFnU3RhcnQsIENka0RyYWdFbmQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTbGlkZXJTZWxlY3RQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWFNsaWRlclNlbGVjdENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2xpZGVyU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgWFNsaWRlclNlbGVjdFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlclNlbGVjdCcsIHsgc3RhdGljOiB0cnVlIH0pIHNsaWRlclNlbGVjdCE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnZHJhZ1JlZicsIHsgc3RhdGljOiB0cnVlIH0pIGRyYWdSZWYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3JhaWxSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSByYWlsUmVmITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdwcm9jZXNzUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvY2Vzc1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChYVG9vbHRpcERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgdG9vbHRpcCE6IFhUb29sdGlwRGlyZWN0aXZlO1xyXG4gIGxlZnQ6IG51bWJlciA9IDA7XHJcbiAgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1hbnVhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHN0YXJ0ITogbnVtYmVyO1xyXG4gIG92ZXJyaWRlIHZhbHVlID0gMDtcclxuICBkaXNwbGF5VmFsdWUgPSAnMCc7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBvdmVycmlkZSBnZXQgcmVxdWlyZWRJc0VtcHR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdG9yICYmIHRoaXMucmVxdWlyZWQgJiYgKFhJc0VtcHR5KHRoaXMudmFsdWUpIHx8IHRoaXMudmFsdWUgPT09IDApO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHZhbHVlID0gMDtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0TGVmdCgpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5zbGlkZXJTZWxlY3QubmF0aXZlRWxlbWVudCwgdGhpcy5yZW5kZXJlciwgdGhpcy5qdXN0aWZ5LCB0aGlzLmFsaWduLCB0aGlzLmRpcmVjdGlvbik7XHJcbiAgICB0aGlzLnNldFByZWNpc2lvbigpO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgWFJlc2l6ZSh0aGlzLnNsaWRlclNlbGVjdC5uYXRpdmVFbGVtZW50KVxyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzApLCB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNldExlZnQoKTtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2UoKSB7XHJcbiAgICBjb25zdCB2YWwgPSBOdW1iZXIoKChOdW1iZXIodGhpcy5tYXgpIC0gTnVtYmVyKHRoaXMubWluKSkgKiBOdW1iZXIodGhpcy5sZWZ0KSkgLyAxMDAgKyBOdW1iZXIodGhpcy5taW4pKS50b0ZpeGVkKFxyXG4gICAgICBOdW1iZXIodGhpcy5wcmVjaXNpb24pXHJcbiAgICApO1xyXG4gICAgdGhpcy52YWx1ZSA9IHBhcnNlRmxvYXQodmFsKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKCk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRMZWZ0KCkge1xyXG4gICAgdGhpcy5sZWZ0ID0gTWF0aC5yb3VuZCgoKHRoaXMudmFsdWUgLSBOdW1iZXIodGhpcy5taW4pKSAqIDEwMCkgLyAoTnVtYmVyKHRoaXMubWF4KSAtIE51bWJlcih0aGlzLm1pbikpKTtcclxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5sZWZ0O1xyXG4gICAgdGhpcy5zdGFydCA9IHN0YXJ0O1xyXG4gICAgdGhpcy5zZXREcmFnKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5VmFsdWUoKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IE51bWJlcih0aGlzLnZhbHVlKS50b0ZpeGVkKE51bWJlcih0aGlzLnByZWNpc2lvbikpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0UHJlY2lzaW9uKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLnByZWNpc2lvbikgfHwgIVhJc0VtcHR5KHRoaXMuc3RlcCkpIHtcclxuICAgICAgbGV0IHN0ZXBTdHIgPSBTdHJpbmcodGhpcy5zdGVwKTtcclxuICAgICAgbGV0IGluZGV4cG9pbnQgPSBzdGVwU3RyLmluZGV4T2YoJy4nKTtcclxuICAgICAgaWYgKGluZGV4cG9pbnQgPT09IC0xKSB7XHJcbiAgICAgICAgdGhpcy5wcmVjaXNpb24gPSAwO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucHJlY2lzaW9uID0gc3RlcFN0ci5sZW5ndGggLSAoaW5kZXhwb2ludCArIDEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklubmVyQ2xpY2soXyRldmVudDogTW91c2VFdmVudCkge31cclxuXHJcbiAgc3RhcnRlZChkcmFnOiBDZGtEcmFnU3RhcnQpIHtcclxuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5sZWZ0O1xyXG4gICAgdGhpcy5zdGFydCA9IHN0YXJ0O1xyXG4gICAgaWYgKHRoaXMuc2hvd1Rvb2x0aXApIHtcclxuICAgICAgdGhpcy5tYW51YWwgPSB0cnVlO1xyXG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gICAgdGhpcy5kcmFnU3RhcnRFbWl0LmVtaXQoZHJhZyk7XHJcbiAgfVxyXG5cclxuICBtb3ZlZChkcmFnOiBDZGtEcmFnTW92ZSkge1xyXG4gICAgbGV0IHRyYW5zZm9ybSA9IGRyYWcuc291cmNlLmdldEZyZWVEcmFnUG9zaXRpb24oKTtcclxuICAgIHRoaXMuc2V0RHJhZyh0cmFuc2Zvcm0ueCk7XHJcbiAgICBkcmFnLnNvdXJjZS5yZXNldCgpO1xyXG4gICAgaWYgKHRoaXMuc2hvd1Rvb2x0aXApIHtcclxuICAgICAgdGhpcy50b29sdGlwLnVwZGF0ZVBvcnRhbCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2UoKTtcclxuICAgIHRoaXMuZHJhZ01vdmVFbWl0LmVtaXQoZHJhZyk7XHJcbiAgfVxyXG5cclxuICBlbmRlZChkcmFnOiBDZGtEcmFnRW5kKSB7XHJcbiAgICBpZiAodGhpcy5zaG93VG9vbHRpcCkge1xyXG4gICAgICB0aGlzLm1hbnVhbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuZHJhZ0VuZEVtaXQuZW1pdChkcmFnKTtcclxuICB9XHJcblxyXG4gIHNldERyYWcoZGlzdGFuY2U6IG51bWJlciA9IDApIHtcclxuICAgIGxldCByYWlsQm94ID0gdGhpcy5yYWlsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBsZXQgc3RlcFdpZHRoID0gcmFpbEJveC53aWR0aCAvICgoTnVtYmVyKHRoaXMubWF4KSAtIE51bWJlcih0aGlzLm1pbikpIC8gTnVtYmVyKHRoaXMuc3RlcCkpO1xyXG4gICAgbGV0IG9mZnNldCA9IE1hdGguYWJzKGRpc3RhbmNlICUgc3RlcFdpZHRoKTtcclxuICAgIGxldCBkaXMgPVxyXG4gICAgICBvZmZzZXQgPCBzdGVwV2lkdGggLyAyXHJcbiAgICAgICAgPyBkaXN0YW5jZSA+IDBcclxuICAgICAgICAgID8gZGlzdGFuY2UgLSBvZmZzZXRcclxuICAgICAgICAgIDogZGlzdGFuY2UgKyBvZmZzZXRcclxuICAgICAgICA6IGRpc3RhbmNlID4gMFxyXG4gICAgICAgID8gZGlzdGFuY2UgKyBzdGVwV2lkdGggLSBvZmZzZXRcclxuICAgICAgICA6IGRpc3RhbmNlIC0gc3RlcFdpZHRoICsgb2Zmc2V0O1xyXG4gICAgbGV0IHggPSAodGhpcy5zdGFydCAvIDEwMCkgKiByYWlsQm94LndpZHRoICsgZGlzO1xyXG4gICAgdGhpcy5sZWZ0ID0gTWF0aC5yb3VuZCgoeCAvIHJhaWxCb3gud2lkdGgpICogMTAwKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnUmVmLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy5sZWZ0fSVgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wcm9jZXNzUmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMubGVmdH0lYCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZHJhZ1JlZi5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJyk7XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAjc2xpZGVyU2VsZWN0XHJcbiAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3RcIlxyXG4gIFtjbGFzcy54LWZsZXhdPVwianVzdGlmeSB8fCBhbGlnbiB8fCBkaXJlY3Rpb25cIlxyXG4gIFtjbGFzcy54LWRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICBbY2xhc3MueC1yZXF1aXJlZF09XCJyZXF1aXJlZElzRW1wdHlcIlxyXG4gIFtjbGFzcy54LWludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1yZXZlcnNlXT1cInJldmVyc2VcIlxyXG4+XHJcbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBbY2xhc3MueC1zbGlkZXItc2VsZWN0LWxhYmVsLXJlcXVpcmVkXT1cInJlcXVpcmVkXCIgW3N0eWxlLndpZHRoXT1cImxhYmVsV2lkdGhcIiBbbmdDbGFzc109XCJsYWJlbE1hcFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWlubmVyXCIgI2lubmVyUmVmIChjbGljayk9XCJvbklubmVyQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1yYWlsXCIgI3JhaWxSZWY+XHJcbiAgICAgIDxkaXY+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtdHJhY2tcIiAjdHJhY2tSZWY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtcHJvY2Vzc1wiICNwcm9jZXNzUmVmPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWRyYWdzXCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAjZHJhZ1JlZlxyXG4gICAgICAgIGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWRyYWdcIlxyXG4gICAgICAgIGNka0RyYWdcclxuICAgICAgICBjZGtEcmFnTG9ja0F4aXM9XCJ4XCJcclxuICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbY2RrRHJhZ0JvdW5kYXJ5XT1cImlubmVyUmVmXCJcclxuICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwic3RhcnRlZCgkZXZlbnQpXCJcclxuICAgICAgICAoY2RrRHJhZ0VuZGVkKT1cImVuZGVkKCRldmVudClcIlxyXG4gICAgICAgIChjZGtEcmFnTW92ZWQpPVwibW92ZWQoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAjdG9vbHRpcFxyXG4gICAgICAgICAgeC10b29sdGlwXHJcbiAgICAgICAgICBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1idXR0b25cIlxyXG4gICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2hvd1Rvb2x0aXBcIlxyXG4gICAgICAgICAgW2NvbnRlbnRdPVwiZGlzcGxheVZhbHVlXCJcclxuICAgICAgICAgIFt2aXNpYmxlXT1cInZpc2libGVcIlxyXG4gICAgICAgICAgW21hbnVhbF09XCJtYW51YWxcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9zbGlkZXItc2VsZWN0L3NsaWRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdC9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUl2QixTQUFTLEVBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFVdkQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHFCQUFxQjtJQTBCL0QsWUFDUyxRQUFtQixFQUNuQixVQUFtQyxFQUMxQixHQUFzQixFQUMvQixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDMUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBeEJ0QyxTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBQ2pCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUVmLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDbkIsaUJBQVksR0FBRyxHQUFHLENBQUM7UUFDWCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQXFCekMsQ0FBQztJQWxCRCxJQUFhLGVBQWU7UUFDMUIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVRLFVBQVUsQ0FBQyxLQUFhO1FBQy9CLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBV0QsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7YUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2xELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUM5RyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUN2QixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4RCxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsSUFBSSxVQUFVLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNwRDtTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFtQixJQUFHLENBQUM7SUFFcEMsT0FBTyxDQUFDLElBQWtCO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWlCO1FBQ3JCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFnQjtRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEI7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsV0FBbUIsQ0FBQztRQUMxQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pFLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM1RixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUM1QyxJQUFJLEdBQUcsR0FDTCxNQUFNLEdBQUcsU0FBUyxHQUFHLENBQUM7WUFDcEIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDO2dCQUNaLENBQUMsQ0FBQyxRQUFRLEdBQUcsTUFBTTtnQkFDbkIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxNQUFNO1lBQ3JCLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQztnQkFDZCxDQUFDLENBQUMsUUFBUSxHQUFHLFNBQVMsR0FBRyxNQUFNO2dCQUMvQixDQUFDLENBQUMsUUFBUSxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztzSUF6SlUsc0JBQXNCOzBIQUF0QixzQkFBc0IsMENBRnRCLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUMsK2RBT3hDLGlCQUFpQixxRkNqQzlCLG8rQ0EyQ0E7MkZEZmEsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLEdBQUcsbUJBQW1CLEVBQUUsaUJBR25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLHdCQUF3QixDQUFDO3NMQUdOLFlBQVk7c0JBQXhELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSCxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNLLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDTyxPQUFPO3NCQUF0RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdG9vbHRpcCc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFNsaWRlclNlbGVjdFByb3BlcnR5LCBYU2xpZGVyU2VsZWN0UHJlZml4IH0gZnJvbSAnLi9zbGlkZXItc2VsZWN0LnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhJc1VuZGVmaW5lZCwgWFJlc2l6ZSwgWENsZWFyQ2xhc3MsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENka0RyYWdNb3ZlLCBDZGtEcmFnU3RhcnQsIENka0RyYWdFbmQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTbGlkZXJTZWxlY3RQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWFNsaWRlclNlbGVjdENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYU2xpZGVyU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgWFNsaWRlclNlbGVjdFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlclNlbGVjdCcsIHsgc3RhdGljOiB0cnVlIH0pIHNsaWRlclNlbGVjdCE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2RyYWdSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcmFnUmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncmFpbFJlZicsIHsgc3RhdGljOiB0cnVlIH0pIHJhaWxSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdwcm9jZXNzUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvY2Vzc1JlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoWFRvb2x0aXBEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIHRvb2x0aXAhOiBYVG9vbHRpcERpcmVjdGl2ZTtcclxuICBsZWZ0OiBudW1iZXIgPSAwO1xyXG4gIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtYW51YWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzdGFydCE6IG51bWJlcjtcclxuICBvdmVycmlkZSB2YWx1ZSA9IDA7XHJcbiAgZGlzcGxheVZhbHVlID0gJzAnO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgb3ZlcnJpZGUgZ2V0IHJlcXVpcmVkSXNFbXB0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkYXRvciAmJiB0aGlzLnJlcXVpcmVkICYmIChYSXNFbXB0eSh0aGlzLnZhbHVlKSB8fCB0aGlzLnZhbHVlID09PSAwKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB2YWx1ZSA9IDA7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldExlZnQoKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLnNsaWRlclNlbGVjdC5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0UHJlY2lzaW9uKCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBYUmVzaXplKHRoaXMuc2xpZGVyU2VsZWN0Lm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgIHRoaXMuc2V0TGVmdCgpO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZSgpIHtcclxuICAgIGNvbnN0IHZhbCA9IE51bWJlcigoKE51bWJlcih0aGlzLm1heCkgLSBOdW1iZXIodGhpcy5taW4pKSAqIE51bWJlcih0aGlzLmxlZnQpKSAvIDEwMCArIE51bWJlcih0aGlzLm1pbikpLnRvRml4ZWQoXHJcbiAgICAgIE51bWJlcih0aGlzLnByZWNpc2lvbilcclxuICAgICk7XHJcbiAgICB0aGlzLnZhbHVlID0gcGFyc2VGbG9hdCh2YWwpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNldExlZnQoKSB7XHJcbiAgICB0aGlzLmxlZnQgPSBNYXRoLnJvdW5kKCgodGhpcy52YWx1ZSAtIE51bWJlcih0aGlzLm1pbikpICogMTAwKSAvIChOdW1iZXIodGhpcy5tYXgpIC0gTnVtYmVyKHRoaXMubWluKSkpO1xyXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmxlZnQ7XHJcbiAgICB0aGlzLnN0YXJ0ID0gc3RhcnQ7XHJcbiAgICB0aGlzLnNldERyYWcoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXlWYWx1ZSgpIHtcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gTnVtYmVyKHRoaXMudmFsdWUpLnRvRml4ZWQoTnVtYmVyKHRoaXMucHJlY2lzaW9uKSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRQcmVjaXNpb24oKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMucHJlY2lzaW9uKSB8fCAhWElzRW1wdHkodGhpcy5zdGVwKSkge1xyXG4gICAgICBsZXQgc3RlcFN0ciA9IFN0cmluZyh0aGlzLnN0ZXApO1xyXG4gICAgICBsZXQgaW5kZXhwb2ludCA9IHN0ZXBTdHIuaW5kZXhPZignLicpO1xyXG4gICAgICBpZiAoaW5kZXhwb2ludCA9PT0gLTEpIHtcclxuICAgICAgICB0aGlzLnByZWNpc2lvbiA9IDA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wcmVjaXNpb24gPSBzdGVwU3RyLmxlbmd0aCAtIChpbmRleHBvaW50ICsgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5uZXJDbGljayhfJGV2ZW50OiBNb3VzZUV2ZW50KSB7fVxyXG5cclxuICBzdGFydGVkKGRyYWc6IENka0RyYWdTdGFydCkge1xyXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLmxlZnQ7XHJcbiAgICB0aGlzLnN0YXJ0ID0gc3RhcnQ7XHJcbiAgICBpZiAodGhpcy5zaG93VG9vbHRpcCkge1xyXG4gICAgICB0aGlzLm1hbnVhbCA9IHRydWU7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sVmFsaWRhdG9yKCk7XHJcbiAgICB0aGlzLmRyYWdTdGFydEVtaXQuZW1pdChkcmFnKTtcclxuICB9XHJcblxyXG4gIG1vdmVkKGRyYWc6IENka0RyYWdNb3ZlKSB7XHJcbiAgICBsZXQgdHJhbnNmb3JtID0gZHJhZy5zb3VyY2UuZ2V0RnJlZURyYWdQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5zZXREcmFnKHRyYW5zZm9ybS54KTtcclxuICAgIGRyYWcuc291cmNlLnJlc2V0KCk7XHJcbiAgICBpZiAodGhpcy5zaG93VG9vbHRpcCkge1xyXG4gICAgICB0aGlzLnRvb2x0aXAudXBkYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZSgpO1xyXG4gICAgdGhpcy5kcmFnTW92ZUVtaXQuZW1pdChkcmFnKTtcclxuICB9XHJcblxyXG4gIGVuZGVkKGRyYWc6IENka0RyYWdFbmQpIHtcclxuICAgIGlmICh0aGlzLnNob3dUb29sdGlwKSB7XHJcbiAgICAgIHRoaXMubWFudWFsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5kcmFnRW5kRW1pdC5lbWl0KGRyYWcpO1xyXG4gIH1cclxuXHJcbiAgc2V0RHJhZyhkaXN0YW5jZTogbnVtYmVyID0gMCkge1xyXG4gICAgbGV0IHJhaWxCb3ggPSB0aGlzLnJhaWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGxldCBzdGVwV2lkdGggPSByYWlsQm94LndpZHRoIC8gKChOdW1iZXIodGhpcy5tYXgpIC0gTnVtYmVyKHRoaXMubWluKSkgLyBOdW1iZXIodGhpcy5zdGVwKSk7XHJcbiAgICBsZXQgb2Zmc2V0ID0gTWF0aC5hYnMoZGlzdGFuY2UgJSBzdGVwV2lkdGgpO1xyXG4gICAgbGV0IGRpcyA9XHJcbiAgICAgIG9mZnNldCA8IHN0ZXBXaWR0aCAvIDJcclxuICAgICAgICA/IGRpc3RhbmNlID4gMFxyXG4gICAgICAgICAgPyBkaXN0YW5jZSAtIG9mZnNldFxyXG4gICAgICAgICAgOiBkaXN0YW5jZSArIG9mZnNldFxyXG4gICAgICAgIDogZGlzdGFuY2UgPiAwXHJcbiAgICAgICAgPyBkaXN0YW5jZSArIHN0ZXBXaWR0aCAtIG9mZnNldFxyXG4gICAgICAgIDogZGlzdGFuY2UgLSBzdGVwV2lkdGggKyBvZmZzZXQ7XHJcbiAgICBsZXQgeCA9ICh0aGlzLnN0YXJ0IC8gMTAwKSAqIHJhaWxCb3gud2lkdGggKyBkaXM7XHJcbiAgICB0aGlzLmxlZnQgPSBNYXRoLnJvdW5kKCh4IC8gcmFpbEJveC53aWR0aCkgKiAxMDApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdSZWYubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHt0aGlzLmxlZnR9JWApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5sZWZ0fSVgKTtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kcmFnUmVmLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nKTtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICNzbGlkZXJTZWxlY3RcclxuICBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdFwiXHJcbiAgW2NsYXNzLngtZmxleF09XCJqdXN0aWZ5IHx8IGFsaWduIHx8IGRpcmVjdGlvblwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy54LXJlcXVpcmVkXT1cInJlcXVpcmVkSXNFbXB0eVwiXHJcbiAgW2NsYXNzLngtaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICBbY2xhc3MueC1zbGlkZXItc2VsZWN0LXJldmVyc2VdPVwicmV2ZXJzZVwiXHJcbj5cclxuICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtjbGFzcy54LXNsaWRlci1zZWxlY3QtbGFiZWwtcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aFwiIFtuZ0NsYXNzXT1cImxhYmVsTWFwXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtaW5uZXJcIiAjaW5uZXJSZWYgKGNsaWNrKT1cIm9uSW5uZXJDbGljaygkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LXJhaWxcIiAjcmFpbFJlZj5cclxuICAgICAgPGRpdj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC10cmFja1wiICN0cmFja1JlZj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1wcm9jZXNzXCIgI3Byb2Nlc3NSZWY+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtZHJhZ3NcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICNkcmFnUmVmXHJcbiAgICAgICAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtZHJhZ1wiXHJcbiAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgIGNka0RyYWdMb2NrQXhpcz1cInhcIlxyXG4gICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtjZGtEcmFnQm91bmRhcnldPVwiaW5uZXJSZWZcIlxyXG4gICAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJzdGFydGVkKCRldmVudClcIlxyXG4gICAgICAgIChjZGtEcmFnRW5kZWQpPVwiZW5kZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNka0RyYWdNb3ZlZCk9XCJtb3ZlZCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICN0b29sdGlwXHJcbiAgICAgICAgICB4LXRvb2x0aXBcclxuICAgICAgICAgIGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWJ1dHRvblwiXHJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFzaG93VG9vbHRpcFwiXHJcbiAgICAgICAgICBbY29udGVudF09XCJkaXNwbGF5VmFsdWVcIlxyXG4gICAgICAgICAgW3Zpc2libGVdPVwidmlzaWJsZVwiXHJcbiAgICAgICAgICBbbWFudWFsXT1cIm1hbnVhbFwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
81
81
  type: Component,
82
82
  args: [{ selector: `${XStepsPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #steps class=\"x-steps\" [ngClass]=\"classMap\">\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\" *ngFor=\"let node of nodes; index as i; trackBy: trackByNode\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl; context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n <x-icon *ngIf=\"node.icon; else iconTpl\" [type]=\"node.icon\"></x-icon>\r\n <ng-template #iconTpl>\r\n <ng-container [ngSwitch]=\"node.status\">\r\n <x-icon *ngSwitchCase=\"'finish'\" type=\"fto-check\"></x-icon>\r\n <x-icon *ngSwitchCase=\"'error'\" type=\"fto-x\"></x-icon>\r\n <span *ngSwitchDefault>{{ getIndex(i) }}</span>\r\n </ng-container>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <span class=\"x-steps-line\" *ngIf=\"layout === 'column'\"></span>\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">{{ node.label }}</span>\r\n <span class=\"x-steps-line\" *ngIf=\"layout === 'row'\"></span>\r\n </div>\r\n <div class=\"x-steps-description\">{{ node.description }}</div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-steps{margin:0;padding:0;display:flex}.x-steps-node{position:relative;flex:1;display:flex}.x-steps-node:last-child{flex:inherit}.x-steps-node:last-child .x-steps-line{display:none}.x-steps-content{padding:0 .5rem;position:relative;flex:1;display:flex;flex-direction:column}.x-steps-header{display:flex;flex-direction:column;align-items:center}.x-steps-title{display:flex;align-items:center;line-height:2rem;transition:var(--x-animation-duration-base)}.x-steps-label{padding-right:.5rem;white-space:nowrap;transition:var(--x-animation-duration-base)}.x-steps-line{flex:1;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border);transition:var(--x-animation-duration-base)}.x-steps-icon{height:2rem;width:2rem;border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-steps-icon>.x-icon{font-size:1rem}.x-steps-icon.x-steps-only-icon{border:none}.x-steps-icon.x-steps-only-icon .x-icon{font-size:1.5rem}.x-steps-description{font-size:var(--x-font-size-small);color:var(--x-text-400);max-width:8rem}.x-steps-row{flex-direction:row}.x-steps-column{flex-direction:column}.x-steps-column .x-steps-header{min-height:5rem}.x-steps-column .x-steps-line{border-bottom:none;border-right:var(--x-border-width) var(--x-border-style) var(--x-border);margin:.5rem 0}.x-steps-column .x-steps-content{padding:0 0 .5rem .5rem}.x-steps-column .x-steps-description{max-width:inherit}.x-steps-wait .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-wait .x-steps-icon{color:var(--x-text-400);background-color:\"\";border-color:\"\"}.x-steps-wait .x-steps-line{border-color:\"\"}.x-steps-process .x-steps-label{color:var(--x-text-300);font-weight:700}.x-steps-process .x-steps-icon{color:var(--x-white);background-color:var(--x-primary);border-color:var(--x-primary)}.x-steps-process .x-steps-icon.x-steps-only-icon{color:var(--x-primary);background-color:inherit}.x-steps-process .x-steps-line{border-color:\"\"}.x-steps-finish .x-steps-label{color:var(--x-text-400);font-weight:\"\"}.x-steps-finish .x-steps-icon{color:var(--x-primary);background-color:\"\";border-color:\"\"}.x-steps-finish .x-steps-line{border-color:var(--x-primary)}.x-steps-error .x-steps-label{color:var(--x-danger);font-weight:\"\"}.x-steps-error .x-steps-icon{color:var(--x-danger);background-color:\"\";border-color:var(--x-danger)}.x-steps-error .x-steps-line{border-color:\"\"}\n"] }]
83
83
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3RlcHMvc3RlcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3RlcHMvc3RlcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWMsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVNyQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0lBSWpELFlBQ1MsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBUHRDLFVBQUssR0FBaUIsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBU3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsR0FBRyxP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QyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBBZnRlclZpZXdJbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTdGVwc1ByZWZpeCwgWFN0ZXBzTm9kZSwgWFN0ZXBzUHJvcGVydHkgfSBmcm9tICcuL3N0ZXBzLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYSXNVbmRlZmluZWQsIFhJc051bWJlciwgWFNldERhdGEsIFhJc0VtcHR5LCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU3RlcHNQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0ZXBzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFN0ZXBzQ29tcG9uZW50IGV4dGVuZHMgWFN0ZXBzUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBub2RlczogWFN0ZXBzTm9kZVtdID0gW107XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgYWN0aXZhdGVkSW5kZXggfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgICBYSXNDaGFuZ2UoYWN0aXZhdGVkSW5kZXgpICYmIHRoaXMuc2V0QWN0aXZhdGVkKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYU3RlcHNQcmVmaXh9LSR7dGhpcy5sYXlvdXR9YF0gPSAhWElzRW1wdHkodGhpcy5sYXlvdXQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5kZXgoaW5kZXg6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLnN0YXJ0SW5kZXgpICsgaW5kZXggKyAxO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WFN0ZXBzTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIC5waXBlKG1hcCgoeCkgPT4gdGhpcy5zZXRTdGF0dXMoeCkpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U3RhdHVzKHZhbHVlOiBYU3RlcHNOb2RlW10pIHtcclxuICAgIHJldHVybiB2YWx1ZS5tYXAoKHgsIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLm5vZGVTdGF0dXMpIHtcclxuICAgICAgICBpZiAoWElzVW5kZWZpbmVkKHguc3RhdHVzKSkge1xyXG4gICAgICAgICAgeC5zdGF0dXMgPSAnd2FpdCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy5hY3RpdmF0ZWRJbmRleCkpIHtcclxuICAgICAgICAgIHguc3RhdHVzID0gJ3dhaXQnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoWElzTnVtYmVyKHRoaXMuYWN0aXZhdGVkSW5kZXgpKSB7XHJcbiAgICAgICAgICB4LnN0YXR1cyA9IGluZGV4IDwgdGhpcy5hY3RpdmF0ZWRJbmRleCA/ICdmaW5pc2gnIDogaW5kZXggPT09IHRoaXMuYWN0aXZhdGVkSW5kZXggPyAncHJvY2VzcycgOiAnd2FpdCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnN0YXR1cyAmJiBpbmRleCA9PT0gdGhpcy5hY3RpdmF0ZWRJbmRleCkgeC5zdGF0dXMgPSB0aGlzLnN0YXR1cztcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QWN0aXZhdGVkKCkge1xyXG4gICAgdGhpcy5ub2RlcyA9IHRoaXMuc2V0U3RhdHVzKHRoaXMubm9kZXMpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeU5vZGUoX2luZGV4OiBudW1iZXIsIGl0ZW06IFhTdGVwc05vZGUpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNzdGVwcyBjbGFzcz1cIngtc3RlcHNcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXN0ZXBzLW5vZGUgeC1zdGVwcy17eyBub2RlLnN0YXR1cyB9fVwiICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc3RlcHMtaGVhZGVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJjdXN0b21UcGw7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUsICRpbmRleDogaSB9XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtc3RlcHMtaWNvblwiIFtjbGFzcy54LXN0ZXBzLW9ubHktaWNvbl09XCJub2RlLmljb25cIj5cclxuICAgICAgICAgIDx4LWljb24gKm5nSWY9XCJub2RlLmljb247IGVsc2UgaWNvblRwbFwiIFt0eXBlXT1cIm5vZGUuaWNvblwiPjwveC1pY29uPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNpY29uVHBsPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJub2RlLnN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgIDx4LWljb24gKm5nU3dpdGNoQ2FzZT1cIidmaW5pc2gnXCIgdHlwZT1cImZ0by1jaGVja1wiPjwveC1pY29uPlxyXG4gICAgICAgICAgICAgIDx4LWljb24gKm5nU3dpdGNoQ2FzZT1cIidlcnJvcidcIiB0eXBlPVwiZnRvLXhcIj48L3gtaWNvbj5cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGdldEluZGV4KGkpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIngtc3RlcHMtbGluZVwiICpuZ0lmPVwibGF5b3V0ID09PSAnY29sdW1uJ1wiPjwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc3RlcHMtY29udGVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1zdGVwcy10aXRsZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwieC1zdGVwcy1sYWJlbFwiPnt7IG5vZGUubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ4LXN0ZXBzLWxpbmVcIiAqbmdJZj1cImxheW91dCA9PT0gJ3JvdydcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1zdGVwcy1kZXNjcmlwdGlvblwiPnt7IG5vZGUuZGVzY3JpcHRpb24gfX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3RlcHMvc3RlcHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3RlcHMvc3RlcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQWMsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVNyQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0lBSWpELFlBQ1MsUUFBbUIsRUFDbkIsVUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVB0QyxVQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEdBQUcs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QUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYU3RlcHNQcmVmaXgsIFhTdGVwc05vZGUsIFhTdGVwc1Byb3BlcnR5IH0gZnJvbSAnLi9zdGVwcy5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWElzVW5kZWZpbmVkLCBYSXNOdW1iZXIsIFhTZXREYXRhLCBYSXNFbXB0eSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFN0ZXBzUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdGVwcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhTdGVwc0NvbXBvbmVudCBleHRlbmRzIFhTdGVwc1Byb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgbm9kZXM6IFhTdGVwc05vZGVbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkYXRhLCBhY3RpdmF0ZWRJbmRleCB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICAgIFhJc0NoYW5nZShhY3RpdmF0ZWRJbmRleCkgJiYgdGhpcy5zZXRBY3RpdmF0ZWQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICB0aGlzLmNsYXNzTWFwW2Ake1hTdGVwc1ByZWZpeH0tJHt0aGlzLmxheW91dH1gXSA9ICFYSXNFbXB0eSh0aGlzLmxheW91dCk7XHJcbiAgfVxyXG5cclxuICBnZXRJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuc3RhcnRJbmRleCkgKyBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBYU2V0RGF0YTxYU3RlcHNOb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgLnBpcGUobWFwKCh4KSA9PiB0aGlzLnNldFN0YXR1cyh4KSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTdGF0dXModmFsdWU6IFhTdGVwc05vZGVbXSkge1xyXG4gICAgcmV0dXJuIHZhbHVlLm1hcCgoeCwgaW5kZXgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubm9kZVN0YXR1cykge1xyXG4gICAgICAgIGlmIChYSXNVbmRlZmluZWQoeC5zdGF0dXMpKSB7XHJcbiAgICAgICAgICB4LnN0YXR1cyA9ICd3YWl0JztcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmFjdGl2YXRlZEluZGV4KSkge1xyXG4gICAgICAgICAgeC5zdGF0dXMgPSAnd2FpdCc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChYSXNOdW1iZXIodGhpcy5hY3RpdmF0ZWRJbmRleCkpIHtcclxuICAgICAgICAgIHguc3RhdHVzID0gaW5kZXggPCB0aGlzLmFjdGl2YXRlZEluZGV4ID8gJ2ZpbmlzaCcgOiBpbmRleCA9PT0gdGhpcy5hY3RpdmF0ZWRJbmRleCA/ICdwcm9jZXNzJyA6ICd3YWl0JztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdHVzICYmIGluZGV4ID09PSB0aGlzLmFjdGl2YXRlZEluZGV4KSB4LnN0YXR1cyA9IHRoaXMuc3RhdHVzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4geDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRBY3RpdmF0ZWQoKSB7XHJcbiAgICB0aGlzLm5vZGVzID0gdGhpcy5zZXRTdGF0dXModGhpcy5ub2Rlcyk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWFN0ZXBzTm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3N0ZXBzIGNsYXNzPVwieC1zdGVwc1wiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtc3RlcHMtbm9kZSB4LXN0ZXBzLXt7IG5vZGUuc3RhdHVzIH19XCIgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1zdGVwcy1oZWFkZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImN1c3RvbVRwbDsgY29udGV4dDogeyAkbm9kZTogbm9kZSwgJGluZGV4OiBpIH1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1zdGVwcy1pY29uXCIgW2NsYXNzLngtc3RlcHMtb25seS1pY29uXT1cIm5vZGUuaWNvblwiPlxyXG4gICAgICAgICAgPHgtaWNvbiAqbmdJZj1cIm5vZGUuaWNvbjsgZWxzZSBpY29uVHBsXCIgW3R5cGVdPVwibm9kZS5pY29uXCI+PC94LWljb24+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2ljb25UcGw+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm5vZGUuc3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgPHgtaWNvbiAqbmdTd2l0Y2hDYXNlPVwiJ2ZpbmlzaCdcIiB0eXBlPVwiZnRvLWNoZWNrXCI+PC94LWljb24+XHJcbiAgICAgICAgICAgICAgPHgtaWNvbiAqbmdTd2l0Y2hDYXNlPVwiJ2Vycm9yJ1wiIHR5cGU9XCJmdG8teFwiPjwveC1pY29uPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+e3sgZ2V0SW5kZXgoaSkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwieC1zdGVwcy1saW5lXCIgKm5nSWY9XCJsYXlvdXQgPT09ICdjb2x1bW4nXCI+PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1zdGVwcy1jb250ZW50XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LXN0ZXBzLXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ4LXN0ZXBzLWxhYmVsXCI+e3sgbm9kZS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIngtc3RlcHMtbGluZVwiICpuZ0lmPVwibGF5b3V0ID09PSAncm93J1wiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LXN0ZXBzLWRlc2NyaXB0aW9uXCI+e3sgbm9kZS5kZXNjcmlwdGlvbiB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
46
46
  type: ViewChild,
47
47
  args: ['switch', { static: true }]
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFVdkQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFRbkQsWUFBbUIsUUFBbUIsRUFBa0IsR0FBc0IsRUFBUyxhQUE2QjtRQUNsSCxLQUFLLEVBQUUsQ0FBQztRQURTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBa0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7SUFFcEgsQ0FBQztJQVBRLFVBQVUsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztnSUFoQ1UsZ0JBQWdCO29IQUFoQixnQkFBZ0IsbUNBRmhCLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsaUtDcEIvQyxzWEFNQTsyRkRnQmEsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGtCQUFrQixDQUFDOzZKQUdOLE1BQU07c0JBQTVDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFN3aXRjaFByb3BlcnR5LCBYU3dpdGNoUHJlZml4IH0gZnJvbSAnLi9zd2l0Y2gucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTd2l0Y2hQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zd2l0Y2guY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhTd2l0Y2hDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFN3aXRjaENvbXBvbmVudCBleHRlbmRzIFhTd2l0Y2hQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnc3dpdGNoJywgeyBzdGF0aWM6IHRydWUgfSkgc3dpdGNoITogRWxlbWVudFJlZjtcclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIG92ZXJyaWRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRGbGV4KHRoaXMuc3dpdGNoLm5hdGl2ZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIsIHRoaXMuanVzdGlmeSwgdGhpcy5hbGlnbiwgdGhpcy5kaXJlY3Rpb24pO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NNYXAoKSB7XHJcbiAgICBYQ2xlYXJDbGFzcyh0aGlzLmxhYmVsTWFwKTtcclxuICAgIHRoaXMubGFiZWxNYXBbYHgtdGV4dC1hbGlnbi0ke3RoaXMubGFiZWxBbGlnbn1gXSA9IHRoaXMubGFiZWxBbGlnbiA/IHRydWUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHN3aXRjaENsaWNrKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMudmFsdWUgPSAhdGhpcy52YWx1ZTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNzd2l0Y2ggY2xhc3M9XCJ4LXN3aXRjaFwiIFtjbGFzcy54LWZsZXhdPVwianVzdGlmeSB8fCBhbGlnbiB8fCBkaXJlY3Rpb25cIiBbY2xhc3MueC1jaGVja2VkXT1cInZhbHVlXCIgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtzdHlsZS53aWR0aF09XCJsYWJlbFdpZHRoXCIgW25nQ2xhc3NdPVwibGFiZWxNYXBcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcbiAgPGRpdiBjbGFzcz1cIngtc3dpdGNoLXJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc3dpdGNoLXNsaWRlclwiIChjbGljayk9XCJzd2l0Y2hDbGljaygpXCI+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3N3aXRjaC9zd2l0Y2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc3dpdGNoL3N3aXRjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGlCQUFpQixFQUNqQix1QkFBdUIsRUFJdkIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFVdkQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFRbkQsWUFBbUIsUUFBbUIsRUFBa0IsR0FBc0IsRUFBUyxhQUE2QjtRQUNsSCxLQUFLLEVBQUUsQ0FBQztRQURTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBa0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7SUFFcEgsQ0FBQztJQVBRLFVBQVUsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztnSUFoQ1UsZ0JBQWdCO29IQUFoQixnQkFBZ0IsbUNBRmhCLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUMsaUtDcEIvQyxzWEFNQTsyRkRnQmEsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLEdBQUcsYUFBYSxFQUFFLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLGtCQUFrQixDQUFDOzZKQUdOLE1BQU07c0JBQTVDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFN3aXRjaFByb3BlcnR5LCBYU3dpdGNoUHJlZml4IH0gZnJvbSAnLi9zd2l0Y2gucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hTd2l0Y2hQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zd2l0Y2guY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhTd2l0Y2hDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFN3aXRjaENvbXBvbmVudCBleHRlbmRzIFhTd2l0Y2hQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnc3dpdGNoJywgeyBzdGF0aWM6IHRydWUgfSkgc3dpdGNoITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyBvdmVycmlkZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLnN3aXRjaC5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzd2l0Y2hDbGljaygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICB0aGlzLnZhbHVlID0gIXRoaXMudmFsdWU7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjc3dpdGNoIGNsYXNzPVwieC1zd2l0Y2hcIiBbY2xhc3MueC1mbGV4XT1cImp1c3RpZnkgfHwgYWxpZ24gfHwgZGlyZWN0aW9uXCIgW2NsYXNzLngtY2hlY2tlZF09XCJ2YWx1ZVwiIFtjbGFzcy54LWRpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgPGxhYmVsICpuZ0lmPVwibGFiZWxcIiBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aFwiIFtuZ0NsYXNzXT1cImxhYmVsTWFwXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXN3aXRjaC1yb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXN3aXRjaC1zbGlkZXJcIiAoY2xpY2spPVwic3dpdGNoQ2xpY2soKVwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19