@ng-nest/ui 11.2.9 → 11.2.13

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 (639) hide show
  1. package/affix/affix.property.d.ts +2 -2
  2. package/alert/alert.property.d.ts +22 -12
  3. package/alert/ng-nest-ui-alert.metadata.json +1 -1
  4. package/auto-complete/auto-complete.property.d.ts +3 -3
  5. package/avatar/avatar.property.d.ts +6 -6
  6. package/back-top/back-top.property.d.ts +4 -4
  7. package/badge/badge.property.d.ts +3 -3
  8. package/base-form/base-form.component.d.ts +1 -1
  9. package/base-form/base-form.property.d.ts +10 -10
  10. package/border/ng-nest-ui-border.metadata.json +1 -1
  11. package/bundles/ng-nest-ui-affix.umd.js +10 -4
  12. package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
  13. package/bundles/ng-nest-ui-affix.umd.min.js.map +1 -1
  14. package/bundles/ng-nest-ui-alert.umd.js +26 -12
  15. package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
  16. package/bundles/ng-nest-ui-alert.umd.min.js +2 -2
  17. package/bundles/ng-nest-ui-alert.umd.min.js.map +1 -1
  18. package/bundles/ng-nest-ui-anchor.umd.js +10 -4
  19. package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
  20. package/bundles/ng-nest-ui-anchor.umd.min.js.map +1 -1
  21. package/bundles/ng-nest-ui-auto-complete.umd.js +15 -8
  22. package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
  23. package/bundles/ng-nest-ui-auto-complete.umd.min.js +2 -2
  24. package/bundles/ng-nest-ui-auto-complete.umd.min.js.map +1 -1
  25. package/bundles/ng-nest-ui-avatar.umd.js +10 -4
  26. package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
  27. package/bundles/ng-nest-ui-avatar.umd.min.js.map +1 -1
  28. package/bundles/ng-nest-ui-back-top.umd.js +10 -4
  29. package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
  30. package/bundles/ng-nest-ui-back-top.umd.min.js.map +1 -1
  31. package/bundles/ng-nest-ui-badge.umd.js +10 -4
  32. package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
  33. package/bundles/ng-nest-ui-badge.umd.min.js.map +1 -1
  34. package/bundles/ng-nest-ui-base-form.umd.js +10 -4
  35. package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
  36. package/bundles/ng-nest-ui-base-form.umd.min.js.map +1 -1
  37. package/bundles/ng-nest-ui-border.umd.js +1 -1
  38. package/bundles/ng-nest-ui-border.umd.js.map +1 -1
  39. package/bundles/ng-nest-ui-border.umd.min.js.map +1 -1
  40. package/bundles/ng-nest-ui-button.umd.js +11 -5
  41. package/bundles/ng-nest-ui-button.umd.js.map +1 -1
  42. package/bundles/ng-nest-ui-button.umd.min.js +1 -1
  43. package/bundles/ng-nest-ui-button.umd.min.js.map +1 -1
  44. package/bundles/ng-nest-ui-calendar.umd.js +16 -6
  45. package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
  46. package/bundles/ng-nest-ui-calendar.umd.min.js +1 -1
  47. package/bundles/ng-nest-ui-calendar.umd.min.js.map +1 -1
  48. package/bundles/ng-nest-ui-card.umd.js +10 -4
  49. package/bundles/ng-nest-ui-card.umd.js.map +1 -1
  50. package/bundles/ng-nest-ui-card.umd.min.js.map +1 -1
  51. package/bundles/ng-nest-ui-carousel.umd.js +10 -4
  52. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  53. package/bundles/ng-nest-ui-carousel.umd.min.js.map +1 -1
  54. package/bundles/ng-nest-ui-cascade.umd.js +10 -4
  55. package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
  56. package/bundles/ng-nest-ui-cascade.umd.min.js.map +1 -1
  57. package/bundles/ng-nest-ui-checkbox.umd.js +16 -9
  58. package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
  59. package/bundles/ng-nest-ui-checkbox.umd.min.js +2 -2
  60. package/bundles/ng-nest-ui-checkbox.umd.min.js.map +1 -1
  61. package/bundles/ng-nest-ui-collapse.umd.js +10 -4
  62. package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
  63. package/bundles/ng-nest-ui-collapse.umd.min.js.map +1 -1
  64. package/bundles/ng-nest-ui-color-picker.umd.js +10 -4
  65. package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
  66. package/bundles/ng-nest-ui-color-picker.umd.min.js.map +1 -1
  67. package/bundles/ng-nest-ui-color.umd.js +10 -4
  68. package/bundles/ng-nest-ui-color.umd.js.map +1 -1
  69. package/bundles/ng-nest-ui-color.umd.min.js.map +1 -1
  70. package/bundles/ng-nest-ui-comment.umd.js +16 -6
  71. package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
  72. package/bundles/ng-nest-ui-comment.umd.min.js +2 -2
  73. package/bundles/ng-nest-ui-comment.umd.min.js.map +1 -1
  74. package/bundles/ng-nest-ui-container.umd.js +10 -4
  75. package/bundles/ng-nest-ui-container.umd.js.map +1 -1
  76. package/bundles/ng-nest-ui-container.umd.min.js.map +1 -1
  77. package/bundles/ng-nest-ui-core.umd.js +30 -8
  78. package/bundles/ng-nest-ui-core.umd.js.map +1 -1
  79. package/bundles/ng-nest-ui-core.umd.min.js +2 -2
  80. package/bundles/ng-nest-ui-core.umd.min.js.map +1 -1
  81. package/bundles/ng-nest-ui-crumb.umd.js +10 -4
  82. package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-crumb.umd.min.js.map +1 -1
  84. package/bundles/ng-nest-ui-date-picker.umd.js +16 -7
  85. package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
  86. package/bundles/ng-nest-ui-date-picker.umd.min.js +1 -1
  87. package/bundles/ng-nest-ui-date-picker.umd.min.js.map +1 -1
  88. package/bundles/ng-nest-ui-dialog.umd.js +25 -12
  89. package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
  90. package/bundles/ng-nest-ui-dialog.umd.min.js +2 -2
  91. package/bundles/ng-nest-ui-dialog.umd.min.js.map +1 -1
  92. package/bundles/ng-nest-ui-drawer.umd.js +10 -4
  93. package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
  94. package/bundles/ng-nest-ui-drawer.umd.min.js.map +1 -1
  95. package/bundles/ng-nest-ui-dropdown.umd.js +10 -4
  96. package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
  97. package/bundles/ng-nest-ui-dropdown.umd.min.js.map +1 -1
  98. package/bundles/ng-nest-ui-empty.umd.js +10 -4
  99. package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
  100. package/bundles/ng-nest-ui-empty.umd.min.js.map +1 -1
  101. package/bundles/ng-nest-ui-find.umd.js +79 -12
  102. package/bundles/ng-nest-ui-find.umd.js.map +1 -1
  103. package/bundles/ng-nest-ui-find.umd.min.js +2 -2
  104. package/bundles/ng-nest-ui-find.umd.min.js.map +1 -1
  105. package/bundles/ng-nest-ui-form.umd.js +16 -9
  106. package/bundles/ng-nest-ui-form.umd.js.map +1 -1
  107. package/bundles/ng-nest-ui-form.umd.min.js +1 -1
  108. package/bundles/ng-nest-ui-form.umd.min.js.map +1 -1
  109. package/bundles/ng-nest-ui-highlight.umd.js +10 -4
  110. package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
  111. package/bundles/ng-nest-ui-highlight.umd.min.js.map +1 -1
  112. package/bundles/ng-nest-ui-i18n.umd.js +1 -1
  113. package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
  114. package/bundles/ng-nest-ui-i18n.umd.min.js +1 -1
  115. package/bundles/ng-nest-ui-i18n.umd.min.js.map +1 -1
  116. package/bundles/ng-nest-ui-icon.umd.js +10 -4
  117. package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
  118. package/bundles/ng-nest-ui-icon.umd.min.js.map +1 -1
  119. package/bundles/ng-nest-ui-inner.umd.js +10 -4
  120. package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
  121. package/bundles/ng-nest-ui-inner.umd.min.js.map +1 -1
  122. package/bundles/ng-nest-ui-input-number.umd.js +10 -4
  123. package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
  124. package/bundles/ng-nest-ui-input-number.umd.min.js.map +1 -1
  125. package/bundles/ng-nest-ui-input.umd.js +10 -4
  126. package/bundles/ng-nest-ui-input.umd.js.map +1 -1
  127. package/bundles/ng-nest-ui-input.umd.min.js.map +1 -1
  128. package/bundles/ng-nest-ui-layout.umd.js +10 -4
  129. package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
  130. package/bundles/ng-nest-ui-layout.umd.min.js.map +1 -1
  131. package/bundles/ng-nest-ui-link.umd.js +10 -4
  132. package/bundles/ng-nest-ui-link.umd.js.map +1 -1
  133. package/bundles/ng-nest-ui-link.umd.min.js.map +1 -1
  134. package/bundles/ng-nest-ui-list.umd.js +10 -4
  135. package/bundles/ng-nest-ui-list.umd.js.map +1 -1
  136. package/bundles/ng-nest-ui-list.umd.min.js.map +1 -1
  137. package/bundles/ng-nest-ui-loading.umd.js +10 -4
  138. package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
  139. package/bundles/ng-nest-ui-loading.umd.min.js.map +1 -1
  140. package/bundles/ng-nest-ui-menu.umd.js +22 -11
  141. package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
  142. package/bundles/ng-nest-ui-menu.umd.min.js +2 -2
  143. package/bundles/ng-nest-ui-menu.umd.min.js.map +1 -1
  144. package/bundles/ng-nest-ui-message-box.umd.js +37 -10
  145. package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
  146. package/bundles/ng-nest-ui-message-box.umd.min.js +1 -1
  147. package/bundles/ng-nest-ui-message-box.umd.min.js.map +1 -1
  148. package/bundles/ng-nest-ui-message.umd.js +10 -4
  149. package/bundles/ng-nest-ui-message.umd.js.map +1 -1
  150. package/bundles/ng-nest-ui-message.umd.min.js.map +1 -1
  151. package/bundles/ng-nest-ui-notification.umd.js +10 -4
  152. package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
  153. package/bundles/ng-nest-ui-notification.umd.min.js.map +1 -1
  154. package/bundles/ng-nest-ui-outlet.umd.js +10 -4
  155. package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
  156. package/bundles/ng-nest-ui-outlet.umd.min.js.map +1 -1
  157. package/bundles/ng-nest-ui-page-header.umd.js +10 -4
  158. package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
  159. package/bundles/ng-nest-ui-page-header.umd.min.js.map +1 -1
  160. package/bundles/ng-nest-ui-pagination.umd.js +10 -4
  161. package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
  162. package/bundles/ng-nest-ui-pagination.umd.min.js.map +1 -1
  163. package/bundles/ng-nest-ui-popconfirm.umd.js +11 -5
  164. package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
  165. package/bundles/ng-nest-ui-popconfirm.umd.min.js +2 -2
  166. package/bundles/ng-nest-ui-popconfirm.umd.min.js.map +1 -1
  167. package/bundles/ng-nest-ui-popover.umd.js +10 -4
  168. package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
  169. package/bundles/ng-nest-ui-popover.umd.min.js.map +1 -1
  170. package/bundles/ng-nest-ui-portal.umd.js +10 -4
  171. package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
  172. package/bundles/ng-nest-ui-portal.umd.min.js.map +1 -1
  173. package/bundles/ng-nest-ui-progress.umd.js +10 -4
  174. package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
  175. package/bundles/ng-nest-ui-progress.umd.min.js.map +1 -1
  176. package/bundles/ng-nest-ui-radio.umd.js +11 -5
  177. package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
  178. package/bundles/ng-nest-ui-radio.umd.min.js +1 -1
  179. package/bundles/ng-nest-ui-radio.umd.min.js.map +1 -1
  180. package/bundles/ng-nest-ui-rate.umd.js +10 -4
  181. package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
  182. package/bundles/ng-nest-ui-rate.umd.min.js.map +1 -1
  183. package/bundles/ng-nest-ui-result.umd.js +18 -5
  184. package/bundles/ng-nest-ui-result.umd.js.map +1 -1
  185. package/bundles/ng-nest-ui-result.umd.min.js +1 -1
  186. package/bundles/ng-nest-ui-result.umd.min.js.map +1 -1
  187. package/bundles/ng-nest-ui-ripple.umd.js +11 -5
  188. package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
  189. package/bundles/ng-nest-ui-ripple.umd.min.js +2 -2
  190. package/bundles/ng-nest-ui-ripple.umd.min.js.map +1 -1
  191. package/bundles/ng-nest-ui-select.umd.js +12 -6
  192. package/bundles/ng-nest-ui-select.umd.js.map +1 -1
  193. package/bundles/ng-nest-ui-select.umd.min.js +1 -1
  194. package/bundles/ng-nest-ui-select.umd.min.js.map +1 -1
  195. package/bundles/ng-nest-ui-skeleton.umd.js +11 -5
  196. package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
  197. package/bundles/ng-nest-ui-skeleton.umd.min.js +1 -1
  198. package/bundles/ng-nest-ui-skeleton.umd.min.js.map +1 -1
  199. package/bundles/ng-nest-ui-slider-select.umd.js +10 -4
  200. package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
  201. package/bundles/ng-nest-ui-slider-select.umd.min.js.map +1 -1
  202. package/bundles/ng-nest-ui-slider.umd.js +10 -4
  203. package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
  204. package/bundles/ng-nest-ui-slider.umd.min.js.map +1 -1
  205. package/bundles/ng-nest-ui-statistic.umd.js +10 -4
  206. package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
  207. package/bundles/ng-nest-ui-statistic.umd.min.js.map +1 -1
  208. package/bundles/ng-nest-ui-steps.umd.js +10 -4
  209. package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
  210. package/bundles/ng-nest-ui-steps.umd.min.js.map +1 -1
  211. package/bundles/ng-nest-ui-switch.umd.js +10 -4
  212. package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
  213. package/bundles/ng-nest-ui-switch.umd.min.js.map +1 -1
  214. package/bundles/ng-nest-ui-table.umd.js +78 -26
  215. package/bundles/ng-nest-ui-table.umd.js.map +1 -1
  216. package/bundles/ng-nest-ui-table.umd.min.js +2 -2
  217. package/bundles/ng-nest-ui-table.umd.min.js.map +1 -1
  218. package/bundles/ng-nest-ui-tabs.umd.js +12 -6
  219. package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
  220. package/bundles/ng-nest-ui-tabs.umd.min.js +1 -1
  221. package/bundles/ng-nest-ui-tabs.umd.min.js.map +1 -1
  222. package/bundles/ng-nest-ui-tag.umd.js +10 -4
  223. package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
  224. package/bundles/ng-nest-ui-tag.umd.min.js.map +1 -1
  225. package/bundles/ng-nest-ui-text-retract.umd.js +10 -4
  226. package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
  227. package/bundles/ng-nest-ui-text-retract.umd.min.js.map +1 -1
  228. package/bundles/ng-nest-ui-textarea.umd.js +10 -4
  229. package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
  230. package/bundles/ng-nest-ui-textarea.umd.min.js.map +1 -1
  231. package/bundles/ng-nest-ui-theme.umd.js +10 -4
  232. package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
  233. package/bundles/ng-nest-ui-theme.umd.min.js.map +1 -1
  234. package/bundles/ng-nest-ui-time-ago.umd.js +2 -0
  235. package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
  236. package/bundles/ng-nest-ui-time-ago.umd.min.js +1 -1
  237. package/bundles/ng-nest-ui-time-ago.umd.min.js.map +1 -1
  238. package/bundles/ng-nest-ui-time-picker.umd.js +10 -4
  239. package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
  240. package/bundles/ng-nest-ui-time-picker.umd.min.js.map +1 -1
  241. package/bundles/ng-nest-ui-time-range.umd.js +10 -4
  242. package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
  243. package/bundles/ng-nest-ui-time-range.umd.min.js.map +1 -1
  244. package/bundles/ng-nest-ui-timeline.umd.js +10 -4
  245. package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
  246. package/bundles/ng-nest-ui-timeline.umd.min.js.map +1 -1
  247. package/bundles/ng-nest-ui-tooltip.umd.js +10 -4
  248. package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
  249. package/bundles/ng-nest-ui-tooltip.umd.min.js.map +1 -1
  250. package/bundles/ng-nest-ui-transfer.umd.js +14 -7
  251. package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
  252. package/bundles/ng-nest-ui-transfer.umd.min.js +1 -1
  253. package/bundles/ng-nest-ui-transfer.umd.min.js.map +1 -1
  254. package/bundles/ng-nest-ui-tree-file.umd.js +27 -5
  255. package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
  256. package/bundles/ng-nest-ui-tree-file.umd.min.js +1 -1
  257. package/bundles/ng-nest-ui-tree-file.umd.min.js.map +1 -1
  258. package/bundles/ng-nest-ui-tree.umd.js +27 -14
  259. package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
  260. package/bundles/ng-nest-ui-tree.umd.min.js +1 -1
  261. package/bundles/ng-nest-ui-tree.umd.min.js.map +1 -1
  262. package/bundles/ng-nest-ui-typography.umd.js +11 -6
  263. package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
  264. package/bundles/ng-nest-ui-typography.umd.min.js +1 -1
  265. package/bundles/ng-nest-ui-typography.umd.min.js.map +1 -1
  266. package/bundles/ng-nest-ui-upload.umd.js +10 -4
  267. package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
  268. package/bundles/ng-nest-ui-upload.umd.min.js.map +1 -1
  269. package/button/button.property.d.ts +14 -14
  270. package/button/buttons.component.d.ts +2 -2
  271. package/button/ng-nest-ui-button.metadata.json +1 -1
  272. package/calendar/calendar.property.d.ts +1 -1
  273. package/card/card.property.d.ts +1 -1
  274. package/carousel/carousel.property.d.ts +7 -7
  275. package/cascade/cascade.property.d.ts +1 -1
  276. package/checkbox/checkbox.component.d.ts +1 -0
  277. package/checkbox/checkbox.property.d.ts +4 -4
  278. package/checkbox/ng-nest-ui-checkbox.metadata.json +1 -1
  279. package/collapse/collapse.property.d.ts +3 -3
  280. package/color/color.property.d.ts +2 -2
  281. package/color-picker/color-picker.property.d.ts +1 -1
  282. package/comment/comment.component.d.ts +1 -0
  283. package/comment/comment.property.d.ts +1 -1
  284. package/comment/ng-nest-ui-comment.metadata.json +1 -1
  285. package/container/aside.component.d.ts +1 -1
  286. package/container/container.property.d.ts +3 -3
  287. package/container/header.component.d.ts +1 -1
  288. package/core/config/config.d.ts +7 -0
  289. package/core/ng-nest-ui-core.metadata.json +1 -1
  290. package/core/util/html.d.ts +4 -0
  291. package/core/util/public-api.d.ts +1 -0
  292. package/core/util/resize.d.ts +1 -1
  293. package/crumb/crumb.property.d.ts +2 -2
  294. package/date-picker/date-picker.property.d.ts +8 -8
  295. package/date-picker/ng-nest-ui-date-picker.metadata.json +1 -1
  296. package/date-picker/picker-date.component.d.ts +3 -2
  297. package/dialog/dialog.property.d.ts +16 -6
  298. package/dialog/ng-nest-ui-dialog.metadata.json +1 -1
  299. package/drawer/drawer.property.d.ts +3 -3
  300. package/dropdown/dropdown.property.d.ts +4 -4
  301. package/esm2015/affix/affix.property.js +1 -1
  302. package/esm2015/alert/alert.component.js +5 -4
  303. package/esm2015/alert/alert.module.js +3 -2
  304. package/esm2015/alert/alert.property.js +8 -1
  305. package/esm2015/anchor/anchor.component.js +1 -1
  306. package/esm2015/anchor/anchor.property.js +1 -1
  307. package/esm2015/auto-complete/auto-complete-portal.component.js +1 -1
  308. package/esm2015/auto-complete/auto-complete.component.js +6 -5
  309. package/esm2015/auto-complete/auto-complete.property.js +1 -1
  310. package/esm2015/avatar/avatar.property.js +1 -1
  311. package/esm2015/back-top/back-top.component.js +1 -1
  312. package/esm2015/back-top/back-top.property.js +1 -1
  313. package/esm2015/badge/badge.property.js +1 -1
  314. package/esm2015/base-form/base-form.component.js +1 -1
  315. package/esm2015/base-form/base-form.property.js +1 -1
  316. package/esm2015/border/border.component.js +2 -2
  317. package/esm2015/button/button.property.js +1 -1
  318. package/esm2015/button/buttons.component.js +1 -1
  319. package/esm2015/calendar/calendar.component.js +7 -3
  320. package/esm2015/calendar/calendar.property.js +1 -1
  321. package/esm2015/card/card.property.js +1 -1
  322. package/esm2015/carousel/carousel-panel.component.js +1 -1
  323. package/esm2015/carousel/carousel.component.js +1 -1
  324. package/esm2015/carousel/carousel.property.js +1 -1
  325. package/esm2015/cascade/cascade-portal.component.js +1 -1
  326. package/esm2015/cascade/cascade.component.js +1 -1
  327. package/esm2015/cascade/cascade.property.js +1 -1
  328. package/esm2015/checkbox/checkbox.component.js +7 -6
  329. package/esm2015/checkbox/checkbox.property.js +1 -1
  330. package/esm2015/collapse/collapse-panel.component.js +1 -1
  331. package/esm2015/collapse/collapse.property.js +1 -1
  332. package/esm2015/color/color.component.js +1 -1
  333. package/esm2015/color/color.property.js +1 -1
  334. package/esm2015/color-picker/color-picker-portal.component.js +1 -1
  335. package/esm2015/color-picker/color-picker.component.js +1 -1
  336. package/esm2015/color-picker/color-picker.property.js +1 -1
  337. package/esm2015/comment/comment-reply.component.js +1 -1
  338. package/esm2015/comment/comment.component.js +6 -2
  339. package/esm2015/comment/comment.property.js +2 -2
  340. package/esm2015/container/container.property.js +1 -1
  341. package/esm2015/core/config/config.js +1 -1
  342. package/esm2015/core/config/config.service.js +1 -1
  343. package/esm2015/core/theme/theme.service.js +1 -1
  344. package/esm2015/core/util/html.js +11 -0
  345. package/esm2015/core/util/public-api.js +2 -1
  346. package/esm2015/core/util/resize.js +2 -2
  347. package/esm2015/crumb/crumb.property.js +1 -1
  348. package/esm2015/date-picker/date-picker-portal.component.js +1 -1
  349. package/esm2015/date-picker/date-picker.component.js +1 -1
  350. package/esm2015/date-picker/date-picker.property.js +1 -1
  351. package/esm2015/date-picker/picker-date.component.js +6 -3
  352. package/esm2015/date-picker/picker-month.component.js +2 -2
  353. package/esm2015/date-picker/picker-year.component.js +1 -1
  354. package/esm2015/dialog/dialog.component.js +3 -3
  355. package/esm2015/dialog/dialog.module.js +3 -1
  356. package/esm2015/dialog/dialog.property.js +8 -2
  357. package/esm2015/drawer/drawer.component.js +1 -1
  358. package/esm2015/drawer/drawer.property.js +1 -1
  359. package/esm2015/dropdown/dropdown-portal.component.js +1 -1
  360. package/esm2015/dropdown/dropdown.component.js +1 -1
  361. package/esm2015/dropdown/dropdown.property.js +1 -1
  362. package/esm2015/find/find.component.js +43 -4
  363. package/esm2015/find/find.module.js +3 -1
  364. package/esm2015/find/find.property.js +19 -2
  365. package/esm2015/form/control.component.js +7 -7
  366. package/esm2015/form/form.component.js +2 -2
  367. package/esm2015/form/form.property.js +1 -1
  368. package/esm2015/highlight/highlight.component.js +1 -1
  369. package/esm2015/highlight/highlight.property.js +1 -1
  370. package/esm2015/i18n/i18n.directive.js +1 -1
  371. package/esm2015/i18n/i18n.service.js +1 -1
  372. package/esm2015/i18n/ng-nest-ui-i18n.js +1 -2
  373. package/esm2015/i18n/public-api.js +2 -1
  374. package/esm2015/icon/icon.component.js +1 -1
  375. package/esm2015/icon/icon.property.js +1 -1
  376. package/esm2015/inner/inner.property.js +1 -1
  377. package/esm2015/input/input.component.js +1 -1
  378. package/esm2015/input/input.property.js +1 -1
  379. package/esm2015/input-number/input-number.component.js +1 -1
  380. package/esm2015/layout/layout.property.js +1 -1
  381. package/esm2015/link/link.property.js +1 -1
  382. package/esm2015/list/list.component.js +1 -1
  383. package/esm2015/list/list.property.js +1 -1
  384. package/esm2015/loading/loading.component.js +1 -1
  385. package/esm2015/loading/loading.property.js +1 -1
  386. package/esm2015/menu/menu-node.component.js +8 -6
  387. package/esm2015/menu/menu.component.js +2 -2
  388. package/esm2015/menu/menu.property.js +2 -2
  389. package/esm2015/message-box/message-box.component.js +20 -7
  390. package/esm2015/message-box/message-box.property.js +1 -1
  391. package/esm2015/outlet/outlet.directive.js +1 -1
  392. package/esm2015/page-header/page-header.property.js +1 -1
  393. package/esm2015/pagination/pagination.component.js +1 -1
  394. package/esm2015/pagination/pagination.property.js +1 -1
  395. package/esm2015/popconfirm/popconfirm.component.js +2 -2
  396. package/esm2015/popconfirm/popconfirm.property.js +1 -1
  397. package/esm2015/popover/popover-portal.component.js +1 -1
  398. package/esm2015/popover/popover.directive.js +1 -1
  399. package/esm2015/popover/popover.property.js +1 -1
  400. package/esm2015/progress/progress.component.js +1 -1
  401. package/esm2015/progress/progress.property.js +1 -1
  402. package/esm2015/radio/radio.component.js +2 -2
  403. package/esm2015/radio/radio.property.js +1 -1
  404. package/esm2015/rate/rate.component.js +1 -1
  405. package/esm2015/rate/rate.property.js +2 -2
  406. package/esm2015/result/result.component.js +5 -2
  407. package/esm2015/result/result.property.js +1 -1
  408. package/esm2015/ripple/ripple.directive.js +2 -2
  409. package/esm2015/ripple/ripple.property.js +1 -1
  410. package/esm2015/select/select-portal.component.js +1 -1
  411. package/esm2015/select/select.component.js +4 -4
  412. package/esm2015/select/select.property.js +1 -1
  413. package/esm2015/skeleton/skeleton.component.js +2 -2
  414. package/esm2015/skeleton/skeleton.property.js +1 -1
  415. package/esm2015/slider/slider.component.js +1 -1
  416. package/esm2015/slider/slider.property.js +1 -1
  417. package/esm2015/slider-select/slider-select.component.js +1 -1
  418. package/esm2015/slider-select/slider-select.property.js +1 -1
  419. package/esm2015/statistic/countdown.component.js +1 -1
  420. package/esm2015/statistic/statistic.property.js +1 -1
  421. package/esm2015/steps/steps.property.js +1 -1
  422. package/esm2015/switch/switch.component.js +1 -1
  423. package/esm2015/table/table-body.component.js +19 -9
  424. package/esm2015/table/table-foot.component.js +7 -7
  425. package/esm2015/table/table-head.component.js +13 -9
  426. package/esm2015/table/table.component.js +10 -3
  427. package/esm2015/table/table.property.js +8 -3
  428. package/esm2015/tabs/tab-content.component.js +1 -1
  429. package/esm2015/tabs/tab.component.js +1 -1
  430. package/esm2015/tabs/tabs.component.js +3 -3
  431. package/esm2015/tabs/tabs.property.js +1 -1
  432. package/esm2015/tag/tag.property.js +1 -1
  433. package/esm2015/text-retract/text-retract.component.js +1 -1
  434. package/esm2015/text-retract/text-retract.property.js +1 -1
  435. package/esm2015/textarea/textarea.component.js +1 -1
  436. package/esm2015/textarea/textarea.property.js +1 -1
  437. package/esm2015/theme/theme.property.js +1 -1
  438. package/esm2015/time-ago/time-ago.pipe.js +3 -1
  439. package/esm2015/time-picker/time-picker-frame.component.js +1 -1
  440. package/esm2015/time-picker/time-picker-portal.component.js +1 -1
  441. package/esm2015/time-picker/time-picker.component.js +2 -2
  442. package/esm2015/time-picker/time-picker.property.js +1 -1
  443. package/esm2015/timeline/timeline.property.js +1 -1
  444. package/esm2015/tooltip/tooltip-portal.component.js +1 -1
  445. package/esm2015/tooltip/tooltip.directive.js +1 -1
  446. package/esm2015/tooltip/tooltip.property.js +1 -1
  447. package/esm2015/transfer/transfer.component.js +5 -4
  448. package/esm2015/transfer/transfer.property.js +1 -1
  449. package/esm2015/tree/tree-node.component.js +10 -7
  450. package/esm2015/tree/tree.component.js +2 -2
  451. package/esm2015/tree/tree.property.js +3 -2
  452. package/esm2015/tree-file/tree-file.component.js +10 -2
  453. package/esm2015/tree-file/tree-file.property.js +1 -1
  454. package/esm2015/typography/typography.component.js +2 -3
  455. package/esm2015/typography/typography.property.js +1 -1
  456. package/esm2015/upload/upload-portal.component.js +1 -1
  457. package/esm2015/upload/upload.component.js +1 -1
  458. package/esm2015/upload/upload.property.js +1 -1
  459. package/fesm2015/ng-nest-ui-affix.js.map +1 -1
  460. package/fesm2015/ng-nest-ui-alert.js +14 -5
  461. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  462. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  463. package/fesm2015/ng-nest-ui-auto-complete.js +5 -4
  464. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  465. package/fesm2015/ng-nest-ui-avatar.js.map +1 -1
  466. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  467. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  468. package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
  469. package/fesm2015/ng-nest-ui-border.js +1 -1
  470. package/fesm2015/ng-nest-ui-border.js.map +1 -1
  471. package/fesm2015/ng-nest-ui-button.js +1 -1
  472. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  473. package/fesm2015/ng-nest-ui-calendar.js +6 -2
  474. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  475. package/fesm2015/ng-nest-ui-card.js.map +1 -1
  476. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  477. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  478. package/fesm2015/ng-nest-ui-checkbox.js +6 -5
  479. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  480. package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
  481. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  482. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  483. package/fesm2015/ng-nest-ui-comment.js +6 -2
  484. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  485. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  486. package/fesm2015/ng-nest-ui-core.js +13 -2
  487. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  488. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  489. package/fesm2015/ng-nest-ui-date-picker.js +6 -3
  490. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  491. package/fesm2015/ng-nest-ui-dialog.js +12 -4
  492. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  493. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  494. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  495. package/fesm2015/ng-nest-ui-find.js +62 -4
  496. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  497. package/fesm2015/ng-nest-ui-form.js +7 -6
  498. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  499. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  500. package/fesm2015/ng-nest-ui-i18n.js +1 -1
  501. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  502. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  503. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  504. package/fesm2015/ng-nest-ui-input-number.js.map +1 -1
  505. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  506. package/fesm2015/ng-nest-ui-layout.js.map +1 -1
  507. package/fesm2015/ng-nest-ui-link.js.map +1 -1
  508. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  509. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  510. package/fesm2015/ng-nest-ui-menu.js +10 -7
  511. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  512. package/fesm2015/ng-nest-ui-message-box.js +19 -6
  513. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  514. package/fesm2015/ng-nest-ui-outlet.js.map +1 -1
  515. package/fesm2015/ng-nest-ui-page-header.js.map +1 -1
  516. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  517. package/fesm2015/ng-nest-ui-popconfirm.js +1 -1
  518. package/fesm2015/ng-nest-ui-popconfirm.js.map +1 -1
  519. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  520. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  521. package/fesm2015/ng-nest-ui-radio.js +1 -1
  522. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  523. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  524. package/fesm2015/ng-nest-ui-result.js +4 -1
  525. package/fesm2015/ng-nest-ui-result.js.map +1 -1
  526. package/fesm2015/ng-nest-ui-ripple.js +1 -1
  527. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  528. package/fesm2015/ng-nest-ui-select.js +3 -3
  529. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  530. package/fesm2015/ng-nest-ui-skeleton.js +1 -1
  531. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  532. package/fesm2015/ng-nest-ui-slider-select.js.map +1 -1
  533. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  534. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  535. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  536. package/fesm2015/ng-nest-ui-switch.js.map +1 -1
  537. package/fesm2015/ng-nest-ui-table.js +50 -21
  538. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  539. package/fesm2015/ng-nest-ui-tabs.js +2 -2
  540. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  541. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  542. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  543. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  544. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  545. package/fesm2015/ng-nest-ui-time-ago.js +2 -0
  546. package/fesm2015/ng-nest-ui-time-ago.js.map +1 -1
  547. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  548. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  549. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  550. package/fesm2015/ng-nest-ui-transfer.js +4 -3
  551. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  552. package/fesm2015/ng-nest-ui-tree-file.js +9 -1
  553. package/fesm2015/ng-nest-ui-tree-file.js.map +1 -1
  554. package/fesm2015/ng-nest-ui-tree.js +12 -7
  555. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  556. package/fesm2015/ng-nest-ui-typography.js +1 -2
  557. package/fesm2015/ng-nest-ui-typography.js.map +1 -1
  558. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  559. package/find/find.component.d.ts +3 -0
  560. package/find/find.property.d.ts +53 -9
  561. package/find/ng-nest-ui-find.metadata.json +1 -1
  562. package/form/control.component.d.ts +2 -3
  563. package/form/form.property.d.ts +5 -5
  564. package/form/ng-nest-ui-form.metadata.json +1 -1
  565. package/highlight/highlight.property.d.ts +2 -2
  566. package/i18n/ng-nest-ui-i18n.d.ts +0 -1
  567. package/i18n/ng-nest-ui-i18n.metadata.json +1 -1
  568. package/i18n/public-api.d.ts +1 -0
  569. package/icon/icon.component.d.ts +2 -2
  570. package/icon/icon.property.d.ts +6 -6
  571. package/inner/inner.property.d.ts +1 -1
  572. package/input/input.property.d.ts +4 -4
  573. package/layout/layout.property.d.ts +11 -11
  574. package/link/link.property.d.ts +3 -3
  575. package/list/list.property.d.ts +8 -8
  576. package/list/ng-nest-ui-list.metadata.json +1 -1
  577. package/loading/loading.property.d.ts +6 -6
  578. package/menu/menu-node.component.d.ts +2 -3
  579. package/menu/menu.property.d.ts +6 -6
  580. package/menu/ng-nest-ui-menu.metadata.json +1 -1
  581. package/message-box/message-box.component.d.ts +3 -0
  582. package/message-box/message-box.property.d.ts +4 -3
  583. package/message-box/ng-nest-ui-message-box.metadata.json +1 -1
  584. package/outlet/outlet.directive.d.ts +1 -1
  585. package/package.json +1 -1
  586. package/page-header/page-header.property.d.ts +4 -4
  587. package/pagination/pagination.property.d.ts +2 -2
  588. package/popconfirm/ng-nest-ui-popconfirm.metadata.json +1 -1
  589. package/popconfirm/popconfirm.component.d.ts +2 -2
  590. package/popconfirm/popconfirm.property.d.ts +7 -7
  591. package/popover/popover.property.d.ts +4 -4
  592. package/progress/progress.property.d.ts +2 -2
  593. package/radio/ng-nest-ui-radio.metadata.json +1 -1
  594. package/radio/radio.property.d.ts +3 -3
  595. package/rate/rate.property.d.ts +3 -2
  596. package/result/ng-nest-ui-result.metadata.json +1 -1
  597. package/result/result.component.d.ts +1 -0
  598. package/result/result.property.d.ts +3 -3
  599. package/ripple/ripple.property.d.ts +2 -2
  600. package/select/ng-nest-ui-select.metadata.json +1 -1
  601. package/select/select.property.d.ts +5 -5
  602. package/skeleton/ng-nest-ui-skeleton.metadata.json +1 -1
  603. package/skeleton/skeleton.property.d.ts +2 -2
  604. package/slider/slider.property.d.ts +6 -6
  605. package/slider-select/slider-select.property.d.ts +1 -1
  606. package/statistic/statistic.property.d.ts +1 -1
  607. package/steps/steps.property.d.ts +1 -1
  608. package/style/core/index.scss +1 -1
  609. package/style/directives/index.scss +2 -0
  610. package/style/directives/ripple/index.scss +6 -0
  611. package/style/directives/ripple/mixin.scss +37 -0
  612. package/style/directives/ripple/param.scss +3 -0
  613. package/table/ng-nest-ui-table.metadata.json +1 -1
  614. package/table/table-body.component.d.ts +6 -4
  615. package/table/table-foot.component.d.ts +2 -3
  616. package/table/table-head.component.d.ts +3 -3
  617. package/table/table.component.d.ts +1 -0
  618. package/table/table.property.d.ts +22 -12
  619. package/tabs/ng-nest-ui-tabs.metadata.json +1 -1
  620. package/tabs/tabs.property.d.ts +5 -5
  621. package/tag/tag.property.d.ts +3 -3
  622. package/text-retract/text-retract.property.d.ts +2 -2
  623. package/textarea/textarea.property.d.ts +2 -2
  624. package/theme/theme.property.d.ts +2 -2
  625. package/time-ago/time-ago.pipe.d.ts +1 -1
  626. package/time-picker/time-picker.property.d.ts +2 -2
  627. package/timeline/timeline.property.d.ts +5 -5
  628. package/tooltip/tooltip.property.d.ts +4 -4
  629. package/transfer/transfer.component.d.ts +1 -1
  630. package/transfer/transfer.property.d.ts +4 -4
  631. package/tree/ng-nest-ui-tree.metadata.json +1 -1
  632. package/tree/tree-node.component.d.ts +3 -3
  633. package/tree/tree.property.d.ts +12 -13
  634. package/tree-file/ng-nest-ui-tree-file.metadata.json +1 -1
  635. package/tree-file/tree-file.component.d.ts +3 -0
  636. package/tree-file/tree-file.property.d.ts +2 -2
  637. package/typography/typography.property.d.ts +1 -1
  638. package/upload/upload.property.d.ts +5 -5
  639. package/style/core/directive.scss +0 -1
