@decaf-ts/integrations 0.3.7 → 0.3.9

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 (417) hide show
  1. package/dist/integrations.cjs +3 -3
  2. package/dist/integrations.js +3 -3
  3. package/lib/cjs/graph/engine/constants.cjs +58 -0
  4. package/lib/cjs/graph/engine/decorators.cjs +4 -0
  5. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +20 -0
  6. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +27 -0
  7. package/lib/cjs/graph/engine/errors/GraphInputError.cjs +20 -0
  8. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +20 -0
  9. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +20 -0
  10. package/lib/cjs/graph/engine/errors/GraphPortError.cjs +20 -0
  11. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +20 -0
  12. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +20 -0
  13. package/lib/cjs/graph/{errors → engine/errors}/index.cjs +2 -2
  14. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +4 -0
  15. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +40 -0
  16. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +37 -0
  17. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +4 -0
  18. package/lib/cjs/graph/{events → engine/events}/index.cjs +2 -2
  19. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +4 -0
  20. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +79 -0
  21. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +408 -0
  22. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +32 -0
  23. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +30 -0
  24. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +4 -0
  25. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +103 -0
  26. package/lib/cjs/graph/{execution → engine/execution}/index.cjs +2 -2
  27. package/lib/cjs/graph/engine/index.cjs +84 -0
  28. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +87 -0
  29. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +85 -0
  30. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +85 -0
  31. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +16 -0
  32. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +77 -0
  33. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +78 -0
  34. package/lib/cjs/graph/{loops → engine/loops}/index.cjs +2 -2
  35. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +28 -0
  36. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +20 -0
  37. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +34 -0
  38. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +191 -0
  39. package/lib/cjs/graph/{pinning → engine/pinning}/index.cjs +2 -2
  40. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +4 -0
  41. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +4 -0
  42. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +4 -0
  43. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +4 -0
  44. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +197 -0
  45. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +172 -0
  46. package/lib/cjs/graph/engine/planning/GraphTopology.cjs +57 -0
  47. package/lib/cjs/graph/{planning → engine/planning}/index.cjs +2 -2
  48. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +44 -0
  49. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +27 -0
  50. package/lib/cjs/graph/{registry → engine/registry}/index.cjs +2 -2
  51. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
  52. package/lib/cjs/graph/{snapshots → engine/snapshots}/index.cjs +2 -2
  53. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +4 -0
  54. package/lib/cjs/graph/engine/store/GraphValueKey.cjs +4 -0
  55. package/lib/cjs/graph/engine/store/GraphValueStore.cjs +76 -0
  56. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +4 -0
  57. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
  58. package/lib/cjs/graph/{store → engine/store}/index.cjs +2 -2
  59. package/lib/cjs/graph/engine/types.cjs +4 -0
  60. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +33 -0
  61. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +58 -0
  62. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +52 -0
  63. package/lib/cjs/graph/{validation → engine/validation}/index.cjs +2 -2
  64. package/lib/cjs/graph/index.cjs +10 -60
  65. package/lib/cjs/graph/shared/constants.cjs +44 -0
  66. package/lib/cjs/graph/shared/index.cjs +38 -0
  67. package/lib/cjs/graph/{nodes → shared/nodes}/agent.cjs +2 -2
  68. package/lib/cjs/graph/shared/nodes/base.cjs +35 -0
  69. package/lib/cjs/graph/shared/nodes/category-styles.cjs +38 -0
  70. package/lib/cjs/graph/shared/nodes/flow-control.cjs +464 -0
  71. package/lib/cjs/graph/{nodes → shared/nodes}/index.cjs +2 -2
  72. package/lib/cjs/graph/shared/nodes/triggers.cjs +250 -0
  73. package/lib/cjs/graph/shared/types.cjs +4 -0
  74. package/lib/cjs/index.cjs +3 -3
  75. package/lib/cjs/nest/index.cjs +2 -3
  76. package/lib/esm/graph/engine/constants.js +62 -0
  77. package/lib/esm/graph/engine/decorators.js +2 -0
  78. package/lib/esm/graph/engine/errors/GraphCycleError.js +15 -0
  79. package/lib/esm/graph/engine/errors/GraphExecutionError.js +22 -0
  80. package/lib/esm/graph/engine/errors/GraphInputError.js +15 -0
  81. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +15 -0
  82. package/lib/esm/graph/engine/errors/GraphPinningError.js +15 -0
  83. package/lib/esm/graph/engine/errors/GraphPortError.js +15 -0
  84. package/lib/esm/graph/engine/errors/GraphStoreError.js +15 -0
  85. package/lib/esm/graph/engine/errors/GraphTopologyError.js +15 -0
  86. package/lib/esm/graph/engine/errors/index.js +14 -0
  87. package/lib/esm/graph/engine/events/GraphExecutionEvent.js +2 -0
  88. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +35 -0
  89. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +32 -0
  90. package/lib/esm/graph/engine/events/GraphExecutionObserver.js +2 -0
  91. package/lib/esm/graph/engine/events/index.js +10 -0
  92. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +18 -0
  93. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +74 -0
  94. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +403 -0
  95. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +27 -0
  96. package/lib/esm/graph/engine/execution/GraphExecutionResult.js +26 -0
  97. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +2 -0
  98. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +98 -0
  99. package/lib/esm/graph/engine/execution/index.js +13 -0
  100. package/lib/esm/graph/engine/index.js +67 -0
  101. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +82 -0
  102. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +80 -0
  103. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +80 -0
  104. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +11 -0
  105. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +72 -0
  106. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +73 -0
  107. package/lib/esm/graph/engine/loops/index.js +12 -0
  108. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +23 -0
  109. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +15 -0
  110. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +29 -0
  111. package/lib/esm/graph/engine/pinning/GraphPinningService.js +186 -0
  112. package/lib/esm/graph/engine/pinning/index.js +10 -0
  113. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +2 -0
  114. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +7 -0
  115. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +2 -0
  116. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +2 -0
  117. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +192 -0
  118. package/lib/esm/graph/engine/planning/GraphRelationResolver.js +167 -0
  119. package/lib/esm/graph/engine/planning/GraphTopology.js +52 -0
  120. package/lib/esm/graph/engine/planning/index.js +13 -0
  121. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +39 -0
  122. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +22 -0
  123. package/lib/esm/graph/engine/registry/index.js +8 -0
  124. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +48 -0
  125. package/lib/esm/graph/engine/snapshots/index.js +7 -0
  126. package/lib/esm/graph/engine/store/GraphCachedValue.js +2 -0
  127. package/lib/esm/graph/engine/store/GraphValueKey.js +7 -0
  128. package/lib/esm/graph/engine/store/GraphValueStore.js +71 -0
  129. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +2 -0
  130. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +64 -0
  131. package/lib/esm/graph/engine/store/index.js +11 -0
  132. package/lib/esm/graph/engine/types.js +2 -0
  133. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +28 -0
  134. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +53 -0
  135. package/lib/esm/graph/engine/validation/GraphValueValidator.js +47 -0
  136. package/lib/esm/graph/engine/validation/index.js +9 -0
  137. package/lib/esm/graph/index.js +9 -59
  138. package/lib/esm/graph/shared/constants.js +56 -0
  139. package/lib/esm/graph/shared/index.js +19 -0
  140. package/lib/esm/graph/shared/nodes/agent.js +101 -0
  141. package/lib/esm/graph/shared/nodes/base.js +30 -0
  142. package/lib/esm/graph/shared/nodes/category-styles.js +34 -0
  143. package/lib/esm/graph/shared/nodes/flow-control.js +455 -0
  144. package/lib/esm/graph/shared/nodes/index.js +18 -0
  145. package/lib/esm/graph/shared/nodes/triggers.js +241 -0
  146. package/lib/esm/graph/shared/types.js +2 -0
  147. package/lib/esm/index.js +3 -3
  148. package/lib/esm/nest/index.js +1 -2
  149. package/lib/types/graph/engine/constants.d.cts +59 -0
  150. package/lib/types/graph/engine/constants.d.mts +59 -0
  151. package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.cts +1 -1
  152. package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.mts +1 -1
  153. package/lib/types/graph/engine/index.d.cts +61 -0
  154. package/lib/types/graph/engine/index.d.mts +61 -0
  155. package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.cts +1 -1
  156. package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.mts +1 -1
  157. package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.cts +2 -1
  158. package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.mts +2 -1
  159. package/lib/types/graph/{types.d.cts → engine/types.d.cts} +8 -116
  160. package/lib/types/graph/{types.d.mts → engine/types.d.mts} +8 -116
  161. package/lib/types/graph/index.d.cts +8 -53
  162. package/lib/types/graph/index.d.mts +8 -53
  163. package/lib/types/graph/shared/constants.d.cts +53 -0
  164. package/lib/types/graph/shared/constants.d.mts +53 -0
  165. package/lib/types/graph/shared/index.d.cts +18 -0
  166. package/lib/types/graph/shared/index.d.mts +18 -0
  167. package/lib/types/graph/shared/types.d.cts +121 -0
  168. package/lib/types/graph/shared/types.d.mts +121 -0
  169. package/lib/types/index.d.cts +2 -2
  170. package/lib/types/index.d.mts +2 -2
  171. package/lib/types/nest/index.d.cts +0 -1
  172. package/lib/types/nest/index.d.mts +0 -1
  173. package/package.json +25 -3
  174. package/lib/cjs/graph/constants.cjs +0 -94
  175. package/lib/cjs/graph/decorators.cjs +0 -4
  176. package/lib/cjs/graph/errors/GraphCycleError.cjs +0 -20
  177. package/lib/cjs/graph/errors/GraphExecutionError.cjs +0 -27
  178. package/lib/cjs/graph/errors/GraphInputError.cjs +0 -20
  179. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +0 -20
  180. package/lib/cjs/graph/errors/GraphPinningError.cjs +0 -20
  181. package/lib/cjs/graph/errors/GraphPortError.cjs +0 -20
  182. package/lib/cjs/graph/errors/GraphStoreError.cjs +0 -20
  183. package/lib/cjs/graph/errors/GraphTopologyError.cjs +0 -20
  184. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +0 -4
  185. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +0 -40
  186. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +0 -37
  187. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +0 -4
  188. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +0 -4
  189. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +0 -79
  190. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +0 -407
  191. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +0 -32
  192. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +0 -30
  193. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +0 -4
  194. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +0 -103
  195. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +0 -87
  196. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +0 -84
  197. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +0 -85
  198. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +0 -16
  199. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +0 -76
  200. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +0 -77
  201. package/lib/cjs/graph/nodes/base.cjs +0 -35
  202. package/lib/cjs/graph/nodes/category-styles.cjs +0 -38
  203. package/lib/cjs/graph/nodes/flow-control.cjs +0 -464
  204. package/lib/cjs/graph/nodes/triggers.cjs +0 -250
  205. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +0 -28
  206. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +0 -20
  207. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +0 -34
  208. package/lib/cjs/graph/pinning/GraphPinningService.cjs +0 -191
  209. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +0 -4
  210. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +0 -4
  211. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +0 -4
  212. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +0 -4
  213. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +0 -197
  214. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +0 -172
  215. package/lib/cjs/graph/planning/GraphTopology.cjs +0 -57
  216. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +0 -44
  217. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +0 -27
  218. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
  219. package/lib/cjs/graph/store/GraphCachedValue.cjs +0 -4
  220. package/lib/cjs/graph/store/GraphValueKey.cjs +0 -4
  221. package/lib/cjs/graph/store/GraphValueStore.cjs +0 -76
  222. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +0 -4
  223. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
  224. package/lib/cjs/graph/types.cjs +0 -4
  225. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +0 -33
  226. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +0 -58
  227. package/lib/cjs/graph/validation/GraphValueValidator.cjs +0 -52
  228. package/lib/esm/graph/constants.js +0 -106
  229. package/lib/esm/graph/decorators.js +0 -2
  230. package/lib/esm/graph/errors/GraphCycleError.js +0 -15
  231. package/lib/esm/graph/errors/GraphExecutionError.js +0 -22
  232. package/lib/esm/graph/errors/GraphInputError.js +0 -15
  233. package/lib/esm/graph/errors/GraphLoopLimitError.js +0 -15
  234. package/lib/esm/graph/errors/GraphPinningError.js +0 -15
  235. package/lib/esm/graph/errors/GraphPortError.js +0 -15
  236. package/lib/esm/graph/errors/GraphStoreError.js +0 -15
  237. package/lib/esm/graph/errors/GraphTopologyError.js +0 -15
  238. package/lib/esm/graph/errors/index.js +0 -14
  239. package/lib/esm/graph/events/GraphExecutionEvent.js +0 -2
  240. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +0 -35
  241. package/lib/esm/graph/events/GraphExecutionEventFactory.js +0 -32
  242. package/lib/esm/graph/events/GraphExecutionObserver.js +0 -2
  243. package/lib/esm/graph/events/index.js +0 -10
  244. package/lib/esm/graph/execution/CodeSandboxEvaluator.js +0 -18
  245. package/lib/esm/graph/execution/GraphExecutionContext.js +0 -74
  246. package/lib/esm/graph/execution/GraphExecutionEngine.js +0 -402
  247. package/lib/esm/graph/execution/GraphExecutionFrame.js +0 -27
  248. package/lib/esm/graph/execution/GraphExecutionResult.js +0 -26
  249. package/lib/esm/graph/execution/GraphNodeExecutor.js +0 -2
  250. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +0 -98
  251. package/lib/esm/graph/execution/index.js +0 -13
  252. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +0 -82
  253. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +0 -79
  254. package/lib/esm/graph/loops/GraphConditionEvaluator.js +0 -80
  255. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +0 -11
  256. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +0 -71
  257. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +0 -72
  258. package/lib/esm/graph/loops/index.js +0 -12
  259. package/lib/esm/graph/nodes/agent.js +0 -101
  260. package/lib/esm/graph/nodes/base.js +0 -30
  261. package/lib/esm/graph/nodes/category-styles.js +0 -34
  262. package/lib/esm/graph/nodes/flow-control.js +0 -455
  263. package/lib/esm/graph/nodes/index.js +0 -18
  264. package/lib/esm/graph/nodes/triggers.js +0 -241
  265. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +0 -23
  266. package/lib/esm/graph/pinning/GraphPinningMetadata.js +0 -15
  267. package/lib/esm/graph/pinning/GraphPinningPolicy.js +0 -29
  268. package/lib/esm/graph/pinning/GraphPinningService.js +0 -186
  269. package/lib/esm/graph/pinning/index.js +0 -10
  270. package/lib/esm/graph/planning/GraphExecutionPlan.js +0 -2
  271. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +0 -7
  272. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +0 -2
  273. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +0 -2
  274. package/lib/esm/graph/planning/GraphExecutionPlanner.js +0 -192
  275. package/lib/esm/graph/planning/GraphRelationResolver.js +0 -167
  276. package/lib/esm/graph/planning/GraphTopology.js +0 -52
  277. package/lib/esm/graph/planning/index.js +0 -13
  278. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +0 -39
  279. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +0 -22
  280. package/lib/esm/graph/registry/index.js +0 -8
  281. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +0 -48
  282. package/lib/esm/graph/snapshots/index.js +0 -7
  283. package/lib/esm/graph/store/GraphCachedValue.js +0 -2
  284. package/lib/esm/graph/store/GraphValueKey.js +0 -7
  285. package/lib/esm/graph/store/GraphValueStore.js +0 -71
  286. package/lib/esm/graph/store/GraphValueStoreAdapter.js +0 -2
  287. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +0 -64
  288. package/lib/esm/graph/store/index.js +0 -11
  289. package/lib/esm/graph/types.js +0 -2
  290. package/lib/esm/graph/validation/GraphDefinitionValidator.js +0 -28
  291. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +0 -53
  292. package/lib/esm/graph/validation/GraphValueValidator.js +0 -47
  293. package/lib/esm/graph/validation/index.js +0 -9
  294. package/lib/types/graph/constants.d.cts +0 -101
  295. package/lib/types/graph/constants.d.mts +0 -101
  296. /package/lib/types/graph/{decorators.d.cts → engine/decorators.d.cts} +0 -0
  297. /package/lib/types/graph/{decorators.d.mts → engine/decorators.d.mts} +0 -0
  298. /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.cts +0 -0
  299. /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.mts +0 -0
  300. /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.cts +0 -0
  301. /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.mts +0 -0
  302. /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.cts +0 -0
  303. /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.mts +0 -0
  304. /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.cts +0 -0
  305. /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.mts +0 -0
  306. /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.cts +0 -0
  307. /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.mts +0 -0
  308. /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.cts +0 -0
  309. /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.mts +0 -0
  310. /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.cts +0 -0
  311. /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.mts +0 -0
  312. /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.cts +0 -0
  313. /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.mts +0 -0
  314. /package/lib/types/graph/{errors → engine/errors}/index.d.cts +0 -0
  315. /package/lib/types/graph/{errors → engine/errors}/index.d.mts +0 -0
  316. /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.cts +0 -0
  317. /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.mts +0 -0
  318. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.cts +0 -0
  319. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.mts +0 -0
  320. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.cts +0 -0
  321. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.mts +0 -0
  322. /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.cts +0 -0
  323. /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.mts +0 -0
  324. /package/lib/types/graph/{events → engine/events}/index.d.cts +0 -0
  325. /package/lib/types/graph/{events → engine/events}/index.d.mts +0 -0
  326. /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.cts +0 -0
  327. /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.mts +0 -0
  328. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.cts +0 -0
  329. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.mts +0 -0
  330. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.cts +0 -0
  331. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.mts +0 -0
  332. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.cts +0 -0
  333. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.mts +0 -0
  334. /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.cts +0 -0
  335. /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.mts +0 -0
  336. /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.cts +0 -0
  337. /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.mts +0 -0
  338. /package/lib/types/graph/{execution → engine/execution}/index.d.cts +0 -0
  339. /package/lib/types/graph/{execution → engine/execution}/index.d.mts +0 -0
  340. /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.cts +0 -0
  341. /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.mts +0 -0
  342. /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.cts +0 -0
  343. /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.mts +0 -0
  344. /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.cts +0 -0
  345. /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.mts +0 -0
  346. /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.cts +0 -0
  347. /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.mts +0 -0
  348. /package/lib/types/graph/{loops → engine/loops}/index.d.cts +0 -0
  349. /package/lib/types/graph/{loops → engine/loops}/index.d.mts +0 -0
  350. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.cts +0 -0
  351. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.mts +0 -0
  352. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.cts +0 -0
  353. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.mts +0 -0
  354. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.cts +0 -0
  355. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.mts +0 -0
  356. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.cts +0 -0
  357. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.mts +0 -0
  358. /package/lib/types/graph/{pinning → engine/pinning}/index.d.cts +0 -0
  359. /package/lib/types/graph/{pinning → engine/pinning}/index.d.mts +0 -0
  360. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.cts +0 -0
  361. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.mts +0 -0
  362. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.cts +0 -0
  363. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.mts +0 -0
  364. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.cts +0 -0
  365. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.mts +0 -0
  366. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.cts +0 -0
  367. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.mts +0 -0
  368. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.cts +0 -0
  369. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.mts +0 -0
  370. /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.cts +0 -0
  371. /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.mts +0 -0
  372. /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.cts +0 -0
  373. /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.mts +0 -0
  374. /package/lib/types/graph/{planning → engine/planning}/index.d.cts +0 -0
  375. /package/lib/types/graph/{planning → engine/planning}/index.d.mts +0 -0
  376. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.cts +0 -0
  377. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.mts +0 -0
  378. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.cts +0 -0
  379. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.mts +0 -0
  380. /package/lib/types/graph/{registry → engine/registry}/index.d.cts +0 -0
  381. /package/lib/types/graph/{registry → engine/registry}/index.d.mts +0 -0
  382. /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.cts +0 -0
  383. /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.mts +0 -0
  384. /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.cts +0 -0
  385. /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.mts +0 -0
  386. /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.cts +0 -0
  387. /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.mts +0 -0
  388. /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.cts +0 -0
  389. /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.mts +0 -0
  390. /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.cts +0 -0
  391. /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.mts +0 -0
  392. /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.cts +0 -0
  393. /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.mts +0 -0
  394. /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.cts +0 -0
  395. /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.mts +0 -0
  396. /package/lib/types/graph/{store → engine/store}/index.d.cts +0 -0
  397. /package/lib/types/graph/{store → engine/store}/index.d.mts +0 -0
  398. /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.cts +0 -0
  399. /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.mts +0 -0
  400. /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.cts +0 -0
  401. /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.mts +0 -0
  402. /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.cts +0 -0
  403. /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.mts +0 -0
  404. /package/lib/types/graph/{validation → engine/validation}/index.d.cts +0 -0
  405. /package/lib/types/graph/{validation → engine/validation}/index.d.mts +0 -0
  406. /package/lib/types/graph/{nodes → shared/nodes}/agent.d.cts +0 -0
  407. /package/lib/types/graph/{nodes → shared/nodes}/agent.d.mts +0 -0
  408. /package/lib/types/graph/{nodes → shared/nodes}/base.d.cts +0 -0
  409. /package/lib/types/graph/{nodes → shared/nodes}/base.d.mts +0 -0
  410. /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.cts +0 -0
  411. /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.mts +0 -0
  412. /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.cts +0 -0
  413. /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.mts +0 -0
  414. /package/lib/types/graph/{nodes → shared/nodes}/index.d.cts +0 -0
  415. /package/lib/types/graph/{nodes → shared/nodes}/index.d.mts +0 -0
  416. /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.cts +0 -0
  417. /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.mts +0 -0
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphTopology = void 0;
4
+ /**
5
+ * Topology utility for traversing the execution plan's edges.
6
+ */
7
+ class GraphTopology {
8
+ /**
9
+ * Returns the set of upstream node ids reachable from `nodeId` by following
10
+ * incoming edges. The workflow boundary node is excluded.
11
+ */
12
+ static upstreamNodes(nodeId, incomingByNode, includeBoundary = false) {
13
+ const visited = new Set();
14
+ const stack = [nodeId];
15
+ while (stack.length) {
16
+ const current = stack.pop();
17
+ const incoming = incomingByNode.get(current) ?? [];
18
+ for (const edge of incoming) {
19
+ if (!includeBoundary && this.isBoundary(edge.sourceNodeId))
20
+ continue;
21
+ if (!visited.has(edge.sourceNodeId)) {
22
+ visited.add(edge.sourceNodeId);
23
+ stack.push(edge.sourceNodeId);
24
+ }
25
+ }
26
+ }
27
+ return visited;
28
+ }
29
+ /**
30
+ * Returns the set of downstream node ids reachable from `nodeId` by following
31
+ * outgoing edges. The workflow boundary node is excluded.
32
+ */
33
+ static downstreamNodes(nodeId, outgoingByNode, includeBoundary = false) {
34
+ const visited = new Set();
35
+ const stack = [nodeId];
36
+ while (stack.length) {
37
+ const current = stack.pop();
38
+ const outgoing = outgoingByNode.get(current) ?? [];
39
+ for (const edge of outgoing) {
40
+ if (!includeBoundary && this.isBoundary(edge.targetNodeId))
41
+ continue;
42
+ if (!visited.has(edge.targetNodeId)) {
43
+ visited.add(edge.targetNodeId);
44
+ stack.push(edge.targetNodeId);
45
+ }
46
+ }
47
+ }
48
+ return visited;
49
+ }
50
+ /** Returns whether a node id is the workflow boundary. */
51
+ static isBoundary(nodeId) {
52
+ return nodeId === "$workflow";
53
+ }
54
+ }
55
+ exports.GraphTopology = GraphTopology;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhUb3BvbG9neS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvcGxhbm5pbmcvR3JhcGhUb3BvbG9neS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQ2xCLE1BQWMsRUFDZCxjQUFxRCxFQUNyRCxlQUFlLEdBQUcsS0FBSztRQUV2QixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRyxDQUFDO1lBQzdCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25ELEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO29CQUFFLFNBQVM7Z0JBQ3JFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO29CQUNwQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUNwQixNQUFjLEVBQ2QsY0FBcUQsRUFDckQsZUFBZSxHQUFHLEtBQUs7UUFFdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUcsQ0FBQztZQUM3QixNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztvQkFBRSxTQUFTO2dCQUNyRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQy9CLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsMERBQTBEO0lBQzFELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBYztRQUM5QixPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9wbGFubmluZy9HcmFwaFRvcG9sb2d5XG4gKiBAc3VtbWFyeSBVdGlsaXR5IGhlbHBlcnMgZm9yIGdyYXBoIHRvcG9sb2d5IGFuYWx5c2lzLlxuICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIGhlbHBlciBmdW5jdGlvbnMgdXNlZCBieSB0aGUgcGxhbm5lciBhbmQgcGlubmluZyBkZXBlbmRlbmN5IHJlc29sdmVyLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uUGxhbkVkZ2UgfSBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5FZGdlXCI7XG5cbi8qKlxuICogVG9wb2xvZ3kgdXRpbGl0eSBmb3IgdHJhdmVyc2luZyB0aGUgZXhlY3V0aW9uIHBsYW4ncyBlZGdlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoVG9wb2xvZ3kge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2V0IG9mIHVwc3RyZWFtIG5vZGUgaWRzIHJlYWNoYWJsZSBmcm9tIGBub2RlSWRgIGJ5IGZvbGxvd2luZ1xuICAgKiBpbmNvbWluZyBlZGdlcy4gVGhlIHdvcmtmbG93IGJvdW5kYXJ5IG5vZGUgaXMgZXhjbHVkZWQuXG4gICAqL1xuICBzdGF0aWMgdXBzdHJlYW1Ob2RlcyhcbiAgICBub2RlSWQ6IHN0cmluZyxcbiAgICBpbmNvbWluZ0J5Tm9kZTogTWFwPHN0cmluZywgR3JhcGhFeGVjdXRpb25QbGFuRWRnZVtdPixcbiAgICBpbmNsdWRlQm91bmRhcnkgPSBmYWxzZVxuICApOiBTZXQ8c3RyaW5nPiB7XG4gICAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGNvbnN0IHN0YWNrID0gW25vZGVJZF07XG4gICAgd2hpbGUgKHN0YWNrLmxlbmd0aCkge1xuICAgICAgY29uc3QgY3VycmVudCA9IHN0YWNrLnBvcCgpITtcbiAgICAgIGNvbnN0IGluY29taW5nID0gaW5jb21pbmdCeU5vZGUuZ2V0KGN1cnJlbnQpID8/IFtdO1xuICAgICAgZm9yIChjb25zdCBlZGdlIG9mIGluY29taW5nKSB7XG4gICAgICAgIGlmICghaW5jbHVkZUJvdW5kYXJ5ICYmIHRoaXMuaXNCb3VuZGFyeShlZGdlLnNvdXJjZU5vZGVJZCkpIGNvbnRpbnVlO1xuICAgICAgICBpZiAoIXZpc2l0ZWQuaGFzKGVkZ2Uuc291cmNlTm9kZUlkKSkge1xuICAgICAgICAgIHZpc2l0ZWQuYWRkKGVkZ2Uuc291cmNlTm9kZUlkKTtcbiAgICAgICAgICBzdGFjay5wdXNoKGVkZ2Uuc291cmNlTm9kZUlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmlzaXRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzZXQgb2YgZG93bnN0cmVhbSBub2RlIGlkcyByZWFjaGFibGUgZnJvbSBgbm9kZUlkYCBieSBmb2xsb3dpbmdcbiAgICogb3V0Z29pbmcgZWRnZXMuIFRoZSB3b3JrZmxvdyBib3VuZGFyeSBub2RlIGlzIGV4Y2x1ZGVkLlxuICAgKi9cbiAgc3RhdGljIGRvd25zdHJlYW1Ob2RlcyhcbiAgICBub2RlSWQ6IHN0cmluZyxcbiAgICBvdXRnb2luZ0J5Tm9kZTogTWFwPHN0cmluZywgR3JhcGhFeGVjdXRpb25QbGFuRWRnZVtdPixcbiAgICBpbmNsdWRlQm91bmRhcnkgPSBmYWxzZVxuICApOiBTZXQ8c3RyaW5nPiB7XG4gICAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIGNvbnN0IHN0YWNrID0gW25vZGVJZF07XG4gICAgd2hpbGUgKHN0YWNrLmxlbmd0aCkge1xuICAgICAgY29uc3QgY3VycmVudCA9IHN0YWNrLnBvcCgpITtcbiAgICAgIGNvbnN0IG91dGdvaW5nID0gb3V0Z29pbmdCeU5vZGUuZ2V0KGN1cnJlbnQpID8/IFtdO1xuICAgICAgZm9yIChjb25zdCBlZGdlIG9mIG91dGdvaW5nKSB7XG4gICAgICAgIGlmICghaW5jbHVkZUJvdW5kYXJ5ICYmIHRoaXMuaXNCb3VuZGFyeShlZGdlLnRhcmdldE5vZGVJZCkpIGNvbnRpbnVlO1xuICAgICAgICBpZiAoIXZpc2l0ZWQuaGFzKGVkZ2UudGFyZ2V0Tm9kZUlkKSkge1xuICAgICAgICAgIHZpc2l0ZWQuYWRkKGVkZ2UudGFyZ2V0Tm9kZUlkKTtcbiAgICAgICAgICBzdGFjay5wdXNoKGVkZ2UudGFyZ2V0Tm9kZUlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmlzaXRlZDtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgYSBub2RlIGlkIGlzIHRoZSB3b3JrZmxvdyBib3VuZGFyeS4gKi9cbiAgc3RhdGljIGlzQm91bmRhcnkobm9kZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbm9kZUlkID09PSBcIiR3b3JrZmxvd1wiO1xuICB9XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhUb3BvbG9neS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoVG9wb2xvZ3kuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCxNQUFhLGFBQWE7SUFDdEI7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLGVBQWUsR0FBRyxLQUFLO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDNUIsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkQsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7b0JBQ3RELFNBQVM7Z0JBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUMvQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbEMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxlQUFlLEdBQUcsS0FBSztRQUNsRSxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzVCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25ELEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO29CQUN0RCxTQUFTO2dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO29CQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDRCwwREFBMEQ7SUFDMUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1FBQ3BCLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQztJQUNsQyxDQUFDO0NBQ0o7QUEvQ0Qsc0NBK0NDO0FBQ0QsOCtKQUE4K0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRvcG9sb2d5IHV0aWxpdHkgZm9yIHRyYXZlcnNpbmcgdGhlIGV4ZWN1dGlvbiBwbGFuJ3MgZWRnZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFRvcG9sb2d5IHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzZXQgb2YgdXBzdHJlYW0gbm9kZSBpZHMgcmVhY2hhYmxlIGZyb20gYG5vZGVJZGAgYnkgZm9sbG93aW5nXG4gICAgICogaW5jb21pbmcgZWRnZXMuIFRoZSB3b3JrZmxvdyBib3VuZGFyeSBub2RlIGlzIGV4Y2x1ZGVkLlxuICAgICAqL1xuICAgIHN0YXRpYyB1cHN0cmVhbU5vZGVzKG5vZGVJZCwgaW5jb21pbmdCeU5vZGUsIGluY2x1ZGVCb3VuZGFyeSA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gW25vZGVJZF07XG4gICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBzdGFjay5wb3AoKTtcbiAgICAgICAgICAgIGNvbnN0IGluY29taW5nID0gaW5jb21pbmdCeU5vZGUuZ2V0KGN1cnJlbnQpID8/IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBlZGdlIG9mIGluY29taW5nKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpbmNsdWRlQm91bmRhcnkgJiYgdGhpcy5pc0JvdW5kYXJ5KGVkZ2Uuc291cmNlTm9kZUlkKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKCF2aXNpdGVkLmhhcyhlZGdlLnNvdXJjZU5vZGVJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaXRlZC5hZGQoZWRnZS5zb3VyY2VOb2RlSWQpO1xuICAgICAgICAgICAgICAgICAgICBzdGFjay5wdXNoKGVkZ2Uuc291cmNlTm9kZUlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZpc2l0ZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNldCBvZiBkb3duc3RyZWFtIG5vZGUgaWRzIHJlYWNoYWJsZSBmcm9tIGBub2RlSWRgIGJ5IGZvbGxvd2luZ1xuICAgICAqIG91dGdvaW5nIGVkZ2VzLiBUaGUgd29ya2Zsb3cgYm91bmRhcnkgbm9kZSBpcyBleGNsdWRlZC5cbiAgICAgKi9cbiAgICBzdGF0aWMgZG93bnN0cmVhbU5vZGVzKG5vZGVJZCwgb3V0Z29pbmdCeU5vZGUsIGluY2x1ZGVCb3VuZGFyeSA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IHZpc2l0ZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gW25vZGVJZF07XG4gICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSBzdGFjay5wb3AoKTtcbiAgICAgICAgICAgIGNvbnN0IG91dGdvaW5nID0gb3V0Z29pbmdCeU5vZGUuZ2V0KGN1cnJlbnQpID8/IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBlZGdlIG9mIG91dGdvaW5nKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpbmNsdWRlQm91bmRhcnkgJiYgdGhpcy5pc0JvdW5kYXJ5KGVkZ2UudGFyZ2V0Tm9kZUlkKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKCF2aXNpdGVkLmhhcyhlZGdlLnRhcmdldE5vZGVJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaXRlZC5hZGQoZWRnZS50YXJnZXROb2RlSWQpO1xuICAgICAgICAgICAgICAgICAgICBzdGFjay5wdXNoKGVkZ2UudGFyZ2V0Tm9kZUlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZpc2l0ZWQ7XG4gICAgfVxuICAgIC8qKiBSZXR1cm5zIHdoZXRoZXIgYSBub2RlIGlkIGlzIHRoZSB3b3JrZmxvdyBib3VuZGFyeS4gKi9cbiAgICBzdGF0aWMgaXNCb3VuZGFyeShub2RlSWQpIHtcbiAgICAgICAgcmV0dXJuIG5vZGVJZCA9PT0gXCIkd29ya2Zsb3dcIjtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSM0poY0doVWIzQnZiRzluZVM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTluY21Gd2FDOWxibWRwYm1VdmNHeGhibTVwYm1jdlIzSmhjR2hVYjNCdmJHOW5lUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGUFFUczdSMEZGUnp0QlFVTklMRTFCUVUwc1QwRkJUeXhoUVVGaE8wbEJRM2hDT3pzN1QwRkhSenRKUVVOSUxFMUJRVTBzUTBGQlF5eGhRVUZoTEVOQlEyeENMRTFCUVdNc1JVRkRaQ3hqUVVGeFJDeEZRVU55UkN4bFFVRmxMRWRCUVVjc1MwRkJTenRSUVVWMlFpeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJWU3hEUVVGRE8xRkJRMnhETEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGRrSXNUMEZCVHl4TFFVRkxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03V1VGRGNFSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUlVGQlJ5eERRVUZETzFsQlF6ZENMRTFCUVUwc1VVRkJVU3hIUVVGSExHTkJRV01zUTBGQlF5eEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xbEJRMjVFTEV0QlFVc3NUVUZCVFN4SlFVRkpMRWxCUVVrc1VVRkJVU3hGUVVGRkxFTkJRVU03WjBKQlF6VkNMRWxCUVVrc1EwRkJReXhsUVVGbExFbEJRVWtzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRE8yOUNRVUZGTEZOQlFWTTdaMEpCUTNKRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUlVGQlJTeERRVUZETzI5Q1FVTndReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenR2UWtGREwwSXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdaMEpCUTJoRExFTkJRVU03V1VGRFNDeERRVUZETzFGQlEwZ3NRMEZCUXp0UlFVTkVMRTlCUVU4c1QwRkJUeXhEUVVGRE8wbEJRMnBDTEVOQlFVTTdTVUZGUkRzN08wOUJSMGM3U1VGRFNDeE5RVUZOTEVOQlFVTXNaVUZCWlN4RFFVTndRaXhOUVVGakxFVkJRMlFzWTBGQmNVUXNSVUZEY2tRc1pVRkJaU3hIUVVGSExFdEJRVXM3VVVGRmRrSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVlVzUTBGQlF6dFJRVU5zUXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEzWkNMRTlCUVU4c1MwRkJTeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzFsQlEzQkNMRTFCUVUwc1QwRkJUeXhIUVVGSExFdEJRVXNzUTBGQlF5eEhRVUZITEVWQlFVY3NRMEZCUXp0WlFVTTNRaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eGpRVUZqTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dFpRVU51UkN4TFFVRkxMRTFCUVUwc1NVRkJTU3hKUVVGSkxGRkJRVkVzUlVGQlJTeERRVUZETzJkQ1FVTTFRaXhKUVVGSkxFTkJRVU1zWlVGQlpTeEpRVUZKTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF6dHZRa0ZCUlN4VFFVRlRPMmRDUVVOeVJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVWQlFVVXNRMEZCUXp0dlFrRkRjRU1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03YjBKQlF5OUNMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMmRDUVVOb1F5eERRVUZETzFsQlEwZ3NRMEZCUXp0UlFVTklMRU5CUVVNN1VVRkRSQ3hQUVVGUExFOUJRVThzUTBGQlF6dEpRVU5xUWl4RFFVRkRPMGxCUlVRc01FUkJRVEJFTzBsQlF6RkVMRTFCUVUwc1EwRkJReXhWUVVGVkxFTkJRVU1zVFVGQll6dFJRVU01UWl4UFFVRlBMRTFCUVUwc1MwRkJTeXhYUVVGWExFTkJRVU03U1VGRGFFTXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1Y3k5bmNtRndhQzl3YkdGdWJtbHVaeTlIY21Gd2FGUnZjRzlzYjJkNVhHNGdLaUJBYzNWdGJXRnllU0JWZEdsc2FYUjVJR2hsYkhCbGNuTWdabTl5SUdkeVlYQm9JSFJ2Y0c5c2IyZDVJR0Z1WVd4NWMybHpMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRkJ5YjNacFpHVnpJR2hsYkhCbGNpQm1kVzVqZEdsdmJuTWdkWE5sWkNCaWVTQjBhR1VnY0d4aGJtNWxjaUJoYm1RZ2NHbHVibWx1WnlCa1pYQmxibVJsYm1ONUlISmxjMjlzZG1WeUxseHVJQ292WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1JYaGxZM1YwYVc5dVVHeGhia1ZrWjJVZ2ZTQm1jbTl0SUZ3aUxpOUhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNUZaR2RsWENJN1hHNWNiaThxS2x4dUlDb2dWRzl3YjJ4dloza2dkWFJwYkdsMGVTQm1iM0lnZEhKaGRtVnljMmx1WnlCMGFHVWdaWGhsWTNWMGFXOXVJSEJzWVc0bmN5QmxaR2RsY3k1Y2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFZHlZWEJvVkc5d2IyeHZaM2tnZTF4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QjBhR1VnYzJWMElHOW1JSFZ3YzNSeVpXRnRJRzV2WkdVZ2FXUnpJSEpsWVdOb1lXSnNaU0JtY205dElHQnViMlJsU1dSZ0lHSjVJR1p2Ykd4dmQybHVaMXh1SUNBZ0tpQnBibU52YldsdVp5QmxaR2RsY3k0Z1ZHaGxJSGR2Y210bWJHOTNJR0p2ZFc1a1lYSjVJRzV2WkdVZ2FYTWdaWGhqYkhWa1pXUXVYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdkWEJ6ZEhKbFlXMU9iMlJsY3loY2JpQWdJQ0J1YjJSbFNXUTZJSE4wY21sdVp5eGNiaUFnSUNCcGJtTnZiV2x1WjBKNVRtOWtaVG9nVFdGd1BITjBjbWx1Wnl3Z1IzSmhjR2hGZUdWamRYUnBiMjVRYkdGdVJXUm5aVnRkUGl4Y2JpQWdJQ0JwYm1Oc2RXUmxRbTkxYm1SaGNua2dQU0JtWVd4elpWeHVJQ0FwT2lCVFpYUThjM1J5YVc1blBpQjdYRzRnSUNBZ1kyOXVjM1FnZG1semFYUmxaQ0E5SUc1bGR5QlRaWFE4YzNSeWFXNW5QaWdwTzF4dUlDQWdJR052Ym5OMElITjBZV05ySUQwZ1cyNXZaR1ZKWkYwN1hHNGdJQ0FnZDJocGJHVWdLSE4wWVdOckxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWTNWeWNtVnVkQ0E5SUhOMFlXTnJMbkJ2Y0NncElUdGNiaUFnSUNBZ0lHTnZibk4wSUdsdVkyOXRhVzVuSUQwZ2FXNWpiMjFwYm1kQ2VVNXZaR1V1WjJWMEtHTjFjbkpsYm5RcElEOC9JRnRkTzF4dUlDQWdJQ0FnWm05eUlDaGpiMjV6ZENCbFpHZGxJRzltSUdsdVkyOXRhVzVuS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doYVc1amJIVmtaVUp2ZFc1a1lYSjVJQ1ltSUhSb2FYTXVhWE5DYjNWdVpHRnllU2hsWkdkbExuTnZkWEpqWlU1dlpHVkpaQ2twSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnSUNCcFppQW9JWFpwYzJsMFpXUXVhR0Z6S0dWa1oyVXVjMjkxY21ObFRtOWtaVWxrS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpwYzJsMFpXUXVZV1JrS0dWa1oyVXVjMjkxY21ObFRtOWtaVWxrS1R0Y2JpQWdJQ0FnSUNBZ0lDQnpkR0ZqYXk1d2RYTm9LR1ZrWjJVdWMyOTFjbU5sVG05a1pVbGtLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RtbHphWFJsWkR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklIUm9aU0J6WlhRZ2IyWWdaRzkzYm5OMGNtVmhiU0J1YjJSbElHbGtjeUJ5WldGamFHRmliR1VnWm5KdmJTQmdibTlrWlVsa1lDQmllU0JtYjJ4c2IzZHBibWRjYmlBZ0lDb2diM1YwWjI5cGJtY2daV1JuWlhNdUlGUm9aU0IzYjNKclpteHZkeUJpYjNWdVpHRnllU0J1YjJSbElHbHpJR1Y0WTJ4MVpHVmtMbHh1SUNBZ0tpOWNiaUFnYzNSaGRHbGpJR1J2ZDI1emRISmxZVzFPYjJSbGN5aGNiaUFnSUNCdWIyUmxTV1E2SUhOMGNtbHVaeXhjYmlBZ0lDQnZkWFJuYjJsdVowSjVUbTlrWlRvZ1RXRndQSE4wY21sdVp5d2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVSV1JuWlZ0ZFBpeGNiaUFnSUNCcGJtTnNkV1JsUW05MWJtUmhjbmtnUFNCbVlXeHpaVnh1SUNBcE9pQlRaWFE4YzNSeWFXNW5QaUI3WEc0Z0lDQWdZMjl1YzNRZ2RtbHphWFJsWkNBOUlHNWxkeUJUWlhROGMzUnlhVzVuUGlncE8xeHVJQ0FnSUdOdmJuTjBJSE4wWVdOcklEMGdXMjV2WkdWSlpGMDdYRzRnSUNBZ2QyaHBiR1VnS0hOMFlXTnJMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1kzVnljbVZ1ZENBOUlITjBZV05yTG5CdmNDZ3BJVHRjYmlBZ0lDQWdJR052Ym5OMElHOTFkR2R2YVc1bklEMGdiM1YwWjI5cGJtZENlVTV2WkdVdVoyVjBLR04xY25KbGJuUXBJRDgvSUZ0ZE8xeHVJQ0FnSUNBZ1ptOXlJQ2hqYjI1emRDQmxaR2RsSUc5bUlHOTFkR2R2YVc1bktTQjdYRzRnSUNBZ0lDQWdJR2xtSUNnaGFXNWpiSFZrWlVKdmRXNWtZWEo1SUNZbUlIUm9hWE11YVhOQ2IzVnVaR0Z5ZVNobFpHZGxMblJoY21kbGRFNXZaR1ZKWkNrcElHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVhacGMybDBaV1F1YUdGektHVmtaMlV1ZEdGeVoyVjBUbTlrWlVsa0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhacGMybDBaV1F1WVdSa0tHVmtaMlV1ZEdGeVoyVjBUbTlrWlVsa0tUdGNiaUFnSUNBZ0lDQWdJQ0J6ZEdGamF5NXdkWE5vS0dWa1oyVXVkR0Z5WjJWMFRtOWtaVWxrS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkbWx6YVhSbFpEdGNiaUFnZlZ4dVhHNGdJQzhxS2lCU1pYUjFjbTV6SUhkb1pYUm9aWElnWVNCdWIyUmxJR2xrSUdseklIUm9aU0IzYjNKclpteHZkeUJpYjNWdVpHRnllUzRnS2k5Y2JpQWdjM1JoZEdsaklHbHpRbTkxYm1SaGNua29ibTlrWlVsa09pQnpkSEpwYm1jcE9pQmliMjlzWldGdUlIdGNiaUFnSUNCeVpYUjFjbTRnYm05a1pVbGtJRDA5UFNCY0lpUjNiM0pyWm14dmQxd2lPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
@@ -26,5 +26,5 @@ __exportStar(require("./GraphExecutionPlan.cjs"), exports);
26
26
  __exportStar(require("./GraphRelationResolver.cjs"), exports);
