@workflow/web-shared 5.0.0-beta.0 → 5.0.0-beta.10

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 (275) hide show
  1. package/README.md +1 -1
  2. package/dist/components/error-boundary.js +1 -1
  3. package/dist/components/event-list-view.d.ts +18 -1
  4. package/dist/components/event-list-view.d.ts.map +1 -1
  5. package/dist/components/event-list-view.js +242 -142
  6. package/dist/components/hook-actions.js +1 -1
  7. package/dist/components/index.d.ts +4 -1
  8. package/dist/components/index.d.ts.map +1 -1
  9. package/dist/components/index.js +5 -2
  10. package/dist/components/new-trace-viewer/components/copy-button.d.ts +9 -0
  11. package/dist/components/new-trace-viewer/components/copy-button.d.ts.map +1 -0
  12. package/dist/components/new-trace-viewer/components/copy-button.js +27 -0
  13. package/dist/components/new-trace-viewer/components/event-list.d.ts +10 -0
  14. package/dist/components/new-trace-viewer/components/event-list.d.ts.map +1 -0
  15. package/dist/components/new-trace-viewer/components/event-list.js +39 -0
  16. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.d.ts +18 -0
  17. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.d.ts.map +1 -0
  18. package/dist/components/new-trace-viewer/components/middle-truncate/copy-selection.js +54 -0
  19. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.d.ts +20 -0
  20. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.d.ts.map +1 -0
  21. package/dist/components/new-trace-viewer/components/middle-truncate/middle-truncate.js +81 -0
  22. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts +25 -0
  23. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.d.ts.map +1 -0
  24. package/dist/components/new-trace-viewer/components/middle-truncate/truncate.js +101 -0
  25. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.d.ts +20 -0
  26. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.d.ts.map +1 -0
  27. package/dist/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.js +114 -0
  28. package/dist/components/new-trace-viewer/components/split-pane.d.ts +14 -0
  29. package/dist/components/new-trace-viewer/components/split-pane.d.ts.map +1 -0
  30. package/dist/components/new-trace-viewer/components/split-pane.js +99 -0
  31. package/dist/components/new-trace-viewer/components/timeline.d.ts +34 -0
  32. package/dist/components/new-trace-viewer/components/timeline.d.ts.map +1 -0
  33. package/dist/components/new-trace-viewer/components/timeline.js +223 -0
  34. package/dist/components/new-trace-viewer/context.d.ts +15 -0
  35. package/dist/components/new-trace-viewer/context.d.ts.map +1 -0
  36. package/dist/components/new-trace-viewer/context.js +47 -0
  37. package/dist/components/new-trace-viewer/detail-panel.d.ts +10 -0
  38. package/dist/components/new-trace-viewer/detail-panel.d.ts.map +1 -0
  39. package/dist/components/new-trace-viewer/detail-panel.js +13 -0
  40. package/dist/components/new-trace-viewer/icons.d.ts +6 -0
  41. package/dist/components/new-trace-viewer/icons.d.ts.map +1 -0
  42. package/dist/components/new-trace-viewer/icons.js +15 -0
  43. package/dist/components/new-trace-viewer/search.d.ts +19 -0
  44. package/dist/components/new-trace-viewer/search.d.ts.map +1 -0
  45. package/dist/components/new-trace-viewer/search.js +134 -0
  46. package/dist/components/new-trace-viewer/trace-viewer.d.ts +8 -0
  47. package/dist/components/new-trace-viewer/trace-viewer.d.ts.map +1 -0
  48. package/dist/components/new-trace-viewer/trace-viewer.js +387 -0
  49. package/dist/components/new-trace-viewer/types.d.ts +1 -0
  50. package/dist/components/new-trace-viewer/types.d.ts.map +1 -0
  51. package/dist/components/new-trace-viewer/types.js +2 -0
  52. package/dist/components/new-trace-viewer/util/constants.d.ts +1 -0
  53. package/dist/components/new-trace-viewer/util/constants.d.ts.map +1 -0
  54. package/dist/components/new-trace-viewer/util/constants.js +2 -0
  55. package/dist/components/new-trace-viewer/utils.d.ts +46 -0
  56. package/dist/components/new-trace-viewer/utils.d.ts.map +1 -0
  57. package/dist/components/new-trace-viewer/utils.js +330 -0
  58. package/dist/components/run-trace-view.d.ts +2 -1
  59. package/dist/components/run-trace-view.d.ts.map +1 -1
  60. package/dist/components/run-trace-view.js +3 -3
  61. package/dist/components/sidebar/attribute-panel.d.ts +7 -1
  62. package/dist/components/sidebar/attribute-panel.d.ts.map +1 -1
  63. package/dist/components/sidebar/attribute-panel.js +131 -70
  64. package/dist/components/sidebar/conversation-view.js +1 -1
  65. package/dist/components/sidebar/copyable-data-block.d.ts +1 -0
  66. package/dist/components/sidebar/copyable-data-block.d.ts.map +1 -1
  67. package/dist/components/sidebar/copyable-data-block.js +16 -15
  68. package/dist/components/sidebar/detail-card.d.ts +5 -6
  69. package/dist/components/sidebar/detail-card.d.ts.map +1 -1
  70. package/dist/components/sidebar/detail-card.js +32 -16
  71. package/dist/components/sidebar/entity-detail-panel.d.ts +3 -1
  72. package/dist/components/sidebar/entity-detail-panel.d.ts.map +1 -1
  73. package/dist/components/sidebar/entity-detail-panel.js +20 -37
  74. package/dist/components/sidebar/events-list.d.ts +1 -1
  75. package/dist/components/sidebar/events-list.d.ts.map +1 -1
  76. package/dist/components/sidebar/events-list.js +46 -32
  77. package/dist/components/sidebar/resolve-hook-modal.js +1 -1
  78. package/dist/components/sidebar/sidebar-data-context.d.ts +29 -0
  79. package/dist/components/sidebar/sidebar-data-context.d.ts.map +1 -0
  80. package/dist/components/sidebar/sidebar-data-context.js +19 -0
  81. package/dist/components/stream-viewer.d.ts +1 -1
  82. package/dist/components/stream-viewer.d.ts.map +1 -1
  83. package/dist/components/stream-viewer.js +3 -27
  84. package/dist/components/trace-viewer/components/map.js +1 -1
  85. package/dist/components/trace-viewer/components/markers.js +1 -1
  86. package/dist/components/trace-viewer/components/node.js +1 -1
  87. package/dist/components/trace-viewer/components/search-input.js +1 -1
  88. package/dist/components/trace-viewer/components/search.js +1 -1
  89. package/dist/components/trace-viewer/components/span-content.js +1 -1
  90. package/dist/components/trace-viewer/components/span-detail-panel.js +1 -1
  91. package/dist/components/trace-viewer/components/span-segments.js +1 -1
  92. package/dist/components/trace-viewer/components/span-strategies.js +1 -1
  93. package/dist/components/trace-viewer/components/ui.js +1 -1
  94. package/dist/components/trace-viewer/components/zoom-button.js +1 -1
  95. package/dist/components/trace-viewer/components/zoom-icons.js +1 -1
  96. package/dist/components/trace-viewer/context.js +1 -1
  97. package/dist/components/trace-viewer/index.js +1 -1
  98. package/dist/components/trace-viewer/trace-viewer.js +1 -1
  99. package/dist/components/trace-viewer/types.js +1 -1
  100. package/dist/components/trace-viewer/util/constants.js +1 -1
  101. package/dist/components/trace-viewer/util/scrollbar-width.js +1 -1
  102. package/dist/components/trace-viewer/util/timing.d.ts +1 -1
  103. package/dist/components/trace-viewer/util/timing.d.ts.map +1 -1
  104. package/dist/components/trace-viewer/util/timing.js +6 -9
  105. package/dist/components/trace-viewer/util/tree.js +1 -1
  106. package/dist/components/trace-viewer/util/use-immediate-style.js +1 -1
  107. package/dist/components/trace-viewer/util/use-streaming-spans.js +1 -1
  108. package/dist/components/trace-viewer/util/use-trackpad-zoom.js +1 -1
  109. package/dist/components/trace-viewer/worker.js +1 -1
  110. package/dist/components/trace-viewer-new.d.ts +10 -0
  111. package/dist/components/trace-viewer-new.d.ts.map +1 -0
  112. package/dist/components/trace-viewer-new.js +23 -0
  113. package/dist/components/ui/alert.js +1 -1
  114. package/dist/components/ui/button.d.ts +10 -0
  115. package/dist/components/ui/button.d.ts.map +1 -0
  116. package/dist/components/ui/button.js +46 -0
  117. package/dist/components/ui/card.js +1 -1
  118. package/dist/components/ui/data-inspector.d.ts +39 -1
  119. package/dist/components/ui/data-inspector.d.ts.map +1 -1
  120. package/dist/components/ui/data-inspector.js +207 -22
  121. package/dist/components/ui/decrypt-button.js +1 -1
  122. package/dist/components/ui/error-card.js +1 -1
  123. package/dist/components/ui/error-stack-block.d.ts.map +1 -1
  124. package/dist/components/ui/error-stack-block.js +27 -19
  125. package/dist/components/ui/icon-button.d.ts +13 -0
  126. package/dist/components/ui/icon-button.d.ts.map +1 -0
  127. package/dist/components/ui/icon-button.js +29 -0
  128. package/dist/components/ui/inspector-theme.d.ts +9 -10
  129. package/dist/components/ui/inspector-theme.d.ts.map +1 -1
  130. package/dist/components/ui/inspector-theme.js +39 -72
  131. package/dist/components/ui/load-more-button.js +1 -1
  132. package/dist/components/ui/menu-dropdown.js +1 -1
  133. package/dist/components/ui/skeleton.js +1 -1
  134. package/dist/components/ui/spinner.js +1 -1
  135. package/dist/components/ui/timestamp-tooltip.js +1 -1
  136. package/dist/components/workflow-trace-view.d.ts +3 -1
  137. package/dist/components/workflow-trace-view.d.ts.map +1 -1
  138. package/dist/components/workflow-trace-view.js +10 -5
  139. package/dist/components/workflow-traces/event-colors.js +1 -1
  140. package/dist/components/workflow-traces/trace-colors.js +1 -1
  141. package/dist/components/workflow-traces/trace-span-construction.d.ts +2 -2
  142. package/dist/components/workflow-traces/trace-span-construction.d.ts.map +1 -1
  143. package/dist/components/workflow-traces/trace-span-construction.js +19 -6
  144. package/dist/components/workflow-traces/trace-time-utils.js +1 -1
  145. package/dist/hooks/use-dark-mode.js +1 -1
  146. package/dist/hooks/use-reduced-motion.d.ts +10 -0
  147. package/dist/hooks/use-reduced-motion.d.ts.map +1 -0
  148. package/dist/hooks/use-reduced-motion.js +29 -0
  149. package/dist/index.d.ts +3 -1
  150. package/dist/index.d.ts.map +1 -1
  151. package/dist/index.js +3 -2
  152. package/dist/lib/event-analysis.js +1 -1
  153. package/dist/lib/event-materialization.js +1 -1
  154. package/dist/lib/exact-event-search-id.d.ts +25 -0
  155. package/dist/lib/exact-event-search-id.d.ts.map +1 -0
  156. package/dist/lib/exact-event-search-id.js +39 -0
  157. package/dist/lib/hydration.d.ts +15 -2
  158. package/dist/lib/hydration.d.ts.map +1 -1
  159. package/dist/lib/hydration.js +168 -16
  160. package/dist/lib/stream-display.d.ts +18 -0
  161. package/dist/lib/stream-display.d.ts.map +1 -0
  162. package/dist/lib/stream-display.js +30 -0
  163. package/dist/lib/toast.js +1 -1
  164. package/dist/lib/trace-builder.d.ts.map +1 -1
  165. package/dist/lib/trace-builder.js +3 -2
  166. package/dist/lib/utils.d.ts +9 -9
  167. package/dist/lib/utils.d.ts.map +1 -1
  168. package/dist/lib/utils.js +27 -32
  169. package/dist/styles.css +475 -1
  170. package/package.json +6 -4
  171. package/src/components/event-list-view.tsx +447 -282
  172. package/src/components/index.ts +12 -1
  173. package/src/components/new-trace-viewer/components/copy-button.tsx +68 -0
  174. package/src/components/new-trace-viewer/components/event-list.tsx +127 -0
  175. package/src/components/new-trace-viewer/components/middle-truncate/copy-selection.ts +114 -0
  176. package/src/components/new-trace-viewer/components/middle-truncate/middle-truncate.tsx +157 -0
  177. package/src/components/new-trace-viewer/components/middle-truncate/truncate.ts +132 -0
  178. package/src/components/new-trace-viewer/components/middle-truncate/use-middle-truncate.ts +167 -0
  179. package/src/components/new-trace-viewer/components/split-pane.tsx +185 -0
  180. package/src/components/new-trace-viewer/components/timeline.tsx +552 -0
  181. package/src/components/new-trace-viewer/context.tsx +92 -0
  182. package/src/components/new-trace-viewer/detail-panel.tsx +55 -0
  183. package/src/components/new-trace-viewer/icons.tsx +79 -0
  184. package/src/components/new-trace-viewer/search.ts +178 -0
  185. package/src/components/new-trace-viewer/trace-viewer.tsx +694 -0
  186. package/src/components/new-trace-viewer/types.ts +0 -0
  187. package/src/components/new-trace-viewer/util/constants.ts +0 -0
  188. package/src/components/new-trace-viewer/utils.ts +482 -0
  189. package/src/components/run-trace-view.tsx +3 -0
  190. package/src/components/sidebar/attribute-panel.tsx +240 -196
  191. package/src/components/sidebar/copyable-data-block.tsx +49 -27
  192. package/src/components/sidebar/detail-card.tsx +119 -59
  193. package/src/components/sidebar/entity-detail-panel.tsx +92 -148
  194. package/src/components/sidebar/events-list.tsx +93 -108
  195. package/src/components/sidebar/sidebar-data-context.tsx +62 -0
  196. package/src/components/stream-viewer.tsx +18 -40
  197. package/src/components/trace-viewer/util/timing.ts +5 -9
  198. package/src/components/trace-viewer-new.tsx +49 -0
  199. package/src/components/ui/button.tsx +68 -0
  200. package/src/components/ui/data-inspector.tsx +427 -31
  201. package/src/components/ui/error-stack-block.tsx +39 -30
  202. package/src/components/ui/icon-button.tsx +57 -0
  203. package/src/components/ui/inspector-theme.ts +39 -81
  204. package/src/components/workflow-trace-view.tsx +12 -2
  205. package/src/components/workflow-traces/trace-span-construction.ts +24 -6
  206. package/src/hooks/use-reduced-motion.ts +34 -0
  207. package/src/index.ts +9 -0
  208. package/src/lib/exact-event-search-id.ts +67 -0
  209. package/src/lib/hydration.ts +182 -14
  210. package/src/lib/stream-display.ts +48 -0
  211. package/src/lib/trace-builder.ts +2 -1
  212. package/src/lib/utils.ts +27 -32
  213. package/src/styles.css +475 -1
  214. package/dist/components/error-boundary.js.map +0 -1
  215. package/dist/components/event-list-view.js.map +0 -1
  216. package/dist/components/hook-actions.js.map +0 -1
  217. package/dist/components/index.js.map +0 -1
  218. package/dist/components/run-trace-view.js.map +0 -1
  219. package/dist/components/sidebar/attribute-panel.js.map +0 -1
  220. package/dist/components/sidebar/conversation-view.js.map +0 -1
  221. package/dist/components/sidebar/copyable-data-block.js.map +0 -1
  222. package/dist/components/sidebar/detail-card.js.map +0 -1
  223. package/dist/components/sidebar/entity-detail-panel.js.map +0 -1
  224. package/dist/components/sidebar/events-list.js.map +0 -1
  225. package/dist/components/sidebar/resolve-hook-modal.js.map +0 -1
  226. package/dist/components/stream-viewer.js.map +0 -1
  227. package/dist/components/trace-viewer/components/map.js.map +0 -1
  228. package/dist/components/trace-viewer/components/markers.js.map +0 -1
  229. package/dist/components/trace-viewer/components/node.js.map +0 -1
  230. package/dist/components/trace-viewer/components/search-input.js.map +0 -1
  231. package/dist/components/trace-viewer/components/search.js.map +0 -1
  232. package/dist/components/trace-viewer/components/span-content.js.map +0 -1
  233. package/dist/components/trace-viewer/components/span-detail-panel.js.map +0 -1
  234. package/dist/components/trace-viewer/components/span-segments.js.map +0 -1
  235. package/dist/components/trace-viewer/components/span-strategies.js.map +0 -1
  236. package/dist/components/trace-viewer/components/ui.js.map +0 -1
  237. package/dist/components/trace-viewer/components/zoom-button.js.map +0 -1
  238. package/dist/components/trace-viewer/components/zoom-icons.js.map +0 -1
  239. package/dist/components/trace-viewer/context.js.map +0 -1
  240. package/dist/components/trace-viewer/index.js.map +0 -1
  241. package/dist/components/trace-viewer/trace-viewer.js.map +0 -1
  242. package/dist/components/trace-viewer/types.js.map +0 -1
  243. package/dist/components/trace-viewer/util/constants.js.map +0 -1
  244. package/dist/components/trace-viewer/util/scrollbar-width.js.map +0 -1
  245. package/dist/components/trace-viewer/util/timing.js.map +0 -1
  246. package/dist/components/trace-viewer/util/tree.js.map +0 -1
  247. package/dist/components/trace-viewer/util/use-immediate-style.js.map +0 -1
  248. package/dist/components/trace-viewer/util/use-streaming-spans.js.map +0 -1
  249. package/dist/components/trace-viewer/util/use-trackpad-zoom.js.map +0 -1
  250. package/dist/components/trace-viewer/worker.js.map +0 -1
  251. package/dist/components/ui/alert.js.map +0 -1
  252. package/dist/components/ui/card.js.map +0 -1
  253. package/dist/components/ui/data-inspector.js.map +0 -1
  254. package/dist/components/ui/decrypt-button.js.map +0 -1
  255. package/dist/components/ui/error-card.js.map +0 -1
  256. package/dist/components/ui/error-stack-block.js.map +0 -1
  257. package/dist/components/ui/inspector-theme.js.map +0 -1
  258. package/dist/components/ui/load-more-button.js.map +0 -1
  259. package/dist/components/ui/menu-dropdown.js.map +0 -1
  260. package/dist/components/ui/skeleton.js.map +0 -1
  261. package/dist/components/ui/spinner.js.map +0 -1
  262. package/dist/components/ui/timestamp-tooltip.js.map +0 -1
  263. package/dist/components/workflow-trace-view.js.map +0 -1
  264. package/dist/components/workflow-traces/event-colors.js.map +0 -1
  265. package/dist/components/workflow-traces/trace-colors.js.map +0 -1
  266. package/dist/components/workflow-traces/trace-span-construction.js.map +0 -1
  267. package/dist/components/workflow-traces/trace-time-utils.js.map +0 -1
  268. package/dist/hooks/use-dark-mode.js.map +0 -1
  269. package/dist/index.js.map +0 -1
  270. package/dist/lib/event-analysis.js.map +0 -1
  271. package/dist/lib/event-materialization.js.map +0 -1
  272. package/dist/lib/hydration.js.map +0 -1
  273. package/dist/lib/toast.js.map +0 -1
  274. package/dist/lib/trace-builder.js.map +0 -1
  275. package/dist/lib/utils.js.map +0 -1
@@ -282,4 +282,4 @@ export function PanelResizer() {
282
282
  }, [dispatch]);
283
283
  return (_jsx("div", { "aria-hidden": true, className: styles.spanDetailPanelResizer, onDoubleClick: onDoubleClick, onPointerDown: onPointerDown }));
284
284
  }
