@bizdoc/core 1.12.2 → 1.13.0-next.3

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 (351) hide show
  1. package/bizdoc-core.d.ts.map +1 -0
  2. package/esm2020/lib/browse/browse-items.component.mjs +42 -34
  3. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +35 -14
  4. package/esm2020/lib/compose/action/action-picker.component.mjs +15 -14
  5. package/esm2020/lib/compose/action/action.base.mjs +9 -4
  6. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +13 -12
  7. package/esm2020/lib/compose/action/assign-action.component.mjs +15 -7
  8. package/esm2020/lib/compose/form.component.mjs +6 -3
  9. package/esm2020/lib/compose/trace/flow.component.mjs +96 -52
  10. package/esm2020/lib/compose/trace/trace.base.mjs +6 -2
  11. package/esm2020/lib/compose/trace/trace.component.mjs +131 -146
  12. package/esm2020/lib/core/models.mjs +1 -1
  13. package/esm2020/lib/core/slots/slots.component.mjs +3 -3
  14. package/esm2020/lib/core/translations.mjs +17 -5
  15. package/esm2020/lib/cube/cube-info.service.mjs +3 -3
  16. package/esm2020/lib/cube/cube.service.mjs +5 -3
  17. package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -2
  18. package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -1
  19. package/esm2020/lib/cube/matrix/matrix.base.mjs +1 -1
  20. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +1 -1
  21. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +5 -3
  22. package/esm2020/lib/cube/matrix/popup.component.mjs +7 -5
  23. package/esm2020/lib/cube/matrix/table.component.mjs +136 -123
  24. package/esm2020/lib/shared.module.mjs +17 -2
  25. package/esm2020/lib/views/cube/matrix.component.mjs +1 -1
  26. package/fesm2015/bizdoc-core.mjs +667 -538
  27. package/fesm2015/bizdoc-core.mjs.map +1 -1
  28. package/fesm2020/bizdoc-core.mjs +661 -537
  29. package/fesm2020/bizdoc-core.mjs.map +1 -1
  30. package/lib/admin/admin-dismiss.service.d.ts.map +1 -0
  31. package/lib/admin/admin-menu.component.d.ts.map +1 -0
  32. package/lib/admin/core/ace.input.d.ts.map +1 -0
  33. package/lib/admin/core/color-picker.input.d.ts.map +1 -0
  34. package/lib/admin/core/search.input.d.ts.map +1 -0
  35. package/lib/admin/diff/configuration-diff.component.d.ts.map +1 -0
  36. package/lib/admin/document-trace/Timeline.d.ts.map +1 -0
  37. package/lib/admin/document-trace/document-trace.component.d.ts.map +1 -0
  38. package/lib/admin/document-trace/reassign.dialog.d.ts.map +1 -0
  39. package/lib/admin/document-trace/trace-element.component.d.ts.map +1 -0
  40. package/lib/admin/form/form.resolve.service.d.ts.map +1 -0
  41. package/lib/admin/form/form.service.d.ts.map +1 -0
  42. package/lib/admin/form/workflow/node-ref.d.ts.map +1 -0
  43. package/lib/admin/form/workflow/node.component.d.ts.map +1 -0
  44. package/lib/admin/form/workflow/role-node.component.d.ts.map +1 -0
  45. package/lib/admin/form/workflow/workflow.component.d.ts.map +1 -0
  46. package/lib/admin/indices/manage-cube-index.component.d.ts.map +1 -0
  47. package/lib/admin/patterns/patterns.component.d.ts.map +1 -0
  48. package/lib/admin/permissions/permissions.component.d.ts.map +1 -0
  49. package/lib/admin/positions/positions-popup.component.d.ts.map +1 -0
  50. package/lib/admin/positions/positions.component.d.ts.map +1 -0
  51. package/lib/admin/profiler/profiler.component.d.ts.map +1 -0
  52. package/lib/admin/utility-ref.d.ts.map +1 -0
  53. package/lib/admin/utility-wrapper.component.d.ts.map +1 -0
  54. package/lib/admin/utility.pane.component.d.ts.map +1 -0
  55. package/lib/app.component.d.ts.map +1 -0
  56. package/lib/bizdoc.module.d.ts.map +1 -0
  57. package/lib/browse/browse-items.component.d.ts +3 -1
  58. package/lib/browse/browse-items.component.d.ts.map +1 -0
  59. package/lib/browse/browse.mobile.component.d.ts.map +1 -0
  60. package/lib/browse/browse.pane.component.d.ts.map +1 -0
  61. package/lib/browse/expanded-item/expanded-item.component.d.ts.map +1 -0
  62. package/lib/browse/filter/filter.component.d.ts.map +1 -0
  63. package/lib/browse/folders-menu.component.d.ts.map +1 -0
  64. package/lib/chat/chat-info.d.ts.map +1 -0
  65. package/lib/chat/chat.mobile.component.d.ts.map +1 -0
  66. package/lib/chat/chat.service.d.ts.map +1 -0
  67. package/lib/chat/contacts.component.d.ts.map +1 -0
  68. package/lib/chat/contacts.pane.component.d.ts.map +1 -0
  69. package/lib/chat/conversation.component.d.ts.map +1 -0
  70. package/lib/chat/conversation.pane.component.d.ts.map +1 -0
  71. package/lib/compose/action/action-picker.component.d.ts +2 -1
  72. package/lib/compose/action/action-picker.component.d.ts.map +1 -0
  73. package/lib/compose/action/action-ref.d.ts.map +1 -0
  74. package/lib/compose/action/action.base.d.ts +3 -1
  75. package/lib/compose/action/action.base.d.ts.map +1 -0
  76. package/lib/compose/action/action.dialog.d.ts.map +1 -0
  77. package/lib/compose/action/action.pane.dialog.exp.d.ts +2 -1
  78. package/lib/compose/action/action.pane.dialog.exp.d.ts.map +1 -0
  79. package/lib/compose/action/assign-action.component.d.ts +5 -2
  80. package/lib/compose/action/assign-action.component.d.ts.map +1 -0
  81. package/lib/compose/action/return-action.component.d.ts.map +1 -0
  82. package/lib/compose/attachments/attachments.component.d.ts.map +1 -0
  83. package/lib/compose/attachments/preview/attachment-preview.component.d.ts.map +1 -0
  84. package/lib/compose/attachments/progress-button.directive.d.ts.map +1 -0
  85. package/lib/compose/can-deactivate-changes.service.d.ts.map +1 -0
  86. package/lib/compose/comments/Comments.pane.component.d.ts.map +1 -0
  87. package/lib/compose/comments/comment.component.d.ts.map +1 -0
  88. package/lib/compose/comments/comments.component.d.ts.map +1 -0
  89. package/lib/compose/comments/edit-comment.component.d.ts.map +1 -0
  90. package/lib/compose/comments/edits.component.d.ts.map +1 -0
  91. package/lib/compose/comments/quick-comment.component.exp.d.ts.map +1 -0
  92. package/lib/compose/comments/votes.component.d.ts.map +1 -0
  93. package/lib/compose/compose-resolve.service.d.ts.map +1 -0
  94. package/lib/compose/compose.mobile.component.d.ts.map +1 -0
  95. package/lib/compose/compose.pane.component.d.ts.map +1 -0
  96. package/lib/compose/copy/copy.dialog.d.ts.map +1 -0
  97. package/lib/compose/dismiss.service.d.ts.map +1 -0
  98. package/lib/compose/document-resolver.service.d.ts.map +1 -0
  99. package/lib/compose/document.component.d.ts.map +1 -0
  100. package/lib/compose/document.mobile.component.d.ts.map +1 -0
  101. package/lib/compose/document.pane.component.d.ts.map +1 -0
  102. package/lib/compose/events/events.component.d.ts.map +1 -0
  103. package/lib/compose/form-ref.d.ts.map +1 -0
  104. package/lib/compose/form-selector/form-selector.sheet.d.ts.map +1 -0
  105. package/lib/compose/form.component.d.ts.map +1 -0
  106. package/lib/compose/new-menu.component.d.ts.map +1 -0
  107. package/lib/compose/privilage.directive.d.ts.map +1 -0
  108. package/lib/compose/recipient-resolver.service.d.ts.map +1 -0
  109. package/lib/compose/save-changes.dialog.d.ts.map +1 -0
  110. package/lib/compose/state.component.d.ts.map +1 -0
  111. package/lib/compose/tag/tags.component.d.ts.map +1 -0
  112. package/lib/compose/trace/flow.component.d.ts +0 -1
  113. package/lib/compose/trace/flow.component.d.ts.map +1 -0
  114. package/lib/compose/trace/people.component.d.ts.map +1 -0
  115. package/lib/compose/trace/trace.base.d.ts +5 -2
  116. package/lib/compose/trace/trace.base.d.ts.map +1 -0
  117. package/lib/compose/trace/trace.component.d.ts +1 -19
  118. package/lib/compose/trace/trace.component.d.ts.map +1 -0
  119. package/lib/compose/trace/trace.pane.component.d.ts.map +1 -0
  120. package/lib/compose/version-compare/version-compare.component.d.ts.map +1 -0
  121. package/lib/compose/version-compare/version-compare.directive.d.ts.map +1 -0
  122. package/lib/compose/version-compare/version.pane.component.d.ts.map +1 -0
  123. package/lib/core/NgComponentOutlet.d.ts.map +1 -0
  124. package/lib/core/account.service.d.ts.map +1 -0
  125. package/lib/core/animated-icon/animated-icon.directive.d.ts.map +1 -0
  126. package/lib/core/animations.d.ts.map +1 -0
  127. package/lib/core/authentication.d.ts.map +1 -0
  128. package/lib/core/avatar/avatar.component.d.ts.map +1 -0
  129. package/lib/core/base.d.ts.map +1 -0
  130. package/lib/core/colors.d.ts.map +1 -0
  131. package/lib/core/component-factory-resolver.d.ts.map +1 -0
  132. package/lib/core/configuration.d.ts.map +1 -0
  133. package/lib/core/controls/address.input.d.ts.map +1 -0
  134. package/lib/core/controls/auto-complete.input.d.ts.map +1 -0
  135. package/lib/core/controls/combination-picker-body.d.ts.map +1 -0
  136. package/lib/core/controls/combination-picker.d.ts.map +1 -0
  137. package/lib/core/controls/combination-pool.d.ts.map +1 -0
  138. package/lib/core/controls/file.input.d.ts.map +1 -0
  139. package/lib/core/controls/select.input.d.ts.map +1 -0
  140. package/lib/core/controls/time-picker.d.ts.map +1 -0
  141. package/lib/core/controls/timespan.input.d.ts.map +1 -0
  142. package/lib/core/datasource.service.d.ts.map +1 -0
  143. package/lib/core/decorators.d.ts.map +1 -0
  144. package/lib/core/firebase.service.d.ts.map +1 -0
  145. package/lib/core/functions.d.ts.map +1 -0
  146. package/lib/core/guide/guide.component.d.ts.map +1 -0
  147. package/lib/core/guide/guide.service.d.ts.map +1 -0
  148. package/lib/core/http.interceptor.d.ts.map +1 -0
  149. package/lib/core/hub.service.d.ts.map +1 -0
  150. package/lib/core/identity/identity.component.d.ts.map +1 -0
  151. package/lib/core/info/attachment-info.service.d.ts.map +1 -0
  152. package/lib/core/info/document-info.service.d.ts.map +1 -0
  153. package/lib/core/info/location-info.component.d.ts.map +1 -0
  154. package/lib/core/info/map-info.d.ts.map +1 -0
  155. package/lib/core/layout/autocomplete.field.d.ts.map +1 -0
  156. package/lib/core/layout/checkbox.d.ts.map +1 -0
  157. package/lib/core/layout/checkbox.field.d.ts.map +1 -0
  158. package/lib/core/layout/date-range.field.d.ts.map +1 -0
  159. package/lib/core/layout/date.field.d.ts.map +1 -0
  160. package/lib/core/layout/expression.field.d.ts.map +1 -0
  161. package/lib/core/layout/html.field.d.ts.map +1 -0
  162. package/lib/core/layout/input.base.d.ts.map +1 -0
  163. package/lib/core/layout/input.field.d.ts.map +1 -0
  164. package/lib/core/layout/layout.component.d.ts.map +1 -0
  165. package/lib/core/layout/numeric.field.d.ts.map +1 -0
  166. package/lib/core/layout/select.field.d.ts.map +1 -0
  167. package/lib/core/layout/switch.field.d.ts.map +1 -0
  168. package/lib/core/layout/textarea.field.d.ts.map +1 -0
  169. package/lib/core/layout/timespan.field.d.ts.map +1 -0
  170. package/lib/core/lottie-animation.d.ts.map +1 -0
  171. package/lib/core/mailbox.service.d.ts.map +1 -0
  172. package/lib/core/models.d.ts +6 -1
  173. package/lib/core/models.d.ts.map +1 -0
  174. package/lib/core/none.component.d.ts.map +1 -0
  175. package/lib/core/pipes/action.pipe.d.ts.map +1 -0
  176. package/lib/core/pipes/calendar.pipe.d.ts.map +1 -0
  177. package/lib/core/pipes/date-format.pipe.d.ts.map +1 -0
  178. package/lib/core/pipes/daterange.pipe.d.ts.map +1 -0
  179. package/lib/core/pipes/difference.pipe.d.ts.map +1 -0
  180. package/lib/core/pipes/duration-format.pipe.d.ts.map +1 -0
  181. package/lib/core/pipes/duration.pipe.d.ts.map +1 -0
  182. package/lib/core/pipes/form.pipe.d.ts.map +1 -0
  183. package/lib/core/pipes/join.pipe.d.ts.map +1 -0
  184. package/lib/core/pipes/role.pipe.d.ts.map +1 -0
  185. package/lib/core/pipes/sanitize-html.pipe.d.ts.map +1 -0
  186. package/lib/core/pipes/sort.pipe.d.ts.map +1 -0
  187. package/lib/core/pipes/state.pipe.d.ts.map +1 -0
  188. package/lib/core/pipes/time-ago.pipe.d.ts.map +1 -0
  189. package/lib/core/pipes/translate.pipe.d.ts.map +1 -0
  190. package/lib/core/pipes/type-value.pipe.d.ts.map +1 -0
  191. package/lib/core/pipes/user-name.pipe.d.ts.map +1 -0
  192. package/lib/core/popup/popup-ref.d.ts.map +1 -0
  193. package/lib/core/popup/popup.component.d.ts.map +1 -0
  194. package/lib/core/popup/popup.service.d.ts.map +1 -0
  195. package/lib/core/popup/tooltip.directive.d.ts.map +1 -0
  196. package/lib/core/prompt/ask/ask.dialog.d.ts.map +1 -0
  197. package/lib/core/prompt/mask/mask.component.d.ts.map +1 -0
  198. package/lib/core/prompt.service.d.ts.map +1 -0
  199. package/lib/core/router.d.ts.map +1 -0
  200. package/lib/core/session.service.d.ts.map +1 -0
  201. package/lib/core/slots/pane-ref.d.ts.map +1 -0
  202. package/lib/core/slots/router.directive.d.ts.map +1 -0
  203. package/lib/core/slots/router.service.d.ts.map +1 -0
  204. package/lib/core/slots/slots.component.d.ts.map +1 -0
  205. package/lib/core/tagging/documents.component.d.ts.map +1 -0
  206. package/lib/core/tagging/edit-input.component.d.ts.map +1 -0
  207. package/lib/core/tagging/emoji.component.d.ts.map +1 -0
  208. package/lib/core/tagging/tagging-item.directive.d.ts.map +1 -0
  209. package/lib/core/tagging/tagging.component-base.d.ts.map +1 -0
  210. package/lib/core/tagging/tagging.directive.d.ts.map +1 -0
  211. package/lib/core/tagging/tagging.pipe.d.ts.map +1 -0
  212. package/lib/core/tagging/users.component.d.ts.map +1 -0
  213. package/lib/core/translate.service.d.ts.map +1 -0
  214. package/lib/core/translations.d.ts +12 -0
  215. package/lib/core/translations.d.ts.map +1 -0
  216. package/lib/core/window-title.service.d.ts.map +1 -0
  217. package/lib/cube/accum/accum.component.d.ts.map +1 -0
  218. package/lib/cube/chart/chart.component.d.ts.map +1 -0
  219. package/lib/cube/cube-info.service.d.ts +2 -0
  220. package/lib/cube/cube-info.service.d.ts.map +1 -0
  221. package/lib/cube/cube-menu.component.d.ts.map +1 -0
  222. package/lib/cube/cube-view.component.d.ts.map +1 -0
  223. package/lib/cube/cube.service.d.ts +1 -0
  224. package/lib/cube/cube.service.d.ts.map +1 -0
  225. package/lib/cube/declarations.d.ts.map +1 -0
  226. package/lib/cube/explore/document-item.component.d.ts.map +1 -0
  227. package/lib/cube/explore/explore-item.component.d.ts.map +1 -0
  228. package/lib/cube/explore/explore-items.component.d.ts +1 -0
  229. package/lib/cube/explore/explore-items.component.d.ts.map +1 -0
  230. package/lib/cube/explore/explore.pane.component.d.ts.map +1 -0
  231. package/lib/cube/explore/item-resolver.service.d.ts.map +1 -0
  232. package/lib/cube/explore/item.pane.component.d.ts.map +1 -0
  233. package/lib/cube/filter/filter-tags.component.exp.d.ts.map +1 -0
  234. package/lib/cube/filter/filter.component.d.ts.map +1 -0
  235. package/lib/cube/grid/grid.component.d.ts.map +1 -0
  236. package/lib/cube/grid/spreadsheet.component.d.ts.map +1 -0
  237. package/lib/cube/matrix/matrix.base.d.ts +2 -0
  238. package/lib/cube/matrix/matrix.base.d.ts.map +1 -0
  239. package/lib/cube/matrix/matrix.mobile.component.d.ts.map +1 -0
  240. package/lib/cube/matrix/matrix.pane.component.d.ts.map +1 -0
  241. package/lib/cube/matrix/popup.component.d.ts.map +1 -0
  242. package/lib/cube/matrix/table.component.d.ts +10 -4
  243. package/lib/cube/matrix/table.component.d.ts.map +1 -0
  244. package/lib/cube/parallel/item.d.ts.map +1 -0
  245. package/lib/cube/parallel/parallel.component.d.ts.map +1 -0
  246. package/lib/cube/pivot/pivot.component.d.ts.map +1 -0
  247. package/lib/cube/sum/sum.component.d.ts.map +1 -0
  248. package/lib/cube/view-base.d.ts.map +1 -0
  249. package/lib/cube/view.mobile.component.d.ts.map +1 -0
  250. package/lib/cube/view.pane.component.d.ts.map +1 -0
  251. package/lib/dashboard/actions/actions.widget.d.ts.map +1 -0
  252. package/lib/dashboard/cube/accum-cube.widget.d.ts.map +1 -0
  253. package/lib/dashboard/cube/cube-analysis.base.d.ts.map +1 -0
  254. package/lib/dashboard/cube/cube-analysis.widget.d.ts.map +1 -0
  255. package/lib/dashboard/cube/cube-chart.widget.d.ts.map +1 -0
  256. package/lib/dashboard/cube/documents.widget.d.ts.map +1 -0
  257. package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -0
  258. package/lib/dashboard/dashboard.component.d.ts.map +1 -0
  259. package/lib/dashboard/dashboard.pane.component.d.ts.map +1 -0
  260. package/lib/dashboard/recents/recents.widget.d.ts.map +1 -0
  261. package/lib/dashboard/score/activity.widget.d.ts.map +1 -0
  262. package/lib/dashboard/score/compare-departments.widget.d.ts.map +1 -0
  263. package/lib/dashboard/score/peers-performance.widget.d.ts.map +1 -0
  264. package/lib/dashboard/score/pending-results.widget.d.ts.map +1 -0
  265. package/lib/dashboard/score/personal-score.widget.d.ts.map +1 -0
  266. package/lib/dashboard/widget-item.component.d.ts.map +1 -0
  267. package/lib/dashboard/widget-ref.d.ts.map +1 -0
  268. package/lib/desktop.module.d.ts.map +1 -0
  269. package/lib/home/about/about.dialog.d.ts.map +1 -0
  270. package/lib/home/home-base.component.d.ts.map +1 -0
  271. package/lib/home/home.desktop.component.d.ts.map +1 -0
  272. package/lib/home/home.mobile.component.d.ts.map +1 -0
  273. package/lib/home/notifications/notifications.component.d.ts.map +1 -0
  274. package/lib/home/options/options.component.d.ts.map +1 -0
  275. package/lib/home/outofoffice/outofoffice.component.d.ts.map +1 -0
  276. package/lib/home/search.service.d.ts.map +1 -0
  277. package/lib/home/sign/sign.component.d.ts.map +1 -0
  278. package/lib/home/tools.component.d.ts.map +1 -0
  279. package/lib/impersonate/impersonate.component.d.ts.map +1 -0
  280. package/lib/mobile.module.d.ts.map +1 -0
  281. package/lib/modules/chart.module.d.ts.map +1 -0
  282. package/lib/modules/circular-gauge.module.d.ts.map +1 -0
  283. package/lib/modules/date.adapter.d.ts.map +1 -0
  284. package/lib/modules/datepicker.intl.d.ts.map +1 -0
  285. package/lib/modules/diagram.module.d.ts.map +1 -0
  286. package/lib/modules/gantt.module.d.ts.map +1 -0
  287. package/lib/modules/grid.module.d.ts.map +1 -0
  288. package/lib/modules/material.module.d.ts.map +1 -0
  289. package/lib/modules/paginator.intl.d.ts.map +1 -0
  290. package/lib/modules/pivot.module.d.ts.map +1 -0
  291. package/lib/modules/schedule.module.d.ts.map +1 -0
  292. package/lib/modules/spreadsheet.module.d.ts.map +1 -0
  293. package/lib/modules/stepper.intl.d.ts.map +1 -0
  294. package/lib/modules/texteditor.module.d.ts.map +1 -0
  295. package/lib/notifications/filter.component.d.ts.map +1 -0
  296. package/lib/notifications/notifications-table.component.d.ts.map +1 -0
  297. package/lib/notifications/notifications.component-base.d.ts.map +1 -0
  298. package/lib/notifications/notifications.mobile.component.d.ts.map +1 -0
  299. package/lib/notifications/notifications.pane.component.d.ts.map +1 -0
  300. package/lib/notifications/notifications.service.d.ts.map +1 -0
  301. package/lib/notifications/types/commented.notification.d.ts.map +1 -0
  302. package/lib/notifications/types/cube-anomaly.notification.d.ts.map +1 -0
  303. package/lib/notifications/types/escalated.notification.d.ts.map +1 -0
  304. package/lib/notifications/types/liked.notification.d.ts.map +1 -0
  305. package/lib/notifications/types/long-running-task.notification.d.ts.map +1 -0
  306. package/lib/notifications/types/notification-base.d.ts.map +1 -0
  307. package/lib/notifications/types/nudge.notification.d.ts.map +1 -0
  308. package/lib/notifications/types/state-changed.notification.d.ts.map +1 -0
  309. package/lib/notifications/types/tagged.notification.d.ts.map +1 -0
  310. package/lib/notifications/types/text.notification.d.ts.map +1 -0
  311. package/lib/notifications/types/upcoming-event.notification.d.ts.map +1 -0
  312. package/lib/options/options.component.d.ts.map +1 -0
  313. package/lib/options/options.service.d.ts.map +1 -0
  314. package/lib/reports/arguments-component.d.ts.map +1 -0
  315. package/lib/reports/cube/grid-documents.component.d.ts.map +1 -0
  316. package/lib/reports/cube/table-documents.component.d.ts.map +1 -0
  317. package/lib/reports/cube/usage-args.component.d.ts.map +1 -0
  318. package/lib/reports/cube/usage-base.d.ts.map +1 -0
  319. package/lib/reports/cube/usage-chart.component.d.ts.map +1 -0
  320. package/lib/reports/cube/usage-pivot.component.d.ts.map +1 -0
  321. package/lib/reports/report-ref.d.ts.map +1 -0
  322. package/lib/reports/report-viewer.component.d.ts.map +1 -0
  323. package/lib/reports/report.mobile.component.d.ts.map +1 -0
  324. package/lib/reports/report.pane.component.d.ts.map +1 -0
  325. package/lib/reports/reports-menu.component.d.ts.map +1 -0
  326. package/lib/reports/substitution/substitution.component.d.ts.map +1 -0
  327. package/lib/reports/table/table-view.component.d.ts.map +1 -0
  328. package/lib/reports/tasks/tasks.component.d.ts.map +1 -0
  329. package/lib/routes.desktop.d.ts.map +1 -0
  330. package/lib/routes.mobile.d.ts.map +1 -0
  331. package/lib/scheduler/schedule.component.d.ts.map +1 -0
  332. package/lib/scheduler/scheduler.mobile.component.d.ts.map +1 -0
  333. package/lib/scheduler/scheduler.pane.component.d.ts.map +1 -0
  334. package/lib/shared.module.d.ts.map +1 -0
  335. package/lib/system.module.d.ts.map +1 -0
  336. package/lib/views/cube/chart.component.d.ts.map +1 -0
  337. package/lib/views/cube/cube-base.d.ts.map +1 -0
  338. package/lib/views/cube/explore.component.d.ts.map +1 -0
  339. package/lib/views/cube/matrix.component.d.ts.map +1 -0
  340. package/lib/views/cube/parallel.component.d.ts.map +1 -0
  341. package/lib/views/cube/pivot.component.d.ts.map +1 -0
  342. package/lib/views/cube/sum.component.d.ts.map +1 -0
  343. package/lib/views/cube/view.component.d.ts.map +1 -0
  344. package/lib/views/document-view-ref.d.ts.map +1 -0
  345. package/lib/views/timeline/timeline.component.exp.d.ts.map +1 -0
  346. package/lib/views/view-item.component.d.ts.map +1 -0
  347. package/lib/views/views.component.d.ts.map +1 -0
  348. package/lib/views/views.mobile.component.d.ts.map +1 -0
  349. package/lib/views/views.pane.component.d.ts.map +1 -0
  350. package/package.json +1 -1
  351. package/public-api.d.ts.map +1 -0