@@ -164,4 +164,4 @@ XDropdownPortalComponent.propDecorators = {
164
164
  mouseenter: [{ type: HostListener, args: ['mouseenter',] }],
165
165
  mouseleave: [{ type: HostListener, args: ['mouseleave',] }]
166
166
  };
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcG9ydGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2Ryb3Bkb3duL2Ryb3Bkb3duLXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBbUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQXFFLE9BQU8sRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQVVqSSxNQUFNLE9BQU8sd0JBQXdCO0lBa0NuQyxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3JCLGFBQTZCLEVBQzdCLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUxuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXRCNUMseUJBQW9CLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHbkQsYUFBUSxH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QUM7U0FDSjtJQUNILENBQUM7OztZQTdKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLEdBQUcscUJBQXFCLEVBQUU7Z0JBQ3BDLHdOQUErQztnQkFFL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxVQUFVLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzs7YUFDcEM7Ozs7WUF2QkMsU0FBUztZQUNULFVBQVU7WUFDVixpQkFBaUI7WUFRbUMsY0FBYztZQUlRLE9BQU87WUFSakYsZ0JBQWdCOzs7d0JBbUJmLFdBQVcsU0FBQywyQkFBMkI7bUJBQ3ZDLFlBQVksU0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFJekQsWUFBWSxTQUFDLGlDQUFpQyxFQUFFLENBQUMsUUFBUSxDQUFDO3lCQW9CMUQsWUFBWSxTQUFDLFlBQVk7eUJBSXpCLFlBQVksU0FBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25EZXN0cm95LFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIEhvc3RCaW5kaW5nXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEcm9wZG93blBvcnRhbFByZWZpeCwgWERyb3Bkb3duTm9kZSwgWERyb3Bkb3duVHJpZ2dlciB9IGZyb20gJy4vZHJvcGRvd24ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24sIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhDb25uZWN0QmFzZUFuaW1hdGlvbiwgWFBvc2l0aW9uVG9wQm90dG9tIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYRHJvcGRvd25Qb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tcG9ydGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1wb3J0YWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGFuaW1hdGlvbnM6IFtYQ29ubmVjdEJhc2VBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRHJvcGRvd25Qb3J0YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbicpIHB1YmxpYyBwbGFjZW1lbnQ6IFhQb3NpdGlvblRvcEJvdHRvbTtcclxuICBASG9zdExpc3RlbmVyKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uLmRvbmUnLCBbJyRldmVudCddKSBkb25lKGV2ZW50OiB7IHRvU3RhdGU6IGFueSB9KSB7XHJcbiAgICB0aGlzLmFuaW1hdGluZyhmYWxzZSk7XHJcbiAgICBldmVudC50b1N0YXRlID09PSAndm9pZCcgJiYgdGhpcy5kZXN0cm95UG9ydGFsKCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ0B4LWNvbm5lY3QtYmFzZS1hbmltYXRpb24uc3RhcnQnLCBbJyRldmVudCddKSBzdGFydChldmVudDogeyB0b1N0YXRlOiBhbnkgfSkge1xyXG4gICAgdGhpcy5hbmltYXRpbmcodHJ1ZSk7XHJcbiAgfVxyXG4gIGRhdGE6IFhEcm9wZG93bk5vZGVbXTtcclxuICB0cmlnZ2VyOiBYRHJvcGRvd25UcmlnZ2VyO1xyXG4gIGNsb3NlOiBGdW5jdGlvbjtcclxuICBub2RlRW1pdDogRnVuY3Rpb247XHJcbiAgcG9ydGFsSG92ZXI6IEZ1bmN0aW9uO1xyXG4gIGFuaW1hdGluZzogRnVuY3Rpb247XHJcbiAgZGVzdHJveVBvcnRhbDogRnVuY3Rpb247XHJcbiAgcG9ydGFsOiBYUG9ydGFsT3ZlcmxheVJlZjxYRHJvcGRvd25Qb3J0YWxDb21wb25lbnQ+O1xyXG4gIHBvc2l0aW9uQ2hhbmdlOiBTdWJqZWN0PGFueT47XHJcbiAgcG9ydGFsUG9zaXRpb25DaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgbm9kZTogWERyb3Bkb3duTm9kZTtcclxuICB0aW1lb3V0SGlkZTogYW55O1xyXG4gIHRpbWVzcGFuID0gMjAwO1xyXG4gIHBvcnRhbFBsYWNlbWVudDogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNoaWxkQW5pbWF0aW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpIG1vdXNlZW50ZXIoKSB7XHJcbiAgICB0aGlzLnBvcnRhbEhvdmVyKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG1vdXNlbGVhdmUoKSB7XHJcbiAgICAhdGhpcy5wb3J0YWxBdHRhY2hlZCgpICYmIHRoaXMucG9ydGFsSG92ZXIoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7fVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5vZGVDbGljayhub2RlOiBYRHJvcGRvd25Ob2RlKSB7XHJcbiAgICBpZiAoIW5vZGUubGVhZikgdGhpcy5jbG9zZSgpO1xyXG4gICAgdGhpcy5ub2RlRW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlUG9ydGFsKCkge1xyXG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnJyxcclxuICAgICAgcGFuZWxDbGFzczogJ3gtZHJvcGRvd24tcG9ydGFsLWNoaWxkJyxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQbGFjZW1lbnQoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oY29uZmlnKTtcclxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhEcm9wZG93blBvcnRhbENvbXBvbmVudCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiBjb25maWdcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9zaXRpb24oY29uZmlnOiBPdmVybGF5Q29uZmlnKSB7XHJcbiAgICBsZXQgcG9zaXRpb24gPSBjb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICBwb3NpdGlvbi5wb3NpdGlvbkNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKChwb3M6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSkgPT4ge1xyXG4gICAgICBjb25zdCBwbGFjZSA9IFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbi5nZXQocG9zLmNvbm5lY3Rpb25QYWlyKSBhcyBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgICAgIHBsYWNlICE9PSB0aGlzLnBvcnRhbFBsYWNlbWVudCAmJiB0aGlzLnBvcnRhbFBvc2l0aW9uQ2hhbmdlLm5leHQocGxhY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbnN0YW5jZSgpIHtcclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbD8uY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHJldHVybjtcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGRhdGE6IHRoaXMubm9kZT8uY2hpbGRyZW4sXHJcbiAgICAgIGNsb3NlOiAoKSA9PiB0aGlzLmNsb3NlUG9ydGFsKCksXHJcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wb3J0YWxQbGFjZW1lbnQsXHJcbiAgICAgIHBvc2l0aW9uQ2hhbmdlOiB0aGlzLnBvcnRhbFBvc2l0aW9uQ2hhbmdlLFxyXG4gICAgICBub2RlRW1pdDogKG5vZGU6IFhEcm9wZG93bk5vZGUpID0+IHRoaXMubm9kZUNsaWNrKG5vZGUpLFxyXG4gICAgICBwb3J0YWxIb3ZlcjogKGhvdmVyOiBib29sZWFuKSA9PiB0aGlzLmhvdmVyKGhvdmVyKSxcclxuICAgICAgYW5pbWF0aW5nOiAoaW5nOiBib29sZWFuKSA9PiAodGhpcy5jaGlsZEFuaW1hdGluZyA9IGluZylcclxuICAgIH0pO1xyXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGhvdmVyKGhvdmVyOiBib29sZWFuKSB7XHJcbiAgICBpZiAodGhpcy50aW1lb3V0SGlkZSAmJiBob3Zlcikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SGlkZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBvcnRhbEhvdmVyKGZhbHNlKTtcclxuICAgICAgdGhpcy5vbkxlYXZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlbWVudCh7XHJcbiAgICAgIGVsZW1lbnRSZWY6IG5ldyBFbGVtZW50UmVmKHRoaXMubm9kZT8uZXZlbnQ/LnRhcmdldCksXHJcbiAgICAgIHBsYWNlbWVudDogWydyaWdodC1zdGFydCcsICdyaWdodC1lbmQnLCAnbGVmdC1zdGFydCcsICdsZWZ0LWVuZCddLFxyXG4gICAgICB0cmFuc2Zvcm1PcmlnaW5PbjogJ3gtZHJvcGRvd24tcG9ydGFsJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkVudGVyKG5vZGU6IFhEcm9wZG93bk5vZGUpIHtcclxuICAgIGlmICghbm9kZS5sZWFmIHx8IG5vZGUuZGlzYWJsZWQgfHwgdGhpcy5jaGlsZEFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudGltZW91dEhpZGUpIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRIaWRlKTtcclxuICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgdGhpcy5ub2RlPy5pZCAhPT0gbm9kZS5pZCkge1xyXG4gICAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ub2RlID0gbm9kZTtcclxuICAgIGlmICghdGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnRpbWVvdXRIaWRlID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tcG9ydGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2Ryb3Bkb3duL2Ryb3Bkb3duLXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBbUMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQXFFLE9BQU8sRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQVVqSSxNQUFNLE9BQU8sd0JBQXdCO0lBa0NuQyxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3JCLGFBQTZCLEVBQzdCLE9BQWdCLEVBQ2hCLGdCQUFrQztRQUxuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXRCNUMseUJBQW9CLEdBQWlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHbkQsYUFBUSxH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QUM7U0FDSjtJQUNILENBQUM7OztZQTdKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLEdBQUcscUJBQXFCLEVBQUU7Z0JBQ3BDLHdOQUErQztnQkFFL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxVQUFVLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzs7YUFDcEM7Ozs7WUF2QkMsU0FBUztZQUNULFVBQVU7WUFDVixpQkFBaUI7WUFRbUMsY0FBYztZQUlRLE9BQU87WUFSakYsZ0JBQWdCOzs7d0JBbUJmLFdBQVcsU0FBQywyQkFBMkI7bUJBQ3ZDLFlBQVksU0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLFFBQVEsQ0FBQztvQkFJekQsWUFBWSxTQUFDLGlDQUFpQyxFQUFFLENBQUMsUUFBUSxDQUFDO3lCQW9CMUQsWUFBWSxTQUFDLFlBQVk7eUJBSXpCLFlBQVksU0FBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25EZXN0cm95LFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIEhvc3RCaW5kaW5nXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEcm9wZG93blBvcnRhbFByZWZpeCwgWERyb3Bkb3duTm9kZSwgWERyb3Bkb3duVHJpZ2dlciB9IGZyb20gJy4vZHJvcGRvd24ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24sIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhDb25uZWN0QmFzZUFuaW1hdGlvbiwgWFBvc2l0aW9uVG9wQm90dG9tIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYRHJvcGRvd25Qb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tcG9ydGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1wb3J0YWwuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGFuaW1hdGlvbnM6IFtYQ29ubmVjdEJhc2VBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRHJvcGRvd25Qb3J0YWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbicpIHB1YmxpYyBwbGFjZW1lbnQhOiBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgQEhvc3RMaXN0ZW5lcignQHgtY29ubmVjdC1iYXNlLWFuaW1hdGlvbi5kb25lJywgWyckZXZlbnQnXSkgZG9uZShldmVudDogeyB0b1N0YXRlOiBhbnkgfSkge1xyXG4gICAgdGhpcy5hbmltYXRpbmcoZmFsc2UpO1xyXG4gICAgZXZlbnQudG9TdGF0ZSA9PT0gJ3ZvaWQnICYmIHRoaXMuZGVzdHJveVBvcnRhbCgpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdAeC1jb25uZWN0LWJhc2UtYW5pbWF0aW9uLnN0YXJ0JywgWyckZXZlbnQnXSkgc3RhcnQoZXZlbnQ6IHsgdG9TdGF0ZTogYW55IH0pIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nKHRydWUpO1xyXG4gIH1cclxuICBkYXRhITogWERyb3Bkb3duTm9kZVtdO1xyXG4gIHRyaWdnZXIhOiBYRHJvcGRvd25UcmlnZ2VyO1xyXG4gIGNsb3NlITogRnVuY3Rpb247XHJcbiAgbm9kZUVtaXQhOiBGdW5jdGlvbjtcclxuICBwb3J0YWxIb3ZlciE6IEZ1bmN0aW9uO1xyXG4gIGFuaW1hdGluZyE6IEZ1bmN0aW9uO1xyXG4gIGRlc3Ryb3lQb3J0YWwhOiBGdW5jdGlvbjtcclxuICBwb3J0YWwhOiBYUG9ydGFsT3ZlcmxheVJlZjxYRHJvcGRvd25Qb3J0YWxDb21wb25lbnQ+O1xyXG4gIHBvc2l0aW9uQ2hhbmdlITogU3ViamVjdDxhbnk+O1xyXG4gIHBvcnRhbFBvc2l0aW9uQ2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIG5vZGUhOiBYRHJvcGRvd25Ob2RlO1xyXG4gIHRpbWVvdXRIaWRlOiBhbnk7XHJcbiAgdGltZXNwYW4gPSAyMDA7XHJcbiAgcG9ydGFsUGxhY2VtZW50ITogWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gIGNoaWxkQW5pbWF0aW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpIG1vdXNlZW50ZXIoKSB7XHJcbiAgICB0aGlzLnBvcnRhbEhvdmVyKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpIG1vdXNlbGVhdmUoKSB7XHJcbiAgICAhdGhpcy5wb3J0YWxBdHRhY2hlZCgpICYmIHRoaXMucG9ydGFsSG92ZXIoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucG9zaXRpb25DaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMucGxhY2VtZW50ID0geDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7fVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5vZGVDbGljayhub2RlOiBYRHJvcGRvd25Ob2RlKSB7XHJcbiAgICBpZiAoIW5vZGUubGVhZikgdGhpcy5jbG9zZSgpO1xyXG4gICAgdGhpcy5ub2RlRW1pdChub2RlKTtcclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlUG9ydGFsKCkge1xyXG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnJyxcclxuICAgICAgcGFuZWxDbGFzczogJ3gtZHJvcGRvd24tcG9ydGFsLWNoaWxkJyxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQbGFjZW1lbnQoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oY29uZmlnKTtcclxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhEcm9wZG93blBvcnRhbENvbXBvbmVudCxcclxuICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICBvdmVybGF5Q29uZmlnOiBjb25maWdcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9zaXRpb24oY29uZmlnOiBPdmVybGF5Q29uZmlnKSB7XHJcbiAgICBsZXQgcG9zaXRpb24gPSBjb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICBwb3NpdGlvbi5wb3NpdGlvbkNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKChwb3M6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSkgPT4ge1xyXG4gICAgICBjb25zdCBwbGFjZSA9IFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbi5nZXQocG9zLmNvbm5lY3Rpb25QYWlyKSBhcyBYUG9zaXRpb25Ub3BCb3R0b207XHJcbiAgICAgIHBsYWNlICE9PSB0aGlzLnBvcnRhbFBsYWNlbWVudCAmJiB0aGlzLnBvcnRhbFBvc2l0aW9uQ2hhbmdlLm5leHQocGxhY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbnN0YW5jZSgpIHtcclxuICAgIGxldCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbD8uY29tcG9uZW50UmVmO1xyXG4gICAgaWYgKCFjb21wb25lbnRSZWYpIHJldHVybjtcclxuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50UmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGRhdGE6IHRoaXMubm9kZT8uY2hpbGRyZW4sXHJcbiAgICAgIGNsb3NlOiAoKSA9PiB0aGlzLmNsb3NlUG9ydGFsKCksXHJcbiAgICAgIHBsYWNlbWVudDogdGhpcy5wb3J0YWxQbGFjZW1lbnQsXHJcbiAgICAgIHBvc2l0aW9uQ2hhbmdlOiB0aGlzLnBvcnRhbFBvc2l0aW9uQ2hhbmdlLFxyXG4gICAgICBub2RlRW1pdDogKG5vZGU6IFhEcm9wZG93bk5vZGUpID0+IHRoaXMubm9kZUNsaWNrKG5vZGUpLFxyXG4gICAgICBwb3J0YWxIb3ZlcjogKGhvdmVyOiBib29sZWFuKSA9PiB0aGlzLmhvdmVyKGhvdmVyKSxcclxuICAgICAgYW5pbWF0aW5nOiAoaW5nOiBib29sZWFuKSA9PiAodGhpcy5jaGlsZEFuaW1hdGluZyA9IGluZylcclxuICAgIH0pO1xyXG4gICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGhvdmVyKGhvdmVyOiBib29sZWFuKSB7XHJcbiAgICBpZiAodGhpcy50aW1lb3V0SGlkZSAmJiBob3Zlcikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SGlkZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBvcnRhbEhvdmVyKGZhbHNlKTtcclxuICAgICAgdGhpcy5vbkxlYXZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlbWVudCh7XHJcbiAgICAgIGVsZW1lbnRSZWY6IG5ldyBFbGVtZW50UmVmKHRoaXMubm9kZT8uZXZlbnQ/LnRhcmdldCksXHJcbiAgICAgIHBsYWNlbWVudDogWydyaWdodC1zdGFydCcsICdyaWdodC1lbmQnLCAnbGVmdC1zdGFydCcsICdsZWZ0LWVuZCddLFxyXG4gICAgICB0cmFuc2Zvcm1PcmlnaW5PbjogJ3gtZHJvcGRvd24tcG9ydGFsJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkVudGVyKG5vZGU6IFhEcm9wZG93bk5vZGUpIHtcclxuICAgIGlmICghbm9kZS5sZWFmIHx8IG5vZGUuZGlzYWJsZWQgfHwgdGhpcy5jaGlsZEFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudGltZW91dEhpZGUpIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRIaWRlKTtcclxuICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgdGhpcy5ub2RlPy5pZCAhPT0gbm9kZS5pZCkge1xyXG4gICAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ub2RlID0gbm9kZTtcclxuICAgIGlmICghdGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMucG9ydGFsQXR0YWNoZWQoKSkge1xyXG4gICAgICB0aGlzLnRpbWVvdXRIaWRlID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -184,4 +184,4 @@ XDropdownComponent.ctorParameters = () => [
184
184
  XDropdownComponent.propDecorators = {
185
185
  dropdown: [{ type: ViewChild, args: ['dropdown', { static: true },] }]
186
186
  };
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixnQkFBZ0IsRUFDaEIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQXNCLE1BQU0sa0JBQWtCLENBQUM7QUFDbkgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFnQixNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBcUUsT0FBTyxFQUFpQixNQUFNLHNCQUFzQixDQUFDO0FBU2pJLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFhdkQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUNyQixhQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsT0FBZ0IsRUFDakIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFSRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDckIsa0JBQWEsR0FB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QzthQUNoQjtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUExS0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxHQUFHLGVBQWUsRUFBRTtnQkFDOUIsd1FBQXdDO2dCQUV4QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7O1lBdkJDLFNBQVM7WUFDVCxVQUFVO1lBQ1YsaUJBQWlCO1lBVW1DLGNBQWM7WUFObEUsZ0JBQWdCO1lBUzBELE9BQU87WUFMN0IsY0FBYzs7O3VCQWVqRSxTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEcm9wZG93blByZWZpeCwgWERyb3Bkb3duTm9kZSwgWERyb3Bkb3duUHJvcGVydHkgfSBmcm9tICcuL2Ryb3Bkb3duLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYSXNFbXB0eSwgWFNldERhdGEsIFhHZXRDaGlsZHJlbiwgWENvbmZpZ1NlcnZpY2UsIFhQb3NpdGlvblRvcEJvdHRvbSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbiwgWFBvcnRhbE92ZXJsYXlSZWYsIFhQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcG9ydGFsJztcclxuaW1wb3J0IHsgWERyb3Bkb3duUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uQ2hhbmdlLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERyb3Bkb3duUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIFhEcm9wZG93blByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duOiBFbGVtZW50UmVmO1xyXG4gIGRhdGFzOiBYRHJvcGRvd25Ob2RlW10gPSBbXTtcclxuICBub2RlczogWERyb3Bkb3duTm9kZVtdID0gW107XHJcbiAgcG9ydGFsOiBYUG9ydGFsT3ZlcmxheVJlZjxYRHJvcGRvd25Qb3J0YWxDb21wb25lbnQ+O1xyXG4gIHRpbWVvdXRIaWRlOiBhbnk7XHJcbiAgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFuaW1hdGluZyA9IGZhbHNlO1xyXG4gIG91dHNpZGVDbGljayA9IGZhbHNlO1xyXG4gIHBvc2l0aW9uQ2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNsb3NlU3ViamVjdDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcG9ydGFsU2VydmljZTogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0U3ViamVjdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgWElzQ2hhbmdlKGNoYW5nZXMuZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldFN1YmplY3QoKSB7XHJcbiAgICB0aGlzLmNsb3NlU3ViamVjdC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkVudGVyKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy50cmlnZ2VyID09PSAnY2xpY2snKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy50aW1lb3V0SGlkZSkgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgaWYgKCF0aGlzLnBvcnRhbCB8fCAodGhpcy5wb3J0YWwgJiYgIXRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpKSkge1xyXG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNyZWF0ZVBvcnRhbCgpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy50cmlnZ2VyID09PSAnY2xpY2snKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpIHtcclxuICAgICAgdGhpcy50aW1lb3V0SGlkZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicgfHwgdGhpcy5hbmltYXRpbmcpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdjbGljaycgJiYgdGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jcmVhdGVQb3J0YWwoKTtcclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveVBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVQb3J0YWwoKSB7XHJcbiAgICBjb25zdCBjb25maWc6IE92ZXJsYXlDb25maWcgPSB7XHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICcnLFxyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnNldFBsYWNlbWVudCgpLFxyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXRQb3NpdGlvbihjb25maWcpO1xyXG4gICAgdGhpcy5wb3J0YWwgPSB0aGlzLnBvcnRhbFNlcnZpY2UuYXR0YWNoKHtcclxuICAgICAgY29udGVudDogWERyb3Bkb3duUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnY2xpY2snKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWZcclxuICAgICAgICA/Lm91dHNpZGVQb2ludGVyRXZlbnRzKClcclxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzApLCB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gICAgICBwbGFjZSAhPT0gdGhpcy5wbGFjZW1lbnQgJiYgdGhpcy5wb3NpdGlvbkNoYW5nZS5uZXh0KHBsYWNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWw/LmNvbXBvbmVudFJlZjtcclxuICAgIGlmICghY29tcG9uZW50UmVmKSByZXR1cm47XHJcbiAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwge1xyXG4gICAgICBkYXRhOiB0aGlzLm5vZGVzLFxyXG4gICAgICB0cmlnZ2VyOiB0aGlzLnRyaWdnZXIsXHJcbiAgICAgIGNsb3NlOiAoKSA9PiB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCksXHJcbiAgICAgIHBvc2l0aW9uQ2hhbmdlOiB0aGlzLnBvc2l0aW9uQ2hhbmdlLFxyXG4gICAgICBkZXN0cm95UG9ydGFsOiAoKSA9PiB0aGlzLmRlc3Ryb3lQb3J0YWwoKSxcclxuICAgICAgbm9kZUVtaXQ6IChub2RlOiBYRHJvcGRvd25Ob2RlKSA9PiB0aGlzLm5vZGVDbGljay5lbWl0KG5vZGUpLFxyXG4gICAgICBwb3J0YWxIb3ZlcjogKGhvdmVyOiBib29sZWFuKSA9PiB0aGlzLnBvcnRhbEhvdmVyKGhvdmVyKSxcclxuICAgICAgYW5pbWF0aW5nOiAoaW5nOiBib29sZWFuKSA9PiAodGhpcy5hbmltYXRpbmcgPSBpbmcpXHJcbiAgICB9KTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwb3J0YWxIb3Zlcihob3ZlcjogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMudGltZW91dEhpZGUgJiYgaG92ZXIpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vbkxlYXZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlbWVudCh7XHJcbiAgICAgIGVsZW1lbnRSZWY6IHRoaXMuZHJvcGRvd24sXHJcbiAgICAgIHBsYWNlbWVudDogW3RoaXMucGxhY2VtZW50LCAnYm90dG9tLXN0YXJ0JywgJ3RvcC1zdGFydCcsICdib3R0b20tZW5kJywgJ3RvcC1lbmQnXSxcclxuICAgICAgdHJhbnNmb3JtT3JpZ2luT246ICd4LWRyb3Bkb3duLXBvcnRhbCdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WERyb3Bkb3duTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLmRhdGFzID0geDtcclxuICAgICAgaWYgKCF0aGlzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlcyA9IHguZmlsdGVyKCh5KSA9PiBYSXNFbXB0eSh5LnBpZCkpLm1hcCgoeSkgPT4gWEdldENoaWxkcmVuPFhEcm9wZG93bk5vZGU+KHgsIHksIDApKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUd2QixnQkFBZ0IsRUFDaEIsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWlCLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQWtDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFnQixNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBcUUsT0FBTyxFQUFpQixNQUFNLHNCQUFzQixDQUFDO0FBU2pJLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFhdkQsWUFDUyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUNyQixhQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsT0FBZ0IsRUFDakIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFSRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDckIsa0JBQWEsR0FB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QUM7YUFDaEI7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBMUtGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsR0FBRyxlQUFlLEVBQUU7Z0JBQzlCLHdRQUF3QztnQkFFeEMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7OztZQXZCQyxTQUFTO1lBQ1QsVUFBVTtZQUNWLGlCQUFpQjtZQVVtQyxjQUFjO1lBTmxFLGdCQUFnQjtZQVMwRCxPQUFPO1lBTDdCLGNBQWM7Ozt1QkFlakUsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRHJvcGRvd25QcmVmaXgsIFhEcm9wZG93bk5vZGUsIFhEcm9wZG93blByb3BlcnR5IH0gZnJvbSAnLi9kcm9wZG93bi5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWElzRW1wdHksIFhTZXREYXRhLCBYR2V0Q2hpbGRyZW4sIFhDb25maWdTZXJ2aWNlLCBYUG9zaXRpb25Ub3BCb3R0b20sIFhQbGFjZW1lbnQgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24sIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFhEcm9wZG93blBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBPdmVybGF5LCBPdmVybGF5Q29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEcm9wZG93blByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBYRHJvcGRvd25Qcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93biE6IEVsZW1lbnRSZWY7XHJcbiAgZGF0YXM6IFhEcm9wZG93bk5vZGVbXSA9IFtdO1xyXG4gIG5vZGVzOiBYRHJvcGRvd25Ob2RlW10gPSBbXTtcclxuICBwb3J0YWwhOiBYUG9ydGFsT3ZlcmxheVJlZjxYRHJvcGRvd25Qb3J0YWxDb21wb25lbnQ+O1xyXG4gIHRpbWVvdXRIaWRlOiBhbnk7XHJcbiAgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFuaW1hdGluZyA9IGZhbHNlO1xyXG4gIG91dHNpZGVDbGljayA9IGZhbHNlO1xyXG4gIHBvc2l0aW9uQ2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGNsb3NlU3ViamVjdDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcG9ydGFsU2VydmljZTogWFBvcnRhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0U3ViamVjdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgWElzQ2hhbmdlKGNoYW5nZXMuZGF0YSkgJiYgdGhpcy5zZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldFN1YmplY3QoKSB7XHJcbiAgICB0aGlzLmNsb3NlU3ViamVjdC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkVudGVyKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy50cmlnZ2VyID09PSAnY2xpY2snKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy50aW1lb3V0SGlkZSkgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgaWYgKCF0aGlzLnBvcnRhbCB8fCAodGhpcy5wb3J0YWwgJiYgIXRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpKSkge1xyXG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNyZWF0ZVBvcnRhbCgpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy50cmlnZ2VyID09PSAnY2xpY2snKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpIHtcclxuICAgICAgdGhpcy50aW1lb3V0SGlkZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNob3dQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicgfHwgdGhpcy5hbmltYXRpbmcpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdjbGljaycgJiYgdGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jcmVhdGVQb3J0YWwoKTtcclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveVBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVQb3J0YWwoKSB7XHJcbiAgICBjb25zdCBjb25maWc6IE92ZXJsYXlDb25maWcgPSB7XHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICcnLFxyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLnNldFBsYWNlbWVudCgpLFxyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXRQb3NpdGlvbihjb25maWcpO1xyXG4gICAgdGhpcy5wb3J0YWwgPSB0aGlzLnBvcnRhbFNlcnZpY2UuYXR0YWNoKHtcclxuICAgICAgY29udGVudDogWERyb3Bkb3duUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnY2xpY2snKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWZcclxuICAgICAgICA/Lm91dHNpZGVQb2ludGVyRXZlbnRzKClcclxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMzApLCB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2xvc2VTdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWFBvc2l0aW9uVG9wQm90dG9tO1xyXG4gICAgICBwbGFjZSAhPT0gdGhpcy5wbGFjZW1lbnQgJiYgdGhpcy5wb3NpdGlvbkNoYW5nZS5uZXh0KHBsYWNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWw/LmNvbXBvbmVudFJlZjtcclxuICAgIGlmICghY29tcG9uZW50UmVmKSByZXR1cm47XHJcbiAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwge1xyXG4gICAgICBkYXRhOiB0aGlzLm5vZGVzLFxyXG4gICAgICB0cmlnZ2VyOiB0aGlzLnRyaWdnZXIsXHJcbiAgICAgIGNsb3NlOiAoKSA9PiB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCksXHJcbiAgICAgIHBvc2l0aW9uQ2hhbmdlOiB0aGlzLnBvc2l0aW9uQ2hhbmdlLFxyXG4gICAgICBkZXN0cm95UG9ydGFsOiAoKSA9PiB0aGlzLmRlc3Ryb3lQb3J0YWwoKSxcclxuICAgICAgbm9kZUVtaXQ6IChub2RlOiBYRHJvcGRvd25Ob2RlKSA9PiB0aGlzLm5vZGVDbGljay5lbWl0KG5vZGUpLFxyXG4gICAgICBwb3J0YWxIb3ZlcjogKGhvdmVyOiBib29sZWFuKSA9PiB0aGlzLnBvcnRhbEhvdmVyKGhvdmVyKSxcclxuICAgICAgYW5pbWF0aW5nOiAoaW5nOiBib29sZWFuKSA9PiAodGhpcy5hbmltYXRpbmcgPSBpbmcpXHJcbiAgICB9KTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwb3J0YWxIb3Zlcihob3ZlcjogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMudGltZW91dEhpZGUgJiYgaG92ZXIpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dEhpZGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vbkxlYXZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlbWVudCh7XHJcbiAgICAgIGVsZW1lbnRSZWY6IHRoaXMuZHJvcGRvd24sXHJcbiAgICAgIHBsYWNlbWVudDogW3RoaXMucGxhY2VtZW50IGFzIFhQbGFjZW1lbnQsICdib3R0b20tc3RhcnQnLCAndG9wLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAndG9wLWVuZCddLFxyXG4gICAgICB0cmFuc2Zvcm1PcmlnaW5PbjogJ3gtZHJvcGRvd24tcG9ydGFsJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBYU2V0RGF0YTxYRHJvcGRvd25Ob2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMuZGF0YXMgPSB4O1xyXG4gICAgICBpZiAoIXRoaXMuY2hpbGRyZW4pIHtcclxuICAgICAgICB0aGlzLm5vZGVzID0geC5maWx0ZXIoKHkpID0+IFhJc0VtcHR5KHkucGlkKSkubWFwKCh5KSA9PiBYR2V0Q2hpbGRyZW48WERyb3Bkb3duTm9kZT4oeCwgeSwgMCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubm9kZXMgPSB4O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -63,4 +63,4 @@ __decorate([
63
63
  * @decorator component
64
64
  */
65
65
  export const XDropdownPortalPrefix = 'x-dropdown-portal';
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kcm9wZG93bi9kcm9wZG93bi5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFTLFNBQVMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUF3QixXQUFXLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQUU5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUVqQzs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxTQUFTO0lBRGhEOztRQUVFOzs7V0FHRztRQUNzQixTQUFJLEdBQXlCLEVBQUUsQ0FBQztRQXFCekQ7OztXQUdHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0lBQzFELENBQUM7OztZQWhDQSxTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzs7bUJBTXhCLEtBQUs7c0JBS0wsS0FBSzt3QkFLTCxLQUFLO3VCQUtMLEtBQUs7dUJBS0wsS0FBSzt3QkFLTCxNQUFNOztBQXpCa0I7SUFBZixZQUFZLEVBQUU7OytDQUFpQztBQUtPO0lBQXRELFdBQVcsQ0FBbUIsYUFBYSxFQUFFLE9BQU8sQ0FBQzs7a0RBQTJCO0FBS3pCO0lBQXZELFdBQVcsQ0FBYSxhQUFhLEVBQUUsY0FBYyxDQUFDOztvREFBdUI7QUFLN0Q7SUFBaEIsYUFBYSxFQUFFOzttREFBb0I7QUFLbkI7SUFBaEIsYUFBYSxFQUFFOzttREFBb0I7QUFvQi9DOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhEYXRhLCBYUHJvcGVydHksIFhEYXRhQ29udmVydCwgWElucHV0Qm9vbGVhbiwgWEJvb2xlYW4sIFhQbGFjZW1lbnQsIFhXaXRoQ29uZmlnLCBYVHJpZ2dlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdE5vZGUgfSBmcm9tICdAbmctbmVzdC91aS9saXN0JztcclxuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBEcm9wZG93blxyXG4gKiBAc2VsZWN0b3IgeC1kcm9wZG93blxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhEcm9wZG93blByZWZpeCA9ICd4LWRyb3Bkb3duJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdkcm9wZG93bic7XHJcblxyXG4vKipcclxuICogRHJvcGRvd24gUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhEcm9wZG93blByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBkYXRhOiBYRGF0YTxYRHJvcGRvd25Ob2RlPiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDop6blj5HmlrnlvI9cclxuICAgKiBAZW5fVVMgVHJpZ2dlciBtZXRob2RcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WERyb3Bkb3duVHJpZ2dlcj4oWF9DT05GSUdfTkFNRSwgJ2hvdmVyJykgdHJpZ2dlcjogWERyb3Bkb3duVHJpZ2dlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV56S65L2N572uXHJcbiAgICogQGVuX1VTIFBsYWNlbWVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYUGxhY2VtZW50PihYX0NPTkZJR19OQU1FLCAnYm90dG9tLXN0YXJ0JykgcGxhY2VtZW50OiBYUGxhY2VtZW50O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgRGlzYWJsZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGRpc2FibGVkOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Lit5bey57uP5YyF5ZCr5a2Q6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIFRoZSBub2RlIGFscmVhZHkgY29udGFpbnMgY2hpbGQgbm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBjaGlsZHJlbjogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBOb2RlIGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG5vZGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8WERyb3Bkb3duTm9kZT4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiBEcm9wZG93biDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIERyb3Bkb3duIGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEcm9wZG93bk5vZGUgZXh0ZW5kcyBYTGlzdE5vZGUge31cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5pi+56S65pa55byPXHJcbiAqIEBlbl9VUyBEaXNwbGF5IG1ldGhvZFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERyb3Bkb3duVHJpZ2dlciA9IFhUcmlnZ2VyO1xyXG5cclxuLyoqXHJcbiAqIERyb3Bkb3duIFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC1kcm9wZG93bi1wb3J0YWxcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRHJvcGRvd25Qb3J0YWxQcmVmaXggPSAneC1kcm9wZG93bi1wb3J0YWwnO1xyXG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kcm9wZG93bi9kcm9wZG93bi5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFTLFNBQVMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUF3QixXQUFXLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQUU5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUVqQzs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxTQUFTO0lBRGhEOztRQUVFOzs7V0FHRztRQUNzQixTQUFJLEdBQXlCLEVBQUUsQ0FBQztRQXFCekQ7OztXQUdHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0lBQzFELENBQUM7OztZQWhDQSxTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzs7bUJBTXhCLEtBQUs7c0JBS0wsS0FBSzt3QkFLTCxLQUFLO3VCQUtMLEtBQUs7dUJBS0wsS0FBSzt3QkFLTCxNQUFNOztBQXpCa0I7SUFBZixZQUFZLEVBQUU7OytDQUFpQztBQUtPO0lBQXRELFdBQVcsQ0FBbUIsYUFBYSxFQUFFLE9BQU8sQ0FBQzs7a0RBQTRCO0FBSzFCO0lBQXZELFdBQVcsQ0FBYSxhQUFhLEVBQUUsY0FBYyxDQUFDOztvREFBd0I7QUFLOUQ7SUFBaEIsYUFBYSxFQUFFOzttREFBcUI7QUFLcEI7SUFBaEIsYUFBYSxFQUFFOzttREFBcUI7QUFvQmhEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhEYXRhLCBYUHJvcGVydHksIFhEYXRhQ29udmVydCwgWElucHV0Qm9vbGVhbiwgWEJvb2xlYW4sIFhQbGFjZW1lbnQsIFhXaXRoQ29uZmlnLCBYVHJpZ2dlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdE5vZGUgfSBmcm9tICdAbmctbmVzdC91aS9saXN0JztcclxuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBEcm9wZG93blxyXG4gKiBAc2VsZWN0b3IgeC1kcm9wZG93blxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhEcm9wZG93blByZWZpeCA9ICd4LWRyb3Bkb3duJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdkcm9wZG93bic7XHJcblxyXG4vKipcclxuICogRHJvcGRvd24gUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhEcm9wZG93blByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBkYXRhOiBYRGF0YTxYRHJvcGRvd25Ob2RlPiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDop6blj5HmlrnlvI9cclxuICAgKiBAZW5fVVMgVHJpZ2dlciBtZXRob2RcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WERyb3Bkb3duVHJpZ2dlcj4oWF9DT05GSUdfTkFNRSwgJ2hvdmVyJykgdHJpZ2dlcj86IFhEcm9wZG93blRyaWdnZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleekuuS9jee9rlxyXG4gICAqIEBlbl9VUyBQbGFjZW1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFBsYWNlbWVudD4oWF9DT05GSUdfTkFNRSwgJ2JvdHRvbS1zdGFydCcpIHBsYWNlbWVudD86IFhQbGFjZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgZGlzYWJsZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Lit5bey57uP5YyF5ZCr5a2Q6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIFRoZSBub2RlIGFscmVhZHkgY29udGFpbnMgY2hpbGQgbm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBjaGlsZHJlbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBub2RlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFhEcm9wZG93bk5vZGU+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gRHJvcGRvd24g5pWw5o2u5a+56LGhXHJcbiAqIEBlbl9VUyBEcm9wZG93biBkYXRhIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRHJvcGRvd25Ob2RlIGV4dGVuZHMgWExpc3ROb2RlIHt9XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaYvuekuuaWueW8j1xyXG4gKiBAZW5fVVMgRGlzcGxheSBtZXRob2RcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEcm9wZG93blRyaWdnZXIgPSBYVHJpZ2dlcjtcclxuXHJcbi8qKlxyXG4gKiBEcm9wZG93biBQb3J0YWxcclxuICogQHNlbGVjdG9yIHgtZHJvcGRvd24tcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWERyb3Bkb3duUG9ydGFsUHJlZml4ID0gJ3gtZHJvcGRvd24tcG9ydGFsJztcclxuIl19
@@ -51,6 +51,9 @@ export class XFindComponent extends XFindProperty {
51
51
  get hasTreeMultiple() {
52
52
  return this.hasTree && !this.hasTreeTable && this.multiple;
53
53
  }
54
+ get hasSearch() {
55
+ return this.search && this.hasTable;
56
+ }
54
57
  writeValue(value) {
55
58
  this.value = value;
56
59
  this.cdr.detectChanges();
@@ -105,7 +108,16 @@ export class XFindComponent extends XFindProperty {
105
108
  return;
106
109
  if (this.hasTable) {
107
110
  if (!this.tableColumns.find((x) => x.rowChecked)) {
108
- this.tableColumns = [{ id: '$checked', label: '选择', rowChecked: true, type: 'checkbox', width: 60 }, ...this.tableColumns];
111
+ this.tableColumns = [
112
+ {
113
+ id: '$checked',
114
+ label: this.dialogCheckboxLabel,
115
+ rowChecked: true,
116
+ type: 'checkbox',
117
+ width: this.dialogCheckboxWidth
118
+ },
119
+ ...this.tableColumns
120
+ ];
109
121
  }
110
122
  }
111
123
  }
@@ -213,6 +225,8 @@ export class XFindComponent extends XFindProperty {
213
225
  }
214
226
  else {
215
227
  this.temp = data;
228
+ this.sure();
229
+ this.dialogVisible = false;
216
230
  }
217
231
  }
218
232
  rowMultiple(data) {
@@ -279,15 +293,40 @@ export class XFindComponent extends XFindProperty {
279
293
  (_a = this.treeCom) === null || _a === void 0 ? void 0 : _a.setData();
280
294
  this.cdr.detectChanges();
281
295
  }
296
+ searchKeyDown(event) {
297
+ if (event.key === 'Enter') {
298
+ this.searchClick();
299
+ }
300
+ else if (event.key === 'Delete') {
301
+ this.search.value = '';
302
+ }
303
+ }
304
+ searchClick() {
305
+ var _a;
306
+ if (!this.hasSearch) {
307
+ return;
308
+ }
309
+ this.tableQuery = this.tableQuery || [];
310
+ this.tableQuery.filter = this.tableQuery.filter || [];
311
+ const field = this.tableQuery.filter.find((x) => x.field === this.search.field);
312
+ if (field) {
313
+ field.value = this.search.value || '';
314
+ }
315
+ else {
316
+ this.tableQuery.filter = [...(_a = this.tableQuery) === null || _a === void 0 ? void 0 : _a.filter, this.search];
317
+ }
318
+ this.tableCom.change(1);
319
+ this.cdr.detectChanges();
320
+ }
282
321
  }
283
322
  XFindComponent.decorators = [
284
323
  { type: Component, args: [{
285
324
  selector: `${XFindPrefix}`,
286
- template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button #buttonCom icon=\"fto-search\" [disabled]=\"disabled\" (click)=\"showModal()\"></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag *ngFor=\"let item of value; index as i; trackBy: trackByItem\" closable [disabled]=\"disabled\" (close)=\"tagClose(i)\">{{\r\n item[columnLabel]\r\n }}</x-tag>\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" (close)=\"tagClose()\">{{ value[columnLabel] }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" content=\"\u8BF7\u9009\u62E9\u6570\u636E\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n",
325
+ template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button #buttonCom icon=\"fto-search\" [disabled]=\"disabled\" (click)=\"showModal()\"></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag *ngFor=\"let item of value; index as i; trackBy: trackByItem\" closable [disabled]=\"disabled\" (close)=\"tagClose(i)\">{{\r\n item[columnLabel]\r\n }}</x-tag>\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" (close)=\"tagClose()\">{{ value[columnLabel] }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n",
287
326
  encapsulation: ViewEncapsulation.None,
288
327
  changeDetection: ChangeDetectionStrategy.OnPush,
289
328
  providers: [XValueAccessor(XFindComponent)],
290
- styles: [".x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:0;max-height:none;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}"]
329
+ styles: [".x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;height:calc(var(--x-font-size) + .875rem);line-height:calc(var(--x-font-size) + .875rem);position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:0;max-height:none;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}"]
291
330
  },] }
292
331
  ];
293
332
  /** @nocollapse */
@@ -305,4 +344,4 @@ XFindComponent.propDecorators = {
305
344
  tableRef: [{ type: ViewChild, args: ['tableRef',] }],
306
345
  treeRef: [{ type: ViewChild, args: ['treeRef',] }]
307
346
  };
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9maW5kL2ZpbmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBYSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFVdkQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBZ0UvQyxZQUFtQixRQUFtQixFQUFVLEdBQXNCLEVBQVMsYUFBNkI7UUFDMUcsS0FBSyxFQUFFLENBQUM7UUFEUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFWNUcsV0FBTSxHQUFH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RyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFlO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUNsQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjs7UUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE9BQU8sR0FBRztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQS9TRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLEdBQUcsV0FBVyxFQUFFO2dCQUMxQixrNEhBQW9DO2dCQUVwQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQzs7YUFDNUM7Ozs7WUF0QkMsU0FBUztZQURULGlCQUFpQjtZQU9xQyxjQUFjOzs7bUJBa0JuRSxTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTt3QkFDbEMsU0FBUyxTQUFDLFdBQVc7dUJBQ3JCLFNBQVMsU0FBQyxVQUFVO3NCQUNwQixTQUFTLFNBQUMsU0FBUzt3QkFDbkIsU0FBUyxTQUFDLFdBQVc7dUJBTXJCLFNBQVMsU0FBQyxVQUFVO3NCQVlwQixTQUFTLFNBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRmluZFByb3BlcnR5LCBYRmluZFByZWZpeCB9IGZyb20gJy4vZmluZC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhDbGVhckNsYXNzLCBYUmVzaXplLCBYSXNVbmRlZmluZWQsIFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlQ29tcG9uZW50LCBYVGFibGVSb3cgfSBmcm9tICdAbmctbmVzdC91aS90YWJsZSc7XHJcbmltcG9ydCB7IFhEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9kaWFsb2cnO1xyXG5pbXBvcnQgeyBYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWFRyZWVOb2RlLCBYVHJlZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3RyZWUnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEZpbmRQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmluZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmluZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWEZpbmRDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEZpbmRDb21wb25lbnQgZXh0ZW5kcyBYRmluZFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdmaW5kJywgeyBzdGF0aWM6IHRydWUgfSkgZmluZDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdkaWFsb2dDb20nKSBkaWFsb2dDb206IFhEaWFsb2dDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVDb20nKSB0YWJsZUNvbTogWFRhYmxlQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3RyZWVDb20nKSB0cmVlQ29tOiBYVHJlZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdidXR0b25Db20nKSBidXR0b25Db206IFhCdXR0b25Db21wb25lbnQ7XHJcblxyXG4gIHByaXZhdGUgX3RhYmxlUmVmOiBFbGVtZW50UmVmO1xyXG4gIHB1YmxpYyBnZXQgdGFibGVSZWYoKTogRWxlbWVudFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFibGVSZWY7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlUmVmJylcclxuICBwdWJsaWMgc2V0IHRhYmxlUmVmKHZhbHVlOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLl90YWJsZVJlZiA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlICYmIHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5zZXRTdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RyZWVSZWY6IEVsZW1lbnRSZWY7XHJcbiAgcHVibGljIGdldCB0cmVlUmVmKCk6IEVsZW1lbnRSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyZWVSZWY7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ3RyZWVSZWYnKVxyXG4gIHB1YmxpYyBzZXQgdHJlZVJlZih2YWx1ZTogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5fdHJlZVJlZiA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlICYmIHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5zZXRTdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBnZXRFbXB0eSgpIHtcclxuICAgIHJldHVybiAhdGhpcy50ZW1wIHx8IHRoaXMudGVtcC5sZW5ndGggPT09IDA7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzVGFibGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZUNvbHVtbnM/Lmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzVHJlZSgpIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIChBcnJheS5pc0FycmF5KHRoaXMudHJlZURhdGEpICYmIHRoaXMudHJlZURhdGEubGVuZ3RoID4gMCkgfHwgdGhpcy50cmVlRGF0YSBpbnN0YW5jZW9mIEZ1bmN0aW9uIHx8IHRoaXMudHJlZURhdGEgaW5zdGFuY2VvZiBPYnNlcnZhYmxlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1RyZWVUYWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmhhc1RhYmxlICYmIHRoaXMuaGFzVHJlZTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNUcmVlTXVsdGlwbGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNUcmVlICYmICF0aGlzLmhhc1RyZWVUYWJsZSAmJiB0aGlzLm11bHRpcGxlO1xyXG4gIH1cclxuXHJcbiAgdGVtcDogYW55O1xyXG4gIGhlaWdodCA9IDEwMDtcclxuXHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgWElzQ2hhbmdlKHNpbXBsZXMudGFibGVEYXRhKSAmJiB0aGlzLnNldFRhYmxlQ2hlY2tlZFJvdygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5maW5kLm5hdGl2ZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIsIHRoaXMuanVzdGlmeSwgdGhpcy5hbGlnbiwgdGhpcy5kaXJlY3Rpb24pO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gICAgdGhpcy5zZXRNdWx0aXBsZSgpO1xyXG4gICAgdGhpcy5zZXRXaWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBsZXQgcmVzaXplUmVmOiBFbGVtZW50W10gPSBbXTtcclxuICAgIGlmICh0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgIHJlc2l6ZVJlZiA9IFt0aGlzLnRhYmxlUmVmPy5uYXRpdmVFbGVtZW50XTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhhc1RyZWUgJiYgIXRoaXMuaGFzVHJlZVRhYmxlKSB7XHJcbiAgICAgIHJlc2l6ZVJlZi5wdXNoKHRoaXMudHJlZVJlZj8ubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgWFJlc2l6ZSguLi5yZXNpemVSZWYpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgIGlmICh0aGlzLnRhYmxlUmVmKSB7XHJcbiAgICAgICAgICB0aGlzLmhlaWdodCA9IHRoaXMudGFibGVSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy50cmVlUmVmPy5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldE11bHRpcGxlKCkge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5oYXNUYWJsZSkge1xyXG4gICAgICBpZiAoIXRoaXMudGFibGVDb2x1bW5zLmZpbmQoKHgpID0+IHgucm93Q2hlY2tlZCkpIHtcclxuICAgICAgICB0aGlzLnRhYmxlQ29sdW1ucyA9IFt7IGlkOiAnJGNoZWNrZWQnLCBsYWJlbDogJ+mAieaLqScsIHJvd0NoZWNrZWQ6IHRydWUsIHR5cGU6ICdjaGVja2JveCcsIHdpZHRoOiA2MCB9LCAuLi50aGlzLnRhYmxlQ29sdW1uc107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFdpZHRoKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmRpYWxvZ1dpZHRoKSkge1xyXG4gICAgICBpZiAoKHRoaXMuaGFzVGFibGUgJiYgdGhpcy5oYXNUcmVlKSB8fCB0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dXaWR0aCA9ICc1MHJlbSc7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNUcmVlICYmIHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1dpZHRoID0gJzMwcmVtJztcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1dpZHRoID0gJzIwcmVtJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd01vZGFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XHJcbiAgICB0aGlzLmRpYWxvZ1Zpc2libGVDaGFuZ2UuZW1pdCh0aGlzLmRpYWxvZ1Zpc2libGUpO1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLnRlbXAgPSAodGhpcy52YWx1ZSBhcyBBcnJheTxhbnk+KS5tYXAoKHgpID0+IE9iamVjdC5hc3NpZ24oe30sIHgpKTtcclxuICAgICAgICB0aGlzLnNldFRhYmxlQ2hlY2tlZFJvdygpO1xyXG4gICAgICAgIHRoaXMuc2V0VHJlZUNoZWNrZWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRhYmxlQWN0aXZhdGVkUm93ID0gdGhpcy52YWx1ZTtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICAgICAgdGhpcy50cmVlQWN0aXZhdGVkSWQgPSB0aGlzLnZhbHVlLmlkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZW1wID0gdGhpcy5tdWx0aXBsZSA/IFtdIDogbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgIHRoaXMudGFibGVDb20udmlydHVhbEJvZHk/LnNjcm9sbFRvSW5kZXgoMCk7XHJcbiAgICAgIHRoaXMudGFibGVDb20udmlydHVhbEJvZHk/LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRUYWJsZUNoZWNrZWRSb3coKSB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUgfHwgWElzVW5kZWZpbmVkKHRoaXMudGVtcCkpIHJldHVybjtcclxuICAgIGNvbnN0IGlkcyA9ICh0aGlzLnRlbXAgYXMgQXJyYXk8YW55PikubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgIHRoaXMudGFibGVDaGVja2VkUm93ID0ge1xyXG4gICAgICAuLi50aGlzLnRhYmxlQ2hlY2tlZFJvdyxcclxuICAgICAgJGNoZWNrZWQ6IGlkc1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldFRyZWVDaGVja2VkKCkge1xyXG4gICAgaWYgKHRoaXMuaGFzVHJlZU11bHRpcGxlKSB0aGlzLnRyZWVDaGVja2VkID0gdGhpcy50ZW1wLm1hcCgoeDogYW55KSA9PiB4LmlkKTtcclxuICB9XHJcblxyXG4gIHN1cmUoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy50ZW1wO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlTW9kYWwoKSB7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBkaWFsb2dDbG9zZURvbmUoKSB7XHJcbiAgICBpZiAodGhpcy5oYXNUcmVlKSB7XHJcbiAgICAgIHRoaXMudHJlZUFjdGl2YXRlZElkID0gbnVsbDtcclxuICAgICAgdGhpcy50ZW1wID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRlbXBDbG9zZShpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuICAgIHRoaXMudGVtcC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgaWYgKHRoaXMuaGFzVGFibGUpIHtcclxuICAgICAgbGV0IGl0ID0gdGhpcy50YWJsZUNvbT8udGFibGVEYXRhLmZpbmQoKHgpID0+IGl0ZW0uaWQgPT09IHguaWQpO1xyXG4gICAgICBpZiAoaXQpIHtcclxuICAgICAgICBpdC4kY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudGFibGVDb20/LmJvZHlDaGFuZ2UoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgbGV0IGl0ID0gdGhpcy50cmVlQ29tPy50cmVlRGF0YS5maW5kKCh4KSA9PiBpdGVtLmlkID09PSB4LmlkKTtcclxuICAgICAgaWYgKGl0KSB7XHJcbiAgICAgICAgaXQuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIGl0LmNoYW5nZSAmJiBpdC5jaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLnRyZWVDb20/LmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0YWdDbG9zZShpbmRleDogbnVtYmVyID0gLTEpIHtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLnRhYmxlQWN0aXZhdGVkUm93ID0gbnVsbDtcclxuICAgICAgaWYgKCF0aGlzLmhhc1RyZWVUYWJsZSAmJiB0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICB0aGlzLnRyZWVBY3RpdmF0ZWRJZCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRhYmxlQWN0aXZhdGVkUm93Q2hhbmdlKGRhdGE6IFhUYWJsZVJvdykge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5yb3dNdWx0aXBsZShkYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGVtcCA9IGRhdGE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3dNdWx0aXBsZShkYXRhOiBYVGFibGVSb3cpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy50ZW1wID09PSAndW5kZWZpbmVkJykgdGhpcy50ZW1wID0gW107XHJcbiAgICBpZiAoZGF0YS4kY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnRlbXAgPSBbLi4udGhpcy50ZW1wLCBkYXRhXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGVtcC5zcGxpY2UoXHJcbiAgICAgICAgKHRoaXMudGVtcCBhcyBBcnJheTxhbnk+KS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGRhdGEuaWQpLFxyXG4gICAgICAgIDFcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRyZWVNdWx0aXBsZShub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy50ZW1wID09PSAndW5kZWZpbmVkJykgdGhpcy50ZW1wID0gW107XHJcbiAgICAvLyBub2RlLiRjaGVja2VkID0gIW5vZGUuJGNoZWNrZWQ7XHJcbiAgICBpZiAobm9kZS5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMudGVtcCA9IFsuLi50aGlzLnRlbXAsIG5vZGVdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZW1wLnNwbGljZShcclxuICAgICAgICAodGhpcy50ZW1wIGFzIEFycmF5PGFueT4pLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gbm9kZS5pZCksXHJcbiAgICAgICAgMVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJlZUFjdGl2YXRlZENsaWNrKG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgaWYgKCF0aGlzLmhhc1RyZWVUYWJsZSAmJiB0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAvLyB0aGlzLnRyZWVNdWx0aXBsZShub2RlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRlbXAgPSBub2RlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMudHJlZVRhYmxlQ29ubmVjdCkge1xyXG4gICAgICBpZiAoIXRoaXMudGFibGVRdWVyeSkgdGhpcy50YWJsZVF1ZXJ5ID0ge307XHJcbiAgICAgIGlmICghdGhpcy50YWJsZVF1ZXJ5LmZpbHRlcikgdGhpcy50YWJsZVF1ZXJ5LmZpbHRlciA9IFtdO1xyXG4gICAgICBsZXQgZmllbGQgPSB0aGlzLnRhYmxlUXVlcnkuZmlsdGVyLmZpbmQoKHgpID0+IHguZmllbGQgPT09IHRoaXMudHJlZVRhYmxlQ29ubmVjdCk7XHJcbiAgICAgIGlmIChmaWVsZCkge1xyXG4gICAgICAgIGZpZWxkLnZhbHVlID0gbm9kZS5pZDtcclxuICAgICAgICBmaWVsZC5vcGVyYXRpb24gPSAnPSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy50YWJsZVF1ZXJ5LmZpbHRlciA9IFsuLi50aGlzLnRhYmxlUXVlcnkuZmlsdGVyLCB7IGZpZWxkOiB0aGlzLnRyZWVUYWJsZUNvbm5lY3QsIHZhbHVlOiBub2RlLmlkLCBvcGVyYXRpb246ICc9JyB9XTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRhYmxlQ29tLmNoYW5nZSgxKTtcclxuICAgICAgdGhpcy50cmVlQWN0aXZhdGVkSWQgPSBub2RlLmlkO1xyXG4gICAgfVxyXG4gICAgdGhpcy50cmVlQWN0aXZhdGVkQ2hhbmdlLmVtaXQobm9kZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmVlQ2hlY2tib3hDaGFuZ2Uobm9kZTogWFRyZWVOb2RlKSB7XHJcbiAgICB0aGlzLnRyZWVNdWx0aXBsZShub2RlKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgdGhpcy50cmVlQ29tPy5zZXREYXRhKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9maW5kL2ZpbmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxlQUFlLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBYSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFVdkQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBb0UvQyxZQUFtQixRQUFtQixFQUFVLEdBQXNCLEVBQVMsYUFBNkI7UUFDMUcsS0FBSyxFQUFFLENBQUM7UUFEUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFWNUcsV0FBTSxHQUFHLEdBQUcsQ0FBQztRQUVMLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBVXpDLENBQUM7SUE5REQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFDVyxRQUFRLENBQUMsS0FBaUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBR0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFDVyxPQUFPLENBQUMsS0FBaUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLFFBQVE7O1FBQ1YsT0FBTyxPQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLE1BQU0sSUFBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sQ0FDTCxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLFlBQVksUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLFlBQVksVUFBVSxDQUN2SSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN0QyxDQUFDO0lBUUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBTUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxXQUFXOztRQUNULE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsVUFBVSxHQUFHO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1QsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRixDQUFDO0lBRUQsWUFBWTs7UUFDVixJQUFJLFNBQVMsR0FBYyxFQUFFLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLFNBQVMsR0FBRyxPQUFDLElBQUksQ0FBQyxRQUFRLDBDQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QyxTQUFTLENBQUMsSUFBSSxPQUFDLElBQUksQ0FBQyxPQUFPLDBDQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsR0FBRyxTQUFTLENBQUM7YUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2xELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOztZQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO2FBQ3hEO2lCQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDdkIsSUFBSSxDQUFDLE1BQU0sU0FBRyxJQUFJLENBQUMsT0FBTywwQ0FBRSxhQUFhLENBQUMsWUFBWSxDQUFDO2FBQ3hEO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUc7b0JBQ2xCO3dCQUNFLEVBQUUsRUFBRSxVQUFVO3dCQUNkLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CO3dCQUMvQixVQUFVLEVBQUUsSUFBSTt3QkFDaEIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQW1CO3FCQUNoQztvQkFDRCxHQUFHLElBQUksQ0FBQyxZQUFZO2lCQUNyQixDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNwRCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQzthQUM1QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7YUFDNUI7aUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQzthQUM1QjtTQUNGO0lBQ0gsQ0FBQztJQUVELFNBQVM7O1FBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsSUFBSSxHQUFJLElBQUksQ0FBQyxLQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztpQkFDdEM7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLDBDQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsTUFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsMENBQUUsaUJBQWlCLEdBQUc7U0FDaEQ7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPO1FBQ3RELE1BQU0sR0FBRyxHQUFJLElBQUksQ0FBQyxJQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxlQUFlLG1DQUNmLElBQUksQ0FBQyxlQUFlLEtBQ3ZCLFFBQVEsRUFBRSxHQUFHLEdBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsZUFBZTtZQUFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQVM7O1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxFQUFFLFNBQUcsSUFBSSxDQUFDLFFBQVEsMENBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEUsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sRUFBRSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsVUFBVSxHQUFHO2FBQzdCO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsSUFBSSxFQUFFLFNBQUcsSUFBSSxDQUFDLE9BQU8sMENBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUQsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ25CLEVBQUUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLEdBQUcsQ0FBQyxhQUFhLEdBQUc7YUFDbkM7U0FDRjtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFnQixDQUFDLENBQUM7UUFDekIsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO2FBQzdCO1NBQ0Y7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxJQUFlO1FBQ3JDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsSUFBZTtRQUN6QixJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNiLElBQUksQ0FBQyxJQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQzVELENBQUMsQ0FDRixDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBZTtRQUMxQixJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckQsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xDO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDYixJQUFJLENBQUMsSUFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUM1RCxDQUFDLENBQ0YsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBZTtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3RDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsMkJBQTJCO2FBQzVCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQ2xCO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtnQkFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2dCQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbEYsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN0QixLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3hIO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFlO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUNsQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjs7UUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLE9BQU8sR0FBRztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRTtZQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxXQUFXOztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25CLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhGLElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7U0FDdkM7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBRyxJQUFJLENBQUMsVUFBVSwwQ0FBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUF6VkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxHQUFHLFdBQVcsRUFBRTtnQkFDMUIsc3NJQUFvQztnQkFFcEMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7O2FBQzVDOzs7O1lBdEJDLFNBQVM7WUFEVCxpQkFBaUI7WUFPcUMsY0FBYzs7O21CQWtCbkUsU0FBUyxTQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7d0JBQ2xDLFNBQVMsU0FBQyxXQUFXO3VCQUNyQixTQUFTLFNBQUMsVUFBVTtzQkFDcEIsU0FBUyxTQUFDLFNBQVM7d0JBQ25CLFNBQVMsU0FBQyxXQUFXO3VCQU1yQixTQUFTLFNBQUMsVUFBVTtzQkFZcEIsU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEZpbmRQcm9wZXJ0eSwgWEZpbmRQcmVmaXggfSBmcm9tICcuL2ZpbmQucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xlYXJDbGFzcywgWFJlc2l6ZSwgWElzVW5kZWZpbmVkLCBYSXNDaGFuZ2UsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUNvbXBvbmVudCwgWFRhYmxlUm93IH0gZnJvbSAnQG5nLW5lc3QvdWkvdGFibGUnO1xyXG5pbXBvcnQgeyBYRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvZGlhbG9nJztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFhUcmVlTm9kZSwgWFRyZWVDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS90cmVlJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hGaW5kUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbmQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhGaW5kQ29tcG9uZW50KV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhGaW5kQ29tcG9uZW50IGV4dGVuZHMgWEZpbmRQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZmluZCcsIHsgc3RhdGljOiB0cnVlIH0pIGZpbmQhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ0NvbScpIGRpYWxvZ0NvbSE6IFhEaWFsb2dDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVDb20nKSB0YWJsZUNvbSE6IFhUYWJsZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCd0cmVlQ29tJykgdHJlZUNvbSE6IFhUcmVlQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkNvbScpIGJ1dHRvbkNvbSE6IFhCdXR0b25Db21wb25lbnQ7XHJcblxyXG4gIHByaXZhdGUgX3RhYmxlUmVmITogRWxlbWVudFJlZjtcclxuICBwdWJsaWMgZ2V0IHRhYmxlUmVmKCk6IEVsZW1lbnRSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhYmxlUmVmO1xyXG4gIH1cclxuICBAVmlld0NoaWxkKCd0YWJsZVJlZicpXHJcbiAgcHVibGljIHNldCB0YWJsZVJlZih2YWx1ZTogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5fdGFibGVSZWYgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSAmJiB0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90cmVlUmVmITogRWxlbWVudFJlZjtcclxuICBwdWJsaWMgZ2V0IHRyZWVSZWYoKTogRWxlbWVudFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZVJlZjtcclxuICB9XHJcbiAgQFZpZXdDaGlsZCgndHJlZVJlZicpXHJcbiAgcHVibGljIHNldCB0cmVlUmVmKHZhbHVlOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLl90cmVlUmVmID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnNldFN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEVtcHR5KCkge1xyXG4gICAgcmV0dXJuICF0aGlzLnRlbXAgfHwgdGhpcy50ZW1wLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNUYWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRhYmxlQ29sdW1ucz8ubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNUcmVlKCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgKEFycmF5LmlzQXJyYXkodGhpcy50cmVlRGF0YSkgJiYgdGhpcy50cmVlRGF0YS5sZW5ndGggPiAwKSB8fCB0aGlzLnRyZWVEYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24gfHwgdGhpcy50cmVlRGF0YSBpbnN0YW5jZW9mIE9ic2VydmFibGVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzVHJlZVRhYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzVGFibGUgJiYgdGhpcy5oYXNUcmVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1RyZWVNdWx0aXBsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmhhc1RyZWUgJiYgIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMubXVsdGlwbGU7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzU2VhcmNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoICYmIHRoaXMuaGFzVGFibGU7XHJcbiAgfVxyXG5cclxuICB0ZW1wOiBhbnk7XHJcbiAgaGVpZ2h0ID0gMTAwO1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgWElzQ2hhbmdlKHNpbXBsZXMudGFibGVEYXRhKSAmJiB0aGlzLnNldFRhYmxlQ2hlY2tlZFJvdygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5maW5kLm5hdGl2ZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIsIHRoaXMuanVzdGlmeSwgdGhpcy5hbGlnbiwgdGhpcy5kaXJlY3Rpb24pO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gICAgdGhpcy5zZXRNdWx0aXBsZSgpO1xyXG4gICAgdGhpcy5zZXRXaWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBsZXQgcmVzaXplUmVmOiBFbGVtZW50W10gPSBbXTtcclxuICAgIGlmICh0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgIHJlc2l6ZVJlZiA9IFt0aGlzLnRhYmxlUmVmPy5uYXRpdmVFbGVtZW50XTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhhc1RyZWUgJiYgIXRoaXMuaGFzVHJlZVRhYmxlKSB7XHJcbiAgICAgIHJlc2l6ZVJlZi5wdXNoKHRoaXMudHJlZVJlZj8ubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgWFJlc2l6ZSguLi5yZXNpemVSZWYpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgIGlmICh0aGlzLnRhYmxlUmVmKSB7XHJcbiAgICAgICAgICB0aGlzLmhlaWdodCA9IHRoaXMudGFibGVSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy50cmVlUmVmPy5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldE11bHRpcGxlKCkge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5oYXNUYWJsZSkge1xyXG4gICAgICBpZiAoIXRoaXMudGFibGVDb2x1bW5zLmZpbmQoKHgpID0+IHgucm93Q2hlY2tlZCkpIHtcclxuICAgICAgICB0aGlzLnRhYmxlQ29sdW1ucyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6ICckY2hlY2tlZCcsXHJcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmRpYWxvZ0NoZWNrYm94TGFiZWwsXHJcbiAgICAgICAgICAgIHJvd0NoZWNrZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLmRpYWxvZ0NoZWNrYm94V2lkdGhcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi50aGlzLnRhYmxlQ29sdW1uc1xyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFdpZHRoKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmRpYWxvZ1dpZHRoKSkge1xyXG4gICAgICBpZiAoKHRoaXMuaGFzVGFibGUgJiYgdGhpcy5oYXNUcmVlKSB8fCB0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dXaWR0aCA9ICc1MHJlbSc7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNUcmVlICYmIHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1dpZHRoID0gJzMwcmVtJztcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1dpZHRoID0gJzIwcmVtJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd01vZGFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XHJcbiAgICB0aGlzLmRpYWxvZ1Zpc2libGVDaGFuZ2UuZW1pdCh0aGlzLmRpYWxvZ1Zpc2libGUpO1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLnRlbXAgPSAodGhpcy52YWx1ZSBhcyBBcnJheTxhbnk+KS5tYXAoKHgpID0+IE9iamVjdC5hc3NpZ24oe30sIHgpKTtcclxuICAgICAgICB0aGlzLnNldFRhYmxlQ2hlY2tlZFJvdygpO1xyXG4gICAgICAgIHRoaXMuc2V0VHJlZUNoZWNrZWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRhYmxlQWN0aXZhdGVkUm93ID0gdGhpcy52YWx1ZTtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICAgICAgdGhpcy50cmVlQWN0aXZhdGVkSWQgPSB0aGlzLnZhbHVlLmlkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZW1wID0gdGhpcy5tdWx0aXBsZSA/IFtdIDogbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgIHRoaXMudGFibGVDb20udmlydHVhbEJvZHk/LnNjcm9sbFRvSW5kZXgoMCk7XHJcbiAgICAgIHRoaXMudGFibGVDb20udmlydHVhbEJvZHk/LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRUYWJsZUNoZWNrZWRSb3coKSB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUgfHwgWElzVW5kZWZpbmVkKHRoaXMudGVtcCkpIHJldHVybjtcclxuICAgIGNvbnN0IGlkcyA9ICh0aGlzLnRlbXAgYXMgQXJyYXk8YW55PikubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgIHRoaXMudGFibGVDaGVja2VkUm93ID0ge1xyXG4gICAgICAuLi50aGlzLnRhYmxlQ2hlY2tlZFJvdyxcclxuICAgICAgJGNoZWNrZWQ6IGlkc1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldFRyZWVDaGVja2VkKCkge1xyXG4gICAgaWYgKHRoaXMuaGFzVHJlZU11bHRpcGxlKSB0aGlzLnRyZWVDaGVja2VkID0gdGhpcy50ZW1wLm1hcCgoeDogYW55KSA9PiB4LmlkKTtcclxuICB9XHJcblxyXG4gIHN1cmUoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy50ZW1wO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlTW9kYWwoKSB7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBkaWFsb2dDbG9zZURvbmUoKSB7XHJcbiAgICBpZiAodGhpcy5oYXNUcmVlKSB7XHJcbiAgICAgIHRoaXMudHJlZUFjdGl2YXRlZElkID0gbnVsbDtcclxuICAgICAgdGhpcy50ZW1wID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRlbXBDbG9zZShpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuICAgIHRoaXMudGVtcC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgaWYgKHRoaXMuaGFzVGFibGUpIHtcclxuICAgICAgbGV0IGl0ID0gdGhpcy50YWJsZUNvbT8udGFibGVEYXRhLmZpbmQoKHgpID0+IGl0ZW0uaWQgPT09IHguaWQpO1xyXG4gICAgICBpZiAoaXQpIHtcclxuICAgICAgICBpdC4kY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudGFibGVDb20/LmJvZHlDaGFuZ2UoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgbGV0IGl0ID0gdGhpcy50cmVlQ29tPy50cmVlRGF0YS5maW5kKCh4KSA9PiBpdGVtLmlkID09PSB4LmlkKTtcclxuICAgICAgaWYgKGl0KSB7XHJcbiAgICAgICAgaXQuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIGl0LmNoYW5nZSAmJiBpdC5jaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLnRyZWVDb20/LmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0YWdDbG9zZShpbmRleDogbnVtYmVyID0gLTEpIHtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLnRhYmxlQWN0aXZhdGVkUm93ID0gbnVsbDtcclxuICAgICAgaWYgKCF0aGlzLmhhc1RyZWVUYWJsZSAmJiB0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICB0aGlzLnRyZWVBY3RpdmF0ZWRJZCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRhYmxlQWN0aXZhdGVkUm93Q2hhbmdlKGRhdGE6IFhUYWJsZVJvdykge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5yb3dNdWx0aXBsZShkYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGVtcCA9IGRhdGE7XHJcbiAgICAgIHRoaXMuc3VyZSgpO1xyXG4gICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJvd011bHRpcGxlKGRhdGE6IFhUYWJsZVJvdykge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnRlbXAgPT09ICd1bmRlZmluZWQnKSB0aGlzLnRlbXAgPSBbXTtcclxuICAgIGlmIChkYXRhLiRjaGVja2VkKSB7XHJcbiAgICAgIHRoaXMudGVtcCA9IFsuLi50aGlzLnRlbXAsIGRhdGFdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZW1wLnNwbGljZShcclxuICAgICAgICAodGhpcy50ZW1wIGFzIEFycmF5PGFueT4pLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gZGF0YS5pZCksXHJcbiAgICAgICAgMVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJlZU11bHRpcGxlKG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnRlbXAgPT09ICd1bmRlZmluZWQnKSB0aGlzLnRlbXAgPSBbXTtcclxuICAgIC8vIG5vZGUuJGNoZWNrZWQgPSAhbm9kZS4kY2hlY2tlZDtcclxuICAgIGlmIChub2RlLmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy50ZW1wID0gWy4uLnRoaXMudGVtcCwgbm9kZV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRlbXAuc3BsaWNlKFxyXG4gICAgICAgICh0aGlzLnRlbXAgYXMgQXJyYXk8YW55PikuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBub2RlLmlkKSxcclxuICAgICAgICAxXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmVlQWN0aXZhdGVkQ2xpY2sobm9kZTogWFRyZWVOb2RlKSB7XHJcbiAgICBpZiAoIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgIC8vIHRoaXMudHJlZU11bHRpcGxlKG5vZGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudGVtcCA9IG5vZGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNUcmVlVGFibGUgJiYgdGhpcy50cmVlVGFibGVDb25uZWN0KSB7XHJcbiAgICAgIGlmICghdGhpcy50YWJsZVF1ZXJ5KSB0aGlzLnRhYmxlUXVlcnkgPSB7fTtcclxuICAgICAgaWYgKCF0aGlzLnRhYmxlUXVlcnkuZmlsdGVyKSB0aGlzLnRhYmxlUXVlcnkuZmlsdGVyID0gW107XHJcbiAgICAgIGxldCBmaWVsZCA9IHRoaXMudGFibGVRdWVyeS5maWx0ZXIuZmluZCgoeCkgPT4geC5maWVsZCA9PT0gdGhpcy50cmVlVGFibGVDb25uZWN0KTtcclxuICAgICAgaWYgKGZpZWxkKSB7XHJcbiAgICAgICAgZmllbGQudmFsdWUgPSBub2RlLmlkO1xyXG4gICAgICAgIGZpZWxkLm9wZXJhdGlvbiA9ICc9JztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRhYmxlUXVlcnkuZmlsdGVyID0gWy4uLnRoaXMudGFibGVRdWVyeS5maWx0ZXIsIHsgZmllbGQ6IHRoaXMudHJlZVRhYmxlQ29ubmVjdCwgdmFsdWU6IG5vZGUuaWQsIG9wZXJhdGlvbjogJz0nIH1dO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudGFibGVDb20uY2hhbmdlKDEpO1xyXG4gICAgICB0aGlzLnRyZWVBY3RpdmF0ZWRJZCA9IG5vZGUuaWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyZWVBY3RpdmF0ZWRDaGFuZ2UuZW1pdChub2RlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRyZWVDaGVja2JveENoYW5nZShub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIHRoaXMudHJlZU11bHRpcGxlKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUl0ZW0oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIGZvcm1Db250cm9sQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIHRoaXMubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICB0aGlzLnRyZWVDb20/LnNldERhdGEoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgdGhpcy5zZWFyY2hDbGljaygpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdEZWxldGUnKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoLnZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2hDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5oYXNTZWFyY2gpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGFibGVRdWVyeSA9IHRoaXMudGFibGVRdWVyeSB8fCBbXTtcclxuICAgIHRoaXMudGFibGVRdWVyeS5maWx0ZXIgPSB0aGlzLnRhYmxlUXVlcnkuZmlsdGVyIHx8IFtdO1xyXG4gICAgY29uc3QgZmllbGQgPSB0aGlzLnRhYmxlUXVlcnkuZmlsdGVyLmZpbmQoKHgpID0+IHguZmllbGQgPT09IHRoaXMuc2VhcmNoLmZpZWxkKTtcclxuXHJcbiAgICBpZiAoZmllbGQpIHtcclxuICAgICAgZmllbGQudmFsdWUgPSB0aGlzLnNlYXJjaC52YWx1ZSB8fCAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGFibGVRdWVyeS5maWx0ZXIgPSBbLi4udGhpcy50YWJsZVF1ZXJ5Py5maWx0ZXIsIHRoaXMuc2VhcmNoXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRhYmxlQ29tLmNoYW5nZSgxKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -11,6 +11,7 @@ import { XEmptyModule } from '@ng-nest/ui/empty';
11
11
  import { XTreeModule } from '@ng-nest/ui/tree';
12
12
  import { XIconModule } from '@ng-nest/ui/icon';
13
13
  import { XBaseFormModule } from '@ng-nest/ui/base-form';
14
+ import { XInputModule } from '@ng-nest/ui/input';
14
15
  export class XFindModule {
15
16
  }
16
17
  XFindModule.decorators = [
@@ -28,8 +29,9 @@ XFindModule.decorators = [
28
29
  XTreeModule,
29
30
  XIconModule,
30
31
  XEmptyModule,
32
+ XInputModule,
31
33
  XBaseFormModule
32
34
  ]
33
35
  },] }
34
36
  ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9maW5kL2ZpbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFtQnhELE1BQU0sT0FBTyxXQUFXOzs7WUFqQnZCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDO2dCQUM3QyxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQ3pCLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixVQUFVO29CQUNWLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsV0FBVztvQkFDWCxZQUFZO29CQUNaLGVBQWU7aUJBQ2hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWEZpbmRDb21wb25lbnQgfSBmcm9tICcuL2ZpbmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWEZpbmRQcm9wZXJ0eSB9IGZyb20gJy4vZmluZC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhCdXR0b25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBYRGlhbG9nTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZGlhbG9nJztcclxuaW1wb3J0IHsgWFRhYmxlTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdGFibGUnO1xyXG5pbXBvcnQgeyBYVGFnTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdGFnJztcclxuaW1wb3J0IHsgWEVtcHR5TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZW1wdHknO1xyXG5pbXBvcnQgeyBYVHJlZU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3RyZWUnO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYQmFzZUZvcm1Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtYRmluZENvbXBvbmVudCwgWEZpbmRQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hGaW5kQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBYVGFnTW9kdWxlLFxyXG4gICAgWEJ1dHRvbk1vZHVsZSxcclxuICAgIFhEaWFsb2dNb2R1bGUsXHJcbiAgICBYVGFibGVNb2R1bGUsXHJcbiAgICBYVHJlZU1vZHVsZSxcclxuICAgIFhJY29uTW9kdWxlLFxyXG4gICAgWEVtcHR5TW9kdWxlLFxyXG4gICAgWEJhc2VGb3JtTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEZpbmRNb2R1bGUge31cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9maW5kL2ZpbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBb0JqRCxNQUFNLE9BQU8sV0FBVzs7O1lBbEJ2QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQztnQkFDN0MsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUN6QixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsVUFBVTtvQkFDVixhQUFhO29CQUNiLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixXQUFXO29CQUNYLFdBQVc7b0JBQ1gsWUFBWTtvQkFDWixZQUFZO29CQUNaLGVBQWU7aUJBQ2hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgWEZpbmRDb21wb25lbnQgfSBmcm9tICcuL2ZpbmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWEZpbmRQcm9wZXJ0eSB9IGZyb20gJy4vZmluZC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhCdXR0b25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9idXR0b24nO1xyXG5pbXBvcnQgeyBYRGlhbG9nTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZGlhbG9nJztcclxuaW1wb3J0IHsgWFRhYmxlTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdGFibGUnO1xyXG5pbXBvcnQgeyBYVGFnTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvdGFnJztcclxuaW1wb3J0IHsgWEVtcHR5TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZW1wdHknO1xyXG5pbXBvcnQgeyBYVHJlZU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3RyZWUnO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYQmFzZUZvcm1Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYSW5wdXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pbnB1dCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1hGaW5kQ29tcG9uZW50LCBYRmluZFByb3BlcnR5XSxcclxuICBleHBvcnRzOiBbWEZpbmRDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFhUYWdNb2R1bGUsXHJcbiAgICBYQnV0dG9uTW9kdWxlLFxyXG4gICAgWERpYWxvZ01vZHVsZSxcclxuICAgIFhUYWJsZU1vZHVsZSxcclxuICAgIFhUcmVlTW9kdWxlLFxyXG4gICAgWEljb25Nb2R1bGUsXHJcbiAgICBYRW1wdHlNb2R1bGUsXHJcbiAgICBYSW5wdXRNb2R1bGUsXHJcbiAgICBYQmFzZUZvcm1Nb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRmluZE1vZHVsZSB7fVxyXG4iXX0=
@@ -114,6 +114,9 @@ XFindProperty.propDecorators = {
114
114
  multiple: [{ type: Input }],
115
115
  columnLabel: [{ type: Input }],
116
116
  dialogTitle: [{ type: Input }],
117
+ dialogCheckboxLabel: [{ type: Input }],
118
+ dialogCheckboxWidth: [{ type: Input }],
119
+ dialogEmptyContent: [{ type: Input }],
117
120
  dialogWidth: [{ type: Input }],
118
121
  dialogHeight: [{ type: Input }],
119
122
  dialogVisible: [{ type: Input }],
@@ -145,7 +148,8 @@ XFindProperty.propDecorators = {
145
148
  treeExpandedLevel: [{ type: Input }],
146
149
  treeChecked: [{ type: Input }],
147
150
  treeCheckbox: [{ type: Input }],
148
- treeTableConnect: [{ type: Input }]
151
+ treeTableConnect: [{ type: Input }],
152
+ search: [{ type: Input }]
149
153
  };
150
154
  __decorate([
151
155
  XInputBoolean(),
@@ -159,6 +163,19 @@ __decorate([
159
163
  XWithConfig(X_CONFIG_NAME, '查找选择'),
160
164
  __metadata("design:type", String)
161
165
  ], XFindProperty.prototype, "dialogTitle", void 0);
166
+ __decorate([
167
+ XWithConfig(X_CONFIG_NAME, '选择'),
168
+ __metadata("design:type", String)
169
+ ], XFindProperty.prototype, "dialogCheckboxLabel", void 0);
170
+ __decorate([
171
+ XWithConfig(X_CONFIG_NAME, 60),
172
+ XInputNumber(),
173
+ __metadata("design:type", Number)
174
+ ], XFindProperty.prototype, "dialogCheckboxWidth", void 0);
175
+ __decorate([
176
+ XWithConfig(X_CONFIG_NAME, '请选择数据'),
177
+ __metadata("design:type", String)
178
+ ], XFindProperty.prototype, "dialogEmptyContent", void 0);
162
179
  __decorate([
163
180
  XInputBoolean(),
164
181
  __metadata("design:type", Boolean)
@@ -216,4 +233,4 @@ __decorate([
216
233
  XInputBoolean(),
217
234
  __metadata("design:type", Object)
218
235
  ], XFindProperty.prototype, "treeCheckbox", void 0);
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2ZpbmQvZmluZC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFFYixZQUFZLEVBRVosWUFBWSxFQUlaLFdBQVcsRUFDWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFFM0U7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFDcEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDO0FBRTdCOztHQUVHO0FBRUgsTUFBTSxPQUFPLGFBQWMsU0FBUSxxQkFBa0M7SUFEckU7O1FBRUU7OztXQUdHO1FBQ3VCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFxQnJEOzs7V0FHRztRQUN1QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUN6RDs7O1dBR0c7UUFDTyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBTzVEOzs7V0FHRztRQUNNLGNBQVMsR0FBcUIsRUFBRSxDQUFDO1FBVzFDOzs7V0FHRztRQUNNLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDakM7OztXQUdHO1FBQ00sZUFBVSxHQUFXLENBQUMsQ0FBQztRQUNoQzs7O1dBR0c7UUFDTyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN2RDs7O1dBR0c7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDeEQ7OztXQUdHO1FBQ00saUJBQVksR0FBbUIsRUFBRSxDQUFDO1FBTTNDOzs7V0FHRztRQUNPLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqRDs7O1dBR0c7UUFDTSxvQkFBZSxHQUFrQyxFQUFFLENBQUM7UUFnQjdEOzs7V0FHRztRQUNNLHFCQUFnQixHQUFXLEdBQUcsQ0FBQztRQUN4Qzs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBVyxHQUFHLENBQUM7UUFNeEM7OztXQUdHO1FBQ3NCLG9CQUFlLEdBQVksQ0FBQyxDQUFDO1FBTXREOzs7V0FHRztRQUNzQixhQUFRLEdBQXFCLEVBQUUsQ0FBQztRQUN6RDs7O1dBR0c7UUFDTyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBVzlEOzs7V0FHRztRQUNNLGdCQUFXLEdBQVUsRUFBRSxDQUFDO0lBV25DLENBQUM7OztZQWxMQSxTQUFTLFNBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzs7dUJBTXhCLEtBQUs7MEJBS0wsS0FBSzswQkFLTCxLQUFLOzBCQUtMLEtBQUs7MkJBS0wsS0FBSzs0QkFLTCxLQUFLO2tDQUtMLE1BQU07a0NBS04sS0FBSzt3QkFNTCxLQUFLO3lCQUtMLEtBQUs7d0JBS0wsS0FBSzt5QkFLTCxLQUFLO3lCQUtMLEtBQUs7K0JBS0wsTUFBTTs4QkFLTixNQUFNOzhCQUtOLE1BQU07MkJBS04sS0FBSztnQ0FLTCxLQUFLOzJCQUtMLE1BQU07OEJBS04sS0FBSzsyQkFLTCxLQUFLO2lDQUtMLEtBQUs7OEJBS0wsS0FBSzsrQkFLTCxLQUFLOytCQUtMLEtBQUs7a0NBS0wsS0FBSzs4QkFLTCxLQUFLOzZCQUtMLEtBQUs7dUJBS0wsS0FBSztrQ0FLTCxNQUFNOzhCQUtOLEtBQUs7Z0NBS0wsS0FBSzswQkFLTCxLQUFLOzJCQUtMLEtBQUs7K0JBS0wsS0FBSzs7QUEzS29CO0lBQWhCLGFBQWEsRUFBRTs7K0NBQTRCO0FBS0M7SUFBNUMsV0FBVyxDQUFTLGFBQWEsRUFBRSxPQUFPLENBQUM7O2tEQUFxQjtBQUtyQjtJQUEzQyxXQUFXLENBQVMsYUFBYSxFQUFFLE1BQU0sQ0FBQzs7a0RBQXFCO0FBZS9DO0lBQWhCLGFBQWEsRUFBRTs7b0RBQWdDO0FBVU87SUFBdEQsV0FBVyxDQUFXLGFBQWEsQ0FBQztJQUFFLGFBQWEsRUFBRTs7MERBQStCO0FBVzlDO0lBQXRDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsQ0FBQyxDQUFDOztpREFBb0I7QUFLbEI7SUFBdkMsV0FBVyxDQUFTLGFBQWEsRUFBRSxFQUFFLENBQUM7O2dEQUFtQjtBQWtESTtJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTs7bURBQXdCO0FBS3hCO0lBQTVELFdBQVcsQ0FBVSxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFOzt5REFBNkI7QUFLekU7SUFBZixZQUFZLEVBQUU7O3NEQUF5QjtBQWV4QjtJQUFmLFlBQVksRUFBRTs7MERBQThCO0FBSzdCO0lBQWYsWUFBWSxFQUFFOztzREFBOEI7QUFLVztJQUF2RCxXQUFXLENBQVMsYUFBYSxFQUFFLEVBQUUsQ0FBQztJQUFFLFlBQVksRUFBRTs7cURBQXdCO0FBSy9EO0lBQWYsWUFBWSxFQUFFOzsrQ0FBaUM7QUFlUTtJQUF2RCxXQUFXLENBQVUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUFFLFlBQVksRUFBRTs7d0RBQTRCO0FBVWxFO0lBQWhCLGFBQWEsRUFBRTs7bURBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYSW5wdXRCb29sZWFuLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhEYXRhQ29udmVydCxcclxuICBYRGF0YSxcclxuICBYSW5wdXROdW1iZXIsXHJcbiAgWE51bWJlcixcclxuICBYU29ydCxcclxuICBYUXVlcnksXHJcbiAgWFdpdGhDb25maWdcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlQ29sdW1uLCBYVGFibGVSb3cgfSBmcm9tICdAbmctbmVzdC91aS90YWJsZSc7XHJcbmltcG9ydCB7IFhUcmVlTm9kZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3RyZWUnO1xyXG5pbXBvcnQgeyBYQ29udHJvbFZhbHVlQWNjZXNzb3IsIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBGaW5kXHJcbiAqIEBzZWxlY3RvciB4LWZpbmRcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRmluZFByZWZpeCA9ICd4LWZpbmQnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ2ZpbmQnO1xyXG5cclxuLyoqXHJcbiAqIEZpbmQgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhGaW5kUHJvcGVydHkgZXh0ZW5kcyBYQ29udHJvbFZhbHVlQWNjZXNzb3I8YW55IHwgYW55W10+IGltcGxlbWVudHMgWEZpbmRPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgIlcclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgY2hvaWNlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtdWx0aXBsZTogWEJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5LitIGxhYmVsIOWQjeensOWtl+autVxyXG4gICAqIEBlbl9VUyBDaGVjayB0aGUgbGFiZWwgbmFtZSBmaWVsZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICdsYWJlbCcpIGNvbHVtbkxhYmVsOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuagh+mimFxyXG4gICAqIEBlbl9VUyBCdWxsZXQgdGl0bGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAn5p+l5om+6YCJ5oupJykgZGlhbG9nVGl0bGU6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5a695bqmXHJcbiAgICogQGVuX1VTIEJ1bGxldCBmcmFtZSB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpYWxvZ1dpZHRoOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhumrmOW6plxyXG4gICAqIEBlbl9VUyBIZWlnaHQgb2YgYnVsbGV0IGZyYW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlhbG9nSGVpZ2h0OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuaYvuekuu+8jOmakOiXj1xyXG4gICAqIEBlbl9VUyBCdWxsZXQgYm94IGRpc3BsYXksIGhpZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGRpYWxvZ1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5pi+56S677yM6ZqQ6JePXHJcbiAgICogQGVuX1VTIEJ1bGxldCBib3ggZGlzcGxheSwgaGlkZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBkaWFsb2dWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjInpkq7lsYXkuK1cclxuICAgKiBAZW5fVVMgQnV0dG9uIGNlbnRlcmVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FKSBAWElucHV0Qm9vbGVhbigpIGRpYWxvZ0J1dHRvbnNDZW50ZXI6IFhCb29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVEYXRhOiBYRGF0YTxYVGFibGVSb3c+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteeggVxyXG4gICAqIEBlbl9VUyBUYWJsZSBwYWdlIG51bWJlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDEpIHRhYmxlSW5kZXg6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5q+P6aG15pWw5o2u5p2h5pWwXHJcbiAgICogQGVuX1VTIE51bWJlciBvZiBkYXRhIGl0ZW1zIHBlciBwYWdlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgMTApIHRhYmxlU2l6ZTogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmr4/pobXmlbDmja7mnaHmlbBcclxuICAgKiBAZW5fVVMgTnVtYmVyIG9mIGRhdGEgaXRlbXMgcGVyIHBhZ2VcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZVF1ZXJ5OiBYUXVlcnkgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85pWw5o2u5oC75p2h5pWwXHJcbiAgICogQGVuX1VTIFRvdGFsIG51bWJlciBvZiB0YWJsZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVUb3RhbDogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aG156CB5Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFBhZ2UgbnVtYmVyIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0YWJsZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOavj+mhteaYvuekuuadoeaVsOWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTaG93IHRoZSBudW1iZXIgb2YgZXZlbnRzIG9uIGVhY2ggcGFnZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0YWJsZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP54K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNvcnQgY2xpY2sgZXZlbnRzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHRhYmxlU29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFNvcnRbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85YiX5Y+C5pWwXHJcbiAgICogQGVuX1VTIFRhYmxlIGNvbHVtbiBwYXJhbWV0ZXJzXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVDb2x1bW5zOiBYVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVBY3RpdmF0ZWRSb3c/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdGFibGVSb3dFbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZUNoZWNrZWRSb3c6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnlbXSB9ID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWQr+eUqOWKoOi9vSBsb2FkaW5nXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZW5hYmxlIGxvYWRpbmcgbG9hZGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdGFibGVMb2FkaW5nOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFRhYmxlIG9wZW5zIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPGJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBAWElucHV0Qm9vbGVhbigpIHRhYmxlVmlydHVhbFNjcm9sbDogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC8IGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIFRhYmxlIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgdGFibGVCb2R5SGVpZ2h0OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBUaGUgdGFibGUgZXhjZWVkcyB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZU1pbkJ1ZmZlclB4OiBudW1iZXIgPSAxMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBUaGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIgZm9yIHRoZSB0YWJsZSByZW5kZXJpbmcsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlTWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIFRhYmxlIGFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSB0YWJsZUFkYXB0aW9uSGVpZ2h0OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzmlofmoaPpq5jluqbnmb7liIbmr5TvvIzlvLnnqpfnmb7liIbmr5Tpq5jluqbnlKjliLBcclxuICAgKiBAZW5fVVMgVGFibGUgZG9jdW1lbnQgaGVpZ2h0IHBlcmNlbnRhZ2UsIHVzZWQgZm9yIHBvcC11cCB3aW5kb3cgcGVyY2VudGFnZSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgdGFibGVEb2NQZXJjZW50OiBYTnVtYmVyID0gMTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM6auY5bqm77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCA0MikgQFhJbnB1dE51bWJlcigpIHRhYmxlUm93SGVpZ2h0OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBUcmVlIG5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSB0cmVlRGF0YTogWERhdGE8WFRyZWVOb2RlPiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvZPliY3ngrnlh7vpgInkuK3nmoToioLngrnlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgVGhlIGV2ZW50IG9mIHRoZSB0cmVlIGN1cnJlbnRseSBjbGlja2VkIG9uIHRoZSBzZWxlY3RlZCBub2RlIGNoYW5nZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0cmVlQWN0aXZhdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9k+WJjea/gOa0u+eahOiKgueCuSBJZFxyXG4gICAqIEBlbl9VUyBJZCBvZiB0aGUgY3VycmVudGx5IGFjdGl2ZSBub2RlIG9mIHRoZSB0cmVlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHJlZUFjdGl2YXRlZElkOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkem7mOiupOWxleW8gOeahOWxgue6p1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgb2YgdGhlIHRyZWUgZXhwYW5kZWQgYnkgZGVmYXVsdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAwKSBAWElucHV0TnVtYmVyKCkgdHJlZUV4cGFuZGVkTGV2ZWw6IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkSBjaGVja2JveCDpgInkuK3nmoToioLngrlcclxuICAgKiBAZW5fVVMgVHJlZSBjaGVja2JveCBzZWxlY3RlZCBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHJlZUNoZWNrZWQ6IGFueVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeaYvuekuuWkmumAieahhlxyXG4gICAqIEBlbl9VUyBUcmVlIGRpc3BsYXkgY2hlY2tib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHRyZWVDaGVja2JveDogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeWSjOihqOagvOWQjOaXtuWtmOWcqOeahOaXtuWAme+8jOagkeiKgueCuSBpZCDlr7nlupTooajmoLznmoTlsZ7mgKfvvIznlKjmnaXlgZrooajmoLzmlbDmja7ov4fmu6RcclxuICAgKiBAZW5fVVMgV2hlbiB0aGUgdHJlZSBhbmQgdGhlIHRhYmxlIGV4aXN0IGF0IHRoZSBzYW1lIHRpbWUsIHRoZSB0cmVlIG5vZGUgaWQgY29ycmVzcG9uZHMgdG8gdGhlIGF0dHJpYnV0ZSBvZiB0aGUgdGFibGUsIHdoaWNoIGlzIHVzZWQgdG8gZmlsdGVyIHRoZSB0YWJsZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHJlZVRhYmxlQ29ubmVjdDogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogRmluZCBPcHRpb25cclxuICogQHVuZG9jdW1lbnQgdHJ1ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRmluZE9wdGlvbiBleHRlbmRzIFhGb3JtT3B0aW9uIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJXHJcbiAgICogQGVuX1VTIE11bHRpcGxlIHNlbGVjdFxyXG4gICAqL1xyXG4gIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4rSBsYWJlbCDlkI3np7DlrZfmrrVcclxuICAgKiBAZW5fVVMgQ2hlY2sgdGhlIGxhYmVsIG5hbWUgZmllbGRcclxuICAgKi9cclxuICBjb2x1bW5MYWJlbD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5qCH6aKYXHJcbiAgICogQGVuX1VTIEJ1bGxldCB0aXRsZVxyXG4gICAqL1xyXG4gIGRpYWxvZ1RpdGxlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYblrr3luqZcclxuICAgKiBAZW5fVVMgQnVsbGV0IGZyYW1lIHdpZHRoXHJcbiAgICovXHJcbiAgZGlhbG9nV2lkdGg/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhumrmOW6plxyXG4gICAqIEBlbl9VUyBIZWlnaHQgb2YgYnVsbGV0IGZyYW1lXHJcbiAgICovXHJcbiAgZGlhbG9nSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbmmL7npLrvvIzpmpDol49cclxuICAgKiBAZW5fVVMgQnVsbGV0IGJveCBzaG93LCBoaWRlXHJcbiAgICovXHJcbiAgZGlhbG9nVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuaYvuekuu+8jOmakOiXj1xyXG4gICAqIEBlbl9VUyBCdWxsZXQgYm94IHNob3csIGhpZGVcclxuICAgKi9cclxuICAvLyBkaWFsb2dWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjInpkq7lsYXkuK1cclxuICAgKiBAZW5fVVMgQnV0dG9uIGNlbnRlclxyXG4gICAqL1xyXG4gIGRpYWxvZ0J1dHRvbnNDZW50ZXI/OiBYQm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgZGF0YVxyXG4gICAqL1xyXG4gIHRhYmxlRGF0YT86IFhEYXRhPFhUYWJsZVJvdz47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOmhteeggVxyXG4gICAqIEBlbl9VUyBUYWJsZSBwYWdlIG51bWJlclxyXG4gICAqL1xyXG4gIHRhYmxlSW5kZXg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOavj+mhteaVsOaNruadoeaVsFxyXG4gICAqIEBlbl9VUyBOdW1iZXIgb2YgZGF0YSBpdGVtcyBwZXIgcGFnZVxyXG4gICAqL1xyXG4gIHRhYmxlU2l6ZT86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85pWw5o2u5oC75p2h5pWwXHJcbiAgICogQGVuX1VTIFRvdGFsIG51bWJlciBvZiB0YWJsZSBkYXRhXHJcbiAgICovXHJcbiAgdGFibGVUb3RhbD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aG156CB5Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFBhZ2UgbnVtYmVyIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIC8vIHRhYmxlSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5q+P6aG15pi+56S65p2h5pWw5Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNob3cgdGhlIG51bWJlciBvZiBldmVudHMgb24gZWFjaCBwYWdlXHJcbiAgICovXHJcbiAgLy8gdGFibGVTaXplQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaOkuW6j+eCueWHu+eahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTb3J0IGNsaWNrIGV2ZW50c1xyXG4gICAqL1xyXG4gIC8vIHRhYmxlU29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFNvcnRbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85YiX5Y+C5pWwXHJcbiAgICogQGVuX1VTIFRhYmxlIGNvbHVtbiBwYXJhbWV0ZXJzXHJcbiAgICovXHJcbiAgdGFibGVDb2x1bW5zPzogWFRhYmxlQ29sdW1uW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieS4reihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgc2VsZWN0ZWQgcm93IGRhdGFcclxuICAgKi9cclxuICB0YWJsZUFjdGl2YXRlZFJvdz86IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM54K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIC8vIHRhYmxlUm93RW1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgdGFibGVDaGVja2VkUm93PzogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueVtdIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWQr+eUqOWKoOi9vSBsb2FkaW5nXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZW5hYmxlIGxvYWRpbmdcclxuICAgKi9cclxuICB0YWJsZUxvYWRpbmc/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFRhYmxlIG9wZW5zIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgdGFibGVWaXJ0dWFsU2Nyb2xsPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC8IGJvZHkg5pWw5o2u6auY5bqmXHJcbiAgICogQGVuX1VTIFRhYmxlIGJvZHkgZGF0YSBoZWlnaHRcclxuICAgKi9cclxuICB0YWJsZUJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBUaGUgdGFibGUgZXhjZWVkcyB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICB0YWJsZU1pbkJ1ZmZlclB4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgVGhlIHBpeGVscyBvZiB0aGUgbmV3IGRhdGEgYnVmZmVyIGZvciB0aGUgdGFibGUgcmVuZGVyaW5nLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICB0YWJsZU1heEJ1ZmZlclB4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzoh6rpgILlupTpq5jluqbvvIx0YWJsZSDpq5jluqbnrYnkuo7lsY/luZXpq5jluqblh4/mjonmraTlpITorr7nva7nmoTmlbDlgLxcclxuICAgKiBAZW5fVVMgVGFibGUgYWRhcHRpdmUgaGVpZ2h0LCB0YWJsZSBoZWlnaHQgaXMgZXF1YWwgdG8gdGhlIHNjcmVlbiBoZWlnaHQgbWludXMgdGhlIHZhbHVlIHNldCBoZXJlXHJcbiAgICovXHJcbiAgdGFibGVBZGFwdGlvbkhlaWdodD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOaWh+aho+mrmOW6pueZvuWIhuavlO+8jOW8ueeql+eZvuWIhuavlOmrmOW6pueUqOWIsFxyXG4gICAqIEBlbl9VUyBUYWJsZSBkb2N1bWVudCBoZWlnaHQgcGVyY2VudGFnZSwgdXNlZCBmb3IgcG9wLXVwIHdpbmRvdyBwZXJjZW50YWdlIGhlaWdodFxyXG4gICAqL1xyXG4gIHRhYmxlRG9jUGVyY2VudD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOmrmOW6pu+8jOWNleS9jSBweFxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgdGFibGVSb3dIZWlnaHQ/OiBYTnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIFRyZWUgbm9kZSBkYXRhXHJcbiAgICovXHJcbiAgdHJlZURhdGE/OiBYRGF0YTxYVHJlZU5vZGU+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvZPliY3ngrnlh7vpgInkuK3nmoToioLngrnlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgVGhlIGV2ZW50IG9mIHRoZSB0cmVlIGN1cnJlbnRseSBjbGlja2VkIG9uIHRoZSBzZWxlY3RlZCBub2RlIGNoYW5nZVxyXG4gICAqL1xyXG4gIC8vIHRyZWVBY3RpdmF0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2T5YmN5r+A5rS755qE6IqC54K5IElkXHJcbiAgICogQGVuX1VTIElkIG9mIHRoZSBjdXJyZW50bHkgYWN0aXZlIG5vZGUgb2YgdGhlIHRyZWVcclxuICAgKi9cclxuICB0cmVlQWN0aXZhdGVkSWQ/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkem7mOiupOWxleW8gOeahOWxgue6p1xyXG4gICAqIEBlbl9VUyBUaGUgbGV2ZWwgb2YgdGhlIHRyZWUgZXhwYW5kZWQgYnkgZGVmYXVsdFxyXG4gICAqL1xyXG4gIHRyZWVFeHBhbmRlZExldmVsPzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCRIGNoZWNrYm94IOmAieS4reeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBUcmVlIGNoZWNrYm94IHNlbGVjdGVkIG5vZGVcclxuICAgKi9cclxuICB0cmVlQ2hlY2tlZD86IGFueVtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHmmL7npLrlpJrpgInmoYZcclxuICAgKiBAZW5fVVMgVHJlZSBkaXNwbGF5IGNoZWNrYm94XHJcbiAgICovXHJcbiAgdHJlZUNoZWNrYm94PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeWSjOihqOagvOWQjOaXtuWtmOWcqOeahOaXtuWAme+8jOagkeiKgueCuSBpZCDlr7nlupTooajmoLznmoTlsZ7mgKfvvIznlKjmnaXlgZrooajmoLzmlbDmja7ov4fmu6RcclxuICAgKiBAZW5fVVMgV2hlbiB0aGUgdHJlZSBhbmQgdGhlIHRhYmxlIGV4aXN0IGF0IHRoZSBzYW1lIHRpbWUsIHRoZSB0cmVlIG5vZGUgaWQgY29ycmVzcG9uZHMgdG8gdGhlIGF0dHJpYnV0ZSBvZiB0aGUgdGFibGUsIHdoaWNoIGlzIHVzZWQgdG8gZmlsdGVyIHRoZSB0YWJsZSBkYXRhXHJcbiAgICovXHJcbiAgdHJlZVRhYmxlQ29ubmVjdD86IGFueTtcclxufVxyXG4iXX0=
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2ZpbmQvZmluZC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBWSxZQUFZLEVBQVMsWUFBWSxFQUEwQixXQUFXLEVBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQUM1SSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQU83Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFjLFNBQVEscUJBQWtDO0lBRHJFOztRQUVFOzs7V0FHRztRQUN1QixhQUFRLEdBQWEsS0FBSyxDQUFDO1FBb0NyRDs7O1dBR0c7UUFDdUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDekQ7OztXQUdHO1FBQ08sd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU81RDs7O1dBR0c7UUFDTSxjQUFTLEdBQXFCLEVBQUUsQ0FBQztRQVcxQzs7O1dBR0c7UUFDTSxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ2pDOzs7V0FHRztRQUNNLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDaEM7OztXQUdHO1FBQ08scUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4RDs7O1dBR0c7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkQ7OztXQUdHO1FBQ08sb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hEOzs7V0FHRztRQUNNLGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQU0zQzs7O1dBR0c7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakQ7OztXQUdHO1FBQ00sb0JBQWUsR0FBa0MsRUFBRSxDQUFDO1FBZ0I3RDs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBVyxHQUFHLENBQUM7UUFDeEM7OztXQUdHO1FBQ00scUJBQWdCLEdBQVcsR0FBRyxDQUFDO1FBTXhDOzs7V0FHRztRQUNzQixvQkFBZSxHQUFZLENBQUMsQ0FBQztRQU10RDs7O1dBR0c7UUFDc0IsYUFBUSxHQUFxQixFQUFFLENBQUM7UUFDekQ7OztXQUdHO1FBQ08sd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQVc5RDs7O1dBR0c7UUFDTSxnQkFBVyxHQUFVLEVBQUUsQ0FBQztJQWdCbkMsQ0FBQzs7O1lBdE1BLFNBQVMsU0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7Ozt1QkFNeEIsS0FBSzswQkFLTCxLQUFLOzBCQUtMLEtBQUs7a0NBS0wsS0FBSztrQ0FLTCxLQUFLO2lDQUtMLEtBQUs7MEJBS0wsS0FBSzsyQkFLTCxLQUFLOzRCQUtMLEtBQUs7a0NBS0wsTUFBTTtrQ0FLTixLQUFLO3dCQU1MLEtBQUs7eUJBS0wsS0FBSzt3QkFLTCxLQUFLO3lCQUtMLEtBQUs7eUJBS0wsS0FBSzsrQkFLTCxNQUFNOzhCQUtOLE1BQU07OEJBS04sTUFBTTsyQkFLTixLQUFLO2dDQUtMLEtBQUs7MkJBS0wsTUFBTTs4QkFLTixLQUFLOzJCQUtMLEtBQUs7aUNBS0wsS0FBSzs4QkFLTCxLQUFLOytCQUtMLEtBQUs7K0JBS0wsS0FBSztrQ0FLTCxLQUFLOzhCQUtMLEtBQUs7NkJBS0wsS0FBSzt1QkFLTCxLQUFLO2tDQUtMLE1BQU07OEJBS04sS0FBSztnQ0FLTCxLQUFLOzBCQUtMLEtBQUs7MkJBS0wsS0FBSzsrQkFLTCxLQUFLO3FCQUtMLEtBQUs7O0FBL0xvQjtJQUFoQixhQUFhLEVBQUU7OytDQUE0QjtBQUtDO0lBQTVDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsT0FBTyxDQUFDOztrREFBc0I7QUFLdEI7SUFBM0MsV0FBVyxDQUFTLGFBQWEsRUFBRSxNQUFNLENBQUM7O2tEQUFzQjtBQUt2QjtJQUF6QyxXQUFXLENBQVMsYUFBYSxFQUFFLElBQUksQ0FBQzs7MERBQThCO0FBS2Y7SUFBdkQsV0FBVyxDQUFTLGFBQWEsRUFBRSxFQUFFLENBQUM7SUFBRSxZQUFZLEVBQUU7OzBEQUE4QjtBQUt4QztJQUE1QyxXQUFXLENBQVMsYUFBYSxFQUFFLE9BQU8sQ0FBQzs7eURBQTZCO0FBZXhEO0lBQWhCLGFBQWEsRUFBRTs7b0RBQWdDO0FBVU87SUFBdEQsV0FBVyxDQUFXLGFBQWEsQ0FBQztJQUFFLGFBQWEsRUFBRTs7MERBQWdDO0FBVy9DO0lBQXRDLFdBQVcsQ0FBUyxhQUFhLEVBQUUsQ0FBQyxDQUFDOztpREFBcUI7QUFLbkI7SUFBdkMsV0FBVyxDQUFTLGFBQWEsRUFBRSxFQUFFLENBQUM7O2dEQUFvQjtBQWtERztJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTs7bURBQXlCO0FBS3pCO0lBQTVELFdBQVcsQ0FBVSxhQUFhLEVBQUUsS0FBSyxDQUFDO0lBQUUsYUFBYSxFQUFFOzt5REFBOEI7QUFLMUU7SUFBZixZQUFZLEVBQUU7O3NEQUEwQjtBQWV6QjtJQUFmLFlBQVksRUFBRTs7MERBQStCO0FBSzlCO0lBQWYsWUFBWSxFQUFFOztzREFBOEI7QUFLVztJQUF2RCxXQUFXLENBQVMsYUFBYSxFQUFFLEVBQUUsQ0FBQztJQUFFLFlBQVksRUFBRTs7cURBQXlCO0FBS2hFO0lBQWYsWUFBWSxFQUFFOzsrQ0FBaUM7QUFlUTtJQUF2RCxXQUFXLENBQVUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUFFLFlBQVksRUFBRTs7d0RBQTZCO0FBVW5FO0lBQWhCLGFBQWEsRUFBRTs7bURBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWElucHV0Qm9vbGVhbiwgWEJvb2xlYW4sIFhEYXRhQ29udmVydCwgWERhdGEsIFhJbnB1dE51bWJlciwgWE51bWJlciwgWFNvcnQsIFhRdWVyeSwgWFdpdGhDb25maWcsIFhGaWx0ZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlQ29sdW1uLCBYVGFibGVSb3cgfSBmcm9tICdAbmctbmVzdC91aS90YWJsZSc7XHJcbmltcG9ydCB7IFhUcmVlTm9kZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3RyZWUnO1xyXG5pbXBvcnQgeyBYQ29udHJvbFZhbHVlQWNjZXNzb3IsIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBGaW5kXHJcbiAqIEBzZWxlY3RvciB4LWZpbmRcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRmluZFByZWZpeCA9ICd4LWZpbmQnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ2ZpbmQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBYRmluZFNlYXJjaE9wdGlvbiBleHRlbmRzIFhGaWx0ZXIge1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIGJ1dHRvbj86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbmQgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhGaW5kUHJvcGVydHkgZXh0ZW5kcyBYQ29udHJvbFZhbHVlQWNjZXNzb3I8YW55IHwgYW55W10+IGltcGxlbWVudHMgWEZpbmRPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgIlcclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgY2hvaWNlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtdWx0aXBsZTogWEJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5LitIGxhYmVsIOWQjeensOWtl+autVxyXG4gICAqIEBlbl9VUyBDaGVjayB0aGUgbGFiZWwgbmFtZSBmaWVsZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICdsYWJlbCcpIGNvbHVtbkxhYmVsITogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbmoIfpophcclxuICAgKiBAZW5fVVMgQnVsbGV0IHRpdGxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJ+afpeaJvumAieaLqScpIGRpYWxvZ1RpdGxlITogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbooajmoLzpgInmi6nliJflpLTlkI3np7BcclxuICAgKiBAZW5fVVMgQmFsbCBGb3JtIFNlbGVjdCBMaXN0IE5hbWVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FLCAn6YCJ5oupJykgZGlhbG9nQ2hlY2tib3hMYWJlbCE6IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG6KGo5qC86YCJ5oup5YiX5a69XHJcbiAgICogQGVuX1VTIEJhbGwgRm9ybSBTZWxlY3QgTGlzdCB3aWR0aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDYwKSBAWElucHV0TnVtYmVyKCkgZGlhbG9nQ2hlY2tib3hXaWR0aCE6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG6YCJ5oup5pWw5o2u5Li656m655qE5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIEJhbGwgYm94IHNlbGVjdGlvbiBkYXRhIGVtcHR5IHByb21wdCBpbmZvcm1hdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICfor7fpgInmi6nmlbDmja4nKSBkaWFsb2dFbXB0eUNvbnRlbnQhOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuWuveW6plxyXG4gICAqIEBlbl9VUyBCdWxsZXQgZnJhbWUgd2lkdGhcclxuICAgKi9cclxuICBASW5wdXQoKSBkaWFsb2dXaWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG6auY5bqmXHJcbiAgICogQGVuX1VTIEhlaWdodCBvZiBidWxsZXQgZnJhbWVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaWFsb2dIZWlnaHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuaYvuekuu+8jOmakOiXj1xyXG4gICAqIEBlbl9VUyBCdWxsZXQgYm94IGRpc3BsYXksIGhpZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGRpYWxvZ1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5pi+56S677yM6ZqQ6JePXHJcbiAgICogQGVuX1VTIEJ1bGxldCBib3ggZGlzcGxheSwgaGlkZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBkaWFsb2dWaXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmjInpkq7lsYXkuK1cclxuICAgKiBAZW5fVVMgQnV0dG9uIGNlbnRlcmVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FKSBAWElucHV0Qm9vbGVhbigpIGRpYWxvZ0J1dHRvbnNDZW50ZXI/OiBYQm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOaVsOaNrlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlRGF0YTogWERhdGE8WFRhYmxlUm93PiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzpobXnoIFcclxuICAgKiBAZW5fVVMgVGFibGUgcGFnZSBudW1iZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCAxKSB0YWJsZUluZGV4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmr4/pobXmlbDmja7mnaHmlbBcclxuICAgKiBAZW5fVVMgTnVtYmVyIG9mIGRhdGEgaXRlbXMgcGVyIHBhZ2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCAxMCkgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmr4/pobXmlbDmja7mnaHmlbBcclxuICAgKiBAZW5fVVMgTnVtYmVyIG9mIGRhdGEgaXRlbXMgcGVyIHBhZ2VcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZVF1ZXJ5OiBYUXVlcnkgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85pWw5o2u5oC75p2h5pWwXHJcbiAgICogQGVuX1VTIFRvdGFsIG51bWJlciBvZiB0YWJsZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVUb3RhbDogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6aG156CB5Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFBhZ2UgbnVtYmVyIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0YWJsZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOavj+mhteaYvuekuuadoeaVsOWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTaG93IHRoZSBudW1iZXIgb2YgZXZlbnRzIG9uIGVhY2ggcGFnZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0YWJsZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP54K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNvcnQgY2xpY2sgZXZlbnRzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHRhYmxlU29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFNvcnRbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85YiX5Y+C5pWwXHJcbiAgICogQGVuX1VTIFRhYmxlIGNvbHVtbiBwYXJhbWV0ZXJzXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVDb2x1bW5zOiBYVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ooYzmlbDmja5cclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IHNlbGVjdGVkIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFibGVBY3RpdmF0ZWRSb3c/OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdGFibGVSb3dFbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZUNoZWNrZWRSb3c6IHsgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnlbXSB9ID0ge307XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWQr+eUqOWKoOi9vSBsb2FkaW5nXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdG8gZW5hYmxlIGxvYWRpbmcgbG9hZGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdGFibGVMb2FkaW5nITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUYWJsZSBvcGVucyB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxib29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSB0YWJsZVZpcnR1YWxTY3JvbGwhOiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLwgYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgVGFibGUgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSB0YWJsZUJvZHlIZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBUaGUgdGFibGUgZXhjZWVkcyB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSB0YWJsZU1pbkJ1ZmZlclB4OiBudW1iZXIgPSAxMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBUaGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIgZm9yIHRoZSB0YWJsZSByZW5kZXJpbmcsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlTWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86Ieq6YCC5bqU6auY5bqm77yMdGFibGUg6auY5bqm562J5LqO5bGP5bmV6auY5bqm5YeP5o6J5q2k5aSE6K6+572u55qE5pWw5YC8XHJcbiAgICogQGVuX1VTIFRhYmxlIGFkYXB0aXZlIGhlaWdodCwgdGFibGUgaGVpZ2h0IGlzIGVxdWFsIHRvIHRoZSBzY3JlZW4gaGVpZ2h0IG1pbnVzIHRoZSB2YWx1ZSBzZXQgaGVyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSB0YWJsZUFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIFRhYmxlIGRvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGZvciBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIHRhYmxlRG9jUGVyY2VudDogWE51bWJlciA9IDE7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOmrmOW6pu+8jOWNleS9jSBweFxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgaGVpZ2h0LCB1bml0IHB4XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgNDIpIEBYSW5wdXROdW1iZXIoKSB0YWJsZVJvd0hlaWdodCE6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIFRyZWUgbm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIHRyZWVEYXRhOiBYRGF0YTxYVHJlZU5vZGU+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9k+WJjeeCueWHu+mAieS4reeahOiKgueCueWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBUaGUgZXZlbnQgb2YgdGhlIHRyZWUgY3VycmVudGx5IGNsaWNrZWQgb24gdGhlIHNlbGVjdGVkIG5vZGUgY2hhbmdlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHRyZWVBY3RpdmF0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5b2T5YmN5r+A5rS755qE6IqC54K5IElkXHJcbiAgICogQGVuX1VTIElkIG9mIHRoZSBjdXJyZW50bHkgYWN0aXZlIG5vZGUgb2YgdGhlIHRyZWVcclxuICAgKi9cclxuICBASW5wdXQoKSB0cmVlQWN0aXZhdGVkSWQ6IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR6buY6K6k5bGV5byA55qE5bGC57qnXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCBvZiB0aGUgdHJlZSBleHBhbmRlZCBieSBkZWZhdWx0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsIDApIEBYSW5wdXROdW1iZXIoKSB0cmVlRXhwYW5kZWRMZXZlbCE6IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkSBjaGVja2JveCDpgInkuK3nmoToioLngrlcclxuICAgKiBAZW5fVVMgVHJlZSBjaGVja2JveCBzZWxlY3RlZCBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHJlZUNoZWNrZWQ6IGFueVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeaYvuekuuWkmumAieahhlxyXG4gICAqIEBlbl9VUyBUcmVlIGRpc3BsYXkgY2hlY2tib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHRyZWVDaGVja2JveD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlkozooajmoLzlkIzml7blrZjlnKjnmoTml7blgJnvvIzmoJHoioLngrkgaWQg5a+55bqU6KGo5qC855qE5bGe5oCn77yM55So5p2l5YGa6KGo5qC85pWw5o2u6L+H5rukXHJcbiAgICogQGVuX1VTIFdoZW4gdGhlIHRyZWUgYW5kIHRoZSB0YWJsZSBleGlzdCBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgdHJlZSBub2RlIGlkIGNvcnJlc3BvbmRzIHRvIHRoZSBhdHRyaWJ1dGUgb2YgdGhlIHRhYmxlLCB3aGljaCBpcyB1c2VkIHRvIGZpbHRlciB0aGUgdGFibGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRyZWVUYWJsZUNvbm5lY3Q6IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pWw5o2u5p+l6K+i6L+H5ruk6KGo5Y2VXHJcbiAgICogQGVuX1VTIGZvcm0gZm9yIGRhdGEgZmlsdGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgc2VhcmNoITogWEZpbmRTZWFyY2hPcHRpb247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGaW5kIE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhGaW5kT3B0aW9uIGV4dGVuZHMgWEZvcm1PcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgIlcclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgc2VsZWN0XHJcbiAgICovXHJcbiAgbXVsdGlwbGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5LitIGxhYmVsIOWQjeensOWtl+autVxyXG4gICAqIEBlbl9VUyBDaGVjayB0aGUgbGFiZWwgbmFtZSBmaWVsZFxyXG4gICAqL1xyXG4gIGNvbHVtbkxhYmVsPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbmoIfpophcclxuICAgKiBAZW5fVVMgQnVsbGV0IHRpdGxlXHJcbiAgICovXHJcbiAgZGlhbG9nVGl0bGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuihqOagvOmAieaLqeahhuWIl+WktOWQjeensFxyXG4gICAqIEBlbl9VUyBCYWxsIEZvcm0gU2VsZWN0IEJveCBMaXN0IE5hbWVcclxuICAgKi9cclxuICBkaWFsb2dDaGVja2JveExhYmVsPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvLnmoYbooajmoLzpgInmi6nmoYbliJflpLTlrr3luqZcclxuICAgKiBAZW5fVVMgQmFsbCBGb3JtIFNlbGVjdCBCb3ggTGlzdCB3aWR0aFxyXG4gICAqL1xyXG4gIGRpYWxvZ0NoZWNrYm94V2lkdGg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhumAieaLqeaVsOaNruS4uuepuueahOaPkOekuuWGheWuuVxyXG4gICAqIEBlbl9VUyBCYWxsIGJveCBzZWxlY3Rpb24gZGF0YSBlbXB0eSBwcm9tcHQgaW5mb3JtYXRpb25cclxuICAgKi9cclxuICBkaWFsb2dFbXB0eUNvbnRlbnQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuWuveW6plxyXG4gICAqIEBlbl9VUyBCdWxsZXQgZnJhbWUgd2lkdGhcclxuICAgKi9cclxuICBkaWFsb2dXaWR0aD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG6auY5bqmXHJcbiAgICogQGVuX1VTIEhlaWdodCBvZiBidWxsZXQgZnJhbWVcclxuICAgKi9cclxuICBkaWFsb2dIZWlnaHQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8ueahhuaYvuekuu+8jOmakOiXj1xyXG4gICAqIEBlbl9VUyBCdWxsZXQgYm94IHNob3csIGhpZGVcclxuICAgKi9cclxuICBkaWFsb2dWaXNpYmxlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5by55qGG5pi+56S677yM6ZqQ6JePXHJcbiAgICogQGVuX1VTIEJ1bGxldCBib3ggc2hvdywgaGlkZVxyXG4gICAqL1xyXG4gIC8vIGRpYWxvZ1Zpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaMiemSruWxheS4rVxyXG4gICAqIEBlbl9VUyBCdXR0b24gY2VudGVyXHJcbiAgICovXHJcbiAgZGlhbG9nQnV0dG9uc0NlbnRlcj86IFhCb29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBkYXRhXHJcbiAgICovXHJcbiAgdGFibGVEYXRhPzogWERhdGE8WFRhYmxlUm93PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86aG156CBXHJcbiAgICogQGVuX1VTIFRhYmxlIHBhZ2UgbnVtYmVyXHJcbiAgICovXHJcbiAgdGFibGVJbmRleD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5q+P6aG15pWw5o2u5p2h5pWwXHJcbiAgICogQGVuX1VTIE51bWJlciBvZiBkYXRhIGl0ZW1zIHBlciBwYWdlXHJcbiAgICovXHJcbiAgdGFibGVTaXplPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzmlbDmja7mgLvmnaHmlbBcclxuICAgKiBAZW5fVVMgVG90YWwgbnVtYmVyIG9mIHRhYmxlIGRhdGFcclxuICAgKi9cclxuICB0YWJsZVRvdGFsPzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpobXnoIHlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgUGFnZSBudW1iZXIgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgLy8gdGFibGVJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmr4/pobXmmL7npLrmnaHmlbDlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2hvdyB0aGUgbnVtYmVyIG9mIGV2ZW50cyBvbiBlYWNoIHBhZ2VcclxuICAgKi9cclxuICAvLyB0YWJsZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5o6S5bqP54K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNvcnQgY2xpY2sgZXZlbnRzXHJcbiAgICovXHJcbiAgLy8gdGFibGVTb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYU29ydFtdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzliJflj4LmlbBcclxuICAgKiBAZW5fVVMgVGFibGUgY29sdW1uIHBhcmFtZXRlcnNcclxuICAgKi9cclxuICB0YWJsZUNvbHVtbnM/OiBYVGFibGVDb2x1bW5bXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit6KGM5pWw5o2uXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBzZWxlY3RlZCByb3cgZGF0YVxyXG4gICAqL1xyXG4gIHRhYmxlQWN0aXZhdGVkUm93PzogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzooYzngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgVGFibGUgcm93IGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgLy8gdGFibGVSb3dFbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOihjOeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBUYWJsZSByb3cgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICB0YWJsZUNoZWNrZWRSb3c/OiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogYW55W10gfTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5piv5ZCm5ZCv55So5Yqg6L29IGxvYWRpbmdcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBlbmFibGUgbG9hZGluZ1xyXG4gICAqL1xyXG4gIHRhYmxlTG9hZGluZz86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLzlvIDlkK/omZrmi5/mu5rliqhcclxuICAgKiBAZW5fVVMgVGFibGUgb3BlbnMgdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICB0YWJsZVZpcnR1YWxTY3JvbGw/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDooajmoLwgYm9keSDmlbDmja7pq5jluqZcclxuICAgKiBAZW5fVVMgVGFibGUgYm9keSBkYXRhIGhlaWdodFxyXG4gICAqL1xyXG4gIHRhYmxlQm9keUhlaWdodD86IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFRoZSB0YWJsZSBleGNlZWRzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB2aXNpYmxlIHdpbmRvdyBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHRhYmxlTWluQnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOa4suafk+aWsOaVsOaNrue8k+WGsuWMuueahOWDj+e0oO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBUaGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIgZm9yIHRoZSB0YWJsZSByZW5kZXJpbmcsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIHRhYmxlTWF4QnVmZmVyUHg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOihqOagvOiHqumAguW6lOmrmOW6pu+8jHRhYmxlIOmrmOW6puetieS6juWxj+W5lemrmOW6puWHj+aOieatpOWkhOiuvue9rueahOaVsOWAvFxyXG4gICAqIEBlbl9VUyBUYWJsZSBhZGFwdGl2ZSBoZWlnaHQsIHRhYmxlIGhlaWdodCBpcyBlcXVhbCB0byB0aGUgc2NyZWVuIGhlaWdodCBtaW51cyB0aGUgdmFsdWUgc2V0IGhlcmVcclxuICAgKi9cclxuICB0YWJsZUFkYXB0aW9uSGVpZ2h0PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC85paH5qGj6auY5bqm55m+5YiG5q+U77yM5by556qX55m+5YiG5q+U6auY5bqm55So5YiwXHJcbiAgICogQGVuX1VTIFRhYmxlIGRvY3VtZW50IGhlaWdodCBwZXJjZW50YWdlLCB1c2VkIGZvciBwb3AtdXAgd2luZG93IHBlcmNlbnRhZ2UgaGVpZ2h0XHJcbiAgICovXHJcbiAgdGFibGVEb2NQZXJjZW50PzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6KGo5qC86KGM6auY5bqm77yM5Y2V5L2NIHB4XHJcbiAgICogQGVuX1VTIFRhYmxlIHJvdyBoZWlnaHQsIHVuaXQgcHhcclxuICAgKi9cclxuICB0YWJsZVJvd0hlaWdodD86IFhOdW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgVHJlZSBub2RlIGRhdGFcclxuICAgKi9cclxuICB0cmVlRGF0YT86IFhEYXRhPFhUcmVlTm9kZT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeW9k+WJjeeCueWHu+mAieS4reeahOiKgueCueWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBUaGUgZXZlbnQgb2YgdGhlIHRyZWUgY3VycmVudGx5IGNsaWNrZWQgb24gdGhlIHNlbGVjdGVkIG5vZGUgY2hhbmdlXHJcbiAgICovXHJcbiAgLy8gdHJlZUFjdGl2YXRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRyZWVOb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHlvZPliY3mv4DmtLvnmoToioLngrkgSWRcclxuICAgKiBAZW5fVVMgSWQgb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgbm9kZSBvZiB0aGUgdHJlZVxyXG4gICAqL1xyXG4gIHRyZWVBY3RpdmF0ZWRJZD86IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR6buY6K6k5bGV5byA55qE5bGC57qnXHJcbiAgICogQGVuX1VTIFRoZSBsZXZlbCBvZiB0aGUgdHJlZSBleHBhbmRlZCBieSBkZWZhdWx0XHJcbiAgICovXHJcbiAgdHJlZUV4cGFuZGVkTGV2ZWw/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJEgY2hlY2tib3gg6YCJ5Lit55qE6IqC54K5XHJcbiAgICogQGVuX1VTIFRyZWUgY2hlY2tib3ggc2VsZWN0ZWQgbm9kZVxyXG4gICAqL1xyXG4gIHRyZWVDaGVja2VkPzogYW55W107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeaYvuekuuWkmumAieahhlxyXG4gICAqIEBlbl9VUyBUcmVlIGRpc3BsYXkgY2hlY2tib3hcclxuICAgKi9cclxuICB0cmVlQ2hlY2tib3g/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR5ZKM6KGo5qC85ZCM5pe25a2Y5Zyo55qE5pe25YCZ77yM5qCR6IqC54K5IGlkIOWvueW6lOihqOagvOeahOWxnuaAp++8jOeUqOadpeWBmuihqOagvOaVsOaNrui/h+a7pFxyXG4gICAqIEBlbl9VUyBXaGVuIHRoZSB0cmVlIGFuZCB0aGUgdGFibGUgZXhpc3QgYXQgdGhlIHNhbWUgdGltZSwgdGhlIHRyZWUgbm9kZSBpZCBjb3JyZXNwb25kcyB0byB0aGUgYXR0cmlidXRlIG9mIHRoZSB0YWJsZSwgd2hpY2ggaXMgdXNlZCB0byBmaWx0ZXIgdGhlIHRhYmxlIGRhdGFcclxuICAgKi9cclxuICB0cmVlVGFibGVDb25uZWN0PzogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBAemhfQ04g5pWw5o2u5p+l6K+i6L+H5ruk6KGo5Y2VXHJcbiAgICogQGVuX1VTIGZvcm0gZm9yIGRhdGEgZmlsdGVyXHJcbiAgICovXHJcbiAgc2VhcmNoPzogWEZpbmRTZWFyY2hPcHRpb247XHJcbn1cclxuIl19