285
- //# sourceMappingURL=span-detail-panel.js.map
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhbi1kZXRhaWwtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmFjZS12aWV3ZXIvY29tcG9uZW50cy9zcGFuLWRldGFpbC1wYW5lbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUViLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUIsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsRUFDVCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFFBQVEsR0FDVCxNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFDTCxZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLGNBQWMsR0FDZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLE1BQU0sTUFBTSw0QkFBNEIsQ0FBQztBQVNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQy9DLE9BQU8sRUFDTCxVQUFVLEVBQ1YsZUFBZSxFQUNmLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsSUFBSSxFQUNKLElBQUksRUFDSixRQUFRLEdBQ1QsTUFBTSxNQUFNLENBQUM7QUFFZCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVMsRUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQWFyRSxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQVUsRUFBRTtJQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNWLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO1NBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsT0FBTyxDQUFDLENBQUM7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QUM7UUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQW1CLEVBQVEsRUFBRTtZQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDdkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDckMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLEdBQVMsRUFBRTtZQUM3QixVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEMsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN0RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRWxELE9BQU8sR0FBRyxFQUFFO1lBQ1YsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztJQUNKLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFFZixPQUFPLENBQ0wsbUNBRUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsRUFDeEMsYUFBYSxFQUFFLGFBQWEsRUFDNUIsYUFBYSxFQUFFLGFBQWEsR0FDNUIsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgY2xzeCB9IGZyb20gJ2Nsc3gnO1xuaW1wb3J0IHR5cGUgeyBQb2ludGVyRXZlbnRIYW5kbGVyLCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBGcmFnbWVudCxcbiAgbWVtbyxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgaW5pdGlhbFN0YXRlLFxuICB1c2VDdXN0b21QYW5lbENvbXBvbmVudCxcbiAgdXNlVHJhY2VWaWV3ZXIsXG59IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuLi90cmFjZS12aWV3ZXIubW9kdWxlLmNzcyc7XG5pbXBvcnQgdHlwZSB7XG4gIEdldFF1aWNrTGlua3MsXG4gIFF1aWNrTGlua1ZhbHVlLFxuICBSb290Tm9kZSxcbiAgU3BhbixcbiAgU3Bhbk5vZGUsXG4gIFRyYWNlTm9kZSxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZm9ybWF0RHVyYXRpb24gfSBmcm9tICcuLi91dGlsL3RpbWluZyc7XG5pbXBvcnQgeyBnZXRTcGFuQ29sb3JDbGFzc05hbWUgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHtcbiAgQnV0dG9uTGluayxcbiAgSWNvbkNoZXZyb25Eb3duLFxuICBJY29uQ3Jvc3MsXG4gIEljb25FeHRlcm5hbFNtYWxsLFxuICBMaW5rLFxuICBOb3RlLFxuICBTa2VsZXRvbixcbn0gZnJvbSAnLi91aSc7XG5cbmNvbnN0IHBlcmNlbnRhZ2UgPSAobjogbnVtYmVyKTogc3RyaW5nID0+IGAkeygxMDAgKiBuKS50b0ZpeGVkKDMpfSVgO1xuXG5pbnRlcmZhY2UgR3JvdXBlZEF0dHJpYnV0ZSB7XG4gIHByZWZpeDogc3RyaW5nO1xuICBhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXTtcbn1cblxuaW50ZXJmYWNlIEF0dHJpYnV0ZSB7XG4gIHN1ZmZpeDogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuY29uc3Qgc29ydFdvcmQgPSAoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xuICBpZiAoYSA8IGIpIHtcbiAgICByZXR1cm4gLTE7XG4gIH0gZWxzZSBpZiAoYSA+IGIpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuICByZXR1cm4gMDtcbn07XG5cbmNvbnN0IGdldEdyb3VwZWRBdHRyaWJ1dGVzID0gKFxuICBhdHRyaWJ1dGVzOiBTcGFuWydhdHRyaWJ1dGVzJ11cbik6IEdyb3VwZWRBdHRyaWJ1dGVbXSA9PiB7XG4gIC8vIEJ1aWxkIGdyb3VwcyBvZiBpdGVtcyB3aXRoIHRoZSBzYW1lIHByZWZpeFxuICBjb25zdCBncm91cHM6IFJlY29yZDxzdHJpbmcsIEdyb3VwZWRBdHRyaWJ1dGU+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZXMpKSB7XG4gICAgY29uc3QgZG90SW5kZXggPSBrZXkuaW5kZXhPZignLicpO1xuICAgIGxldCBwcmVmaXggPSAnJztcbiAgICBsZXQgc3VmZml4ID0gJyc7XG4gICAgaWYgKGRvdEluZGV4ICE9PSAtMSkge1xuICAgICAgcHJlZml4ID0ga2V5LnN1YnN0cmluZygwLCBkb3RJbmRleCk7XG4gICAgICBzdWZmaXggPSBrZXkuc3Vic3RyaW5nKGRvdEluZGV4ICsgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1ZmZpeCA9IGtleTtcbiAgICB9XG5cbiAgICBsZXQgZ3JvdXAgPSBncm91cHNbcHJlZml4XTtcbiAgICBpZiAoIWdyb3VwKSB7XG4gICAgICBncm91cCA9IHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICAgIH07XG4gICAgICBncm91cHNbcHJlZml4XSA9IGdyb3VwO1xuICAgIH1cbiAgICBncm91cC5hdHRyaWJ1dGVzLnB1c2goe1xuICAgICAga2V5LFxuICAgICAgc3VmZml4LFxuICAgICAgdmFsdWU6IFN0cmluZyh2YWx1ZSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBMaXN0IGFuZCBzb3J0IGV2ZXJ5dGhpbmdcbiAgY29uc3QgcmVzdWx0ID0gQXJyYXkuZnJvbShPYmplY3QudmFsdWVzKGdyb3VwcykpLnNvcnQoKGEsIGIpID0+XG4gICAgc29ydFdvcmQoYS5wcmVmaXgsIGIucHJlZml4KVxuICApO1xuICBmb3IgKGNvbnN0IGdyb3VwIG9mIHJlc3VsdCkge1xuICAgIGdyb3VwLmF0dHJpYnV0ZXMuc29ydCgoYSwgYikgPT4gc29ydFdvcmQoYS5zdWZmaXgsIGIuc3VmZml4KSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIGJpb21lLWlnbm9yZSBsaW50L2NvcnJlY3RuZXNzL25vVW51c2VkRnVuY3Rpb25QYXJhbWV0ZXJzOiBpZ25vcmVkIHVzaW5nIGAtLXN1cHByZXNzYFxuY29uc3QgZ2V0QW5jZXN0b3JzID0gKF9yb290OiBSb290Tm9kZSwgc3RhcnQ6IFNwYW5Ob2RlIHwgbnVsbCk6IFNwYW5Ob2RlW10gPT4ge1xuICBjb25zdCByZXN1bHQ6IFNwYW5Ob2RlW10gPSBbXTtcblxuICBpZiAoIXN0YXJ0KSByZXR1cm4gcmVzdWx0O1xuXG4gIGZvciAobGV0IG5vZGU6IFRyYWNlTm9kZSA9IHN0YXJ0OyAncGFyZW50JyBpbiBub2RlOyBub2RlID0gbm9kZS5wYXJlbnQpIHtcbiAgICByZXN1bHQudW5zaGlmdChub2RlKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgU3BhbkRldGFpbFBhbmVsQm9keSA9ICgpID0+IHtcbiAgY29uc3Qge1xuICAgIHN0YXRlOiB7IHJvb3QsIHNlbGVjdGVkLCByZXNvdXJjZU1hcCwgZ2V0UXVpY2tMaW5rcyB9LFxuICAgIGRpc3BhdGNoLFxuICB9ID0gdXNlVHJhY2VWaWV3ZXIoKTtcblxuICBjb25zdCBhbmNlc3RvcnMgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldEFuY2VzdG9ycyhyb290LCBzZWxlY3RlZCksXG4gICAgW3Jvb3QsIHNlbGVjdGVkXVxuICApO1xuXG4gIGNvbnN0IGF0dHJpYnV0ZUdyb3VwcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZ2V0R3JvdXBlZEF0dHJpYnV0ZXMoc2VsZWN0ZWQ/LnNwYW4uYXR0cmlidXRlcyA/PyB7fSksXG4gICAgW3NlbGVjdGVkXVxuICApO1xuXG4gIGNvbnN0IHJlc291cmNlQXR0cmlidXRlR3JvdXBzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcmVzb3VyY2VOYW1lID0gc2VsZWN0ZWQ/LnNwYW4ucmVzb3VyY2U7XG4gICAgaWYgKCFyZXNvdXJjZU5hbWUpIHJldHVybiBbXTtcbiAgICBjb25zdCByZXNvdXJjZUF0dHJpYnV0ZXMgPSByZXNvdXJjZU1hcFtyZXNvdXJjZU5hbWVdO1xuICAgIGlmICghcmVzb3VyY2VBdHRyaWJ1dGVzKSByZXR1cm4gW107XG4gICAgcmV0dXJuIGdldEdyb3VwZWRBdHRyaWJ1dGVzKHJlc291cmNlQXR0cmlidXRlcyk7XG4gIH0sIFtyZXNvdXJjZU1hcCwgc2VsZWN0ZWRdKTtcblxuICBpZiAoIXNlbGVjdGVkKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB7IHNwYW4gfSA9IHNlbGVjdGVkO1xuXG4gIGNvbnN0IGlzRW50cnlTcGFuID0gZGV0ZWN0SXNFbnRyeVNwYW4oc2VsZWN0ZWQpO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtzZWxlY3RlZC5pc1ZlcmNlbCA/IDxJbmZyYVNwYW5EZXNjcmlwdGlvbiBub2RlPXtzZWxlY3RlZH0gLz4gOiBudWxsfVxuICAgICAge3NlbGVjdGVkLmlzSW5zdHJ1bWVudGF0aW9uSGludCA/IDxJbnN0cnVtZW50YXRpb25IaW50IC8+IDogbnVsbH1cbiAgICAgIHshc2VsZWN0ZWQuaXNJbnN0cnVtZW50YXRpb25IaW50ICYmIGFuY2VzdG9ycy5sZW5ndGggPyAoXG4gICAgICAgIDxEZXRhaWxHcm91cCBjbGFzc05hbWU9e3N0eWxlcy5hbmNlc3Rvckdyb3VwfSBuYW1lPVwiTG9jYXRpb25cIj5cbiAgICAgICAgICB7YW5jZXN0b3JzLm1hcCgobm9kZSkgPT4gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5hbmNlc3Rvck5vZGV9XG4gICAgICAgICAgICAgIGtleT17YCR7c2VsZWN0ZWQuc3Bhbi5zcGFuSWR9LiR7bm9kZS5zcGFuLnNwYW5JZH1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuc3Bhbi5zcGFuSWQsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5hbmNlc3RvclRleHR9PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3R5bGVzLmFuY2VzdG9yTmFtZX0+XG4gICAgICAgICAgICAgICAgICB7bm9kZS5sYWJlbCB8fCBub2RlLnNwYW4ubmFtZX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXMuYW5jZXN0b3JEdXJhdGlvbn0+XG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0RHVyYXRpb24obm9kZS5kdXJhdGlvbil9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW4gY2xhc3NOYW1lPXtzdHlsZXMuYW5jZXN0b3JMaW5lQ29udGFpbmVyfT5cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICAgICAgICBzdHlsZXMuYW5jZXN0b3JMaW5lLFxuICAgICAgICAgICAgICAgICAgICBnZXRTcGFuQ29sb3JDbGFzc05hbWUobm9kZSlcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKFxuICAgICAgICAgICAgICAgICAgICAgIChub2RlLnN0YXJ0VGltZSAtIHJvb3Quc3RhcnRUaW1lKSAvIHJvb3QuZHVyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2Uobm9kZS5kdXJhdGlvbiAvIHJvb3QuZHVyYXRpb24pLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9EZXRhaWxHcm91cD5cbiAgICAgICkgOiBudWxsfVxuICAgICAge2lzRW50cnlTcGFuID8gKFxuICAgICAgICA8RW50cnlTcGFuTGlua3MgZ2V0UXVpY2tMaW5rcz17Z2V0UXVpY2tMaW5rc30gc3Bhbj17c2VsZWN0ZWQuc3Bhbn0gLz5cbiAgICAgICkgOiBudWxsfVxuICAgICAge3NlbGVjdGVkLmV2ZW50cz8ubGVuZ3RoID8gKFxuICAgICAgICA8RGV0YWlsR3JvdXAgbmFtZT1cIkV2ZW50c1wiPlxuICAgICAgICAgIHtzZWxlY3RlZC5ldmVudHMubWFwKChldmVudCkgPT4gKFxuICAgICAgICAgICAgPEZyYWdtZW50IGtleT17ZXZlbnQua2V5fT5cbiAgICAgICAgICAgICAgPGRsIGNsYXNzTmFtZT17c3R5bGVzLnNwYW5EZXRhaWxQYW5lbEF0dHJpYnV0ZX0+XG4gICAgICAgICAgICAgICAgPGR0IGNsYXNzTmFtZT17c3R5bGVzLnNwYW5EZXRhaWxQYW5lbEF0dHJpYnV0ZUtleX0+XG4gICAgICAgICAgICAgICAgICB7ZXZlbnQuZXZlbnQubmFtZX1cbiAgICAgICAgICAgICAgICA8L2R0PlxuICAgICAgICAgICAgICAgIDxkZCBjbGFzc05hbWU9e3N0eWxlcy5zcGFuRGV0YWlsUGFuZWxBdHRyaWJ1dGVWYWx1ZX0+XG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0RHVyYXRpb24oZXZlbnQudGltZXN0YW1wIC0gcm9vdC5zdGFydFRpbWUpfVxuICAgICAgICAgICAgICAgIDwvZGQ+XG4gICAgICAgICAgICAgIDwvZGw+XG4gICAgICAgICAgICAgIHtPYmplY3QuZW50cmllcyhldmVudC5ldmVudC5hdHRyaWJ1dGVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKFxuICAgICAgICAgICAgICAgIDxEZXRhaWxMaW5lXG4gICAgICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2Ake2V2ZW50LmV2ZW50Lm5hbWV9LiR7a2V5fWB9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L0RldGFpbEdyb3VwPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7YXR0cmlidXRlR3JvdXBzLmxlbmd0aCA/IChcbiAgICAgICAgPERldGFpbEdyb3VwIG5hbWU9XCJBdHRyaWJ1dGVzXCI+XG4gICAgICAgICAge2F0dHJpYnV0ZUdyb3Vwcy5tYXAoKGdyb3VwKSA9PiAoXG4gICAgICAgICAgICA8RnJhZ21lbnQga2V5PXtncm91cC5wcmVmaXh9PlxuICAgICAgICAgICAgICB7Z3JvdXAuYXR0cmlidXRlcy5tYXAoKHsga2V5LCB2YWx1ZSB9KSA9PiAoXG4gICAgICAgICAgICAgICAgPERldGFpbExpbmUga2V5PXtrZXl9IG5hbWU9e2tleX0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvRGV0YWlsR3JvdXA+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHtyZXNvdXJjZUF0dHJpYnV0ZUdyb3Vwcy5sZW5ndGggPyAoXG4gICAgICAgIDxEZXRhaWxHcm91cCBuYW1lPVwiUmVzb3VyY2VcIj5cbiAgICAgICAgICB7cmVzb3VyY2VBdHRyaWJ1dGVHcm91cHMubWFwKChncm91cCkgPT4gKFxuICAgICAgICAgICAgPEZyYWdtZW50IGtleT17Z3JvdXAucHJlZml4fT5cbiAgICAgICAgICAgICAge2dyb3VwLmF0dHJpYnV0ZXMubWFwKCh7IGtleSwgdmFsdWUgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxEZXRhaWxMaW5lIGtleT17a2V5fSBuYW1lPXtrZXl9IHZhbHVlPXt2YWx1ZX0gLz5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L0RldGFpbEdyb3VwPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7c2VsZWN0ZWQuaXNJbnN0cnVtZW50YXRpb25IaW50ID8gbnVsbCA6IChcbiAgICAgICAgPERldGFpbEdyb3VwIG5hbWU9XCJMaWJyYXJ5XCI+XG4gICAgICAgICAgPERldGFpbExpbmUgbmFtZT1cIm5hbWVcIiB2YWx1ZT17c3Bhbi5saWJyYXJ5Lm5hbWV9IC8+XG4gICAgICAgICAge3NwYW4ubGlicmFyeS52ZXJzaW9uID8gKFxuICAgICAgICAgICAgPERldGFpbExpbmUgbmFtZT1cInZlcnNpb25cIiB2YWx1ZT17c3Bhbi5saWJyYXJ5LnZlcnNpb259IC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvRGV0YWlsR3JvdXA+XG4gICAgICApfVxuICAgIDwvPlxuICApO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIFNwYW5EZXRhaWxQYW5lbCh7XG4gIGF0dGFjaGVkID0gZmFsc2UsXG59OiB7XG4gIGF0dGFjaGVkPzogYm9vbGVhbjtcbn0pOiBSZWFjdE5vZGUge1xuICBjb25zdCB7XG4gICAgc3RhdGU6IHsgc2VsZWN0ZWQsIGlzTW9iaWxlIH0sXG4gICAgZGlzcGF0Y2gsXG4gIH0gPSB1c2VUcmFjZVZpZXdlcigpO1xuICBjb25zdCBjdXN0b21QYW5lbENvbXBvbmVudCA9IHVzZUN1c3RvbVBhbmVsQ29tcG9uZW50KCk7XG5cbiAgaWYgKCFzZWxlY3RlZCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgeyBzcGFuIH0gPSBzZWxlY3RlZDtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbHN4KHN0eWxlcy5zcGFuRGV0YWlsUGFuZWwsIGlzTW9iaWxlICYmIHN0eWxlcy5tb2JpbGUpfT5cbiAgICAgIHthdHRhY2hlZCAmJiAhaXNNb2JpbGUgPyA8UGFuZWxSZXNpemVyIC8+IDogbnVsbH1cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuc3BhbkRldGFpbFBhbmVsVG9wfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5zcGFuRGV0YWlsUGFuZWxUb3BJbmZvfT5cbiAgICAgICAgICB7LyogTmFtZS9JRCBmaXJzdCAqL31cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlcy5zcGFuRGV0YWlsUGFuZWxOYW1lfSB0aXRsZT17c3Bhbi5uYW1lfT5cbiAgICAgICAgICAgIHtzcGFuLm5hbWV9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIHsvKiBSaWdodCBzaWRlOiBkdXJhdGlvbiBiYWRnZSwgc2VwYXJhdG9yLCBjbG9zZSAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnNwYW5EZXRhaWxQYW5lbENvcm5lcn0+XG4gICAgICAgICAgICB7c2VsZWN0ZWQuaXNJbnN0cnVtZW50YXRpb25IaW50ID8gbnVsbCA6IChcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtzdHlsZXMuc3BhbkRldGFpbFBhbmVsRHVyYXRpb259PlxuICAgICAgICAgICAgICAgIHtmb3JtYXREdXJhdGlvbihzZWxlY3RlZC5kdXJhdGlvbil9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnNwYW5EZXRhaWxQYW5lbENsb3NlVmVydGljYWxSdWxlfSAvPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgU3BhbiBEZXRhaWxzXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuc3BhbkRldGFpbFBhbmVsQ2xvc2V9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2Rlc2VsZWN0JyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SWNvbkNyb3NzIGNvbG9yPVwiZ3JheS03MDBcIiBzaXplPXsyMH0gLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Nsc3goJ2ZsZXggZ2FwLTMnLCBzdHlsZXMuc3BhbkRldGFpbFBhbmVsQm9keSl9PlxuICAgICAgICB7Y3VzdG9tUGFuZWxDb21wb25lbnQgfHwgPFNwYW5EZXRhaWxQYW5lbEJvZHkgLz59XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuY29uc3QgRVhQQU5ERURfU1RPUkFHRV9LRVlfUFJFRklYID0gJ3ZjLXRyYWNlLXNwYW4tZXhwOic7XG5cbmZ1bmN0aW9uIERldGFpbEdyb3VwKHtcbiAgbmFtZSxcbiAgY2xhc3NOYW1lID0gJycsXG4gIGNoaWxkcmVuLFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn0pOiBSZWFjdE5vZGUge1xuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgaWYgKCEoJ2xvY2FsU3RvcmFnZScgaW4gZ2xvYmFsVGhpcykpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiAoXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShgJHtFWFBBTkRFRF9TVE9SQUdFX0tFWV9QUkVGSVh9JHtuYW1lfWApICE9PSAnMCdcbiAgICApO1xuICB9KTtcblxuICBjb25zdCB0b2dnbGVFeHBhbmRlZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc0V4cGFuZGVkKCh4KSA9PiB7XG4gICAgICBjb25zdCB3aWxsQmVFeHBhbmRlZCA9ICF4O1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgIGAke0VYUEFOREVEX1NUT1JBR0VfS0VZX1BSRUZJWH0ke25hbWV9YCxcbiAgICAgICAgU3RyaW5nKE51bWJlcih3aWxsQmVFeHBhbmRlZCkpXG4gICAgICApO1xuICAgICAgcmV0dXJuIHdpbGxCZUV4cGFuZGVkO1xuICAgIH0pO1xuICB9LCBbbmFtZV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICBzdHlsZXMuZGV0YWlsR3JvdXAsXG4gICAgICAgIGlzRXhwYW5kZWQgPyBzdHlsZXMuZXhwYW5kZWQgOiBzdHlsZXMuY29sbGFwc2VkLFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlcy5kZXRhaWxIZWFkaW5nfVxuICAgICAgICBvbkNsaWNrPXt0b2dnbGVFeHBhbmRlZH1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuPntuYW1lfTwvc3Bhbj5cbiAgICAgICAgPEljb25DaGV2cm9uRG93biAvPlxuICAgICAgPC9idXR0b24+XG4gICAgICB7aXNFeHBhbmRlZCA/IGNoaWxkcmVuIDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuY29uc3QgQ29tbW9uSHR0cFZlcmJzID0gbmV3IFNldChbXG4gICdPUFRJT05TJyxcbiAgJ0hFQUQnLFxuICAnR0VUJyxcbiAgJ1BVVCcsXG4gICdQT1NUJyxcbiAgJ0RFTEVURScsXG5dKTtcbmNvbnN0IEtub3duU3BhbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICdSZXNvbHZlIERlcGxveW1lbnQnOiBgSG93IGxvbmcgaXQgdG9vayBWZXJjZWwncyByb3V0aW5nIGxheWVyIHRvIHJldHJpZXZlIGRldGFpbHMgZm9yIHRoZSBkZXBsb3ltZW50LmAsXG4gICdSZXNvbHZlIENhY2hlJzogYEhvdyBsb25nIGl0IHRvb2sgVmVyY2VsJ3Mgcm91dGluZyBsYXllciB0byBjaGVjayBmb3IgYSBjYWNoZWQgZnVuY3Rpb24gaW52b2NhdGlvbi5gLFxuICAnUmVzb2x2ZSBSb3V0ZSc6IGBIb3cgbG9uZyBpdCB0b29rIFZlcmNlbCdzIHJvdXRpbmcgbGF5ZXIgdG8gcmVzb2x2ZSByb3V0aW5nIHJ1bGVzLCBpbmNsdWRpbmcgcmVkaXJlY3RzIGFuZCByZXdyaXRlcy5gLFxuICAnSW52b2tlIE1pZGRsZXdhcmUnOiBgSG93IGxvbmcgaXQgdG9vayB0aGlzIG1pZGRsZXdhcmUgdG8gc3RhcnQgYW5kIHJ1biB1c2VyIGNvZGUuYCxcbiAgJ0ludm9rZSBGdW5jdGlvbic6IGBIb3cgbG9uZyBpdCB0b29rIHRoaXMgVmVyY2VsIEZ1bmN0aW9uIHRvIHN0YXJ0IGFuZCBydW4gdXNlciBjb2RlLmAsXG4gIHdhaXRVbnRpbDogYEhvdyBsb25nIGl0IHRvb2sgdG8gcnVuIHVzZXIgY29kZSBpbnNpZGUgb2Ygd2FpdFVudGlsLmAsXG4gICdTdGFydCBWTSc6IGBIb3cgbG9uZyBpdCB0b29rIHRvIHN0YXJ0IHRoZSBWaXJ0dWFsIE1hY2hpbmUgd2hpY2ggY29udGFpbnMgdGhlIFZlcmNlbCBGdW5jdGlvbi5gLFxuICAnU3Bhd24gTm9kZS5qcyc6IGBIb3cgbG9uZyBpdCB0b29rIHRoZSBWaXJ0dWFsIE1hY2hpbmUgdG8gc3RhcnQgdGhlIE5vZGUuanMgcnVudGltZS5gLFxuICAnU3Bhd24gUHl0aG9uJzogYEhvdyBsb25nIGl0IHRvb2sgdGhlIFZpcnR1YWwgTWFjaGluZSB0byBzdGFydCB0aGUgUHl0aG9uIHJ1bnRpbWUuYCxcbiAgJ0luaXQgVXNlciBDb2RlJzogYEhvdyBsb25nIGl0IHRvb2sgdG8gaW1wb3J0IHRoZSB1c2VyIGNvZGUgYW5kIHJ1biBhbnkgZ2xvYmFsbHktc2NvcGVkIGNvZGUuYCxcbn07XG5cbmNvbnN0IENvbGRTdGFydFNwYW5OYW1lcyA9IG5ldyBTZXQoW1xuICAnU3RhcnQgVk0nLFxuICAnU3Bhd24gTm9kZS5qcycsXG4gICdTcGF3biBQeXRob24nLFxuICAnSW5pdCBVc2VyIENvZGUnLFxuXSk7XG5cbmNvbnN0IGdldFJlZ2lvbiA9IChcbiAgbm9kZTogU3Bhbk5vZGUgfCBSb290Tm9kZSB8IG51bGwgfCB1bmRlZmluZWRcbik6IHN0cmluZyB8IG51bGwgPT4ge1xuICBpZiAoIW5vZGUgfHwgISgnc3BhbicgaW4gbm9kZSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGF0dHIgPSBub2RlLnNwYW4uYXR0cmlidXRlcztcbiAgY29uc3QgcmVnaW9uID0gYXR0clsndmVyY2VsLnJlZ2lvbiddIHx8IGF0dHJbJ3ZlcmNlbC5mdW5jdGlvbi5yZWdpb24nXTtcbiAgaWYgKHJlZ2lvbikgcmV0dXJuIFN0cmluZyhyZWdpb24pO1xuICByZXR1cm4gbnVsbDtcbn07XG5cbmNvbnN0IGdldE5vdGUgPSAobm9kZTogU3Bhbk5vZGUpOiBSZWFjdE5vZGUgPT4ge1xuICBjb25zdCB7IG5hbWUgfSA9IG5vZGUuc3BhbjtcbiAgY29uc3QgcmVnaW9uID0gZ2V0UmVnaW9uKG5vZGUpO1xuICBjb25zdCBwYXJlbnRSZWdpb24gPSBnZXRSZWdpb24obm9kZS5wYXJlbnQpO1xuXG4gIGlmIChub2RlLnNwYW4uYXR0cmlidXRlc1sndmVyY2VsLm1pZGRsZXdhcmUuaW50ZXJuYWwnXSA9PT0gJ3RydWUnKSB7XG4gICAgcmV0dXJuICdUaGUgVmVyY2VsIFRvb2xiYXIgY3JlYXRlZCB0aGlzIG1pZGRsZXdhcmUuJztcbiAgfSBlbHNlIGlmIChcbiAgICBDb2xkU3RhcnRTcGFuTmFtZXMuaGFzKG5hbWUpIHx8XG4gICAgKG5hbWUgPT09ICdJbnZva2UgRnVuY3Rpb24nICYmXG4gICAgICBub2RlLmNoaWxkcmVuLnNvbWUoKHgpID0+IENvbGRTdGFydFNwYW5OYW1lcy5oYXMoeC5zcGFuLm5hbWUpKSlcbiAgKSB7XG4gICAgcmV0dXJuICdUaGlzIGZ1bmN0aW9uIGVuY291bnRlcmVkIGEgY29sZCBzdGFydC4nO1xuICB9IGVsc2UgaWYgKHJlZ2lvbiAmJiBwYXJlbnRSZWdpb24gJiYgcmVnaW9uICE9PSBwYXJlbnRSZWdpb24pIHtcbiAgICByZXR1cm4gJ1RoaXMgcmVxdWVzdCB3YXMgcm91dGVkIGFjcm9zcyByZWdpb25zLic7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG5cbmNvbnN0IGRldGVjdElzRW50cnlTcGFuID0gKG5vZGU6IFNwYW5Ob2RlKTogYm9vbGVhbiA9PiB7XG4gIGlmICghbm9kZS5pc1ZlcmNlbCkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCB7IG5hbWUgfSA9IG5vZGUuc3BhbjtcbiAgY29uc3Qgc3BhY2VJbmRleCA9IG5hbWUuaW5kZXhPZignICcpO1xuICBpZiAoc3BhY2VJbmRleCA9PT0gLTEpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgZmlyc3RXb3JkID0gbmFtZS5zdWJzdHJpbmcoMCwgc3BhY2VJbmRleCk7XG4gIHJldHVybiBDb21tb25IdHRwVmVyYnMuaGFzKGZpcnN0V29yZCk7XG59O1xuXG5mdW5jdGlvbiBJbmZyYVNwYW5EZXNjcmlwdGlvbih7IG5vZGUgfTogeyBub2RlOiBTcGFuTm9kZSB9KTogUmVhY3ROb2RlIHtcbiAgY29uc3QgeyBuYW1lIH0gPSBub2RlLnNwYW47XG4gIGxldCBkZXNjcmlwdGlvbiA9IEtub3duU3BhbnNbbmFtZV07XG5cbiAgaWYgKCFkZXNjcmlwdGlvbiAmJiBkZXRlY3RJc0VudHJ5U3Bhbihub2RlKSkge1xuICAgIGRlc2NyaXB0aW9uID0gYEhvdyBsb25nIGl0IHRvb2sgZm9yIFZlcmNlbCB0byBwcm9jZXNzIHRoZSByZXF1ZXN0IGFuZCBzZW5kIHRoZSByZXNwb25zZS5gO1xuICB9XG5cbiAgaWYgKCFkZXNjcmlwdGlvbikgcmV0dXJuIG51bGw7XG5cbiAgY29uc3Qgbm90ZSA9IGdldE5vdGUobm9kZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RGV0YWlsR3JvdXAgbmFtZT1cIldoYXQgaXMgdGhpcz9cIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaW5mcmFTcGFuRGVzY3JpcHRpb259PlxuICAgICAgICA8c3Bhbj57ZGVzY3JpcHRpb259PC9zcGFuPlxuICAgICAgICB7bm90ZSA/IDxOb3RlPntub3RlfTwvTm90ZT4gOiBub3RlfVxuICAgICAgPC9kaXY+XG4gICAgPC9EZXRhaWxHcm91cD5cbiAgKTtcbn1cblxuY29uc3QgRW50cnlTcGFuTGlua3MgPSBtZW1vKGZ1bmN0aW9uIEVudHJ5U3BhbkxpbmtzKHtcbiAgZ2V0UXVpY2tMaW5rcyxcbiAgc3Bhbixcbn06IHtcbiAgZ2V0UXVpY2tMaW5rczogR2V0UXVpY2tMaW5rcztcbiAgc3BhbjogU3Bhbjtcbn0pOiBSZWFjdE5vZGUge1xuICBjb25zdCBsaW5rcyA9IGdldFF1aWNrTGlua3Moc3Bhbik7XG5cbiAgaWYgKCFsaW5rcy5sZW5ndGgpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPERldGFpbEdyb3VwIG5hbWU9XCJMaW5rc1wiPlxuICAgICAge2xpbmtzLm1hcCgoeyBrZXksIHZhbHVlIH0pID0+IChcbiAgICAgICAgPEVudHJ5U3Bhbkxpbmsga2V5PXtrZXl9IGxpbms9e3ZhbHVlfSBuYW1lPXtrZXl9IC8+XG4gICAgICApKX1cbiAgICA8L0RldGFpbEdyb3VwPlxuICApO1xufSk7XG5cbmludGVyZmFjZSBSZXNvbHZhYmxlUHJvbWlzZTxUPiBleHRlbmRzIFByb21pc2U8VD4ge1xuICBfX3Jlc29sdmVkVmFsdWU/OiBUO1xuICBfX3JlamVjdGVkVmFsdWU/OiB1bmtub3duO1xufVxuXG5mdW5jdGlvbiB1c2VQcm9taXNlPFQ+KHByb21pc2U6IFJlc29sdmFibGVQcm9taXNlPFQ+KTogVCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IFtfLCBzZXRMYXRlc3RdID0gdXNlU3RhdGUoe30pO1xuICBjb25zdCBmdWxmaWxsZWQgPVxuICAgIHByb21pc2UuX19yZXNvbHZlZFZhbHVlICE9PSB1bmRlZmluZWQgfHxcbiAgICBwcm9taXNlLl9fcmVqZWN0ZWRWYWx1ZSAhPT0gdW5kZWZpbmVkO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChmdWxmaWxsZWQpIHJldHVybjtcblxuICAgIHByb21pc2VcbiAgICAgIC50aGVuKCh2YWx1ZSkgPT4ge1xuICAgICAgICBwcm9taXNlLl9fcmVzb2x2ZWRWYWx1ZSA9IHZhbHVlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgIHByb21pc2UuX19yZWplY3RlZFZhbHVlID0gZXJyO1xuICAgICAgfSlcbiAgICAgIC5maW5hbGx5KCgpID0+IHNldExhdGVzdCh7fSkpO1xuICB9LCBbcHJvbWlzZSwgZnVsZmlsbGVkXSk7XG5cbiAgcmV0dXJuIHByb21pc2UuX19yZXNvbHZlZFZhbHVlO1xufVxuXG5mdW5jdGlvbiBFbnRyeVNwYW5MaW5rKHtcbiAgbmFtZSxcbiAgbGluazogbGlua1Byb21pc2UsXG59OiB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGluazogUHJvbWlzZTxRdWlja0xpbmtWYWx1ZT47XG59KTogUmVhY3ROb2RlIHtcbiAgY29uc3QgbGluayA9IHVzZVByb21pc2UobGlua1Byb21pc2UpO1xuXG4gIHJldHVybiAoXG4gICAgPExpbmtcbiAgICAgIGFzPXtsaW5rID8gdW5kZWZpbmVkIDogJ3NwYW4nfVxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICBzdHlsZXMuc3BhbkRldGFpbFBhbmVsQXR0cmlidXRlLFxuICAgICAgICBzdHlsZXMuc3BhbkRldGFpbFBhbmVsUXVpY2tMaW5rXG4gICAgICApfVxuICAgICAgaHJlZj17bGluaz8uaHJlZiB8fCAnJ31cbiAgICA+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9e3N0eWxlcy5zcGFuRGV0YWlsUGFuZWxBdHRyaWJ1dGVLZXl9PntuYW1lfTwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICBzdHlsZXMuc3BhbkRldGFpbFBhbmVsQXR0cmlidXRlVmFsdWUsXG4gICAgICAgICAgc3R5bGVzLnNwYW5EZXRhaWxQYW5lbFF1aWNrTGlua0xhYmVsXG4gICAgICAgICl9XG4gICAgICA+XG4gICAgICAgIHtsaW5rID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7bGluay5sYWJlbH1cbiAgICAgICAgICAgIHtsaW5rLmljb24gfHwgPEljb25FeHRlcm5hbFNtYWxsIGNvbG9yPVwiZ3JheS05MDBcIiAvPn1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNrZWxldG9uIGhlaWdodD17MTh9IHdpZHRoPXszMiArIG5hbWUubGVuZ3RoICogOH0gLz5cbiAgICAgICAgICAgIDxTa2VsZXRvbiBoZWlnaHQ9ezE4fSByb3VuZGVkIHdpZHRoPXsxOH0gLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L0xpbms+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEluc3RydW1lbnRhdGlvbkhpbnQoKTogUmVhY3ROb2RlIHtcbiAgcmV0dXJuIChcbiAgICA8RGV0YWlsR3JvdXAgbmFtZT1cIldoYXQgaXMgdGhpcz9cIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaW5mcmFTcGFuRGVzY3JpcHRpb259PlxuICAgICAgICA8c3Bhbj57YFlvdSBjYW4gdmlzdWFsaXplIHlvdXIgYXBwbGljYXRpb24ncyBzcGFucyBhbG9uZ3NpZGUgVmVyY2VsJ3Mgc3BhbnMgaW4gdGhpcyB2aWV3ZXIuYH08L3NwYW4+XG4gICAgICAgIDxCdXR0b25MaW5rXG4gICAgICAgICAgaHJlZj1cImh0dHBzOi8vdmVyY2VsLmNvbS9kb2NzL3Nlc3Npb24tdHJhY2luZyNhZGRpbmctY3VzdG9tLXNwYW5zXCJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgID5cbiAgICAgICAgICBHZXQgU3RhcnRlZFxuICAgICAgICA8L0J1dHRvbkxpbms+XG4gICAgICA8L2Rpdj5cbiAgICA8L0RldGFpbEdyb3VwPlxuICApO1xufVxuXG5mdW5jdGlvbiBEZXRhaWxMaW5lKHtcbiAgbmFtZSxcbiAgdmFsdWUsXG59OiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IHVua25vd247XG59KTogUmVhY3ROb2RlIHtcbiAgcmV0dXJuIChcbiAgICA8ZGwgY2xhc3NOYW1lPXtzdHlsZXMuc3BhbkRldGFpbFBhbmVsQXR0cmlidXRlfT5cbiAgICAgIDxkdCBjbGFzc05hbWU9e3N0eWxlcy5zcGFuRGV0YWlsUGFuZWxBdHRyaWJ1dGVLZXl9PntuYW1lfTwvZHQ+XG4gICAgICA8ZGRcbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuc3BhbkRldGFpbFBhbmVsQXR0cmlidXRlVmFsdWV9XG4gICAgICAgIHRpdGxlPXtTdHJpbmcodmFsdWUpfVxuICAgICAgPlxuICAgICAgICB7U3RyaW5nKHZhbHVlKX1cbiAgICAgIDwvZGQ+XG4gICAgPC9kbD5cbiAgKTtcbn1cblxuaW50ZXJmYWNlIFJlc2l6ZUdlc3R1cmVSZWYge1xuICBzdGFydDoge1xuICAgIHg6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICB9O1xuICB4OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGlzSGVsZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNpemVyIGNvbXBvbmVudCBmb3IgdGhlIHRyYWNlIHZpZXdlciBwYW5lbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFBhbmVsUmVzaXplcigpOiBSZWFjdE5vZGUge1xuICBjb25zdCB7XG4gICAgc3RhdGU6IHsgcGFuZWxXaWR0aCB9LFxuICAgIGRpc3BhdGNoLFxuICB9ID0gdXNlVHJhY2VWaWV3ZXIoKTtcbiAgY29uc3QgZ2VzdHVyZVJlZiA9IHVzZVJlZjxSZXNpemVHZXN0dXJlUmVmPih7XG4gICAgc3RhcnQ6IHtcbiAgICAgIHg6IDAsXG4gICAgICB3aWR0aDogcGFuZWxXaWR0aCxcbiAgICB9LFxuICAgIHg6IDAsXG4gICAgd2lkdGg6IHBhbmVsV2lkdGgsXG4gICAgaXNIZWxkOiBmYWxzZSxcbiAgfSk7XG4gIGdlc3R1cmVSZWYuY3VycmVudC53aWR0aCA9IHBhbmVsV2lkdGg7XG5cbiAgY29uc3Qgb25Qb2ludGVyRG93biA9IHVzZUNhbGxiYWNrPFBvaW50ZXJFdmVudEhhbmRsZXI+KChldmVudCkgPT4ge1xuICAgIGlmIChldmVudC5wb2ludGVyVHlwZSAhPT0gJ21vdXNlJykgcmV0dXJuO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgZyA9IGdlc3R1cmVSZWYuY3VycmVudDtcbiAgICBnLnN0YXJ0LnggPSBldmVudC5jbGllbnRYO1xuICAgIGcueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgZy5zdGFydC53aWR0aCA9IGcud2lkdGg7XG4gICAgZy5pc0hlbGQgPSB0cnVlO1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgb25Eb3VibGVDbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiAnc2V0UGFuZWxXaWR0aCcsXG4gICAgICB3aWR0aDogaW5pdGlhbFN0YXRlLnBhbmVsV2lkdGgsXG4gICAgfSk7XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IG5leHRGcmFtZSA9IDA7XG4gICAgY29uc3Qgb25GcmFtZSA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IGcgPSBnZXN0dXJlUmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCB3aWR0aCA9IGcuc3RhcnQud2lkdGggKyBnLnN0YXJ0LnggLSBnLng7XG4gICAgICBkaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6ICdzZXRQYW5lbFdpZHRoJyxcbiAgICAgICAgd2lkdGgsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3Qgb25Qb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBpZiAoIWdlc3R1cmVSZWYuY3VycmVudC5pc0hlbGQpIHJldHVybjtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBnZXN0dXJlUmVmLmN1cnJlbnQueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShuZXh0RnJhbWUpO1xuICAgICAgbmV4dEZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKG9uRnJhbWUpO1xuICAgIH07XG4gICAgY29uc3Qgb25Qb2ludGVyVXAgPSAoKTogdm9pZCA9PiB7XG4gICAgICBnZXN0dXJlUmVmLmN1cnJlbnQuaXNIZWxkID0gZmFsc2U7XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIG9uUG9pbnRlck1vdmUpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCBvblBvaW50ZXJVcCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJtb3ZlJywgb25Qb2ludGVyTW92ZSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgb25Qb2ludGVyVXApO1xuICAgIH07XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgYXJpYS1oaWRkZW5cbiAgICAgIGNsYXNzTmFtZT17c3R5bGVzLnNwYW5EZXRhaWxQYW5lbFJlc2l6ZXJ9XG4gICAgICBvbkRvdWJsZUNsaWNrPXtvbkRvdWJsZUNsaWNrfVxuICAgICAgb25Qb2ludGVyRG93bj17b25Qb2ludGVyRG93bn1cbiAgICAvPlxuICApO1xufVxuIl19
@@ -442,4 +442,4 @@ export function computeSegments(resourceType, node) {
442
442
  return { segments: [], boundaries: [] };
443
443
  }
444
444
  }