27
27
  __exportStar(require("./GraphExecutionPlanner.cjs"), exports);
28
28
  __exportStar(require("./GraphTopology.cjs"), exports);
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvcGxhbm5pbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILDRDQUF5QztBQUN6Qyw0Q0FBeUM7QUFDekMsNkNBQTBDO0FBQzFDLHdDQUFxQztBQUNyQywyQ0FBd0M7QUFDeEMsMkNBQXdDO0FBQ3hDLG1DQUFnQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvcGxhbm5pbmdcbiAqIEBzdW1tYXJ5IEdyYXBoIGV4ZWN1dGlvbiBwbGFubmluZy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBleGVjdXRpb24gcGxhbiB0eXBlcywgcmVsYXRpb24gcmVzb2x2ZXIsIGFuZCB0b3BvbG9naWNhbCBwbGFubmVyLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5Ob2RlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5FZGdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5MYXllclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25QbGFuXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFJlbGF0aW9uUmVzb2x2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUGxhbm5lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhUb3BvbG9neVwiO1xuIl19
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILDhEQUE0QztBQUM1Qyw4REFBNEM7QUFDNUMsK0RBQTZDO0FBQzdDLDBEQUF3QztBQUN4Qyw2REFBMkM7QUFDM0MsNkRBQTJDO0FBQzNDLHFEQUFtQztBQUNuQywwZ0NBQTBnQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvcGxhbm5pbmdcbiAqIEBzdW1tYXJ5IEdyYXBoIGV4ZWN1dGlvbiBwbGFubmluZy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBleGVjdXRpb24gcGxhbiB0eXBlcywgcmVsYXRpb24gcmVzb2x2ZXIsIGFuZCB0b3BvbG9naWNhbCBwbGFubmVyLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5FZGdlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5MYXllci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25QbGFuLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFJlbGF0aW9uUmVzb2x2ZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUGxhbm5lci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhUb3BvbG9neS5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WjNKaGNHZ3ZjR3hoYm01cGJtY3ZhVzVrWlhndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN1IwRkpSenRCUVVOSUxEUkRRVUY1UXp0QlFVTjZReXcwUTBGQmVVTTdRVUZEZWtNc05rTkJRVEJETzBGQlF6RkRMSGREUVVGeFF6dEJRVU55UXl3eVEwRkJkME03UVVGRGVFTXNNa05CUVhkRE8wRkJRM2hETEcxRFFVRm5ReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdlozSmhjR2d2Y0d4aGJtNXBibWRjYmlBcUlFQnpkVzF0WVhKNUlFZHlZWEJvSUdWNFpXTjFkR2x2YmlCd2JHRnVibWx1Wnk1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCU1pTMWxlSEJ2Y25SeklIUm9aU0JsZUdWamRYUnBiMjRnY0d4aGJpQjBlWEJsY3l3Z2NtVnNZWFJwYjI0Z2NtVnpiMngyWlhJc0lHRnVaQ0IwYjNCdmJHOW5hV05oYkNCd2JHRnVibVZ5TGx4dUlDb3ZYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVPYjJSbFhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVGWkdkbFhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVNWVhsbGNsd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOUhjbUZ3YUZKbGJHRjBhVzl1VW1WemIyeDJaWEpjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwwZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJtNWxjbHdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlIzSmhjR2hVYjNCdmJHOW5lVndpTzF4dUlsMTkiXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL3BsYW5uaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCw0Q0FBeUM7QUFDekMsNENBQXlDO0FBQ3pDLDZDQUEwQztBQUMxQyx3Q0FBcUM7QUFDckMsMkNBQXdDO0FBQ3hDLDJDQUF3QztBQUN4QyxtQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3BsYW5uaW5nXG4gKiBAc3VtbWFyeSBHcmFwaCBleGVjdXRpb24gcGxhbm5pbmcuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgZXhlY3V0aW9uIHBsYW4gdHlwZXMsIHJlbGF0aW9uIHJlc29sdmVyLCBhbmQgdG9wb2xvZ2ljYWwgcGxhbm5lci5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25QbGFuTm9kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25QbGFuRWRnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25QbGFuTGF5ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUGxhblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhSZWxhdGlvblJlc29sdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5uZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoVG9wb2xvZ3lcIjtcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILDhEQUE0QztBQUM1Qyw4REFBNEM7QUFDNUMsK0RBQTZDO0FBQzdDLDBEQUF3QztBQUN4Qyw2REFBMkM7QUFDM0MsNkRBQTJDO0FBQzNDLHFEQUFtQztBQUNuQywwaENBQTBoQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvcGxhbm5pbmdcbiAqIEBzdW1tYXJ5IEdyYXBoIGV4ZWN1dGlvbiBwbGFubmluZy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBleGVjdXRpb24gcGxhbiB0eXBlcywgcmVsYXRpb24gcmVzb2x2ZXIsIGFuZCB0b3BvbG9naWNhbCBwbGFubmVyLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5Ob2RlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5FZGdlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblBsYW5MYXllci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25QbGFuLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFJlbGF0aW9uUmVzb2x2ZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uUGxhbm5lci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhUb3BvbG9neS5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Wlc1bmFXNWxMM0JzWVc1dWFXNW5MMmx1WkdWNExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCT3pzN08wZEJTVWM3UVVGRFNDdzBRMEZCZVVNN1FVRkRla01zTkVOQlFYbERPMEZCUTNwRExEWkRRVUV3UXp0QlFVTXhReXgzUTBGQmNVTTdRVUZEY2tNc01rTkJRWGRETzBGQlEzaERMREpEUVVGM1F6dEJRVU40UXl4dFEwRkJaME1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwyZHlZWEJvTDNCc1lXNXVhVzVuWEc0Z0tpQkFjM1Z0YldGeWVTQkhjbUZ3YUNCbGVHVmpkWFJwYjI0Z2NHeGhibTVwYm1jdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1VtVXRaWGh3YjNKMGN5QjBhR1VnWlhobFkzVjBhVzl1SUhCc1lXNGdkSGx3WlhNc0lISmxiR0YwYVc5dUlISmxjMjlzZG1WeUxDQmhibVFnZEc5d2IyeHZaMmxqWVd3Z2NHeGhibTVsY2k1Y2JpQXFMMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VG05a1pWd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1UldSblpWd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VEdGNVpYSmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDBkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYmx3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZSM0poY0doU1pXeGhkR2x2YmxKbGMyOXNkbVZ5WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOUhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNXVaWEpjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwwZHlZWEJvVkc5d2IyeHZaM2xjSWp0Y2JpSmRmUT09Il19
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphNodeExecutorRegistry = void 0;
4
+ const GraphExecutionError_js_1 = require("./../errors/GraphExecutionError.cjs");
5
+ /**
6
+ * Registry that maps node `kind` strings to {@link GraphNodeExecutor}
7
+ * instances.
8
+ */
9
+ class GraphNodeExecutorRegistry {
10
+ constructor() {
11
+ this.executors = new Map();
12
+ }
13
+ /** Registers an executor for the given node kind. */
14
+ register(kind, executor) {
15
+ if (!kind)
16
+ throw new GraphExecutionError_js_1.GraphExecutionError("Graph executor kind is required");
17
+ this.executors.set(kind, executor);
18
+ return this;
19
+ }
20
+ /** Removes the executor for the given node kind. */
21
+ unregister(kind) {
22
+ this.executors.delete(kind);
23
+ return this;
24
+ }
25
+ /** Returns whether an executor is registered for the given kind. */
26
+ has(kind) {
27
+ return this.executors.has(kind);
28
+ }
29
+ /**
30
+ * Resolves the executor for the given node kind.
31
+ *
32
+ * @throws {GraphExecutionError} when no executor is registered for `kind`.
33
+ */
34
+ resolve(kind) {
35
+ const executor = this.executors.get(kind);
36
+ if (!executor) {
37
+ throw new GraphExecutionError_js_1.GraphExecutionError(`No graph executor registered for kind '${kind}'`, "GRAPH_EXECUTOR_NOT_FOUND", { kind });
38
+ }
39
+ return executor;
40
+ }
41
+ }
42
+ exports.GraphNodeExecutorRegistry = GraphNodeExecutorRegistry;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvcmVnaXN0cnkvR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsMkNBQXNDO0FBRXBFOzs7R0FHRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFBdEM7UUFDbUIsY0FBUyxHQUFHLElBQUksR0FBRyxFQUE2QixDQUFDO0lBb0NwRSxDQUFDO0lBbENDLHFEQUFxRDtJQUNyRCxRQUFRLENBQUMsSUFBWSxFQUFFLFFBQTJCO1FBQ2hELElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLG1CQUFtQixDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxVQUFVLENBQUMsSUFBWTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxvRUFBb0U7SUFDcEUsR0FBRyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLElBQVk7UUFDbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLG1CQUFtQixDQUMzQiwwQ0FBMEMsSUFBSSxHQUFHLEVBQ2pELDBCQUEwQixFQUMxQixFQUFFLElBQUksRUFBRSxDQUNULENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9yZWdpc3RyeS9HcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5XG4gKiBAc3VtbWFyeSBSZWdpc3RyeSBmb3IgZ3JhcGggbm9kZSBleGVjdXRvcnMuXG4gKiBAZGVzY3JpcHRpb24gTWFwcyBub2RlIGtpbmRzIHRvIHRoZWlyIGV4ZWN1dG9yIGltcGxlbWVudGF0aW9ucy4gVGhlIGVuZ2luZSByZXNvbHZlcyBleGVjdXRvcnMgYnkgbm9kZSBraW5kIGF0IGV4ZWN1dGlvbiB0aW1lLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoTm9kZUV4ZWN1dG9yIH0gZnJvbSBcIi4uL2V4ZWN1dGlvbi9HcmFwaE5vZGVFeGVjdXRvclwiO1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FcnJvciB9IGZyb20gXCIuLi9lcnJvcnMvR3JhcGhFeGVjdXRpb25FcnJvclwiO1xuXG4vKipcbiAqIFJlZ2lzdHJ5IHRoYXQgbWFwcyBub2RlIGBraW5kYCBzdHJpbmdzIHRvIHtAbGluayBHcmFwaE5vZGVFeGVjdXRvcn1cbiAqIGluc3RhbmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnkge1xuICBwcml2YXRlIHJlYWRvbmx5IGV4ZWN1dG9ycyA9IG5ldyBNYXA8c3RyaW5nLCBHcmFwaE5vZGVFeGVjdXRvcj4oKTtcblxuICAvKiogUmVnaXN0ZXJzIGFuIGV4ZWN1dG9yIGZvciB0aGUgZ2l2ZW4gbm9kZSBraW5kLiAqL1xuICByZWdpc3RlcihraW5kOiBzdHJpbmcsIGV4ZWN1dG9yOiBHcmFwaE5vZGVFeGVjdXRvcik6IHRoaXMge1xuICAgIGlmICgha2luZCkgdGhyb3cgbmV3IEdyYXBoRXhlY3V0aW9uRXJyb3IoXCJHcmFwaCBleGVjdXRvciBraW5kIGlzIHJlcXVpcmVkXCIpO1xuICAgIHRoaXMuZXhlY3V0b3JzLnNldChraW5kLCBleGVjdXRvcik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogUmVtb3ZlcyB0aGUgZXhlY3V0b3IgZm9yIHRoZSBnaXZlbiBub2RlIGtpbmQuICovXG4gIHVucmVnaXN0ZXIoa2luZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5leGVjdXRvcnMuZGVsZXRlKGtpbmQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIFJldHVybnMgd2hldGhlciBhbiBleGVjdXRvciBpcyByZWdpc3RlcmVkIGZvciB0aGUgZ2l2ZW4ga2luZC4gKi9cbiAgaGFzKGtpbmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dG9ycy5oYXMoa2luZCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIGV4ZWN1dG9yIGZvciB0aGUgZ2l2ZW4gbm9kZSBraW5kLlxuICAgKlxuICAgKiBAdGhyb3dzIHtHcmFwaEV4ZWN1dGlvbkVycm9yfSB3aGVuIG5vIGV4ZWN1dG9yIGlzIHJlZ2lzdGVyZWQgZm9yIGBraW5kYC5cbiAgICovXG4gIHJlc29sdmUoa2luZDogc3RyaW5nKTogR3JhcGhOb2RlRXhlY3V0b3Ige1xuICAgIGNvbnN0IGV4ZWN1dG9yID0gdGhpcy5leGVjdXRvcnMuZ2V0KGtpbmQpO1xuICAgIGlmICghZXhlY3V0b3IpIHtcbiAgICAgIHRocm93IG5ldyBHcmFwaEV4ZWN1dGlvbkVycm9yKFxuICAgICAgICBgTm8gZ3JhcGggZXhlY3V0b3IgcmVnaXN0ZXJlZCBmb3Iga2luZCAnJHtraW5kfSdgLFxuICAgICAgICBcIkdSQVBIX0VYRUNVVE9SX05PVF9GT1VORFwiLFxuICAgICAgICB7IGtpbmQgfVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGV4ZWN1dG9yO1xuICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0VBQXlFO0FBQ3pFOzs7R0FHRztBQUNILE1BQWEseUJBQXlCO0lBQ2xDO1FBQ0ksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxxREFBcUQ7SUFDckQsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRO1FBQ25CLElBQUksQ0FBQyxJQUFJO1lBQ0wsTUFBTSxJQUFJLDRDQUFtQixDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsVUFBVSxDQUFDLElBQUk7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0Qsb0VBQW9FO0lBQ3BFLEdBQUcsQ0FBQyxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxJQUFJO1FBQ1IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLDRDQUFtQixDQUFDLDBDQUEwQyxJQUFJLEdBQUcsRUFBRSwwQkFBMEIsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0gsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQWhDRCw4REFnQ0M7QUFDRCwwZ0hBQTBnSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyYXBoRXhlY3V0aW9uRXJyb3IgfSBmcm9tIFwiLi8uLi9lcnJvcnMvR3JhcGhFeGVjdXRpb25FcnJvci5qc1wiO1xuLyoqXG4gKiBSZWdpc3RyeSB0aGF0IG1hcHMgbm9kZSBga2luZGAgc3RyaW5ncyB0byB7QGxpbmsgR3JhcGhOb2RlRXhlY3V0b3J9XG4gKiBpbnN0YW5jZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5leGVjdXRvcnMgPSBuZXcgTWFwKCk7XG4gICAgfVxuICAgIC8qKiBSZWdpc3RlcnMgYW4gZXhlY3V0b3IgZm9yIHRoZSBnaXZlbiBub2RlIGtpbmQuICovXG4gICAgcmVnaXN0ZXIoa2luZCwgZXhlY3V0b3IpIHtcbiAgICAgICAgaWYgKCFraW5kKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoRXhlY3V0aW9uRXJyb3IoXCJHcmFwaCBleGVjdXRvciBraW5kIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgICB0aGlzLmV4ZWN1dG9ycy5zZXQoa2luZCwgZXhlY3V0b3IpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgLyoqIFJlbW92ZXMgdGhlIGV4ZWN1dG9yIGZvciB0aGUgZ2l2ZW4gbm9kZSBraW5kLiAqL1xuICAgIHVucmVnaXN0ZXIoa2luZCkge1xuICAgICAgICB0aGlzLmV4ZWN1dG9ycy5kZWxldGUoa2luZCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvKiogUmV0dXJucyB3aGV0aGVyIGFuIGV4ZWN1dG9yIGlzIHJlZ2lzdGVyZWQgZm9yIHRoZSBnaXZlbiBraW5kLiAqL1xuICAgIGhhcyhraW5kKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4ZWN1dG9ycy5oYXMoa2luZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlc29sdmVzIHRoZSBleGVjdXRvciBmb3IgdGhlIGdpdmVuIG5vZGUga2luZC5cbiAgICAgKlxuICAgICAqIEB0aHJvd3Mge0dyYXBoRXhlY3V0aW9uRXJyb3J9IHdoZW4gbm8gZXhlY3V0b3IgaXMgcmVnaXN0ZXJlZCBmb3IgYGtpbmRgLlxuICAgICAqL1xuICAgIHJlc29sdmUoa2luZCkge1xuICAgICAgICBjb25zdCBleGVjdXRvciA9IHRoaXMuZXhlY3V0b3JzLmdldChraW5kKTtcbiAgICAgICAgaWYgKCFleGVjdXRvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoRXhlY3V0aW9uRXJyb3IoYE5vIGdyYXBoIGV4ZWN1dG9yIHJlZ2lzdGVyZWQgZm9yIGtpbmQgJyR7a2luZH0nYCwgXCJHUkFQSF9FWEVDVVRPUl9OT1RfRk9VTkRcIiwgeyBraW5kIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBleGVjdXRvcjtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lSM0poY0doT2IyUmxSWGhsWTNWMGIzSlNaV2RwYzNSeWVTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzlsYm1kcGJtVXZjbVZuYVhOMGNua3ZSM0poY0doT2IyUmxSWGhsWTNWMGIzSlNaV2RwYzNSeWVTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZOUVN4UFFVRlBMRVZCUVVVc2JVSkJRVzFDTEVWQlFVVXNNa05CUVhORE8wRkJSWEJGT3pzN1IwRkhSenRCUVVOSUxFMUJRVTBzVDBGQlR5eDVRa0ZCZVVJN1NVRkJkRU03VVVGRGJVSXNZMEZCVXl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVFMlFpeERRVUZETzBsQmIwTndSU3hEUVVGRE8wbEJiRU5ETEhGRVFVRnhSRHRKUVVOeVJDeFJRVUZSTEVOQlFVTXNTVUZCV1N4RlFVRkZMRkZCUVRKQ08xRkJRMmhFTEVsQlFVa3NRMEZCUXl4SlFVRkpPMWxCUVVVc1RVRkJUU3hKUVVGSkxHMUNRVUZ0UWl4RFFVRkRMR2xEUVVGcFF5eERRVUZETEVOQlFVTTdVVUZETlVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJRMjVETEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxHOUVRVUZ2UkR0SlFVTndSQ3hWUVVGVkxFTkJRVU1zU1VGQldUdFJRVU55UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTTFRaXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4dlJVRkJiMFU3U1VGRGNFVXNSMEZCUnl4RFFVRkRMRWxCUVZrN1VVRkRaQ3hQUVVGUExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRMnhETEVOQlFVTTdTVUZGUkRzN096dFBRVWxITzBsQlEwZ3NUMEZCVHl4RFFVRkRMRWxCUVZrN1VVRkRiRUlzVFVGQlRTeFJRVUZSTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZETVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzFsQlEyUXNUVUZCVFN4SlFVRkpMRzFDUVVGdFFpeERRVU16UWl3d1EwRkJNRU1zU1VGQlNTeEhRVUZITEVWQlEycEVMREJDUVVFd1FpeEZRVU14UWl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVOVUxFTkJRVU03VVVGRFNpeERRVUZETzFGQlEwUXNUMEZCVHl4UlFVRlJMRU5CUVVNN1NVRkRiRUlzUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OW5jbUZ3YUM5eVpXZHBjM1J5ZVM5SGNtRndhRTV2WkdWRmVHVmpkWFJ2Y2xKbFoybHpkSEo1WEc0Z0tpQkFjM1Z0YldGeWVTQlNaV2RwYzNSeWVTQm1iM0lnWjNKaGNHZ2dibTlrWlNCbGVHVmpkWFJ2Y25NdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1RXRndjeUJ1YjJSbElHdHBibVJ6SUhSdklIUm9aV2x5SUdWNFpXTjFkRzl5SUdsdGNHeGxiV1Z1ZEdGMGFXOXVjeTRnVkdobElHVnVaMmx1WlNCeVpYTnZiSFpsY3lCbGVHVmpkWFJ2Y25NZ1lua2dibTlrWlNCcmFXNWtJR0YwSUdWNFpXTjFkR2x2YmlCMGFXMWxMbHh1SUNvdlhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9UbTlrWlVWNFpXTjFkRzl5SUgwZ1puSnZiU0JjSWk0dUwyVjRaV04xZEdsdmJpOUhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNsd2lPMXh1YVcxd2IzSjBJSHNnUjNKaGNHaEZlR1ZqZFhScGIyNUZjbkp2Y2lCOUlHWnliMjBnWENJdUxpOWxjbkp2Y25NdlIzSmhjR2hGZUdWamRYUnBiMjVGY25KdmNsd2lPMXh1WEc0dktpcGNiaUFxSUZKbFoybHpkSEo1SUhSb1lYUWdiV0Z3Y3lCdWIyUmxJR0JyYVc1a1lDQnpkSEpwYm1keklIUnZJSHRBYkdsdWF5QkhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNuMWNiaUFxSUdsdWMzUmhibU5sY3k1Y2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFZHlZWEJvVG05a1pVVjRaV04xZEc5eVVtVm5hWE4wY25rZ2UxeHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJR1Y0WldOMWRHOXljeUE5SUc1bGR5Qk5ZWEE4YzNSeWFXNW5MQ0JIY21Gd2FFNXZaR1ZGZUdWamRYUnZjajRvS1R0Y2JseHVJQ0F2S2lvZ1VtVm5hWE4wWlhKeklHRnVJR1Y0WldOMWRHOXlJR1p2Y2lCMGFHVWdaMmwyWlc0Z2JtOWtaU0JyYVc1a0xpQXFMMXh1SUNCeVpXZHBjM1JsY2locmFXNWtPaUJ6ZEhKcGJtY3NJR1Y0WldOMWRHOXlPaUJIY21Gd2FFNXZaR1ZGZUdWamRYUnZjaWs2SUhSb2FYTWdlMXh1SUNBZ0lHbG1JQ2doYTJsdVpDa2dkR2h5YjNjZ2JtVjNJRWR5WVhCb1JYaGxZM1YwYVc5dVJYSnliM0lvWENKSGNtRndhQ0JsZUdWamRYUnZjaUJyYVc1a0lHbHpJSEpsY1hWcGNtVmtYQ0lwTzF4dUlDQWdJSFJvYVhNdVpYaGxZM1YwYjNKekxuTmxkQ2hyYVc1a0xDQmxlR1ZqZFhSdmNpazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgxY2JseHVJQ0F2S2lvZ1VtVnRiM1psY3lCMGFHVWdaWGhsWTNWMGIzSWdabTl5SUhSb1pTQm5hWFpsYmlCdWIyUmxJR3RwYm1RdUlDb3ZYRzRnSUhWdWNtVm5hWE4wWlhJb2EybHVaRG9nYzNSeWFXNW5LVG9nZEdocGN5QjdYRzRnSUNBZ2RHaHBjeTVsZUdWamRYUnZjbk11WkdWc1pYUmxLR3RwYm1RcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdMeW9xSUZKbGRIVnlibk1nZDJobGRHaGxjaUJoYmlCbGVHVmpkWFJ2Y2lCcGN5QnlaV2RwYzNSbGNtVmtJR1p2Y2lCMGFHVWdaMmwyWlc0Z2EybHVaQzRnS2k5Y2JpQWdhR0Z6S0d0cGJtUTZJSE4wY21sdVp5azZJR0p2YjJ4bFlXNGdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVY0WldOMWRHOXljeTVvWVhNb2EybHVaQ2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVnpiMngyWlhNZ2RHaGxJR1Y0WldOMWRHOXlJR1p2Y2lCMGFHVWdaMmwyWlc0Z2JtOWtaU0JyYVc1a0xseHVJQ0FnS2x4dUlDQWdLaUJBZEdoeWIzZHpJSHRIY21Gd2FFVjRaV04xZEdsdmJrVnljbTl5ZlNCM2FHVnVJRzV2SUdWNFpXTjFkRzl5SUdseklISmxaMmx6ZEdWeVpXUWdabTl5SUdCcmFXNWtZQzVjYmlBZ0lDb3ZYRzRnSUhKbGMyOXNkbVVvYTJsdVpEb2djM1J5YVc1bktUb2dSM0poY0doT2IyUmxSWGhsWTNWMGIzSWdlMXh1SUNBZ0lHTnZibk4wSUdWNFpXTjFkRzl5SUQwZ2RHaHBjeTVsZUdWamRYUnZjbk11WjJWMEtHdHBibVFwTzF4dUlDQWdJR2xtSUNnaFpYaGxZM1YwYjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkhjbUZ3YUVWNFpXTjFkR2x2YmtWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JnVG04Z1ozSmhjR2dnWlhobFkzVjBiM0lnY21WbmFYTjBaWEpsWkNCbWIzSWdhMmx1WkNBbkpIdHJhVzVrZlNkZ0xGeHVJQ0FnSUNBZ0lDQmNJa2RTUVZCSVgwVllSVU5WVkU5U1gwNVBWRjlHVDFWT1JGd2lMRnh1SUNBZ0lDQWdJQ0I3SUd0cGJtUWdmVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdWNFpXTjFkRzl5TzF4dUlDQjlYRzU5WEc0aVhYMD0iXX0=
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphNodeExecutorResolver = void 0;
4
+ /**
5
+ * Resolver that wraps a {@link GraphNodeExecutorRegistry} and optionally
6
+ * falls back to a default executor when a kind is not found.
7
+ */
8
+ class GraphNodeExecutorResolver {
9
+ constructor(registry, defaultExecutor) {
10
+ this.registry = registry;
11
+ this.defaultExecutor = defaultExecutor;
12
+ }
13
+ /**
14
+ * Resolves the executor for `kind`, falling back to the default executor
15
+ * when provided.
16
+ */
17
+ resolve(kind) {
18
+ if (this.registry.has(kind))
19
+ return this.registry.resolve(kind);
20
+ if (this.defaultExecutor)
21
+ return this.defaultExecutor;
22
+ return this.registry.resolve(kind);
23
+ }
24
+ }
25
+ exports.GraphNodeExecutorResolver = GraphNodeExecutorResolver;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhOb2RlRXhlY3V0b3JSZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvcmVnaXN0cnkvR3JhcGhOb2RlRXhlY3V0b3JSZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8seUJBQXlCO0lBR3BDLFlBQ21CLFFBQW1DLEVBQ3BELGVBQW1DO1FBRGxCLGFBQVEsR0FBUixRQUFRLENBQTJCO1FBR3BELElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsSUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxJQUFJLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvcmVnaXN0cnkvR3JhcGhOb2RlRXhlY3V0b3JSZXNvbHZlclxuICogQHN1bW1hcnkgVXRpbGl0eSBmb3IgcmVzb2x2aW5nIGV4ZWN1dG9ycyBmcm9tIGEgcmVnaXN0cnkgd2l0aCBmYWxsYmFjay5cbiAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBhIGhlbHBlciB0aGF0IGF0dGVtcHRzIHRvIHJlc29sdmUgYW4gZXhlY3V0b3IgYnkga2luZCwgZmFsbGluZyBiYWNrIHRvIGEgZGVmYXVsdCBleGVjdXRvciB3aGVuIHRoZSBraW5kIGlzIG5vdCByZWdpc3RlcmVkLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoTm9kZUV4ZWN1dG9yIH0gZnJvbSBcIi4uL2V4ZWN1dGlvbi9HcmFwaE5vZGVFeGVjdXRvclwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5IH0gZnJvbSBcIi4vR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeVwiO1xuXG4vKipcbiAqIFJlc29sdmVyIHRoYXQgd3JhcHMgYSB7QGxpbmsgR3JhcGhOb2RlRXhlY3V0b3JSZWdpc3RyeX0gYW5kIG9wdGlvbmFsbHlcbiAqIGZhbGxzIGJhY2sgdG8gYSBkZWZhdWx0IGV4ZWN1dG9yIHdoZW4gYSBraW5kIGlzIG5vdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoTm9kZUV4ZWN1dG9yUmVzb2x2ZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFeGVjdXRvcj86IEdyYXBoTm9kZUV4ZWN1dG9yO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVnaXN0cnk6IEdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnksXG4gICAgZGVmYXVsdEV4ZWN1dG9yPzogR3JhcGhOb2RlRXhlY3V0b3JcbiAgKSB7XG4gICAgdGhpcy5kZWZhdWx0RXhlY3V0b3IgPSBkZWZhdWx0RXhlY3V0b3I7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIGV4ZWN1dG9yIGZvciBga2luZGAsIGZhbGxpbmcgYmFjayB0byB0aGUgZGVmYXVsdCBleGVjdXRvclxuICAgKiB3aGVuIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVzb2x2ZShraW5kOiBzdHJpbmcpOiBHcmFwaE5vZGVFeGVjdXRvciB7XG4gICAgaWYgKHRoaXMucmVnaXN0cnkuaGFzKGtpbmQpKSByZXR1cm4gdGhpcy5yZWdpc3RyeS5yZXNvbHZlKGtpbmQpO1xuICAgIGlmICh0aGlzLmRlZmF1bHRFeGVjdXRvcikgcmV0dXJuIHRoaXMuZGVmYXVsdEV4ZWN1dG9yO1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LnJlc29sdmUoa2luZCk7XG4gIH1cbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhOb2RlRXhlY3V0b3JSZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoTm9kZUV4ZWN1dG9yUmVzb2x2ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7OztHQUdHO0FBQ0gsTUFBYSx5QkFBeUI7SUFDbEMsWUFBWSxRQUFRLEVBQUUsZUFBZTtRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUMzQyxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLElBQUk7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGVBQWU7WUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztDQUNKO0FBaEJELDhEQWdCQztBQUNELGs3RUFBazdFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvbHZlciB0aGF0IHdyYXBzIGEge0BsaW5rIEdyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnl9IGFuZCBvcHRpb25hbGx5XG4gKiBmYWxscyBiYWNrIHRvIGEgZGVmYXVsdCBleGVjdXRvciB3aGVuIGEga2luZCBpcyBub3QgZm91bmQuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaE5vZGVFeGVjdXRvclJlc29sdmVyIHtcbiAgICBjb25zdHJ1Y3RvcihyZWdpc3RyeSwgZGVmYXVsdEV4ZWN1dG9yKSB7XG4gICAgICAgIHRoaXMucmVnaXN0cnkgPSByZWdpc3RyeTtcbiAgICAgICAgdGhpcy5kZWZhdWx0RXhlY3V0b3IgPSBkZWZhdWx0RXhlY3V0b3I7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlc29sdmVzIHRoZSBleGVjdXRvciBmb3IgYGtpbmRgLCBmYWxsaW5nIGJhY2sgdG8gdGhlIGRlZmF1bHQgZXhlY3V0b3JcbiAgICAgKiB3aGVuIHByb3ZpZGVkLlxuICAgICAqL1xuICAgIHJlc29sdmUoa2luZCkge1xuICAgICAgICBpZiAodGhpcy5yZWdpc3RyeS5oYXMoa2luZCkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZWdpc3RyeS5yZXNvbHZlKGtpbmQpO1xuICAgICAgICBpZiAodGhpcy5kZWZhdWx0RXhlY3V0b3IpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0RXhlY3V0b3I7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LnJlc29sdmUoa2luZCk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUjNKaGNHaE9iMlJsUlhobFkzVjBiM0pTWlhOdmJIWmxjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OW5jbUZ3YUM5bGJtZHBibVV2Y21WbmFYTjBjbmt2UjNKaGNHaE9iMlJsUlhobFkzVjBiM0pTWlhOdmJIWmxjaTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGUlFUczdPMGRCUjBjN1FVRkRTQ3hOUVVGTkxFOUJRVThzZVVKQlFYbENPMGxCUjNCRExGbEJRMjFDTEZGQlFXMURMRVZCUTNCRUxHVkJRVzFETzFGQlJHeENMR0ZCUVZFc1IwRkJVaXhSUVVGUkxFTkJRVEpDTzFGQlIzQkVMRWxCUVVrc1EwRkJReXhsUVVGbExFZEJRVWNzWlVGQlpTeERRVUZETzBsQlEzcERMRU5CUVVNN1NVRkZSRHM3TzA5QlIwYzdTVUZEU0N4UFFVRlBMRU5CUVVNc1NVRkJXVHRSUVVOc1FpeEpRVUZKTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF6dFpRVUZGTEU5QlFVOHNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEYUVVc1NVRkJTU3hKUVVGSkxFTkJRVU1zWlVGQlpUdFpRVUZGTEU5QlFVOHNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJRenRSUVVOMFJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEzSkRMRU5CUVVNN1EwRkRSaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdlozSmhjR2d2Y21WbmFYTjBjbmt2UjNKaGNHaE9iMlJsUlhobFkzVjBiM0pTWlhOdmJIWmxjbHh1SUNvZ1FITjFiVzFoY25rZ1ZYUnBiR2wwZVNCbWIzSWdjbVZ6YjJ4MmFXNW5JR1Y0WldOMWRHOXljeUJtY205dElHRWdjbVZuYVhOMGNua2dkMmwwYUNCbVlXeHNZbUZqYXk1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCUWNtOTJhV1JsY3lCaElHaGxiSEJsY2lCMGFHRjBJR0YwZEdWdGNIUnpJSFJ2SUhKbGMyOXNkbVVnWVc0Z1pYaGxZM1YwYjNJZ1lua2dhMmx1WkN3Z1ptRnNiR2x1WnlCaVlXTnJJSFJ2SUdFZ1pHVm1ZWFZzZENCbGVHVmpkWFJ2Y2lCM2FHVnVJSFJvWlNCcmFXNWtJR2x6SUc1dmRDQnlaV2RwYzNSbGNtVmtMbHh1SUNvdlhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9UbTlrWlVWNFpXTjFkRzl5SUgwZ1puSnZiU0JjSWk0dUwyVjRaV04xZEdsdmJpOUhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNsd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNsSmxaMmx6ZEhKNUlIMGdabkp2YlNCY0lpNHZSM0poY0doT2IyUmxSWGhsWTNWMGIzSlNaV2RwYzNSeWVWd2lPMXh1WEc0dktpcGNiaUFxSUZKbGMyOXNkbVZ5SUhSb1lYUWdkM0poY0hNZ1lTQjdRR3hwYm1zZ1IzSmhjR2hPYjJSbFJYaGxZM1YwYjNKU1pXZHBjM1J5ZVgwZ1lXNWtJRzl3ZEdsdmJtRnNiSGxjYmlBcUlHWmhiR3h6SUdKaFkyc2dkRzhnWVNCa1pXWmhkV3gwSUdWNFpXTjFkRzl5SUhkb1pXNGdZU0JyYVc1a0lHbHpJRzV2ZENCbWIzVnVaQzVjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUVkeVlYQm9UbTlrWlVWNFpXTjFkRzl5VW1WemIyeDJaWElnZTF4dUlDQndjbWwyWVhSbElISmxZV1J2Ym14NUlHUmxabUYxYkhSRmVHVmpkWFJ2Y2o4NklFZHlZWEJvVG05a1pVVjRaV04xZEc5eU8xeHVYRzRnSUdOdmJuTjBjblZqZEc5eUtGeHVJQ0FnSUhCeWFYWmhkR1VnY21WaFpHOXViSGtnY21WbmFYTjBjbms2SUVkeVlYQm9UbTlrWlVWNFpXTjFkRzl5VW1WbmFYTjBjbmtzWEc0Z0lDQWdaR1ZtWVhWc2RFVjRaV04xZEc5eVB6b2dSM0poY0doT2IyUmxSWGhsWTNWMGIzSmNiaUFnS1NCN1hHNGdJQ0FnZEdocGN5NWtaV1poZFd4MFJYaGxZM1YwYjNJZ1BTQmtaV1poZFd4MFJYaGxZM1YwYjNJN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVZ6YjJ4MlpYTWdkR2hsSUdWNFpXTjFkRzl5SUdadmNpQmdhMmx1WkdBc0lHWmhiR3hwYm1jZ1ltRmpheUIwYnlCMGFHVWdaR1ZtWVhWc2RDQmxlR1ZqZFhSdmNseHVJQ0FnS2lCM2FHVnVJSEJ5YjNacFpHVmtMbHh1SUNBZ0tpOWNiaUFnY21WemIyeDJaU2hyYVc1a09pQnpkSEpwYm1jcE9pQkhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNpQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWNtVm5hWE4wY25rdWFHRnpLR3RwYm1RcEtTQnlaWFIxY200Z2RHaHBjeTV5WldkcGMzUnllUzV5WlhOdmJIWmxLR3RwYm1RcE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG1SbFptRjFiSFJGZUdWamRYUnZjaWtnY21WMGRYSnVJSFJvYVhNdVpHVm1ZWFZzZEVWNFpXTjFkRzl5TzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFoybHpkSEo1TG5KbGMyOXNkbVVvYTJsdVpDazdYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
@@ -21,5 +21,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  */
22
22
  __exportStar(require("./GraphNodeExecutorRegistry.cjs"), exports);