@@ -61,7 +61,7 @@ export class CubeService {
61
61
  series(cube, xAxis, options) {
62
62
  if (!options)
63
63
  options = {};
64
- const { filters: axes, series, indices, base, scope, groupIndices } = options, filters = { ...axes };
64
+ const { filters: axes, series, indices, base, scope, groupIndices, inverseIndices } = options, filters = { ...axes };
65
65
  // normalize args
66
66
  base && this.base(cube, filters, base);
67
67
  return this._http.put(`/api/cube/${cube}`, {
@@ -69,7 +69,9 @@ export class CubeService {
69
69
  series,
70
70
  indices,
71
71
  filters,
72
- scope, groupIndices
72
+ scope,
73
+ groupIndices,
74
+ inverseIndices
73
75
  }).pipe(this._decorate(cube, isArray(xAxis) ? xAxis : [xAxis], series ? isArray(series) ? series : [series] : null));
74
76
  }
75
77
  /**
@@ -394,4 +396,4 @@ export function modelize() {
394
396
  return data;
395
397
  }));
396
398
  }
397
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2N1YmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFnQixhQUFhLEVBQXVCLE1BQU0sdUJBQXVCLENBQUM7QUFJekYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7QUFFL0Q7MkVBQzJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFDdEMsaUVBQWlFO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsY0FBYyxHQUFHLEdBQUcsQ0FBQztBQUV2RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFFaEQsd0VBQXdFO0FBQ3hFLEtBQUs7QUFDTCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxzR0FBc0csQ0FBQztBQUV6SSxNQUFNLENB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SW5CLE1BQU07MkJBQUMsYUFBYTs7QUE0WW5DLE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUc7SUFDakMsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzFCLEdBQUcsRUFBRSxFQUNMLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ3JCLENBQUM7QUFDRCwyQ0FBMkM7QUFDM0MsTUFBTSxVQUFVLFFBQVE7SUFHdEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLE9BQU8sQ0FBQyxNQUE0QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUMzRCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1osTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc2hhcmVSZXBsYXksIHRhcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBzZXRDdXJyZW5jeUNvZGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYmFzZSc7XHJcbmltcG9ydCB7IGlzQXJyYXksIGlzU3RyaW5nIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIFBhcmFtTWFwLCBTY29wZVR5cGUgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBGaWVsZEluZm8sIEF4aXNUeXBlLCBBeGVzTWFwIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IGdldEN1cnJlbmN5U3ltYm9sLCBnZXRMb2NhbGVOdW1iZXJGb3JtYXQsIE51bWJlckZvcm1hdFN0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0RFTElNSVRFUiA9ICcuJywgREVGQVVMVF9DVVJSRU5DWSA9ICdVU0QnO1xyXG5cclxuLyoqIGluIGNhc2UgeEF4aXMgb3Igc2VyaWVzIGlzIGdpdmVuIG1vcmUgdGhhbiBvbmUgYXhpcyxcclxuICogdGhlIHZhbHVlIHJldHVybmVkIGlzIGNvbWJpbmVkIG9mIHZhbHVlcyBzZXBlcmF0ZWQgYnkgdGhpcyBjaGFyYWN0ZXIuICovXHJcbmV4cG9ydCBjb25zdCBBWEVTX0NPREVfRElWSURFUiA9ICdfXyc7XHJcblxyXG5leHBvcnQgY29uc3QgQVhFU19MQUJFTF9ESVZJREVSID0gJy0nO1xyXG4vKiogcmVwcmVzZW50cyBhIHBsYWNlIGluIHBhdHRlcm4gdG8gYmUgcmVwbGFjZWQgYnkgYmFzZSBheGlzLiAqL1xyXG5leHBvcnQgY29uc3QgQVhJU19NQVBfQ0hBUiA9ICcjJywgQVhJU19NQVBfQVNfSVMgPSAnKic7XHJcblxyXG5leHBvcnQgY29uc3QgQVhJU19TUEVDSUFMX0NIQVJTID0gL1tcXC47I1xcLSxcXCFdLztcclxuXHJcbi8qKiBhbGxvd2VkIGNoYXJhY3RlcnMgZm9yIGF4aXMgdmFsdWUgLyBjb2xsZWN0aW9uIC8gcmFuZ2UgLyBwYXR0ZXJuLiAqL1xyXG4vL1xccExcclxuZXhwb3J0IGNvbnN0IEFYSVNfVkFMVUVfUEFUVEVSTiA9IC9eKCghP1xcdysoXFwsXFx3KykqKXwoIT9cXHcrXFwtXFx3Kyl8KCE/W1xcd1xcLlxcKlxcI10rKSkoWztdKCghP1xcdysoXFwsXFx3KykqKXwoIT9cXHcrXFwtXFx3Kyl8KCE/W1xcd1xcLlxcKlxcI10rKSkpKiQvO1xyXG5cclxuZXhwb3J0IGNvbnN0IENMRFJfRklMRVMgPSBbJ2NsZHItZGF0YS9tYWluL3swfS9jdXJyZW5jaWVzLmpzb24nLCAnY2xkci1kYXRhL21haW4vezB9L2NhLWdyZWdvcmlhbi5qc29uJywgJ2NsZHItZGF0YS9tYWluL3swfS9udW1iZXJzLmpzb24nLCAnY2xkci1kYXRhL21haW4vezB9L3RpbWVab25lTmFtZXMuanNvbicsICdjbGRyLWRhdGEvc3VwcGxlbWVudGFsL251bWJlcmluZ1N5c3RlbXMuanNvbiddO1xyXG5cclxuLyoqIHF1ZXJ5IGN1YmUgKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEN1YmVTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9jYWNoZTogeyBbbmFtZTogc3RyaW5nXTogT2JzZXJ2YWJsZTxhbnk+IH0gPSB7fTtcclxuICAvLyBjdG9yXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChCSVpET0NfQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEJpekRvY0NvbmZpZyxcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIF90eXBlOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgICBfY29uZmlnICYmIF9jb25maWcuY3VycmVuY3lDb2RlICYmIHNldEN1cnJlbmN5Q29kZShfY29uZmlnLmN1cnJlbmN5Q29kZSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NhY2hlT3IgPSA8VD4obmFtZTogc3RyaW5nLCBmbjogKCkgPT4gT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4gPT5cclxuICAgIHRoaXMuX2NhY2hlW25hbWVdIHx8ICh0aGlzLl9jYWNoZVtuYW1lXSA9IGZuKCkucGlwZShzaGFyZVJlcGxheSgpKSk7XHJcbiAgLyoqIHN5c3RlbSBjdXJyZW5jeSAqL1xyXG4gIGdldCBudW1iZXJGb3JtYXQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbmN5Q29kZSA/XHJcbiAgICAgIGdldExvY2FsZU51bWJlckZvcm1hdCh0aGlzLl9zZXNzaW9uLmxhbmd1YWdlLCBOdW1iZXJGb3JtYXRTdHlsZS5DdXJyZW5jeSkuXHJcbiAgICAgICAgcmVwbGFjZSgnwqQnLCBnZXRDdXJyZW5jeVN5bWJvbCh0aGlzLmN1cnJlbmN5Q29kZSwgJ25hcnJvdycpKSA6XHJcbiAgICAgIGdldExvY2FsZU51bWJlckZvcm1hdCh0aGlzLl9zZXNzaW9uLmxhbmd1YWdlLCBOdW1iZXJGb3JtYXRTdHlsZS5EZWNpbWFsKTtcclxuICB9XHJcbiAgZ2V0IGN1cnJlbmN5Q29kZSgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgeyBjdXJyZW5jeUNvZGUgfSA9IHRoaXMuX2NvbmZpZyB8fCB7fTtcclxuICAgIHJldHVybiBjdXJyZW5jeUNvZGUgfHwgREVGQVVMVF9DVVJSRU5DWTtcclxuICB9XHJcbiAgZ2V0IGRpZ2l0c0luZm8oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHsgZnJhY3Rpb25EaWdpdHMgfSA9IHRoaXM7XHJcbiAgICByZXR1cm4gYDEuJHtmcmFjdGlvbkRpZ2l0c30tJHtmcmFjdGlvbkRpZ2l0c31gO1xyXG4gIH1cclxuICBnZXQgZnJhY3Rpb25EaWdpdHMoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHsgZm9ybWF0cyB9ID0gdGhpcy5fY29uZmlnLCB7IGZyYWN0aW9uRGlnaXRzIH0gPSBmb3JtYXRzIHx8IHt9O1xyXG4gICAgcmV0dXJuIGZyYWN0aW9uRGlnaXRzICE9PSB1bmRlZmluZWQgPyBmcmFjdGlvbkRpZ2l0cyA6IDI7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIHF1ZXJ5IGN1YmUgYnkgYXhlcywgc2VyaWVzIGFuZCBpbmRpY2VzXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSB4QXhpcyBncm91cCBieSBvbmUgb3IgbW9yZSBheGlzXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICBzZXJpZXMoY3ViZTogc3RyaW5nLCB4QXhpczogc3RyaW5nIHwgc3RyaW5nW10sXHJcbiAgICBvcHRpb25zPzoge1xyXG4gICAgICAvKiogZ3JvdXAgc2VyaWVzIGJ5IG9uZSBvciBtb3JlIGF4aXMgKi9cclxuICAgICAgc2VyaWVzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgIC8qKiBpbmNsdWRlIG9uZSBvciBtb3JlIGluZGV4IHNlcmllICovXHJcbiAgICAgIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgZ3JvdXBJbmRpY2VzPzogYm9vbGVhbixcclxuICAgICAgLyoqIGF4ZXMgKi9cclxuICAgICAgZmlsdGVycz86IHsgW2F4aXM6IHN0cmluZ106IEF4aXNUeXBlIH07XHJcbiAgICAgIHNjb3BlPzogU2NvcGVUeXBlLFxyXG4gICAgICAvKiogcmVwbGFjZSBiYXNlICovXHJcbiAgICAgIGJhc2U/OiB7IFtheGlzOiBzdHJpbmddOiAoc3RyaW5nIHwgbnVtYmVyKSB9IHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICAgIH0pOiBPYnNlcnZhYmxlPFNlcmllc1tdPiB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fTtcclxuICAgIGNvbnN0IHsgZmlsdGVyczogYXhlcywgc2VyaWVzLCBpbmRpY2VzLCBiYXNlLCBzY29wZSwgZ3JvdXBJbmRpY2VzIH0gPSBvcHRpb25zLCBmaWx0ZXJzID0geyAuLi5heGVzIH07XHJcbiAgICAvLyBub3JtYWxpemUgYXJnc1xyXG4gICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgZmlsdGVycywgYmFzZSk7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8U2VyaWVzW10+KGAvYXBpL2N1YmUvJHtjdWJlfWAsIHtcclxuICAgICAgeEF4aXMsXHJcbiAgICAgIHNlcmllcyxcclxuICAgICAgaW5kaWNlcyxcclxuICAgICAgZmlsdGVycyxcclxuICAgICAgc2NvcGUsIGdyb3VwSW5kaWNlc1xyXG4gICAgfSkucGlwZSh0aGlzLl9kZWNvcmF0ZShjdWJlLCBpc0FycmF5KHhBeGlzKSA/IHhBeGlzIDogW3hBeGlzXSxcclxuICAgICAgc2VyaWVzID8gaXNBcnJheShzZXJpZXMpID8gc2VyaWVzIDogW3Nlcmllc10gOiBudWxsKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGFnZ3JlZ2F0ZSBjdWJlIHRvIGZsYXQgY29sbGVjdGlvbiBvZiBjb2x1bW5zIGFuZCB2YWx1ZShzKVxyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gY29sdW1uc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgdGFibGUoY3ViZTogc3RyaW5nLCBjb2x1bW5zOiBzdHJpbmdbXSwgb3B0aW9ucz86IHtcclxuICAgIC8qKiBheGVzICovXHJcbiAgICBmaWx0ZXJzPzogQXhlc01hcDtcclxuICAgIC8qKiBpbmNsdWRlIG9uZSBvciBtb3JlIGluZGV4IHZhbHVlcyAqL1xyXG4gICAgaW5kaWNlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgc2NvcGU/OiBTY29wZVR5cGUsXHJcbiAgfSk6IE9ic2VydmFibGU8eyB2YWx1ZTogbnVtYmVyIH1bXT4ge1xyXG4gICAgaWYgKCFvcHRpb25zKSBvcHRpb25zID0ge307XHJcbiAgICBjb25zdCB7IGZpbHRlcnMsIGluZGljZXMsIHNjb3BlIH0gPSBvcHRpb25zO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PHsgdmFsdWU6IG51bWJlciB9W10+KGAvYXBpL2N1YmUvdGFibGUvJHtjdWJlfWAsIHtcclxuICAgICAgY29sdW1ucyxcclxuICAgICAgaW5kaWNlcyxcclxuICAgICAgZmlsdGVycyxcclxuICAgICAgc2NvcGVcclxuICAgIH0pLnBpcGUodGhpcy5fZGVjb3JhdGVUYWJsZShjdWJlLCBjb2x1bW5zKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGluZm9ybWF0aW9uIG9uIGV4cGVjdGVkIGV4cGxvcmUgdHlwZVxyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gYXhlcyBmaWx0ZXJzXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICByZXNvbHZlKGN1YmU6IHN0cmluZywgYXhlczogeyBba2V5OiBzdHJpbmddOiBBeGlzVHlwZSB9LCBvcHRpb25zPzoge1xyXG4gICAgLyoqIHJlcGxhY2UgYmFzZSAqL1xyXG4gICAgYmFzZT86IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gIH0pOiBPYnNlcnZhYmxlPEV4cGxvcmVUeXBlPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7IC4uLmF4ZXMgfSBhcyBhbnk7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGJhc2UgfSA9IG9wdGlvbnM7XHJcbiAgICAgIGJhc2UgJiYgdGhpcy5iYXNlKGN1YmUsIHBhcmFtcywgYmFzZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8RXhwbG9yZVR5cGU+KGAvYXBpL2N1YmUvZXhwbG9yZXR5cGUvJHtjdWJlfWAsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBleHBsb3JlIGl0ZW1zIGJ5IGF4aXNcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGF4ZXMgZmlsdGVyc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgZXhwbG9yZShjdWJlOiBzdHJpbmcsIGF4ZXM6IHsgW2tleTogc3RyaW5nXTogQXhpc1R5cGUgfSwgb3B0aW9ucz86IHtcclxuICAgIC8qKiByZXN0cmljdCByZXN1bHRzIHRvIHVzZXIgcGF0dGVybnMgb3IgcG9zaXRpb25zICovXHJcbiAgICBzY29wZT86IFNjb3BlVHlwZSxcclxuICAgIC8qKiByZXBsYWNlIGJhc2UgKi9cclxuICAgIGJhc2U/OiB7IFtheGlzOiBzdHJpbmddOiAoc3RyaW5nIHwgbnVtYmVyKSB9IHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICB9KTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0geyAuLi5heGVzIH0gYXMgYW55O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBiYXNlLCBzY29wZSB9ID0gb3B0aW9ucztcclxuICAgICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgcGFyYW1zLCBiYXNlKTtcclxuICAgICAgaWYgKHNjb3BlKSBwYXJhbXMuc2NvcGUgPSBzY29wZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxhbnlbXT4oXHJcbiAgICAgIGAvYXBpL2N1YmUvZXhwbG9yZS8ke2N1YmV9YCxcclxuICAgICAgeyBwYXJhbXMgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBheGVzXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKi9cclxuICBuYW1lT2YoYXhlczogQXhlc01hcCwgY3ViZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGN1YmUpO1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBvcHRpb25zLmF4ZXMuZmlsdGVyKGEgPT4gaXNTdHJpbmcoYXhlc1thLm5hbWVdKSAmJlxyXG4gICAgICAvLyB2YWx1ZVxyXG4gICAgICAhQVhJU19TUEVDSUFMX0NIQVJTLnRlc3QoYXhlc1thLm5hbWVdIGFzIHN0cmluZykpLm1hcChhID0+XHJcbiAgICAgICAgdGhpcy5fdHlwZS5nZXQoYS5kYXRhVHlwZSwgYXhlc1thLm5hbWVdIGFzIHN0cmluZykpO1xyXG4gICAgcmV0dXJuIChvYnNlcnZhYmxlcy5sZW5ndGggPyBmb3JrSm9pbihvYnNlcnZhYmxlcykucGlwZShtYXAobyA9PiBvLmpvaW4oJyAnKSkpIDogb2YobnVsbCkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBleHBsb3JlIGluZGljZXMgYnkgYXhpc1xyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gaW5kZXggbmFtZVxyXG4gICAqIEBwYXJhbSBheGVzIGZpbHRlcnNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIGluZGljZXMoY3ViZTogc3RyaW5nLCBpbmRleDogc3RyaW5nLCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBBeGlzVHlwZSB9LFxyXG4gICAgb3B0aW9ucz86IHtcclxuICAgICAgLyoqIHJlc3RyaWN0IHJlc3VsdHMgdG8gdXNlciBwYXR0ZXJucyBvciBwb3NpdGlvbnMgKi9cclxuICAgICAgc2NvcGU/OiBTY29wZVR5cGVcclxuICAgICAgYmFzZT86IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gICAgfSk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uYXhlcyB9IGFzIGFueTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgYmFzZSwgc2NvcGUgfSA9IG9wdGlvbnM7XHJcbiAgICAgIGJhc2UgJiYgdGhpcy5iYXNlKGN1YmUsIHBhcmFtcywgYmFzZSk7XHJcbiAgICAgIGlmIChzY29wZSkgcGFyYW1zLnNjb3BlID0gc2NvcGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8YW55W10+KFxyXG4gICAgICBgL2FwaS9jdWJlL2V4cGxvcmVpbmRleC8ke2N1YmV9LyR7aW5kZXh9YCwgeyBwYXJhbXMgfSkuXHJcbiAgICAgIHBpcGUodGhpcy5fZGVjb3JhdGVUYWJsZShjdWJlKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBleHBsb3JlIGl0ZW0gYnkgYXhpcyBhbmQga2V5KHMpXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKiBAcGFyYW0gYXhlc1xyXG4gICAqIEBwYXJhbSBrZXlzXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICBpdGVtKGN1YmU6IHN0cmluZywgYXhlczogeyBbYXhpczogc3RyaW5nXTogQXhpc1R5cGUgfSwga2V5czogKHN0cmluZyB8IG51bWJlcilbXSB8IHN0cmluZyB8IG51bWJlciwgb3B0aW9ucz86IHtcclxuICAgIC8qKiByZXBsYWNlIGJhc2UgKi9cclxuICAgIGJhc2U/OiB7IFtheGlzOiBzdHJpbmddOiAoc3RyaW5nIHwgbnVtYmVyKSB9IHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICB9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uYXhlcyB9IGFzIGFueTtcclxuICAgIHBhcmFtc1sna2V5J10gPSBpc0FycmF5KGtleXMpID8ga2V5c1swXSA6IGtleXM7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGJhc2UgfSA9IG9wdGlvbnM7XHJcbiAgICAgIGJhc2UgJiYgdGhpcy5iYXNlKGN1YmUsIHBhcmFtcywgYmFzZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoYC9hcGkvY3ViZS9leHBsb3JlaXRlbS8ke2N1YmV9YCwgeyBwYXJhbXMgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gYXhlcyBjb25kaXRpb25cclxuICAgKi9cclxuICBjb25zdHJhaW50cyhjdWJlOiBzdHJpbmcsIGF4ZXM/OiB7IFtrZXk6IHN0cmluZ106IEF4aXNUeXBlIH0sIG9wdGlvbnM/OiB7IHNvdXJjZTogJ2NvbnN0cmFpbnRzJyB8ICdjb21iaW5hdGlvbnMnIH0pOiBPYnNlcnZhYmxlPHsgW2RhdGFUeXBlOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IH0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDx7IFtkYXRhVHlwZTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9PihcclxuICAgICAgIW9wdGlvbnMgfHwgb3B0aW9ucy5zb3VyY2UgPT09ICdjb25zdHJhaW50cycgP1xyXG4gICAgICAgIGAvYXBpL2N1YmUvY29uc3RyYWludHMvJHtjdWJlfWAgOiBgL2FwaS9jdWJlL2NvbWJpbmF0aW9uc2NvbnN0cmFpbnRzLyR7Y3ViZX1gLCB7XHJcbiAgICAgIHBhcmFtczogeyAuLi5heGVzIH0gYXMgYW55XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBheGlzIG5hbWVcclxuICAgKi9cclxuICB2YWx1ZXMoY3ViZTogc3RyaW5nLCBheGlzOiBzdHJpbmcsIGRlcGVuZGVuY2llcz86IFBhcmFtTWFwKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XHJcbiAgICBsZXQgY2FjaGVJZCA9IGN1YmUgKyBheGlzO1xyXG4gICAgZGVwZW5kZW5jaWVzICYmIE9iamVjdC5rZXlzKGRlcGVuZGVuY2llcykuZm9yRWFjaChrID0+IGNhY2hlSWQgKz0gayk7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVPcihjYWNoZUlkLCAoKSA9PiB0aGlzLl9odHRwLmdldDx7IFtkYXRhVHlwZTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9PihcclxuICAgICAgYC9hcGkvY3ViZS9zZWdtZW50dmFsdWVzLyR7Y3ViZX0vJHtheGlzfWAsIHsgcGFyYW1zOiBkZXBlbmRlbmNpZXMgfSkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBnZXQgYXhpcyBjb21iaW5hdGlvbnNcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGF4ZXMgZmlsdGVyc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgY29tYmluYXRpb25zKGN1YmU6IHN0cmluZywgYXhlcz86IHsgW2tleTogc3RyaW5nXTogQXhpc1R5cGUgfSwgb3B0aW9ucz86IHtcclxuICAgIC8qKiB0b3AgKi9cclxuICAgIHRha2U/OiBudW1iZXI7XHJcbiAgICAvKiogcHJvY2VzcyBpbiBiYWNrZ3JvdW5kICovXHJcbiAgICBwcm9ncmVzcz86IGJvb2xlYW47XHJcbiAgfSk6IE9ic2VydmFibGU8c3RyaW5nW11bXT4ge1xyXG4gICAgaWYgKCFvcHRpb25zKSBvcHRpb25zID0ge307XHJcbiAgICBjb25zdCB7IHRha2UsIHByb2dyZXNzIH0gPSBvcHRpb25zO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PHN0cmluZ1tdW10+KGAvYXBpL2N1YmUvY29tYmluYXRpb25zLyR7Y3ViZX1gLCB7XHJcbiAgICAgIHBhcmFtczogeyAuLi5heGVzLCB0YWtlIH0gYXMgYW55LFxyXG4gICAgICBoZWFkZXJzOiBwcm9ncmVzcyA9PT0gZmFsc2UgPyB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IDoge31cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gdmFsdWVcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIHNlYXJjaCh2YWx1ZTogc3RyaW5nLCBvcHRpb25zOiB7IHRha2U/OiBudW1iZXIgfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PHsgY3ViZTogc3RyaW5nLCBheGlzOiBzdHJpbmcsIGtleTogYW55LCB2YWx1ZTogYW55IH1bXT4oJy9hcGkvY3ViZS9zZWFyY2gnLCB7XHJcbiAgICAgIHBhcmFtczogeyB2YWx1ZSwgLi4ub3B0aW9ucyB9IGFzIGFueSxcclxuICAgICAgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBzZWdtZW50c1xyXG4gICAqIEBwYXJhbSBjdWJlXHJcbiAgICovXHJcbiAgc2VnbWVudHMoY3ViZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlZ21lbnRNYXA+IHtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZU9yKGAke3R5cGV9LXNlZ21lbnRzYCwgKCkgPT4gdGhpcy5faHR0cC5nZXQ8U2VnbWVudE1hcD4oYC9hcGkvY3ViZS9zZWdtZW50cy8ke2N1YmV9P3R5cGU9JHt0eXBlfWApKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IHVzZXIgcGF0dGVybnNcclxuICAgKiBAcGFyYW0gY3ViZVxyXG4gICAqL1xyXG4gIHBhdHRlcm5zKGN1YmU6IHN0cmluZyk6IE9ic2VydmFibGU8UGF0dGVybltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVPcihgJHtjdWJlfS1wYXR0ZXJuc2AsICgpID0+IHRoaXMuX2h0dHAuZ2V0PFBhdHRlcm5bXT4oYC9hcGkvY3ViZS9wYXR0ZXJucy8ke2N1YmV9YCkpO1xyXG4gIH1cclxuICAvKiogZ2V0IGN1cnJlbmNpZXMgKi9cclxuICBjdXJyZW5jaWVzKCk6IE9ic2VydmFibGU8Q3VycmVuY3lbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlT3IoJ2N1cnJlbmNpZXMnLCAoKSA9PiB0aGlzLl9odHRwLmdldDxDdXJyZW5jeVtdPignYXBpL2N1YmUvY3VycmVuY2llcycpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IGV4Y2hhbmdlIHJhdGVcclxuICAgKiBAcGFyYW0gY3VycmVuY3lDb2RlXHJcbiAgICogQHBhcmFtIGRhdGVcclxuICAgKi9cclxuICBleGNoYW5nZVJhdGUoY3VycmVuY3lDb2RlOiBzdHJpbmcsIGRhdGU/OiBEYXRlKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGlmICh0aGlzLmN1cnJlbmN5Q29kZSA9PT0gY3VycmVuY3lDb2RlKVxyXG4gICAgICByZXR1cm4gb2YoMSk7XHJcbiAgICBsZXQga2V5ID0gY3VycmVuY3lDb2RlO1xyXG4gICAgaWYgKGRhdGUpIGtleSArPSBkYXRlLnRvSlNPTigpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlT3Ioa2V5LCAoKSA9PiB0aGlzLl9odHRwLmdldDxudW1iZXI+KGBhcGkvY3ViZS9leGNoYW5nZVJhdGUvJHtjdXJyZW5jeUNvZGV9YCwge1xyXG4gICAgICBwYXJhbXM6IGRhdGUgPyB7IGRhdGU6IGRhdGUudG9KU09OKCkgfSA6IG51bGwsXHJcbiAgICAgIGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH1cclxuICAgIH0pKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgKiByZXBsYWNlcyAqIG9yICMgd2l0aCBvcmlnaW4gYXhpcyBhdCBjaGFyIHBsYWNlXHJcbiAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgKiBAcGFyYW0gYXhlcyBtYXBcclxuICAqIEBwYXJhbSBiYXNlIG9yaWdpblxyXG4gICovXHJcbiAgcHVibGljIGJhc2UoY3ViZTogc3RyaW5nLCBheGVzOiBBeGVzTWFwLFxyXG4gICAgYmFzZTogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IEF4ZXNNYXApOiB2b2lkIHtcclxuICAgIGNvbnN0IGNjdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGN1YmUpO1xyXG4gICAgY2N1YmUuYXhlcy5mb3JFYWNoKChhLCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbCA9IGF4ZXNbYS5uYW1lXTtcclxuICAgICAgaWYgKHZhbCAmJiBpc1N0cmluZyh2YWwpKSB7XHJcbiAgICAgICAgY29uc3QgYXhpc2Jhc2UgPSBpc0FycmF5KGJhc2UpID8gYmFzZVtpXSA6IGJhc2VbYS5uYW1lXTtcclxuICAgICAgICBpZiAodmFsID09PSBBWElTX01BUF9BU19JUylcclxuICAgICAgICAgIGF4ZXNbYS5uYW1lXSA9IGF4aXNiYXNlO1xyXG4gICAgICAgIGVsc2UgaWYgKHZhbC5pbmRleE9mKEFYSVNfTUFQX0NIQVIpID4gLTEpIHtcclxuICAgICAgICAgIGxldCBheGlzID0gJyc7XHJcbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHZhbC5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBsZXQgY2hhciA9IHZhbC5jaGFyQXQoaik7XHJcbiAgICAgICAgICAgIGF4aXMgKz0gY2hhciA9PT0gQVhJU19NQVBfQ0hBUiAmJiAoYXhpc2Jhc2UgYXMgc3RyaW5nKS5sZW5ndGggPiBqID9cclxuICAgICAgICAgICAgICAoYXhpc2Jhc2UgYXMgc3RyaW5nKS5jaGFyQXQoaikgOiBjaGFyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYXhlc1thLm5hbWVdID0gYXhpcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBhZGRzIHZhbHVlcyB0byBzb3VyY2Uga2V5c1xyXG4gICAqIEBwYXJhbSBjdWJlXHJcbiAgICogQHBhcmFtIHhBeGlzXHJcbiAgICogQHBhcmFtIHNlcmllc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2RlY29yYXRlKGN1YmU6IHN0cmluZyxcclxuICAgIHhBeGlzOiBzdHJpbmdbXSxcclxuICAgIHNlcmllczogc3RyaW5nW10pOiAoc291cmNlOiBPYnNlcnZhYmxlPFNlcmllc1tdPikgPT4gT2JzZXJ2YWJsZTxTZXJpZXNbXT4ge1xyXG4gICAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8U2VyaWVzW10+KSA9PiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlID0+IHtcclxuICAgICAgc291cmNlLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGN1YmUpO1xyXG4gICAgICAgIGNvbnN0IGF4aXNUeXBlTWFwID0ge307XHJcbiAgICAgICAgb3B0aW9ucy5heGVzLmZvckVhY2goeCA9PiBheGlzVHlwZU1hcFt4Lm5hbWVdID0geC5kYXRhVHlwZSk7XHJcbiAgICAgICAgaWYgKCFyLmxlbmd0aCkge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHIpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBiYXNlID0gclswXS5wb2ludHM7XHJcbiAgICAgICAgci5mb3JFYWNoKChzLCBpKSA9PiB7XHJcbiAgICAgICAgICBzLnBvaW50cy5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXAueCkgcmV0dXJuO1xyXG4gICAgICAgICAgICBjb25zdCBwb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHAueC5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBqKSA9PlxyXG4gICAgICAgICAgICAgIHRoaXMuX3R5cGUuZ2V0KGF4aXNUeXBlTWFwW3hBeGlzW2pdXSwgaykpKS5cclxuICAgICAgICAgICAgICBwaXBlKHRhcChvID0+IHAubmFtZSA9IG8uam9pbihBWEVTX0xBQkVMX0RJVklERVIpKSk7XHJcbiAgICAgICAgICAgIG9ic2VydmFibGVzLnB1c2gocG9ic2VydmFibGUpO1xyXG4gICAgICAgICAgICBpZiAoaSA+IDApIHtcclxuICAgICAgICAgICAgICBsZXQgaiA9IDAsIG1pc3NpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHdoaWxlIChqIDwgYmFzZS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGxldCB4ID0gYmFzZVtqXS54O1xyXG4gICAgICAgICAgICAgICAgaWYgKHAueCA9PT0geCkge1xyXG4gICAgICAgICAgICAgICAgICBtaXNzaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHAueCA8IHgpXHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgaisrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAobWlzc2luZykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2xvbmUgPSB7IHg6IHAueCwgeTogMCB9IGFzIFBvaW50O1xyXG4gICAgICAgICAgICAgICAgYmFzZS5zcGxpY2UoaiwgMCwgY2xvbmUpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29ic2VydmFibGUgPSBmb3JrSm9pbihwLnguc3BsaXQoQVhFU19DT0RFX0RJVklERVIpLm1hcCgoaywgaikgPT5cclxuICAgICAgICAgICAgICAgICAgdGhpcy5fdHlwZS5nZXQoYXhpc1R5cGVNYXBbeEF4aXNbal1dLCBrKSkpLlxyXG4gICAgICAgICAgICAgICAgICBwaXBlKHRhcChvID0+IGNsb25lLm5hbWUgPSBvLmpvaW4oQVhFU19MQUJFTF9ESVZJREVSKSkpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2YWJsZXMucHVzaChjb2JzZXJ2YWJsZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmIChzLmluZGV4KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gb3B0aW9ucy5pbmRpY2VzLmZpbmQoaSA9PiBpLm5hbWUgPT09IHMuaW5kZXgpO1xyXG4gICAgICAgICAgICBzLnRpdGxlID0gaW5kZXgudGl0bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIGlmIChzLm5hbWUpIHtcclxuICAgICAgICAgICAgY29uc3Qgc29ic2VydmFibGUgPSBmb3JrSm9pbihzLm5hbWUuc3BsaXQoQVhFU19DT0RFX0RJVklERVIpLm1hcCgoaywgaSkgPT5cclxuICAgICAgICAgICAgICB0aGlzLl90eXBlLmdldChheGlzVHlwZU1hcFtzZXJpZXNbaV1dLCBrKVxyXG4gICAgICAgICAgICApKS5waXBlKHRhcCh2ID0+IHMudGl0bGUgPSB2LmpvaW4oQVhFU19MQUJFTF9ESVZJREVSKSkpO1xyXG4gICAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHNvYnNlcnZhYmxlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAob2JzZXJ2YWJsZXMubGVuZ3RoKVxyXG4gICAgICAgICAgZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChyKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSwgZSA9PiBvYnNlcnZlLmVycm9yKGUpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChyKTtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGUgPT4gb2JzZXJ2ZS5lcnJvcihlKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogYWRkcyB2YWx1ZXMgdG8gc291cmNlIGtleXNcclxuICAgKiBAcGFyYW0gY3ViZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2RlY29yYXRlVGFibGU8VD4oY3ViZTogc3RyaW5nLCBjb2x1bW5zPzogc3RyaW5nW10pOiAoc291cmNlOiBPYnNlcnZhYmxlPFRbXT4pID0+IE9ic2VydmFibGU8VFtdPiB7XHJcbiAgICBjb25zdCBjY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBjdWJlKSxcclxuICAgICAgYXhlcyA9IGNjdWJlLmF4ZXMuZmlsdGVyKGEgPT4gIWNvbHVtbnMgfHwgY29sdW1ucy5pbmRleE9mKGEubmFtZSkgPiAtMSk7XHJcbiAgICByZXR1cm4gKHNvdXJjZSkgPT4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIHNvdXJjZS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcbiAgICAgICAgci5mb3JFYWNoKHJvdyA9PlxyXG4gICAgICAgICAgYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IG5hbWUsIGRhdGFUeXBlIH0gPSBhLCB2YWx1ZSA9IHJvd1tuYW1lXTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAvLyBrZWVwIGtleVxyXG4gICAgICAgICAgICAgIHJvd1snXycgKyBuYW1lXSA9IHZhbHVlO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLl90eXBlLmdldChkYXRhVHlwZSwgdmFsdWUpLnBpcGUodGFwKHYgPT5cclxuICAgICAgICAgICAgICAgIHJvd1tuYW1lXSA9IHYgfHwgdmFsdWUpKTtcclxuICAgICAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmFibGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgaWYgKG9ic2VydmFibGVzLmxlbmd0aClcclxuICAgICAgICAgIGZvcmtKb2luKG9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlLm5leHQocik7XHJcbiAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0sIGUgPT4gb2JzZXJ2ZS5lcnJvcihlKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQoW10pO1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgZSA9PiBvYnNlcnZlLmVycm9yKGUpKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb2dyZXNzKHRpbWUgPSAyMDApOiAoc291cmNlOiBPYnNlcnZhYmxlPGFueT4pID0+IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gIHJldHVybiBzb3VyY2UgPT4gc291cmNlLnBpcGUoXHJcbiAgICB0YXAoKSxcclxuICAgIG1hcCgoKSA9PiBmYWxzZSkpXHJcbn1cclxuLyoqIG1vZGVsaXplIGN1YmUgcmVzdWx0cyBhcyBuZXN0ZWQgbWFwcyAqL1xyXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxpemUoKTogKHNvdXJjZTogT2JzZXJ2YWJsZTxTZXJpZXNbXT4pID0+IE9ic2VydmFibGU8e1xyXG4gIFtrZXk6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH07XHJcbn0+IHtcclxuICBjb25zdCBkYXRhID0ge307XHJcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8U2VyaWVzW10+KSA9PiBzb3VyY2UucGlwZShtYXAociA9PiB7XHJcbiAgICByLmZvckVhY2gocyA9PiB7XHJcbiAgICAgIGNvbnN0IHJvdyA9IGRhdGFbcy5pbmRleCB8fCBzLm5hbWVdID0ge307XHJcbiAgICAgIHMucG9pbnRzLmZvckVhY2gocCA9PiByb3dbcC54XSA9IHAueSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH0pKTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFeHBsb3JlVHlwZSB7XHJcbiAgY29sdW1uczogRmllbGRJbmZvW107XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgZmllbGRzPzogRmllbGRJbmZvW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZXJpZXMge1xyXG4gIHBvaW50czogUG9pbnRbXTtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnQge1xyXG4gIHg6IHN0cmluZztcclxuICB5OiBudW1iZXI7XHJcbiAgbmFtZT86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1cnJlbmN5IHsgY29kZTogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IHN5bWJvbDogc3RyaW5nIH1cclxuXHJcbmV4cG9ydCB0eXBlIFNlZ21lbnRNYXAgPSB7IFtjb2RlOiBzdHJpbmddOiBzdHJpbmcgfTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGF0dGVybiB7IHRpdGxlOiBzdHJpbmc7IGF4ZXM6IEF4ZXNNYXAgfVxyXG4iXX0=
399
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2N1YmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFnQixhQUFhLEVBQXVCLE1BQU0sdUJBQXVCLENBQUM7QUFJekYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsRUFBRSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7QUFFL0Q7MkVBQzJFO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUM7QUFDdEMsaUVBQWlFO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsY0FBYyxHQUFHLEdBQUcsQ0FBQztBQUV2RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUM7QUFFaEQsd0VBQXdFO0FBQ3hFLEtBQUs7QUFDTCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxzR0FBc0csQ0FBQztBQUV6SSxNQUFNLENB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RUFBRSxNQUFNLEVBQUU7OzBCQUluQixNQUFNOzJCQUFDLGFBQWE7O0FBZ1puQyxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHO0lBQ2pDLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUMxQixHQUFHLEVBQUUsRUFDTCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUNyQixDQUFDO0FBQ0QsMkNBQTJDO0FBQzNDLE1BQU0sVUFBVSxRQUFRO0lBR3RCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNoQixPQUFPLENBQUMsTUFBNEIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDM0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNaLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDekMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNoYXJlUmVwbGF5LCB0YXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgc2V0Q3VycmVuY3lDb2RlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWJhc2UnO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc1N0cmluZyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgQml6RG9jQ29uZmlnLCBCSVpET0NfQ09ORklHLCBQYXJhbU1hcCwgU2NvcGVUeXBlIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgRmllbGRJbmZvLCBBeGlzVHlwZSwgQXhlc01hcCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBnZXRDdXJyZW5jeVN5bWJvbCwgZ2V0TG9jYWxlTnVtYmVyRm9ybWF0LCBOdW1iZXJGb3JtYXRTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5leHBvcnQgY29uc3QgQUNDT1VOVF9ERUxJTUlURVIgPSAnLicsIERFRkFVTFRfQ1VSUkVOQ1kgPSAnVVNEJztcclxuXHJcbi8qKiBpbiBjYXNlIHhBeGlzIG9yIHNlcmllcyBpcyBnaXZlbiBtb3JlIHRoYW4gb25lIGF4aXMsXHJcbiAqIHRoZSB2YWx1ZSByZXR1cm5lZCBpcyBjb21iaW5lZCBvZiB2YWx1ZXMgc2VwZXJhdGVkIGJ5IHRoaXMgY2hhcmFjdGVyLiAqL1xyXG5leHBvcnQgY29uc3QgQVhFU19DT0RFX0RJVklERVIgPSAnX18nO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYRVNfTEFCRUxfRElWSURFUiA9ICctJztcclxuLyoqIHJlcHJlc2VudHMgYSBwbGFjZSBpbiBwYXR0ZXJuIHRvIGJlIHJlcGxhY2VkIGJ5IGJhc2UgYXhpcy4gKi9cclxuZXhwb3J0IGNvbnN0IEFYSVNfTUFQX0NIQVIgPSAnIycsIEFYSVNfTUFQX0FTX0lTID0gJyonO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFYSVNfU1BFQ0lBTF9DSEFSUyA9IC9bXFwuOyNcXC0sXFwhXS87XHJcblxyXG4vKiogYWxsb3dlZCBjaGFyYWN0ZXJzIGZvciBheGlzIHZhbHVlIC8gY29sbGVjdGlvbiAvIHJhbmdlIC8gcGF0dGVybi4gKi9cclxuLy9cXHBMXHJcbmV4cG9ydCBjb25zdCBBWElTX1ZBTFVFX1BBVFRFUk4gPSAvXigoIT9cXHcrKFxcLFxcdyspKil8KCE/XFx3K1xcLVxcdyspfCghP1tcXHdcXC5cXCpcXCNdKykpKFs7XSgoIT9cXHcrKFxcLFxcdyspKil8KCE/XFx3K1xcLVxcdyspfCghP1tcXHdcXC5cXCpcXCNdKykpKSokLztcclxuXHJcbmV4cG9ydCBjb25zdCBDTERSX0ZJTEVTID0gWydjbGRyLWRhdGEvbWFpbi97MH0vY3VycmVuY2llcy5qc29uJywgJ2NsZHItZGF0YS9tYWluL3swfS9jYS1ncmVnb3JpYW4uanNvbicsICdjbGRyLWRhdGEvbWFpbi97MH0vbnVtYmVycy5qc29uJywgJ2NsZHItZGF0YS9tYWluL3swfS90aW1lWm9uZU5hbWVzLmpzb24nLCAnY2xkci1kYXRhL3N1cHBsZW1lbnRhbC9udW1iZXJpbmdTeXN0ZW1zLmpzb24nXTtcclxuXHJcbi8qKiBxdWVyeSBjdWJlICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfY2FjaGU6IHsgW25hbWU6IHN0cmluZ106IE9ic2VydmFibGU8YW55PiB9ID0ge307XHJcbiAgLy8gY3RvclxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfdHlwZTogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gICAgX2NvbmZpZyAmJiBfY29uZmlnLmN1cnJlbmN5Q29kZSAmJiBzZXRDdXJyZW5jeUNvZGUoX2NvbmZpZy5jdXJyZW5jeUNvZGUpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jYWNoZU9yID0gPFQ+KG5hbWU6IHN0cmluZywgZm46ICgpID0+IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+ID0+XHJcbiAgICB0aGlzLl9jYWNoZVtuYW1lXSB8fCAodGhpcy5fY2FjaGVbbmFtZV0gPSBmbigpLnBpcGUoc2hhcmVSZXBsYXkoKSkpO1xyXG4gIC8qKiBzeXN0ZW0gY3VycmVuY3kgKi9cclxuICBnZXQgbnVtYmVyRm9ybWF0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW5jeUNvZGUgP1xyXG4gICAgICBnZXRMb2NhbGVOdW1iZXJGb3JtYXQodGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSwgTnVtYmVyRm9ybWF0U3R5bGUuQ3VycmVuY3kpLlxyXG4gICAgICAgIHJlcGxhY2UoJ8KkJywgZ2V0Q3VycmVuY3lTeW1ib2wodGhpcy5jdXJyZW5jeUNvZGUsICduYXJyb3cnKSkgOlxyXG4gICAgICBnZXRMb2NhbGVOdW1iZXJGb3JtYXQodGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSwgTnVtYmVyRm9ybWF0U3R5bGUuRGVjaW1hbCk7XHJcbiAgfVxyXG4gIGdldCBjdXJyZW5jeUNvZGUoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHsgY3VycmVuY3lDb2RlIH0gPSB0aGlzLl9jb25maWcgfHwge307XHJcbiAgICByZXR1cm4gY3VycmVuY3lDb2RlIHx8IERFRkFVTFRfQ1VSUkVOQ1k7XHJcbiAgfVxyXG4gIGdldCBkaWdpdHNJbmZvKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB7IGZyYWN0aW9uRGlnaXRzIH0gPSB0aGlzO1xyXG4gICAgcmV0dXJuIGAxLiR7ZnJhY3Rpb25EaWdpdHN9LSR7ZnJhY3Rpb25EaWdpdHN9YDtcclxuICB9XHJcbiAgZ2V0IGZyYWN0aW9uRGlnaXRzKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCB7IGZvcm1hdHMgfSA9IHRoaXMuX2NvbmZpZywgeyBmcmFjdGlvbkRpZ2l0cyB9ID0gZm9ybWF0cyB8fCB7fTtcclxuICAgIHJldHVybiBmcmFjdGlvbkRpZ2l0cyAhPT0gdW5kZWZpbmVkID8gZnJhY3Rpb25EaWdpdHMgOiAyO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBxdWVyeSBjdWJlIGJ5IGF4ZXMsIHNlcmllcyBhbmQgaW5kaWNlc1xyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0geEF4aXMgZ3JvdXAgYnkgb25lIG9yIG1vcmUgYXhpc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgc2VyaWVzKGN1YmU6IHN0cmluZywgeEF4aXM6IHN0cmluZyB8IHN0cmluZ1tdLFxyXG4gICAgb3B0aW9ucz86IHtcclxuICAgICAgLyoqIGdyb3VwIHNlcmllcyBieSBvbmUgb3IgbW9yZSBheGlzICovXHJcbiAgICAgIHNlcmllcz86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gICAgICAvKiogaW5jbHVkZSBvbmUgb3IgbW9yZSBpbmRleCBzZXJpZSAqL1xyXG4gICAgICBpbmRpY2VzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgIGdyb3VwSW5kaWNlcz86IGJvb2xlYW4sXHJcbiAgICAgIC8vaW5kZXhCeT86ICdncm91cCcgfCAnaW52ZXJzZScsXHJcbiAgICAgIGludmVyc2VJbmRpY2VzPzogYm9vbGVhbixcclxuICAgICAgLyoqIGF4ZXMgKi9cclxuICAgICAgZmlsdGVycz86IHsgW2F4aXM6IHN0cmluZ106IEF4aXNUeXBlIH07XHJcbiAgICAgIHNjb3BlPzogU2NvcGVUeXBlLFxyXG4gICAgICAvKiogcmVwbGFjZSBiYXNlICovXHJcbiAgICAgIGJhc2U/OiB7IFtheGlzOiBzdHJpbmddOiAoc3RyaW5nIHwgbnVtYmVyKSB9IHwgQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICAgIH0pOiBPYnNlcnZhYmxlPFNlcmllc1tdPiB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fTtcclxuICAgIGNvbnN0IHsgZmlsdGVyczogYXhlcywgc2VyaWVzLCBpbmRpY2VzLCBiYXNlLCBzY29wZSwgZ3JvdXBJbmRpY2VzLCBpbnZlcnNlSW5kaWNlcyB9ID0gb3B0aW9ucywgZmlsdGVycyA9IHsgLi4uYXhlcyB9O1xyXG4gICAgLy8gbm9ybWFsaXplIGFyZ3NcclxuICAgIGJhc2UgJiYgdGhpcy5iYXNlKGN1YmUsIGZpbHRlcnMsIGJhc2UpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFNlcmllc1tdPihgL2FwaS9jdWJlLyR7Y3ViZX1gLCB7XHJcbiAgICAgIHhBeGlzLFxyXG4gICAgICBzZXJpZXMsXHJcbiAgICAgIGluZGljZXMsXHJcbiAgICAgIGZpbHRlcnMsXHJcbiAgICAgIHNjb3BlLFxyXG4gICAgICBncm91cEluZGljZXMsXHJcbiAgICAgIGludmVyc2VJbmRpY2VzXHJcbiAgICB9KS5waXBlKHRoaXMuX2RlY29yYXRlKGN1YmUsIGlzQXJyYXkoeEF4aXMpID8geEF4aXMgOiBbeEF4aXNdLFxyXG4gICAgICBzZXJpZXMgPyBpc0FycmF5KHNlcmllcykgPyBzZXJpZXMgOiBbc2VyaWVzXSA6IG51bGwpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogYWdncmVnYXRlIGN1YmUgdG8gZmxhdCBjb2xsZWN0aW9uIG9mIGNvbHVtbnMgYW5kIHZhbHVlKHMpXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBjb2x1bW5zXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICB0YWJsZShjdWJlOiBzdHJpbmcsIGNvbHVtbnM6IHN0cmluZ1tdLCBvcHRpb25zPzoge1xyXG4gICAgLyoqIGF4ZXMgKi9cclxuICAgIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gICAgLyoqIGluY2x1ZGUgb25lIG9yIG1vcmUgaW5kZXggdmFsdWVzICovXHJcbiAgICBpbmRpY2VzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICBzY29wZT86IFNjb3BlVHlwZSxcclxuICB9KTogT2JzZXJ2YWJsZTx7IHZhbHVlOiBudW1iZXIgfVtdPiB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fTtcclxuICAgIGNvbnN0IHsgZmlsdGVycywgaW5kaWNlcywgc2NvcGUgfSA9IG9wdGlvbnM7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8eyB2YWx1ZTogbnVtYmVyIH1bXT4oYC9hcGkvY3ViZS90YWJsZS8ke2N1YmV9YCwge1xyXG4gICAgICBjb2x1bW5zLFxyXG4gICAgICBpbmRpY2VzLFxyXG4gICAgICBmaWx0ZXJzLFxyXG4gICAgICBzY29wZVxyXG4gICAgfSkucGlwZSh0aGlzLl9kZWNvcmF0ZVRhYmxlKGN1YmUsIGNvbHVtbnMpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogaW5mb3JtYXRpb24gb24gZXhwZWN0ZWQgZXhwbG9yZSB0eXBlXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBheGVzIGZpbHRlcnNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIHJlc29sdmUoY3ViZTogc3RyaW5nLCBheGVzOiB7IFtrZXk6IHN0cmluZ106IEF4aXNUeXBlIH0sIG9wdGlvbnM/OiB7XHJcbiAgICAvKiogcmVwbGFjZSBiYXNlICovXHJcbiAgICBiYXNlPzogeyBbYXhpczogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcikgfSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcbiAgfSk6IE9ic2VydmFibGU8RXhwbG9yZVR5cGU+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4uYXhlcyB9IGFzIGFueTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgYmFzZSB9ID0gb3B0aW9ucztcclxuICAgICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgcGFyYW1zLCBiYXNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxFeHBsb3JlVHlwZT4oYC9hcGkvY3ViZS9leHBsb3JldHlwZS8ke2N1YmV9YCwgeyBwYXJhbXMgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGV4cGxvcmUgaXRlbXMgYnkgYXhpc1xyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gYXhlcyBmaWx0ZXJzXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICBleHBsb3JlKGN1YmU6IHN0cmluZywgYXhlczogeyBba2V5OiBzdHJpbmddOiBBeGlzVHlwZSB9LCBvcHRpb25zPzoge1xyXG4gICAgLyoqIHJlc3RyaWN0IHJlc3VsdHMgdG8gdXNlciBwYXR0ZXJucyBvciBwb3NpdGlvbnMgKi9cclxuICAgIHNjb3BlPzogU2NvcGVUeXBlLFxyXG4gICAgLyoqIHJlcGxhY2UgYmFzZSAqL1xyXG4gICAgYmFzZT86IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gIH0pOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7IC4uLmF4ZXMgfSBhcyBhbnk7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGJhc2UsIHNjb3BlIH0gPSBvcHRpb25zO1xyXG4gICAgICBiYXNlICYmIHRoaXMuYmFzZShjdWJlLCBwYXJhbXMsIGJhc2UpO1xyXG4gICAgICBpZiAoc2NvcGUpIHBhcmFtcy5zY29wZSA9IHNjb3BlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PGFueVtdPihcclxuICAgICAgYC9hcGkvY3ViZS9leHBsb3JlLyR7Y3ViZX1gLFxyXG4gICAgICB7IHBhcmFtcyB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGF4ZXNcclxuICAgKiBAcGFyYW0gY3ViZVxyXG4gICAqL1xyXG4gIG5hbWVPZihheGVzOiBBeGVzTWFwLCBjdWJlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSk7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlcyA9IG9wdGlvbnMuYXhlcy5maWx0ZXIoYSA9PiBpc1N0cmluZyhheGVzW2EubmFtZV0pICYmXHJcbiAgICAgIC8vIHZhbHVlXHJcbiAgICAgICFBWElTX1NQRUNJQUxfQ0hBUlMudGVzdChheGVzW2EubmFtZV0gYXMgc3RyaW5nKSkubWFwKGEgPT5cclxuICAgICAgICB0aGlzLl90eXBlLmdldChhLmRhdGFUeXBlLCBheGVzW2EubmFtZV0gYXMgc3RyaW5nKSk7XHJcbiAgICByZXR1cm4gKG9ic2VydmFibGVzLmxlbmd0aCA/IGZvcmtKb2luKG9ic2VydmFibGVzKS5waXBlKG1hcChvID0+IG8uam9pbignICcpKSkgOiBvZihudWxsKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGV4cGxvcmUgaW5kaWNlcyBieSBheGlzXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBpbmRleCBuYW1lXHJcbiAgICogQHBhcmFtIGF4ZXMgZmlsdGVyc1xyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgaW5kaWNlcyhjdWJlOiBzdHJpbmcsIGluZGV4OiBzdHJpbmcsIGF4ZXM6IHsgW2F4aXM6IHN0cmluZ106IEF4aXNUeXBlIH0sXHJcbiAgICBvcHRpb25zPzoge1xyXG4gICAgICAvKiogcmVzdHJpY3QgcmVzdWx0cyB0byB1c2VyIHBhdHRlcm5zIG9yIHBvc2l0aW9ucyAqL1xyXG4gICAgICBzY29wZT86IFNjb3BlVHlwZVxyXG4gICAgICBiYXNlPzogeyBbYXhpczogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcikgfSB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcbiAgICB9KTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0geyAuLi5heGVzIH0gYXMgYW55O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBiYXNlLCBzY29wZSB9ID0gb3B0aW9ucztcclxuICAgICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgcGFyYW1zLCBiYXNlKTtcclxuICAgICAgaWYgKHNjb3BlKSBwYXJhbXMuc2NvcGUgPSBzY29wZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxhbnlbXT4oXHJcbiAgICAgIGAvYXBpL2N1YmUvZXhwbG9yZWluZGV4LyR7Y3ViZX0vJHtpbmRleH1gLCB7IHBhcmFtcyB9KS5cclxuICAgICAgcGlwZSh0aGlzLl9kZWNvcmF0ZVRhYmxlKGN1YmUpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IGV4cGxvcmUgaXRlbSBieSBheGlzIGFuZCBrZXkocylcclxuICAgKiBAcGFyYW0gY3ViZVxyXG4gICAqIEBwYXJhbSBheGVzXHJcbiAgICogQHBhcmFtIGtleXNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIGl0ZW0oY3ViZTogc3RyaW5nLCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBBeGlzVHlwZSB9LCBrZXlzOiAoc3RyaW5nIHwgbnVtYmVyKVtdIHwgc3RyaW5nIHwgbnVtYmVyLCBvcHRpb25zPzoge1xyXG4gICAgLyoqIHJlcGxhY2UgYmFzZSAqL1xyXG4gICAgYmFzZT86IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG4gIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0geyAuLi5heGVzIH0gYXMgYW55O1xyXG4gICAgcGFyYW1zWydrZXknXSA9IGlzQXJyYXkoa2V5cykgPyBrZXlzWzBdIDoga2V5cztcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgYmFzZSB9ID0gb3B0aW9ucztcclxuICAgICAgYmFzZSAmJiB0aGlzLmJhc2UoY3ViZSwgcGFyYW1zLCBiYXNlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldChgL2FwaS9jdWJlL2V4cGxvcmVpdGVtLyR7Y3ViZX1gLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGN1YmUgbmFtZVxyXG4gICAqIEBwYXJhbSBheGVzIGNvbmRpdGlvblxyXG4gICAqL1xyXG4gIGNvbnN0cmFpbnRzKGN1YmU6IHN0cmluZywgYXhlcz86IHsgW2tleTogc3RyaW5nXTogQXhpc1R5cGUgfSwgb3B0aW9ucz86IHsgc291cmNlOiAnY29uc3RyYWludHMnIHwgJ2NvbWJpbmF0aW9ucycgfSk6IE9ic2VydmFibGU8eyBbZGF0YVR5cGU6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogYW55IH0gfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PHsgW2RhdGFUeXBlOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IH0+KFxyXG4gICAgICAhb3B0aW9ucyB8fCBvcHRpb25zLnNvdXJjZSA9PT0gJ2NvbnN0cmFpbnRzJyA/XHJcbiAgICAgICAgYC9hcGkvY3ViZS9jb25zdHJhaW50cy8ke2N1YmV9YCA6IGAvYXBpL2N1YmUvY29tYmluYXRpb25zY29uc3RyYWludHMvJHtjdWJlfWAsIHtcclxuICAgICAgcGFyYW1zOiB7IC4uLmF4ZXMgfSBhcyBhbnlcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gY3ViZSBuYW1lXHJcbiAgICogQHBhcmFtIGF4aXMgbmFtZVxyXG4gICAqL1xyXG4gIHZhbHVlcyhjdWJlOiBzdHJpbmcsIGF4aXM6IHN0cmluZywgZGVwZW5kZW5jaWVzPzogUGFyYW1NYXApOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogYW55IH0+IHtcclxuICAgIGxldCBjYWNoZUlkID0gY3ViZSArIGF4aXM7XHJcbiAgICBkZXBlbmRlbmNpZXMgJiYgT2JqZWN0LmtleXMoZGVwZW5kZW5jaWVzKS5mb3JFYWNoKGsgPT4gY2FjaGVJZCArPSBrKTtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZU9yKGNhY2hlSWQsICgpID0+IHRoaXMuX2h0dHAuZ2V0PHsgW2RhdGFUeXBlOiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IH0+KFxyXG4gICAgICBgL2FwaS9jdWJlL3NlZ21lbnR2YWx1ZXMvJHtjdWJlfS8ke2F4aXN9YCwgeyBwYXJhbXM6IGRlcGVuZGVuY2llcyB9KSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBheGlzIGNvbWJpbmF0aW9uc1xyXG4gICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAgKiBAcGFyYW0gYXhlcyBmaWx0ZXJzXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICBjb21iaW5hdGlvbnMoY3ViZTogc3RyaW5nLCBheGVzPzogeyBba2V5OiBzdHJpbmddOiBBeGlzVHlwZSB9LCBvcHRpb25zPzoge1xyXG4gICAgLyoqIHRvcCAqL1xyXG4gICAgdGFrZT86IG51bWJlcjtcclxuICAgIC8qKiBwcm9jZXNzIGluIGJhY2tncm91bmQgKi9cclxuICAgIHByb2dyZXNzPzogYm9vbGVhbjtcclxuICB9KTogT2JzZXJ2YWJsZTxzdHJpbmdbXVtdPiB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIG9wdGlvbnMgPSB7fTtcclxuICAgIGNvbnN0IHsgdGFrZSwgcHJvZ3Jlc3MgfSA9IG9wdGlvbnM7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8c3RyaW5nW11bXT4oYC9hcGkvY3ViZS9jb21iaW5hdGlvbnMvJHtjdWJlfWAsIHtcclxuICAgICAgcGFyYW1zOiB7IC4uLmF4ZXMsIHRha2UgfSBhcyBhbnksXHJcbiAgICAgIGhlYWRlcnM6IHByb2dyZXNzID09PSBmYWxzZSA/IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gOiB7fVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB2YWx1ZVxyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICovXHJcbiAgc2VhcmNoKHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM6IHsgdGFrZT86IG51bWJlciB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8eyBjdWJlOiBzdHJpbmcsIGF4aXM6IHN0cmluZywga2V5OiBhbnksIHZhbHVlOiBhbnkgfVtdPignL2FwaS9jdWJlL3NlYXJjaCcsIHtcclxuICAgICAgcGFyYW1zOiB7IHZhbHVlLCAuLi5vcHRpb25zIH0gYXMgYW55LFxyXG4gICAgICBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogZ2V0IHNlZ21lbnRzXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKi9cclxuICBzZWdtZW50cyhjdWJlOiBzdHJpbmcsIHR5cGU6IHN0cmluZyk6IE9ic2VydmFibGU8U2VnbWVudE1hcD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlT3IoYCR7dHlwZX0tc2VnbWVudHNgLCAoKSA9PiB0aGlzLl9odHRwLmdldDxTZWdtZW50TWFwPihgL2FwaS9jdWJlL3NlZ21lbnRzLyR7Y3ViZX0/dHlwZT0ke3R5cGV9YCkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBnZXQgdXNlciBwYXR0ZXJuc1xyXG4gICAqIEBwYXJhbSBjdWJlXHJcbiAgICovXHJcbiAgcGF0dGVybnMoY3ViZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYXR0ZXJuW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZU9yKGAke2N1YmV9LXBhdHRlcm5zYCwgKCkgPT4gdGhpcy5faHR0cC5nZXQ8UGF0dGVybltdPihgL2FwaS9jdWJlL3BhdHRlcm5zLyR7Y3ViZX1gKSk7XHJcbiAgfVxyXG4gIC8qKiBnZXQgY3VycmVuY2llcyAqL1xyXG4gIGN1cnJlbmNpZXMoKTogT2JzZXJ2YWJsZTxDdXJyZW5jeVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVPcignY3VycmVuY2llcycsICgpID0+IHRoaXMuX2h0dHAuZ2V0PEN1cnJlbmN5W10+KCdhcGkvY3ViZS9jdXJyZW5jaWVzJykpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBnZXQgZXhjaGFuZ2UgcmF0ZVxyXG4gICAqIEBwYXJhbSBjdXJyZW5jeUNvZGVcclxuICAgKiBAcGFyYW0gZGF0ZVxyXG4gICAqL1xyXG4gIGV4Y2hhbmdlUmF0ZShjdXJyZW5jeUNvZGU6IHN0cmluZywgZGF0ZT86IERhdGUpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgaWYgKHRoaXMuY3VycmVuY3lDb2RlID09PSBjdXJyZW5jeUNvZGUpXHJcbiAgICAgIHJldHVybiBvZigxKTtcclxuICAgIGxldCBrZXkgPSBjdXJyZW5jeUNvZGU7XHJcbiAgICBpZiAoZGF0ZSkga2V5ICs9IGRhdGUudG9KU09OKCk7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FjaGVPcihrZXksICgpID0+IHRoaXMuX2h0dHAuZ2V0PG51bWJlcj4oYGFwaS9jdWJlL2V4Y2hhbmdlUmF0ZS8ke2N1cnJlbmN5Q29kZX1gLCB7XHJcbiAgICAgIHBhcmFtczogZGF0ZSA/IHsgZGF0ZTogZGF0ZS50b0pTT04oKSB9IDogbnVsbCxcclxuICAgICAgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfVxyXG4gICAgfSkpO1xyXG4gIH1cclxuICAvKipcclxuICAqIHJlcGxhY2VzICogb3IgIyB3aXRoIG9yaWdpbiBheGlzIGF0IGNoYXIgcGxhY2VcclxuICAqIEBwYXJhbSBjdWJlIG5hbWVcclxuICAqIEBwYXJhbSBheGVzIG1hcFxyXG4gICogQHBhcmFtIGJhc2Ugb3JpZ2luXHJcbiAgKi9cclxuICBwdWJsaWMgYmFzZShjdWJlOiBzdHJpbmcsIGF4ZXM6IEF4ZXNNYXAsXHJcbiAgICBiYXNlOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgQXhlc01hcCk6IHZvaWQge1xyXG4gICAgY29uc3QgY2N1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSk7XHJcbiAgICBjY3ViZS5heGVzLmZvckVhY2goKGEsIGkpID0+IHtcclxuICAgICAgY29uc3QgdmFsID0gYXhlc1thLm5hbWVdO1xyXG4gICAgICBpZiAodmFsICYmIGlzU3RyaW5nKHZhbCkpIHtcclxuICAgICAgICBjb25zdCBheGlzYmFzZSA9IGlzQXJyYXkoYmFzZSkgPyBiYXNlW2ldIDogYmFzZVthLm5hbWVdO1xyXG4gICAgICAgIGlmICh2YWwgPT09IEFYSVNfTUFQX0FTX0lTKVxyXG4gICAgICAgICAgYXhlc1thLm5hbWVdID0gYXhpc2Jhc2U7XHJcbiAgICAgICAgZWxzZSBpZiAodmFsLmluZGV4T2YoQVhJU19NQVBfQ0hBUikgPiAtMSkge1xyXG4gICAgICAgICAgbGV0IGF4aXMgPSAnJztcclxuICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdmFsLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIGxldCBjaGFyID0gdmFsLmNoYXJBdChqKTtcclxuICAgICAgICAgICAgYXhpcyArPSBjaGFyID09PSBBWElTX01BUF9DSEFSICYmIChheGlzYmFzZSBhcyBzdHJpbmcpLmxlbmd0aCA+IGogP1xyXG4gICAgICAgICAgICAgIChheGlzYmFzZSBhcyBzdHJpbmcpLmNoYXJBdChqKSA6IGNoYXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBheGVzW2EubmFtZV0gPSBheGlzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGFkZHMgdmFsdWVzIHRvIHNvdXJjZSBrZXlzXHJcbiAgICogQHBhcmFtIGN1YmVcclxuICAgKiBAcGFyYW0geEF4aXNcclxuICAgKiBAcGFyYW0gc2VyaWVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZGVjb3JhdGUoY3ViZTogc3RyaW5nLFxyXG4gICAgeEF4aXM6IHN0cmluZ1tdLFxyXG4gICAgc2VyaWVzOiBzdHJpbmdbXSk6IChzb3VyY2U6IE9ic2VydmFibGU8U2VyaWVzW10+KSA9PiBPYnNlcnZhYmxlPFNlcmllc1tdPiB7XHJcbiAgICByZXR1cm4gKHNvdXJjZTogT2JzZXJ2YWJsZTxTZXJpZXNbXT4pID0+IG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICBzb3VyY2Uuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmFibGVzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSk7XHJcbiAgICAgICAgY29uc3QgYXhpc1R5cGVNYXAgPSB7fTtcclxuICAgICAgICBvcHRpb25zLmF4ZXMuZm9yRWFjaCh4ID0+IGF4aXNUeXBlTWFwW3gubmFtZV0gPSB4LmRhdGFUeXBlKTtcclxuICAgICAgICBpZiAoIXIubGVuZ3RoKSB7XHJcbiAgICAgICAgICBvYnNlcnZlLm5leHQocik7XHJcbiAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGJhc2UgPSByWzBdLnBvaW50cztcclxuICAgICAgICByLmZvckVhY2goKHMsIGkpID0+IHtcclxuICAgICAgICAgIHMucG9pbnRzLmZvckVhY2gocCA9PiB7XHJcbiAgICAgICAgICAgIGlmICghcC54KSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHBvYnNlcnZhYmxlID0gZm9ya0pvaW4ocC54LnNwbGl0KEFYRVNfQ09ERV9ESVZJREVSKS5tYXAoKGssIGopID0+XHJcbiAgICAgICAgICAgICAgdGhpcy5fdHlwZS5nZXQoYXhpc1R5cGVNYXBbeEF4aXNbal1dLCBrKSkpLlxyXG4gICAgICAgICAgICAgIHBpcGUodGFwKG8gPT4gcC5uYW1lID0gby5qb2luKEFYRVNfTEFCRUxfRElWSURFUikpKTtcclxuICAgICAgICAgICAgb2JzZXJ2YWJsZXMucHVzaChwb2JzZXJ2YWJsZSk7XHJcbiAgICAgICAgICAgIGlmIChpID4gMCkge1xyXG4gICAgICAgICAgICAgIGxldCBqID0gMCwgbWlzc2luZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgd2hpbGUgKGogPCBiYXNlLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IHggPSBiYXNlW2pdLng7XHJcbiAgICAgICAgICAgICAgICBpZiAocC54ID09PSB4KSB7XHJcbiAgICAgICAgICAgICAgICAgIG1pc3NpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAocC54IDwgeClcclxuICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBqKys7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGlmIChtaXNzaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjbG9uZSA9IHsgeDogcC54LCB5OiAwIH0gYXMgUG9pbnQ7XHJcbiAgICAgICAgICAgICAgICBiYXNlLnNwbGljZShqLCAwLCBjbG9uZSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHAueC5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBqKSA9PlxyXG4gICAgICAgICAgICAgICAgICB0aGlzLl90eXBlLmdldChheGlzVHlwZU1hcFt4QXhpc1tqXV0sIGspKSkuXHJcbiAgICAgICAgICAgICAgICAgIHBpcGUodGFwKG8gPT4gY2xvbmUubmFtZSA9IG8uam9pbihBWEVTX0xBQkVMX0RJVklERVIpKSk7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKGNvYnNlcnZhYmxlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKHMuaW5kZXgpIHtcclxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBvcHRpb25zLmluZGljZXMuZmluZChpID0+IGkubmFtZSA9PT0gcy5pbmRleCk7XHJcbiAgICAgICAgICAgIHMudGl0bGUgPSBpbmRleC50aXRsZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKHMubmFtZSkge1xyXG4gICAgICAgICAgICBjb25zdCBzb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHMubmFtZS5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBpKSA9PlxyXG4gICAgICAgICAgICAgIHRoaXMuX3R5cGUuZ2V0KGF4aXNUeXBlTWFwW3Nlcmllc1tpXV0sIGspXHJcbiAgICAgICAgICAgICkpLnBpcGUodGFwKHYgPT4gcy50aXRsZSA9IHYuam9pbihBWEVTX0xBQkVMX0RJVklERVIpKSk7XHJcbiAgICAgICAgICAgIG9ic2VydmFibGVzLnB1c2goc29ic2VydmFibGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGgpXHJcbiAgICAgICAgICBmb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHIpO1xyXG4gICAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICB9LCBlID0+IG9ic2VydmUuZXJyb3IoZSkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHIpO1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgZSA9PiBvYnNlcnZlLmVycm9yKGUpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBhZGRzIHZhbHVlcyB0byBzb3VyY2Uga2V5c1xyXG4gICAqIEBwYXJhbSBjdWJlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZGVjb3JhdGVUYWJsZTxUPihjdWJlOiBzdHJpbmcsIGNvbHVtbnM/OiBzdHJpbmdbXSk6IChzb3VyY2U6IE9ic2VydmFibGU8VFtdPikgPT4gT2JzZXJ2YWJsZTxUW10+IHtcclxuICAgIGNvbnN0IGNjdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGN1YmUpLFxyXG4gICAgICBheGVzID0gY2N1YmUuYXhlcy5maWx0ZXIoYSA9PiAhY29sdW1ucyB8fCBjb2x1bW5zLmluZGV4T2YoYS5uYW1lKSA+IC0xKTtcclxuICAgIHJldHVybiAoc291cmNlKSA9PiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlID0+IHtcclxuICAgICAgc291cmNlLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgICAgICByLmZvckVhY2gocm93ID0+XHJcbiAgICAgICAgICBheGVzLmZvckVhY2goYSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgbmFtZSwgZGF0YVR5cGUgfSA9IGEsIHZhbHVlID0gcm93W25hbWVdO1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIC8vIGtlZXAga2V5XHJcbiAgICAgICAgICAgICAgcm93WydfJyArIG5hbWVdID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuX3R5cGUuZ2V0KGRhdGFUeXBlLCB2YWx1ZSkucGlwZSh0YXAodiA9PlxyXG4gICAgICAgICAgICAgICAgcm93W25hbWVdID0gdiB8fCB2YWx1ZSkpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2YWJsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICBpZiAob2JzZXJ2YWJsZXMubGVuZ3RoKVxyXG4gICAgICAgICAgZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChyKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSwgZSA9PiBvYnNlcnZlLmVycm9yKGUpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmUubmV4dChbXSk7XHJcbiAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlID0+IG9ic2VydmUuZXJyb3IoZSkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJvZ3Jlc3ModGltZSA9IDIwMCk6IChzb3VyY2U6IE9ic2VydmFibGU8YW55PikgPT4gT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgcmV0dXJuIHNvdXJjZSA9PiBzb3VyY2UucGlwZShcclxuICAgIHRhcCgpLFxyXG4gICAgbWFwKCgpID0+IGZhbHNlKSlcclxufVxyXG4vKiogbW9kZWxpemUgY3ViZSByZXN1bHRzIGFzIG5lc3RlZCBtYXBzICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtb2RlbGl6ZSgpOiAoc291cmNlOiBPYnNlcnZhYmxlPFNlcmllc1tdPikgPT4gT2JzZXJ2YWJsZTx7XHJcbiAgW2tleTogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfTtcclxufT4ge1xyXG4gIGNvbnN0IGRhdGEgPSB7fTtcclxuICByZXR1cm4gKHNvdXJjZTogT2JzZXJ2YWJsZTxTZXJpZXNbXT4pID0+IHNvdXJjZS5waXBlKG1hcChyID0+IHtcclxuICAgIHIuZm9yRWFjaChzID0+IHtcclxuICAgICAgY29uc3Qgcm93ID0gZGF0YVtzLmluZGV4IHx8IHMubmFtZV0gPSB7fTtcclxuICAgICAgcy5wb2ludHMuZm9yRWFjaChwID0+IHJvd1twLnhdID0gcC55KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfSkpO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxvcmVUeXBlIHtcclxuICBjb2x1bW5zOiBGaWVsZEluZm9bXTtcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICBmaWVsZHM/OiBGaWVsZEluZm9bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNlcmllcyB7XHJcbiAgcG9pbnRzOiBQb2ludFtdO1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgaW5kZXg/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQb2ludCB7XHJcbiAgeDogc3RyaW5nO1xyXG4gIHk6IG51bWJlcjtcclxuICBuYW1lPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVuY3kgeyBjb2RlOiBzdHJpbmc7IG5hbWU6IHN0cmluZzsgc3ltYm9sOiBzdHJpbmcgfVxyXG5cclxuZXhwb3J0IHR5cGUgU2VnbWVudE1hcCA9IHsgW2NvZGU6IHN0cmluZ106IHN0cmluZyB9O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuIHsgdGl0bGU6IHN0cmluZzsgYXhlczogQXhlc01hcCB9XHJcbiJdfQ==
@@ -97,6 +97,7 @@ export class ExploreItemsComponent {
97
97
  });
98
98
  }
99
99
  _datasource(data) {
100
+ this._data = data;
100
101
  this.dataSource = new MatTableDataSource(data);
101
102
  this.dataSource.sort = this.sort;
102
103
  this.dataSource.paginator = this.paginator;
@@ -121,7 +122,7 @@ export class ExploreItemsComponent {
121
122
  }
122
123
  }))
123
124
  }];
124
- this.dataSource.data.forEach((r, i) => rows.push({
125
+ this._data.forEach((r, i) => rows.push({
125
126
  index: i + 2,
126
127
  cells: this.columns.map((c, j) => {
127
128
  const isnumber = c.type === 'Currency' || c.type === 'Number';
@@ -187,4 +188,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
187
188
  type: ViewChild,
188
189
  args: [MatPaginator, { static: true }]
189
190
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZXhwbG9yZS9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9leHBsb3JlL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFtQixTQUFTLEVBQVcsTUFBTSxtQkFBbUIsQ0FBQztBQUl4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQUdwQyxNQUFNLFNBQVMsR0FBRyxFQUFFLEVBQUUsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBVTNDLDBCQUEwQjtBQUMxQixNQUFNLE9BQU8scUJBQXFCO0lBNEJoQyxzQkFBc0I7SUFDdEIsWUFDVSxRQUFxQixFQUNyQixHQUFrQixFQUNsQixRQUF3QixFQUN4QixVQUE0QjtRQUg1QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFoQzdCLG9CQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7UUFhakMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQy9DLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDZixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFPOUMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFTbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM3RCxDQUFDO0lBaENELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ1csUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxLQUFLO1lBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQTJCRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFDRCxPQUFPLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFckMsV0FBVyxDQUFDLENBQWdCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUMsS0FBSztZQUNaLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzs7WUFFZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNELE1BQU07SUFDRSxLQUFLO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hELE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMvRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsRixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLEtBQUssSUFBSSxJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsQ0FBQyxFQUFFLEdBQUcsRUFBRTtnQkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0YsTUFBTSxPQUFPLEdBQWdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDMUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU07Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUMzQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ04sT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7WUFDTCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBVztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFTO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSxvREFBb0QsQ0FBQztRQUM3RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNELFdBQVc7UUFDVCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFDN0MsSUFBSSxHQUFHLENBQUM7Z0JBQ04sS0FBSyxFQUFFLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDakMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUM1QixLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLElBQUk7cUJBQ1g7aUJBQ08sQ0FBQSxDQUFDO2FBQ1osQ0FBVSxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDOUM7WUFDRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDWixLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO2dCQUM5RCxPQUFPO29CQUNMLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUTtvQkFDbEMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUM5QixLQUFLLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVM7cUJBQ3ZDO2lCQUNNLENBQUM7WUFDWixDQUFDLENBQ0E7U0FDSyxDQUFDLENBQUMsQ0FBQztRQUViLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUN2QjtZQUNFLFVBQVUsRUFBRTtnQkFDVjtvQkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWEsQ0FBQSxDQUFDO29CQUM3RSxJQUFJO2lCQUNRO2FBQ2Y7U0FDRixFQUNELE1BQU0sQ0FDUCxDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3hDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9CLENBQUM7O2tIQXhKVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixrU0FtQnJCLE9BQU8sNEVBQ1AsWUFBWSxtRkMvQ3pCLDg3Q0F5QkEsMm5FREhjO1FBQ1YsYUFBYTtRQUNiLGFBQWE7S0FBQzsyRkFHTCxxQkFBcUI7a0JBVGpDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTtxQkFBQzswTEFVTCxRQUFRO3NCQURsQixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDYSxPQUFPO3NCQUF6QixNQUFNO2dCQUNZLElBQUk7c0JBQXRCLE1BQU07Z0JBRUUsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBQ2EsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUN5QixTQUFTO3NCQUFuRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBXb3JrYm9vaywgV29ya3NoZWV0LCBDb2x1bW4sIFJvdyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQnO1xyXG5pbXBvcnQgeyBDdWJlLCBGaWVsZEluZm8sIEZpZWxkVHlwZSwgQXhlc01hcCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXRlbUFuaW1hdGlvbiwgbGlzdEFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJy4uLy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2NvcGVUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcbmNvbnN0IFBBR0VfU0laRSA9IDE0LCBNT0JJTEVfUEFHRV9TSVpFID0gODtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtZXhwbG9yZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBsaXN0QW5pbWF0aW9uLFxyXG4gICAgaXRlbUFuaW1hdGlvbl1cclxufSlcclxuLyoqIGRyaWxsLWRvd24gY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEV4cGxvcmVJdGVtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IENVUlJFTkNZX0ZPUk1BVCA9IHRoaXMuX3NlcnZpY2UuZGlnaXRzSW5mbztcclxuICBwcml2YXRlIF9wYWdlU2l6ZTtcclxuICBwdWJsaWMgZ2V0IHBhZ2VTaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VTaXplO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcGFnZVNpemUodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKHZhbHVlKSB0aGlzLl9wYWdlU2l6ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBASW5wdXQoKSBjdWJlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGluZGV4Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIEBJbnB1dCgpIGF4ZXMhOiBBeGVzTWFwO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBleHBsb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxFeHBsb3JlSXRlbUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+O1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIGNvbHVtbnM6IEZpZWxkSW5mb1tdO1xyXG4gIHNlbGVjdGFibGU6IGJvb2xlYW47XHJcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XHJcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGluZyQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgX3RlbXBsYXRlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfY3ViZTogQ3ViZTtcclxuICAvKiogZHJpbGwtZG93biBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuX3BhZ2VTaXplID0gaXNNb2JpbGUoKSA/IE1PQklMRV9QQUdFX1NJWkUgOiBQQUdFX1NJWkU7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9hZGluZyQucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKHYgPT4gdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodGhpcy5sb2FkaW5nID0gdikpO1xyXG4gIH1cclxuICByZWZyZXNoKCkgeyB0aGlzLm5nT25DaGFuZ2VzKG51bGwpOyB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2N1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gdGhpcy5jdWJlKTtcclxuICAgIHRoaXMuY3VycmVuY3lDb2RlID0gdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGU7XHJcbiAgICBpZiAodGhpcy5pbmRleClcclxuICAgICAgdGhpcy5faW5kZXgoKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fdmlldygpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF92aWV3KCkge1xyXG4gICAgdGhpcy5fbG9hZGluZyQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuX3NlcnZpY2UucmVzb2x2ZSh0aGlzLmN1YmUsIHRoaXMuYXhlcykuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBjb25zdCB7IGNvbHVtbnMsIGZpZWxkcywgdGVtcGxhdGUgfSA9IGU7XHJcbiAgICAgIHRoaXMuX3NlcnZpY2UuZXhwbG9yZSh0aGlzLmN1YmUsIHRoaXMuYXhlcywgeyBzY29wZTogdGhpcy5zY29wZSB9KS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcclxuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcihjID0+ICFjLmhpZGRlbiAmJiAhYy5rZXkpLm1hcChjID0+IGMubmFtZSk7XHJcbiAgICAgICAgdGhpcy5fdGVtcGxhdGUgPSB0ZW1wbGF0ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGFibGUgPSB0ZW1wbGF0ZSAhPT0gbnVsbCB8fCBmaWVsZHMgIT09IG51bGw7XHJcbiAgICAgICAgdGhpcy5fZGF0YXNvdXJjZShyKTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2xvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgICAgdGhpcy5fc2IuZXJyb3IoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5kZXgoKSB7XHJcbiAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5fc2VydmljZS5pbmRpY2VzKHRoaXMuY3ViZSwgdGhpcy5pbmRleCwgdGhpcy5heGVzLCB7IHNjb3BlOiB0aGlzLnNjb3BlIH0pLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgY29uc3QgY29sdW1uczogRmllbGRJbmZvW10gPSB0aGlzLl9jdWJlLmF4ZXMuXHJcbiAgICAgICAgZmlsdGVyKGEgPT4gdGhpcy5heGVzW2EubmFtZV0gPT09IHVuZGVmaW5lZCAmJiAhYS5oaWRkZW4gJiZcclxuICAgICAgICAgIHIuZmluZChyb3cgPT4gcm93W2EubmFtZV0gIT09IHVuZGVmaW5lZCkpLlxyXG4gICAgICAgIG1hcChhID0+IHtcclxuICAgICAgICAgIHJldHVybiB7IG5hbWU6IGEubmFtZSwgbGFiZWw6IGEudGl0bGUgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgY29uc3QgaWluZGV4ID0gdGhpcy5fY3ViZS5pbmRpY2VzLmZpbmQoaSA9PiBpLm5hbWUgPT09IHRoaXMuaW5kZXgpO1xyXG4gICAgICBjb2x1bW5zLnB1c2goeyBuYW1lOiAndmFsdWUnLCBsYWJlbDogaWluZGV4LnRpdGxlLCB0eXBlOiBGaWVsZFR5cGUuQ3VycmVuY3kgfSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IGNvbHVtbnMubWFwKGMgPT4gYy5uYW1lKTtcclxuICAgICAgdGhpcy5fdGVtcGxhdGUgPSBudWxsO1xyXG4gICAgICB0aGlzLnNlbGVjdGFibGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fZGF0YXNvdXJjZShyKTtcclxuICAgIH0sICgpID0+IHtcclxuICAgICAgdGhpcy5fbG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgIHRoaXMuX3NiLmVycm9yKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RhdGFzb3VyY2UoZGF0YTogYW55W10pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgIHRoaXMuX2xvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoKTtcclxuICB9XHJcbiAgZXhwYW5kKGl0ZW06IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZSkgcmV0dXJuO1xyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoZiA9PiBmLmtleSkubWFwKGYgPT4gaXRlbVtmLm5hbWVdKTtcclxuICAgIGlmICgha2V5cy5sZW5ndGgpIHRocm93ICdubyBjb2x1bW4gd2l0aCBLZXkgYXR0cmlidXRlIGluIElCcm93c2VhYmxlIG1vZGVsLic7XHJcbiAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGtleXMsIHRlbXBsYXRlOiB0aGlzLl90ZW1wbGF0ZSB9KTtcclxuICB9XHJcbiAgZXhwb3J0RXhjZWwoKSB7XHJcbiAgICBjb25zdCBudW1iZXJGb3JtYXQgPSB0aGlzLl9zZXJ2aWNlLm51bWJlckZvcm1hdCxcclxuICAgICAgcm93cyA9IFt7XHJcbiAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgY2VsbHM6IHRoaXMuY29sdW1ucy5tYXAoKGMsIGkpID0+ICh7XHJcbiAgICAgICAgICBpbmRleDogaSArIDEsIHZhbHVlOiBjLmxhYmVsLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gYXMgQ2VsbCkpXHJcbiAgICAgIH1dIGFzIFJvd1tdO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEuZm9yRWFjaCgociwgaSkgPT4gcm93cy5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgaW5kZXg6IGkgKyAyLFxyXG4gICAgICAgIGNlbGxzOiB0aGlzLmNvbHVtbnMubWFwKChjLCBqKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBpc251bWJlciA9IGMudHlwZSA9PT0gJ0N1cnJlbmN5JyB8fCBjLnR5cGUgPT09ICdOdW1iZXInO1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdHlwZTogaXNudW1iZXIgPyAndGV4dCcgOiAnbnVtYmVyJyxcclxuICAgICAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogcltjLm5hbWVdLFxyXG4gICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgIG51bWJlckZvcm1hdCxcclxuICAgICAgICAgICAgICBoQWxpZ246IGlzbnVtYmVyID8gJ3JpZ2h0JyA6ICdnZW5lcmFsJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGFzIENlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgfSBhcyBSb3cpKTtcclxuXHJcbiAgICBjb25zdCBib29rID0gbmV3IFdvcmtib29rKFxyXG4gICAgICB7XHJcbiAgICAgICAgd29ya3NoZWV0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLm1hcCgoXywgaSkgPT4gKHsgaW5kZXg6IGkgKyAxLCB3aWR0aDogMjUwIH0gYXMgQ29sdW1uKSksXHJcbiAgICAgICAgICAgIHJvd3NcclxuICAgICAgICAgIH0gYXMgV29ya3NoZWV0XHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgICAgJ3hsc3gnXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuX3NlcnZpY2UubmFtZU9mKHRoaXMuYXhlcywgdGhpcy5jdWJlKS5cclxuICAgICAgc3Vic2NyaWJlKG8gPT5cclxuICAgICAgICBib29rLnNhdmUoYCR7dGhpcy5fY3ViZS50aXRsZX0gJHtvfS54bHN4YCkpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvYWRpbmckLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwbG9yZUl0ZW1FdmVudCB7XHJcbiAga2V5czogKHN0cmluZyB8IG51bWJlcilbXTtcclxuICB0ZW1wbGF0ZTogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBDZWxsIHsgfVxyXG4iLCI8bWF0LXRhYmxlIG1hdFNvcnQgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIEBsaXN0PlxyXG4gIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjLm5hbWVcIiAqbmdGb3I9XCJsZXQgYyBvZiBjb2x1bW5zXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57e2MubGFiZWwgfHwgYy5uYW1lfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCIgW2NsYXNzLmZpZ3VyZV09XCJjLnR5cGUgPT09ICdDdXJyZW5jeSdcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYy50eXBlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0RhdGUnXCI+XHJcbiAgICAgICAgICB7e2VsZW1lbnRbYy5uYW1lXSB8IGFtRGF0ZUZvcm1hdDogJ2xsJ319XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ051bWJlcidcIj5cclxuICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIHwgbnVtYmVyIH19XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0N1cnJlbmN5J1wiPlxyXG4gICAgICAgICAge3tlbGVtZW50W2MubmFtZV0gfCBjdXJyZW5jeSA6IChlbGVtZW50LmN1cnJlbmN5Q29kZSB8fCBjdXJyZW5jeUNvZGUpIDogJ3N5bWJvbCcgOiBDVVJSRU5DWV9GT1JNQVQgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT1cImVsZW1lbnQubW9kZWxbYy5uYW1lXVwiIGRpc2FibGVkPVwidHJ1ZVwiICpuZ1N3aXRjaENhc2U9XCInQm9vbGVhbidcIj48L21hdC1jaGVja2JveD5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICB7e2VsZW1lbnRbYy5uYW1lXSB9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L21hdC1oZWFkZXItcm93PlxyXG4gIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiAoY2xpY2spPVwiZXhwYW5kKGVsZW1lbnQpXCIgW2NsYXNzLnNlbGVjdGFibGVdPVwic2VsZWN0YWJsZVwiIEBpdGVtPjwvbWF0LXJvdz5cclxuPC9tYXQtdGFibGU+XHJcbjxtYXQtcGFnaW5hdG9yICNwYWdpbmF0b3IgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgaGlkZVBhZ2VTaXplIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPjwvbWF0LXBhZ2luYXRvcj5cclxuIl19
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZXhwbG9yZS9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9leHBsb3JlL2V4cGxvcmUtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFtQixTQUFTLEVBQVcsTUFBTSxtQkFBbUIsQ0FBQztBQUl4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQUdwQyxNQUFNLFNBQVMsR0FBRyxFQUFFLEVBQUUsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBVTNDLDBCQUEwQjtBQUMxQixNQUFNLE9BQU8scUJBQXFCO0lBNkJoQyxzQkFBc0I7SUFDdEIsWUFDVSxRQUFxQixFQUNyQixHQUFrQixFQUNsQixRQUF3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QUFFLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDeEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7a0hBMUpVLHFCQUFxQjtzR0FBckIscUJBQXFCLGtTQW9CckIsT0FBTyw0RUFDUCxZQUFZLG1GQ2hEekIsODdDQXlCQSwybkVESGM7UUFDVixhQUFhO1FBQ2IsYUFBYTtLQUFDOzJGQUdMLHFCQUFxQjtrQkFUakMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkI7d0JBQ1YsYUFBYTt3QkFDYixhQUFhO3FCQUFDOzBMQVdMLFFBQVE7c0JBRGxCLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNhLE9BQU87c0JBQXpCLE1BQU07Z0JBQ1ksSUFBSTtzQkFBdEIsTUFBTTtnQkFFRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2EsYUFBYTtzQkFBL0IsTUFBTTtnQkFDYSxJQUFJO3NCQUF2QixTQUFTO3VCQUFDLE9BQU87Z0JBQ3lCLFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IFdvcmtib29rLCBXb3Jrc2hlZXQsIENvbHVtbiwgUm93IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IEN1YmUsIEZpZWxkSW5mbywgRmllbGRUeXBlLCBBeGVzTWFwIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpdGVtQW5pbWF0aW9uLCBsaXN0QW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTY29wZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuY29uc3QgUEFHRV9TSVpFID0gMTQsIE1PQklMRV9QQUdFX1NJWkUgPSA4O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1leHBsb3JlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhwbG9yZS1pdGVtcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXhwbG9yZS1pdGVtcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIGxpc3RBbmltYXRpb24sXHJcbiAgICBpdGVtQW5pbWF0aW9uXVxyXG59KVxyXG4vKiogZHJpbGwtZG93biBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgRXhwbG9yZUl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgQ1VSUkVOQ1lfRk9STUFUID0gdGhpcy5fc2VydmljZS5kaWdpdHNJbmZvO1xyXG4gIHByaXZhdGUgX3BhZ2VTaXplO1xyXG4gICAgcHJpdmF0ZSBfZGF0YTogYW55W107XHJcbiAgcHVibGljIGdldCBwYWdlU2l6ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9wYWdlU2l6ZTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHBhZ2VTaXplKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIGlmICh2YWx1ZSkgdGhpcy5fcGFnZVNpemUgPSB2YWx1ZTtcclxuICB9XHJcbiAgQElucHV0KCkgY3ViZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBpbmRleD86IHN0cmluZztcclxuICBASW5wdXQoKSBzY29wZT86IFNjb3BlVHlwZTtcclxuICBASW5wdXQoKSBheGVzITogQXhlc01hcDtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXhwbG9yZUl0ZW1FdmVudD4oKTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBjb2x1bW5zOiBGaWVsZEluZm9bXTtcclxuICBzZWxlY3RhYmxlOiBib29sZWFuO1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xyXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIF90ZW1wbGF0ZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgLyoqIGRyaWxsLWRvd24gY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLl9wYWdlU2l6ZSA9IGlzTW9iaWxlKCkgPyBNT0JJTEVfUEFHRV9TSVpFIDogUEFHRV9TSVpFO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvYWRpbmckLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpLnN1YnNjcmliZSh2ID0+IHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRoaXMubG9hZGluZyA9IHYpKTtcclxuICB9XHJcbiAgcmVmcmVzaCgpIHsgdGhpcy5uZ09uQ2hhbmdlcyhudWxsKTsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSk7XHJcbiAgICB0aGlzLmN1cnJlbmN5Q29kZSA9IHRoaXMuX2N1YmUuY3VycmVuY3lDb2RlO1xyXG4gICAgaWYgKHRoaXMuaW5kZXgpXHJcbiAgICAgIHRoaXMuX2luZGV4KCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3ZpZXcoKTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgcHJpdmF0ZSBfdmlldygpIHtcclxuICAgIHRoaXMuX2xvYWRpbmckLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJlc29sdmUodGhpcy5jdWJlLCB0aGlzLmF4ZXMpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgY29uc3QgeyBjb2x1bW5zLCBmaWVsZHMsIHRlbXBsYXRlIH0gPSBlO1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmV4cGxvcmUodGhpcy5jdWJlLCB0aGlzLmF4ZXMsIHsgc2NvcGU6IHRoaXMuc2NvcGUgfSkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gY29sdW1ucy5maWx0ZXIoYyA9PiAhYy5oaWRkZW4gJiYgIWMua2V5KS5tYXAoYyA9PiBjLm5hbWUpO1xyXG4gICAgICAgIHRoaXMuX3RlbXBsYXRlID0gdGVtcGxhdGU7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RhYmxlID0gdGVtcGxhdGUgIT09IG51bGwgfHwgZmllbGRzICE9PSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2RhdGFzb3VyY2Uocik7XHJcbiAgICAgIH0sICgpID0+IHtcclxuICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgICB9KTtcclxuICAgIH0sICgpID0+IHtcclxuICAgICAgdGhpcy5fbG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgIHRoaXMuX3NiLmVycm9yKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luZGV4KCkge1xyXG4gICAgdGhpcy5fbG9hZGluZyQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuX3NlcnZpY2UuaW5kaWNlcyh0aGlzLmN1YmUsIHRoaXMuaW5kZXgsIHRoaXMuYXhlcywgeyBzY29wZTogdGhpcy5zY29wZSB9KS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbnM6IEZpZWxkSW5mb1tdID0gdGhpcy5fY3ViZS5heGVzLlxyXG4gICAgICAgIGZpbHRlcihhID0+IHRoaXMuYXhlc1thLm5hbWVdID09PSB1bmRlZmluZWQgJiYgIWEuaGlkZGVuICYmXHJcbiAgICAgICAgICByLmZpbmQocm93ID0+IHJvd1thLm5hbWVdICE9PSB1bmRlZmluZWQpKS5cclxuICAgICAgICBtYXAoYSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4geyBuYW1lOiBhLm5hbWUsIGxhYmVsOiBhLnRpdGxlIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGlpbmRleCA9IHRoaXMuX2N1YmUuaW5kaWNlcy5maW5kKGkgPT4gaS5uYW1lID09PSB0aGlzLmluZGV4KTtcclxuICAgICAgY29sdW1ucy5wdXNoKHsgbmFtZTogJ3ZhbHVlJywgbGFiZWw6IGlpbmRleC50aXRsZSwgdHlwZTogRmllbGRUeXBlLkN1cnJlbmN5IH0pO1xyXG4gICAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zO1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBjb2x1bW5zLm1hcChjID0+IGMubmFtZSk7XHJcbiAgICAgIHRoaXMuX3RlbXBsYXRlID0gbnVsbDtcclxuICAgICAgdGhpcy5zZWxlY3RhYmxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX2RhdGFzb3VyY2Uocik7XHJcbiAgICB9LCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2xvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IGFueVtdKSB7XHJcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICAgIHRoaXMuX2xvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoKTtcclxuICB9XHJcbiAgZXhwYW5kKGl0ZW06IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLl90ZW1wbGF0ZSkgcmV0dXJuO1xyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMuY29sdW1ucy5maWx0ZXIoZiA9PiBmLmtleSkubWFwKGYgPT4gaXRlbVtmLm5hbWVdKTtcclxuICAgIGlmICgha2V5cy5sZW5ndGgpIHRocm93ICdubyBjb2x1bW4gd2l0aCBLZXkgYXR0cmlidXRlIGluIElCcm93c2VhYmxlIG1vZGVsLic7XHJcbiAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGtleXMsIHRlbXBsYXRlOiB0aGlzLl90ZW1wbGF0ZSB9KTtcclxuICB9XHJcbiAgZXhwb3J0RXhjZWwoKSB7XHJcbiAgICBjb25zdCBudW1iZXJGb3JtYXQgPSB0aGlzLl9zZXJ2aWNlLm51bWJlckZvcm1hdCxcclxuICAgICAgcm93cyA9IFt7XHJcbiAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgY2VsbHM6IHRoaXMuY29sdW1ucy5tYXAoKGMsIGkpID0+ICh7XHJcbiAgICAgICAgICBpbmRleDogaSArIDEsIHZhbHVlOiBjLmxhYmVsLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gYXMgQ2VsbCkpXHJcbiAgICAgIH1dIGFzIFJvd1tdO1xyXG4gICAgdGhpcy5fZGF0YS5mb3JFYWNoKChyLCBpKSA9PiByb3dzLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICBpbmRleDogaSArIDIsXHJcbiAgICAgICAgY2VsbHM6IHRoaXMuY29sdW1ucy5tYXAoKGMsIGopID0+IHtcclxuICAgICAgICAgIGNvbnN0IGlzbnVtYmVyID0gYy50eXBlID09PSAnQ3VycmVuY3knIHx8IGMudHlwZSA9PT0gJ051bWJlcic7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB0eXBlOiBpc251bWJlciA/ICd0ZXh0JyA6ICdudW1iZXInLFxyXG4gICAgICAgICAgICBpbmRleDogaiArIDEsIHZhbHVlOiByW2MubmFtZV0sXHJcbiAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICAgIGhBbGlnbjogaXNudW1iZXIgPyAncmlnaHQnIDogJ2dlbmVyYWwnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gYXMgQ2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgICB9IGFzIFJvdykpO1xyXG5cclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMubWFwKChfLCBpKSA9PiAoeyBpbmRleDogaSArIDEsIHdpZHRoOiAyNTAgfSBhcyBDb2x1bW4pKSxcclxuICAgICAgICAgICAgcm93c1xyXG4gICAgICAgICAgfSBhcyBXb3Jrc2hlZXRcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICAneGxzeCdcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5fc2VydmljZS5uYW1lT2YodGhpcy5heGVzLCB0aGlzLmN1YmUpLlxyXG4gICAgICBzdWJzY3JpYmUobyA9PlxyXG4gICAgICAgIGJvb2suc2F2ZShgJHt0aGlzLl9jdWJlLnRpdGxlfSAke299Lnhsc3hgKSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9hZGluZyQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBFeHBsb3JlSXRlbUV2ZW50IHtcclxuICBrZXlzOiAoc3RyaW5nIHwgbnVtYmVyKVtdO1xyXG4gIHRlbXBsYXRlOiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiIsIjxtYXQtdGFibGUgbWF0U29ydCBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgQGxpc3Q+XHJcbiAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImMubmFtZVwiICpuZ0Zvcj1cImxldCBjIG9mIGNvbHVtbnNcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7Yy5sYWJlbCB8fCBjLm5hbWV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIiBbY2xhc3MuZmlndXJlXT1cImMudHlwZSA9PT0gJ0N1cnJlbmN5J1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjLnR5cGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInRGF0ZSdcIj5cclxuICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIHwgYW1EYXRlRm9ybWF0OiAnbGwnfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInTnVtYmVyJ1wiPlxyXG4gICAgICAgICAge3tlbGVtZW50W2MubmFtZV0gfCBudW1iZXIgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQ3VycmVuY3knXCI+XHJcbiAgICAgICAgICB7e2VsZW1lbnRbYy5uYW1lXSB8IGN1cnJlbmN5IDogKGVsZW1lbnQuY3VycmVuY3lDb2RlIHx8IGN1cnJlbmN5Q29kZSkgOiAnc3ltYm9sJyA6IENVUlJFTkNZX0ZPUk1BVCB9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiZWxlbWVudC5tb2RlbFtjLm5hbWVdXCIgZGlzYWJsZWQ9XCJ0cnVlXCIgKm5nU3dpdGNoQ2FzZT1cIidCb29sZWFuJ1wiPjwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgIHt7ZWxlbWVudFtjLm5hbWVdIH19XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvbWF0LWhlYWRlci1yb3c+XHJcbiAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIChjbGljayk9XCJleHBhbmQoZWxlbWVudClcIiBbY2xhc3Muc2VsZWN0YWJsZV09XCJzZWxlY3RhYmxlXCIgQGl0ZW0+PC9tYXQtcm93PlxyXG48L21hdC10YWJsZT5cclxuPG1hdC1wYWdpbmF0b3IgI3BhZ2luYXRvciBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBoaWRlUGFnZVNpemUgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+PC9tYXQtcGFnaW5hdG9yPlxyXG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { Component, HostListener } from '@angular/core';
2
+ import { OpenPolicy } from '../../core/configuration';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "../../core/slots/pane-ref";
4
5
  import * as i2 from "../../core/prompt.service";
@@ -52,6 +53,7 @@ export class CubeExplorePaneComponent {
52
53
  relativeTo: this._pane,
53
54
  queryParams: this.axes,
54
55
  state: { item },
56
+ policy: OpenPolicy.Tab | OpenPolicy.Dismissable,
55
57
  group: this._pane.group
56
58
  });
57
59
  this.loading = false;
@@ -75,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
75
77
  type: HostListener,
76
78
  args: ['window:resize']
77
79
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9leHBsb3JlL2V4cGxvcmUucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZXhwbG9yZS9leHBsb3JlLnBhbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQmhFLE1BQU0sT0FDRSx3QkFBd0I7SUFPOUIsWUFDVSxLQUF3QyxFQUN4QyxHQUFrQixFQUNsQixRQUF3QixFQUN4QixRQUFxQixFQUNyQixVQUE0QixFQUM1QixPQUFvQjtRQUxwQixVQUFLLEdBQUwsS0FBSyxDQUFtQztRQUN4QyxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVA5QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBUWIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2dCQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQXFCO1FBQ3hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsRCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUN0QixXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ3RCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRTtnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2FBQ3hCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBbERLLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLGtJQ3RCaEMsNHpDQVdBOzJGRFdRLHdCQUF3QjtrQkFWL0IsU0FBUzs2QkFDOEMsQ0FBQzs7O0VBR3ZELENBQUMsUUFDSzt3QkFDSixLQUFLLEVBQUUsTUFBTTtxQkFDZDswT0FrQ0QsTUFBTTtzQkFETCxZQUFZO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeHBsb3JlSXRlbUV2ZW50IH0gZnJvbSAnLi9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2NvcGVUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhwbG9yZS5wYW5lLmNvbXBvbmVudC5odG1sJywgc3R5bGVzOiBbYFxyXG46aG9zdCB7XHJcbiAgICBtaW4td2lkdGg6IDM2MHB4O1xyXG59YF0sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ3ViZUV4cGxvcmVQYW5lQ29tcG9uZW50IHtcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgYXhlczogQXhlc01hcDtcclxuICBwYWdlU2l6ZTogbnVtYmVyO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG4gIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxDdWJlRXhwbG9yZVBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcikge1xyXG4gICAgdGhpcy5yZXNpemUoKTtcclxuICAgIHRoaXMuX3BhbmUucGFyYW1zQ2hhbmdlLnN1YnNjcmliZShwID0+IHtcclxuICAgICAgdGhpcy5jdWJlID0gcFsnY3ViZSddO1xyXG4gICAgICBjb25zdCBjdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSk7XHJcbiAgICAgIGlmICghdGhpcy5fcGFuZS5ncm91cCkgdGhpcy5fcGFuZS5ncm91cCA9IGN1YmUudGl0bGU7XHJcbiAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFeHBsb3JlJyk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUuZGF0YUNoYW5nZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIGNvbnN0IHsgaW5kZXgsIHNjb3BlIH0gPSBkO1xyXG4gICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XHJcbiAgICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5xdWVyeVBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocSA9PiB7XHJcbiAgICAgIHRoaXMuYXhlcyA9IHE7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgcmVzaXplKCkge1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IE1hdGguZmxvb3IoKHdpbmRvdy5pbm5lckhlaWdodCAtIDE4MCkgLyA1MCk7XHJcbiAgfVxyXG4gIGl0ZW0oZXZ0OiBFeHBsb3JlSXRlbUV2ZW50KSB7XHJcbiAgICBjb25zdCB7IGtleXMgfSA9IGV2dDtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLml0ZW0odGhpcy5jdWJlLCB0aGlzLmF4ZXMsIGtleXMpLnN1YnNjcmliZShpdGVtID0+IHtcclxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnaScsIGV2dC50ZW1wbGF0ZSwga2V5c1swXV0sIHtcclxuICAgICAgICBwYXRoTW9kZTogJ3JlbGF0aXZlJyxcclxuICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLl9wYW5lLFxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmF4ZXMsXHJcbiAgICAgICAgc3RhdGU6IHsgaXRlbSB9LFxyXG4gICAgICAgIGdyb3VwOiB0aGlzLl9wYW5lLmdyb3VwXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIGUgPT4ge1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fc2IuZXJyb3IoZS5zdGF0dXMgPT09IDQwNiA/ICdVbmF1dGhvcml6ZWQnIDogbnVsbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyIGNsYXNzPVwibmF2LXRvb2xiYXJcIj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiaXRlbXMucmVmcmVzaCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uIG1hdEFuaW1hdGU9XCJyb3RhdGVcIj5hdXRvcmVuZXc8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiaXRlbXMuZXhwb3J0RXhjZWwoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidEb3dubG9hZEV4Y2VsJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIml0ZW1zLnBhZ2luYXRvci5wcmV2aW91c1BhZ2UoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidQcmV2UGFnZScgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidQcmV2UGFnZScgfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwiIWl0ZW1zLnBhZ2luYXRvci5oYXNQcmV2aW91c1BhZ2UoKVwiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiaXRlbXMucGFnaW5hdG9yLm5leHRQYWdlKClcIiBbYml6ZG9jVG9vbHRpcF09XCInTmV4dFBhZ2UnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInTmV4dFBhZ2UnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIiFpdGVtcy5wYWdpbmF0b3IuaGFzTmV4dFBhZ2UoKVwiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5rZXlib2FyZF9hcnJvd19yaWdodDwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJxdWVyeVwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImxvYWRpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjxiaXpkb2MtY3ViZS1leHBsb3JlICNpdGVtcyBbY3ViZV09XCJjdWJlXCIgW2luZGV4XT1cImluZGV4XCIgW2F4ZXNdPWF4ZXNcclxuICAgICAgICAgICAgICAgICAgICAgKGV4cGxvcmUpPVwiaXRlbSgkZXZlbnQpXCIgKGxvYWRpbmdDaGFuZ2UpPVwibG9hZGluZyA9ICRldmVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzY29wZV09XCJzY29wZVwiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiPjwvYml6ZG9jLWN1YmUtZXhwbG9yZT5cclxuIl19
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9leHBsb3JlL2V4cGxvcmUucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZXhwbG9yZS9leHBsb3JlLnBhbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFTaEUsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBWWpFLE1BQU0sT0FDRSx3QkFBd0I7SUFPOUIsWUFDVSxLQUF3QyxFQUN4QyxHQUFrQixFQUNsQixRQUF3QixFQUN4QixRQUFxQixFQUNyQixVQUE0QixFQUM1QixPQUFvQjtRQUxwQixVQUFLLEdBQUwsS0FBSyxDQUFtQztRQUN4QyxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVA5QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBUWIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2dCQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQXFCO1FBQ3hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNsRCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUN0QixXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ3RCLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRTtnQkFDZixNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsV0FBVztnQkFDL0MsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSzthQUN4QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQW5ESyx3QkFBd0I7eUdBQXhCLHdCQUF3QixrSUN0QmhDLDR6Q0FXQTsyRkRXUSx3QkFBd0I7a0JBVi9CLFNBQVM7NkJBQzhDLENBQUM7OztFQUd2RCxDQUFDLFFBQ0s7d0JBQ0osS0FBSyxFQUFFLE1BQU07cUJBQ2Q7ME9Ba0NELE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBeGVzTWFwIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlIH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXhwbG9yZUl0ZW1FdmVudCB9IGZyb20gJy4vZXhwbG9yZS1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3ksIFNjb3BlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2V4cGxvcmUucGFuZS5jb21wb25lbnQuaHRtbCcsIHN0eWxlczogW2BcclxuOmhvc3Qge1xyXG4gICAgbWluLXdpZHRoOiAzNjBweDtcclxufWBdLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncGFuZSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIEN1YmVFeHBsb3JlUGFuZUNvbXBvbmVudCB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IEF4ZXNNYXA7XHJcbiAgcGFnZVNpemU6IG51bWJlcjtcclxuICBpbmRleD86IHN0cmluZztcclxuICBzY29wZT86IFNjb3BlVHlwZTtcclxuICBsb2FkaW5nID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8Q3ViZUV4cGxvcmVQYW5lQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIpIHtcclxuICAgIHRoaXMucmVzaXplKCk7XHJcbiAgICB0aGlzLl9wYW5lLnBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIHRoaXMuY3ViZSA9IHBbJ2N1YmUnXTtcclxuICAgICAgY29uc3QgY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpO1xyXG4gICAgICBpZiAoIXRoaXMuX3BhbmUuZ3JvdXApIHRoaXMuX3BhbmUuZ3JvdXAgPSBjdWJlLnRpdGxlO1xyXG4gICAgICB0aGlzLl9wYW5lLnRpdGxlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnRXhwbG9yZScpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLmRhdGFDaGFuZ2Uuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICBjb25zdCB7IGluZGV4LCBzY29wZSB9ID0gZDtcclxuICAgICAgdGhpcy5pbmRleCA9IGluZGV4O1xyXG4gICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucXVlcnlQYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHEgPT4ge1xyXG4gICAgICB0aGlzLmF4ZXMgPSBxO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gIHJlc2l6ZSgpIHtcclxuICAgIHRoaXMucGFnZVNpemUgPSBNYXRoLmZsb29yKCh3aW5kb3cuaW5uZXJIZWlnaHQgLSAxODApIC8gNTApO1xyXG4gIH1cclxuICBpdGVtKGV2dDogRXhwbG9yZUl0ZW1FdmVudCkge1xyXG4gICAgY29uc3QgeyBrZXlzIH0gPSBldnQ7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5pdGVtKHRoaXMuY3ViZSwgdGhpcy5heGVzLCBrZXlzKS5zdWJzY3JpYmUoaXRlbSA9PiB7XHJcbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2knLCBldnQudGVtcGxhdGUsIGtleXNbMF1dLCB7XHJcbiAgICAgICAgcGF0aE1vZGU6ICdyZWxhdGl2ZScsXHJcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcGFuZSxcclxuICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5heGVzLFxyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW0gfSxcclxuICAgICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiIHwgT3BlblBvbGljeS5EaXNtaXNzYWJsZSxcclxuICAgICAgICBncm91cDogdGhpcy5fcGFuZS5ncm91cFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LCBlID0+IHsgXHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9zYi5lcnJvcihlLnN0YXR1cyA9PT0gNDA2ID8gJ1VuYXV0aG9yaXplZCcgOiBudWxsKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJuYXYtdG9vbGJhclwiPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpdGVtcy5yZWZyZXNoKClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVmcmVzaCcgfCB0cmFuc2xhdGVcIj48bWF0LWljb24gbWF0QW5pbWF0ZT1cInJvdGF0ZVwiPmF1dG9yZW5ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpdGVtcy5leHBvcnRFeGNlbCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0Rvd25sb2FkRXhjZWwnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPnNhdmVfYWx0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiaXRlbXMucGFnaW5hdG9yLnByZXZpb3VzUGFnZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1ByZXZQYWdlJyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1ByZXZQYWdlJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhaXRlbXMucGFnaW5hdG9yLmhhc1ByZXZpb3VzUGFnZSgpXCI+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmtleWJvYXJkX2Fycm93X2xlZnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpdGVtcy5wYWdpbmF0b3IubmV4dFBhZ2UoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidOZXh0UGFnZScgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidOZXh0UGFnZScgfCB0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwiIWl0ZW1zLnBhZ2luYXRvci5oYXNOZXh0UGFnZSgpXCI+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuPC9tYXQtdG9vbGJhcj5cclxuPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cInF1ZXJ5XCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGJpemRvYy1jdWJlLWV4cGxvcmUgI2l0ZW1zIFtjdWJlXT1cImN1YmVcIiBbaW5kZXhdPVwiaW5kZXhcIiBbYXhlc109YXhlc1xyXG4gICAgICAgICAgICAgICAgICAgICAoZXhwbG9yZSk9XCJpdGVtKCRldmVudClcIiAobG9hZGluZ0NoYW5nZSk9XCJsb2FkaW5nID0gJGV2ZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Njb3BlXT1cInNjb3BlXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCI+PC9iaXpkb2MtY3ViZS1leHBsb3JlPlxyXG4iXX0=
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
124
124
  type: ViewChild,
125
125
  args: [CubeMatrixComponent, { static: true }]
126
126
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR3JFLE1BQU0sT0FBZ0IsY0FBYztJQWlFbEMsWUFDWSxRQUFxQixFQUN2QixHQUFzQixFQUNwQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBNUMzQixZQUFPLEdBQW9FLEVBQUUsQ0FBQztRQUN2RixjQUFjO1FBQ0wsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQTBDVSxDQUFDO0lBN0R6QyxJQUFXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8s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RCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDOzsyR0F2SW1CLGNBQWM7K0ZBQWQsY0FBYyxpRUFDdkIsbUJBQW1COzJGQURWLGNBQWM7a0JBRG5DLFNBQVM7K0pBRTBDLEtBQUs7c0JBQXRELFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFDQ09VTlRfREVMSU1JVEVSLCBDdWJlU2VydmljZSwgUGF0dGVybiB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBDdWJlTWF0cml4Q29tcG9uZW50LCBTdW1TZXR0aW5ncyB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3ViZU1hdHJpeEJhc2Uge1xyXG4gIEBWaWV3Q2hpbGQoQ3ViZU1hdHJpeENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgdGFibGU6IEN1YmVNYXRyaXhDb21wb25lbnQ7XHJcbiAgc2VyaWVzVG90YWxMYWJlbDogc3RyaW5nO1xyXG4gIHhBeGlzVG90YWxMYWJlbDogc3RyaW5nO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfYXhlczogQXhlc01hcDtcclxuICBwcml2YXRlIF9vcmlnaW5hbEF4ZXM6IEF4ZXNNYXA7XHJcbiAgcHVibGljIHNldCBvcmlnaW5hbEF4ZXModmFsdWU6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX29yaWdpbmFsQXhlcyA9IHsgLi4udmFsdWUgfTtcclxuICB9XHJcbiAgcHVibGljIGdldCBvcmlnaW5hbEF4ZXMoKTogQXhlc01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3JpZ2luYWxBeGVzO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGF4ZXMoKTogQXhlc01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXhlcztcclxuICB9XHJcbiAgcHVibGljIHNldCBheGVzKHZhbHVlOiBBeGVzTWFwKSB7XHJcbiAgICB0aGlzLl9heGVzID0gdmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlcnM/LmZvckVhY2goZiA9PlxyXG4gICAgICB0aGlzLnZhbHVlc1tmLm5hbWVdID0gdmFsdWVbZi5uYW1lXVxyXG4gICAgKTtcclxuICB9XHJcbiAgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgcmVhZG9ubHkgc291cmNlczogeyBbYXhpczogc3RyaW5nXTogT2JzZXJ2YWJsZTx7IGtleTogc3RyaW5nOyB2YWx1ZTogYW55OyB9W10+OyB9ID0ge307XHJcbiAgLyoqIGZpbHRlcnMgKi9cclxuICByZWFkb25seSB2YWx1ZXM6IEF4ZXNNYXAgPSB7fTtcclxuICBmaWx0ZXJzOiBDdWJlQXhpc1tdO1xyXG4gIHBhdHRlcm5zOiBQYXR0ZXJuW107XHJcbiAgcGF0dGVybjogUGF0dGVybjtcclxuICBpbmRpY2VzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgeEF4aXM6IHN0cmluZztcclxuICBzZXJpZXM6IHN0cmluZztcclxuICBwcml2YXRlIF9jdWJlOiBzdHJpbmc7XHJcbiAgcHVibGljIGdldCBjdWJlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3ViZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBjdWJlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB2YWx1ZSk7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbikge1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICAgIHZhbHVlID0gdGhpcy5jb25maWd1cmF0aW9uLm5hbWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnBhdHRlcm5zKHZhbHVlKS5cclxuICAgICAgc3Vic2NyaWJlKHAgPT5cclxuICAgICAgICB0aGlzLnBhdHRlcm5zID0gcCk7XHJcbiAgICB0aGlzLl9jdWJlID0gdmFsdWU7XHJcbiAgfVxyXG4gIHN1bT86IFN1bVNldHRpbmdzIHwgU3VtU2V0dGluZ3NbXTtcclxuICAvKiogb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gIHByb3RlY3RlZCBhZ2dyZWdhdGlvbj86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIHByaXZhdGUgX3NlbGVjdGlvbjogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgcHJvdGVjdGVkIGdldCBzZWxlY3Rpb24oKTogc3RyaW5nIHwgc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbjtcclxuICB9XHJcbiAgcHJvdGVjdGVkIHNldCBzZWxlY3Rpb24odmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICAvKiogb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmF4ZXMuZmlsdGVyKGEgPT4gaXNBcnJheSh2YWx1ZSkgP1xyXG4gICAgICB2YWx1ZS5pbmRleE9mKGEubmFtZSkgPiAtMSA6XHJcbiAgICAgIGEubmFtZSA9PT0gdmFsdWUpO1xyXG5cclxuICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKGYgPT4gdGhpcy5zb3VyY2VzW2YubmFtZV0gPSB0aGlzLl9kcy5hbGwoZi5kYXRhVHlwZSkpO1xyXG4gICAgdGhpcy5fc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgfVxyXG4gIGNvbmZpZ3VyYXRpb246IEN1YmU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkgeyB9XHJcbiAgcHJpdmF0ZSBfcG9wdWxhdGUoKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi50aGlzLl9vcmlnaW5hbEF4ZXMgfTtcclxuICAgIGlmICh0aGlzLmFnZ3JlZ2F0aW9uKVxyXG4gICAgICAoaXNBcnJheSh0aGlzLmFnZ3JlZ2F0aW9uKSA/IHRoaXMuYWdncmVnYXRpb24gOiBbdGhpcy5hZ2dyZWdhdGlvbiBhcyBzdHJpbmddKS5cclxuICAgICAgICBmb3JFYWNoKGcgPT4ge1xyXG4gICAgICAgICAgaWYgKGF4ZXNbZ10pXHJcbiAgICAgICAgICAgIGRlbGV0ZSBheGVzW2ddO1xyXG4gICAgICAgIH0pO1xyXG4gICAgdGhpcy5heGVzID0gYXhlcztcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBjb25zdCBjb21iaW5hdGlvbiA9IHRoaXMuX2NvbWJpbmUoYXhlcyk7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBjb21iaW5hdGlvbi5qb2luKEFDQ09VTlRfREVMSU1JVEVSKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBheGVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY29tYmluZShheGVzOiBBeGVzTWFwKTogKHN0cmluZyB8IG51bWJlcilbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uLmF4ZXMuXHJcbiAgICAgIGZpbHRlcihhID0+IGEuY29tYmluYXRpb24pLlxyXG4gICAgICBtYXAoYSA9PiBheGVzW2EubmFtZV0gYXMgc3RyaW5nIHwgbnVtYmVyKTtcclxuICB9XHJcbiAgLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSB2YWx1ZVxyXG4gKi9cclxuICBmaWx0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCB0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi50aGlzLmF4ZXMgfTtcclxuICAgIGF4ZXNbbmFtZV0gPSB2YWx1ZTtcclxuICAgIHRoaXMub25GaWx0ZXIoYXhlcyk7XHJcbiAgICB0aGlzLl9saXN0ZW4oKS50aGVuKCgpID0+XHJcbiAgICAgIHRoaXMudmFsdWVzW25hbWVdID0gdmFsdWVcclxuICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xpc3RlbigpIHtcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLmxvYWRpbmdDaGFuZ2UucGlwZShmaWx0ZXIob2sgPT4gIW9rKSwgZmlyc3QoKSkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIG9uRmlsdGVyKGF4ZXM6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuYXhlcyA9IGF4ZXM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgKlxyXG4gICAgKiBAcGFyYW0gcGF0dGVyblxyXG4gICAgKi9cclxuICBhZ2dyZWdhdGUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgY29uc3QgYXhlcyA9IHsgLi4ucGF0dGVybi5heGVzIH07XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmJhc2UodGhpcy5jdWJlLCBheGVzLCB0aGlzLm9yaWdpbmFsQXhlcyk7XHJcbiAgICB0aGlzLmF4ZXMgPSB7IC4uLmF4ZXMsIC4uLnRoaXMudmFsdWVzIH07XHJcbiAgICB0aGlzLl9saXN0ZW4oKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy50aXRsZSA9IHBhdHRlcm4udGl0bGU7XHJcbiAgICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5fcG9wdWxhdGUoKTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnBhdHRlcm4gPSBudWxsO1xyXG4gICAgICB0aGlzLnRpdGxlID0gbnVsbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuYXhlcyA9IHsgLi4udGhpcy5heGVzIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR3JFLE1BQU0sT0FBZ0IsY0FBYztJQW1FbEMsWUFDWSxRQUFxQixFQUN2QixHQUFzQixFQUNwQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBNUMzQixZQUFPLEdBQW9FLEVBQUUsQ0FBQztRQUN2RixjQUFjO1FBQ0wsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQTBDVSxDQUFDO0lBN0R6QyxJQUFXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8s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RCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDOzsyR0F6SW1CLGNBQWM7K0ZBQWQsY0FBYyxpRUFDdkIsbUJBQW1COzJGQURWLGNBQWM7a0JBRG5DLFNBQVM7K0pBRTBDLEtBQUs7c0JBQXRELFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFDQ09VTlRfREVMSU1JVEVSLCBDdWJlU2VydmljZSwgUGF0dGVybiB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBDdWJlTWF0cml4Q29tcG9uZW50LCBTdW1TZXR0aW5ncyB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3ViZU1hdHJpeEJhc2Uge1xyXG4gIEBWaWV3Q2hpbGQoQ3ViZU1hdHJpeENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgdGFibGU6IEN1YmVNYXRyaXhDb21wb25lbnQ7XHJcbiAgc2VyaWVzVG90YWxMYWJlbDogc3RyaW5nO1xyXG4gIHhBeGlzVG90YWxMYWJlbDogc3RyaW5nO1xyXG4gIGluZGV4QXQ/OiAnc2VyaWVzJyB8ICd4QXhpcyc7XHJcbiAgcGxhY2VBdD86ICdsZWFkaW5nJyB8ICd0cmFpbGluZyc7XHJcbiAgbG9hZGluZzogYm9vbGVhbjtcclxuICBwcml2YXRlIF9heGVzOiBBeGVzTWFwO1xyXG4gIHByaXZhdGUgX29yaWdpbmFsQXhlczogQXhlc01hcDtcclxuICBwdWJsaWMgc2V0IG9yaWdpbmFsQXhlcyh2YWx1ZTogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxBeGVzID0geyAuLi52YWx1ZSB9O1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IG9yaWdpbmFsQXhlcygpOiBBeGVzTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9vcmlnaW5hbEF4ZXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgYXhlcygpOiBBeGVzTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9heGVzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGF4ZXModmFsdWU6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX2F4ZXMgPSB2YWx1ZTtcclxuICAgIHRoaXMuZmlsdGVycz8uZm9yRWFjaChmID0+XHJcbiAgICAgIHRoaXMudmFsdWVzW2YubmFtZV0gPSB2YWx1ZVtmLm5hbWVdXHJcbiAgICApO1xyXG4gIH1cclxuICB0aXRsZTogc3RyaW5nO1xyXG5cclxuICByZWFkb25seSBzb3VyY2VzOiB7IFtheGlzOiBzdHJpbmddOiBPYnNlcnZhYmxlPHsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnk7IH1bXT47IH0gPSB7fTtcclxuICAvKiogZmlsdGVycyAqL1xyXG4gIHJlYWRvbmx5IHZhbHVlczogQXhlc01hcCA9IHt9O1xyXG4gIGZpbHRlcnM6IEN1YmVBeGlzW107XHJcbiAgcGF0dGVybnM6IFBhdHRlcm5bXTtcclxuICBwYXR0ZXJuOiBQYXR0ZXJuO1xyXG4gIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICB4QXhpczogc3RyaW5nO1xyXG4gIHNlcmllczogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IHN0cmluZztcclxuICBwdWJsaWMgZ2V0IGN1YmUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9jdWJlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1YmUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHZhbHVlKTtcclxuICAgIGlmICghdGhpcy5jb25maWd1cmF0aW9uKSB7XHJcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgICAgdmFsdWUgPSB0aGlzLmNvbmZpZ3VyYXRpb24ubmFtZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlcnZpY2UucGF0dGVybnModmFsdWUpLlxyXG4gICAgICBzdWJzY3JpYmUocCA9PlxyXG4gICAgICAgIHRoaXMucGF0dGVybnMgPSBwKTtcclxuICAgIHRoaXMuX2N1YmUgPSB2YWx1ZTtcclxuICB9XHJcbiAgc3VtPzogU3VtU2V0dGluZ3MgfCBTdW1TZXR0aW5nc1tdO1xyXG4gIC8qKiBvbmUgb3IgbW9yZSBheGlzICovXHJcbiAgcHJvdGVjdGVkIGFnZ3JlZ2F0aW9uPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBwcm90ZWN0ZWQgZ2V0IHNlbGVjdGlvbigpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgc2V0IHNlbGVjdGlvbih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcclxuICAgIC8qKiBvbmUgb3IgbW9yZSBheGlzICovXHJcbiAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYXhlcy5maWx0ZXIoYSA9PiBpc0FycmF5KHZhbHVlKSA/XHJcbiAgICAgIHZhbHVlLmluZGV4T2YoYS5uYW1lKSA+IC0xIDpcclxuICAgICAgYS5uYW1lID09PSB2YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZiA9PiB0aGlzLnNvdXJjZXNbZi5uYW1lXSA9IHRoaXMuX2RzLmFsbChmLmRhdGFUeXBlKSk7XHJcbiAgICB0aGlzLl9zZWxlY3Rpb24gPSB2YWx1ZTtcclxuICB9XHJcbiAgY29uZmlndXJhdGlvbjogQ3ViZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7IH1cclxuICBwcml2YXRlIF9wb3B1bGF0ZSgpIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnRoaXMuX29yaWdpbmFsQXhlcyB9O1xyXG4gICAgaWYgKHRoaXMuYWdncmVnYXRpb24pXHJcbiAgICAgIChpc0FycmF5KHRoaXMuYWdncmVnYXRpb24pID8gdGhpcy5hZ2dyZWdhdGlvbiA6IFt0aGlzLmFnZ3JlZ2F0aW9uIGFzIHN0cmluZ10pLlxyXG4gICAgICAgIGZvckVhY2goZyA9PiB7XHJcbiAgICAgICAgICBpZiAoYXhlc1tnXSlcclxuICAgICAgICAgICAgZGVsZXRlIGF4ZXNbZ107XHJcbiAgICAgICAgfSk7XHJcbiAgICB0aGlzLmF4ZXMgPSBheGVzO1xyXG4gICAgdGhpcy5fbGlzdGVuKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbWJpbmF0aW9uID0gdGhpcy5fY29tYmluZShheGVzKTtcclxuICAgICAgdGhpcy50aXRsZSA9IGNvbWJpbmF0aW9uLmpvaW4oQUNDT1VOVF9ERUxJTUlURVIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGF4ZXNcclxuICAgKi9cclxuICBwcml2YXRlIF9jb21iaW5lKGF4ZXM6IEF4ZXNNYXApOiAoc3RyaW5nIHwgbnVtYmVyKVtdIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24uYXhlcy5cclxuICAgICAgZmlsdGVyKGEgPT4gYS5jb21iaW5hdGlvbikuXHJcbiAgICAgIG1hcChhID0+IGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmcgfCBudW1iZXIpO1xyXG4gIH1cclxuICAvKipcclxuICpcclxuICogQHBhcmFtIHZhbHVlXHJcbiAqL1xyXG4gIGZpbHRlcihuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnRoaXMuYXhlcyB9O1xyXG4gICAgYXhlc1tuYW1lXSA9IHZhbHVlO1xyXG4gICAgdGhpcy5vbkZpbHRlcihheGVzKTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT5cclxuICAgICAgdGhpcy52YWx1ZXNbbmFtZV0gPSB2YWx1ZVxyXG4gICAgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbGlzdGVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUubG9hZGluZ0NoYW5nZS5waXBlKGZpbHRlcihvayA9PiAhb2spLCBmaXJzdCgpKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgb25GaWx0ZXIoYXhlczogQXhlc01hcCkge1xyXG4gICAgdGhpcy5heGVzID0gYXhlcztcclxuICB9XHJcbiAgLyoqXHJcbiAgICAqXHJcbiAgICAqIEBwYXJhbSBwYXR0ZXJuXHJcbiAgICAqL1xyXG4gIGFnZ3JlZ2F0ZShwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi5wYXR0ZXJuLmF4ZXMgfTtcclxuICAgIHRoaXMuX3NlcnZpY2UuYmFzZSh0aGlzLmN1YmUsIGF4ZXMsIHRoaXMub3JpZ2luYWxBeGVzKTtcclxuICAgIHRoaXMuYXhlcyA9IHsgLi4uYXhlcywgLi4udGhpcy52YWx1ZXMgfTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnRpdGxlID0gcGF0dGVybi50aXRsZTtcclxuICAgICAgdGhpcy5wYXR0ZXJuID0gcGF0dGVybjtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLl9wb3B1bGF0ZSgpO1xyXG4gICAgdGhpcy5fbGlzdGVuKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMucGF0dGVybiA9IG51bGw7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBudWxsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5heGVzID0geyAuLi50aGlzLmF4ZXMgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -55,7 +55,7 @@ export class CubeMatrixMobileComponent extends CubeMatrixBase {
55
55
  }
56
56
  }
57
57
  CubeMatrixMobileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeMatrixMobileComponent, deps: [{ token: i1.WindowTitleService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.CubeService }, { token: i4.DatasourceService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Component });
58
- CubeMatrixMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CubeMatrixMobileComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\"\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n (loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], components: [{ type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i11.CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i13.MatIconAnimate, selector: "[matAnimate]" }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i15.TranslatePipe, "async": i14.AsyncPipe, "typeValue": i16.TypeValuePipe } });
58
+ CubeMatrixMobileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CubeMatrixMobileComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\"\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n (loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], components: [{ type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i11.CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i13.MatIconAnimate, selector: "[matAnimate]" }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i15.TranslatePipe, "async": i14.AsyncPipe, "typeValue": i16.TypeValuePipe } });
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeMatrixMobileComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\"\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n (loadingChange)=\"loading=$event\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
@@ -42,6 +42,8 @@ export class CubeMatrixPaneComponent extends CubeMatrixBase {
42
42
  /** */
43
43
  this.aggregation = d['aggregate'];
44
44
  this.sum = d['sum'];
45
+ this.placeAt = d['placeAt'];
46
+ this.indexAt = d['indexAt'];
45
47
  this.selection = d['filters'];
46
48
  this.xAxisTotalLabel = d['xAxisTotalLabel'];
47
49
  this.seriesTotalLabel = d['seriesTotalLabel'];
@@ -64,11 +66,11 @@ export class CubeMatrixPaneComponent extends CubeMatrixBase {
64
66
  }
65
67
  }
66
68
  CubeMatrixPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeMatrixPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.PanesRouter }, { token: i3.TranslateService }, { token: i4.CubeService }, { token: i5.DatasourceService }, { token: i6.SessionService }], target: i0.ɵɵFactoryTarget.Component });