445
- //# sourceMappingURL=span-segments.js.map
445
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhbi1zZWdtZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyYWNlLXZpZXdlci9jb21wb25lbnRzL3NwYW4tc2VnbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbURBLDZFQUE2RTtBQUM3RSw2REFBNkQ7QUFDN0QsNkVBQTZFO0FBRTdFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQztJQUM5RCxNQUFNLEVBQUUsV0FBVztJQUNuQixPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsV0FBVztJQUNuQixRQUFRLEVBQUUsYUFBYTtJQUN2QixTQUFTLEVBQUUsY0FBYztJQUN6QixPQUFPLEVBQUUsWUFBWTtJQUNyQixRQUFRLEVBQUUsYUFBYTtJQUN2QixRQUFRLEVBQUUsYUFBYTtDQUN4QixDQUFDO0FBRUYsNkVBQTZFO0FBQzdFLFVBQVU7QUFDViw2RUFBNkU7QUFFN0UsU0FBUyxhQUFhLENBQUMsS0FBYTtJQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixJQUFZLEVBQ1osU0FBaUIsRUFDakIsWUFBb0I7SUFFcEIsSUFBSSxZQUFZLElBQUksQ0FBQztRQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sYUFBYSxDQUFDLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsWUFBWSxDQUFDLE1BQXVCO0lBQzNDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FB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YixnQkFBZ0I7aUJBQ2pCLENBQUM7YUFDSCxDQUFDO1FBQ0osS0FBSyxNQUFNO1lBQ1QsT0FBTztnQkFDTCxRQUFRLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxFQUFFO29CQUNsQyxjQUFjO29CQUNkLGVBQWU7b0JBQ2YsZUFBZTtpQkFDaEIsQ0FBQzthQUNILENBQUM7UUFDSixLQUFLLE9BQU87WUFDVixPQUFPO2dCQUNMLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQzthQUN4RSxDQUFDO1FBQ0osS0FBSyxLQUFLO1lBQ1IsT0FBTztnQkFDTCxRQUFRLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDO2dCQUNsQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQ3JFLENBQUM7UUFDSjtZQUNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3Bhbk5vZGUsIFNwYW5Ob2RlRXZlbnQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFJlc291cmNlVHlwZSB9IGZyb20gJy4vc3Bhbi1zdHJhdGVnaWVzJztcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTZWdtZW50IHR5cGVzXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBWaXN1YWwgc3RhdHVzIG9mIGEgc2VnbWVudCB3aXRoaW4gYSBzcGFuIGJhci5cbiAqXG4gKiAtIHF1ZXVlZDogICAgIFdhaXRpbmcgdG8gc3RhcnQgKGhhdGNoZWQgcGF0dGVybilcbiAqIC0gcnVubmluZzogICAgQWN0aXZlbHkgZXhlY3V0aW5nIChzb2xpZCBibHVlKVxuICogLSBmYWlsZWQ6ICAgICBBdHRlbXB0IHRoYXQgZW5kZWQgaW4gZmFpbHVyZSAoc29mdCByZWQpXG4gKiAtIHJldHJ5aW5nOiAgIFdhaXRpbmcgYmV0d2VlbiByZXRyeSBhdHRlbXB0cyAoaGF0Y2hlZCBwYXR0ZXJuKVxuICogLSBzdWNjZWVkZWQ6ICBGaW5hbCBzdWNjZXNzZnVsIGF0dGVtcHQgKHNvZnQgZ3JlZW4pXG4gKiAtIHdhaXRpbmc6ICAgIFBhc3NpdmUgd2FpdGluZywgZS5nLiBob29rIHdhaXRpbmcgZm9yIHBheWxvYWQgKGhhdGNoZWQgcGF0dGVybilcbiAqIC0gc2xlZXBpbmc6ICAgU2xlZXAgaW4gcHJvZ3Jlc3MgKHNvZnQgYW1iZXIpXG4gKiAtIHJlY2VpdmVkOiAgIEhvb2sgcmVjZWl2ZWQgYSBwYXlsb2FkIChzb2Z0IGJsdWUpXG4gKi9cbmV4cG9ydCB0eXBlIFNlZ21lbnRTdGF0dXMgPVxuICB8ICdxdWV1ZWQnXG4gIHwgJ3J1bm5pbmcnXG4gIHwgJ2ZhaWxlZCdcbiAgfCAncmV0cnlpbmcnXG4gIHwgJ3N1Y2NlZWRlZCdcbiAgfCAnd2FpdGluZydcbiAgfCAnc2xlZXBpbmcnXG4gIHwgJ3JlY2VpdmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWdtZW50IHtcbiAgLyoqIEZyYWN0aW9uIG9mIHNwYW4gd2lkdGggd2hlcmUgdGhpcyBzZWdtZW50IHN0YXJ0cyAoMOKAkzEpICovXG4gIHN0YXJ0RnJhY3Rpb246IG51bWJlcjtcbiAgLyoqIEZyYWN0aW9uIG9mIHNwYW4gd2lkdGggd2hlcmUgdGhpcyBzZWdtZW50IGVuZHMgKDDigJMxKSAqL1xuICBlbmRGcmFjdGlvbjogbnVtYmVyO1xuICAvKiogVmlzdWFsIHN0YXR1cyBjb250cm9sbGluZyBjb2xvci9wYXR0ZXJuICovXG4gIHN0YXR1czogU2VnbWVudFN0YXR1cztcbn1cblxuLyoqXG4gKiBBIGJvdW5kYXJ5IGJldHdlZW4gdHdvIHNlZ21lbnRzLCByZXByZXNlbnRpbmcgYW4gZXZlbnQgdGhhdCBjYXVzZWRcbiAqIGEgdHJhbnNpdGlvbi4gUmVuZGVyZWQgYXMgYSBob3ZlcmFibGUgZGl2aWRlciB3aXRoIGEgdG9vbHRpcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWdtZW50Qm91bmRhcnkge1xuICAvKiogRnJhY3Rpb25hbCBwb3NpdGlvbiBhbG9uZyB0aGUgc3BhbiAoMOKAkzEpICovXG4gIGZyYWN0aW9uOiBudW1iZXI7XG4gIC8qKiBEaXNwbGF5IGxhYmVsIGZvciB0aGUgdG9vbHRpcCAoZS5nLiBcInN0ZXBfc3RhcnRlZFwiKSAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogRm9ybWF0dGVkIHRpbWVzdGFtcCByZWxhdGl2ZSB0byBzcGFuIHN0YXJ0ICovXG4gIG9mZnNldE1zOiBudW1iZXI7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQ1NTIGNsYXNzIG1hcHBpbmcgKHNlZ21lbnQgc3RhdHVzIOKGkiBtb2R1bGUgQ1NTIGNsYXNzIG5hbWUpXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBNYXBzIGEgU2VnbWVudFN0YXR1cyB0byB0aGUgQ1NTIG1vZHVsZSBjbGFzcyBuYW1lIHRvIHVzZS5cbiAqIFRoZXNlIGNsYXNzIG5hbWVzIG11c3QgZXhpc3QgaW4gdHJhY2Utdmlld2VyLm1vZHVsZS5jc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBTRUdNRU5UX0NMQVNTX01BUDogUmVjb3JkPFNlZ21lbnRTdGF0dXMsIHN0cmluZz4gPSB7XG4gIHF1ZXVlZDogJ3NlZ1F1ZXVlZCcsXG4gIHJ1bm5pbmc6ICdzZWdSdW5uaW5nJyxcbiAgZmFpbGVkOiAnc2VnRmFpbGVkJyxcbiAgcmV0cnlpbmc6ICdzZWdSZXRyeWluZycsXG4gIHN1Y2NlZWRlZDogJ3NlZ1N1Y2NlZWRlZCcsXG4gIHdhaXRpbmc6ICdzZWdXYWl0aW5nJyxcbiAgc2xlZXBpbmc6ICdzZWdTbGVlcGluZycsXG4gIHJlY2VpdmVkOiAnc2VnUmVjZWl2ZWQnLFxufTtcblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBIZWxwZXJzXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuZnVuY3Rpb24gY2xhbXBGcmFjdGlvbih2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEsIHZhbHVlKSk7XG59XG5cbmZ1bmN0aW9uIHRpbWVUb0ZyYWN0aW9uKFxuICB0aW1lOiBudW1iZXIsXG4gIHNwYW5TdGFydDogbnVtYmVyLFxuICBzcGFuRHVyYXRpb246IG51bWJlclxuKTogbnVtYmVyIHtcbiAgaWYgKHNwYW5EdXJhdGlvbiA8PSAwKSByZXR1cm4gMDtcbiAgcmV0dXJuIGNsYW1wRnJhY3Rpb24oKHRpbWUgLSBzcGFuU3RhcnQpIC8gc3BhbkR1cmF0aW9uKTtcbn1cblxuLyoqXG4gKiBTb3J0IGV2ZW50cyBieSB0aW1lc3RhbXAgYXNjZW5kaW5nLlxuICovXG5mdW5jdGlvbiBzb3J0ZWRFdmVudHMoZXZlbnRzOiBTcGFuTm9kZUV2ZW50W10pOiBTcGFuTm9kZUV2ZW50W10ge1xuICByZXR1cm4gWy4uLmV2ZW50c10uc29ydCgoYSwgYikgPT4gYS50aW1lc3RhbXAgLSBiLnRpbWVzdGFtcCk7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU3RlcCBzZWdtZW50c1xuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogQ29tcHV0ZSBzZWdtZW50cyBmb3IgYSBzdGVwIHNwYW4uXG4gKlxuICogVGltZWxpbmU6IFtxdWV1ZWRdIOKGkiBbYXR0ZW1wdOKCgSAoZmFpbCldIOKGkiBbcmV0cnkgd2FpdF0g4oaSIFthdHRlbXB04oKCIChmYWlsKV0g4oaSIC4uLiDihpIgW2F0dGVtcHTigpkgKHN1Y2Nlc3MpXVxuICpcbiAqIEV2ZW50cyB1c2VkOiBzdGVwX3N0YXJ0ZWQsIHN0ZXBfcmV0cnlpbmcsIHN0ZXBfZmFpbGVkLCBzdGVwX2NvbXBsZXRlZFxuICogVGhlIGZpbmFsIHNlZ21lbnQgaXMgJ3N1Y2NlZWRlZCcgaWYgbm8gdHJhaWxpbmcgc3RlcF9yZXRyeWluZy9zdGVwX2ZhaWxlZC5cbiAqL1xuZnVuY3Rpb24gY29tcHV0ZVN0ZXBTZWdtZW50cyhub2RlOiBTcGFuTm9kZSk6IFNlZ21lbnRbXSB7XG4gIGNvbnN0IGV2ZW50cyA9IG5vZGUuZXZlbnRzID8gc29ydGVkRXZlbnRzKG5vZGUuZXZlbnRzKSA6IFtdO1xuICBjb25zdCB7IHN0YXJ0VGltZSwgZHVyYXRpb24gfSA9IG5vZGU7XG4gIGNvbnN0IHNlZ21lbnRzOiBTZWdtZW50W10gPSBbXTtcblxuICBpZiAoZHVyYXRpb24gPD0gMCkgcmV0dXJuIHNlZ21lbnRzO1xuXG4gIC8vIEJ1aWxkIGEgdGltZWxpbmUgb2YgZXZlbnQgYm91bmRhcmllc1xuICBpbnRlcmZhY2UgRXZlbnRNYXJrIHtcbiAgICB0aW1lOiBudW1iZXI7XG4gICAgdHlwZTogc3RyaW5nO1xuICB9XG4gIGNvbnN0IG1hcmtzOiBFdmVudE1hcmtbXSA9IGV2ZW50c1xuICAgIC5maWx0ZXIoKGUpID0+XG4gICAgICBbXG4gICAgICAgICdzdGVwX3N0YXJ0ZWQnLFxuICAgICAgICAnc3RlcF9yZXRyeWluZycsXG4gICAgICAgICdzdGVwX2ZhaWxlZCcsXG4gICAgICAgICdzdGVwX2NvbXBsZXRlZCcsXG4gICAgICBdLmluY2x1ZGVzKGUuZXZlbnQubmFtZSlcbiAgICApXG4gICAgLm1hcCgoZSkgPT4gKHsgdGltZTogZS50aW1lc3RhbXAsIHR5cGU6IGUuZXZlbnQubmFtZSB9KSk7XG5cbiAgaWYgKG1hcmtzLmxlbmd0aCA9PT0gMCkge1xuICAgIC8vIE5vIGV2ZW50cyDigJQgc2hvdyBlbnRpcmUgc3BhbiBhcyBydW5uaW5nXG4gICAgc2VnbWVudHMucHVzaCh7IHN0YXJ0RnJhY3Rpb246IDAsIGVuZEZyYWN0aW9uOiAxLCBzdGF0dXM6ICdydW5uaW5nJyB9KTtcbiAgICByZXR1cm4gc2VnbWVudHM7XG4gIH1cblxuICAvLyBRdWV1ZWQgcGVyaW9kOiBmcm9tIHNwYW4gc3RhcnQgdG8gZmlyc3QgZXZlbnRcbiAgY29uc3QgZmlyc3RNYXJrID0gbWFya3NbMF07XG4gIGNvbnN0IGZpcnN0RnJhY3Rpb24gPSB0aW1lVG9GcmFjdGlvbihmaXJzdE1hcmsudGltZSwgc3RhcnRUaW1lLCBkdXJhdGlvbik7XG4gIGlmIChmaXJzdEZyYWN0aW9uID4gMC4wMDEpIHtcbiAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgIHN0YXJ0RnJhY3Rpb246IDAsXG4gICAgICBlbmRGcmFjdGlvbjogZmlyc3RGcmFjdGlvbixcbiAgICAgIHN0YXR1czogJ3F1ZXVlZCcsXG4gICAgfSk7XG4gIH1cblxuICAvLyBXYWxrIHRocm91Z2ggZXZlbnRzIHRvIGJ1aWxkIGF0dGVtcHQvcmV0cnkgc2VnbWVudHNcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXJrcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG1hcmsgPSBtYXJrc1tpXTtcbiAgICBjb25zdCBtYXJrRnJhY3Rpb24gPSB0aW1lVG9GcmFjdGlvbihtYXJrLnRpbWUsIHN0YXJ0VGltZSwgZHVyYXRpb24pO1xuICAgIGNvbnN0IG5leHRNYXJrID0gbWFya3NbaSArIDFdO1xuICAgIGNvbnN0IG5leHRGcmFjdGlvbiA9IG5leHRNYXJrXG4gICAgICA/IHRpbWVUb0ZyYWN0aW9uKG5leHRNYXJrLnRpbWUsIHN0YXJ0VGltZSwgZHVyYXRpb24pXG4gICAgICA6IDE7XG5cbiAgICBpZiAobWFyay50eXBlID09PSAnc3RlcF9zdGFydGVkJykge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgc3RhcnQgb2YgYW4gZXhlY3V0aW9uIGF0dGVtcHQuXG4gICAgICAvLyBJdCBydW5zIHVudGlsIHRoZSBuZXh0IGV2ZW50IChzdGVwX3JldHJ5aW5nIG9yIHN0ZXBfZmFpbGVkKSBvciBlbmQgb2Ygc3Bhbi5cbiAgICAgIGNvbnN0IGlzTGFzdE1hcmsgPSBpID09PSBtYXJrcy5sZW5ndGggLSAxO1xuICAgICAgaWYgKGlzTGFzdE1hcmspIHtcbiAgICAgICAgLy8gTGFzdCBldmVudCBpcyBzdGVwX3N0YXJ0ZWQg4oCUIHRoaXMgYXR0ZW1wdCBpcyBlaXRoZXIgc3RpbGwgcnVubmluZyBvciBzdWNjZWVkZWRcbiAgICAgICAgc2VnbWVudHMucHVzaCh7XG4gICAgICAgICAgc3RhcnRGcmFjdGlvbjogbWFya0ZyYWN0aW9uLFxuICAgICAgICAgIGVuZEZyYWN0aW9uOiAxLFxuICAgICAgICAgIHN0YXR1czogJ3N1Y2NlZWRlZCcsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQXR0ZW1wdCBydW5zIHVudGlsIHRoZSBuZXh0IGV2ZW50XG4gICAgICAgIGNvbnN0IG5leHRUeXBlID0gbmV4dE1hcmsudHlwZTtcbiAgICAgICAgY29uc3QgYXR0ZW1wdFN0YXR1czogU2VnbWVudFN0YXR1cyA9XG4gICAgICAgICAgbmV4dFR5cGUgPT09ICdzdGVwX3JldHJ5aW5nJyB8fCBuZXh0VHlwZSA9PT0gJ3N0ZXBfZmFpbGVkJ1xuICAgICAgICAgICAgPyAnZmFpbGVkJ1xuICAgICAgICAgICAgOiBuZXh0VHlwZSA9PT0gJ3N0ZXBfY29tcGxldGVkJ1xuICAgICAgICAgICAgICA/ICdzdWNjZWVkZWQnXG4gICAgICAgICAgICAgIDogJ3J1bm5pbmcnO1xuICAgICAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgICAgICBzdGFydEZyYWN0aW9uOiBtYXJrRnJhY3Rpb24sXG4gICAgICAgICAgZW5kRnJhY3Rpb246IG5leHRGcmFjdGlvbixcbiAgICAgICAgICBzdGF0dXM6IGF0dGVtcHRTdGF0dXMsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobWFyay50eXBlID09PSAnc3RlcF9yZXRyeWluZycpIHtcbiAgICAgIC8vIFJldHJ5IHdhaXQ6IGZyb20gdGhpcyBldmVudCB0byB0aGUgbmV4dCBzdGVwX3N0YXJ0ZWQgKG9yIGVuZClcbiAgICAgIHNlZ21lbnRzLnB1c2goe1xuICAgICAgICBzdGFydEZyYWN0aW9uOiBtYXJrRnJhY3Rpb24sXG4gICAgICAgIGVuZEZyYWN0aW9uOiBuZXh0RnJhY3Rpb24sXG4gICAgICAgIHN0YXR1czogJ3JldHJ5aW5nJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAobWFyay50eXBlID09PSAnc3RlcF9mYWlsZWQnKSB7XG4gICAgICAvLyBUZXJtaW5hbCBmYWlsdXJlOiBmcm9tIHRoaXMgZXZlbnQgdG8gdGhlIGVuZFxuICAgICAgaWYgKG1hcmtGcmFjdGlvbiA8IDAuOTk5KSB7XG4gICAgICAgIHNlZ21lbnRzLnB1c2goe1xuICAgICAgICAgIHN0YXJ0RnJhY3Rpb246IG1hcmtGcmFjdGlvbixcbiAgICAgICAgICBlbmRGcmFjdGlvbjogMSxcbiAgICAgICAgICBzdGF0dXM6ICdmYWlsZWQnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG1hcmsudHlwZSA9PT0gJ3N0ZXBfY29tcGxldGVkJykge1xuICAgICAgLy8gVGVybWluYWwgc3VjY2VzczogZG8gbm90aGluZyBoZXJlIHNpbmNlIHRoZSBwcmVjZWRpbmcgc3RlcF9zdGFydGVkXG4gICAgICAvLyBzZWdtZW50IGFscmVhZHkgdGVybWluYXRlcyBhdCB0aGlzIG1hcmtlci5cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc2VnbWVudHM7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gSG9vayBzZWdtZW50c1xuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogQ29tcHV0ZSBzZWdtZW50cyBmb3IgYSBob29rIHNwYW4uXG4gKlxuICogVGltZWxpbmU6IFt3YWl0aW5nXSDihpIgW3JlY2VpdmVkXSDihpIgW2Rpc3Bvc2VkXVxuICovXG5mdW5jdGlvbiBjb21wdXRlSG9va1NlZ21lbnRzKG5vZGU6IFNwYW5Ob2RlKTogU2VnbWVudFtdIHtcbiAgY29uc3QgZXZlbnRzID0gbm9kZS5ldmVudHMgPyBzb3J0ZWRFdmVudHMobm9kZS5ldmVudHMpIDogW107XG4gIGNvbnN0IHsgc3RhcnRUaW1lLCBkdXJhdGlvbiB9ID0gbm9kZTtcbiAgY29uc3Qgc2VnbWVudHM6IFNlZ21lbnRbXSA9IFtdO1xuXG4gIGlmIChkdXJhdGlvbiA8PSAwKSByZXR1cm4gc2VnbWVudHM7XG5cbiAgY29uc3QgcmVjZWl2ZWRFdmVudCA9IGV2ZW50cy5maW5kKChlKSA9PiBlLmV2ZW50Lm5hbWUgPT09ICdob29rX3JlY2VpdmVkJyk7XG4gIGNvbnN0IGRpc3Bvc2VkRXZlbnQgPSBldmVudHMuZmluZCgoZSkgPT4gZS5ldmVudC5uYW1lID09PSAnaG9va19kaXNwb3NlZCcpO1xuXG4gIGlmICghcmVjZWl2ZWRFdmVudCAmJiAhZGlzcG9zZWRFdmVudCkge1xuICAgIC8vIFN0aWxsIHdhaXRpbmdcbiAgICBzZWdtZW50cy5wdXNoKHsgc3RhcnRGcmFjdGlvbjogMCwgZW5kRnJhY3Rpb246IDEsIHN0YXR1czogJ3dhaXRpbmcnIH0pO1xuICAgIHJldHVybiBzZWdtZW50cztcbiAgfVxuXG4gIGNvbnN0IHJlY2VpdmVkRnJhY3Rpb24gPSByZWNlaXZlZEV2ZW50XG4gICAgPyB0aW1lVG9GcmFjdGlvbihyZWNlaXZlZEV2ZW50LnRpbWVzdGFtcCwgc3RhcnRUaW1lLCBkdXJhdGlvbilcbiAgICA6IG51bGw7XG4gIGNvbnN0IGRpc3Bvc2VkRnJhY3Rpb24gPSBkaXNwb3NlZEV2ZW50XG4gICAgPyB0aW1lVG9GcmFjdGlvbihkaXNwb3NlZEV2ZW50LnRpbWVzdGFtcCwgc3RhcnRUaW1lLCBkdXJhdGlvbilcbiAgICA6IG51bGw7XG5cbiAgLy8gV2FpdGluZyBwZXJpb2QgKGJlZm9yZSByZWNlaXZlZClcbiAgaWYgKHJlY2VpdmVkRnJhY3Rpb24gIT09IG51bGwgJiYgcmVjZWl2ZWRGcmFjdGlvbiA+IDAuMDAxKSB7XG4gICAgc2VnbWVudHMucHVzaCh7XG4gICAgICBzdGFydEZyYWN0aW9uOiAwLFxuICAgICAgZW5kRnJhY3Rpb246IHJlY2VpdmVkRnJhY3Rpb24sXG4gICAgICBzdGF0dXM6ICd3YWl0aW5nJyxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChyZWNlaXZlZEZyYWN0aW9uID09PSBudWxsICYmIGRpc3Bvc2VkRnJhY3Rpb24gIT09IG51bGwpIHtcbiAgICAvLyBEaXNwb3NlZCB3aXRob3V0IHJlY2VpdmluZyDigJQgd2FpdGluZyB0aGUgd2hvbGUgdGltZVxuICAgIHNlZ21lbnRzLnB1c2goe1xuICAgICAgc3RhcnRGcmFjdGlvbjogMCxcbiAgICAgIGVuZEZyYWN0aW9uOiBkaXNwb3NlZEZyYWN0aW9uLFxuICAgICAgc3RhdHVzOiAnd2FpdGluZycsXG4gICAgfSk7XG4gIH1cblxuICAvLyBSZWNlaXZlZCBwZXJpb2RcbiAgaWYgKHJlY2VpdmVkRnJhY3Rpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBlbmQgPSBkaXNwb3NlZEZyYWN0aW9uID8/IDE7XG4gICAgc2VnbWVudHMucHVzaCh7XG4gICAgICBzdGFydEZyYWN0aW9uOiByZWNlaXZlZEZyYWN0aW9uLFxuICAgICAgZW5kRnJhY3Rpb246IGVuZCxcbiAgICAgIHN0YXR1czogJ3JlY2VpdmVkJyxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFBvc3QtZGlzcG9zZWQgKGlmIHRoZXJlJ3MgcmVtYWluaW5nIHNwYW4gYWZ0ZXIgZGlzcG9zYWwpXG4gIGlmIChkaXNwb3NlZEZyYWN0aW9uICE9PSBudWxsICYmIGRpc3Bvc2VkRnJhY3Rpb24gPCAwLjk5OSkge1xuICAgIHNlZ21lbnRzLnB1c2goe1xuICAgICAgc3RhcnRGcmFjdGlvbjogZGlzcG9zZWRGcmFjdGlvbixcbiAgICAgIGVuZEZyYWN0aW9uOiAxLFxuICAgICAgc3RhdHVzOiAnc3VjY2VlZGVkJyxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBzZWdtZW50cztcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTbGVlcCBzZWdtZW50c1xuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogQ29tcHV0ZSBzZWdtZW50cyBmb3IgYSBzbGVlcCBzcGFuLlxuICpcbiAqIFRpbWVsaW5lOiBbc2xlZXBpbmddIOKGkiBbY29tcGxldGVkXVxuICovXG5mdW5jdGlvbiBjb21wdXRlU2xlZXBTZWdtZW50cyhub2RlOiBTcGFuTm9kZSk6IFNlZ21lbnRbXSB7XG4gIGNvbnN0IGV2ZW50cyA9IG5vZGUuZXZlbnRzID8gc29ydGVkRXZlbnRzKG5vZGUuZXZlbnRzKSA6IFtdO1xuICBjb25zdCB7IHN0YXJ0VGltZSwgZHVyYXRpb24gfSA9IG5vZGU7XG4gIGNvbnN0IHNlZ21lbnRzOiBTZWdtZW50W10gPSBbXTtcblxuICBpZiAoZHVyYXRpb24gPD0gMCkgcmV0dXJuIHNlZ21lbnRzO1xuXG4gIGNvbnN0IGNvbXBsZXRlZEV2ZW50ID0gZXZlbnRzLmZpbmQoKGUpID0+IGUuZXZlbnQubmFtZSA9PT0gJ3dhaXRfY29tcGxldGVkJyk7XG5cbiAgaWYgKCFjb21wbGV0ZWRFdmVudCkge1xuICAgIC8vIFN0aWxsIHNsZWVwaW5nXG4gICAgc2VnbWVudHMucHVzaCh7IHN0YXJ0RnJhY3Rpb246IDAsIGVuZEZyYWN0aW9uOiAxLCBzdGF0dXM6ICdzbGVlcGluZycgfSk7XG4gICAgcmV0dXJuIHNlZ21lbnRzO1xuICB9XG5cbiAgY29uc3QgY29tcGxldGVkRnJhY3Rpb24gPSB0aW1lVG9GcmFjdGlvbihcbiAgICBjb21wbGV0ZWRFdmVudC50aW1lc3RhbXAsXG4gICAgc3RhcnRUaW1lLFxuICAgIGR1cmF0aW9uXG4gICk7XG5cbiAgaWYgKGNvbXBsZXRlZEZyYWN0aW9uID4gMC4wMDEpIHtcbiAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgIHN0YXJ0RnJhY3Rpb246IDAsXG4gICAgICBlbmRGcmFjdGlvbjogY29tcGxldGVkRnJhY3Rpb24sXG4gICAgICBzdGF0dXM6ICdzbGVlcGluZycsXG4gICAgfSk7XG4gIH1cblxuICBzZWdtZW50cy5wdXNoKHtcbiAgICBzdGFydEZyYWN0aW9uOiBjb21wbGV0ZWRGcmFjdGlvbixcbiAgICBlbmRGcmFjdGlvbjogMSxcbiAgICBzdGF0dXM6ICdzdWNjZWVkZWQnLFxuICB9KTtcblxuICByZXR1cm4gc2VnbWVudHM7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gUnVuIHNlZ21lbnRzXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqXG4gKiBDb21wdXRlIHNlZ21lbnRzIGZvciBhIHJ1biBzcGFuLlxuICpcbiAqIFRpbWVsaW5lOiBbcXVldWVkXSDihpIgW3J1bm5pbmddIOKGkiBbY29tcGxldGVkL2ZhaWxlZF1cbiAqXG4gKiBUaGUgcXVldWVkIHBlcmlvZCBpcyBkZXJpdmVkIGZyb20gYWN0aXZlU3RhcnRUaW1lIChydW4uc3RhcnRlZEF0KS5cbiAqIEEgc3ludGhldGljIHJ1bl9zdGFydGVkIGV2ZW50IGlzIGluamVjdGVkIGF0IHRoYXQgdGltZXN0YW1wIHNvXG4gKiB0aGUgYm91bmRhcnkgaXMgaG92ZXJhYmxlIGluIHRoZSB0cmFjZSB2aWV3ZXIuXG4gKi9cbmZ1bmN0aW9uIGNvbXB1dGVSdW5TZWdtZW50cyhub2RlOiBTcGFuTm9kZSk6IFNlZ21lbnRbXSB7XG4gIGNvbnN0IGV2ZW50cyA9IG5vZGUuZXZlbnRzID8gc29ydGVkRXZlbnRzKG5vZGUuZXZlbnRzKSA6IFtdO1xuICBjb25zdCB7IHN0YXJ0VGltZSwgZHVyYXRpb24sIGFjdGl2ZVN0YXJ0VGltZSB9ID0gbm9kZTtcbiAgY29uc3Qgc2VnbWVudHM6IFNlZ21lbnRbXSA9IFtdO1xuXG4gIGlmIChkdXJhdGlvbiA8PSAwKSByZXR1cm4gc2VnbWVudHM7XG5cbiAgLy8gVjEgcnVucyAoc3BlY1ZlcnNpb24gMSkgZG9uJ3QgZW1pdCBydW4gbGlmZWN5Y2xlIGV2ZW50cyAocnVuX2NyZWF0ZWQsXG4gIC8vIHJ1bl9zdGFydGVkLCBydW5fY29tcGxldGVkKS4gRGV0ZWN0IHRoaXMgYnkgY2hlY2tpbmcgZm9yIHRoZSBhYnNlbmNlIG9mXG4gIC8vIHJ1bl9jcmVhdGVkIOKAlCBpdCdzIGFsd2F5cyB0aGUgZmlyc3QgZXZlbnQgZm9yIHYyIHJ1bnMgYW5kIGlzIGFsd2F5c1xuICAvLyBsb2FkZWQgaW4gdGhlIGZpcnN0IHBhZ2UsIHNvIGl0cyBhYnNlbmNlIHJlbGlhYmx5IHNpZ25hbHMgYSB2MSBydW4uXG4gIC8vIEZvciB2MSwgZmFsbCBiYWNrIHRvIHRoZSBydW4gZW50aXR5J3Mgc3RhdHVzIGZyb20gc3Bhbi5hdHRyaWJ1dGVzLmRhdGEuXG4gIGNvbnN0IGhhc1J1bkNyZWF0ZWQgPSBldmVudHMuc29tZSgoZSkgPT4gZS5ldmVudC5uYW1lID09PSAncnVuX2NyZWF0ZWQnKTtcblxuICBpZiAoIWhhc1J1bkNyZWF0ZWQpIHtcbiAgICBjb25zdCBydW5EYXRhID0gbm9kZS5zcGFuLmF0dHJpYnV0ZXM/LmRhdGEgYXNcbiAgICAgIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHJ1blN0YXR1cyA9IHJ1bkRhdGE/LnN0YXR1cyBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGNvbXB1dGVWMVJ1blNlZ21lbnRzKFxuICAgICAgc3RhcnRUaW1lLFxuICAgICAgZHVyYXRpb24sXG4gICAgICBhY3RpdmVTdGFydFRpbWUsXG4gICAgICBydW5TdGF0dXNcbiAgICApO1xuICB9XG5cbiAgY29uc3QgZmFpbGVkRXZlbnQgPSBldmVudHMuZmluZCgoZSkgPT4gZS5ldmVudC5uYW1lID09PSAncnVuX2ZhaWxlZCcpO1xuICBjb25zdCBjb21wbGV0ZWRFdmVudCA9IGV2ZW50cy5maW5kKChlKSA9PiBlLmV2ZW50Lm5hbWUgPT09ICdydW5fY29tcGxldGVkJyk7XG5cbiAgLy8gUXVldWVkIHBlcmlvZCAoZnJvbSBzcGFuIHN0YXJ0IHRvIGFjdGl2ZVN0YXJ0VGltZSlcbiAgbGV0IGN1cnNvciA9IDA7XG4gIGlmIChhY3RpdmVTdGFydFRpbWUgJiYgYWN0aXZlU3RhcnRUaW1lID4gc3RhcnRUaW1lKSB7XG4gICAgY29uc3QgcXVldWVkRnJhY3Rpb24gPSB0aW1lVG9GcmFjdGlvbihhY3RpdmVTdGFydFRpbWUsIHN0YXJ0VGltZSwgZHVyYXRpb24pO1xuICAgIGlmIChxdWV1ZWRGcmFjdGlvbiA+IDAuMDAxKSB7XG4gICAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgICAgc3RhcnRGcmFjdGlvbjogMCxcbiAgICAgICAgZW5kRnJhY3Rpb246IHF1ZXVlZEZyYWN0aW9uLFxuICAgICAgICBzdGF0dXM6ICdxdWV1ZWQnLFxuICAgICAgfSk7XG4gICAgICBjdXJzb3IgPSBxdWV1ZWRGcmFjdGlvbjtcbiAgICB9XG4gIH1cblxuICBpZiAoZmFpbGVkRXZlbnQpIHtcbiAgICBjb25zdCBmYWlsZWRGcmFjdGlvbiA9IHRpbWVUb0ZyYWN0aW9uKFxuICAgICAgZmFpbGVkRXZlbnQudGltZXN0YW1wLFxuICAgICAgc3RhcnRUaW1lLFxuICAgICAgZHVyYXRpb25cbiAgICApO1xuICAgIC8vIFJ1bm5pbmcgdW50aWwgZmFpbHVyZVxuICAgIGlmIChmYWlsZWRGcmFjdGlvbiA+IGN1cnNvciArIDAuMDAxKSB7XG4gICAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgICAgc3RhcnRGcmFjdGlvbjogY3Vyc29yLFxuICAgICAgICBlbmRGcmFjdGlvbjogZmFpbGVkRnJhY3Rpb24sXG4gICAgICAgIHN0YXR1czogJ3J1bm5pbmcnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHNlZ21lbnRzLnB1c2goe1xuICAgICAgc3RhcnRGcmFjdGlvbjogZmFpbGVkRnJhY3Rpb24sXG4gICAgICBlbmRGcmFjdGlvbjogMSxcbiAgICAgIHN0YXR1czogJ2ZhaWxlZCcsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoY29tcGxldGVkRXZlbnQpIHtcbiAgICBjb25zdCBjb21wbGV0ZWRGcmFjdGlvbiA9IHRpbWVUb0ZyYWN0aW9uKFxuICAgICAgY29tcGxldGVkRXZlbnQudGltZXN0YW1wLFxuICAgICAgc3RhcnRUaW1lLFxuICAgICAgZHVyYXRpb25cbiAgICApO1xuICAgIGlmIChjb21wbGV0ZWRGcmFjdGlvbiA+IGN1cnNvciArIDAuMDAxKSB7XG4gICAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgICAgc3RhcnRGcmFjdGlvbjogY3Vyc29yLFxuICAgICAgICBlbmRGcmFjdGlvbjogY29tcGxldGVkRnJhY3Rpb24sXG4gICAgICAgIHN0YXR1czogJ3J1bm5pbmcnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHNlZ21lbnRzLnB1c2goe1xuICAgICAgc3RhcnRGcmFjdGlvbjogY29tcGxldGVkRnJhY3Rpb24sXG4gICAgICBlbmRGcmFjdGlvbjogMSxcbiAgICAgIHN0YXR1czogJ3N1Y2NlZWRlZCcsXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gUnVubmluZyB0byBjb21wbGV0aW9uIChvciB0ZXJtaW5hbCBldmVudHMgaGF2ZW4ndCBsb2FkZWQgeWV0KVxuICAgIHNlZ21lbnRzLnB1c2goe1xuICAgICAgc3RhcnRGcmFjdGlvbjogY3Vyc29yLFxuICAgICAgZW5kRnJhY3Rpb246IDEsXG4gICAgICBzdGF0dXM6ICdydW5uaW5nJyxcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBzZWdtZW50cztcbn1cblxuLyoqXG4gKiBDb21wdXRlIHNlZ21lbnRzIGZvciBhIHYxIHJ1biB1c2luZyBvbmx5IHRoZSBydW4gZW50aXR5J3Mgc3RhdHVzIGFuZFxuICogYWN0aXZlU3RhcnRUaW1lIChkZXJpdmVkIGZyb20gcnVuLnN0YXJ0ZWRBdCkuIFYxIHJ1bnMgaGF2ZSBubyBydW5cbiAqIGxpZmVjeWNsZSBldmVudHMsIHNvIHdlIGluZmVyIHRoZSB2aXN1YWwgc2VnbWVudHMgZnJvbSBlbnRpdHkgZmllbGRzLlxuICovXG5mdW5jdGlvbiBjb21wdXRlVjFSdW5TZWdtZW50cyhcbiAgc3RhcnRUaW1lOiBudW1iZXIsXG4gIGR1cmF0aW9uOiBudW1iZXIsXG4gIGFjdGl2ZVN0YXJ0VGltZTogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBydW5TdGF0dXM6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogU2VnbWVudFtdIHtcbiAgY29uc3Qgc2VnbWVudHM6IFNlZ21lbnRbXSA9IFtdO1xuXG4gIGxldCBjdXJzb3IgPSAwO1xuICBpZiAoYWN0aXZlU3RhcnRUaW1lICYmIGFjdGl2ZVN0YXJ0VGltZSA+IHN0YXJ0VGltZSkge1xuICAgIGNvbnN0IHF1ZXVlZEZyYWN0aW9uID0gdGltZVRvRnJhY3Rpb24oYWN0aXZlU3RhcnRUaW1lLCBzdGFydFRpbWUsIGR1cmF0aW9uKTtcbiAgICBpZiAocXVldWVkRnJhY3Rpb24gPiAwLjAwMSkge1xuICAgICAgc2VnbWVudHMucHVzaCh7XG4gICAgICAgIHN0YXJ0RnJhY3Rpb246IDAsXG4gICAgICAgIGVuZEZyYWN0aW9uOiBxdWV1ZWRGcmFjdGlvbixcbiAgICAgICAgc3RhdHVzOiAncXVldWVkJyxcbiAgICAgIH0pO1xuICAgICAgY3Vyc29yID0gcXVldWVkRnJhY3Rpb247XG4gICAgfVxuICB9XG5cbiAgaWYgKHJ1blN0YXR1cyA9PT0gJ2ZhaWxlZCcpIHtcbiAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgIHN0YXJ0RnJhY3Rpb246IGN1cnNvcixcbiAgICAgIGVuZEZyYWN0aW9uOiAxLFxuICAgICAgc3RhdHVzOiAnZmFpbGVkJyxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChydW5TdGF0dXMgPT09ICdjb21wbGV0ZWQnIHx8IHJ1blN0YXR1cyA9PT0gJ2NhbmNlbGxlZCcpIHtcbiAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgIHN0YXJ0RnJhY3Rpb246IGN1cnNvcixcbiAgICAgIGVuZEZyYWN0aW9uOiAxLFxuICAgICAgc3RhdHVzOiAnc3VjY2VlZGVkJyxcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBzZWdtZW50cy5wdXNoKHtcbiAgICAgIHN0YXJ0RnJhY3Rpb246IGN1cnNvcixcbiAgICAgIGVuZEZyYWN0aW9uOiAxLFxuICAgICAgc3RhdHVzOiAncnVubmluZycsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gc2VnbWVudHM7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRGlzcGF0Y2hlclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VnbWVudFJlc3VsdCB7XG4gIHNlZ21lbnRzOiBTZWdtZW50W107XG4gIGJvdW5kYXJpZXM6IFNlZ21lbnRCb3VuZGFyeVtdO1xufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEJvdW5kYXJ5IGNvbXB1dGF0aW9uXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuLyoqIEV2ZW50IG5hbWVzIHRvIGh1bWFuLXJlYWRhYmxlIGxhYmVscyAqL1xuY29uc3QgRVZFTlRfTEFCRUxTOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBzdGVwX3N0YXJ0ZWQ6ICdTdGFydGVkJyxcbiAgc3RlcF9yZXRyeWluZzogJ1JldHJ5aW5nJyxcbiAgc3RlcF9mYWlsZWQ6ICdGYWlsZWQnLFxuICBob29rX2NyZWF0ZWQ6ICdDcmVhdGVkJyxcbiAgaG9va19yZWNlaXZlZDogJ1JlY2VpdmVkJyxcbiAgaG9va19kaXNwb3NlZDogJ1Jlc29sdmVkJyxcbiAgd2FpdF9jcmVhdGVkOiAnU2xlZXAgc3RhcnRlZCcsXG4gIHdhaXRfY29tcGxldGVkOiAnU2xlZXAgY29tcGxldGVkJyxcbiAgcnVuX2NvbXBsZXRlZDogJ0NvbXBsZXRlZCcsXG4gIHJ1bl9mYWlsZWQ6ICdSdW4gZmFpbGVkJyxcbiAgc3RlcF9jb21wbGV0ZWQ6ICdDb21wbGV0ZWQnLFxufTtcblxuLyoqXG4gKiBFeHRyYWN0IGJvdW5kYXJpZXMgZnJvbSBhIHNwYW4ncyBldmVudHMuIEVhY2ggYm91bmRhcnkgc2l0cyBhdCB0aGVcbiAqIGZyYWN0aW9uYWwgcG9zaXRpb24gb2YgYSByZWxldmFudCBldmVudCB3aXRoaW4gdGhlIHNwYW4gZHVyYXRpb24uXG4gKiBPbmx5IGluY2x1ZGVzIGV2ZW50cyB0aGF0IGFyZSB1c2VkIGFzIHNlZ21lbnQgYm91bmRhcmllcyAobm90IGF0IHRoZVxuICogdmVyeSBzdGFydCBvciB2ZXJ5IGVuZCBvZiB0aGUgc3BhbiwgdG8gYXZvaWQgZWRnZSBjbHV0dGVyKS5cbiAqL1xuZnVuY3Rpb24gY29tcHV0ZUJvdW5kYXJpZXMoXG4gIG5vZGU6IFNwYW5Ob2RlLFxuICByZWxldmFudEV2ZW50TmFtZXM6IHN0cmluZ1tdXG4pOiBTZWdtZW50Qm91bmRhcnlbXSB7XG4gIGNvbnN0IGV2ZW50cyA9IG5vZGUuZXZlbnRzID8gc29ydGVkRXZlbnRzKG5vZGUuZXZlbnRzKSA6IFtdO1xuICBjb25zdCB7IHN0YXJ0VGltZSwgZHVyYXRpb24gfSA9IG5vZGU7XG5cbiAgaWYgKGR1cmF0aW9uIDw9IDApIHJldHVybiBbXTtcblxuICBjb25zdCBib3VuZGFyaWVzOiBTZWdtZW50Qm91bmRhcnlbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGUgb2YgZXZlbnRzKSB7XG4gICAgaWYgKCFyZWxldmFudEV2ZW50TmFtZXMuaW5jbHVkZXMoZS5ldmVudC5uYW1lKSkgY29udGludWU7XG5cbiAgICBjb25zdCBmcmFjdGlvbiA9IHRpbWVUb0ZyYWN0aW9uKGUudGltZXN0YW1wLCBzdGFydFRpbWUsIGR1cmF0aW9uKTtcbiAgICAvLyBTa2lwIGJvdW5kYXJpZXMgYXQgdGhlIHZlcnkgZWRnZXMgKDwgMSUgb3IgPiA5OSUpIHRvIGF2b2lkIGNsdXR0ZXJcbiAgICBpZiAoZnJhY3Rpb24gPCAwLjAxIHx8IGZyYWN0aW9uID4gMC45OSkgY29udGludWU7XG5cbiAgICBib3VuZGFyaWVzLnB1c2goe1xuICAgICAgZnJhY3Rpb24sXG4gICAgICBsYWJlbDogRVZFTlRfTEFCRUxTW2UuZXZlbnQubmFtZV0gPz8gZS5ldmVudC5uYW1lLFxuICAgICAgb2Zmc2V0TXM6IGUudGltZXN0YW1wIC0gc3RhcnRUaW1lLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGJvdW5kYXJpZXM7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRGlzcGF0Y2hlclxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgZXZlbnQtYmFzZWQgc2VnbWVudHMgYW5kIGJvdW5kYXJpZXMgZm9yIGEgc3BhbiBiYXNlZCBvbiBpdHMgcmVzb3VyY2UgdHlwZS5cbiAqIFJldHVybnMgZW1wdHkgYXJyYXlzIGZvciAnZGVmYXVsdCcgKGdlbmVyaWMgT1RFTCkgc3BhbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlU2VnbWVudHMoXG4gIHJlc291cmNlVHlwZTogUmVzb3VyY2VUeXBlLFxuICBub2RlOiBTcGFuTm9kZVxuKTogU2VnbWVudFJlc3VsdCB7XG4gIHN3aXRjaCAocmVzb3VyY2VUeXBlKSB7XG4gICAgY2FzZSAnc3RlcCc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzZWdtZW50czogY29tcHV0ZVN0ZXBTZWdtZW50cyhub2RlKSxcbiAgICAgICAgYm91bmRhcmllczogY29tcHV0ZUJvdW5kYXJpZXMobm9kZSwgW1xuICAgICAgICAgICdzdGVwX3N0YXJ0ZWQnLFxuICAgICAgICAgICdzdGVwX3JldHJ5aW5nJyxcbiAgICAgICAgICAnc3RlcF9mYWlsZWQnLFxuICAgICAgICAgICdzdGVwX2NvbXBsZXRlZCcsXG4gICAgICAgIF0pLFxuICAgICAgfTtcbiAgICBjYXNlICdob29rJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNlZ21lbnRzOiBjb21wdXRlSG9va1NlZ21lbnRzKG5vZGUpLFxuICAgICAgICBib3VuZGFyaWVzOiBjb21wdXRlQm91bmRhcmllcyhub2RlLCBbXG4gICAgICAgICAgJ2hvb2tfY3JlYXRlZCcsXG4gICAgICAgICAgJ2hvb2tfcmVjZWl2ZWQnLFxuICAgICAgICAgICdob29rX2Rpc3Bvc2VkJyxcbiAgICAgICAgXSksXG4gICAgICB9O1xuICAgIGNhc2UgJ3NsZWVwJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNlZ21lbnRzOiBjb21wdXRlU2xlZXBTZWdtZW50cyhub2RlKSxcbiAgICAgICAgYm91bmRhcmllczogY29tcHV0ZUJvdW5kYXJpZXMobm9kZSwgWyd3YWl0X2NyZWF0ZWQnLCAnd2FpdF9jb21wbGV0ZWQnXSksXG4gICAgICB9O1xuICAgIGNhc2UgJ3J1bic6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzZWdtZW50czogY29tcHV0ZVJ1blNlZ21lbnRzKG5vZGUpLFxuICAgICAgICBib3VuZGFyaWVzOiBjb21wdXRlQm91bmRhcmllcyhub2RlLCBbJ3J1bl9jb21wbGV0ZWQnLCAncnVuX2ZhaWxlZCddKSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB7IHNlZ21lbnRzOiBbXSwgYm91bmRhcmllczogW10gfTtcbiAgfVxufVxuIl19
@@ -105,4 +105,4 @@ export function getSpanLayout(resourceType, node, root, scale, scrollSnapshotRef
105
105
  return computeDefaultLayout(node, root, scale, scrollSnapshotRef);
106
106
  }