23
23
  __exportStar(require("./GraphNodeExecutorResolver.cjs"), exports);
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvcmVnaXN0cnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILCtDQUE0QztBQUM1QywrQ0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3JlZ2lzdHJ5XG4gKiBAc3VtbWFyeSBHcmFwaCBub2RlIGV4ZWN1dG9yIHJlZ2lzdHJ5IGFuZCByZXNvbHZlci5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBleGVjdXRvciByZWdpc3RyeSBhbmQgcmVzb2x2ZXIuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoTm9kZUV4ZWN1dG9yUmVzb2x2ZXJcIjtcbiJdfQ==
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILGlFQUErQztBQUMvQyxpRUFBK0M7QUFDL0MsOG9CQUE4b0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3JlZ2lzdHJ5XG4gKiBAc3VtbWFyeSBHcmFwaCBub2RlIGV4ZWN1dG9yIHJlZ2lzdHJ5IGFuZCByZXNvbHZlci5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBleGVjdXRvciByZWdpc3RyeSBhbmQgcmVzb2x2ZXIuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnkuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoTm9kZUV4ZWN1dG9yUmVzb2x2ZXIuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Y21WbmFYTjBjbmt2YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdSMEZKUnp0QlFVTklMQ3REUVVFMFF6dEJRVU0xUXl3clEwRkJORU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwyZHlZWEJvTDNKbFoybHpkSEo1WEc0Z0tpQkFjM1Z0YldGeWVTQkhjbUZ3YUNCdWIyUmxJR1Y0WldOMWRHOXlJSEpsWjJsemRISjVJR0Z1WkNCeVpYTnZiSFpsY2k1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCU1pTMWxlSEJ2Y25SeklIUm9aU0JsZUdWamRYUnZjaUJ5WldkcGMzUnllU0JoYm1RZ2NtVnpiMngyWlhJdVhHNGdLaTljYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDBkeVlYQm9UbTlrWlVWNFpXTjFkRzl5VW1WbmFYTjBjbmxjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwwZHlZWEJvVG05a1pVVjRaV04xZEc5eVVtVnpiMngyWlhKY0lqdGNiaUpkZlE9PSJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL3JlZ2lzdHJ5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCwrQ0FBNEM7QUFDNUMsK0NBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9yZWdpc3RyeVxuICogQHN1bW1hcnkgR3JhcGggbm9kZSBleGVjdXRvciByZWdpc3RyeSBhbmQgcmVzb2x2ZXIuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgZXhlY3V0b3IgcmVnaXN0cnkgYW5kIHJlc29sdmVyLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaE5vZGVFeGVjdXRvclJlZ2lzdHJ5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaE5vZGVFeGVjdXRvclJlc29sdmVyXCI7XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILGlFQUErQztBQUMvQyxpRUFBK0M7QUFDL0MsMHBCQUEwcEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3JlZ2lzdHJ5XG4gKiBAc3VtbWFyeSBHcmFwaCBub2RlIGV4ZWN1dG9yIHJlZ2lzdHJ5IGFuZCByZXNvbHZlci5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBleGVjdXRvciByZWdpc3RyeSBhbmQgcmVzb2x2ZXIuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoTm9kZUV4ZWN1dG9yUmVnaXN0cnkuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoTm9kZUV4ZWN1dG9yUmVzb2x2ZXIuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZaM0poY0dndlpXNW5hVzVsTDNKbFoybHpkSEo1TDJsdVpHVjRMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk96czdPMGRCU1VjN1FVRkRTQ3dyUTBGQk5FTTdRVUZETlVNc0swTkJRVFJESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OW5jbUZ3YUM5eVpXZHBjM1J5ZVZ4dUlDb2dRSE4xYlcxaGNua2dSM0poY0dnZ2JtOWtaU0JsZUdWamRYUnZjaUJ5WldkcGMzUnllU0JoYm1RZ2NtVnpiMngyWlhJdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1VtVXRaWGh3YjNKMGN5QjBhR1VnWlhobFkzVjBiM0lnY21WbmFYTjBjbmtnWVc1a0lISmxjMjlzZG1WeUxseHVJQ292WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5SGNtRndhRTV2WkdWRmVHVmpkWFJ2Y2xKbFoybHpkSEo1WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOUhjbUZ3YUU1dlpHVkZlR1ZqZFhSdmNsSmxjMjlzZG1WeVhDSTdYRzRpWFgwPSJdfQ==
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphExecutionSnapshotMapper = void 0;
4
+ /**
5
+ * @module integrations/graph/snapshots/GraphExecutionSnapshotMapper
6
+ * @summary Maps execution results to snapshot patches.
7
+ * @description Produces a GraphExecutionSnapshotPatch consumable by `@decaf-ts/ui-decorators/graph` snapshots, rather than replacing the snapshot system.
8
+ */
9
+ const constants_js_1 = require("./../../shared/constants.cjs");
10
+ /**
11
+ * Maps a {@link GraphExecutionResult} to a {@link GraphExecutionSnapshotPatch}.
12
+ */
13
+ class GraphExecutionSnapshotMapper {
14
+ /**
15
+ * Creates a snapshot patch from an execution result.
16
+ */
17
+ map(result) {
18
+ const nodes = {};
19
+ for (const [id, nodeResult] of Object.entries(result.nodeResults)) {
20
+ nodes[id] = {
21
+ status: nodeResult.status,
22
+ startedAt: nodeResult.startedAt?.toISOString(),
23
+ finishedAt: nodeResult.finishedAt?.toISOString(),
24
+ error: nodeResult.error,
25
+ outputs: nodeResult.outputs,
26
+ fromCache: nodeResult.fromCache,
27
+ pinned: nodeResult.pinned,
28
+ };
29
+ }
30
+ const edges = {};
31
+ for (const event of result.events) {
32
+ if (event.edgeId && event.type === "edge.valueRouted") {
33
+ edges[event.edgeId] = {
34
+ status: constants_js_1.GraphExecutionStatus.SUCCEEDED,
35
+ lastValue: event.payload?.value,
36
+ updatedAt: event.timestamp.toISOString(),
37
+ };
38
+ }
39
+ }
40
+ const events = [...result.events];
41
+ return {
42
+ runId: result.runId,
43
+ status: result.status,
44
+ nodes,
45
+ edges,
46
+ outputs: result.outputs,
47
+ events,
48
+ };
49
+ }
50
+ }
51
+ exports.GraphExecutionSnapshotMapper = GraphExecutionSnapshotMapper;
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25TbmFwc2hvdE1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvc25hcHNob3RzL0dyYXBoRXhlY3V0aW9uU25hcHNob3RNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQ0FBK0I7QUFPOUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDOztPQUVHO0lBQ0gsR0FBRyxDQUFDLE1BQTRCO1FBQzlCLE1BQU0sS0FBSyxHQUF5QyxFQUFFLENBQUM7UUFDdkQsS0FBSyxNQUFNLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbEUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHO2dCQUNWLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFO2dCQUM5QyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUU7Z0JBQ2hELEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztnQkFDdkIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2dCQUMzQixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7Z0JBQy9CLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTthQUMxQixDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sS0FBSyxHQUF5QyxFQUFFLENBQUM7UUFDdkQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEMsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssa0JBQWtCLEVBQUUsQ0FBQztnQkFDdEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRztvQkFDcEIsTUFBTSxFQUFFLG9CQUFvQixDQUFDLFNBQVM7b0JBQ3RDLFNBQVMsRUFBRyxLQUFLLENBQUMsT0FBZSxFQUFFLEtBQUs7b0JBQ3hDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRTtpQkFDekMsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQTBCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsT0FBTztZQUNMLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztZQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsS0FBSztZQUNMLEtBQUs7WUFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsTUFBTTtTQUNQLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3NuYXBzaG90cy9HcmFwaEV4ZWN1dGlvblNuYXBzaG90TWFwcGVyXG4gKiBAc3VtbWFyeSBNYXBzIGV4ZWN1dGlvbiByZXN1bHRzIHRvIHNuYXBzaG90IHBhdGNoZXMuXG4gKiBAZGVzY3JpcHRpb24gUHJvZHVjZXMgYSBHcmFwaEV4ZWN1dGlvblNuYXBzaG90UGF0Y2ggY29uc3VtYWJsZSBieSBgQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhgIHNuYXBzaG90cywgcmF0aGVyIHRoYW4gcmVwbGFjaW5nIHRoZSBzbmFwc2hvdCBzeXN0ZW0uXG4gKi9cbmltcG9ydCB7IEdyYXBoRXhlY3V0aW9uU3RhdHVzIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9jb25zdGFudHNcIjtcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhFeGVjdXRpb25FdmVudCxcbiAgR3JhcGhFeGVjdXRpb25SZXN1bHQsXG4gIEdyYXBoRXhlY3V0aW9uU25hcHNob3RQYXRjaCxcbn0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogTWFwcyBhIHtAbGluayBHcmFwaEV4ZWN1dGlvblJlc3VsdH0gdG8gYSB7QGxpbmsgR3JhcGhFeGVjdXRpb25TbmFwc2hvdFBhdGNofS5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoRXhlY3V0aW9uU25hcHNob3RNYXBwZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIHNuYXBzaG90IHBhdGNoIGZyb20gYW4gZXhlY3V0aW9uIHJlc3VsdC5cbiAgICovXG4gIG1hcChyZXN1bHQ6IEdyYXBoRXhlY3V0aW9uUmVzdWx0KTogR3JhcGhFeGVjdXRpb25TbmFwc2hvdFBhdGNoIHtcbiAgICBjb25zdCBub2RlczogR3JhcGhFeGVjdXRpb25TbmFwc2hvdFBhdGNoW1wibm9kZXNcIl0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtpZCwgbm9kZVJlc3VsdF0gb2YgT2JqZWN0LmVudHJpZXMocmVzdWx0Lm5vZGVSZXN1bHRzKSkge1xuICAgICAgbm9kZXNbaWRdID0ge1xuICAgICAgICBzdGF0dXM6IG5vZGVSZXN1bHQuc3RhdHVzLFxuICAgICAgICBzdGFydGVkQXQ6IG5vZGVSZXN1bHQuc3RhcnRlZEF0Py50b0lTT1N0cmluZygpLFxuICAgICAgICBmaW5pc2hlZEF0OiBub2RlUmVzdWx0LmZpbmlzaGVkQXQ/LnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGVycm9yOiBub2RlUmVzdWx0LmVycm9yLFxuICAgICAgICBvdXRwdXRzOiBub2RlUmVzdWx0Lm91dHB1dHMsXG4gICAgICAgIGZyb21DYWNoZTogbm9kZVJlc3VsdC5mcm9tQ2FjaGUsXG4gICAgICAgIHBpbm5lZDogbm9kZVJlc3VsdC5waW5uZWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGVkZ2VzOiBHcmFwaEV4ZWN1dGlvblNuYXBzaG90UGF0Y2hbXCJlZGdlc1wiXSA9IHt9O1xuICAgIGZvciAoY29uc3QgZXZlbnQgb2YgcmVzdWx0LmV2ZW50cykge1xuICAgICAgaWYgKGV2ZW50LmVkZ2VJZCAmJiBldmVudC50eXBlID09PSBcImVkZ2UudmFsdWVSb3V0ZWRcIikge1xuICAgICAgICBlZGdlc1tldmVudC5lZGdlSWRdID0ge1xuICAgICAgICAgIHN0YXR1czogR3JhcGhFeGVjdXRpb25TdGF0dXMuU1VDQ0VFREVELFxuICAgICAgICAgIGxhc3RWYWx1ZTogKGV2ZW50LnBheWxvYWQgYXMgYW55KT8udmFsdWUsXG4gICAgICAgICAgdXBkYXRlZEF0OiBldmVudC50aW1lc3RhbXAudG9JU09TdHJpbmcoKSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBldmVudHM6IEdyYXBoRXhlY3V0aW9uRXZlbnRbXSA9IFsuLi5yZXN1bHQuZXZlbnRzXTtcblxuICAgIHJldHVybiB7XG4gICAgICBydW5JZDogcmVzdWx0LnJ1bklkLFxuICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgICAgbm9kZXMsXG4gICAgICBlZGdlcyxcbiAgICAgIG91dHB1dHM6IHJlc3VsdC5vdXRwdXRzLFxuICAgICAgZXZlbnRzLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25TbmFwc2hvdE1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoRXhlY3V0aW9uU25hcHNob3RNYXBwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7R0FJRztBQUNILDhEQUFtRTtBQUNuRTs7R0FFRztBQUNILE1BQWEsNEJBQTRCO0lBQ3JDOztPQUVHO0lBQ0gsR0FBRyxDQUFDLE1BQU07UUFDTixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakIsS0FBSyxNQUFNLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDaEUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHO2dCQUNSLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFO2dCQUM5QyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUU7Z0JBQ2hELEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSztnQkFDdkIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2dCQUMzQixTQUFTLEVBQUUsVUFBVSxDQUFDLFNBQVM7Z0JBQy9CLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTthQUM1QixDQUFDO1FBQ04sQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNqQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFBRSxDQUFDO2dCQUNwRCxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHO29CQUNsQixNQUFNLEVBQUUsbUNBQW9CLENBQUMsU0FBUztvQkFDdEMsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSztvQkFDL0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO2lCQUMzQyxDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLE9BQU87WUFDSCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLEtBQUs7WUFDTCxLQUFLO1lBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLE1BQU07U0FDVCxDQUFDO0lBQ04sQ0FBQztDQUNKO0FBckNELG9FQXFDQztBQUNELGtySUFBa3JJIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9zbmFwc2hvdHMvR3JhcGhFeGVjdXRpb25TbmFwc2hvdE1hcHBlclxuICogQHN1bW1hcnkgTWFwcyBleGVjdXRpb24gcmVzdWx0cyB0byBzbmFwc2hvdCBwYXRjaGVzLlxuICogQGRlc2NyaXB0aW9uIFByb2R1Y2VzIGEgR3JhcGhFeGVjdXRpb25TbmFwc2hvdFBhdGNoIGNvbnN1bWFibGUgYnkgYEBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoYCBzbmFwc2hvdHMsIHJhdGhlciB0aGFuIHJlcGxhY2luZyB0aGUgc25hcHNob3Qgc3lzdGVtLlxuICovXG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvblN0YXR1cyB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9jb25zdGFudHMuanNcIjtcbi8qKlxuICogTWFwcyBhIHtAbGluayBHcmFwaEV4ZWN1dGlvblJlc3VsdH0gdG8gYSB7QGxpbmsgR3JhcGhFeGVjdXRpb25TbmFwc2hvdFBhdGNofS5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoRXhlY3V0aW9uU25hcHNob3RNYXBwZXIge1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbmFwc2hvdCBwYXRjaCBmcm9tIGFuIGV4ZWN1dGlvbiByZXN1bHQuXG4gICAgICovXG4gICAgbWFwKHJlc3VsdCkge1xuICAgICAgICBjb25zdCBub2RlcyA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IFtpZCwgbm9kZVJlc3VsdF0gb2YgT2JqZWN0LmVudHJpZXMocmVzdWx0Lm5vZGVSZXN1bHRzKSkge1xuICAgICAgICAgICAgbm9kZXNbaWRdID0ge1xuICAgICAgICAgICAgICAgIHN0YXR1czogbm9kZVJlc3VsdC5zdGF0dXMsXG4gICAgICAgICAgICAgICAgc3RhcnRlZEF0OiBub2RlUmVzdWx0LnN0YXJ0ZWRBdD8udG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBmaW5pc2hlZEF0OiBub2RlUmVzdWx0LmZpbmlzaGVkQXQ/LnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgZXJyb3I6IG5vZGVSZXN1bHQuZXJyb3IsXG4gICAgICAgICAgICAgICAgb3V0cHV0czogbm9kZVJlc3VsdC5vdXRwdXRzLFxuICAgICAgICAgICAgICAgIGZyb21DYWNoZTogbm9kZVJlc3VsdC5mcm9tQ2FjaGUsXG4gICAgICAgICAgICAgICAgcGlubmVkOiBub2RlUmVzdWx0LnBpbm5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZWRnZXMgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBldmVudCBvZiByZXN1bHQuZXZlbnRzKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuZWRnZUlkICYmIGV2ZW50LnR5cGUgPT09IFwiZWRnZS52YWx1ZVJvdXRlZFwiKSB7XG4gICAgICAgICAgICAgICAgZWRnZXNbZXZlbnQuZWRnZUlkXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBHcmFwaEV4ZWN1dGlvblN0YXR1cy5TVUNDRUVERUQsXG4gICAgICAgICAgICAgICAgICAgIGxhc3RWYWx1ZTogZXZlbnQucGF5bG9hZD8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRBdDogZXZlbnQudGltZXN0YW1wLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBldmVudHMgPSBbLi4ucmVzdWx0LmV2ZW50c107XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBydW5JZDogcmVzdWx0LnJ1bklkLFxuICAgICAgICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgICAgICAgICAgbm9kZXMsXG4gICAgICAgICAgICBlZGdlcyxcbiAgICAgICAgICAgIG91dHB1dHM6IHJlc3VsdC5vdXRwdXRzLFxuICAgICAgICAgICAgZXZlbnRzLFxuICAgICAgICB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hGZUdWamRYUnBiMjVUYm1Gd2MyaHZkRTFoY0hCbGNpNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzlsYm1kcGJtVXZjMjVoY0hOb2IzUnpMMGR5WVhCb1JYaGxZM1YwYVc5dVUyNWhjSE5vYjNSTllYQndaWEl1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3UjBGSlJ6dEJRVU5JTEU5QlFVOHNSVUZCUlN4dlFrRkJiMElzUlVGQlJTeHZRMEZCSzBJN1FVRlBPVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c05FSkJRVFJDTzBsQlEzWkRPenRQUVVWSE8wbEJRMGdzUjBGQlJ5eERRVUZETEUxQlFUUkNPMUZCUXpsQ0xFMUJRVTBzUzBGQlN5eEhRVUY1UXl4RlFVRkZMRU5CUVVNN1VVRkRka1FzUzBGQlN5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RlFVRkZMRlZCUVZVc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRMRmRCUVZjc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGRGJFVXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSE8yZENRVU5XTEUxQlFVMHNSVUZCUlN4VlFVRlZMRU5CUVVNc1RVRkJUVHRuUWtGRGVrSXNVMEZCVXl4RlFVRkZMRlZCUVZVc1EwRkJReXhUUVVGVExFVkJRVVVzVjBGQlZ5eEZRVUZGTzJkQ1FVTTVReXhWUVVGVkxFVkJRVVVzVlVGQlZTeERRVUZETEZWQlFWVXNSVUZCUlN4WFFVRlhMRVZCUVVVN1owSkJRMmhFTEV0QlFVc3NSVUZCUlN4VlFVRlZMRU5CUVVNc1MwRkJTenRuUWtGRGRrSXNUMEZCVHl4RlFVRkZMRlZCUVZVc1EwRkJReXhQUVVGUE8yZENRVU16UWl4VFFVRlRMRVZCUVVVc1ZVRkJWU3hEUVVGRExGTkJRVk03WjBKQlF5OUNMRTFCUVUwc1JVRkJSU3hWUVVGVkxFTkJRVU1zVFVGQlRUdGhRVU14UWl4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVWRUxFMUJRVTBzUzBGQlN5eEhRVUY1UXl4RlFVRkZMRU5CUVVNN1VVRkRka1FzUzBGQlN5eE5RVUZOTEV0QlFVc3NTVUZCU1N4TlFVRk5MRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03V1VGRGJFTXNTVUZCU1N4TFFVRkxMRU5CUVVNc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEV0QlFVc3NhMEpCUVd0Q0xFVkJRVVVzUTBGQlF6dG5Ra0ZEZEVRc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnp0dlFrRkRjRUlzVFVGQlRTeEZRVUZGTEc5Q1FVRnZRaXhEUVVGRExGTkJRVk03YjBKQlEzUkRMRk5CUVZNc1JVRkJSeXhMUVVGTExFTkJRVU1zVDBGQlpTeEZRVUZGTEV0QlFVczdiMEpCUTNoRExGTkJRVk1zUlVGQlJTeExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRmRCUVZjc1JVRkJSVHRwUWtGRGVrTXNRMEZCUXp0WlFVTktMRU5CUVVNN1VVRkRTQ3hEUVVGRE8xRkJSVVFzVFVGQlRTeE5RVUZOTEVkQlFUQkNMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdVVUZGZWtRc1QwRkJUenRaUVVOTUxFdEJRVXNzUlVGQlJTeE5RVUZOTEVOQlFVTXNTMEZCU3p0WlFVTnVRaXhOUVVGTkxFVkJRVVVzVFVGQlRTeERRVUZETEUxQlFVMDdXVUZEY2tJc1MwRkJTenRaUVVOTUxFdEJRVXM3V1VGRFRDeFBRVUZQTEVWQlFVVXNUVUZCVFN4RFFVRkRMRTlCUVU4N1dVRkRka0lzVFVGQlRUdFRRVU5RTEVOQlFVTTdTVUZEU2l4RFFVRkRPME5CUTBZaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnRiMlIxYkdVZ2FXNTBaV2R5WVhScGIyNXpMMmR5WVhCb0wzTnVZWEJ6YUc5MGN5OUhjbUZ3YUVWNFpXTjFkR2x2YmxOdVlYQnphRzkwVFdGd2NHVnlYRzRnS2lCQWMzVnRiV0Z5ZVNCTllYQnpJR1Y0WldOMWRHbHZiaUJ5WlhOMWJIUnpJSFJ2SUhOdVlYQnphRzkwSUhCaGRHTm9aWE11WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVUhKdlpIVmpaWE1nWVNCSGNtRndhRVY0WldOMWRHbHZibE51WVhCemFHOTBVR0YwWTJnZ1kyOXVjM1Z0WVdKc1pTQmllU0JnUUdSbFkyRm1MWFJ6TDNWcExXUmxZMjl5WVhSdmNuTXZaM0poY0doZ0lITnVZWEJ6YUc5MGN5d2djbUYwYUdWeUlIUm9ZVzRnY21Wd2JHRmphVzVuSUhSb1pTQnpibUZ3YzJodmRDQnplWE4wWlcwdVhHNGdLaTljYm1sdGNHOXlkQ0I3SUVkeVlYQm9SWGhsWTNWMGFXOXVVM1JoZEhWeklIMGdabkp2YlNCY0lpNHVMeTR1TDNOb1lYSmxaQzlqYjI1emRHRnVkSE5jSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHRjYmlBZ1IzSmhjR2hGZUdWamRYUnBiMjVGZG1WdWRDeGNiaUFnUjNKaGNHaEZlR1ZqZFhScGIyNVNaWE4xYkhRc1hHNGdJRWR5WVhCb1JYaGxZM1YwYVc5dVUyNWhjSE5vYjNSUVlYUmphQ3hjYm4wZ1puSnZiU0JjSWk0dUwzUjVjR1Z6WENJN1hHNWNiaThxS2x4dUlDb2dUV0Z3Y3lCaElIdEFiR2x1YXlCSGNtRndhRVY0WldOMWRHbHZibEpsYzNWc2RIMGdkRzhnWVNCN1FHeHBibXNnUjNKaGNHaEZlR1ZqZFhScGIyNVRibUZ3YzJodmRGQmhkR05vZlM1Y2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklFZHlZWEJvUlhobFkzVjBhVzl1VTI1aGNITm9iM1JOWVhCd1pYSWdlMXh1SUNBdktpcGNiaUFnSUNvZ1EzSmxZWFJsY3lCaElITnVZWEJ6YUc5MElIQmhkR05vSUdaeWIyMGdZVzRnWlhobFkzVjBhVzl1SUhKbGMzVnNkQzVjYmlBZ0lDb3ZYRzRnSUcxaGNDaHlaWE4xYkhRNklFZHlZWEJvUlhobFkzVjBhVzl1VW1WemRXeDBLVG9nUjNKaGNHaEZlR1ZqZFhScGIyNVRibUZ3YzJodmRGQmhkR05vSUh0Y2JpQWdJQ0JqYjI1emRDQnViMlJsY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVUYm1Gd2MyaHZkRkJoZEdOb1cxd2libTlrWlhOY0lsMGdQU0I3ZlR0Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUZ0cFpDd2dibTlrWlZKbGMzVnNkRjBnYjJZZ1QySnFaV04wTG1WdWRISnBaWE1vY21WemRXeDBMbTV2WkdWU1pYTjFiSFJ6S1NrZ2UxeHVJQ0FnSUNBZ2JtOWtaWE5iYVdSZElEMGdlMXh1SUNBZ0lDQWdJQ0J6ZEdGMGRYTTZJRzV2WkdWU1pYTjFiSFF1YzNSaGRIVnpMRnh1SUNBZ0lDQWdJQ0J6ZEdGeWRHVmtRWFE2SUc1dlpHVlNaWE4xYkhRdWMzUmhjblJsWkVGMFB5NTBiMGxUVDFOMGNtbHVaeWdwTEZ4dUlDQWdJQ0FnSUNCbWFXNXBjMmhsWkVGME9pQnViMlJsVW1WemRXeDBMbVpwYm1semFHVmtRWFEvTG5SdlNWTlBVM1J5YVc1bktDa3NYRzRnSUNBZ0lDQWdJR1Z5Y205eU9pQnViMlJsVW1WemRXeDBMbVZ5Y205eUxGeHVJQ0FnSUNBZ0lDQnZkWFJ3ZFhSek9pQnViMlJsVW1WemRXeDBMbTkxZEhCMWRITXNYRzRnSUNBZ0lDQWdJR1p5YjIxRFlXTm9aVG9nYm05a1pWSmxjM1ZzZEM1bWNtOXRRMkZqYUdVc1hHNGdJQ0FnSUNBZ0lIQnBibTVsWkRvZ2JtOWtaVkpsYzNWc2RDNXdhVzV1WldRc1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJR1ZrWjJWek9pQkhjbUZ3YUVWNFpXTjFkR2x2YmxOdVlYQnphRzkwVUdGMFkyaGJYQ0psWkdkbGMxd2lYU0E5SUh0OU8xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1pYWmxiblFnYjJZZ2NtVnpkV3gwTG1WMlpXNTBjeWtnZTF4dUlDQWdJQ0FnYVdZZ0tHVjJaVzUwTG1Wa1oyVkpaQ0FtSmlCbGRtVnVkQzUwZVhCbElEMDlQU0JjSW1Wa1oyVXVkbUZzZFdWU2IzVjBaV1JjSWlrZ2UxeHVJQ0FnSUNBZ0lDQmxaR2RsYzF0bGRtVnVkQzVsWkdkbFNXUmRJRDBnZTF4dUlDQWdJQ0FnSUNBZ0lITjBZWFIxY3pvZ1IzSmhjR2hGZUdWamRYUnBiMjVUZEdGMGRYTXVVMVZEUTBWRlJFVkVMRnh1SUNBZ0lDQWdJQ0FnSUd4aGMzUldZV3gxWlRvZ0tHVjJaVzUwTG5CaGVXeHZZV1FnWVhNZ1lXNTVLVDh1ZG1Gc2RXVXNYRzRnSUNBZ0lDQWdJQ0FnZFhCa1lYUmxaRUYwT2lCbGRtVnVkQzUwYVcxbGMzUmhiWEF1ZEc5SlUwOVRkSEpwYm1jb0tTeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCbGRtVnVkSE02SUVkeVlYQm9SWGhsWTNWMGFXOXVSWFpsYm5SYlhTQTlJRnN1TGk1eVpYTjFiSFF1WlhabGJuUnpYVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnlkVzVKWkRvZ2NtVnpkV3gwTG5KMWJrbGtMRnh1SUNBZ0lDQWdjM1JoZEhWek9pQnlaWE4xYkhRdWMzUmhkSFZ6TEZ4dUlDQWdJQ0FnYm05a1pYTXNYRzRnSUNBZ0lDQmxaR2RsY3l4Y2JpQWdJQ0FnSUc5MWRIQjFkSE02SUhKbGMzVnNkQzV2ZFhSd2RYUnpMRnh1SUNBZ0lDQWdaWFpsYm5SekxGeHVJQ0FnSUgwN1hHNGdJSDFjYm4xY2JpSmRmUT09Il19
@@ -20,5 +20,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  * @description Re-exports the snapshot patch mapper.
21
21
  */