67
- CubeMatrixPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CubeMatrixPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"matrix.export()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\" #matrix\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n (loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], components: [{ type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i12.CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i13.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i14.MatIconAnimate, selector: "[matAnimate]" }, { type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i16.TranslatePipe, "async": i15.AsyncPipe, "typeValue": i17.TypeValuePipe } });
69
+ CubeMatrixPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CubeMatrixPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"matrix.export()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\" #matrix\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n [placeAt]=\"placeAt\"\r\n [indexAt]=\"indexAt\"\r\n (loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"], components: [{ type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i12.CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i13.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i14.MatIconAnimate, selector: "[matAnimate]" }, { type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i15.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i16.TranslatePipe, "async": i15.AsyncPipe, "typeValue": i17.TypeValuePipe } });
68
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeMatrixPaneComponent, decorators: [{
69
71
  type: Component,
70
72
  args: [{ host: {
71
73
  class: 'pane'
72
- }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"matrix.export()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\" #matrix\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n (loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
74
+ }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"matrix.export()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\" #matrix\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n [placeAt]=\"placeAt\"\r\n [indexAt]=\"indexAt\"\r\n (loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
73
75
  }], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.PanesRouter }, { type: i3.TranslateService }, { type: i4.CubeService }, { type: i5.DatasourceService }, { type: i6.SessionService }]; } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL21hdHJpeC9tYXRyaXgucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFDekQscUJBQXFCO0lBQ3JCLFlBQ1UsS0FBdUMsRUFDdkMsT0FBb0IsRUFDcEIsVUFBNEIsRUFDcEMsT0FBb0IsRUFDcEIsRUFBcUIsRUFDckIsT0FBdUI7UUFDdkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFOcEIsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUt0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsTUFBTTtZQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFDRCxRQUFRLENBQUMsV0FBb0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3hCLFdBQVc7WUFDWCxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUc7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFtQjtRQUN6QixNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNwRCxXQUFXO1lBQ1gsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLFdBQVc7WUFDL0MsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7O29IQWhEVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2R0NuQnBDLG83REFnQ0E7MkZEYmEsdUJBQXVCO2tCQVBuQyxTQUFTOzJCQUdGO3dCQUNKLEtBQUssRUFBRSxNQUFNO3FCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgQXhlc01hcCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeEJhc2UgfSBmcm9tICcuL21hdHJpeC5iYXNlJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQgfSBmcm9tICcuLi9kZWNsYXJhdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tYXRyaXgucGFuZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncGFuZSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlTWF0cml4UGFuZUNvbXBvbmVudCBleHRlbmRzIEN1YmVNYXRyaXhCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogY3ViZS1pbmZvIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8Q3ViZU1hdHJpeFBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcixcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHNlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHNlcnZpY2UsIGRzLCBzZXNzaW9uKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5wYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICB0aGlzLmN1YmUgPSBwWydjdWJlJ107XHJcbiAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdNYXRyaXgnKTtcclxuICAgICAgdGhpcy5fcGFuZS5ncm91cCA9IHRoaXMuY29uZmlndXJhdGlvbi50aXRsZTtcclxuICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pY29uKVxyXG4gICAgICAgIHRoaXMuX3BhbmUuaWNvbiA9IHRoaXMuY29uZmlndXJhdGlvbi5pY29uO1xyXG4gICAgICB0aGlzLnhBeGlzID0gcFsneEF4aXMnXTtcclxuICAgICAgdGhpcy5zZXJpZXMgPSBwWydzZXJpZXMnXTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgdGhpcy5pbmRpY2VzID0gZFsnaW5kaWNlcyddO1xyXG4gICAgICAvKiogKi9cclxuICAgICAgdGhpcy5hZ2dyZWdhdGlvbiA9IGRbJ2FnZ3JlZ2F0ZSddO1xyXG4gICAgICB0aGlzLnN1bSA9IGRbJ3N1bSddO1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IGRbJ2ZpbHRlcnMnXTtcclxuICAgICAgdGhpcy54QXhpc1RvdGFsTGFiZWwgPSBkWyd4QXhpc1RvdGFsTGFiZWwnXTtcclxuICAgICAgdGhpcy5zZXJpZXNUb3RhbExhYmVsID0gZFsnc2VyaWVzVG90YWxMYWJlbCddO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLnF1ZXJ5UGFyYW1zQ2hhbmdlLnN1YnNjcmliZShwID0+XHJcbiAgICAgIHRoaXMub3JpZ2luYWxBeGVzID0gdGhpcy5heGVzID0gcFxyXG4gICAgKTtcclxuICB9XHJcbiAgb25GaWx0ZXIocXVlcnlQYXJhbXM6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbXSwge1xyXG4gICAgICBxdWVyeVBhcmFtcyxcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LlRhYlxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGV4cGxvcmUoZXZ0OiBBeGlzQ2xpY2tFdmVudCkge1xyXG4gICAgY29uc3QgeyBheGVzOiBxdWVyeVBhcmFtcywgaW5kZXggfSA9IGV2dDtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2N1YmUnLCB0aGlzLmN1YmUsICdleHBsb3JlJ10sIHtcclxuICAgICAgcXVlcnlQYXJhbXMsXHJcbiAgICAgIHBvbGljeTogT3BlblBvbGljeS5UYWIgfCBPcGVuUG9saWN5LkRpc21pc3NhYmxlLFxyXG4gICAgICBzdGF0ZTogeyBpbmRleCB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyIGNsYXNzPVwibmF2LXRvb2xiYXJcIj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidGFibGUucmVmcmVzaCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uIG1hdEFuaW1hdGU9XCJyb3RhdGVcIj5hdXRvcmVuZXc8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFtiaXpkb2NUb29sdGlwXT1cIidEb3dubG9hZCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgZGF0YS1oZWxwPVwiZG93bmxvYWRcIiAoY2xpY2spPVwibWF0cml4LmV4cG9ydCgpXCI+XHJcbiAgICA8bWF0LWljb24+c2F2ZV9hbHQ8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc1wiICpuZ0lmPVwicGF0dGVybnMgJiYgcGF0dGVybnMubGVuZ3RoXCI+PG1hdC1pY29uIFtjbGFzcy5maWxsZWRdPVwicGF0dGVyblwiPmZpbHRlcl9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSAjb3B0aW9ucyB4UG9zaXRpb249XCJiZWZvcmVcIj5cclxuICAgIDwhLS0gcGF0dGVybnMgLS0+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHAgb2YgcGF0dGVybnNcIiAoY2xpY2spPVwiYWdncmVnYXRlKHApXCI+e3twLnRpdGxlfX08L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZXNldCgpXCIgW2Rpc2FibGVkXT1cIiFwYXR0ZXJuXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NsZWFyJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPG1hdC1pY29uPmNsZWFyX2FsbDwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPCEtLSBmaWx0ZXJzIC0tPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGYgb2YgZmlsdGVyc1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJmbWVudVwiPnt7dmFsdWVzW2YubmFtZV18IHR5cGVWYWx1ZSA6IGYuZGF0YVR5cGUgfCBhc3luY319IDxtYXQtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPG1hdC1tZW51ICNmbWVudSB4UG9zaXRpb249XCJiZWZvcmVcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBrdiBvZiBzb3VyY2VzW2YubmFtZV0gfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlcihmLm5hbWUsIGt2LmtleSwga3YudmFsdWUpXCI+XHJcbiAgICAgICAge3trdi52YWx1ZX19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9tYXQtdG9vbGJhcj5cclxuPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cInF1ZXJ5XCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGJpemRvYy1jdWJlLW1hdHJpeCBbY3ViZV09XCJjdWJlXCIgW3hBeGlzXT1cInhBeGlzXCIgW3Nlcmllc109XCJzZXJpZXNcIiBbaW5kaWNlc109XCJpbmRpY2VzXCIgW3N1bV09c3VtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJzXT1cImF4ZXNcIiAjbWF0cml4XHJcbiAgICAgICAgICAgICAgICAgICAgW3hBeGlzVG90YWxMYWJlbF09XCJ4QXhpc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZXJpZXNUb3RhbExhYmVsXT1cInNlcmllc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobG9hZGluZ0NoYW5nZSk9XCJsb2FkaW5nID0gJGV2ZW50XCIgKGV4cGxvcmUpPSdleHBsb3JlKCRldmVudCknPjwvYml6ZG9jLWN1YmUtbWF0cml4PlxyXG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL21hdHJpeC9tYXRyaXgucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFDekQscUJBQXFCO0lBQ3JCLFlBQ1UsS0FBdUMsRUFDdkMsT0FBb0IsRUFDcEIsVUFBNEIsRUFDcEMsT0FBb0IsRUFDcEIsRUFBcUIsRUFDckIsT0FBdUI7UUFDdkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFOcEIsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUt0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsTUFBTTtZQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFDRCxRQUFRLENBQUMsV0FBb0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3hCLFdBQVc7WUFDWCxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUc7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFtQjtRQUN6QixNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNwRCxXQUFXO1lBQ1gsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLFdBQVc7WUFDL0MsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7O29IQWxEVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2R0NuQnBDLHNnRUFrQ0E7MkZEZmEsdUJBQXVCO2tCQVBuQyxTQUFTOzJCQUdGO3dCQUNKLEtBQUssRUFBRSxNQUFNO3FCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgQXhlc01hcCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeEJhc2UgfSBmcm9tICcuL21hdHJpeC5iYXNlJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQgfSBmcm9tICcuLi9kZWNsYXJhdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tYXRyaXgucGFuZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncGFuZSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlTWF0cml4UGFuZUNvbXBvbmVudCBleHRlbmRzIEN1YmVNYXRyaXhCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogY3ViZS1pbmZvIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8Q3ViZU1hdHJpeFBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcixcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHNlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHNlcnZpY2UsIGRzLCBzZXNzaW9uKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5wYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICB0aGlzLmN1YmUgPSBwWydjdWJlJ107XHJcbiAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdNYXRyaXgnKTtcclxuICAgICAgdGhpcy5fcGFuZS5ncm91cCA9IHRoaXMuY29uZmlndXJhdGlvbi50aXRsZTtcclxuICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pY29uKVxyXG4gICAgICAgIHRoaXMuX3BhbmUuaWNvbiA9IHRoaXMuY29uZmlndXJhdGlvbi5pY29uO1xyXG4gICAgICB0aGlzLnhBeGlzID0gcFsneEF4aXMnXTtcclxuICAgICAgdGhpcy5zZXJpZXMgPSBwWydzZXJpZXMnXTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgdGhpcy5pbmRpY2VzID0gZFsnaW5kaWNlcyddO1xyXG4gICAgICAvKiogKi9cclxuICAgICAgdGhpcy5hZ2dyZWdhdGlvbiA9IGRbJ2FnZ3JlZ2F0ZSddO1xyXG4gICAgICB0aGlzLnN1bSA9IGRbJ3N1bSddO1xyXG4gICAgICB0aGlzLnBsYWNlQXQgPSBkWydwbGFjZUF0J107XHJcbiAgICAgIHRoaXMuaW5kZXhBdCA9IGRbJ2luZGV4QXQnXTtcclxuICAgICAgdGhpcy5zZWxlY3Rpb24gPSBkWydmaWx0ZXJzJ107XHJcbiAgICAgIHRoaXMueEF4aXNUb3RhbExhYmVsID0gZFsneEF4aXNUb3RhbExhYmVsJ107XHJcbiAgICAgIHRoaXMuc2VyaWVzVG90YWxMYWJlbCA9IGRbJ3Nlcmllc1RvdGFsTGFiZWwnXTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5xdWVyeVBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PlxyXG4gICAgICB0aGlzLm9yaWdpbmFsQXhlcyA9IHRoaXMuYXhlcyA9IHBcclxuICAgICk7XHJcbiAgfVxyXG4gIG9uRmlsdGVyKHF1ZXJ5UGFyYW1zOiBBeGVzTWFwKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW10sIHtcclxuICAgICAgcXVlcnlQYXJhbXMsXHJcbiAgICAgIHBvbGljeTogT3BlblBvbGljeS5UYWJcclxuICAgIH0pO1xyXG4gIH1cclxuICBleHBsb3JlKGV2dDogQXhpc0NsaWNrRXZlbnQpIHtcclxuICAgIGNvbnN0IHsgYXhlczogcXVlcnlQYXJhbXMsIGluZGV4IH0gPSBldnQ7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydjdWJlJywgdGhpcy5jdWJlLCAnZXhwbG9yZSddLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zLFxyXG4gICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiIHwgT3BlblBvbGljeS5EaXNtaXNzYWJsZSxcclxuICAgICAgc3RhdGU6IHsgaW5kZXggfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdG9vbGJhciBjbGFzcz1cIm5hdi10b29sYmFyXCI+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRhYmxlLnJlZnJlc2goKVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZWZyZXNoJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBtYXRBbmltYXRlPVwicm90YXRlXCI+YXV0b3JlbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYml6ZG9jVG9vbHRpcF09XCInRG93bmxvYWQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgIGRhdGEtaGVscD1cImRvd25sb2FkXCIgKGNsaWNrKT1cIm1hdHJpeC5leHBvcnQoKVwiPlxyXG4gICAgPG1hdC1pY29uPnNhdmVfYWx0PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNcIiAqbmdJZj1cInBhdHRlcm5zICYmIHBhdHRlcm5zLmxlbmd0aFwiPjxtYXQtaWNvbiBbY2xhc3MuZmlsbGVkXT1cInBhdHRlcm5cIj5maWx0ZXJfYWx0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI29wdGlvbnMgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgICA8IS0tIHBhdHRlcm5zIC0tPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBwIG9mIHBhdHRlcm5zXCIgKGNsaWNrKT1cImFnZ3JlZ2F0ZShwKVwiPnt7cC50aXRsZX19PC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVzZXQoKVwiIFtkaXNhYmxlZF09XCIhcGF0dGVyblwiIFtiaXpkb2NUb29sdGlwXT1cIidDbGVhcicgfCB0cmFuc2xhdGVcIj5cclxuICAgIDxtYXQtaWNvbj5jbGVhcl9hbGw8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDwhLS0gZmlsdGVycyAtLT5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmIG9mIGZpbHRlcnNcIj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZm1lbnVcIj57e3ZhbHVlc1tmLm5hbWVdfCB0eXBlVmFsdWUgOiBmLmRhdGFUeXBlIHwgYXN5bmN9fSA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxtYXQtbWVudSAjZm1lbnUgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQga3Ygb2Ygc291cmNlc1tmLm5hbWVdIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJmaWx0ZXIoZi5uYW1lLCBrdi5rZXksIGt2LnZhbHVlKVwiPlxyXG4gICAgICAgIHt7a3YudmFsdWV9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LW1lbnU+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJxdWVyeVwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImxvYWRpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjxiaXpkb2MtY3ViZS1tYXRyaXggW2N1YmVdPVwiY3ViZVwiIFt4QXhpc109XCJ4QXhpc1wiIFtzZXJpZXNdPVwic2VyaWVzXCIgW2luZGljZXNdPVwiaW5kaWNlc1wiIFtzdW1dPXN1bVxyXG4gICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJzXT1cImF4ZXNcIiAjbWF0cml4XHJcbiAgICAgICAgICAgICAgICAgICAgW3hBeGlzVG90YWxMYWJlbF09XCJ4QXhpc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZXJpZXNUb3RhbExhYmVsXT1cInNlcmllc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZUF0XT1cInBsYWNlQXRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbmRleEF0XT1cImluZGV4QXRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChsb2FkaW5nQ2hhbmdlKT1cImxvYWRpbmcgPSAkZXZlbnRcIiAoZXhwbG9yZSk9J2V4cGxvcmUoJGV2ZW50KSc+PC9iaXpkb2MtY3ViZS1tYXRyaXg+XHJcbiJdfQ==