107
107
  }
108
- //# sourceMappingURL=span-strategies.js.map
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhbi1zdHJhdGVnaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJhY2Utdmlld2VyL2NvbXBvbmVudHMvc3Bhbi1zdHJhdGVnaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUTNFLG9FQUFvRTtBQUNwRSxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUM7QUE2QnpCOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFpQjtJQUMvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7SUFDaEQsSUFDRSxRQUFRLEtBQUssS0FBSztRQUNsQixRQUFRLEtBQUssTUFBTTtRQUNuQixRQUFRLEtBQUssTUFBTTtRQUNuQixRQUFRLEtBQUssT0FBTyxFQUNwQixDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsaUJBQWlCO0FBQ2pCLDZFQUE2RTtBQUU3RSxTQUFTLGNBQWMsQ0FBQyxXQUFtQjtJQUN6QyxPQUFPLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDMUIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFdBQW1CO0lBQ3hDLE9BQU8sV0FBVyxJQUFJLEdBQUcsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFpQixFQUFFLE1BQWU7SUFDMUQsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxDQUFDO0FBQ25FLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUM3QixJQUFpQixFQUNqQixJQUFjLEVBQ2QsaUJBQXdELEVBQ3hELFNBQWtC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aUJBQWlCLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsSUFBaUIsRUFDakIsSUFBYyxFQUNkLEtBQWEsRUFDYixpQkFBd0Q7SUFFeEQsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsYUFBYTtBQUNiLDZFQUE2RTtBQUU3RTs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQzNCLFlBQTBCLEVBQzFCLElBQWlCLEVBQ2pCLElBQWMsRUFDZCxLQUFhLEVBQ2IsaUJBQXdEO0lBRXhELFFBQVEsWUFBWSxFQUFFLENBQUM7UUFDckIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxLQUFLLE1BQU07WUFDVCxPQUFPLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdELEtBQUssTUFBTTtZQUNULE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDN0QsS0FBSyxPQUFPO1lBQ1YsT0FBTyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUM5RDtZQUNFLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBSb290Tm9kZSwgU2Nyb2xsU25hcHNob3QsIFZpc2libGVTcGFuIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgTUFSS0VSX0hFSUdIVCwgUk9XX0hFSUdIVCwgUk9XX1BBRERJTkcgfSBmcm9tICcuLi91dGlsL2NvbnN0YW50cyc7XG5cbi8qKlxuICogVGhlIHJlc291cmNlIHR5cGUgb2YgYSB3b3JrZmxvdyBzcGFuLCByZWFkIGZyb20gc3Bhbi5hdHRyaWJ1dGVzLnJlc291cmNlLlxuICogRmFsbHMgYmFjayB0byAnZGVmYXVsdCcgZm9yIG5vbi13b3JrZmxvdyAoZ2VuZXJpYyBPVEVMKSBzcGFucy5cbiAqL1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VUeXBlID0gJ3J1bicgfCAnc3RlcCcgfCAnaG9vaycgfCAnc2xlZXAnIHwgJ2RlZmF1bHQnO1xuXG4vKiogTWluaW11bSByZW5kZXJlZCB3aWR0aCBzbyB2ZXJ5IHNob3J0IHNwYW5zIGFyZSBhbHdheXMgdmlzaWJsZSAqL1xuY29uc3QgTUlOX1NQQU5fV0lEVEggPSA0O1xuXG4vKipcbiAqIExheW91dCByZXN1bHQgY29tcHV0ZWQgYnkgYSBzcGFuIHN0cmF0ZWd5LiBDb250cm9scyBob3cgdGhlIHNwYW5cbiAqIGlzIHNpemVkIGFuZCBwb3NpdGlvbmVkIGluIHRoZSB0aW1lbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGFuTGF5b3V0IHtcbiAgLyoqIFRoZSByZW5kZXJlZCB3aWR0aCBpbiBwaXhlbHMgKi9cbiAgd2lkdGg6IG51bWJlcjtcbiAgLyoqIFRoZSBhY3R1YWwgZHVyYXRpb24tYmFzZWQgd2lkdGggKGJlZm9yZSBtaW4td2lkdGggY2xhbXBpbmcpICovXG4gIGFjdHVhbFdpZHRoOiBudW1iZXI7XG4gIC8qKiBUaGUgcmVuZGVyZWQgaGVpZ2h0IGluIHBpeGVscyAqL1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgLyoqIFRoZSB5IHBvc2l0aW9uIGluIHBpeGVscyAqL1xuICB0b3A6IG51bWJlcjtcbiAgLyoqIFRoZSB4IHBvc2l0aW9uIGluIHBpeGVscyAoZnJvbSBsZWZ0KSAqL1xuICBsZWZ0OiBudW1iZXI7XG4gIC8qKiBXaGV0aGVyIHRoZSBzcGFuIGlzIGNvbnNpZGVyZWQgXCJzbWFsbFwiICg8IDY0cHggYWN0dWFsIHdpZHRoKSAqL1xuICBpc1NtYWxsOiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgc3BhbiBpcyBjb25zaWRlcmVkIFwiaHVnZVwiICg+PSA1MDBweCBhY3R1YWwgd2lkdGgpICovXG4gIGlzSHVnZTogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHNwYW4gaXMgY3VycmVudGx5IGhvdmVyZWQgKHdpdGggaG92ZXIgZWxpZ2liaWxpdHkpICovXG4gIGlzSG92ZXJlZDogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHNwYW4gaXMgZXhwYW5kZWQgKGhvdmVyZWQgb3Igc2VsZWN0ZWQpIOKAlCBjb250cm9scyBzaXppbmcgKi9cbiAgaXNFeHBhbmRlZDogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdGhlIHNwYW4gaXMgbmVhciB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgdmlzaWJsZSBhcmVhICovXG4gIGlzTmVhclJpZ2h0U2lkZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZWFkcyB0aGUgcmVzb3VyY2UgdHlwZSBmcm9tIGEgc3BhbidzIGF0dHJpYnV0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZVR5cGUobm9kZTogVmlzaWJsZVNwYW4pOiBSZXNvdXJjZVR5cGUge1xuICBjb25zdCByZXNvdXJjZSA9IG5vZGUuc3Bhbi5hdHRyaWJ1dGVzPy5yZXNvdXJjZTtcbiAgaWYgKFxuICAgIHJlc291cmNlID09PSAncnVuJyB8fFxuICAgIHJlc291cmNlID09PSAnc3RlcCcgfHxcbiAgICByZXNvdXJjZSA9PT0gJ2hvb2snIHx8XG4gICAgcmVzb3VyY2UgPT09ICdzbGVlcCdcbiAgKSB7XG4gICAgcmV0dXJuIHJlc291cmNlO1xuICB9XG4gIHJldHVybiAnZGVmYXVsdCc7XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gU2hhcmVkIGhlbHBlcnNcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5mdW5jdGlvbiBjb21wdXRlSXNTbWFsbChhY3R1YWxXaWR0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBhY3R1YWxXaWR0aCA8IDY0O1xufVxuXG5mdW5jdGlvbiBjb21wdXRlSXNIdWdlKGFjdHVhbFdpZHRoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFjdHVhbFdpZHRoID49IDUwMDtcbn1cblxuZnVuY3Rpb24gY29tcHV0ZUlzSG92ZXJlZChub2RlOiBWaXNpYmxlU3BhbiwgaXNIdWdlOiBib29sZWFuKTogYm9vbGVhbiB7XG4gIHJldHVybiBub2RlLmlzSG92ZXJlZCAmJiAhaXNIdWdlICYmIG5vZGUuaXNIaWdobGlnaHRlZCAhPT0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGNvbXB1dGVJc05lYXJSaWdodFNpZGUoXG4gIG5vZGU6IFZpc2libGVTcGFuLFxuICByb290OiBSb290Tm9kZSxcbiAgc2Nyb2xsU25hcHNob3RSZWY6IFJlZk9iamVjdDxTY3JvbGxTbmFwc2hvdCB8IHVuZGVmaW5lZD4sXG4gIGlzSG92ZXJlZDogYm9vbGVhblxuKTogYm9vbGVhbiB7XG4gIGlmICghaXNIb3ZlcmVkKSByZXR1cm4gZmFsc2U7XG5cbiAgbGV0IHZpc2libGVEdXJhdGlvbiA9IHJvb3QuZHVyYXRpb247XG4gIGxldCB2aXNpYmxlRW5kVGltZSA9IHJvb3QuZW5kVGltZTtcbiAgY29uc3Qgc25hcHNob3QgPSBzY3JvbGxTbmFwc2hvdFJlZi5jdXJyZW50O1xuICBpZiAoc25hcHNob3QpIHtcbiAgICB2aXNpYmxlRHVyYXRpb24gPSBzbmFwc2hvdC5lbmRUaW1lIC0gc25hcHNob3Quc3RhcnRUaW1lO1xuICAgIHZpc2libGVFbmRUaW1lID0gc25hcHNob3QuZW5kVGltZTtcbiAgfVxuICByZXR1cm4gdmlzaWJsZUVuZFRpbWUgLSBub2RlLnN0YXJ0VGltZSA8IDAuMjUgKiB2aXNpYmxlRHVyYXRpb247XG59XG5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gRGVmYXVsdCBsYXlvdXQgKHVzZWQgYnkgc3RlcCwgaG9vaywgcnVuLCBkZWZhdWx0IOKAlCBhbGwgYmVoYXZlIHRoZSBzYW1lIHRvZGF5KVxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmZ1bmN0aW9uIGNvbXB1dGVEZWZhdWx0TGF5b3V0KFxuICBub2RlOiBWaXNpYmxlU3BhbixcbiAgcm9vdDogUm9vdE5vZGUsXG4gIHNjYWxlOiBudW1iZXIsXG4gIHNjcm9sbFNuYXBzaG90UmVmOiBSZWZPYmplY3Q8U2Nyb2xsU25hcHNob3QgfCB1bmRlZmluZWQ+XG4pOiBTcGFuTGF5b3V0IHtcbiAgY29uc3QgbGVmdCA9IChub2RlLnN0YXJ0VGltZSAtIHJvb3Quc3RhcnRUaW1lKSAqIHNjYWxlO1xuICBsZXQgdG9wID0gTUFSS0VSX0hFSUdIVCArIChST1dfSEVJR0hUICsgUk9XX1BBRERJTkcpICogbm9kZS5yb3c7XG4gIGNvbnN0IGFjdHVhbFdpZHRoID0gbm9kZS5kdXJhdGlvbiAqIHNjYWxlO1xuICBjb25zdCB3aWR0aCA9IE1hdGgubWF4KGFjdHVhbFdpZHRoLCBNSU5fU1BBTl9XSURUSCk7XG4gIGxldCBoZWlnaHQgPSBST1dfSEVJR0hUO1xuXG4gIGNvbnN0IGlzSHVnZSA9IGNvbXB1dGVJc0h1Z2UoYWN0dWFsV2lkdGgpO1xuICBjb25zdCBpc1NtYWxsID0gY29tcHV0ZUlzU21hbGwoYWN0dWFsV2lkdGgpO1xuICBjb25zdCBpc0hvdmVyZWQgPSBjb21wdXRlSXNIb3ZlcmVkKG5vZGUsIGlzSHVnZSk7XG4gIGNvbnN0IGlzRXhwYW5kZWQgPSBpc0hvdmVyZWQgfHwgQm9vbGVhbihub2RlLmlzU2VsZWN0ZWQpO1xuXG4gIGlmIChpc1NtYWxsICYmICFpc0V4cGFuZGVkKSB7XG4gICAgaGVpZ2h0ICo9IDAuNDtcbiAgICB0b3AgKz0gKFJPV19IRUlHSFQgLSBoZWlnaHQpICogMC41O1xuICB9XG5cbiAgY29uc3QgaXNOZWFyUmlnaHRTaWRlID0gY29tcHV0ZUlzTmVhclJpZ2h0U2lkZShcbiAgICBub2RlLFxuICAgIHJvb3QsXG4gICAgc2Nyb2xsU25hcHNob3RSZWYsXG4gICAgaXNFeHBhbmRlZFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgYWN0dWFsV2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHRvcCxcbiAgICBsZWZ0LFxuICAgIGlzU21hbGwsXG4gICAgaXNIdWdlLFxuICAgIGlzSG92ZXJlZCxcbiAgICBpc0V4cGFuZGVkLFxuICAgIGlzTmVhclJpZ2h0U2lkZSxcbiAgfTtcbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBQZXItdHlwZSBsYXlvdXQgZnVuY3Rpb25zXG4vLyBFYWNoIHJldHVybnMgdGhlIHNhbWUgcmVzdWx0IHRvZGF5IGJ1dCBwcm92aWRlcyBhIGNsZWFyIGV4dGVuc2lvbiBwb2ludC5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UnVuTGF5b3V0KFxuICBub2RlOiBWaXNpYmxlU3BhbixcbiAgcm9vdDogUm9vdE5vZGUsXG4gIHNjYWxlOiBudW1iZXIsXG4gIHNjcm9sbFNuYXBzaG90UmVmOiBSZWZPYmplY3Q8U2Nyb2xsU25hcHNob3QgfCB1bmRlZmluZWQ+XG4pOiBTcGFuTGF5b3V0IHtcbiAgcmV0dXJuIGNvbXB1dGVEZWZhdWx0TGF5b3V0KG5vZGUsIHJvb3QsIHNjYWxlLCBzY3JvbGxTbmFwc2hvdFJlZik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGVwTGF5b3V0KFxuICBub2RlOiBWaXNpYmxlU3BhbixcbiAgcm9vdDogUm9vdE5vZGUsXG4gIHNjYWxlOiBudW1iZXIsXG4gIHNjcm9sbFNuYXBzaG90UmVmOiBSZWZPYmplY3Q8U2Nyb2xsU25hcHNob3QgfCB1bmRlZmluZWQ+XG4pOiBTcGFuTGF5b3V0IHtcbiAgcmV0dXJuIGNvbXB1dGVEZWZhdWx0TGF5b3V0KG5vZGUsIHJvb3QsIHNjYWxlLCBzY3JvbGxTbmFwc2hvdFJlZik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb29rTGF5b3V0KFxuICBub2RlOiBWaXNpYmxlU3BhbixcbiAgcm9vdDogUm9vdE5vZGUsXG4gIHNjYWxlOiBudW1iZXIsXG4gIHNjcm9sbFNuYXBzaG90UmVmOiBSZWZPYmplY3Q8U2Nyb2xsU25hcHNob3QgfCB1bmRlZmluZWQ+XG4pOiBTcGFuTGF5b3V0IHtcbiAgcmV0dXJuIGNvbXB1dGVEZWZhdWx0TGF5b3V0KG5vZGUsIHJvb3QsIHNjYWxlLCBzY3JvbGxTbmFwc2hvdFJlZik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTbGVlcExheW91dChcbiAgbm9kZTogVmlzaWJsZVNwYW4sXG4gIHJvb3Q6IFJvb3ROb2RlLFxuICBzY2FsZTogbnVtYmVyLFxuICBzY3JvbGxTbmFwc2hvdFJlZjogUmVmT2JqZWN0PFNjcm9sbFNuYXBzaG90IHwgdW5kZWZpbmVkPlxuKTogU3BhbkxheW91dCB7XG4gIHJldHVybiBjb21wdXRlRGVmYXVsdExheW91dChub2RlLCByb290LCBzY2FsZSwgc2Nyb2xsU25hcHNob3RSZWYpO1xufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIERpc3BhdGNoZXJcbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4vKipcbiAqIENvbXB1dGVzIHRoZSBsYXlvdXQgZm9yIGEgc3BhbiBiYXNlZCBvbiBpdHMgcmVzb3VyY2UgdHlwZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNwYW5MYXlvdXQoXG4gIHJlc291cmNlVHlwZTogUmVzb3VyY2VUeXBlLFxuICBub2RlOiBWaXNpYmxlU3BhbixcbiAgcm9vdDogUm9vdE5vZGUsXG4gIHNjYWxlOiBudW1iZXIsXG4gIHNjcm9sbFNuYXBzaG90UmVmOiBSZWZPYmplY3Q8U2Nyb2xsU25hcHNob3QgfCB1bmRlZmluZWQ+XG4pOiBTcGFuTGF5b3V0IHtcbiAgc3dpdGNoIChyZXNvdXJjZVR5cGUpIHtcbiAgICBjYXNlICdydW4nOlxuICAgICAgcmV0dXJuIGdldFJ1bkxheW91dChub2RlLCByb290LCBzY2FsZSwgc2Nyb2xsU25hcHNob3RSZWYpO1xuICAgIGNhc2UgJ3N0ZXAnOlxuICAgICAgcmV0dXJuIGdldFN0ZXBMYXlvdXQobm9kZSwgcm9vdCwgc2NhbGUsIHNjcm9sbFNuYXBzaG90UmVmKTtcbiAgICBjYXNlICdob29rJzpcbiAgICAgIHJldHVybiBnZXRIb29rTGF5b3V0KG5vZGUsIHJvb3QsIHNjYWxlLCBzY3JvbGxTbmFwc2hvdFJlZik7XG4gICAgY2FzZSAnc2xlZXAnOlxuICAgICAgcmV0dXJuIGdldFNsZWVwTGF5b3V0KG5vZGUsIHJvb3QsIHNjYWxlLCBzY3JvbGxTbmFwc2hvdFJlZik7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjb21wdXRlRGVmYXVsdExheW91dChub2RlLCByb290LCBzY2FsZSwgc2Nyb2xsU25hcHNob3RSZWYpO1xuICB9XG59XG4iXX0=
@@ -36,4 +36,4 @@ export function Note({ children, className, }) {
36
36
  export function Skeleton({ width, height, rounded, }) {
37
37
  return (_jsx("span", { className: clsx(styles.skeleton, rounded && styles.skeletonRounded), style: { width, height }, "aria-hidden": true }));
38
38
  }
39
- //# sourceMappingURL=ui.js.map
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmFjZS12aWV3ZXIvY29tcG9uZW50cy91aS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUViLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUIsT0FBTyxNQUFNLE1BQU0sNEJBQTRCLENBQUM7QUFFaEQsNkJBQTZCO0FBQzdCLE1BQU0sYUFBYSxHQUEyQjtJQUM1QyxVQUFVLEVBQUUsb0JBQW9CO0lBQ2hDLFVBQVUsRUFBRSxvQkFBb0I7Q0FDakMsQ0FBQztBQUVGLE1BQU0sVUFBVSxTQUFTLENBQUMsRUFDeEIsSUFBSSxHQUFHLEVBQUUsRUFDVCxLQUFLLEdBQUcsVUFBVSxHQUluQjtJQUNDLE1BQU0sS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLEVBQVcsQ0FBQztJQUNoRSxPQUFPLENBQ0wsZUFDRSxLQUFLLEVBQUUsSUFBSSxFQUNYLE1BQU0sRUFBRSxJQUFJLEVBQ1osT0FBTyxFQUFDLFdBQVcsRUFDbkIsSUFBSSxFQUFDLE1BQU0sRUFDWCxLQUFLLEVBQUUsS0FBSyxrQ0FHWixvQ0FBb0IsRUFDcEIsZUFDRSxDQUFDLEVBQUMsc0JBQXNCLEVBQ3hCLE1BQU0sRUFBQyxjQUFjLEVBQ3JCLFdBQVcsRUFBQyxHQUFHLEVBQ2YsYUFBYSxFQUFDLE9BQU8sR0FDckIsSUFDRSxDQUNQLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQXFCO0lBQzlELE9BQU8sQ0FDTCxlQUNFLEtBQUssRUFBRSxJQUFJLEVBQ1gsTUFBTSxFQUFFLElBQUksRUFDWixPQUFPLEVBQUMsV0FBVyxFQUNuQixJQUFJLEVBQUMsTUFBTSx1QkFFWCxTQUFTLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixhQUVuQywyQ0FBMkIsRUFDM0IsZUFDRSxDQUFDLEVBQUMsY0FBYyxFQUNoQixNQUFNLEVBQUMsY0FBYyxFQUNyQixXQUFXLEVBQUMsR0FBRyxFQUNmLGFBQWEsRUFBQyxPQUFPLEVBQ3JCLGNBQWMsRUFBQyxPQUFPLEdBQ3RCLElBQ0UsQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUNoQyxJQUFJLEdBQUcsRUFBRSxFQUNULEtBQUssR0FBRyxVQUFVLEdBSW5CO0lBQ0MsTUFBTSxLQUFLLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssRUFBVyxDQUFDO0lBQ2hFLE9BQU8sQ0FDTCxlQUNFLEtBQUssRUFBRSxJQUFJLEVBQ1gsTUFBTSxFQUFFLElBQUksRUFDWixPQUFPLEVBQUMsV0FBVyxFQUNuQixJQUFJLEVBQUMsTUFBTSxFQUNYLEtBQUssRUFBRSxLQUFLLGtDQUdaLDZDQUE2QixFQUM3QixlQUNFLENBQUMsRUFBQyx5QkFBeUIsRUFDM0IsTUFBTSxFQUFDLGNBQWMsRUFDckIsV0FBVyxFQUFDLEdBQUcsRUFDZixhQUFhLEVBQUMsT0FBTyxFQUNyQixjQUFjLEVBQUMsT0FBTyxHQUN0QixFQUNGLGVBQ0UsQ0FBQyxFQUFDLDBEQUEwRCxFQUM1RCxNQUFNLEVBQUMsY0FBYyxFQUNyQixXQUFXLEVBQUMsR0FBRyxFQUNmLGFBQWEsRUFBQyxPQUFPLEdBQ3JCLElBQ0UsQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxJQUFJLENBQ2xCLEtBQXNFO0lBRXRFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ2pFLE1BQU0sT0FBTyxHQUFRLE1BQU0sSUFBSSxHQUFHLENBQUM7SUFDbkMsSUFBSSxPQUFPLEtBQUssTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsT0FBTyxDQUNMLGVBQU0sU0FBUyxFQUFFLFNBQVMsS0FBTSxJQUFJLFlBQ2pDLFFBQVEsR0FDSixDQUNSLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxDQUNMLFlBQUcsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxLQUFNLElBQUksWUFDMUMsUUFBUSxHQUNQLENBQ0wsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUN4QixLQUVDO0lBRUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztJQUM1RCxPQUFPLENBQ0wsZUFBTyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxZQUN2RCxRQUFRLEdBQ1AsQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxJQUFJLENBQUMsRUFDbkIsUUFBUSxFQUNSLFNBQVMsR0FJVjtJQUNDLE9BQU8sY0FBSyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFlBQUcsUUFBUSxHQUFPLENBQUM7QUFDeEUsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsRUFDdkIsS0FBSyxFQUNMLE1BQU0sRUFDTixPQUFPLEdBS1I7SUFDQyxPQUFPLENBQ0wsZUFDRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFDbkUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSx3QkFFeEIsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgY2xzeCB9IGZyb20gJ2Nsc3gnO1xuaW1wb3J0IHR5cGUgeyBBbmNob3JIVE1MQXR0cmlidXRlcywgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlcyBmcm9tICcuLi90cmFjZS12aWV3ZXIubW9kdWxlLmNzcyc7XG5cbi8vIENvbG9yIHRva2VuIG1hcHBpbmcgaGVscGVyXG5jb25zdCBjb2xvclRva2VuTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAnZ3JheS03MDAnOiAndmFyKC0tZHMtZ3JheS03MDApJyxcbiAgJ2dyYXktOTAwJzogJ3ZhcigtLWRzLWdyYXktOTAwKScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gSWNvbkNyb3NzKHtcbiAgc2l6ZSA9IDE2LFxuICBjb2xvciA9ICdncmF5LTcwMCcsXG59OiB7XG4gIHNpemU/OiBudW1iZXI7XG4gIGNvbG9yPzogc3RyaW5nO1xufSk6IFJlYWN0Tm9kZSB7XG4gIGNvbnN0IHN0eWxlID0geyBjb2xvcjogY29sb3JUb2tlbk1hcFtjb2xvcl0gfHwgY29sb3IgfSBhcyBjb25zdDtcbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgICB3aWR0aD17c2l6ZX1cbiAgICAgIGhlaWdodD17c2l6ZX1cbiAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgYXJpYS1oaWRkZW5cbiAgICA+XG4gICAgICA8dGl0bGU+Q3Jvc3M8L3RpdGxlPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk02IDZsMTIgMTJNMTggNkw2IDE4XCJcbiAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9zdmc+XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJY29uQ2hldnJvbkRvd24oeyBzaXplID0gMTYgfTogeyBzaXplPzogbnVtYmVyIH0pOiBSZWFjdE5vZGUge1xuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHdpZHRoPXtzaXplfVxuICAgICAgaGVpZ2h0PXtzaXplfVxuICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICBhcmlhLWhpZGRlblxuICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuZGV0YWlsSGVhZGluZ0ljb259XG4gICAgPlxuICAgICAgPHRpdGxlPkNoZXZyb24gRG93bjwvdGl0bGU+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTYgOWw2IDYgNi02XCJcbiAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSWNvbkV4dGVybmFsU21hbGwoe1xuICBzaXplID0gMTYsXG4gIGNvbG9yID0gJ2dyYXktOTAwJyxcbn06IHtcbiAgc2l6ZT86IG51bWJlcjtcbiAgY29sb3I/OiBzdHJpbmc7XG59KTogUmVhY3ROb2RlIHtcbiAgY29uc3Qgc3R5bGUgPSB7IGNvbG9yOiBjb2xvclRva2VuTWFwW2NvbG9yXSB8fCBjb2xvciB9IGFzIGNvbnN0O1xuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHdpZHRoPXtzaXplfVxuICAgICAgaGVpZ2h0PXtzaXplfVxuICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICBzdHlsZT17c3R5bGV9XG4gICAgICBhcmlhLWhpZGRlblxuICAgID5cbiAgICAgIDx0aXRsZT5FeHRlcm5hbCBTbWFsbDwvdGl0bGU+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE0IDRoNm0wIDB2Nm0wLTZMMTAgMTRcIlxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTIwIDE0djRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDRcIlxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIExpbmsoXG4gIHByb3BzOiBBbmNob3JIVE1MQXR0cmlidXRlczxIVE1MQW5jaG9yRWxlbWVudD4gJiB7IGFzPzogJ2EnIHwgJ3NwYW4nIH1cbik6IFJlYWN0Tm9kZSB7XG4gIGNvbnN0IHsgYXM6IGFzUHJvcCwgY2xhc3NOYW1lLCBocmVmLCBjaGlsZHJlbiwgLi4ucmVzdCB9ID0gcHJvcHM7XG4gIGNvbnN0IEVsZW1lbnQ6IGFueSA9IGFzUHJvcCB8fCAnYSc7XG4gIGlmIChFbGVtZW50ID09PSAnc3BhbicgfHwgIWhyZWYpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi5yZXN0fT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8YSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gaHJlZj17aHJlZn0gey4uLnJlc3R9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbkxpbmsoXG4gIHByb3BzOiBBbmNob3JIVE1MQXR0cmlidXRlczxIVE1MQW5jaG9yRWxlbWVudD4gJiB7XG4gICAgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XG4gIH1cbik6IFJlYWN0Tm9kZSB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjaGlsZHJlbiwgc2l6ZTogX3NpemUsIC4uLnJlc3QgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxhIHsuLi5yZXN0fSBjbGFzc05hbWU9e2Nsc3goc3R5bGVzLmJ1dHRvbkxpbmssIGNsYXNzTmFtZSl9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE5vdGUoe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxufToge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59KTogUmVhY3ROb2RlIHtcbiAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXtjbHN4KHN0eWxlcy5ub3RlLCBjbGFzc05hbWUpfT57Y2hpbGRyZW59PC9kaXY+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU2tlbGV0b24oe1xuICB3aWR0aCxcbiAgaGVpZ2h0LFxuICByb3VuZGVkLFxufToge1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgcm91bmRlZD86IGJvb2xlYW47XG59KTogUmVhY3ROb2RlIHtcbiAgcmV0dXJuIChcbiAgICA8c3BhblxuICAgICAgY2xhc3NOYW1lPXtjbHN4KHN0eWxlcy5za2VsZXRvbiwgcm91bmRlZCAmJiBzdHlsZXMuc2tlbGV0b25Sb3VuZGVkKX1cbiAgICAgIHN0eWxlPXt7IHdpZHRoLCBoZWlnaHQgfX1cbiAgICAgIGFyaWEtaGlkZGVuXG4gICAgLz5cbiAgKTtcbn1cbiJdfQ==
@@ -26,4 +26,4 @@ export function ZoomButton() {
26
26
  }, [dispatch]);