22
22
  __exportStar(require("./GraphExecutionSnapshotMapper.cjs"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvc25hcHNob3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxrREFBK0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3NuYXBzaG90c1xuICogQHN1bW1hcnkgR3JhcGggZXhlY3V0aW9uIHNuYXBzaG90IG1hcHBpbmcuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgc25hcHNob3QgcGF0Y2ggbWFwcGVyLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblNuYXBzaG90TWFwcGVyXCI7XG4iXX0=
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILG9FQUFrRDtBQUNsRCwwaUJBQTBpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvc25hcHNob3RzXG4gKiBAc3VtbWFyeSBHcmFwaCBleGVjdXRpb24gc25hcHNob3QgbWFwcGluZy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBzbmFwc2hvdCBwYXRjaCBtYXBwZXIuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uU25hcHNob3RNYXBwZXIuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2YzI1aGNITm9iM1J6TDJsdVpHVjRMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk96czdPMGRCU1VjN1FVRkRTQ3hyUkVGQkswTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lwY2JpQXFJRUJ0YjJSMWJHVWdhVzUwWldkeVlYUnBiMjV6TDJkeVlYQm9MM051WVhCemFHOTBjMXh1SUNvZ1FITjFiVzFoY25rZ1IzSmhjR2dnWlhobFkzVjBhVzl1SUhOdVlYQnphRzkwSUcxaGNIQnBibWN1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1VdFpYaHdiM0owY3lCMGFHVWdjMjVoY0hOb2IzUWdjR0YwWTJnZ2JXRndjR1Z5TGx4dUlDb3ZYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlIY21Gd2FFVjRaV04xZEdsdmJsTnVZWEJ6YUc5MFRXRndjR1Z5WENJN1hHNGlYWDA9Il19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZW5naW5lL3NuYXBzaG90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsa0RBQStDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9zbmFwc2hvdHNcbiAqIEBzdW1tYXJ5IEdyYXBoIGV4ZWN1dGlvbiBzbmFwc2hvdCBtYXBwaW5nLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIHNuYXBzaG90IHBhdGNoIG1hcHBlci5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25TbmFwc2hvdE1hcHBlclwiO1xuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILG9FQUFrRDtBQUNsRCxzakJBQXNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvc25hcHNob3RzXG4gKiBAc3VtbWFyeSBHcmFwaCBleGVjdXRpb24gc25hcHNob3QgbWFwcGluZy5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBzbmFwc2hvdCBwYXRjaCBtYXBwZXIuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uU25hcHNob3RNYXBwZXIuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZaM0poY0dndlpXNW5hVzVsTDNOdVlYQnphRzkwY3k5cGJtUmxlQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUczdPenRIUVVsSE8wRkJRMGdzYTBSQlFTdERJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1Y3k5bmNtRndhQzl6Ym1Gd2MyaHZkSE5jYmlBcUlFQnpkVzF0WVhKNUlFZHlZWEJvSUdWNFpXTjFkR2x2YmlCemJtRndjMmh2ZENCdFlYQndhVzVuTGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUZKbExXVjRjRzl5ZEhNZ2RHaGxJSE51WVhCemFHOTBJSEJoZEdOb0lHMWhjSEJsY2k1Y2JpQXFMMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2UjNKaGNHaEZlR1ZqZFhScGIyNVRibUZ3YzJodmRFMWhjSEJsY2x3aU8xeHVJbDE5Il19
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDYWNoZWRWYWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvc3RvcmUvR3JhcGhDYWNoZWRWYWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9zdG9yZS9HcmFwaENhY2hlZFZhbHVlXG4gKiBAc3VtbWFyeSBBIGNhY2hlZCBncmFwaCB2YWx1ZSB3aXRoIHBpbm5pbmcgbWV0YWRhdGEuXG4gKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyBhIG5vZGUncyBvdXRwdXQgdGhhdCBoYXMgYmVlbiBjYWNoZWQgKGFuZCBvcHRpb25hbGx5IHBpbm5lZCkgaW4gdGhlIHZhbHVlIHN0b3JlLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uVmFsdWVzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmFsdWVLZXkgfSBmcm9tIFwiLi9HcmFwaFZhbHVlS2V5XCI7XG5cbi8qKlxuICogQSB2YWx1ZSBzdG9yZWQgaW4gdGhlIGNhY2hlLCBpbmNsdWRpbmcgdGhlIG91dHB1dHMsIHBpbm5pbmcgc3RhdGUsIGFuZFxuICogdGltZXN0YW1wcyBmb3IgVFRMLWJhc2VkIGV4cGlyeS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaENhY2hlZFZhbHVlIHtcbiAga2V5OiBHcmFwaFZhbHVlS2V5O1xuICBvdXRwdXRzOiBHcmFwaEV4ZWN1dGlvblZhbHVlcztcbiAgcGlubmVkOiBib29sZWFuO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIGV4cGlyZXNBdD86IHN0cmluZztcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDYWNoZWRWYWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoQ2FjaGVkVmFsdWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwwckNBQTByQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hEWVdOb1pXUldZV3gxWlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTluY21Gd2FDOWxibWRwYm1VdmMzUnZjbVV2UjNKaGNHaERZV05vWldSV1lXeDFaUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OW5jbUZ3YUM5emRHOXlaUzlIY21Gd2FFTmhZMmhsWkZaaGJIVmxYRzRnS2lCQWMzVnRiV0Z5ZVNCQklHTmhZMmhsWkNCbmNtRndhQ0IyWVd4MVpTQjNhWFJvSUhCcGJtNXBibWNnYldWMFlXUmhkR0V1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1Wd2NtVnpaVzUwY3lCaElHNXZaR1VuY3lCdmRYUndkWFFnZEdoaGRDQm9ZWE1nWW1WbGJpQmpZV05vWldRZ0tHRnVaQ0J2Y0hScGIyNWhiR3g1SUhCcGJtNWxaQ2tnYVc0Z2RHaGxJSFpoYkhWbElITjBiM0psTGx4dUlDb3ZYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvUlhobFkzVjBhVzl1Vm1Gc2RXVnpJSDBnWm5KdmJTQmNJaTR1TDNSNWNHVnpYQ0k3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1ZtRnNkV1ZMWlhrZ2ZTQm1jbTl0SUZ3aUxpOUhjbUZ3YUZaaGJIVmxTMlY1WENJN1hHNWNiaThxS2x4dUlDb2dRU0IyWVd4MVpTQnpkRzl5WldRZ2FXNGdkR2hsSUdOaFkyaGxMQ0JwYm1Oc2RXUnBibWNnZEdobElHOTFkSEIxZEhNc0lIQnBibTVwYm1jZ2MzUmhkR1VzSUdGdVpGeHVJQ29nZEdsdFpYTjBZVzF3Y3lCbWIzSWdWRlJNTFdKaGMyVmtJR1Y0Y0dseWVTNWNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSGNtRndhRU5oWTJobFpGWmhiSFZsSUh0Y2JpQWdhMlY1T2lCSGNtRndhRlpoYkhWbFMyVjVPMXh1SUNCdmRYUndkWFJ6T2lCSGNtRndhRVY0WldOMWRHbHZibFpoYkhWbGN6dGNiaUFnY0dsdWJtVmtPaUJpYjI5c1pXRnVPMXh1SUNCamNtVmhkR1ZrUVhRNklITjBjbWx1Wnp0Y2JpQWdkWEJrWVhSbFpFRjBPaUJ6ZEhKcGJtYzdYRzRnSUdWNGNHbHlaWE5CZEQ4NklITjBjbWx1Wnp0Y2JpQWdiV1YwWVdSaGRHRS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqdGNibjFjYmlKZGZRPT0iXX0=
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhWYWx1ZUtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvc3RvcmUvR3JhcGhWYWx1ZUtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9zdG9yZS9HcmFwaFZhbHVlS2V5XG4gKiBAc3VtbWFyeSBTdGFibGUga2V5IGZvciBjYWNoZWQgZ3JhcGggdmFsdWVzLlxuICogQGRlc2NyaXB0aW9uIElkZW50aWZpZXMgYSBjYWNoZWQgdmFsdWUgaW4gdGhlIHN0b3JlIGJ5IHdvcmtmbG93LCBub2RlLCBmaW5nZXJwcmludCwgYW5kIG9wdGlvbmFsIG5hbWVzcGFjZS92ZXJzaW9uLlxuICovXG5cbi8qKlxuICogS2V5IHVzZWQgdG8gcmVhZC93cml0ZSBjYWNoZWQgdmFsdWVzIGluIGEge0BsaW5rIEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXJ9LlxuICpcbiAqIFRoZSBgZmluZ2VycHJpbnRgIG11c3QgY2hhbmdlIHdoZW4gbWVhbmluZ2Z1bCBpbnB1dHMgb3IgZGVwZW5kZW5jaWVzIGNoYW5nZVxuICogc28gc3RhbGUgdmFsdWVzIGFyZSBuZXZlciBhY2NpZGVudGFsbHkgcmV1c2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyYXBoVmFsdWVLZXkge1xuICB3b3JrZmxvd0lkOiBzdHJpbmc7XG4gIG5vZGVJZDogc3RyaW5nO1xuICBmaW5nZXJwcmludDogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhWYWx1ZUtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoVmFsdWVLZXkuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwwa0NBQTBrQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvc3RvcmUvR3JhcGhWYWx1ZUtleVxuICogQHN1bW1hcnkgU3RhYmxlIGtleSBmb3IgY2FjaGVkIGdyYXBoIHZhbHVlcy5cbiAqIEBkZXNjcmlwdGlvbiBJZGVudGlmaWVzIGEgY2FjaGVkIHZhbHVlIGluIHRoZSBzdG9yZSBieSB3b3JrZmxvdywgbm9kZSwgZmluZ2VycHJpbnQsIGFuZCBvcHRpb25hbCBuYW1lc3BhY2UvdmVyc2lvbi5cbiAqL1xuZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUjNKaGNHaFdZV3gxWlV0bGVTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUx5NHVMM055WXk5bmNtRndhQzlsYm1kcGJtVXZjM1J2Y21VdlIzSmhjR2hXWVd4MVpVdGxlUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUczdPenRIUVVsSElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTluY21Gd2FDOXpkRzl5WlM5SGNtRndhRlpoYkhWbFMyVjVYRzRnS2lCQWMzVnRiV0Z5ZVNCVGRHRmliR1VnYTJWNUlHWnZjaUJqWVdOb1pXUWdaM0poY0dnZ2RtRnNkV1Z6TGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVsa1pXNTBhV1pwWlhNZ1lTQmpZV05vWldRZ2RtRnNkV1VnYVc0Z2RHaGxJSE4wYjNKbElHSjVJSGR2Y210bWJHOTNMQ0J1YjJSbExDQm1hVzVuWlhKd2NtbHVkQ3dnWVc1a0lHOXdkR2x2Ym1Gc0lHNWhiV1Z6Y0dGalpTOTJaWEp6YVc5dUxseHVJQ292WEc1Y2JpOHFLbHh1SUNvZ1MyVjVJSFZ6WldRZ2RHOGdjbVZoWkM5M2NtbDBaU0JqWVdOb1pXUWdkbUZzZFdWeklHbHVJR0VnZTBCc2FXNXJJRWR5WVhCb1ZtRnNkV1ZUZEc5eVpVRmtZWEIwWlhKOUxseHVJQ3BjYmlBcUlGUm9aU0JnWm1sdVoyVnljSEpwYm5SZ0lHMTFjM1FnWTJoaGJtZGxJSGRvWlc0Z2JXVmhibWx1WjJaMWJDQnBibkIxZEhNZ2IzSWdaR1Z3Wlc1a1pXNWphV1Z6SUdOb1lXNW5aVnh1SUNvZ2MyOGdjM1JoYkdVZ2RtRnNkV1Z6SUdGeVpTQnVaWFpsY2lCaFkyTnBaR1Z1ZEdGc2JIa2djbVYxYzJWa0xseHVJQ292WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVkeVlYQm9WbUZzZFdWTFpYa2dlMXh1SUNCM2IzSnJabXh2ZDBsa09pQnpkSEpwYm1jN1hHNGdJRzV2WkdWSlpEb2djM1J5YVc1bk8xeHVJQ0JtYVc1blpYSndjbWx1ZERvZ2MzUnlhVzVuTzF4dUlDQnVZVzFsYzNCaFkyVS9PaUJ6ZEhKcGJtYzdYRzRnSUhabGNuTnBiMjQvT2lCemRISnBibWM3WEc1OVhHNGlYWDA9Il19
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphValueStore = void 0;
4
+ /**
5
+ * @module integrations/graph/store/GraphValueStore
6
+ * @summary Runtime value store wrapping a persistent adapter.
7
+ * @description Holds runtime values for the current execution in memory and delegates cached/pinned values to a {@link GraphValueStoreAdapter}.
8
+ */
9
+ const constants_js_1 = require("./../constants.cjs");
10
+ /**
11
+ * Manages values during a single graph execution.
12
+ *
13
+ * Runtime values (workflow inputs, node outputs, workflow outputs) are kept in
14
+ * an in-memory map. Persistent cache and pinning operations are delegated to
15
+ * the configured {@link GraphValueStoreAdapter}.
16
+ */
17
+ class GraphValueStore {
18
+ /**
19
+ * @param adapter - The persistent adapter for cached/pinned values.
20
+ */
21
+ constructor(adapter) {
22
+ this.adapter = adapter;
23
+ this.runtimeValues = new Map();
24
+ }
25
+ /** Seeds the workflow input values. */
26
+ seedWorkflowInputs(inputs) {
27
+ this.runtimeValues.set(constants_js_1.GRAPH_WORKFLOW_BOUNDARY, { ...inputs });
28
+ }
29
+ /** Stores the outputs produced by a node. */
30
+ setNodeOutputs(nodeId, outputs) {
31
+ this.runtimeValues.set(nodeId, { ...outputs });
32
+ }
33
+ /** Reads a single port value from a node's stored outputs. */
34
+ getPort(nodeId, port) {
35
+ return this.runtimeValues.get(nodeId)?.[port];
36
+ }
37
+ /** Returns whether a node has a value for the given port. */
38
+ hasPort(nodeId, port) {
39
+ return Object.prototype.hasOwnProperty.call(this.runtimeValues.get(nodeId) ?? {}, port);
40
+ }
41
+ /** Sets a single workflow output port value. */
42
+ setWorkflowOutput(port, value) {
43
+ const current = this.runtimeValues.get(constants_js_1.GRAPH_WORKFLOW_BOUNDARY) ?? {};
44
+ current[port] = value;
45
+ this.runtimeValues.set(constants_js_1.GRAPH_WORKFLOW_BOUNDARY, current);
46
+ }
47
+ /** Returns all workflow-level values (inputs merged with outputs). */
48
+ getWorkflowValues() {
49
+ return {
50
+ ...(this.runtimeValues.get(constants_js_1.GRAPH_WORKFLOW_BOUNDARY) ?? {}),
51
+ };
52
+ }
53
+ /** Reads a cached value from the adapter. */
54
+ async readCached(key) {
55
+ return this.adapter.read(key);
56
+ }
57
+ /** Writes a cached value through the adapter. */
58
+ async writeCached(key, value) {
59
+ await this.adapter.write(key, value);
60
+ }
61
+ /** Deletes a cached value through the adapter. */
62
+ async deleteCached(key) {
63
+ await this.adapter.delete(key);
64
+ }
65
+ /** Returns a snapshot of all runtime values. */
66
+ snapshot() {
67
+ return Object.fromEntries(this.runtimeValues.entries());
68
+ }
69
+ /** Returns the underlying adapter (used by the pinning service). */
70
+ getAdapter() {
71
+ return this.adapter;
72
+ }
73
+ }
74
+ exports.GraphValueStore = GraphValueStore;
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhWYWx1ZVN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9zdG9yZS9HcmFwaFZhbHVlU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwwQkFBcUI7QUFNdkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFHMUI7O09BRUc7SUFDSCxZQUE2QixPQUErQjtRQUEvQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUwzQyxrQkFBYSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO0lBS1YsQ0FBQztJQUVoRSx1Q0FBdUM7SUFDdkMsa0JBQWtCLENBQUMsTUFBNEI7UUFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELDZDQUE2QztJQUM3QyxjQUFjLENBQUMsTUFBYyxFQUFFLE9BQTZCO1FBQzFELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsOERBQThEO0lBQzlELE9BQU8sQ0FBQyxNQUFjLEVBQUUsSUFBWTtRQUNsQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxPQUFPLENBQUMsTUFBYyxFQUFFLElBQVk7UUFDbEMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3pDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFDcEMsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELGlCQUFpQixDQUFDLElBQVksRUFBRSxLQUFjO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxpQkFBaUI7UUFDZixPQUFPO1lBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO1NBQzNELENBQUM7SUFDSixDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBa0I7UUFDakMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsaURBQWlEO0lBQ2pELEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBa0IsRUFBRSxLQUF1QjtRQUMzRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBa0I7UUFDbkMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELFFBQVE7UUFDTixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxvRUFBb0U7SUFDcEUsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3N0b3JlL0dyYXBoVmFsdWVTdG9yZVxuICogQHN1bW1hcnkgUnVudGltZSB2YWx1ZSBzdG9yZSB3cmFwcGluZyBhIHBlcnNpc3RlbnQgYWRhcHRlci5cbiAqIEBkZXNjcmlwdGlvbiBIb2xkcyBydW50aW1lIHZhbHVlcyBmb3IgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIGluIG1lbW9yeSBhbmQgZGVsZWdhdGVzIGNhY2hlZC9waW5uZWQgdmFsdWVzIHRvIGEge0BsaW5rIEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXJ9LlxuICovXG5pbXBvcnQgeyBHUkFQSF9XT1JLRkxPV19CT1VOREFSWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFeGVjdXRpb25WYWx1ZXMgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhWYWx1ZVN0b3JlQWRhcHRlciB9IGZyb20gXCIuL0dyYXBoVmFsdWVTdG9yZUFkYXB0ZXJcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhWYWx1ZUtleSB9IGZyb20gXCIuL0dyYXBoVmFsdWVLZXlcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhDYWNoZWRWYWx1ZSB9IGZyb20gXCIuL0dyYXBoQ2FjaGVkVmFsdWVcIjtcblxuLyoqXG4gKiBNYW5hZ2VzIHZhbHVlcyBkdXJpbmcgYSBzaW5nbGUgZ3JhcGggZXhlY3V0aW9uLlxuICpcbiAqIFJ1bnRpbWUgdmFsdWVzICh3b3JrZmxvdyBpbnB1dHMsIG5vZGUgb3V0cHV0cywgd29ya2Zsb3cgb3V0cHV0cykgYXJlIGtlcHQgaW5cbiAqIGFuIGluLW1lbW9yeSBtYXAuIFBlcnNpc3RlbnQgY2FjaGUgYW5kIHBpbm5pbmcgb3BlcmF0aW9ucyBhcmUgZGVsZWdhdGVkIHRvXG4gKiB0aGUgY29uZmlndXJlZCB7QGxpbmsgR3JhcGhWYWx1ZVN0b3JlQWRhcHRlcn0uXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFZhbHVlU3RvcmUge1xuICBwcml2YXRlIHJlYWRvbmx5IHJ1bnRpbWVWYWx1ZXMgPSBuZXcgTWFwPHN0cmluZywgR3JhcGhFeGVjdXRpb25WYWx1ZXM+KCk7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhZGFwdGVyIC0gVGhlIHBlcnNpc3RlbnQgYWRhcHRlciBmb3IgY2FjaGVkL3Bpbm5lZCB2YWx1ZXMuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFkYXB0ZXI6IEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIpIHt9XG5cbiAgLyoqIFNlZWRzIHRoZSB3b3JrZmxvdyBpbnB1dCB2YWx1ZXMuICovXG4gIHNlZWRXb3JrZmxvd0lucHV0cyhpbnB1dHM6IEdyYXBoRXhlY3V0aW9uVmFsdWVzKTogdm9pZCB7XG4gICAgdGhpcy5ydW50aW1lVmFsdWVzLnNldChHUkFQSF9XT1JLRkxPV19CT1VOREFSWSwgeyAuLi5pbnB1dHMgfSk7XG4gIH1cblxuICAvKiogU3RvcmVzIHRoZSBvdXRwdXRzIHByb2R1Y2VkIGJ5IGEgbm9kZS4gKi9cbiAgc2V0Tm9kZU91dHB1dHMobm9kZUlkOiBzdHJpbmcsIG91dHB1dHM6IEdyYXBoRXhlY3V0aW9uVmFsdWVzKTogdm9pZCB7XG4gICAgdGhpcy5ydW50aW1lVmFsdWVzLnNldChub2RlSWQsIHsgLi4ub3V0cHV0cyB9KTtcbiAgfVxuXG4gIC8qKiBSZWFkcyBhIHNpbmdsZSBwb3J0IHZhbHVlIGZyb20gYSBub2RlJ3Mgc3RvcmVkIG91dHB1dHMuICovXG4gIGdldFBvcnQobm9kZUlkOiBzdHJpbmcsIHBvcnQ6IHN0cmluZyk6IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVWYWx1ZXMuZ2V0KG5vZGVJZCk/Lltwb3J0XTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgYSBub2RlIGhhcyBhIHZhbHVlIGZvciB0aGUgZ2l2ZW4gcG9ydC4gKi9cbiAgaGFzUG9ydChub2RlSWQ6IHN0cmluZywgcG9ydDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChcbiAgICAgIHRoaXMucnVudGltZVZhbHVlcy5nZXQobm9kZUlkKSA/PyB7fSxcbiAgICAgIHBvcnRcbiAgICApO1xuICB9XG5cbiAgLyoqIFNldHMgYSBzaW5nbGUgd29ya2Zsb3cgb3V0cHV0IHBvcnQgdmFsdWUuICovXG4gIHNldFdvcmtmbG93T3V0cHV0KHBvcnQ6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5ydW50aW1lVmFsdWVzLmdldChHUkFQSF9XT1JLRkxPV19CT1VOREFSWSkgPz8ge307XG4gICAgY3VycmVudFtwb3J0XSA9IHZhbHVlO1xuICAgIHRoaXMucnVudGltZVZhbHVlcy5zZXQoR1JBUEhfV09SS0ZMT1dfQk9VTkRBUlksIGN1cnJlbnQpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgYWxsIHdvcmtmbG93LWxldmVsIHZhbHVlcyAoaW5wdXRzIG1lcmdlZCB3aXRoIG91dHB1dHMpLiAqL1xuICBnZXRXb3JrZmxvd1ZhbHVlcygpOiBHcmFwaEV4ZWN1dGlvblZhbHVlcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLih0aGlzLnJ1bnRpbWVWYWx1ZXMuZ2V0KEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZKSA/PyB7fSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBSZWFkcyBhIGNhY2hlZCB2YWx1ZSBmcm9tIHRoZSBhZGFwdGVyLiAqL1xuICBhc3luYyByZWFkQ2FjaGVkKGtleTogR3JhcGhWYWx1ZUtleSk6IFByb21pc2U8R3JhcGhDYWNoZWRWYWx1ZSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIucmVhZChrZXkpO1xuICB9XG5cbiAgLyoqIFdyaXRlcyBhIGNhY2hlZCB2YWx1ZSB0aHJvdWdoIHRoZSBhZGFwdGVyLiAqL1xuICBhc3luYyB3cml0ZUNhY2hlZChrZXk6IEdyYXBoVmFsdWVLZXksIHZhbHVlOiBHcmFwaENhY2hlZFZhbHVlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5hZGFwdGVyLndyaXRlKGtleSwgdmFsdWUpO1xuICB9XG5cbiAgLyoqIERlbGV0ZXMgYSBjYWNoZWQgdmFsdWUgdGhyb3VnaCB0aGUgYWRhcHRlci4gKi9cbiAgYXN5bmMgZGVsZXRlQ2FjaGVkKGtleTogR3JhcGhWYWx1ZUtleSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuYWRhcHRlci5kZWxldGUoa2V5KTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIGEgc25hcHNob3Qgb2YgYWxsIHJ1bnRpbWUgdmFsdWVzLiAqL1xuICBzbmFwc2hvdCgpOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEV4ZWN1dGlvblZhbHVlcz4ge1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXModGhpcy5ydW50aW1lVmFsdWVzLmVudHJpZXMoKSk7XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgdW5kZXJseWluZyBhZGFwdGVyICh1c2VkIGJ5IHRoZSBwaW5uaW5nIHNlcnZpY2UpLiAqL1xuICBnZXRBZGFwdGVyKCk6IEdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXI7XG4gIH1cbn1cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhWYWx1ZVN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiR3JhcGhWYWx1ZVN0b3JlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7O0dBSUc7QUFDSCxvREFBNEQ7QUFDNUQ7Ozs7OztHQU1HO0FBQ0gsTUFBYSxlQUFlO0lBQ3hCOztPQUVHO0lBQ0gsWUFBWSxPQUFPO1FBQ2YsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDRCx1Q0FBdUM7SUFDdkMsa0JBQWtCLENBQUMsTUFBTTtRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxzQ0FBdUIsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBQ0QsNkNBQTZDO0lBQzdDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELDhEQUE4RDtJQUM5RCxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUk7UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCw2REFBNkQ7SUFDN0QsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJO1FBQ2hCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ0QsZ0RBQWdEO0lBQ2hELGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLHNDQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsc0NBQXVCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELHNFQUFzRTtJQUN0RSxpQkFBaUI7UUFDYixPQUFPO1lBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLHNDQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO1NBQzdELENBQUM7SUFDTixDQUFDO0lBQ0QsNkNBQTZDO0lBQzdDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxpREFBaUQ7SUFDakQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsS0FBSztRQUN4QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0Qsa0RBQWtEO0lBQ2xELEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRztRQUNsQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxnREFBZ0Q7SUFDaEQsUUFBUTtRQUNKLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELG9FQUFvRTtJQUNwRSxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Q0FDSjtBQXhERCwwQ0F3REM7QUFDRCxzcE5BQXNwTiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvc3RvcmUvR3JhcGhWYWx1ZVN0b3JlXG4gKiBAc3VtbWFyeSBSdW50aW1lIHZhbHVlIHN0b3JlIHdyYXBwaW5nIGEgcGVyc2lzdGVudCBhZGFwdGVyLlxuICogQGRlc2NyaXB0aW9uIEhvbGRzIHJ1bnRpbWUgdmFsdWVzIGZvciB0aGUgY3VycmVudCBleGVjdXRpb24gaW4gbWVtb3J5IGFuZCBkZWxlZ2F0ZXMgY2FjaGVkL3Bpbm5lZCB2YWx1ZXMgdG8gYSB7QGxpbmsgR3JhcGhWYWx1ZVN0b3JlQWRhcHRlcn0uXG4gKi9cbmltcG9ydCB7IEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZIH0gZnJvbSBcIi4vLi4vY29uc3RhbnRzLmpzXCI7XG4vKipcbiAqIE1hbmFnZXMgdmFsdWVzIGR1cmluZyBhIHNpbmdsZSBncmFwaCBleGVjdXRpb24uXG4gKlxuICogUnVudGltZSB2YWx1ZXMgKHdvcmtmbG93IGlucHV0cywgbm9kZSBvdXRwdXRzLCB3b3JrZmxvdyBvdXRwdXRzKSBhcmUga2VwdCBpblxuICogYW4gaW4tbWVtb3J5IG1hcC4gUGVyc2lzdGVudCBjYWNoZSBhbmQgcGlubmluZyBvcGVyYXRpb25zIGFyZSBkZWxlZ2F0ZWQgdG9cbiAqIHRoZSBjb25maWd1cmVkIHtAbGluayBHcmFwaFZhbHVlU3RvcmVBZGFwdGVyfS5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoVmFsdWVTdG9yZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIGFkYXB0ZXIgLSBUaGUgcGVyc2lzdGVudCBhZGFwdGVyIGZvciBjYWNoZWQvcGlubmVkIHZhbHVlcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihhZGFwdGVyKSB7XG4gICAgICAgIHRoaXMuYWRhcHRlciA9IGFkYXB0ZXI7XG4gICAgICAgIHRoaXMucnVudGltZVZhbHVlcyA9IG5ldyBNYXAoKTtcbiAgICB9XG4gICAgLyoqIFNlZWRzIHRoZSB3b3JrZmxvdyBpbnB1dCB2YWx1ZXMuICovXG4gICAgc2VlZFdvcmtmbG93SW5wdXRzKGlucHV0cykge1xuICAgICAgICB0aGlzLnJ1bnRpbWVWYWx1ZXMuc2V0KEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZLCB7IC4uLmlucHV0cyB9KTtcbiAgICB9XG4gICAgLyoqIFN0b3JlcyB0aGUgb3V0cHV0cyBwcm9kdWNlZCBieSBhIG5vZGUuICovXG4gICAgc2V0Tm9kZU91dHB1dHMobm9kZUlkLCBvdXRwdXRzKSB7XG4gICAgICAgIHRoaXMucnVudGltZVZhbHVlcy5zZXQobm9kZUlkLCB7IC4uLm91dHB1dHMgfSk7XG4gICAgfVxuICAgIC8qKiBSZWFkcyBhIHNpbmdsZSBwb3J0IHZhbHVlIGZyb20gYSBub2RlJ3Mgc3RvcmVkIG91dHB1dHMuICovXG4gICAgZ2V0UG9ydChub2RlSWQsIHBvcnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucnVudGltZVZhbHVlcy5nZXQobm9kZUlkKT8uW3BvcnRdO1xuICAgIH1cbiAgICAvKiogUmV0dXJucyB3aGV0aGVyIGEgbm9kZSBoYXMgYSB2YWx1ZSBmb3IgdGhlIGdpdmVuIHBvcnQuICovXG4gICAgaGFzUG9ydChub2RlSWQsIHBvcnQpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLnJ1bnRpbWVWYWx1ZXMuZ2V0KG5vZGVJZCkgPz8ge30sIHBvcnQpO1xuICAgIH1cbiAgICAvKiogU2V0cyBhIHNpbmdsZSB3b3JrZmxvdyBvdXRwdXQgcG9ydCB2YWx1ZS4gKi9cbiAgICBzZXRXb3JrZmxvd091dHB1dChwb3J0LCB2YWx1ZSkge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5ydW50aW1lVmFsdWVzLmdldChHUkFQSF9XT1JLRkxPV19CT1VOREFSWSkgPz8ge307XG4gICAgICAgIGN1cnJlbnRbcG9ydF0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5ydW50aW1lVmFsdWVzLnNldChHUkFQSF9XT1JLRkxPV19CT1VOREFSWSwgY3VycmVudCk7XG4gICAgfVxuICAgIC8qKiBSZXR1cm5zIGFsbCB3b3JrZmxvdy1sZXZlbCB2YWx1ZXMgKGlucHV0cyBtZXJnZWQgd2l0aCBvdXRwdXRzKS4gKi9cbiAgICBnZXRXb3JrZmxvd1ZhbHVlcygpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLih0aGlzLnJ1bnRpbWVWYWx1ZXMuZ2V0KEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZKSA/PyB7fSksXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKiBSZWFkcyBhIGNhY2hlZCB2YWx1ZSBmcm9tIHRoZSBhZGFwdGVyLiAqL1xuICAgIGFzeW5jIHJlYWRDYWNoZWQoa2V5KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIucmVhZChrZXkpO1xuICAgIH1cbiAgICAvKiogV3JpdGVzIGEgY2FjaGVkIHZhbHVlIHRocm91Z2ggdGhlIGFkYXB0ZXIuICovXG4gICAgYXN5bmMgd3JpdGVDYWNoZWQoa2V5LCB2YWx1ZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIud3JpdGUoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICAgIC8qKiBEZWxldGVzIGEgY2FjaGVkIHZhbHVlIHRocm91Z2ggdGhlIGFkYXB0ZXIuICovXG4gICAgYXN5bmMgZGVsZXRlQ2FjaGVkKGtleSkge1xuICAgICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIuZGVsZXRlKGtleSk7XG4gICAgfVxuICAgIC8qKiBSZXR1cm5zIGEgc25hcHNob3Qgb2YgYWxsIHJ1bnRpbWUgdmFsdWVzLiAqL1xuICAgIHNuYXBzaG90KCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMucnVudGltZVZhbHVlcy5lbnRyaWVzKCkpO1xuICAgIH1cbiAgICAvKiogUmV0dXJucyB0aGUgdW5kZXJseWluZyBhZGFwdGVyICh1c2VkIGJ5IHRoZSBwaW5uaW5nIHNlcnZpY2UpLiAqL1xuICAgIGdldEFkYXB0ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXI7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUjNKaGNHaFdZV3gxWlZOMGIzSmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyZHlZWEJvTDJWdVoybHVaUzl6ZEc5eVpTOUhjbUZ3YUZaaGJIVmxVM1J2Y21VdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN1IwRkpSenRCUVVOSUxFOUJRVThzUlVGQlJTeDFRa0ZCZFVJc1JVRkJSU3d3UWtGQmNVSTdRVUZOZGtRN096czdPenRIUVUxSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEdWQlFXVTdTVUZITVVJN08wOUJSVWM3U1VGRFNDeFpRVUUyUWl4UFFVRXJRanRSUVVFdlFpeFpRVUZQTEVkQlFWQXNUMEZCVHl4RFFVRjNRanRSUVV3elF5eHJRa0ZCWVN4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGblF5eERRVUZETzBsQlMxWXNRMEZCUXp0SlFVVm9SU3gxUTBGQmRVTTdTVUZEZGtNc2EwSkJRV3RDTEVOQlFVTXNUVUZCTkVJN1VVRkROME1zU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SFFVRkhMRU5CUVVNc2RVSkJRWFZDTEVWQlFVVXNSVUZCUlN4SFFVRkhMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGFrVXNRMEZCUXp0SlFVVkVMRFpEUVVFMlF6dEpRVU0zUXl4alFVRmpMRU5CUVVNc1RVRkJZeXhGUVVGRkxFOUJRVFpDTzFGQlF6RkVMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRWRCUVVjc1QwRkJUeXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU5xUkN4RFFVRkRPMGxCUlVRc09FUkJRVGhFTzBsQlF6bEVMRTlCUVU4c1EwRkJReXhOUVVGakxFVkJRVVVzU1VGQldUdFJRVU5zUXl4UFFVRlBMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRGFFUXNRMEZCUXp0SlFVVkVMRFpFUVVFMlJEdEpRVU0zUkN4UFFVRlBMRU5CUVVNc1RVRkJZeXhGUVVGRkxFbEJRVms3VVVGRGJFTXNUMEZCVHl4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZKTEVOQlEzcERMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkRjRU1zU1VGQlNTeERRVU5NTEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc1owUkJRV2RFTzBsQlEyaEVMR2xDUVVGcFFpeERRVUZETEVsQlFWa3NSVUZCUlN4TFFVRmpPMUZCUXpWRExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1IwRkJSeXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRM1JGTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU03VVVGRGRFSXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVU1zZFVKQlFYVkNMRVZCUVVVc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRE0wUXNRMEZCUXp0SlFVVkVMSE5GUVVGelJUdEpRVU4wUlN4cFFrRkJhVUk3VVVGRFppeFBRVUZQTzFsQlEwd3NSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEhWQ1FVRjFRaXhEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETzFOQlF6TkVMRU5CUVVNN1NVRkRTaXhEUVVGRE8wbEJSVVFzTmtOQlFUWkRPMGxCUXpkRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNSMEZCYTBJN1VVRkRha01zVDBGQlR5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5vUXl4RFFVRkRPMGxCUlVRc2FVUkJRV2xFTzBsQlEycEVMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU1zUjBGQmEwSXNSVUZCUlN4TFFVRjFRanRSUVVNelJDeE5RVUZOTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0SlFVTjJReXhEUVVGRE8wbEJSVVFzYTBSQlFXdEVPMGxCUTJ4RUxFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlFVTXNSMEZCYTBJN1VVRkRia01zVFVGQlRTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5xUXl4RFFVRkRPMGxCUlVRc1owUkJRV2RFTzBsQlEyaEVMRkZCUVZFN1VVRkRUaXhQUVVGUExFMUJRVTBzUTBGQlF5eFhRVUZYTEVOQlFVTXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF5eERRVUZETzBsQlF6RkVMRU5CUVVNN1NVRkZSQ3h2UlVGQmIwVTdTVUZEY0VVc1ZVRkJWVHRSUVVOU0xFOUJRVThzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXp0SlFVTjBRaXhEUVVGRE8wTkJRMFlpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwyZHlZWEJvTDNOMGIzSmxMMGR5WVhCb1ZtRnNkV1ZUZEc5eVpWeHVJQ29nUUhOMWJXMWhjbmtnVW5WdWRHbHRaU0IyWVd4MVpTQnpkRzl5WlNCM2NtRndjR2x1WnlCaElIQmxjbk5wYzNSbGJuUWdZV1JoY0hSbGNpNWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkliMnhrY3lCeWRXNTBhVzFsSUhaaGJIVmxjeUJtYjNJZ2RHaGxJR04xY25KbGJuUWdaWGhsWTNWMGFXOXVJR2x1SUcxbGJXOXllU0JoYm1RZ1pHVnNaV2RoZEdWeklHTmhZMmhsWkM5d2FXNXVaV1FnZG1Gc2RXVnpJSFJ2SUdFZ2UwQnNhVzVySUVkeVlYQm9WbUZzZFdWVGRHOXlaVUZrWVhCMFpYSjlMbHh1SUNvdlhHNXBiWEJ2Y25RZ2V5QkhVa0ZRU0Y5WFQxSkxSa3hQVjE5Q1QxVk9SRUZTV1NCOUlHWnliMjBnWENJdUxpOWpiMjV6ZEdGdWRITmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doRmVHVmpkWFJwYjI1V1lXeDFaWE1nZlNCbWNtOXRJRndpTGk0dmRIbHdaWE5jSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjNKaGNHaFdZV3gxWlZOMGIzSmxRV1JoY0hSbGNpQjlJR1p5YjIwZ1hDSXVMMGR5WVhCb1ZtRnNkV1ZUZEc5eVpVRmtZWEIwWlhKY0lqdGNibWx0Y0c5eWRDQjBlWEJsSUhzZ1IzSmhjR2hXWVd4MVpVdGxlU0I5SUdaeWIyMGdYQ0l1TDBkeVlYQm9WbUZzZFdWTFpYbGNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doRFlXTm9aV1JXWVd4MVpTQjlJR1p5YjIwZ1hDSXVMMGR5WVhCb1EyRmphR1ZrVm1Gc2RXVmNJanRjYmx4dUx5b3FYRzRnS2lCTllXNWhaMlZ6SUhaaGJIVmxjeUJrZFhKcGJtY2dZU0J6YVc1bmJHVWdaM0poY0dnZ1pYaGxZM1YwYVc5dUxseHVJQ3BjYmlBcUlGSjFiblJwYldVZ2RtRnNkV1Z6SUNoM2IzSnJabXh2ZHlCcGJuQjFkSE1zSUc1dlpHVWdiM1YwY0hWMGN5d2dkMjl5YTJac2IzY2diM1YwY0hWMGN5a2dZWEpsSUd0bGNIUWdhVzVjYmlBcUlHRnVJR2x1TFcxbGJXOXllU0J0WVhBdUlGQmxjbk5wYzNSbGJuUWdZMkZqYUdVZ1lXNWtJSEJwYm01cGJtY2diM0JsY21GMGFXOXVjeUJoY21VZ1pHVnNaV2RoZEdWa0lIUnZYRzRnS2lCMGFHVWdZMjl1Wm1sbmRYSmxaQ0I3UUd4cGJtc2dSM0poY0doV1lXeDFaVk4wYjNKbFFXUmhjSFJsY24wdVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QkhjbUZ3YUZaaGJIVmxVM1J2Y21VZ2UxeHVJQ0J3Y21sMllYUmxJSEpsWVdSdmJteDVJSEoxYm5ScGJXVldZV3gxWlhNZ1BTQnVaWGNnVFdGd1BITjBjbWx1Wnl3Z1IzSmhjR2hGZUdWamRYUnBiMjVXWVd4MVpYTStLQ2s3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJ3WVhKaGJTQmhaR0Z3ZEdWeUlDMGdWR2hsSUhCbGNuTnBjM1JsYm5RZ1lXUmhjSFJsY2lCbWIzSWdZMkZqYUdWa0wzQnBibTVsWkNCMllXeDFaWE11WEc0Z0lDQXFMMXh1SUNCamIyNXpkSEoxWTNSdmNpaHdjbWwyWVhSbElISmxZV1J2Ym14NUlHRmtZWEIwWlhJNklFZHlZWEJvVm1Gc2RXVlRkRzl5WlVGa1lYQjBaWElwSUh0OVhHNWNiaUFnTHlvcUlGTmxaV1J6SUhSb1pTQjNiM0pyWm14dmR5QnBibkIxZENCMllXeDFaWE11SUNvdlhHNGdJSE5sWldSWGIzSnJabXh2ZDBsdWNIVjBjeWhwYm5CMWRITTZJRWR5WVhCb1JYaGxZM1YwYVc5dVZtRnNkV1Z6S1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1eWRXNTBhVzFsVm1Gc2RXVnpMbk5sZENoSFVrRlFTRjlYVDFKTFJreFBWMTlDVDFWT1JFRlNXU3dnZXlBdUxpNXBibkIxZEhNZ2ZTazdYRzRnSUgxY2JseHVJQ0F2S2lvZ1UzUnZjbVZ6SUhSb1pTQnZkWFJ3ZFhSeklIQnliMlIxWTJWa0lHSjVJR0VnYm05a1pTNGdLaTljYmlBZ2MyVjBUbTlrWlU5MWRIQjFkSE1vYm05a1pVbGtPaUJ6ZEhKcGJtY3NJRzkxZEhCMWRITTZJRWR5WVhCb1JYaGxZM1YwYVc5dVZtRnNkV1Z6S1RvZ2RtOXBaQ0I3WEc0Z0lDQWdkR2hwY3k1eWRXNTBhVzFsVm1Gc2RXVnpMbk5sZENodWIyUmxTV1FzSUhzZ0xpNHViM1YwY0hWMGN5QjlLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQlNaV0ZrY3lCaElITnBibWRzWlNCd2IzSjBJSFpoYkhWbElHWnliMjBnWVNCdWIyUmxKM01nYzNSdmNtVmtJRzkxZEhCMWRITXVJQ292WEc0Z0lHZGxkRkJ2Y25Rb2JtOWtaVWxrT2lCemRISnBibWNzSUhCdmNuUTZJSE4wY21sdVp5azZJSFZ1YTI1dmQyNGdlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkoxYm5ScGJXVldZV3gxWlhNdVoyVjBLRzV2WkdWSlpDay9MbHR3YjNKMFhUdGNiaUFnZlZ4dVhHNGdJQzhxS2lCU1pYUjFjbTV6SUhkb1pYUm9aWElnWVNCdWIyUmxJR2hoY3lCaElIWmhiSFZsSUdadmNpQjBhR1VnWjJsMlpXNGdjRzl5ZEM0Z0tpOWNiaUFnYUdGelVHOXlkQ2h1YjJSbFNXUTZJSE4wY21sdVp5d2djRzl5ZERvZ2MzUnlhVzVuS1RvZ1ltOXZiR1ZoYmlCN1hHNGdJQ0FnY21WMGRYSnVJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2hjYmlBZ0lDQWdJSFJvYVhNdWNuVnVkR2x0WlZaaGJIVmxjeTVuWlhRb2JtOWtaVWxrS1NBL1B5QjdmU3hjYmlBZ0lDQWdJSEJ2Y25SY2JpQWdJQ0FwTzF4dUlDQjlYRzVjYmlBZ0x5b3FJRk5sZEhNZ1lTQnphVzVuYkdVZ2QyOXlhMlpzYjNjZ2IzVjBjSFYwSUhCdmNuUWdkbUZzZFdVdUlDb3ZYRzRnSUhObGRGZHZjbXRtYkc5M1QzVjBjSFYwS0hCdmNuUTZJSE4wY21sdVp5d2dkbUZzZFdVNklIVnVhMjV2ZDI0cE9pQjJiMmxrSUh0Y2JpQWdJQ0JqYjI1emRDQmpkWEp5Wlc1MElEMGdkR2hwY3k1eWRXNTBhVzFsVm1Gc2RXVnpMbWRsZENoSFVrRlFTRjlYVDFKTFJreFBWMTlDVDFWT1JFRlNXU2tnUHo4Z2UzMDdYRzRnSUNBZ1kzVnljbVZ1ZEZ0d2IzSjBYU0E5SUhaaGJIVmxPMXh1SUNBZ0lIUm9hWE11Y25WdWRHbHRaVlpoYkhWbGN5NXpaWFFvUjFKQlVFaGZWMDlTUzBaTVQxZGZRazlWVGtSQlVsa3NJR04xY25KbGJuUXBPMXh1SUNCOVhHNWNiaUFnTHlvcUlGSmxkSFZ5Ym5NZ1lXeHNJSGR2Y210bWJHOTNMV3hsZG1Wc0lIWmhiSFZsY3lBb2FXNXdkWFJ6SUcxbGNtZGxaQ0IzYVhSb0lHOTFkSEIxZEhNcExpQXFMMXh1SUNCblpYUlhiM0pyWm14dmQxWmhiSFZsY3lncE9pQkhjbUZ3YUVWNFpXTjFkR2x2YmxaaGJIVmxjeUI3WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDNHVMaWgwYUdsekxuSjFiblJwYldWV1lXeDFaWE11WjJWMEtFZFNRVkJJWDFkUFVrdEdURTlYWDBKUFZVNUVRVkpaS1NBL1B5QjdmU2tzWEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUM4cUtpQlNaV0ZrY3lCaElHTmhZMmhsWkNCMllXeDFaU0JtY205dElIUm9aU0JoWkdGd2RHVnlMaUFxTDF4dUlDQmhjM2x1WXlCeVpXRmtRMkZqYUdWa0tHdGxlVG9nUjNKaGNHaFdZV3gxWlV0bGVTazZJRkJ5YjIxcGMyVThSM0poY0doRFlXTm9aV1JXWVd4MVpTQjhJSFZ1WkdWbWFXNWxaRDRnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Ga1lYQjBaWEl1Y21WaFpDaHJaWGtwTzF4dUlDQjlYRzVjYmlBZ0x5b3FJRmR5YVhSbGN5QmhJR05oWTJobFpDQjJZV3gxWlNCMGFISnZkV2RvSUhSb1pTQmhaR0Z3ZEdWeUxpQXFMMXh1SUNCaGMzbHVZeUIzY21sMFpVTmhZMmhsWkNoclpYazZJRWR5WVhCb1ZtRnNkV1ZMWlhrc0lIWmhiSFZsT2lCSGNtRndhRU5oWTJobFpGWmhiSFZsS1RvZ1VISnZiV2x6WlR4MmIybGtQaUI3WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTVoWkdGd2RHVnlMbmR5YVhSbEtHdGxlU3dnZG1Gc2RXVXBPMXh1SUNCOVhHNWNiaUFnTHlvcUlFUmxiR1YwWlhNZ1lTQmpZV05vWldRZ2RtRnNkV1VnZEdoeWIzVm5hQ0IwYUdVZ1lXUmhjSFJsY2k0Z0tpOWNiaUFnWVhONWJtTWdaR1ZzWlhSbFEyRmphR1ZrS0d0bGVUb2dSM0poY0doV1lXeDFaVXRsZVNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR0YzWVdsMElIUm9hWE11WVdSaGNIUmxjaTVrWld4bGRHVW9hMlY1S1R0Y2JpQWdmVnh1WEc0Z0lDOHFLaUJTWlhSMWNtNXpJR0VnYzI1aGNITm9iM1FnYjJZZ1lXeHNJSEoxYm5ScGJXVWdkbUZzZFdWekxpQXFMMXh1SUNCemJtRndjMmh2ZENncE9pQlNaV052Y21ROGMzUnlhVzVuTENCSGNtRndhRVY0WldOMWRHbHZibFpoYkhWbGN6NGdlMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1Wm5KdmJVVnVkSEpwWlhNb2RHaHBjeTV5ZFc1MGFXMWxWbUZzZFdWekxtVnVkSEpwWlhNb0tTazdYRzRnSUgxY2JseHVJQ0F2S2lvZ1VtVjBkWEp1Y3lCMGFHVWdkVzVrWlhKc2VXbHVaeUJoWkdGd2RHVnlJQ2gxYzJWa0lHSjVJSFJvWlNCd2FXNXVhVzVuSUhObGNuWnBZMlVwTGlBcUwxeHVJQ0JuWlhSQlpHRndkR1Z5S0NrNklFZHlZWEJvVm1Gc2RXVlRkRzl5WlVGa1lYQjBaWElnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Ga1lYQjBaWEk3WEc0Z0lIMWNibjFjYmlKZGZRPT0iXX0=
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhWYWx1ZVN0b3JlQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvc3RvcmUvR3JhcGhWYWx1ZVN0b3JlQWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9zdG9yZS9HcmFwaFZhbHVlU3RvcmVBZGFwdGVyXG4gKiBAc3VtbWFyeSBBZGFwdGVyIGludGVyZmFjZSBmb3IgcGVyc2lzdGVudCBncmFwaCB2YWx1ZSBzdG9yYWdlLlxuICogQGRlc2NyaXB0aW9uIFVzZXJzIHByb3ZpZGUgaW1wbGVtZW50YXRpb25zIG9mIHRoaXMgaW50ZXJmYWNlIHRvIGNvbnRyb2wgd2hlcmUgY2FjaGVkL3Bpbm5lZCB2YWx1ZXMgbGl2ZSAoaW4tbWVtb3J5LCBkYXRhYmFzZSwgUmVkaXMsIGZpbGUsIGV0Yy4pLlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uVmFsdWVzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmFsdWVLZXkgfSBmcm9tIFwiLi9HcmFwaFZhbHVlS2V5XCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoQ2FjaGVkVmFsdWUgfSBmcm9tIFwiLi9HcmFwaENhY2hlZFZhbHVlXCI7XG5cbi8qKlxuICogQWRhcHRlciB0aGF0IHBlcnNpc3RzIGNhY2hlZCBhbmQgcGlubmVkIGdyYXBoIHZhbHVlcy5cbiAqXG4gKiBUaGUgZW5naW5lIG5ldmVyIGFzc3VtZXMgYSBzcGVjaWZpYyBzdG9yYWdlIGJhY2tlbmQ7IGl0IGFsd2F5cyBkZWxlZ2F0ZXMgdG9cbiAqIGFuIGFkYXB0ZXIuIFRoZSB7QGxpbmsgSW5NZW1vcnlHcmFwaFZhbHVlU3RvcmVBZGFwdGVyfSBpcyB0aGUgZGVmYXVsdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaFZhbHVlU3RvcmVBZGFwdGVyIHtcbiAgLyoqIFJlYWRzIGEgY2FjaGVkIHZhbHVlIGZvciB0aGUgZ2l2ZW4ga2V5LiAqL1xuICByZWFkKGtleTogR3JhcGhWYWx1ZUtleSk6IFByb21pc2U8R3JhcGhDYWNoZWRWYWx1ZSB8IHVuZGVmaW5lZD47XG5cbiAgLyoqIFdyaXRlcyBhIGNhY2hlZCB2YWx1ZSBmb3IgdGhlIGdpdmVuIGtleS4gKi9cbiAgd3JpdGUoa2V5OiBHcmFwaFZhbHVlS2V5LCB2YWx1ZTogR3JhcGhDYWNoZWRWYWx1ZSk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqIERlbGV0ZXMgYSBjYWNoZWQgdmFsdWUgZm9yIHRoZSBnaXZlbiBrZXkuICovXG4gIGRlbGV0ZShrZXk6IEdyYXBoVmFsdWVLZXkpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgYSBjYWNoZWQgdmFsdWUgZXhpc3RzIGZvciB0aGUgZ2l2ZW4ga2V5LiAqL1xuICBoYXMoa2V5OiBHcmFwaFZhbHVlS2V5KTogUHJvbWlzZTxib29sZWFuPjtcblxuICAvKiogTGlzdHMgY2FjaGVkIHZhbHVlcyBtYXRjaGluZyBhIHByZWZpeCBvZiB0aGUga2V5LiAqL1xuICBsaXN0PyhwcmVmaXg6IFBhcnRpYWw8R3JhcGhWYWx1ZUtleT4pOiBQcm9taXNlPEdyYXBoQ2FjaGVkVmFsdWVbXT47XG5cbiAgLyoqIENsZWFycyBhbGwgY2FjaGVkIHZhbHVlcyBmb3IgYSBydW4uICovXG4gIGNsZWFyUnVuPyhydW5JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKiogUmVhZHMgdGhlIHJ1bnRpbWUgdmFsdWVzIGZvciBhIG5vZGUgaW4gYSBydW4uICovXG4gIHJlYWRSdW50aW1lVmFsdWVzPyhcbiAgICBydW5JZDogc3RyaW5nLFxuICAgIG5vZGVJZDogc3RyaW5nXG4gICk6IFByb21pc2U8R3JhcGhFeGVjdXRpb25WYWx1ZXMgfCB1bmRlZmluZWQ+O1xuXG4gIC8qKiBXcml0ZXMgdGhlIHJ1bnRpbWUgdmFsdWVzIGZvciBhIG5vZGUgaW4gYSBydW4uICovXG4gIHdyaXRlUnVudGltZVZhbHVlcz8oXG4gICAgcnVuSWQ6IHN0cmluZyxcbiAgICBub2RlSWQ6IHN0cmluZyxcbiAgICB2YWx1ZXM6IEdyYXBoRXhlY3V0aW9uVmFsdWVzXG4gICk6IFByb21pc2U8dm9pZD47XG59XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhWYWx1ZVN0b3JlQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdyYXBoVmFsdWVTdG9yZUFkYXB0ZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxzbUZBQXNtRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hXWVd4MVpWTjBiM0psUVdSaGNIUmxjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMeTR1TDNOeVl5OW5jbUZ3YUM5bGJtZHBibVV2YzNSdmNtVXZSM0poY0doV1lXeDFaVk4wYjNKbFFXUmhjSFJsY2k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaUlpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTluY21Gd2FDOXpkRzl5WlM5SGNtRndhRlpoYkhWbFUzUnZjbVZCWkdGd2RHVnlYRzRnS2lCQWMzVnRiV0Z5ZVNCQlpHRndkR1Z5SUdsdWRHVnlabUZqWlNCbWIzSWdjR1Z5YzJsemRHVnVkQ0JuY21Gd2FDQjJZV3gxWlNCemRHOXlZV2RsTGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUZWelpYSnpJSEJ5YjNacFpHVWdhVzF3YkdWdFpXNTBZWFJwYjI1eklHOW1JSFJvYVhNZ2FXNTBaWEptWVdObElIUnZJR052Ym5SeWIyd2dkMmhsY21VZ1kyRmphR1ZrTDNCcGJtNWxaQ0IyWVd4MVpYTWdiR2wyWlNBb2FXNHRiV1Z0YjNKNUxDQmtZWFJoWW1GelpTd2dVbVZrYVhNc0lHWnBiR1VzSUdWMFl5NHBMbHh1SUNvdlhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9SWGhsWTNWMGFXOXVWbUZzZFdWeklIMGdabkp2YlNCY0lpNHVMM1I1Y0dWelhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvVm1Gc2RXVkxaWGtnZlNCbWNtOXRJRndpTGk5SGNtRndhRlpoYkhWbFMyVjVYQ0k3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1EyRmphR1ZrVm1Gc2RXVWdmU0JtY205dElGd2lMaTlIY21Gd2FFTmhZMmhsWkZaaGJIVmxYQ0k3WEc1Y2JpOHFLbHh1SUNvZ1FXUmhjSFJsY2lCMGFHRjBJSEJsY25OcGMzUnpJR05oWTJobFpDQmhibVFnY0dsdWJtVmtJR2R5WVhCb0lIWmhiSFZsY3k1Y2JpQXFYRzRnS2lCVWFHVWdaVzVuYVc1bElHNWxkbVZ5SUdGemMzVnRaWE1nWVNCemNHVmphV1pwWXlCemRHOXlZV2RsSUdKaFkydGxibVE3SUdsMElHRnNkMkY1Y3lCa1pXeGxaMkYwWlhNZ2RHOWNiaUFxSUdGdUlHRmtZWEIwWlhJdUlGUm9aU0I3UUd4cGJtc2dTVzVOWlcxdmNubEhjbUZ3YUZaaGJIVmxVM1J2Y21WQlpHRndkR1Z5ZlNCcGN5QjBhR1VnWkdWbVlYVnNkQzVjYmlBcUwxeHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkhjbUZ3YUZaaGJIVmxVM1J2Y21WQlpHRndkR1Z5SUh0Y2JpQWdMeW9xSUZKbFlXUnpJR0VnWTJGamFHVmtJSFpoYkhWbElHWnZjaUIwYUdVZ1oybDJaVzRnYTJWNUxpQXFMMXh1SUNCeVpXRmtLR3RsZVRvZ1IzSmhjR2hXWVd4MVpVdGxlU2s2SUZCeWIyMXBjMlU4UjNKaGNHaERZV05vWldSV1lXeDFaU0I4SUhWdVpHVm1hVzVsWkQ0N1hHNWNiaUFnTHlvcUlGZHlhWFJsY3lCaElHTmhZMmhsWkNCMllXeDFaU0JtYjNJZ2RHaGxJR2RwZG1WdUlHdGxlUzRnS2k5Y2JpQWdkM0pwZEdVb2EyVjVPaUJIY21Gd2FGWmhiSFZsUzJWNUxDQjJZV3gxWlRvZ1IzSmhjR2hEWVdOb1pXUldZV3gxWlNrNklGQnliMjFwYzJVOGRtOXBaRDQ3WEc1Y2JpQWdMeW9xSUVSbGJHVjBaWE1nWVNCallXTm9aV1FnZG1Gc2RXVWdabTl5SUhSb1pTQm5hWFpsYmlCclpYa3VJQ292WEc0Z0lHUmxiR1YwWlNoclpYazZJRWR5WVhCb1ZtRnNkV1ZMWlhrcE9pQlFjbTl0YVhObFBIWnZhV1ErTzF4dVhHNGdJQzhxS2lCU1pYUjFjbTV6SUhkb1pYUm9aWElnWVNCallXTm9aV1FnZG1Gc2RXVWdaWGhwYzNSeklHWnZjaUIwYUdVZ1oybDJaVzRnYTJWNUxpQXFMMXh1SUNCb1lYTW9hMlY1T2lCSGNtRndhRlpoYkhWbFMyVjVLVG9nVUhKdmJXbHpaVHhpYjI5c1pXRnVQanRjYmx4dUlDQXZLaW9nVEdsemRITWdZMkZqYUdWa0lIWmhiSFZsY3lCdFlYUmphR2x1WnlCaElIQnlaV1pwZUNCdlppQjBhR1VnYTJWNUxpQXFMMXh1SUNCc2FYTjBQeWh3Y21WbWFYZzZJRkJoY25ScFlXdzhSM0poY0doV1lXeDFaVXRsZVQ0cE9pQlFjbTl0YVhObFBFZHlZWEJvUTJGamFHVmtWbUZzZFdWYlhUNDdYRzVjYmlBZ0x5b3FJRU5zWldGeWN5QmhiR3dnWTJGamFHVmtJSFpoYkhWbGN5Qm1iM0lnWVNCeWRXNHVJQ292WEc0Z0lHTnNaV0Z5VW5WdVB5aHlkVzVKWkRvZ2MzUnlhVzVuS1RvZ1VISnZiV2x6WlR4MmIybGtQanRjYmx4dUlDQXZLaW9nVW1WaFpITWdkR2hsSUhKMWJuUnBiV1VnZG1Gc2RXVnpJR1p2Y2lCaElHNXZaR1VnYVc0Z1lTQnlkVzR1SUNvdlhHNGdJSEpsWVdSU2RXNTBhVzFsVm1Gc2RXVnpQeWhjYmlBZ0lDQnlkVzVKWkRvZ2MzUnlhVzVuTEZ4dUlDQWdJRzV2WkdWSlpEb2djM1J5YVc1blhHNGdJQ2s2SUZCeWIyMXBjMlU4UjNKaGNHaEZlR1ZqZFhScGIyNVdZV3gxWlhNZ2ZDQjFibVJsWm1sdVpXUStPMXh1WEc0Z0lDOHFLaUJYY21sMFpYTWdkR2hsSUhKMWJuUnBiV1VnZG1Gc2RXVnpJR1p2Y2lCaElHNXZaR1VnYVc0Z1lTQnlkVzR1SUNvdlhHNGdJSGR5YVhSbFVuVnVkR2x0WlZaaGJIVmxjejhvWEc0Z0lDQWdjblZ1U1dRNklITjBjbWx1Wnl4Y2JpQWdJQ0J1YjJSbFNXUTZJSE4wY21sdVp5eGNiaUFnSUNCMllXeDFaWE02SUVkeVlYQm9SWGhsWTNWMGFXOXVWbUZzZFdWelhHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENDdYRzU5WEc0aVhYMD0iXX0=