27
27
  return (_jsxs("div", { className: styles.zoomButtonGroup, children: [_jsx("button", { "aria-label": "Zoom Out", className: styles.zoomButton, onClick: onZoomOut, type: "button", children: _jsx(IconZoomOut, { size: 18 }) }), _jsx("div", { className: styles.divider }), _jsx("button", { "aria-label": "Reset Zoom", className: styles.zoomButton, onClick: onResetZoom, type: "button", children: _jsx(IconMinus, { size: 18 }) }), _jsx("div", { className: styles.divider }), _jsx("button", { "aria-label": "Zoom In", className: styles.zoomButton, onClick: onZoomIn, type: "button", children: _jsx(IconZoomIn, { size: 18 }) })] }));
28
28
  }
29
- //# sourceMappingURL=zoom-button.js.map
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmFjZS12aWV3ZXIvY29tcG9uZW50cy96b29tLWJ1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUNiLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxNQUFNLE1BQU0sNEJBQTRCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWxFLE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUV0QyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBUyxFQUFFO1FBQ3RDLFFBQVEsQ0FBQztZQUNQLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsU0FBUyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWYsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLEdBQVMsRUFBRTtRQUN2QyxRQUFRLENBQUM7WUFDUCxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRWYsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQVMsRUFBRTtRQUN6QyxRQUFRLENBQUM7WUFDUCxJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLFNBQVMsRUFBRSxDQUFDO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUVmLE9BQU8sQ0FDTCxlQUFLLFNBQVMsRUFBRSxNQUFNLENBQUMsZUFBZSxhQUNwQywrQkFDYSxVQUFVLEVBQ3JCLFNBQVMsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUM1QixPQUFPLEVBQUUsU0FBUyxFQUNsQixJQUFJLEVBQUMsUUFBUSxZQUViLEtBQUMsV0FBVyxJQUFDLElBQUksRUFBRSxFQUFFLEdBQUksR0FDbEIsRUFDVCxjQUFLLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTyxHQUFJLEVBQ2xDLCtCQUNhLFlBQVksRUFDdkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQ3BCLElBQUksRUFBQyxRQUFRLFlBRWIsS0FBQyxTQUFTLElBQUMsSUFBSSxFQUFFLEVBQUUsR0FBSSxHQUNoQixFQUNULGNBQUssU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEdBQUksRUFDbEMsK0JBQ2EsU0FBUyxFQUNwQixTQUFTLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFDakIsSUFBSSxFQUFDLFFBQVEsWUFFYixLQUFDLFVBQVUsSUFBQyxJQUFJLEVBQUUsRUFBRSxHQUFJLEdBQ2pCLElBQ0wsQ0FDUCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCB7IHR5cGUgUmVhY3ROb2RlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVRyYWNlVmlld2VyIH0gZnJvbSAnLi4vY29udGV4dCc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4uL3RyYWNlLXZpZXdlci5tb2R1bGUuY3NzJztcbmltcG9ydCB7IEljb25NaW51cywgSWNvblpvb21JbiwgSWNvblpvb21PdXQgfSBmcm9tICcuL3pvb20taWNvbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gWm9vbUJ1dHRvbigpOiBSZWFjdE5vZGUge1xuICBjb25zdCB7IGRpc3BhdGNoIH0gPSB1c2VUcmFjZVZpZXdlcigpO1xuXG4gIGNvbnN0IG9uWm9vbUluID0gdXNlQ2FsbGJhY2soKCk6IHZvaWQgPT4ge1xuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6ICdhZGp1c3RTY2FsZVJhdGlvJyxcbiAgICAgIGRpcmVjdGlvbjogMSxcbiAgICB9KTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgY29uc3Qgb25ab29tT3V0ID0gdXNlQ2FsbGJhY2soKCk6IHZvaWQgPT4ge1xuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6ICdhZGp1c3RTY2FsZVJhdGlvJyxcbiAgICAgIGRpcmVjdGlvbjogLTEsXG4gICAgfSk7XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIGNvbnN0IG9uUmVzZXRab29tID0gdXNlQ2FsbGJhY2soKCk6IHZvaWQgPT4ge1xuICAgIGRpc3BhdGNoKHtcbiAgICAgIHR5cGU6ICdhZGp1c3RTY2FsZVJhdGlvJyxcbiAgICAgIGRpcmVjdGlvbjogMCxcbiAgICB9KTtcbiAgfSwgW2Rpc3BhdGNoXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnpvb21CdXR0b25Hcm91cH0+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGFyaWEtbGFiZWw9XCJab29tIE91dFwiXG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLnpvb21CdXR0b259XG4gICAgICAgIG9uQ2xpY2s9e29uWm9vbU91dH1cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxJY29uWm9vbU91dCBzaXplPXsxOH0gLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5kaXZpZGVyfSAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBhcmlhLWxhYmVsPVwiUmVzZXQgWm9vbVwiXG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLnpvb21CdXR0b259XG4gICAgICAgIG9uQ2xpY2s9e29uUmVzZXRab29tfVxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAgPEljb25NaW51cyBzaXplPXsxOH0gLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5kaXZpZGVyfSAvPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBhcmlhLWxhYmVsPVwiWm9vbSBJblwiXG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLnpvb21CdXR0b259XG4gICAgICAgIG9uQ2xpY2s9e29uWm9vbUlufVxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgID5cbiAgICAgICAgPEljb25ab29tSW4gc2l6ZT17MTh9IC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdfQ==
@@ -8,4 +8,4 @@ export function IconZoomOut({ size = 16 }) {
8
8
  export function IconMinus({ size = 16 }) {
9
9
  return (_jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", "aria-hidden": true, children: [_jsx("title", { children: "Minus" }), _jsx("path", { d: "M6 12h12", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }));
10
10
  }
11
- //# sourceMappingURL=zoom-icons.js.map
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1pY29ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyYWNlLXZpZXdlci9jb21wb25lbnRzL3pvb20taWNvbnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxNQUFNLFVBQVUsVUFBVSxDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBcUI7SUFDekQsT0FBTyxDQUNMLGVBQUssS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxXQUFXLEVBQUMsSUFBSSxFQUFDLE1BQU0sa0NBQzdELHNDQUFzQixFQUN0QixlQUNFLENBQUMsRUFBQyx1Q0FBdUMsRUFDekMsTUFBTSxFQUFDLGNBQWMsRUFDckIsV0FBVyxFQUFDLEdBQUcsR0FDZixFQUNGLGVBQ0UsQ0FBQyxFQUFDLGdCQUFnQixFQUNsQixNQUFNLEVBQUMsY0FBYyxFQUNyQixXQUFXLEVBQUMsR0FBRyxFQUNmLGFBQWEsRUFBQyxPQUFPLEdBQ3JCLEVBQ0YsZUFDRSxDQUFDLEVBQUMsaUJBQWlCLEVBQ25CLE1BQU0sRUFBQyxjQUFjLEVBQ3JCLFdBQVcsRUFBQyxHQUFHLEVBQ2YsYUFBYSxFQUFDLE9BQU8sR0FDckIsSUFDRSxDQUNQLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQXFCO0lBQzFELE9BQU8sQ0FDTCxlQUFLLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsV0FBVyxFQUFDLElBQUksRUFBQyxNQUFNLGtDQUM3RCx1Q0FBdUIsRUFDdkIsZUFDRSxDQUFDLEVBQUMsdUNBQXVDLEVBQ3pDLE1BQU0sRUFBQyxjQUFjLEVBQ3JCLFdBQVcsRUFBQyxHQUFHLEdBQ2YsRUFDRixlQUNFLENBQUMsRUFBQyxTQUFTLEVBQ1gsTUFBTSxFQUFDLGNBQWMsRUFDckIsV0FBVyxFQUFDLEdBQUcsRUFDZixhQUFhLEVBQUMsT0FBTyxHQUNyQixFQUNGLGVBQ0UsQ0FBQyxFQUFDLGlCQUFpQixFQUNuQixNQUFNLEVBQUMsY0FBYyxFQUNyQixXQUFXLEVBQUMsR0FBRyxFQUNmLGFBQWEsRUFBQyxPQUFPLEdBQ3JCLElBQ0UsQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFxQjtJQUN4RCxPQUFPLENBQ0wsZUFBSyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FDN0Qsb0NBQW9CLEVBQ3BCLGVBQ0UsQ0FBQyxFQUFDLFVBQVUsRUFDWixNQUFNLEVBQUMsY0FBYyxFQUNyQixXQUFXLEVBQUMsR0FBRyxFQUNmLGFBQWEsRUFBQyxPQUFPLEdBQ3JCLElBQ0UsQ0FDUCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZnVuY3Rpb24gSWNvblpvb21Jbih7IHNpemUgPSAxNiB9OiB7IHNpemU/OiBudW1iZXIgfSk6IFJlYWN0Tm9kZSB7XG4gIHJldHVybiAoXG4gICAgPHN2ZyB3aWR0aD17c2l6ZX0gaGVpZ2h0PXtzaXplfSB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBhcmlhLWhpZGRlbj5cbiAgICAgIDx0aXRsZT5ab29tIEluPC90aXRsZT5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTEgMTlhOCA4IDAgMSAwIDAtMTYgOCA4IDAgMCAwIDAgMTZaXCJcbiAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTExIDh2Nk04IDExaDZcIlxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMjAgMjBsLTMuNS0zLjVcIlxuICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L3N2Zz5cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEljb25ab29tT3V0KHsgc2l6ZSA9IDE2IH06IHsgc2l6ZT86IG51bWJlciB9KTogUmVhY3ROb2RlIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIHdpZHRoPXtzaXplfSBoZWlnaHQ9e3NpemV9IHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIGFyaWEtaGlkZGVuPlxuICAgICAgPHRpdGxlPlpvb20gT3V0PC90aXRsZT5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTEgMTlhOCA4IDAgMSAwIDAtMTYgOCA4IDAgMCAwIDAgMTZaXCJcbiAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTggMTFoNlwiXG4gICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0yMCAyMGwtMy41LTMuNVwiXG4gICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSWNvbk1pbnVzKHsgc2l6ZSA9IDE2IH06IHsgc2l6ZT86IG51bWJlciB9KTogUmVhY3ROb2RlIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIHdpZHRoPXtzaXplfSBoZWlnaHQ9e3NpemV9IHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIGFyaWEtaGlkZGVuPlxuICAgICAgPHRpdGxlPk1pbnVzPC90aXRsZT5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNiAxMmgxMlwiXG4gICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvc3ZnPlxuICApO1xufVxuIl19
@@ -352,4 +352,4 @@ export const useTraceViewer = () => useContext(TraceViewerContext);
352
352
  */
353
353
  const CustomPanelContext = createContext(null);
354
354
  export const useCustomPanelComponent = () => useContext(CustomPanelContext);
355
- //# sourceMappingURL=context.js.map
355
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyYWNlLXZpZXdlci9jb250ZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7O0FBR2IsT0FBTyxFQUNMLGFBQWEsRUFDYixVQUFVLEVBQ1YsU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsTUFBTSxHQUNQLE1BQU0sT0FBTyxDQUFDO0FBWWYsT0FBTyxFQUNMLFVBQVUsRUFDVixhQUFhLEVBQ2IsVUFBVSxFQUNWLFdBQVcsRUFDWCxVQUFVLEVBQ1YsYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBbU05RCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXFCO0lBQzVDLElBQUksRUFBRTtRQUNKLFNBQVMsRUFBRSxDQUFDO1FBQ1osT0FBTyxFQUFFLENBQUM7UUFDVixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNELE9BQU8sRUFBRSxFQUFFO0lBQ1gsV0FBVyxFQUFFLEVBQUU7SUFDZixNQUFNLEVBQUUsRUFBRTtJQUNWLFFBQVEsRUFBRSxJQUFJO0lBQ2QsU0FBUyxFQUFFLENBQUM7SUFDWixVQUFVLEVBQUUsQ0FBQztJQUNiLEtBQUssRUFBRSxDQUFDO0lBQ1IsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsY0FBYyxFQUFFLENBQUM7SUFDakIsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUM5QixpQkFBaUIsRUFBRSxFQUFFLE9BQU8sRUFB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Ozs7R0FJRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFtQixJQUFJLENBQUMsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFxQixFQUFFLENBQzVELFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgdHlwZSB7IERpc3BhdGNoLCBNdXRhYmxlUmVmT2JqZWN0LCBSZWFjdE5vZGUsIFJlZHVjZXIgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZHVjZXIsXG4gIHVzZVJlZixcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge1xuICBHZXRRdWlja0xpbmtzLFxuICBNZW1vQ2FjaGUsXG4gIE1lbW9DYWNoZUtleSxcbiAgUXVpY2tMaW5rLFxuICBSZXNvdXJjZSxcbiAgUm9vdE5vZGUsXG4gIFNjcm9sbFNuYXBzaG90LFxuICBTcGFuTm9kZSxcbiAgVmlzaWJsZVNwYW5FdmVudCxcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBNQVBfSEVJR0hULFxuICBNQVJLRVJfSEVJR0hULFxuICBST1dfSEVJR0hULFxuICBST1dfUEFERElORyxcbiAgU0VBUkNIX0dBUCxcbiAgU0VBUkNIX0hFSUdIVCxcbiAgVElNRUxJTkVfUEFERElORyxcbn0gZnJvbSAnLi91dGlsL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBkZXRlY3RTY3JvbGxiYXJXaWR0aCB9IGZyb20gJy4vdXRpbC9zY3JvbGxiYXItd2lkdGgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNlVmlld2VyU3RhdGUge1xuICAvKipcbiAgICogVGhlIHJvb3Qgbm9kZSBmb3IgdGhlIHRyZWVcbiAgICovXG4gIHJvb3Q6IFJvb3ROb2RlO1xuICAvKipcbiAgICogQSBtYXAgb2Ygc3BhbklkIHRvIHNwYW4gbm9kZXNcbiAgICovXG4gIHNwYW5NYXA6IFJlY29yZDxzdHJpbmcsIFNwYW5Ob2RlPjtcbiAgLyoqXG4gICAqIEEgbWFwIG9mIHJlc291cmNlIG5hbWUgdG8gcmVzb3VyY2VcbiAgICovXG4gIHJlc291cmNlTWFwOiBSZWNvcmQ8c3RyaW5nLCBSZXNvdXJjZVsnYXR0cmlidXRlcyddPjtcbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IChkZWJvdW5jZWQpIHNlYXJjaCBpbnB1dCB2YWx1ZVxuICAgKi9cbiAgZmlsdGVyOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc3BhbiB0aGF0IGlzIGN1cnJlbnRseSBmb2N1c2VkIGFuZCB2aXNpYmxlIGluIHRoZSBwYW5lbFxuICAgKi9cbiAgc2VsZWN0ZWQ6IFNwYW5Ob2RlIHwgbnVsbDtcbiAgLyoqXG4gICAqIFRoZSBpbml0aWFsIHNjYWxlIG9mIHRoZSB0cmFjZS4gQXQgdGhpcyBzY2FsZSB0aGUgZW50aXJlIHRyYWNlIGlzIHZpc2libGVcbiAgICovXG4gIGJhc2VTY2FsZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG11bHRpcGxpZXIgb2YgdGhlIGJhc2Ugc2NhbGUgdG8gZ2V0IHRoZSBjdXJyZW50IHNjYWxlXG4gICAqL1xuICBzY2FsZVJhdGlvOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgc2NhbGUgb2YgMW1zIGluIHBpeGVsc1xuICAgKi9cbiAgc2NhbGU6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSB3aWR0aCBvZiB0aGUgZW50aXJlIHRyYWNlIHZpZXdlciBpbiBwaXhlbHNcbiAgICovXG4gIHdpZHRoOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgaGVpZ2h0IG9mIHRoZSBlbnRpcmUgdHJhY2Ugdmlld2VyIGluIHBpeGVsc1xuICAgKi9cbiAgaGVpZ2h0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgd2lkdGggb2YgdGhlIHRpbWVsaW5lIHZpZXcgaW4gcGl4ZWxzXG4gICAqL1xuICB0aW1lbGluZVdpZHRoOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgaGVpZ2h0IG9mIHRoZSB0aW1lbGluZSB2aWV3IGluIHBpeGVsc1xuICAgKi9cbiAgdGltZWxpbmVIZWlnaHQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSB3aWR0aCBvZiB0aGUgc2lkZSBwYW5lbCBpbiBwaXhlbHNcbiAgICovXG4gIHBhbmVsV2lkdGg6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBoZWlnaHQgb2YgdGhlIHNpZGUgcGFuZWwgaW4gcGl4ZWxzXG4gICAqL1xuICBwYW5lbEhlaWdodDogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIHdpZHRoIG9mIHNjcm9sbGJhcnMgb24gdGhpcyBkZXZpY2VcbiAgICovXG4gIHNjcm9sbGJhcldpZHRoOiBudW1iZXI7XG4gIC8qKlxuICAgKiBBIHJlZiBmb3IgdGhlIHRpbWVsaW5lIGVsZW1lbnRcbiAgICovXG4gIHRpbWVsaW5lUmVmOiBNdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD47XG4gIC8qKlxuICAgKiBBIHJlZiBmb3IgdXBkYXRpbmcgdGltZWxpbmUgc2Nyb2xsIHBvc2l0aW9uIGltbWVkaWF0ZWx5IGFmdGVyIGEgc2NhbGUgb3BlcmF0aW9uXG4gICAqL1xuICBzY3JvbGxTbmFwc2hvdFJlZjogTXV0YWJsZVJlZk9iamVjdDxTY3JvbGxTbmFwc2hvdCB8IHVuZGVmaW5lZD47XG4gIC8qKlxuICAgKiBBIHJlZmVyZW5jZSBmb3IgdGhlIGxhc3QgdGltZSBlYWNoIG5vZGUgd2FzIG11dGF0ZWQuIFVzZWQgZm9yIG1vcmUgZWZmaWNlbnQgY29udHJvbFxuICAgKiBvZiB3aGF0IFJlYWN0IHJlLXJlbmRlcnMgYW5kIHdoZW4uXG4gICAqL1xuICBtZW1vQ2FjaGVSZWY6IE11dGFibGVSZWZPYmplY3Q8TWVtb0NhY2hlPjtcbiAgLyoqXG4gICAqIEEgY29uc3RhbnQsIHdyYXBwZWQgdmVyc2lvbiBvZiB0aGUgZ2V0UXVpY2tMaW5rcyBwcm9wZXJ0eSB3aXRoIGNhY2hpbmdcbiAgICovXG4gIGdldFF1aWNrTGlua3M6IEdldFF1aWNrTGlua3M7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwYW5lbCBpcyBiZWluZyByZW5kZXJlZCBhdHRhY2hlZCB0byB0aGUgdGltZWxpbmVcbiAgICovXG4gIHdpdGhQYW5lbDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRyYWNlIHZpZXdlciBpcyBzbWFsbCBlbm91Z2ggdGhhdCBpdCBzaG91bGQgYmUgaW4gbW9iaWxlIG1vZGVcbiAgICovXG4gIGlzTW9iaWxlOiBib29sZWFuO1xuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byBwcm92aWRlIGN1c3RvbSBjbGFzcyBuYW1lcyBmb3Igc3BhbnMuXG4gICAqL1xuICBjdXN0b21TcGFuQ2xhc3NOYW1lRnVuYz86IChzcGFuOiBTcGFuTm9kZSkgPT4gc3RyaW5nO1xuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byBwcm92aWRlIGN1c3RvbSBjbGFzcyBuYW1lcyBmb3Igc3BhbiBldmVudHMuXG4gICAqL1xuICBjdXN0b21TcGFuRXZlbnRDbGFzc05hbWVGdW5jPzogKGV2ZW50OiBWaXNpYmxlU3BhbkV2ZW50KSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRyYWNlVmlld2VyQWN0aW9uID1cbiAgfCB7XG4gICAgICB0eXBlOiAnc2V0Um9vdCc7XG4gICAgICByb290OiBSb290Tm9kZTtcbiAgICAgIHNwYW5NYXA6IFJlY29yZDxzdHJpbmcsIFNwYW5Ob2RlPjtcbiAgICAgIHJlc291cmNlczogUmVzb3VyY2VbXTtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3NldFNpemUnO1xuICAgICAgd2lkdGg6IG51bWJlcjtcbiAgICAgIGhlaWdodDogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnc2V0UGFuZWxXaWR0aCc7XG4gICAgICB3aWR0aDogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnc2V0RmlsdGVyJztcbiAgICAgIGZpbHRlcjogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZGVzZWxlY3QnO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnc2VsZWN0JztcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdlc2NhcGUnO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAndG9nZ2xlU2VsZWN0aW9uJztcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdkZXRlY3RCYXNlU2NhbGUnO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnc2V0U2NhbGUnO1xuICAgICAgc2NhbGU6IG51bWJlcjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3Jlc2V0U2NhbGUnO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnc2NhbGVUb05vZGUnO1xuICAgICAgaWQ6IHN0cmluZztcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3NjYWxlVG9SYW5nZSc7XG4gICAgICB0MTogbnVtYmVyO1xuICAgICAgdDI6IG51bWJlcjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2FkanVzdFNjYWxlUmF0aW8nO1xuICAgICAgZGlyZWN0aW9uOiAtMSB8IDAgfCAxO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAndHJhY2twYWRTY2FsZSc7XG4gICAgICBkZWx0YTogbnVtYmVyO1xuICAgICAgYW5jaG9yVDogbnVtYmVyO1xuICAgICAgYW5jaG9yWDogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnbWluU2NhbGUnO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnc2V0U2Nyb2xsU25hcHNob3QnO1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdGltZSB0aGF0IHdpbGwgcmVtYWluIHRoZSBzYW1lIGxvY2F0aW9uIGFmdGVyIHNjYWxpbmdcbiAgICAgICAqL1xuICAgICAgYW5jaG9yVDogbnVtYmVyO1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgYW5jaG9yIHBvaW50IHJlbGF0aXZlIHRvIHRoZSB0aW1lbGluZSdzIGxlZnQgcG9zaXRpb25cbiAgICAgICAqL1xuICAgICAgYW5jaG9yWDogbnVtYmVyO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnc2V0V2l0aFBhbmVsJztcbiAgICAgIHdpdGhQYW5lbDogYm9vbGVhbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2ZvcmNlUmVuZGVyJztcbiAgICB9XG4gIHwge1xuICAgICAgLyoqIExpa2Ugc2V0Um9vdCBidXQgcHJlc2VydmVzIHNjcm9sbCBwb3NpdGlvbiBhbmQgbWVtbyBjYWNoZSAoZm9yIGluY3JlbWVudGFsIGRhdGEgdXBkYXRlcykgKi9cbiAgICAgIHR5cGU6ICd1cGRhdGVSb290JztcbiAgICAgIHJvb3Q6IFJvb3ROb2RlO1xuICAgICAgc3Bhbk1hcDogUmVjb3JkPHN0cmluZywgU3Bhbk5vZGU+O1xuICAgICAgcmVzb3VyY2VzOiBSZXNvdXJjZVtdO1xuICAgIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2VWaWV3ZXJDb250ZXh0UHJvcHMge1xuICBzdGF0ZTogVHJhY2VWaWV3ZXJTdGF0ZTtcbiAgZGlzcGF0Y2g6IERpc3BhdGNoPFRyYWNlVmlld2VyQWN0aW9uPjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdGF0ZTogVHJhY2VWaWV3ZXJTdGF0ZSA9IHtcbiAgcm9vdDoge1xuICAgIHN0YXJ0VGltZTogMCxcbiAgICBlbmRUaW1lOiAxLFxuICAgIGR1cmF0aW9uOiAxLFxuICAgIGRlcHRoOiAwLFxuICAgIGNoaWxkcmVuOiBbXSxcbiAgfSxcbiAgc3Bhbk1hcDoge30sXG4gIHJlc291cmNlTWFwOiB7fSxcbiAgZmlsdGVyOiAnJyxcbiAgc2VsZWN0ZWQ6IG51bGwsXG4gIGJhc2VTY2FsZTogMSxcbiAgc2NhbGVSYXRpbzogMSxcbiAgc2NhbGU6IDEsXG4gIHdpZHRoOiA2NDAsXG4gIGhlaWdodDogNDgwLFxuICB0aW1lbGluZVdpZHRoOiA2NDAsXG4gIHRpbWVsaW5lSGVpZ2h0OiA0ODAsXG4gIHBhbmVsV2lkdGg6IDM4MCxcbiAgcGFuZWxIZWlnaHQ6IDQ4MCxcbiAgc2Nyb2xsYmFyV2lkdGg6IDAsXG4gIHRpbWVsaW5lUmVmOiB7IGN1cnJlbnQ6IG51bGwgfSxcbiAgc2Nyb2xsU25hcHNob3RSZWY6IHsgY3VycmVudDogdW5kZWZpbmVkIH0sXG4gIG1lbW9DYWNoZVJlZjogeyBjdXJyZW50OiBuZXcgTWFwKCkgfSxcbiAgZ2V0UXVpY2tMaW5rczogKCkgPT4gW10sXG4gIHdpdGhQYW5lbDogZmFsc2UsXG4gIGlzTW9iaWxlOiBmYWxzZSxcbn07XG5cbmNvbnN0IGdldE1pblNjYWxlID0gKHN0YXRlOiBUcmFjZVZpZXdlclN0YXRlKTogbnVtYmVyID0+IHtcbiAgcmV0dXJuIChzdGF0ZS50aW1lbGluZVdpZHRoIC0gc3RhdGUuc2Nyb2xsYmFyV2lkdGgpIC8gc3RhdGUucm9vdC5kdXJhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBUcmFjZVZpZXdlckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFRyYWNlVmlld2VyQ29udGV4dFByb3BzPih7XG4gIHN0YXRlOiBpbml0aWFsU3RhdGUsXG4gIGRpc3BhdGNoOiAoKSA9PiB7XG4gICAgLy8gbm9vcFxuICB9LFxufSk7XG5UcmFjZVZpZXdlckNvbnRleHQuZGlzcGxheU5hbWUgPSAnVHJhY2VWaWV3ZXJDb250ZXh0JztcblxuY29uc3QgcmVkdWNlcjogUmVkdWNlcjxUcmFjZVZpZXdlclN0YXRlLCBUcmFjZVZpZXdlckFjdGlvbj4gPSAoXG4gIHN0YXRlLFxuICBhY3Rpb25cbikgPT4ge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSAnc2V0Um9vdCc6XG4gICAgICBzdGF0ZS5zY3JvbGxTbmFwc2hvdFJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgc3RhdGUubWVtb0NhY2hlUmVmLmN1cnJlbnQuY2xlYXIoKTtcbiAgICAgIHJldHVybiByZWR1Y2VyKFxuICAgICAgICB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgcm9vdDogYWN0aW9uLnJvb3QsXG4gICAgICAgICAgc3Bhbk1hcDogYWN0aW9uLnNwYW5NYXAsXG4gICAgICAgICAgcmVzb3VyY2VNYXA6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICAgIGFjdGlvbi5yZXNvdXJjZXMubWFwKCh7IG5hbWUsIGF0dHJpYnV0ZXMgfSkgPT4gW25hbWUsIGF0dHJpYnV0ZXNdKVxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnZGV0ZWN0QmFzZVNjYWxlJyxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICBjYXNlICdzZXRTaXplJzoge1xuICAgICAgY29uc3QgbG93ZXJIZWlnaHQgPVxuICAgICAgICBhY3Rpb24uaGVpZ2h0IC0gTUFQX0hFSUdIVCAtIFNFQVJDSF9IRUlHSFQgLSAzICogU0VBUkNIX0dBUDtcblxuICAgICAgY29uc3QgaXNNb2JpbGUgPSBzdGF0ZS53aXRoUGFuZWwgJiYgYWN0aW9uLndpZHRoIDw9IDc2ODtcblxuICAgICAgbGV0IG5ld1N0YXRlID0ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgd2lkdGg6IGFjdGlvbi53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiBhY3Rpb24uaGVpZ2h0LFxuICAgICAgICB0aW1lbGluZVdpZHRoOlxuICAgICAgICAgIGFjdGlvbi53aWR0aCAtXG4gICAgICAgICAgTnVtYmVyKEJvb2xlYW4oc3RhdGUuc2VsZWN0ZWQgJiYgc3RhdGUud2l0aFBhbmVsICYmICFpc01vYmlsZSkpICpcbiAgICAgICAgICAgIHN0YXRlLnBhbmVsV2lkdGgsXG4gICAgICAgIHRpbWVsaW5lSGVpZ2h0OiBsb3dlckhlaWdodCxcbiAgICAgICAgcGFuZWxIZWlnaHQ6IGxvd2VySGVpZ2h0LFxuICAgICAgICBpc01vYmlsZSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChuZXdTdGF0ZS53aWR0aCAhPT0gc3RhdGUud2lkdGgpIHtcbiAgICAgICAgbmV3U3RhdGUgPSByZWR1Y2VyKG5ld1N0YXRlLCB7XG4gICAgICAgICAgdHlwZTogJ2RldGVjdEJhc2VTY2FsZScsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3U3RhdGU7XG4gICAgfVxuICAgIGNhc2UgJ3NldFBhbmVsV2lkdGgnOiB7XG4gICAgICBjb25zdCBwYW5lbFdpZHRoID0gTWF0aC5tYXgoXG4gICAgICAgIDI0MCxcbiAgICAgICAgTWF0aC5taW4oYWN0aW9uLndpZHRoLCBzdGF0ZS53aWR0aCAtIDI0MClcbiAgICAgICk7XG4gICAgICBjb25zdCB0aW1lbGluZVdpZHRoID1cbiAgICAgICAgc3RhdGUud2l0aFBhbmVsICYmIHN0YXRlLnNlbGVjdGVkICYmICFzdGF0ZS5pc01vYmlsZVxuICAgICAgICAgID8gc3RhdGUud2lkdGggLSBwYW5lbFdpZHRoXG4gICAgICAgICAgOiBzdGF0ZS53aWR0aDtcbiAgICAgIHJldHVybiByZWR1Y2VyKFxuICAgICAgICB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgdGltZWxpbmVXaWR0aCxcbiAgICAgICAgICBwYW5lbFdpZHRoLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2RldGVjdEJhc2VTY2FsZScsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICAgIGNhc2UgJ3NldEZpbHRlcic6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZmlsdGVyOiBhY3Rpb24uZmlsdGVyLFxuICAgICAgfTtcbiAgICBjYXNlICdkZXNlbGVjdCc6XG4gICAgICByZXR1cm4gcmVkdWNlcihcbiAgICAgICAge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIHNlbGVjdGVkOiBudWxsLFxuICAgICAgICAgIHRpbWVsaW5lV2lkdGg6IHN0YXRlLndpZHRoLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2RldGVjdEJhc2VTY2FsZScsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgY2FzZSAnc2VsZWN0Jzoge1xuICAgICAgY29uc3Qgbm9kZSA9IHN0YXRlLnNwYW5NYXBbYWN0aW9uLmlkXTtcbiAgICAgIGlmICghbm9kZSkge1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWR1Y2VyKFxuICAgICAgICB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgc2VsZWN0ZWQ6IG5vZGUsXG4gICAgICAgICAgdGltZWxpbmVXaWR0aDpcbiAgICAgICAgICAgIHN0YXRlLndpZHRoIC1cbiAgICAgICAgICAgIChzdGF0ZS53aXRoUGFuZWwgJiYgIXN0YXRlLmlzTW9iaWxlID8gc3RhdGUucGFuZWxXaWR0aCA6IDApLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2RldGVjdEJhc2VTY2FsZScsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICAgIGNhc2UgJ2VzY2FwZSc6IHtcbiAgICAgIGlmIChzdGF0ZS5zZWxlY3RlZCkge1xuICAgICAgICByZXR1cm4gcmVkdWNlcihzdGF0ZSwge1xuICAgICAgICAgIHR5cGU6ICdkZXNlbGVjdCcsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlZHVjZXIoc3RhdGUsIHtcbiAgICAgICAgdHlwZTogJ3Jlc2V0U2NhbGUnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNhc2UgJ3RvZ2dsZVNlbGVjdGlvbic6IHtcbiAgICAgIGxldCBuZXdTdGF0ZSA9IHN0YXRlO1xuICAgICAgaWYgKHN0YXRlLnNlbGVjdGVkKSB7XG4gICAgICAgIG5ld1N0YXRlID0gcmVkdWNlcihuZXdTdGF0ZSwge1xuICAgICAgICAgIHR5cGU6ICdkZXNlbGVjdCcsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHN0YXRlLnNlbGVjdGVkPy5zcGFuLnNwYW5JZCA9PT0gYWN0aW9uLmlkKSB7XG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZWR1Y2VyKG5ld1N0YXRlLCB7XG4gICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICBpZDogYWN0aW9uLmlkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNhc2UgJ2RldGVjdEJhc2VTY2FsZSc6IHtcbiAgICAgIGNvbnN0IGJhc2VTY2FsZSA9XG4gICAgICAgIChzdGF0ZS50aW1lbGluZVdpZHRoIC0gc3RhdGUuc2Nyb2xsYmFyV2lkdGgpIC8gc3RhdGUucm9vdC5kdXJhdGlvbjtcblxuICAgICAgcmV0dXJuIHJlZHVjZXIoXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBiYXNlU2NhbGUsXG4gICAgICAgICAgc2NhbGU6IGJhc2VTY2FsZSAqIHN0YXRlLnNjYWxlUmF0aW8sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnbWluU2NhbGUnLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgICBjYXNlICdzZXRTY2FsZSc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2NhbGVSYXRpbzogYWN0aW9uLnNjYWxlLFxuICAgICAgICBzY2FsZTogc3RhdGUuYmFzZVNjYWxlICogYWN0aW9uLnNjYWxlLFxuICAgICAgfTtcbiAgICBjYXNlICdyZXNldFNjYWxlJzpcbiAgICAgIHJldHVybiByZWR1Y2VyKHN0YXRlLCB7XG4gICAgICAgIHR5cGU6ICdzY2FsZVRvUmFuZ2UnLFxuICAgICAgICB0MTogc3RhdGUucm9vdC5zdGFydFRpbWUsXG4gICAgICAgIHQyOiBzdGF0ZS5yb290LmVuZFRpbWUsXG4gICAgICB9KTtcbiAgICBjYXNlICdzY2FsZVRvTm9kZSc6IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBzdGF0ZS5zcGFuTWFwW2FjdGlvbi5pZF07XG4gICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlZHVjZXIoXG4gICAgICAgIHJlZHVjZXIoc3RhdGUsIHtcbiAgICAgICAgICB0eXBlOiAnc2V0U2NhbGUnLFxuICAgICAgICAgIHNjYWxlOlxuICAgICAgICAgICAgKHN0YXRlLndpZHRoIC1cbiAgICAgICAgICAgICAgc3RhdGUuc2Nyb2xsYmFyV2lkdGggLVxuICAgICAgICAgICAgICAoc3RhdGUud2l0aFBhbmVsICYmICFzdGF0ZS5pc01vYmlsZSA/IHN0YXRlLnBhbmVsV2lkdGggOiAwKSkgL1xuICAgICAgICAgICAgbm9kZS5kdXJhdGlvbiAvXG4gICAgICAgICAgICBzdGF0ZS5iYXNlU2NhbGUsXG4gICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3NldFNjcm9sbFNuYXBzaG90JyxcbiAgICAgICAgICBhbmNob3JUOiBub2RlLnN0YXJ0VGltZSAtIHN0YXRlLnJvb3Quc3RhcnRUaW1lLFxuICAgICAgICAgIGFuY2hvclg6IDAsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICAgIGNhc2UgJ3NjYWxlVG9SYW5nZSc6IHtcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gTWF0aC5hYnMoYWN0aW9uLnQxIC0gYWN0aW9uLnQyKTtcblxuICAgICAgcmV0dXJuIHJlZHVjZXIoXG4gICAgICAgIHJlZHVjZXIoc3RhdGUsIHtcbiAgICAgICAgICB0eXBlOiAnc2V0U2NhbGUnLFxuICAgICAgICAgIHNjYWxlOlxuICAgICAgICAgICAgKHN0YXRlLndpZHRoIC1cbiAgICAgICAgICAgICAgc3RhdGUuc2Nyb2xsYmFyV2lkdGggLVxuICAgICAgICAgICAgICAoc3RhdGUuc2VsZWN0ZWQgJiYgc3RhdGUud2l0aFBhbmVsID8gc3RhdGUucGFuZWxXaWR0aCA6IDApKSAvXG4gICAgICAgICAgICBkdXJhdGlvbiAvXG4gICAgICAgICAgICBzdGF0ZS5iYXNlU2NhbGUsXG4gICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3NldFNjcm9sbFNuYXBzaG90JyxcbiAgICAgICAgICBhbmNob3JUOiBNYXRoLm1pbihhY3Rpb24udDEsIGFjdGlvbi50MikgLSBzdGF0ZS5yb290LnN0YXJ0VGltZSxcbiAgICAgICAgICBhbmNob3JYOiAwLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgICBjYXNlICdhZGp1c3RTY2FsZVJhdGlvJzoge1xuICAgICAgbGV0IHsgc2NhbGVSYXRpbyB9ID0gc3RhdGU7XG4gICAgICBzd2l0Y2ggKGFjdGlvbi5kaXJlY3Rpb24pIHtcbiAgICAgICAgY2FzZSAtMTpcbiAgICAgICAgICBzY2FsZVJhdGlvICo9IDAuODtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIHNjYWxlUmF0aW8gKj0gMS4yNTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBzY2FsZVJhdGlvID0gMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY29uc3QgJHRpbWVsaW5lID0gc3RhdGUudGltZWxpbmVSZWYuY3VycmVudDtcbiAgICAgIGlmICghJHRpbWVsaW5lKSB7XG4gICAgICAgIGNvbnNvbGUud2FybigndGltZWxpbmVSZWYgaXMgbnVsbCcpO1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgY2xpZW50V2lkdGgsIHNjcm9sbExlZnQgfSA9ICR0aW1lbGluZTtcblxuICAgICAgcmV0dXJuIHJlZHVjZXIoXG4gICAgICAgIHJlZHVjZXIoXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBzY2FsZVJhdGlvLFxuICAgICAgICAgICAgc2NhbGU6IHN0YXRlLmJhc2VTY2FsZSAqIHNjYWxlUmF0aW8sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnbWluU2NhbGUnLFxuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdzZXRTY3JvbGxTbmFwc2hvdCcsXG4gICAgICAgICAgYW5jaG9yVDogKHNjcm9sbExlZnQgKyBjbGllbnRXaWR0aCAqIDAuNSkgLyBzdGF0ZS5zY2FsZSxcbiAgICAgICAgICBhbmNob3JYOiBjbGllbnRXaWR0aCAqIDAuNSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgY2FzZSAndHJhY2twYWRTY2FsZSc6IHtcbiAgICAgIGNvbnN0IG1pblNjYWxlUmF0aW8gPSBnZXRNaW5TY2FsZShzdGF0ZSkgLyBzdGF0ZS5iYXNlU2NhbGU7XG4gICAgICBjb25zdCBzY2FsZVJhdGlvID0gTWF0aC5tYXgoXG4gICAgICAgIG1pblNjYWxlUmF0aW8sXG4gICAgICAgIHN0YXRlLnNjYWxlUmF0aW8gKlxuICAgICAgICAgICgxICtcbiAgICAgICAgICAgIDAuMiAqIE1hdGguc2lnbihhY3Rpb24uZGVsdGEpICogTWF0aC5zcXJ0KE1hdGguYWJzKGFjdGlvbi5kZWx0YSkpKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHJlZHVjZXIoXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICBzY2FsZVJhdGlvLFxuICAgICAgICAgIHNjYWxlOiBzdGF0ZS5iYXNlU2NhbGUgKiBzY2FsZVJhdGlvLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ3NldFNjcm9sbFNuYXBzaG90JyxcbiAgICAgICAgICBhbmNob3JUOiBhY3Rpb24uYW5jaG9yVCxcbiAgICAgICAgICBhbmNob3JYOiBhY3Rpb24uYW5jaG9yWCxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgY2FzZSAnbWluU2NhbGUnOiB7XG4gICAgICBjb25zdCBtaW5TY2FsZSA9IGdldE1pblNjYWxlKHN0YXRlKTtcbiAgICAgIGlmIChzdGF0ZS5zY2FsZSA+PSBtaW5TY2FsZSkgcmV0dXJuIHN0YXRlO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNjYWxlOiBtaW5TY2FsZSxcbiAgICAgICAgc2NhbGVSYXRpbzogbWluU2NhbGUgLyBzdGF0ZS5iYXNlU2NhbGUsXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlICdzZXRTY3JvbGxTbmFwc2hvdCc6IHtcbiAgICAgIGNvbnN0ICR0aW1lbGluZSA9IHN0YXRlLnRpbWVsaW5lUmVmLmN1cnJlbnQ7XG4gICAgICBpZiAoISR0aW1lbGluZSkgcmV0dXJuIHN0YXRlO1xuXG4gICAgICBjb25zdCB7IGFuY2hvclQsIGFuY2hvclggfSA9IGFjdGlvbjtcblxuICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IGFuY2hvclQgKiBzdGF0ZS5zY2FsZSAtIGFuY2hvclg7XG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCB9ID0gJHRpbWVsaW5lO1xuICAgICAgY29uc3Qgc3RhcnRSb3cgPVxuICAgICAgICAoc2Nyb2xsVG9wIC0gTUFSS0VSX0hFSUdIVCAtIFRJTUVMSU5FX1BBRERJTkcpIC9cbiAgICAgICAgKFJPV19IRUlHSFQgKyBST1dfUEFERElORyk7XG4gICAgICBjb25zdCBlbmRSb3cgPVxuICAgICAgICBzdGFydFJvdyArIE1hdGguY2VpbChzdGF0ZS50aW1lbGluZUhlaWdodCAvIChST1dfSEVJR0hUICsgUk9XX1BBRERJTkcpKTtcblxuICAgICAgc3RhdGUuc2Nyb2xsU25hcHNob3RSZWYuY3VycmVudCA9IHtcbiAgICAgICAgYW5jaG9yVCxcbiAgICAgICAgYW5jaG9yWCxcbiAgICAgICAgc2Nyb2xsTGVmdCxcbiAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICBzdGFydFRpbWU6IHN0YXRlLnJvb3Quc3RhcnRUaW1lICsgc2Nyb2xsTGVmdCAvIHN0YXRlLnNjYWxlLFxuICAgICAgICBlbmRUaW1lOlxuICAgICAgICAgIHN0YXRlLnJvb3Quc3RhcnRUaW1lICtcbiAgICAgICAgICAoc2Nyb2xsTGVmdCArIHN0YXRlLnRpbWVsaW5lV2lkdGgpIC8gc3RhdGUuc2NhbGUsXG4gICAgICAgIHN0YXJ0Um93LFxuICAgICAgICBlbmRSb3csXG4gICAgICAgIHNjYWxlOiBzdGF0ZS5zY2FsZSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9XG4gICAgY2FzZSAnc2V0V2l0aFBhbmVsJzoge1xuICAgICAgaWYgKHN0YXRlLndpdGhQYW5lbCA9PT0gYWN0aW9uLndpdGhQYW5lbCkgcmV0dXJuIHN0YXRlO1xuICAgICAgY29uc3QgdGltZWxpbmVXaWR0aCA9XG4gICAgICAgIGFjdGlvbi53aXRoUGFuZWwgJiYgc3RhdGUuc2VsZWN0ZWQgJiYgIXN0YXRlLmlzTW9iaWxlXG4gICAgICAgICAgPyBzdGF0ZS53aWR0aCAtIHN0YXRlLnBhbmVsV2lkdGhcbiAgICAgICAgICA6IHN0YXRlLndpZHRoO1xuICAgICAgcmV0dXJuIHJlZHVjZXIoXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICB3aXRoUGFuZWw6IGFjdGlvbi53aXRoUGFuZWwsXG4gICAgICAgICAgdGltZWxpbmVXaWR0aCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdkZXRlY3RCYXNlU2NhbGUnLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgICBjYXNlICdmb3JjZVJlbmRlcic6XG4gICAgICBzdGF0ZS5tZW1vQ2FjaGVSZWYuY3VycmVudC5zZXQoJycsIHt9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgfTtcbiAgICBjYXNlICd1cGRhdGVSb290JzpcbiAgICAgIC8vIEluY3JlbWVudGFsIHVwZGF0ZTogcHJlc2VydmUgc2Nyb2xsIHNuYXBzaG90IGFuZCBvbmx5IGludmFsaWRhdGVcbiAgICAgIC8vIG1lbW8gY2FjaGUgZm9yIHNwYW5zIHdob3NlIGRhdGEgbWF5IGhhdmUgY2hhbmdlZFxuICAgICAgc3RhdGUubWVtb0NhY2hlUmVmLmN1cnJlbnQuc2V0KCcnLCB7fSk7XG4gICAgICByZXR1cm4gcmVkdWNlcihcbiAgICAgICAge1xuICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgIHJvb3Q6IGFjdGlvbi5yb290LFxuICAgICAgICAgIHNwYW5NYXA6IGFjdGlvbi5zcGFuTWFwLFxuICAgICAgICAgIHJlc291cmNlTWFwOiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgICAgICBhY3Rpb24ucmVzb3VyY2VzLm1hcCgoeyBuYW1lLCBhdHRyaWJ1dGVzIH0pID0+IFtuYW1lLCBhdHRyaWJ1dGVzXSlcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ2RldGVjdEJhc2VTY2FsZScsXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBUcmFjZVZpZXdlckNvbnRleHRQcm92aWRlcih7XG4gIGdldFF1aWNrTGlua3MsXG4gIHdpdGhQYW5lbCA9IGZhbHNlLFxuICBjaGlsZHJlbixcbiAgY3VzdG9tU3BhbkNsYXNzTmFtZUZ1bmMsXG4gIGN1c3RvbVNwYW5FdmVudENsYXNzTmFtZUZ1bmMsXG4gIGN1c3RvbVBhbmVsQ29tcG9uZW50ID0gbnVsbCxcbn06IHtcbiAgZ2V0UXVpY2tMaW5rcz86IEdldFF1aWNrTGlua3M7XG4gIHdpdGhQYW5lbD86IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGN1c3RvbVNwYW5DbGFzc05hbWVGdW5jPzogKHNwYW46IFNwYW5Ob2RlKSA9PiBzdHJpbmc7XG4gIGN1c3RvbVNwYW5FdmVudENsYXNzTmFtZUZ1bmM/OiAoZXZlbnQ6IFZpc2libGVTcGFuRXZlbnQpID0+IHN0cmluZztcbiAgY3VzdG9tUGFuZWxDb21wb25lbnQ/OiBSZWFjdE5vZGU7XG59KTogUmVhY3ROb2RlIHtcbiAgY29uc3QgdGltZWxpbmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBzY3JvbGxTbmFwc2hvdFJlZiA9IHVzZVJlZjxTY3JvbGxTbmFwc2hvdD4odW5kZWZpbmVkKTtcbiAgY29uc3QgZ2V0UXVpY2tMaW5rc1JlZiA9IHVzZVJlZihnZXRRdWlja0xpbmtzKTtcbiAgZ2V0UXVpY2tMaW5rc1JlZi5jdXJyZW50ID0gZ2V0UXVpY2tMaW5rcztcbiAgY29uc3QgbWVtb0NhY2hlUmVmID0gdXNlUmVmKG5ldyBNYXA8c3RyaW5nLCBNZW1vQ2FjaGVLZXk+KCkpO1xuICBjb25zdCBxdWlja0xpbmtzQ2FjaGUgPSB1c2VSZWYobmV3IE1hcDxzdHJpbmcsIFF1aWNrTGlua1tdPigpKTtcbiAgY29uc3QgW3N0YXRlLCBkaXNwYXRjaF0gPSB1c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxTdGF0ZSwgKGluaXRpYWwpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uaW5pdGlhbCxcbiAgICAgIHNjcm9sbGJhcldpZHRoOiBkZXRlY3RTY3JvbGxiYXJXaWR0aCgpLFxuICAgICAgdGltZWxpbmVSZWYsXG4gICAgICBzY3JvbGxTbmFwc2hvdFJlZixcbiAgICAgIGN1c3RvbVNwYW5DbGFzc05hbWVGdW5jLFxuICAgICAgY3VzdG9tU3BhbkV2ZW50Q2xhc3NOYW1lRnVuYyxcbiAgICAgIG1lbW9DYWNoZVJlZixcbiAgICAgIHdpdGhQYW5lbCxcbiAgICAgIGdldFF1aWNrTGlua3M6IChzcGFuKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gc3Bhbi5zcGFuSWQ7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nID0gcXVpY2tMaW5rc0NhY2hlLmN1cnJlbnQuZ2V0KGNhY2hlS2V5KTtcbiAgICAgICAgaWYgKGV4aXN0aW5nKSByZXR1cm4gZXhpc3Rpbmc7XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBnZXRRdWlja0xpbmtzUmVmLmN1cnJlbnQ/LihzcGFuKSB8fCBbXTtcbiAgICAgICAgcXVpY2tMaW5rc0NhY2hlLmN1cnJlbnQuc2V0KGNhY2hlS2V5LCB2YWx1ZSk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSk7XG5cbiAgdXNlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICBkaXNwYXRjaCh7XG4gICAgICAgIHR5cGU6ICdzZXRXaXRoUGFuZWwnLFxuICAgICAgICB3aXRoUGFuZWwsXG4gICAgICB9KSxcbiAgICBbd2l0aFBhbmVsXVxuICApO1xuXG4gIGNvbnN0IHZhbHVlOiBUcmFjZVZpZXdlckNvbnRleHRQcm9wcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHsgc3RhdGUsIGRpc3BhdGNoIH0pLFxuICAgIFtzdGF0ZSwgZGlzcGF0Y2hdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q3VzdG9tUGFuZWxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjdXN0b21QYW5lbENvbXBvbmVudH0+XG4gICAgICA8VHJhY2VWaWV3ZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvVHJhY2VWaWV3ZXJDb250ZXh0LlByb3ZpZGVyPlxuICAgIDwvQ3VzdG9tUGFuZWxDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuXG5leHBvcnQgY29uc3QgdXNlVHJhY2VWaWV3ZXIgPSAoKTogVHJhY2VWaWV3ZXJDb250ZXh0UHJvcHMgPT5cbiAgdXNlQ29udGV4dChUcmFjZVZpZXdlckNvbnRleHQpO1xuXG4vKipcbiAqIFNlcGFyYXRlIGNvbnRleHQgZm9yIHRoZSBjdXN0b20gcGFuZWwgY29tcG9uZW50LiBUaGlzIGlzIGludGVudGlvbmFsbHlcbiAqIG91dHNpZGUgdGhlIHVzZVJlZHVjZXIgc3RhdGUgc28gdGhhdCB0aGUgcGFuZWwgcmUtcmVuZGVycyByZWFjdGl2ZWx5XG4gKiB3aGVuIHByb3BzIGxpa2Ugc3BhbkRldGFpbERhdGEgY2hhbmdlLlxuICovXG5jb25zdCBDdXN0b21QYW5lbENvbnRleHQgPSBjcmVhdGVDb250ZXh0PFJlYWN0Tm9kZSB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgY29uc3QgdXNlQ3VzdG9tUGFuZWxDb21wb25lbnQgPSAoKTogUmVhY3ROb2RlIHwgbnVsbCA9PlxuICB1c2VDb250ZXh0KEN1c3RvbVBhbmVsQ29udGV4dCk7XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export { PanelResizer } from './components/span-detail-panel';
2
2
  export { TraceViewerContextProvider, useTraceViewer } from './context';
3
3
  export * from './trace-viewer';
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmFjZS12aWV3ZXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZFLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBQYW5lbFJlc2l6ZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvc3Bhbi1kZXRhaWwtcGFuZWwnO1xuZXhwb3J0IHsgVHJhY2VWaWV3ZXJDb250ZXh0UHJvdmlkZXIsIHVzZVRyYWNlVmlld2VyIH0gZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vdHJhY2Utdmlld2VyJztcbmV4cG9ydCB0eXBlIHsgVHJhY2UgfSBmcm9tICcuL3R5cGVzJztcbiJdfQ==
@@ -383,4 +383,4 @@ export function TraceViewerPanel({ className = '', children = null, }) {
383
383
  export function TraceViewer(props) {
384
384
  return (_jsx(TraceViewerContextProvider, { getQuickLinks: props.getQuickLinks, withPanel: true, children: _jsx(TraceViewerTimeline, { withPanel: true, ...props }) }));
385
385
  }
386
- //# sourceMappingURL=trace-viewer.js.map
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2Utdmlld2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJhY2Utdmlld2VyL3RyYWNlLXZpZXdlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUViLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkUsT0FBTyxNQUFNLE1BQU0sMkJBQTJCLENBQUM7QUFFL0MsT0FBTyxFQUNMLFVBQVUsRUFDVixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBZ0IvRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFDbEMsYUFBYSxFQUNiLFFBQVEsR0FHVDtJQUND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RUFBRSxLQUFLLEVBQUUsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUVuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxPQUFPLENBQ0wsY0FDRSxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxTQUFTLENBQUMsRUFDN0QsS0FBSyxFQUNIO1lBQ0UsUUFBUSxFQUFFLFVBQVU7WUFDcEIsaUJBQWlCLEVBQUUsR0FBRztZQUN0QixjQUFjLEVBQUUsR0FBRztZQUNuQixjQUFjLEVBQUUsR0FBRztZQUNuQixlQUFlLEVBQUUsTUFBTTtZQUN2QixnQkFBZ0IsRUFBRSxNQUFNO1lBQ3hCLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLG1CQUFtQixFQUFFLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSTtTQUNoQyxZQUdwQixLQUFDLGVBQWUsS0FBRyxHQUNmLENBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQXVCO0lBQ2pELE9BQU8sQ0FDTCxLQUFDLDBCQUEwQixJQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLFNBQVMsa0JBQ3ZFLEtBQUMsbUJBQW1CLElBQUMsU0FBUyxXQUFLLEtBQUssR0FBSSxHQUNqQixDQUM5QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcblxuaW1wb3J0IHsgY2xzeCB9IGZyb20gJ2Nsc3gnO1xuaW1wb3J0IHR5cGUgeyBDU1NQcm9wZXJ0aWVzLCBNb3VzZUV2ZW50SGFuZGxlciwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNaW5pTWFwIH0gZnJvbSAnLi9jb21wb25lbnRzL21hcCc7XG5pbXBvcnQgeyBDdXJzb3JNYXJrZXIsIEV2ZW50TWFya2VycywgTWFya2VycyB9IGZyb20gJy4vY29tcG9uZW50cy9tYXJrZXJzJztcbmltcG9ydCB7IFNwYW5Ob2RlcyB9IGZyb20gJy4vY29tcG9uZW50cy9ub2RlJztcbmltcG9ydCB7IFNlYXJjaEJhciB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gnO1xuaW1wb3J0IHsgU3BhbkRldGFpbFBhbmVsIH0gZnJvbSAnLi9jb21wb25lbnRzL3NwYW4tZGV0YWlsLXBhbmVsJztcbmltcG9ydCB7IFpvb21CdXR0b24gfSBmcm9tICcuL2NvbXBvbmVudHMvem9vbS1idXR0b24nO1xuaW1wb3J0IHsgVHJhY2VWaWV3ZXJDb250ZXh0UHJvdmlkZXIsIHVzZVRyYWNlVmlld2VyIH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi90cmFjZS12aWV3ZXIubW9kdWxlLmNzcyc7XG5pbXBvcnQgdHlwZSB7IEdldFF1aWNrTGlua3MsIFRyYWNlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBNQVBfSEVJR0hULFxuICBNQVJLRVJfSEVJR0hULFxuICBNQVJLRVJfTk9UQ0hfSEVJR0hULFxuICBST1dfSEVJR0hULFxuICBST1dfUEFERElORyxcbiAgU0VBUkNIX0dBUCxcbiAgU0VBUkNIX0hFSUdIVCxcbiAgVElNRUxJTkVfUEFERElORyxcbn0gZnJvbSAnLi91dGlsL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBwYXJzZVRyYWNlIH0gZnJvbSAnLi91dGlsL3RyZWUnO1xuaW1wb3J0IHsgdXNlU3RyZWFtaW5nU3BhbnMgfSBmcm9tICcuL3V0aWwvdXNlLXN0cmVhbWluZy1zcGFucyc7XG5cbmludGVyZmFjZSBUcmFjZVZpZXdlclByb3BzIHtcbiAgdHJhY2U/OiBUcmFjZTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBzY3JvbGxMb2NrPzogYm9vbGVhbjtcbiAgaGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyO1xuICB3aXRoUGFuZWw/OiBib29sZWFuO1xuICBnZXRRdWlja0xpbmtzPzogR2V0UXVpY2tMaW5rcztcbiAgaGlnaGxpZ2h0ZWRTcGFucz86IHN0cmluZ1tdO1xuICAvKiogUmVuZGVyIGFsbCBzcGFucyBpbW1lZGlhdGVseSAobm8gcHJvZ3Jlc3NpdmUgc3RyZWFtaW5nKS4gKi9cbiAgZWFnZXJSZW5kZXI/OiBib29sZWFuO1xuICAvKiogV2hldGhlciB0aGUgdHJhY2UgaXMgbGl2ZSAoZm9yIGNvbnRpbnVvdXMgdGljayB1cGRhdGVzKS4gKi9cbiAgaXNMaXZlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRyYWNlVmlld2VyUHJvdmlkZXIoe1xuICBnZXRRdWlja0xpbmtzLFxuICBjaGlsZHJlbixcbn06IFBpY2s8VHJhY2VWaWV3ZXJQcm9wcywgJ2dldFF1aWNrTGlua3MnPiAmIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn0pOiBSZWFjdE5vZGUge1xuICByZXR1cm4gKFxuICAgIDxUcmFjZVZpZXdlckNvbnRleHRQcm92aWRlciBnZXRRdWlja0xpbmtzPXtnZXRRdWlja0xpbmtzfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1RyYWNlVmlld2VyQ29udGV4dFByb3ZpZGVyPlxuICApO1xufVxuXG5pbnRlcmZhY2UgTGFzdENsaWNrUmVmIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHQ6IG51bWJlcjtcbiAgc3BhbklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IHNrZWxldG9uVHJhY2U6IFRyYWNlID0ge1xuICB0cmFjZUlkOiAnc2tlbGV0b24nLFxuICBzcGFuczogW1xuICAgIHtcbiAgICAgIHBhcmVudFNwYW5JZDogJycsXG4gICAgICBzcGFuSWQ6ICdyb290JyxcbiAgICAgIG5hbWU6ICdyb290IHNwYW4nLFxuICAgICAga2luZDogMSxcbiAgICAgIHJlc291cmNlOiAndmVyY2VsLnJ1bnRpbWUnLFxuICAgICAgc3RhcnRUaW1lOiBbNTAwMCwgMF0sXG4gICAgICBlbmRUaW1lOiBbNjAwMCwgMF0sXG4gICAgICBkdXJhdGlvbjogWzEwMDAsIDBdLFxuICAgICAgbGlicmFyeToge1xuICAgICAgICBuYW1lOiAndmVyY2VsLXNpdGUnLFxuICAgICAgfSxcbiAgICAgIHN0YXR1czoge1xuICAgICAgICBjb2RlOiAxLFxuICAgICAgfSxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgJ3ZlcmNlbC5vd25lcklkJzogJ3RlYW1fYWJjJyxcbiAgICAgIH0sXG4gICAgICB0cmFjZUZsYWdzOiAxLFxuICAgICAgZXZlbnRzOiBbXSxcbiAgICAgIGxpbmtzOiBbXSxcbiAgICB9LFxuICBdLFxuICByZXNvdXJjZXM6IFtcbiAgICB7XG4gICAgICBuYW1lOiAndmVyY2VsLnJ1bnRpbWUnLFxuICAgICAgYXR0cmlidXRlczoge30sXG4gICAgfSxcbiAgXSxcbiAgcm9vdFNwYW5JZDogJ3Jvb3QnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIFRyYWNlVmlld2VyVGltZWxpbmUoe1xuICB0cmFjZSA9IHNrZWxldG9uVHJhY2UsXG4gIGNsYXNzTmFtZSA9ICcnLFxuICBzY3JvbGxMb2NrID0gZmFsc2UsXG4gIGhlaWdodCxcbiAgd2l0aFBhbmVsID0gZmFsc2UsXG4gIGhpZ2hsaWdodGVkU3BhbnMsXG4gIGVhZ2VyUmVuZGVyID0gZmFsc2UsXG4gIGlzTGl2ZSA9IGZhbHNlLFxuICBmb290ZXIsXG4gIGtub3duRHVyYXRpb25NcyxcbiAgaGFzTW9yZURhdGEgPSBmYWxzZSxcbn06IE9taXQ8VHJhY2VWaWV3ZXJQcm9wcywgJ2dldFF1aWNrTGlua3MnPiAmIHtcbiAgZm9vdGVyPzogUmVhY3ROb2RlO1xuICAvKiogRHVyYXRpb24gaW4gbXMgZnJvbSB0cmFjZSBzdGFydCB0byB0aGUgbGF0ZXN0IGtub3duIGV2ZW50LiBVc2VkIHRvIHJlbmRlciB0aGUgdW5rbm93bi10aW1lIG92ZXJsYXkuICovXG4gIGtub3duRHVyYXRpb25Ncz86IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgbW9yZSBkYXRhIHBhZ2VzIGFyZSBleHBlY3RlZC4gQ29udHJvbHMgdGhlIHVua25vd24tZGF0YSBvdmVybGF5IHZpc2liaWxpdHkuICovXG4gIGhhc01vcmVEYXRhPzogYm9vbGVhbjtcbn0pOiBSZWFjdE5vZGUge1xuICBjb25zdCBpc1NrZWxldG9uID0gdHJhY2UgPT09IHNrZWxldG9uVHJhY2U7XG4gIGNvbnN0IHsgc3RhdGUsIGRpc3BhdGNoIH0gPSB1c2VUcmFjZVZpZXdlcigpO1xuICBjb25zdCB7IHRpbWVsaW5lUmVmLCBzY3JvbGxTbmFwc2hvdFJlZiB9ID0gc3RhdGU7XG4gIGNvbnN0IG1lbW9DYWNoZSA9IHN0YXRlLm1lbW9DYWNoZVJlZi5jdXJyZW50O1xuICBjb25zdCBoaWRlU2VhcmNoQmFyID0gKGhpZ2hsaWdodGVkU3BhbnM/Lmxlbmd0aCA/PyAwKSA+IDA7XG5cbiAgY29uc3QgaGFzSW5pdGlhbGl6ZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBwcmV2U3BhbktleVJlZiA9IHVzZVJlZignJyk7XG4gIGNvbnN0IHByZXZSb290UmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHBhcnNlVHJhY2U+Wydyb290J10gfCBudWxsPihcbiAgICBudWxsXG4gICk7XG4gIGNvbnN0IHByZXZTcGFuTWFwUmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHBhcnNlVHJhY2U+WydtYXAnXT4oe30pO1xuICBjb25zdCBwcmV2U2l6ZVJlZiA9IHVzZVJlZjx7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0gfCBudWxsPihudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgcm9vdDogbmV3Um9vdCwgbWFwOiBuZXdTcGFuTWFwIH0gPSBwYXJzZVRyYWNlKHRyYWNlKTtcbiAgICBjb25zdCBpc0luaXRpYWwgPSAhaGFzSW5pdGlhbGl6ZWRSZWYuY3VycmVudDtcbiAgICBoYXNJbml0aWFsaXplZFJlZi5jdXJyZW50ID0gdHJ1ZTtcblxuICAgIC8vIEJ1aWxkIGEgc3RydWN0dXJhbCBrZXkgZnJvbSBzcGFuIElEcyArIGxpZ2h0d2VpZ2h0IGV2ZW50IHNpZ25hdHVyZXMuXG4gICAgLy8gV2hlbiBvbmx5IHRpbWluZyBjaGFuZ2VzIChzYW1lIHNwYW5zIGFuZCBib3VuZGFyeSBldmVudHMpLCB3ZSBjYW4gc2tpcCB0aGVcbiAgICAvLyB3b3JrZXIgcmVzdGFydC4gV2hlbiBldmVudHMgY2hhbmdlIChzdGVwIGNvbXBsZXRlZCwgZXRjLikgd2UgbmVlZCBhXG4gICAgLy8gZnVsbCB1cGRhdGUgYmVjYXVzZSB0aGUgVmlzaWJsZVNwYW4gb2JqZWN0cyByZW5kZXJlZCBieSBSZWFjdCBob2xkXG4gICAgLy8gY29waWVzIG9mIHRoZSBldmVudHMgZnJvbSB0aGUgd29ya2VyIOKAlCBpbi1wbGFjZSBtdXRhdGlvbiB3b24ndCByZWFjaCB0aGVtLlxuICAgIGNvbnN0IHNwYW5LZXkgPSBPYmplY3Qua2V5cyhuZXdTcGFuTWFwKVxuICAgICAgLnNvcnQoKVxuICAgICAgLm1hcCgoaWQpID0+IHtcbiAgICAgICAgY29uc3QgZXZlbnRzID0gbmV3U3Bhbk1hcFtpZF0uZXZlbnRzO1xuICAgICAgICBjb25zdCBjb3VudCA9IGV2ZW50cz8ubGVuZ3RoID8/IDA7XG4gICAgICAgIGNvbnN0IGZpcnN0ID0gY291bnQgPyBldmVudHM/LlswXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgbGFzdCA9IGNvdW50ID8gZXZlbnRzPy5bY291bnQgLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZXZlbnRTaWduYXR1cmUgPSBgJHtmaXJzdD8uZXZlbnQubmFtZSA/PyAnbm9uZSd9QCR7Zmlyc3Q/LnRpbWVzdGFtcCA/PyAwfXwke2xhc3Q/LmV2ZW50Lm5hbWUgPz8gJ25vbmUnfUAke2xhc3Q/LnRpbWVzdGFtcCA/PyAwfWA7XG4gICAgICAgIHJldHVybiBgJHtpZH06JHtjb3VudH06JHtldmVudFNpZ25hdHVyZX1gO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcsJyk7XG5cbiAgICBpZiAoXG4gICAgICAhaXNJbml0aWFsICYmXG4gICAgICBzcGFuS2V5ID09PSBwcmV2U3BhbktleVJlZi5jdXJyZW50ICYmXG4gICAgICBwcmV2Um9vdFJlZi5jdXJyZW50XG4gICAgKSB7XG4gICAgICAvLyBTYW1lIHNwYW4gc2V0LCBzYW1lIGV2ZW50IGNvdW50cyDigJQgb25seSB0aW1pbmcgY2hhbmdlZC5cbiAgICAgIC8vIE11dGF0ZSBpbi1wbGFjZSBzbyB0aGUgd29ya2VyIGVmZmVjdCAod2hpY2ggZGVwZW5kcyBvbiByb290L3NwYW5NYXBcbiAgICAgIC8vIHJlZmVyZW5jZXMpIGRvZXMgTk9UIHJlc3RhcnQuXG4gICAgICBjb25zdCBvbGRSb290ID0gcHJldlJvb3RSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IG9sZFNwYW5NYXAgPSBwcmV2U3Bhbk1hcFJlZi5jdXJyZW50O1xuICAgICAgbGV0IGRpZENoYW5nZSA9IGZhbHNlO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG9sZFJvb3QuZW5kVGltZSAhPT0gbmV3Um9vdC5lbmRUaW1lIHx8XG4gICAgICAgIG9sZFJvb3QuZHVyYXRpb24gIT09IG5ld1Jvb3QuZHVyYXRpb25cbiAgICAgICkge1xuICAgICAgICBvbGRSb290LmVuZFRpbWUgPSBuZXdSb290LmVuZFRpbWU7XG4gICAgICAgIG9sZFJvb3QuZHVyYXRpb24gPSBuZXdSb290LmR1cmF0aW9uO1xuICAgICAgICBkaWRDaGFuZ2UgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IFtpZCwgbmV3Tm9kZV0gb2YgT2JqZWN0LmVudHJpZXMobmV3U3Bhbk1hcCkpIHtcbiAgICAgICAgY29uc3Qgb2xkTm9kZSA9IG9sZFNwYW5NYXBbaWRdO1xuICAgICAgICBpZiAob2xkTm9kZSkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIG9sZE5vZGUuZW5kVGltZSAhPT0gbmV3Tm9kZS5lbmRUaW1lIHx8XG4gICAgICAgICAgICBvbGROb2RlLmR1cmF0aW9uICE9PSBuZXdOb2RlLmR1cmF0aW9uXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBvbGROb2RlLmVuZFRpbWUgPSBuZXdOb2RlLmVuZFRpbWU7XG4gICAgICAgICAgICBvbGROb2RlLmR1cmF0aW9uID0gbmV3Tm9kZS5kdXJhdGlvbjtcbiAgICAgICAgICAgIGRpZENoYW5nZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIE9iamVjdC5hc3NpZ24ob2xkTm9kZS5zcGFuLCBuZXdOb2RlLnNwYW4pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZGlkQ2hhbmdlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gVHJpZ2dlciByZS1yZW5kZXIgKHNjYWxlL21hcmtlcnMpIHdpdGhvdXQgcmVzdGFydGluZyB0aGUgd29ya2VyLlxuICAgICAgLy8gdXNlTGl2ZVRpY2sgaGFuZGxlcyBjb250aW51b3VzIHNjYWxlIHJlY2FsY3VsYXRpb24gZm9yIGxpdmUgcnVucy5cbiAgICAgIGRpc3BhdGNoKHsgdHlwZTogJ2ZvcmNlUmVuZGVyJyB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTdHJ1Y3R1cmUgY2hhbmdlZCBvciBpbml0aWFsIGxvYWQg4oCUIGZ1bGwgZGlzcGF0Y2ggKHdvcmtlciBjb21wdXRlcyBuZXcgcm93cylcbiAgICBwcmV2U3BhbktleVJlZi5jdXJyZW50ID0gc3BhbktleTtcbiAgICBwcmV2Um9vdFJlZi5jdXJyZW50ID0gbmV3Um9vdDtcbiAgICBwcmV2U3Bhbk1hcFJlZi5jdXJyZW50ID0gbmV3U3Bhbk1hcDtcbiAgICBkaXNwYXRjaCh7XG4gICAgICB0eXBlOiBpc0luaXRpYWwgPyAnc2V0Um9vdCcgOiAndXBkYXRlUm9vdCcsXG4gICAgICByb290OiBuZXdSb290LFxuICAgICAgc3Bhbk1hcDogbmV3U3Bhbk1hcCxcbiAgICAgIHJlc291cmNlczogdHJhY2UucmVzb3VyY2VzIHx8IFtdLFxuICAgIH0pO1xuICB9LCBbZGlzcGF0Y2gsIHRyYWNlXSk7XG5cbiAgY29uc3QgeyByb3dzLCBzcGFucywgZXZlbnRzLCBzY2FsZSB9ID0gdXNlU3RyZWFtaW5nU3BhbnMoXG4gICAgaGlnaGxpZ2h0ZWRTcGFucyxcbiAgICBlYWdlclJlbmRlclxuICApO1xuXG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgJGVsID0gcmVmLmN1cnJlbnQ7XG4gICAgaWYgKCEkZWwpIHJldHVybjtcblxuICAgIGNvbnN0IG9uUmVzaXplID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgcGFkZGluZyA9IDIgKiBUSU1FTElORV9QQURESU5HO1xuICAgICAgY29uc3QgcmVjdCA9ICRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IG5leHRXaWR0aCA9IHJlY3Qud2lkdGggLSBwYWRkaW5nO1xuICAgICAgY29uc3QgbmV4dEhlaWdodCA9IHJlY3QuaGVpZ2h0O1xuICAgICAgY29uc3QgcHJldlNpemUgPSBwcmV2U2l6ZVJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoXG4gICAgICAgIHByZXZTaXplICYmXG4gICAgICAgIHByZXZTaXplLndpZHRoID09PSBuZXh0V2lkdGggJiZcbiAgICAgICAgcHJldlNpemUuaGVpZ2h0ID09PSBuZXh0SGVpZ2h0XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcHJldlNpemVSZWYuY3VycmVudCA9IHsgd2lkdGg6IG5leHRXaWR0aCwgaGVpZ2h0OiBuZXh0SGVpZ2h0IH07XG5cbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogJ3NldFNpemUnLFxuICAgICAgICB3aWR0aDogbmV4dFdpZHRoLFxuICAgICAgICBoZWlnaHQ6IG5leHRIZWlnaHQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25SZXNpemUoKTtcblxuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKG9uUmVzaXplKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKCRlbCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIG9uUmVzaXplKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25SZXNpemUpO1xuICAgIH07XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIGNvbnN0IGxhc3RDbGlja1JlZiA9IHVzZVJlZjxMYXN0Q2xpY2tSZWY+KHtcbiAgICB0OiAwLFxuICAgIHg6IC0xLFxuICAgIHk6IC0xLFxuICAgIHNwYW5JZDogJycsXG4gIH0pO1xuICBjb25zdCBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgLy8gTk9URSh3aXRzKTogV2UgbWFudWFsbHkgaW1wbGVtZW50IGRvdWJsZS1jbGljayBsb2dpYyBoZXJlIHNvIHRoYXQgd2UgY2FuIHN1cHBvcnQgZG91YmxlXG4gICAgICAvLyBjbGlja2luZyBhIHNwYW4gZXZlbiBpZiB0aGUgZmlyc3QgY2xpY2sgbW92ZXMgdGhlIHNwYW4gdGhhdCB0aGUgdXNlciBpcyBjbGlja2luZyBvbiBkdWVcbiAgICAgIC8vIHRvIHRoZSBwYW5lbCBvcGVuaW5nLiBJZiB3ZSB1c2VkIGEgcmVndWxhciBkb3VibGUgY2xpY2sgbGlzdGVuZXIgd2Ugd291bGQgbmVlZCB0byBkZWxheVxuICAgICAgLy8gdGhlIG9wZW5pbmcgb2YgdGhlIHBhbmVsIGFydGlmaWNpYWxseS4gVGhpcyBpbXBsZW1lbnRhdGlvbiBhbGxvd3MgdXMgdG8gYWx3YXlzIGJlXG4gICAgICAvLyBGQVNUIHdoaWxlIGFsc28gYXZvaWRpbmcgYSBGUlVTVFJBVElORyBzaXR1YXRpb24uXG4gICAgICBjb25zdCBwcmV2ID0gbGFzdENsaWNrUmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCB0ID0gRGF0ZS5ub3coKTtcbiAgICAgIGNvbnN0IHsgY2xpZW50WDogeCwgY2xpZW50WTogeSB9ID0gZXZlbnQ7XG4gICAgICBjb25zdCBkID0gTWF0aC5zcXJ0KCh4IC0gcHJldi54KSAqKiAyICsgKHkgLSBwcmV2LnkpICoqIDIpO1xuICAgICAgLy8gZG91YmxlIGNsaWNrXG4gICAgICBpZiAodCAtIHByZXYudCA8PSA1MDAgJiYgZCA8PSA4KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoIXByZXYuc3BhbklkKSB7XG4gICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogJ3Jlc2V0U2NhbGUnLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgICAgICAgaWQ6IHByZXYuc3BhbklkLFxuICAgICAgICB9KTtcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgIHR5cGU6ICdzY2FsZVRvTm9kZScsXG4gICAgICAgICAgaWQ6IHByZXYuc3BhbklkLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgaWYgKCF0YXJnZXQuY2xvc2VzdChgLiR7U3RyaW5nKHN0eWxlcy50aW1lbGluZSl9YCkpIHJldHVybjtcbiAgICAgIGNvbnN0ICRidXR0b24gPSB0YXJnZXQuY2xvc2VzdDxIVE1MQnV0dG9uRWxlbWVudD4oJ1tkYXRhLXNwYW4taWRdJyk7XG4gICAgICBjb25zdCBzcGFuSWQgPSAkYnV0dG9uPy5kYXRhc2V0LnNwYW5JZCB8fCAnJztcbiAgICAgIGxhc3RDbGlja1JlZi5jdXJyZW50ID0ge1xuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICB0LFxuICAgICAgICBzcGFuSWQsXG4gICAgICB9O1xuICAgICAgaWYgKCFzcGFuSWQpIHJldHVybjtcbiAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgdHlwZTogJ3RvZ2dsZVNlbGVjdGlvbicsXG4gICAgICAgIGlkOiBzcGFuSWQsXG4gICAgICB9KTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0sXG4gICAgW2Rpc3BhdGNoXVxuICApO1xuXG4gIC8vIFpvb20gaGVscGVyIOKAlCBhcHBseSB0aGUgc2Nyb2xsIHNuYXBzaG90IG9uY2UgYWZ0ZXIgYSB6b29tIG9wZXJhdGlvbiBzb1xuICAvLyB0aGUgYW5jaG9yIHBvaW50IHN0YXlzIGF0IHRoZSBzYW1lIHNjcmVlbiBwb3NpdGlvbiwgdGhlbiBjbGVhciBpdC5cbiAgLy8gV2l0aG91dCBjbGVhcmluZywgbGl2ZSBydW5zICh3aGVyZSBzY2FsZSBjaGFuZ2VzIGV2ZXJ5IGZyYW1lIHZpYVxuICAvLyBkZXRlY3RCYXNlU2NhbGUpIHdvdWxkIGNvbnRpbnVvdXNseSByZXNldCBzY3JvbGxMZWZ0IGFuZCBwcmV2ZW50IHRoZVxuICAvLyB1c2VyIGZyb20gc2Nyb2xsaW5nIGhvcml6b250YWxseS5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCAkdGltZWxpbmUgPSB0aW1lbGluZVJlZi5jdXJyZW50O1xuICAgIGlmICghJHRpbWVsaW5lKSByZXR1cm47XG5cbiAgICBjb25zdCBzbmFwc2hvdCA9IHNjcm9sbFNuYXBzaG90UmVmLmN1cnJlbnQ7XG4gICAgaWYgKHNuYXBzaG90KSB7XG4gICAgICAkdGltZWxpbmUuc2Nyb2xsTGVmdCA9IHNuYXBzaG90LmFuY2hvclQgKiBzY2FsZSAtIHNuYXBzaG90LmFuY2hvclg7XG4gICAgICBzY3JvbGxTbmFwc2hvdFJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfSwgW3Njcm9sbFNuYXBzaG90UmVmLCB0aW1lbGluZVJlZiwgc2NhbGVdKTtcblxuICAvLyBTZWxlY3Rpb24gaGVscGVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc3BhbklkID0gc3RhdGUuc2VsZWN0ZWQ/LnNwYW4uc3BhbklkO1xuICAgIGlmICghc3BhbklkKSByZXR1cm47XG5cbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCAkdGltZWxpbmUgPSBzdGF0ZS50aW1lbGluZVJlZi5jdXJyZW50O1xuICAgICAgY29uc3QgJHNwYW4gPSAkdGltZWxpbmU/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLXNwYW4taWQ9XCIke3NwYW5JZH1cIl1gKTtcbiAgICAgIGlmICghJHRpbWVsaW5lIHx8ICEkc3BhbikgcmV0dXJuO1xuXG4gICAgICBjb25zdCB2aWV3UmVjdCA9ICR0aW1lbGluZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IHNwYW5SZWN0ID0gJHNwYW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIC8vIElmIHRoZSBzZWxlY3RlZCBzcGFuIGlzIG5hcnJvd2VyIHRoYW4gdGhlIHRpbWVsaW5lLCBzY3JvbGwgaXQgaW50byB2aWV3XG4gICAgICBpZiAoXG4gICAgICAgIHNwYW5SZWN0LndpZHRoIDwgdmlld1JlY3Qud2lkdGggJiZcbiAgICAgICAgKHNwYW5SZWN0LmxlZnQgPCB2aWV3UmVjdC5sZWZ0IHx8XG4gICAgICAgICAgc3BhblJlY3QucmlnaHQgPiB2aWV3UmVjdC5yaWdodCB8fFxuICAgICAgICAgIHNwYW5SZWN0LnRvcCA8IHZpZXdSZWN0LnRvcCB8fFxuICAgICAgICAgIHNwYW5SZWN0LmJvdHRvbSA+IHZpZXdSZWN0LmJvdHRvbSlcbiAgICAgICkge1xuICAgICAgICAkc3Bhbi5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgYmxvY2s6ICduZWFyZXN0JyxcbiAgICAgICAgICBpbmxpbmU6ICdjZW50ZXInLFxuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSwgNTAwKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgfTtcbiAgfSwgW3N0YXRlLnNlbGVjdGVkLCBzdGF0ZS50aW1lbGluZVJlZl0pO1xuXG4gIC8vIEdsb2JhbCBrZXlib2FyZCBzaG9ydGN1dHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvbktleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgdHlwZTogJ2VzY2FwZScsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcbiAgICB9O1xuICB9LCBbZGlzcGF0Y2hdKTtcblxuICAvLyBTY3JvbGwgbG9ja2luZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2Nyb2xsTG9jaykgcmV0dXJuO1xuXG4gICAgY29uc3QgJGh0bWwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgJGJvZHkgPSBkb2N1bWVudC5ib2R5O1xuXG4gICAgJGh0bWwuc3R5bGUub3ZlcmZsb3cgPSAnY2xpcCc7XG4gICAgJGJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnY2xpcCc7XG5cbiAgICBjb25zdCBvblNjcm9sbCA9IChldmVudD86IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBpZiAoZXZlbnQ/LmNhbmNlbGFibGUpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgYmVoYXZpb3I6ICdpbnN0YW50JyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBvblNjcm9sbCgpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBvblNjcm9sbCwge1xuICAgICAgcGFzc2l2ZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgJGh0bWwuc3R5bGUub3ZlcmZsb3cgPSAnJztcbiAgICAgICRib2R5LnN0eWxlLm92ZXJmbG93ID0gJyc7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25TY3JvbGwpO1xuICAgIH07XG4gIH0sIFtzY3JvbGxMb2NrXSk7XG5cbiAgY29uc3QgdGltZWxpbmVIZWlnaHQgPSBNYXRoLm1heChcbiAgICBzdGF0ZS50aW1lbGluZUhlaWdodCAtIHN0YXRlLnNjcm9sbGJhcldpZHRoLFxuICAgIE1BUktFUl9IRUlHSFQgK1xuICAgICAgUk9XX1BBRERJTkcgK1xuICAgICAgcm93cy5sZW5ndGggKiAoUk9XX0hFSUdIVCArIFJPV19QQURESU5HKSAtXG4gICAgICBST1dfUEFERElORyArXG4gICAgICAvLyBXaGVuIHRoZXJlIGFyZSBlbm91Z2ggc3BhbnMgdG8gYmUgbmVhciB0aGUgYm90dG9tIGVkZ2UsIGFkZCBzb21lIGV4dHJhIHBhZGRpbmdcbiAgICAgIC8vIHRvIGF2b2lkIG92ZXJsYXBwaW5nIHdpdGggdGhlIHpvb20gYnV0dG9ucywgZXRjLlxuICAgICAgODRcbiAgKTtcblxuICBjb25zdCBpbmVydCA9IEJvb2xlYW4oc3RhdGUuaXNNb2JpbGUgJiYgc3RhdGUuc2VsZWN0ZWQpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICBzdHlsZXMudHJhY2VWaWV3ZXIsXG4gICAgICAgIGlzU2tlbGV0b24gJiYgc3R5bGVzLnNrZWxldG9uLFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgICBvbkNsaWNrQ2FwdHVyZT17b25DbGlja31cbiAgICAgIHJlZj17cmVmfVxuICAgICAgc3R5bGU9e1xuICAgICAgICB7XG4gICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICctLXRpbWVsaW5lLXBhZGRpbmcnOiBgJHtUSU1FTElORV9QQURESU5HfXB4YCxcbiAgICAgICAgICAnLS1yb3ctaGVpZ2h0JzogYCR7Uk9XX0hFSUdIVH1weGAsXG4gICAgICAgICAgJy0tcm93LXBhZGRpbmcnOiBgJHtST1dfUEFERElOR31weGAsXG4gICAgICAgICAgJy0tc2VhcmNoLWhlaWdodCc6IGAkeyFoaWRlU2VhcmNoQmFyID8gU0VBUkNIX0hFSUdIVCA6IDB9cHhgLFxuICAgICAgICAgICctLXNlYXJjaC1nYXAnOiBgJHshaGlkZVNlYXJjaEJhciA/IFNFQVJDSF9HQVAgOiAyfXB4YCxcbiAgICAgICAgICAnLS1tYXAtaGVpZ2h0JzogYCR7TUFQX0hFSUdIVH1weGAsXG4gICAgICAgICAgJy0tdGltZWxpbmUtd2lkdGgnOiBgJHtzdGF0ZS50aW1lbGluZVdpZHRofXB4YCxcbiAgICAgICAgICAnLS10aW1lbGluZS1oZWlnaHQnOiBgJHtzdGF0ZS50aW1lbGluZUhlaWdodH1weGAsXG4gICAgICAgICAgJy0tdGltZWxpbmUtc2Nyb2xsLXdpZHRoJzogYCR7TWF0aC5yb3VuZChzdGF0ZS5yb290LmR1cmF0aW9uICogc3RhdGUuc2NhbGUpfXB4YCxcbiAgICAgICAgICAnLS1wYW5lbC13aWR0aCc6IGAke3N0YXRlLnBhbmVsV2lkdGh9cHhgLFxuICAgICAgICAgICctLXBhbmVsLWhlaWdodCc6IGAke3N0YXRlLnBhbmVsSGVpZ2h0fXB4YCxcbiAgICAgICAgICAnLS1oZWlnaHQnOiBgJHtzdGF0ZS5oZWlnaHR9cHhgLFxuICAgICAgICAgICctLXNjcm9sbGJhci13aWR0aCc6IGAke3N0YXRlLnNjcm9sbGJhcldpZHRofXB4YCxcbiAgICAgICAgICAnLS1tYXJrZXItaGVpZ2h0JzogYCR7TUFSS0VSX0hFSUdIVH1weGAsXG4gICAgICAgICAgJy0tbWFya2VyLW5vdGNoLWhlaWdodCc6IGAke01BUktFUl9OT1RDSF9IRUlHSFR9cHhgLFxuICAgICAgICB9IGFzIENTU1Byb3BlcnRpZXNcbiAgICAgIH1cbiAgICA+XG4gICAgICB7IWhpZGVTZWFyY2hCYXIgPyA8U2VhcmNoQmFyIC8+IDogbnVsbH1cbiAgICAgIDxNaW5pTWFwIHJvd3M9e3Jvd3N9IHNjYWxlPXtzY2FsZX0gdGltZWxpbmVSZWY9e3RpbWVsaW5lUmVmfSAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Nsc3goc3R5bGVzLnRyYWNlVmlld2VyQ29udGVudCwgaW5lcnQgJiYgc3R5bGVzLmluZXJ0KX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGltZWxpbmV9IHJlZj17dGltZWxpbmVSZWZ9PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICAgICAgICB3aWR0aDogc3RhdGUudGltZWxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiBzdGF0ZS50aW1lbGluZUhlaWdodCAtIFRJTUVMSU5FX1BBRERJTkcgKiAyLFxuICAgICAgICAgICAgICBwYWRkaW5nOiBUSU1FTElORV9QQURESU5HLFxuICAgICAgICAgICAgICBwYWRkaW5nQm90dG9tOiAwLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzLnRyYWNlTm9kZX1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogc3RhdGUucm9vdC5kdXJhdGlvbiAqIHNjYWxlIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHRpbWVsaW5lSGVpZ2h0IC0gVElNRUxJTkVfUEFERElORyAqIDIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNYXJrZXJzIHNjYWxlPXtzY2FsZX0gaXNMaXZlPXtpc0xpdmV9IC8+XG4gICAgICAgICAgICAgIDxFdmVudE1hcmtlcnMgZXZlbnRzPXtldmVudHN9IHJvb3Q9e3N0YXRlLnJvb3R9IHNjYWxlPXtzY2FsZX0gLz5cbiAgICAgICAgICAgICAgPEN1cnNvck1hcmtlclxuICAgICAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgICAgICAgICBldmVudHM9e2V2ZW50c31cbiAgICAgICAgICAgICAgICBtZW1vQ2FjaGVSZWY9e3N0YXRlLm1lbW9DYWNoZVJlZn1cbiAgICAgICAgICAgICAgICByb290PXtzdGF0ZS5yb290fVxuICAgICAgICAgICAgICAgIHNjYWxlPXtzY2FsZX1cbiAgICAgICAgICAgICAgICBzY3JvbGxTbmFwc2hvdFJlZj17c2Nyb2xsU25hcHNob3RSZWZ9XG4gICAgICAgICAgICAgICAgc3BhbnM9e3NwYW5zfVxuICAgICAgICAgICAgICAgIHRpbWVsaW5lUmVmPXt0aW1lbGluZVJlZn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPFNwYW5Ob2Rlc1xuICAgICAgICAgICAgICAgIGNhY2hlS2V5PXttZW1vQ2FjaGUuZ2V0KCcnKX1cbiAgICAgICAgICAgICAgICBjYWNoZT17bWVtb0NhY2hlfVxuICAgICAgICAgICAgICAgIGN1c3RvbVNwYW5DbGFzc05hbWVGdW5jPXtzdGF0ZS5jdXN0b21TcGFuQ2xhc3NOYW1lRnVuY31cbiAgICAgICAgICAgICAgICBjdXN0b21TcGFuRXZlbnRDbGFzc05hbWVGdW5jPXtcbiAgICAgICAgICAgICAgICAgIHN0YXRlLmN1c3RvbVNwYW5FdmVudENsYXNzTmFtZUZ1bmNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaXNMaXZlPXtpc0xpdmV9XG4gICAgICAgICAgICAgICAgcm9vdD17c3RhdGUucm9vdH1cbiAgICAgICAgICAgICAgICBzY2FsZT17c2NhbGV9XG4gICAgICAgICAgICAgICAgc2Nyb2xsU25hcHNob3RSZWY9e3Njcm9sbFNuYXBzaG90UmVmfVxuICAgICAgICAgICAgICAgIHNwYW5zPXtzcGFuc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgey8qIEhvcml6b250YWwgXCJ1bmtub3duIHRpbWVcIiBvdmVybGF5IOKAlCBjb3ZlcnMgdGhlIHJlZ2lvbiB0byB0aGVcbiAgICAgICAgICAgICAgICAgIHJpZ2h0IG9mIHRoZSBsYXRlc3Qga25vd24gZXZlbnQsIGluZGljYXRpbmcgZGF0YSBiZXlvbmQgdGhpc1xuICAgICAgICAgICAgICAgICAgcG9pbnQgaGFzbid0IGJlZW4gbG9hZGVkIHlldC4gKi99XG4gICAgICAgICAgICAgIHtrbm93bkR1cmF0aW9uTXMgIT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGtub3duRHVyYXRpb25NcyA+IDAgJiZcbiAgICAgICAgICAgICAgICAoaGFzTW9yZURhdGEgfHwgaXNMaXZlKSAmJlxuICAgICAgICAgICAgICAgIHN0YXRlLnJvb3QuZHVyYXRpb24gPiAwICYmXG4gICAgICAgICAgICAgICAgKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGtub3duUHggPSBrbm93bkR1cmF0aW9uTXMgKiBzY2FsZTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHRvdGFsUHggPSBzdGF0ZS5yb290LmR1cmF0aW9uICogc2NhbGU7XG4gICAgICAgICAgICAgICAgICBjb25zdCB1bmtub3duV2lkdGggPSB0b3RhbFB4IC0ga25vd25QeDtcbiAgICAgICAgICAgICAgICAgIC8vIE9ubHkgc2hvdyBpZiB0aGUgdW5rbm93biByZWdpb24gaXMgbWVhbmluZ2Z1bGx5IHdpZGVcbiAgICAgICAgICAgICAgICAgIGlmICh1bmtub3duV2lkdGggPCA0KSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgIC8vIE9mZnNldCB+NSUgaW50byB0aGUgdW5rbm93biByZWdpb24gc28gaXQgZG9lc24ndCB0b3VjaCBzcGFuc1xuICAgICAgICAgICAgICAgICAgY29uc3QgaW5zZXRQeCA9IE1hdGgubWluKHVua25vd25XaWR0aCAqIDAuMDUsIDIwKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBrbm93blB4ICsgaW5zZXRQeCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB1bmtub3duV2lkdGggLSBpbnNldFB4LFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXNrSW1hZ2U6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDElLCBibGFjayAzJSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgV2Via2l0TWFza0ltYWdlOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAnbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAxJSwgYmxhY2sgMyUpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KC00NWRlZywgdmFyKC0tZHMtYmFja2dyb3VuZC0yMDApIDAsIHZhcigtLWRzLWJhY2tncm91bmQtMjAwKSAxMXB4LCB2YXIoLS1kcy1ncmF5LTIwMCkgMTFweCwgdmFyKC0tZHMtZ3JheS0yMDApIDEycHgpJyxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge2Zvb3Rlcn1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuem9vbUJ1dHRvblRyYWNlVmlld2VyfT5cbiAgICAgICAgICA8Wm9vbUJ1dHRvbiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3dpdGhQYW5lbCA/IChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgIHN0eWxlcy5zcGFuRGV0YWlsUGFuZWxUcmFjZVZpZXdlcixcbiAgICAgICAgICAgICFzdGF0ZS5zZWxlY3RlZCAmJiBzdHlsZXMuaGlkZGVuLFxuICAgICAgICAgICAgc3RhdGUuaXNNb2JpbGUgJiYgc3R5bGVzLm1vYmlsZVxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8U3BhbkRldGFpbFBhbmVsIGF0dGFjaGVkIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUcmFjZVZpZXdlclBhbmVsKHtcbiAgY2xhc3NOYW1lID0gJycsXG4gIGNoaWxkcmVuID0gbnVsbCxcbn06IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbn0pOiBSZWFjdE5vZGUge1xuICBjb25zdCB7IHN0YXRlIH0gPSB1c2VUcmFjZVZpZXdlcigpO1xuXG4gIGlmICghc3RhdGUuc2VsZWN0ZWQpIHtcbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChzdHlsZXMuc3BhbkRldGFpbFBhbmVsVHJhY2VWaWV3ZXIsIGNsYXNzTmFtZSl9XG4gICAgICBzdHlsZT17XG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgICAnLS1zZWFyY2gtaGVpZ2h0JzogJzAnLFxuICAgICAgICAgICctLXNlYXJjaC1nYXAnOiAnMCcsXG4gICAgICAgICAgJy0tbWFwLWhlaWdodCc6ICcwJyxcbiAgICAgICAgICAnLS1wYW5lbC13aWR0aCc6IGAxMDAlYCxcbiAgICAgICAgICAnLS1wYW5lbC1oZWlnaHQnOiBgMTAwJWAsXG4gICAgICAgICAgJy0taGVpZ2h0JzogYDEwMCVgLFxuICAgICAgICAgICctLXNjcm9sbGJhci13aWR0aCc6IGAke3N0YXRlLnNjcm9sbGJhcldpZHRofXB4YCxcbiAgICAgICAgfSBhcyBDU1NQcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgPlxuICAgICAgPFNwYW5EZXRhaWxQYW5lbCAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVHJhY2VWaWV3ZXIocHJvcHM6IFRyYWNlVmlld2VyUHJvcHMpOiBSZWFjdE5vZGUge1xuICByZXR1cm4gKFxuICAgIDxUcmFjZVZpZXdlckNvbnRleHRQcm92aWRlciBnZXRRdWlja0xpbmtzPXtwcm9wcy5nZXRRdWlja0xpbmtzfSB3aXRoUGFuZWw+XG4gICAgICA8VHJhY2VWaWV3ZXJUaW1lbGluZSB3aXRoUGFuZWwgey4uLnByb3BzfSAvPlxuICAgIDwvVHJhY2VWaWV3ZXJDb250ZXh0UHJvdmlkZXI+XG4gICk7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy90cmFjZS12aWV3ZXIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTXV0YWJsZVJlZk9iamVjdCwgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgdHlwZSBNZW1vQ2FjaGVLZXkgPSBSZWNvcmQ8c3RyaW5nLCBuZXZlcj47XG5leHBvcnQgdHlwZSBNZW1vQ2FjaGUgPSBNYXA8c3RyaW5nLCBNZW1vQ2FjaGVLZXk+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNwYW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGtpbmQ6IG51bWJlcjtcbiAgcmVzb3VyY2U6IHN0cmluZztcbiAgbGlicmFyeToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICB9O1xuICBzcGFuSWQ6IHN0cmluZztcbiAgcGFyZW50U3BhbklkPzogc3RyaW5nO1xuICBzdGF0dXM6IHtcbiAgICBjb2RlOiBudW1iZXI7XG4gIH07XG4gIHRyYWNlRmxhZ3M6IG51bWJlcjtcbiAgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGxpbmtzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdO1xuICBldmVudHM6IFNwYW5FdmVudFtdO1xuICBzdGFydFRpbWU6IFtudW1iZXIsIG51bWJlcl07XG4gIGVuZFRpbWU6IFtudW1iZXIsIG51bWJlcl07XG4gIGR1cmF0aW9uOiBbbnVtYmVyLCBudW1iZXJdO1xuICAvKipcbiAgICogVGhlIHRpbWUgd2hlbiB0aGUgc3BhbiBiZWNhbWUgYWN0aXZlL3N0YXJ0ZWQgZXhlY3V0aW5nIChvcHRpb25hbCkuXG4gICAqIElmIHByb3ZpZGVkIGFuZCBkaWZmZXJlbnQgZnJvbSBzdGFydFRpbWUsIHRoZSBwb3J0aW9uIGJldHdlZW4gc3RhcnRUaW1lXG4gICAqIGFuZCBhY3RpdmVTdGFydFRpbWUgd2lsbCBiZSByZW5kZXJlZCBhcyBhIFwicXVldWVkXCIgcGVyaW9kIHdpdGggZGlmZmVyZW50IHN0eWxpbmcuXG4gICAqL1xuICBhY3RpdmVTdGFydFRpbWU/OiBbbnVtYmVyLCBudW1iZXJdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwYW5FdmVudCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGltZXN0YW1wOiBbbnVtYmVyLCBudW1iZXJdO1xuICBhdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBjb2xvciBmb3IgdGhpcyBldmVudCBtYXJrZXIgKHdvcmtmbG93LXNwZWNpZmljIGZlYXR1cmUpLlxuICAgKiBJZiBwcm92aWRlZCwgdGhpcyBjb2xvciB3aWxsIGJlIHVzZWQgZm9yIHRoZSBldmVudCBtYXJrZXIgbGluZS9kaWFtb25kLlxuICAgKi9cbiAgY29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSB2ZXJ0aWNhbCBsaW5lIGZvciB0aGlzIGV2ZW50IGluIHRoZSB0aW1lbGluZSAod29ya2Zsb3ctc3BlY2lmaWMgZmVhdHVyZSkuXG4gICAqIElmIGZhbHNlLCBvbmx5IHRoZSBkaWFtb25kIG1hcmtlciBvbiB0aGUgc3BhbiB3aWxsIGJlIHNob3duLlxuICAgKiBEZWZhdWx0cyB0byB0cnVlIGlmIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBzaG93VmVydGljYWxMaW5lPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFjZSB7XG4gIHRyYWNlSWQ6IHN0cmluZztcbiAgcmVzb3VyY2VzPzogUmVzb3VyY2VbXTtcbiAgc3BhbnM6IFNwYW5bXTtcbiAgcm9vdFNwYW5JZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEV2ZXJ5Tm9kZSB7XG4gIHN0YXJ0VGltZTogbnVtYmVyO1xuICBlbmRUaW1lOiBudW1iZXI7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIC8qKlxuICAgKiBIb3cgZGVlcCBpcyB0aGlzIG5vZGUgd2l0aGluIHRoZSB0cmVlXG4gICAqL1xuICBkZXB0aDogbnVtYmVyO1xuICAvKipcbiAgICogQWxsIGRpcmVjdCBjaGlsZCBub2RlcyBvZiB0aGlzIG5vZGVcbiAgICovXG4gIGNoaWxkcmVuOiBTcGFuTm9kZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3ROb2RlIGV4dGVuZHMgRXZlcnlOb2RlIHtcbiAgLyoqXG4gICAqIFRoZSBkZXB0aCBpcyBhbHdheXMgMCBmb3IgdGhlIHJvb3Qgbm9kZVxuICAgKi9cbiAgZGVwdGg6IDA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3Bhbk5vZGUgZXh0ZW5kcyBFdmVyeU5vZGUge1xuICAvKipcbiAgICogVGhpcyBvcmlnaW5hbCBTcGFuIHRoYXQgdGhpcyBub2RlIGlzIGJhc2VkIG9uXG4gICAqL1xuICBzcGFuOiBTcGFuO1xuICAvKipcbiAgICogVGhlIGltbWVkaWF0ZSBwYXJlbnQgb2YgdGhpcyBub2RlXG4gICAqL1xuICBwYXJlbnQ6IFJvb3ROb2RlIHwgU3Bhbk5vZGU7XG4gIC8qKlxuICAgKiBBIGdlbmVyYXRlZCBsYWJlbCB0byB1c2UgKG92ZXJyaWRlcyB0aGUgc3Bhbi5uYW1lKSBpZiBwcmVzZW50XG4gICAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9URUwgZXZlbnRzIHRoYXQgYXJlIHByZXNlbnQgb24gdGhpcyBzcGFuIChlLmcuIFRURkIpXG4gICAqL1xuICBldmVudHM/OiBTcGFuTm9kZUV2ZW50W107XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgc3BhbiBvcmlnaW5hdGVkIGluIFZlcmNlbCdzIGluZnJhc3RydWN0dXJlLlxuICAgKi9cbiAgaXNWZXJjZWw6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgc3BhbiBtYXRjaGVzIHRoZSBjdXJyZW50IHNlYXJjaCBmaWx0ZXJcbiAgICovXG4gIGlzSGlnaGxpZ2h0ZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIHNwYW4gaXMgYSBwbGFjZWhvbGRlciB0byBoaW50IGF0IHdoZXJlIHVzZXIgc3BhbnNcbiAgICogd291bGQgYXBwZWFyIGlmIHByb3BlciBpbnN0cnVtZW50YXRpb24gd2VyZSBhdmFpbGFibGVcbiAgICovXG4gIGlzSW5zdHJ1bWVudGF0aW9uSGludD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgaW5kZXggb2YgdGhlIHJlc291cmNlIHRoYXQgdGhpcyBub2RlIGJlbG9uZ3MgdG8gKHVzZWQgZm9yIGNvbG9yKVxuICAgKi9cbiAgcmVzb3VyY2VJbmRleDogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIHRpbWUgd2hlbiBleGVjdXRpb24gYWN0dWFsbHkgc3RhcnRlZCAoaW4gbWlsbGlzZWNvbmRzKS5cbiAgICogSWYgcHJlc2VudCBhbmQgZ3JlYXRlciB0aGFuIHN0YXJ0VGltZSwgcmVwcmVzZW50cyBhIFwicXVldWVkXCIgcGVyaW9kLlxuICAgKi9cbiAgYWN0aXZlU3RhcnRUaW1lPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwYW5Ob2RlRXZlbnQge1xuICAvKiogQSB1bmlxdWUga2V5IGZvciB0aGlzIGV2ZW50IHRvIGhlbHAgd2l0aCByZW5kZXJpbmcgaW4gUmVhY3QgKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdGltZXN0YW1wIG9mIHRoaXMgZXZlbnQgaW4gbWlsbGlzZWNvbmRzICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICAvKiogVGhlIG9yaWdpbmFsIGV2ZW50IG1vZGVsICovXG4gIGV2ZW50OiBTcGFuRXZlbnQ7XG59XG5cbmV4cG9ydCB0eXBlIFRyYWNlTm9kZSA9IFJvb3ROb2RlIHwgU3Bhbk5vZGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlzaWJsZVNwYW4gZXh0ZW5kcyBTcGFuTm9kZSB7XG4gIC8qKlxuICAgKiBUaGUgcmVmIGZvciB0aGlzIHNwYW4ncyBlbGVtZW50IGluIHRoZSBET01cbiAgICovXG4gIHJlZj86IE11dGFibGVSZWZPYmplY3Q8SFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsPjtcbiAgLyoqXG4gICAqIFRoZSB5IHBvc2l0aW9uIG9mIHRoaXMgc3BhbiAoaW4gIyBvZiByb3dzKVxuICAgKi9cbiAgcm93OiBudW1iZXI7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBDdXJzb3JNYXJrZXIgaXMgaW50ZXJzZWN0aW5nIHRoaXMgc3BhblxuICAgKi9cbiAgaXNIb3ZlcmVkOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIGlzIHRoZSBzZWxlY3RlZCBzcGFuXG4gICAqL1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0aGlzIG5vZGUgaXMgdmlzaWJsZSAoYmFzZWQgb24gaXRzIHNpemUgb24gc2NyZWVuKVxuICAgKi9cbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICAvKipcbiAgICogRXZlbnRzIGFsc28gbmVlZCB0byBiZSBhYmxlIHRvIGhvbGQgYSByZWYgdG8gdGhlaXIgZWxlbWVudCBpbiB0aGUgRE9NXG4gICAqL1xuICBldmVudHM/OiBWaXNpYmxlU3BhbkV2ZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlzaWJsZVNwYW5FdmVudCBleHRlbmRzIFNwYW5Ob2RlRXZlbnQge1xuICAvKipcbiAgICogVGhlIHJlZiBmb3IgdGhpcyBzcGFuJ3MgZWxlbWVudCBpbiB0aGUgRE9NXG4gICAqL1xuICByZWY/OiBNdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBDdXJzb3JNYXJrZXIgaXMgaW50ZXJzZWN0aW5nIHRoaXMgc3BhblxuICAgKi9cbiAgaXNIb3ZlcmVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcm9sbFNuYXBzaG90IHtcbiAgYW5jaG9yVDogbnVtYmVyO1xuICBhbmNob3JYOiBudW1iZXI7XG4gIHNjcm9sbExlZnQ6IG51bWJlcjtcbiAgc2Nyb2xsVG9wOiBudW1iZXI7XG4gIHN0YXJ0VGltZTogbnVtYmVyO1xuICBlbmRUaW1lOiBudW1iZXI7XG4gIHN0YXJ0Um93OiBudW1iZXI7XG4gIGVuZFJvdzogbnVtYmVyO1xuICBzY2FsZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBXb3JrZXJSZXF1ZXN0ID0ge1xuICByZXF1ZXN0SWQ6IG51bWJlcjtcbn0gJiAoXG4gIHwge1xuICAgICAgdHlwZTogJ2NhbGN1bGF0ZVNwYW5Qb3NpdGlvbnMnO1xuICAgICAgcm9vdDogUm9vdE5vZGU7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdmaWx0ZXJTcGFucyc7XG4gICAgICByb290OiBSb290Tm9kZTtcbiAgICAgIGZpbHRlcjogc3RyaW5nO1xuICAgIH1cbik7XG5cbmV4cG9ydCB0eXBlIFdvcmtlclJlc3BvbnNlID0ge1xuICByZXF1ZXN0SWQ6IG51bWJlcjtcbn0gJiAoXG4gIHwge1xuICAgICAgdHlwZTogJ3NldFJvd3NSZXN1bHQnO1xuICAgICAgcm93czogVmlzaWJsZVNwYW5bXVtdO1xuICAgICAgaXNFbmQ6IGJvb2xlYW47XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICd1cGRhdGVIaWdobGlnaHQnO1xuICAgICAgbWF0Y2hlczogU2V0PHN0cmluZz47XG4gICAgfVxuKTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIG9uZSBsaW5rIHRvIGEgcGFnZSByZWxhdGVkIHRvIHRoZSBzZWxlY3RlZFxuICogc3BhbiBpbiB0aGUgZGV0YWlsIHBhbmVsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1aWNrTGluayB7XG4gIC8qKiBVc2VkIGFzIGEgUmVhY3Qga2V5IGFuZCB0aGUgdXNlci1mYWNpbmcgbmFtZSBmb3IgdGhlIGxpbmsgKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBVbnRpbCB0aGlzIFByb21pc2UgaXMgZnVsZmlsbGVkLCB0aGUgcm93IHdpbGwgcmVuZGVyIHdpdGggYSBza2VsZXRvbiBmb3IgdGhlIHZhbHVlLiAqL1xuICB2YWx1ZTogUHJvbWlzZTxRdWlja0xpbmtWYWx1ZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVpY2tMaW5rVmFsdWUge1xuICAvKiogVGhlIHZpc2libGUgY29tcG9uZW50cyBmb3IgdGhlIHJpZ2h0IHNpZGUgb2YgdGhpcyBsaW5rICovXG4gIGxhYmVsOiBSZWFjdE5vZGU7XG4gIC8qKiBBIHNwZWNpYWwgc3VmZml4IHRvIHNob3cgZm9yIHRoaXMgbGluaywgZGVmYXVsdHMgdG8gdGhlIEV4dGVybmFsTGluayBpY29uICovXG4gIGljb24/OiBSZWFjdE5vZGU7XG4gIC8qKiBUaGUgaHJlZiB0aGF0IHRoaXMgbGluayB3aWxsIG9wZW4gd2hlbiBjbGlja2VkICovXG4gIGhyZWY6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgR2V0UXVpY2tMaW5rcyA9IChub2RlOiBTcGFuKSA9PiBRdWlja0xpbmtbXTtcbiJdfQ==
@@ -6,4 +6,4 @@ export const ROW_PADDING = 2;
6
6
  export const ROW_HEIGHT = 24;
7
7
  export const MARKER_HEIGHT = 24;
8
8
  export const MARKER_NOTCH_HEIGHT = 8;
9
- //# sourceMappingURL=constants.js.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJhY2Utdmlld2VyL3V0aWwvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUM1QixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUNsQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUNoQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU0VBUkNIX0hFSUdIVCA9IDQwO1xuZXhwb3J0IGNvbnN0IFNFQVJDSF9HQVAgPSA4O1xuZXhwb3J0IGNvbnN0IE1BUF9IRUlHSFQgPSA1NjtcbmV4cG9ydCBjb25zdCBUSU1FTElORV9QQURESU5HID0gODtcbmV4cG9ydCBjb25zdCBST1dfUEFERElORyA9IDI7XG5leHBvcnQgY29uc3QgUk9XX0hFSUdIVCA9IDI0O1xuZXhwb3J0IGNvbnN0IE1BUktFUl9IRUlHSFQgPSAyNDtcbmV4cG9ydCBjb25zdCBNQVJLRVJfTk9UQ0hfSEVJR0hUID0gODtcbiJdfQ==
@@ -11,4 +11,4 @@ export const detectScrollbarWidth = () => {
11
11
  container.remove();
12
12
  return scrollbarWidth;
13
13
  };
14
- //# sourceMappingURL=scrollbar-width.js.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLXdpZHRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdHJhY2Utdmlld2VyL3V0aWwvc2Nyb2xsYmFyLXdpZHRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQVcsRUFBRTtJQUMvQyxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQztJQUNwQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO0lBQ3JDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztJQUNwRCxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFbkIsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGRldGVjdFNjcm9sbGJhcldpZHRoID0gKCk6IG51bWJlciA9PiB7XG4gIGlmICghKCdkb2N1bWVudCcgaW4gZ2xvYmFsVGhpcykpIHJldHVybiAwO1xuICBjb25zdCBzaXplID0gNDAwO1xuICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgY29udGFpbmVyLnN0eWxlLndpZHRoID0gYCR7c2l6ZX1weGA7XG4gIGNvbnRhaW5lci5zdHlsZS5oZWlnaHQgPSBgJHtzaXplfXB4YDtcbiAgY29udGFpbmVyLnN0eWxlLm92ZXJmbG93ID0gJ3Njcm9sbCc7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSBzaXplIC0gY29udGFpbmVyLnNjcm9sbFdpZHRoO1xuICBjb250YWluZXIucmVtb3ZlKCk7XG5cbiAgcmV0dXJuIHNjcm9sbGJhcldpZHRoO1xufTtcbiJdfQ==
@@ -6,7 +6,7 @@ export declare function getHighResInMs([seconds, nanoseconds]: [
6
6
  ]): number;
7
7
  export declare function getMsInHighRes(ms: number): [number, number];
8
8
  /**
9
- * Formats a duration for timeline display (compact single-unit format).
9
+ * Formats a duration for timeline display (compact format).
10
10
  * @deprecated Use formatDuration(ms, true) instead.
11
11
  */
12
12
  export declare const formatDurationForTimeline: (ms: number) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../../src/components/trace-viewer/util/timing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,cAAc,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;IACrD,MAAM;IACN,MAAM;CACP,GAAG,MAAM,CAET;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE3D;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,IAAI,MAAM,KAAG,MAC7B,CAAC;AAO3B,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3D"}
1
+ {"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../../src/components/trace-viewer/util/timing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,cAAc,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;IACrD,MAAM;IACN,MAAM;CACP,GAAG,MAAM,CAET;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE3D;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,IAAI,MAAM,KAAG,MAC7B,CAAC;AAE3B,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM3D"}