@decaf-ts/ui-decorators 0.20.4 → 0.20.7

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 (469) hide show
  1. package/dist/ui-decorators.cjs +1059 -2
  2. package/dist/ui-decorators.js +1090 -2
  3. package/lib/cjs/dashboard/constants.cjs +11 -0
  4. package/lib/cjs/dashboard/decorators.cjs +61 -0
  5. package/lib/cjs/dashboard/index.cjs +23 -0
  6. package/lib/cjs/dashboard/reader.cjs +67 -0
  7. package/lib/cjs/dashboard/registry.cjs +45 -0
  8. package/lib/cjs/dashboard/types.cjs +4 -0
  9. package/lib/cjs/graph/GraphExecutionStateMapper.cjs +97 -0
  10. package/lib/cjs/graph/GraphResolution.cjs +17 -0
  11. package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs +2 -2
  12. package/lib/cjs/graph/catalog/GraphCredentialReference.cjs +2 -2
  13. package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs +2 -2
  14. package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs +2 -2
  15. package/lib/cjs/graph/catalog/GraphIconReference.cjs +2 -2
  16. package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs +2 -2
  17. package/lib/cjs/graph/catalog/GraphNodeCapability.cjs +2 -2
  18. package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs +2 -2
  19. package/lib/cjs/graph/catalog/GraphNodeManifest.cjs +2 -2
  20. package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs +2 -2
  21. package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs +2 -2
  22. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs +2 -2
  23. package/lib/cjs/graph/catalog/GraphParameterBase.cjs +2 -2
  24. package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs +2 -2
  25. package/lib/cjs/graph/catalog/GraphParameterOption.cjs +2 -2
  26. package/lib/cjs/graph/catalog/GraphParameterValidation.cjs +2 -2
  27. package/lib/cjs/graph/catalog/GraphPortManifest.cjs +2 -2
  28. package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs +2 -2
  29. package/lib/cjs/graph/catalog/GraphValueSchema.cjs +2 -2
  30. package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs +2 -2
  31. package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs +2 -2
  32. package/lib/cjs/graph/catalog/index.cjs +2 -2
  33. package/lib/cjs/graph/constants.cjs +159 -3
  34. package/lib/cjs/graph/decorators.cjs +2 -2
  35. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs +2 -2
  36. package/lib/cjs/graph/document/GraphEdgeInstance.cjs +2 -2
  37. package/lib/cjs/graph/document/GraphEndpoint.cjs +2 -2
  38. package/lib/cjs/graph/document/GraphJsonValue.cjs +2 -2
  39. package/lib/cjs/graph/document/GraphLoopConfiguration.cjs +2 -2
  40. package/lib/cjs/graph/document/GraphNodeBinding.cjs +2 -2
  41. package/lib/cjs/graph/document/GraphNodeInstance.cjs +2 -2
  42. package/lib/cjs/graph/document/GraphWorkflowDocument.cjs +2 -2
  43. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs +2 -2
  44. package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs +2 -2
  45. package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs +2 -2
  46. package/lib/cjs/graph/document/GraphWorkflowUiState.cjs +2 -2
  47. package/lib/cjs/graph/document/index.cjs +2 -2
  48. package/lib/cjs/graph/index.cjs +5 -2
  49. package/lib/cjs/graph/nodes/agents/agent.cjs +110 -0
  50. package/lib/cjs/graph/nodes/base.cjs +36 -0
  51. package/lib/cjs/graph/nodes/boundary/input-value.cjs +57 -0
  52. package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
  53. package/lib/cjs/graph/nodes/flow-control/break.cjs +63 -0
  54. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +67 -0
  55. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +69 -0
  56. package/lib/cjs/graph/nodes/flow-control/if.cjs +71 -0
  57. package/lib/cjs/graph/nodes/flow-control/parallel.cjs +61 -0
  58. package/lib/cjs/graph/nodes/flow-control/switch.cjs +121 -0
  59. package/lib/cjs/graph/nodes/index.cjs +123 -0
  60. package/lib/cjs/graph/nodes/loops/foreach.cjs +86 -0
  61. package/lib/cjs/graph/nodes/loops/until.cjs +74 -0
  62. package/lib/cjs/graph/nodes/loops/while.cjs +74 -0
  63. package/lib/cjs/graph/nodes/manifests.cjs +338 -0
  64. package/lib/cjs/graph/nodes/triggers/chat.cjs +70 -0
  65. package/lib/cjs/graph/nodes/triggers/event.cjs +58 -0
  66. package/lib/cjs/graph/nodes/triggers/form.cjs +59 -0
  67. package/lib/cjs/graph/nodes/triggers/manual.cjs +60 -0
  68. package/lib/cjs/graph/nodes/triggers/schedule.cjs +60 -0
  69. package/lib/cjs/graph/nodes/triggers/webhook.cjs +62 -0
  70. package/lib/cjs/graph/nodes/utility/code.cjs +99 -0
  71. package/lib/cjs/graph/nodes/utility/delay.cjs +61 -0
  72. package/lib/cjs/graph/nodes/utility/log.cjs +62 -0
  73. package/lib/cjs/graph/nodes/utility/map.cjs +61 -0
  74. package/lib/cjs/graph/nodes/utility/merge.cjs +62 -0
  75. package/lib/cjs/graph/nodes/utility/return.cjs +61 -0
  76. package/lib/cjs/graph/nodes/utility/utility-log.cjs +66 -0
  77. package/lib/cjs/graph/overrides/Metadata.cjs +2 -2
  78. package/lib/cjs/graph/overrides/Rendering.cjs +2 -2
  79. package/lib/cjs/graph/overrides/index.cjs +2 -2
  80. package/lib/cjs/graph/overrides/overrides.cjs +2 -2
  81. package/lib/cjs/graph/reader.cjs +2 -2
  82. package/lib/cjs/graph/registry.cjs +2 -2
  83. package/lib/cjs/graph/snapshot.cjs +2 -2
  84. package/lib/cjs/graph/types.cjs +2 -2
  85. package/lib/cjs/index.cjs +6 -5
  86. package/lib/cjs/model/Renderable.cjs +2 -2
  87. package/lib/cjs/model/decorators.cjs +2 -2
  88. package/lib/cjs/model/index.cjs +2 -2
  89. package/lib/cjs/model/model.cjs +2 -2
  90. package/lib/cjs/model/overrides.cjs +2 -2
  91. package/lib/cjs/overrides/ModelBuilderExtensions.cjs +2 -2
  92. package/lib/cjs/overrides/index.cjs +2 -2
  93. package/lib/cjs/ui/DecafComponent.cjs +2 -2
  94. package/lib/cjs/ui/DecafEventHandler.cjs +2 -2
  95. package/lib/cjs/ui/DecafTranslateService.cjs +2 -2
  96. package/lib/cjs/ui/Rendering.cjs +2 -2
  97. package/lib/cjs/ui/UIValidator.cjs +2 -2
  98. package/lib/cjs/ui/constants.cjs +2 -2
  99. package/lib/cjs/ui/decorators.cjs +2 -2
  100. package/lib/cjs/ui/errors.cjs +2 -2
  101. package/lib/cjs/ui/index.cjs +2 -2
  102. package/lib/cjs/ui/interfaces/IDecafModal.cjs +2 -2
  103. package/lib/cjs/ui/interfaces/IDecafRouter.cjs +2 -2
  104. package/lib/cjs/ui/interfaces/IDecafSpinner.cjs +2 -2
  105. package/lib/cjs/ui/interfaces/IDecafToast.cjs +2 -2
  106. package/lib/cjs/ui/interfaces/index.cjs +2 -2
  107. package/lib/cjs/ui/overrides.cjs +2 -2
  108. package/lib/cjs/ui/types.cjs +2 -2
  109. package/lib/cjs/ui/utils.cjs +2 -2
  110. package/lib/cjs/ui/validator.cjs +2 -2
  111. package/lib/cjs/user-requests/UserRequestHandler.cjs +2 -2
  112. package/lib/cjs/user-requests/constants.cjs +2 -2
  113. package/lib/cjs/user-requests/decorators.cjs +2 -2
  114. package/lib/cjs/user-requests/errors.cjs +2 -2
  115. package/lib/cjs/user-requests/index.cjs +2 -2
  116. package/lib/cjs/user-requests/types.cjs +2 -2
  117. package/lib/esm/dashboard/constants.js +24 -0
  118. package/lib/esm/dashboard/decorators.js +57 -0
  119. package/lib/esm/dashboard/index.js +6 -0
  120. package/lib/esm/dashboard/reader.js +62 -0
  121. package/lib/esm/dashboard/registry.js +39 -0
  122. package/lib/esm/dashboard/types.js +9 -0
  123. package/lib/esm/graph/GraphExecutionStateMapper.js +91 -0
  124. package/lib/esm/graph/GraphResolution.js +13 -0
  125. package/lib/esm/graph/catalog/GraphConnectionPolicy.js +1 -1
  126. package/lib/esm/graph/catalog/GraphCredentialReference.js +1 -1
  127. package/lib/esm/graph/catalog/GraphCredentialRequirement.js +1 -1
  128. package/lib/esm/graph/catalog/GraphDynamicPortRule.js +1 -1
  129. package/lib/esm/graph/catalog/GraphIconReference.js +1 -1
  130. package/lib/esm/graph/catalog/GraphManifestCompiler.js +1 -1
  131. package/lib/esm/graph/catalog/GraphNodeCapability.js +1 -1
  132. package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js +1 -1
  133. package/lib/esm/graph/catalog/GraphNodeManifest.js +1 -1
  134. package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js +1 -1
  135. package/lib/esm/graph/catalog/GraphNodeMethodManifest.js +1 -1
  136. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js +1 -1
  137. package/lib/esm/graph/catalog/GraphParameterBase.js +1 -1
  138. package/lib/esm/graph/catalog/GraphParameterDefinition.js +1 -1
  139. package/lib/esm/graph/catalog/GraphParameterOption.js +1 -1
  140. package/lib/esm/graph/catalog/GraphParameterValidation.js +1 -1
  141. package/lib/esm/graph/catalog/GraphPortManifest.js +1 -1
  142. package/lib/esm/graph/catalog/GraphResourceLocatorMode.js +1 -1
  143. package/lib/esm/graph/catalog/GraphValueSchema.js +1 -1
  144. package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js +1 -1
  145. package/lib/esm/graph/catalog/GraphVisibilityExpression.js +1 -1
  146. package/lib/esm/graph/catalog/index.js +1 -1
  147. package/lib/esm/graph/constants.js +180 -1
  148. package/lib/esm/graph/decorators.js +1 -1
  149. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js +1 -1
  150. package/lib/esm/graph/document/GraphEdgeInstance.js +1 -1
  151. package/lib/esm/graph/document/GraphEndpoint.js +1 -1
  152. package/lib/esm/graph/document/GraphJsonValue.js +1 -1
  153. package/lib/esm/graph/document/GraphLoopConfiguration.js +1 -1
  154. package/lib/esm/graph/document/GraphNodeBinding.js +1 -1
  155. package/lib/esm/graph/document/GraphNodeInstance.js +1 -1
  156. package/lib/esm/graph/document/GraphWorkflowDocument.js +1 -1
  157. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js +1 -1
  158. package/lib/esm/graph/document/GraphWorkflowDocumentReader.js +1 -1
  159. package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js +1 -1
  160. package/lib/esm/graph/document/GraphWorkflowUiState.js +1 -1
  161. package/lib/esm/graph/document/index.js +1 -1
  162. package/lib/esm/graph/index.js +4 -1
  163. package/lib/esm/graph/nodes/agents/agent.js +101 -0
  164. package/lib/esm/graph/nodes/base.js +31 -0
  165. package/lib/esm/graph/nodes/boundary/input-value.js +48 -0
  166. package/lib/esm/graph/nodes/category-styles.js +34 -0
  167. package/lib/esm/graph/nodes/flow-control/break.js +54 -0
  168. package/lib/esm/graph/nodes/flow-control/error-boundary.js +58 -0
  169. package/lib/esm/graph/nodes/flow-control/human-approval.js +60 -0
  170. package/lib/esm/graph/nodes/flow-control/if.js +62 -0
  171. package/lib/esm/graph/nodes/flow-control/parallel.js +52 -0
  172. package/lib/esm/graph/nodes/flow-control/switch.js +112 -0
  173. package/lib/esm/graph/nodes/index.js +105 -0
  174. package/lib/esm/graph/nodes/loops/foreach.js +77 -0
  175. package/lib/esm/graph/nodes/loops/until.js +65 -0
  176. package/lib/esm/graph/nodes/loops/while.js +65 -0
  177. package/lib/esm/graph/nodes/manifests.js +334 -0
  178. package/lib/esm/graph/nodes/triggers/chat.js +61 -0
  179. package/lib/esm/graph/nodes/triggers/event.js +49 -0
  180. package/lib/esm/graph/nodes/triggers/form.js +50 -0
  181. package/lib/esm/graph/nodes/triggers/manual.js +51 -0
  182. package/lib/esm/graph/nodes/triggers/schedule.js +51 -0
  183. package/lib/esm/graph/nodes/triggers/webhook.js +53 -0
  184. package/lib/esm/graph/nodes/utility/code.js +90 -0
  185. package/lib/esm/graph/nodes/utility/delay.js +52 -0
  186. package/lib/esm/graph/nodes/utility/log.js +53 -0
  187. package/lib/esm/graph/nodes/utility/map.js +52 -0
  188. package/lib/esm/graph/nodes/utility/merge.js +53 -0
  189. package/lib/esm/graph/nodes/utility/return.js +52 -0
  190. package/lib/esm/graph/nodes/utility/utility-log.js +57 -0
  191. package/lib/esm/graph/overrides/Metadata.js +1 -1
  192. package/lib/esm/graph/overrides/Rendering.js +1 -1
  193. package/lib/esm/graph/overrides/index.js +1 -1
  194. package/lib/esm/graph/overrides/overrides.js +1 -1
  195. package/lib/esm/graph/reader.js +1 -1
  196. package/lib/esm/graph/registry.js +1 -1
  197. package/lib/esm/graph/snapshot.js +1 -1
  198. package/lib/esm/graph/types.js +1 -1
  199. package/lib/esm/index.js +5 -4
  200. package/lib/esm/model/Renderable.js +1 -1
  201. package/lib/esm/model/decorators.js +1 -1
  202. package/lib/esm/model/index.js +1 -1
  203. package/lib/esm/model/model.js +1 -1
  204. package/lib/esm/model/overrides.js +1 -1
  205. package/lib/esm/overrides/ModelBuilderExtensions.js +1 -1
  206. package/lib/esm/overrides/index.js +1 -1
  207. package/lib/esm/ui/DecafComponent.js +1 -1
  208. package/lib/esm/ui/DecafEventHandler.js +1 -1
  209. package/lib/esm/ui/DecafTranslateService.js +1 -1
  210. package/lib/esm/ui/Rendering.js +1 -1
  211. package/lib/esm/ui/UIValidator.js +1 -1
  212. package/lib/esm/ui/constants.js +1 -1
  213. package/lib/esm/ui/decorators.js +1 -1
  214. package/lib/esm/ui/errors.js +1 -1
  215. package/lib/esm/ui/index.js +1 -1
  216. package/lib/esm/ui/interfaces/IDecafModal.js +1 -1
  217. package/lib/esm/ui/interfaces/IDecafRouter.js +1 -1
  218. package/lib/esm/ui/interfaces/IDecafSpinner.js +1 -1
  219. package/lib/esm/ui/interfaces/IDecafToast.js +1 -1
  220. package/lib/esm/ui/interfaces/index.js +1 -1
  221. package/lib/esm/ui/overrides.js +1 -1
  222. package/lib/esm/ui/types.js +1 -1
  223. package/lib/esm/ui/utils.js +1 -1
  224. package/lib/esm/ui/validator.js +1 -1
  225. package/lib/esm/user-requests/UserRequestHandler.js +1 -1
  226. package/lib/esm/user-requests/constants.js +1 -1
  227. package/lib/esm/user-requests/decorators.js +1 -1
  228. package/lib/esm/user-requests/errors.js +1 -1
  229. package/lib/esm/user-requests/index.js +1 -1
  230. package/lib/esm/user-requests/types.js +1 -1
  231. package/lib/types/dashboard/constants.d.cts +22 -0
  232. package/lib/types/dashboard/constants.d.mts +22 -0
  233. package/lib/types/dashboard/decorators.d.cts +34 -0
  234. package/lib/types/dashboard/decorators.d.mts +34 -0
  235. package/lib/types/dashboard/index.d.cts +5 -0
  236. package/lib/types/dashboard/index.d.mts +5 -0
  237. package/lib/types/dashboard/reader.d.cts +30 -0
  238. package/lib/types/dashboard/reader.d.mts +30 -0
  239. package/lib/types/dashboard/registry.d.cts +29 -0
  240. package/lib/types/dashboard/registry.d.mts +29 -0
  241. package/lib/types/dashboard/types.d.cts +67 -0
  242. package/lib/types/dashboard/types.d.mts +67 -0
  243. package/lib/types/graph/GraphExecutionStateMapper.d.cts +66 -0
  244. package/lib/types/graph/GraphExecutionStateMapper.d.mts +66 -0
  245. package/lib/types/graph/GraphResolution.d.cts +53 -0
  246. package/lib/types/graph/GraphResolution.d.mts +53 -0
  247. package/lib/types/graph/constants.d.cts +165 -0
  248. package/lib/types/graph/constants.d.mts +165 -0
  249. package/lib/types/graph/index.d.cts +3 -0
  250. package/lib/types/graph/index.d.mts +3 -0
  251. package/lib/types/graph/nodes/agents/agent.d.cts +44 -0
  252. package/lib/types/graph/nodes/agents/agent.d.mts +44 -0
  253. package/lib/types/graph/nodes/base.d.cts +28 -0
  254. package/lib/types/graph/nodes/base.d.mts +28 -0
  255. package/lib/types/graph/nodes/boundary/input-value.d.cts +13 -0
  256. package/lib/types/graph/nodes/boundary/input-value.d.mts +13 -0
  257. package/lib/types/graph/nodes/category-styles.d.cts +8 -0
  258. package/lib/types/graph/nodes/category-styles.d.mts +8 -0
  259. package/lib/types/graph/nodes/flow-control/break.d.cts +15 -0
  260. package/lib/types/graph/nodes/flow-control/break.d.mts +15 -0
  261. package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +12 -0
  262. package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +12 -0
  263. package/lib/types/graph/nodes/flow-control/human-approval.d.cts +13 -0
  264. package/lib/types/graph/nodes/flow-control/human-approval.d.mts +13 -0
  265. package/lib/types/graph/nodes/flow-control/if.d.cts +16 -0
  266. package/lib/types/graph/nodes/flow-control/if.d.mts +16 -0
  267. package/lib/types/graph/nodes/flow-control/parallel.d.cts +11 -0
  268. package/lib/types/graph/nodes/flow-control/parallel.d.mts +11 -0
  269. package/lib/types/graph/nodes/flow-control/switch.d.cts +21 -0
  270. package/lib/types/graph/nodes/flow-control/switch.d.mts +21 -0
  271. package/lib/types/graph/nodes/index.d.cts +79 -0
  272. package/lib/types/graph/nodes/index.d.mts +79 -0
  273. package/lib/types/graph/nodes/loops/foreach.d.cts +19 -0
  274. package/lib/types/graph/nodes/loops/foreach.d.mts +19 -0
  275. package/lib/types/graph/nodes/loops/until.d.cts +16 -0
  276. package/lib/types/graph/nodes/loops/until.d.mts +16 -0
  277. package/lib/types/graph/nodes/loops/while.d.cts +16 -0
  278. package/lib/types/graph/nodes/loops/while.d.mts +16 -0
  279. package/lib/types/graph/nodes/manifests.d.cts +62 -0
  280. package/lib/types/graph/nodes/manifests.d.mts +62 -0
  281. package/lib/types/graph/nodes/triggers/chat.d.cts +13 -0
  282. package/lib/types/graph/nodes/triggers/chat.d.mts +13 -0
  283. package/lib/types/graph/nodes/triggers/event.d.cts +10 -0
  284. package/lib/types/graph/nodes/triggers/event.d.mts +10 -0
  285. package/lib/types/graph/nodes/triggers/form.d.cts +11 -0
  286. package/lib/types/graph/nodes/triggers/form.d.mts +11 -0
  287. package/lib/types/graph/nodes/triggers/manual.d.cts +12 -0
  288. package/lib/types/graph/nodes/triggers/manual.d.mts +12 -0
  289. package/lib/types/graph/nodes/triggers/schedule.d.cts +11 -0
  290. package/lib/types/graph/nodes/triggers/schedule.d.mts +11 -0
  291. package/lib/types/graph/nodes/triggers/webhook.d.cts +11 -0
  292. package/lib/types/graph/nodes/triggers/webhook.d.mts +11 -0
  293. package/lib/types/graph/nodes/utility/code.d.cts +31 -0
  294. package/lib/types/graph/nodes/utility/code.d.mts +31 -0
  295. package/lib/types/graph/nodes/utility/delay.d.cts +11 -0
  296. package/lib/types/graph/nodes/utility/delay.d.mts +11 -0
  297. package/lib/types/graph/nodes/utility/log.d.cts +13 -0
  298. package/lib/types/graph/nodes/utility/log.d.mts +13 -0
  299. package/lib/types/graph/nodes/utility/map.d.cts +11 -0
  300. package/lib/types/graph/nodes/utility/map.d.mts +11 -0
  301. package/lib/types/graph/nodes/utility/merge.d.cts +12 -0
  302. package/lib/types/graph/nodes/utility/merge.d.mts +12 -0
  303. package/lib/types/graph/nodes/utility/return.d.cts +11 -0
  304. package/lib/types/graph/nodes/utility/return.d.mts +11 -0
  305. package/lib/types/graph/nodes/utility/utility-log.d.cts +15 -0
  306. package/lib/types/graph/nodes/utility/utility-log.d.mts +15 -0
  307. package/lib/types/graph/types.d.cts +286 -0
  308. package/lib/types/graph/types.d.mts +286 -0
  309. package/lib/types/index.d.cts +4 -3
  310. package/lib/types/index.d.mts +4 -3
  311. package/package.json +1 -1
  312. package/dist/ui-decorators.cjs.map +0 -1
  313. package/dist/ui-decorators.js.map +0 -1
  314. package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs.map +0 -1
  315. package/lib/cjs/graph/catalog/GraphCredentialReference.cjs.map +0 -1
  316. package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs.map +0 -1
  317. package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs.map +0 -1
  318. package/lib/cjs/graph/catalog/GraphIconReference.cjs.map +0 -1
  319. package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs.map +0 -1
  320. package/lib/cjs/graph/catalog/GraphNodeCapability.cjs.map +0 -1
  321. package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs.map +0 -1
  322. package/lib/cjs/graph/catalog/GraphNodeManifest.cjs.map +0 -1
  323. package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs.map +0 -1
  324. package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs.map +0 -1
  325. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs.map +0 -1
  326. package/lib/cjs/graph/catalog/GraphParameterBase.cjs.map +0 -1
  327. package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs.map +0 -1
  328. package/lib/cjs/graph/catalog/GraphParameterOption.cjs.map +0 -1
  329. package/lib/cjs/graph/catalog/GraphParameterValidation.cjs.map +0 -1
  330. package/lib/cjs/graph/catalog/GraphPortManifest.cjs.map +0 -1
  331. package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs.map +0 -1
  332. package/lib/cjs/graph/catalog/GraphValueSchema.cjs.map +0 -1
  333. package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs.map +0 -1
  334. package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs.map +0 -1
  335. package/lib/cjs/graph/catalog/index.cjs.map +0 -1
  336. package/lib/cjs/graph/constants.cjs.map +0 -1
  337. package/lib/cjs/graph/decorators.cjs.map +0 -1
  338. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs.map +0 -1
  339. package/lib/cjs/graph/document/GraphEdgeInstance.cjs.map +0 -1
  340. package/lib/cjs/graph/document/GraphEndpoint.cjs.map +0 -1
  341. package/lib/cjs/graph/document/GraphJsonValue.cjs.map +0 -1
  342. package/lib/cjs/graph/document/GraphLoopConfiguration.cjs.map +0 -1
  343. package/lib/cjs/graph/document/GraphNodeBinding.cjs.map +0 -1
  344. package/lib/cjs/graph/document/GraphNodeInstance.cjs.map +0 -1
  345. package/lib/cjs/graph/document/GraphWorkflowDocument.cjs.map +0 -1
  346. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs.map +0 -1
  347. package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs.map +0 -1
  348. package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs.map +0 -1
  349. package/lib/cjs/graph/document/GraphWorkflowUiState.cjs.map +0 -1
  350. package/lib/cjs/graph/document/index.cjs.map +0 -1
  351. package/lib/cjs/graph/index.cjs.map +0 -1
  352. package/lib/cjs/graph/overrides/Metadata.cjs.map +0 -1
  353. package/lib/cjs/graph/overrides/Rendering.cjs.map +0 -1
  354. package/lib/cjs/graph/overrides/index.cjs.map +0 -1
  355. package/lib/cjs/graph/overrides/overrides.cjs.map +0 -1
  356. package/lib/cjs/graph/reader.cjs.map +0 -1
  357. package/lib/cjs/graph/registry.cjs.map +0 -1
  358. package/lib/cjs/graph/snapshot.cjs.map +0 -1
  359. package/lib/cjs/graph/types.cjs.map +0 -1
  360. package/lib/cjs/index.cjs.map +0 -1
  361. package/lib/cjs/model/Renderable.cjs.map +0 -1
  362. package/lib/cjs/model/decorators.cjs.map +0 -1
  363. package/lib/cjs/model/index.cjs.map +0 -1
  364. package/lib/cjs/model/model.cjs.map +0 -1
  365. package/lib/cjs/model/overrides.cjs.map +0 -1
  366. package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +0 -1
  367. package/lib/cjs/overrides/index.cjs.map +0 -1
  368. package/lib/cjs/ui/DecafComponent.cjs.map +0 -1
  369. package/lib/cjs/ui/DecafEventHandler.cjs.map +0 -1
  370. package/lib/cjs/ui/DecafTranslateService.cjs.map +0 -1
  371. package/lib/cjs/ui/Rendering.cjs.map +0 -1
  372. package/lib/cjs/ui/UIValidator.cjs.map +0 -1
  373. package/lib/cjs/ui/constants.cjs.map +0 -1
  374. package/lib/cjs/ui/decorators.cjs.map +0 -1
  375. package/lib/cjs/ui/errors.cjs.map +0 -1
  376. package/lib/cjs/ui/index.cjs.map +0 -1
  377. package/lib/cjs/ui/interfaces/IDecafModal.cjs.map +0 -1
  378. package/lib/cjs/ui/interfaces/IDecafRouter.cjs.map +0 -1
  379. package/lib/cjs/ui/interfaces/IDecafSpinner.cjs.map +0 -1
  380. package/lib/cjs/ui/interfaces/IDecafToast.cjs.map +0 -1
  381. package/lib/cjs/ui/interfaces/index.cjs.map +0 -1
  382. package/lib/cjs/ui/overrides.cjs.map +0 -1
  383. package/lib/cjs/ui/types.cjs.map +0 -1
  384. package/lib/cjs/ui/utils.cjs.map +0 -1
  385. package/lib/cjs/ui/validator.cjs.map +0 -1
  386. package/lib/cjs/user-requests/UserRequestHandler.cjs.map +0 -1
  387. package/lib/cjs/user-requests/constants.cjs.map +0 -1
  388. package/lib/cjs/user-requests/decorators.cjs.map +0 -1
  389. package/lib/cjs/user-requests/errors.cjs.map +0 -1
  390. package/lib/cjs/user-requests/index.cjs.map +0 -1
  391. package/lib/cjs/user-requests/types.cjs.map +0 -1
  392. package/lib/esm/graph/catalog/GraphConnectionPolicy.js.map +0 -1
  393. package/lib/esm/graph/catalog/GraphCredentialReference.js.map +0 -1
  394. package/lib/esm/graph/catalog/GraphCredentialRequirement.js.map +0 -1
  395. package/lib/esm/graph/catalog/GraphDynamicPortRule.js.map +0 -1
  396. package/lib/esm/graph/catalog/GraphIconReference.js.map +0 -1
  397. package/lib/esm/graph/catalog/GraphManifestCompiler.js.map +0 -1
  398. package/lib/esm/graph/catalog/GraphNodeCapability.js.map +0 -1
  399. package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js.map +0 -1
  400. package/lib/esm/graph/catalog/GraphNodeManifest.js.map +0 -1
  401. package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js.map +0 -1
  402. package/lib/esm/graph/catalog/GraphNodeMethodManifest.js.map +0 -1
  403. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js.map +0 -1
  404. package/lib/esm/graph/catalog/GraphParameterBase.js.map +0 -1
  405. package/lib/esm/graph/catalog/GraphParameterDefinition.js.map +0 -1
  406. package/lib/esm/graph/catalog/GraphParameterOption.js.map +0 -1
  407. package/lib/esm/graph/catalog/GraphParameterValidation.js.map +0 -1
  408. package/lib/esm/graph/catalog/GraphPortManifest.js.map +0 -1
  409. package/lib/esm/graph/catalog/GraphResourceLocatorMode.js.map +0 -1
  410. package/lib/esm/graph/catalog/GraphValueSchema.js.map +0 -1
  411. package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js.map +0 -1
  412. package/lib/esm/graph/catalog/GraphVisibilityExpression.js.map +0 -1
  413. package/lib/esm/graph/catalog/index.js.map +0 -1
  414. package/lib/esm/graph/constants.js.map +0 -1
  415. package/lib/esm/graph/decorators.js.map +0 -1
  416. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js.map +0 -1
  417. package/lib/esm/graph/document/GraphEdgeInstance.js.map +0 -1
  418. package/lib/esm/graph/document/GraphEndpoint.js.map +0 -1
  419. package/lib/esm/graph/document/GraphJsonValue.js.map +0 -1
  420. package/lib/esm/graph/document/GraphLoopConfiguration.js.map +0 -1
  421. package/lib/esm/graph/document/GraphNodeBinding.js.map +0 -1
  422. package/lib/esm/graph/document/GraphNodeInstance.js.map +0 -1
  423. package/lib/esm/graph/document/GraphWorkflowDocument.js.map +0 -1
  424. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js.map +0 -1
  425. package/lib/esm/graph/document/GraphWorkflowDocumentReader.js.map +0 -1
  426. package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js.map +0 -1
  427. package/lib/esm/graph/document/GraphWorkflowUiState.js.map +0 -1
  428. package/lib/esm/graph/document/index.js.map +0 -1
  429. package/lib/esm/graph/index.js.map +0 -1
  430. package/lib/esm/graph/overrides/Metadata.js.map +0 -1
  431. package/lib/esm/graph/overrides/Rendering.js.map +0 -1
  432. package/lib/esm/graph/overrides/index.js.map +0 -1
  433. package/lib/esm/graph/overrides/overrides.js.map +0 -1
  434. package/lib/esm/graph/reader.js.map +0 -1
  435. package/lib/esm/graph/registry.js.map +0 -1
  436. package/lib/esm/graph/snapshot.js.map +0 -1
  437. package/lib/esm/graph/types.js.map +0 -1
  438. package/lib/esm/index.js.map +0 -1
  439. package/lib/esm/model/Renderable.js.map +0 -1
  440. package/lib/esm/model/decorators.js.map +0 -1
  441. package/lib/esm/model/index.js.map +0 -1
  442. package/lib/esm/model/model.js.map +0 -1
  443. package/lib/esm/model/overrides.js.map +0 -1
  444. package/lib/esm/overrides/ModelBuilderExtensions.js.map +0 -1
  445. package/lib/esm/overrides/index.js.map +0 -1
  446. package/lib/esm/ui/DecafComponent.js.map +0 -1
  447. package/lib/esm/ui/DecafEventHandler.js.map +0 -1
  448. package/lib/esm/ui/DecafTranslateService.js.map +0 -1
  449. package/lib/esm/ui/Rendering.js.map +0 -1
  450. package/lib/esm/ui/UIValidator.js.map +0 -1
  451. package/lib/esm/ui/constants.js.map +0 -1
  452. package/lib/esm/ui/decorators.js.map +0 -1
  453. package/lib/esm/ui/errors.js.map +0 -1
  454. package/lib/esm/ui/index.js.map +0 -1
  455. package/lib/esm/ui/interfaces/IDecafModal.js.map +0 -1
  456. package/lib/esm/ui/interfaces/IDecafRouter.js.map +0 -1
  457. package/lib/esm/ui/interfaces/IDecafSpinner.js.map +0 -1
  458. package/lib/esm/ui/interfaces/IDecafToast.js.map +0 -1
  459. package/lib/esm/ui/interfaces/index.js.map +0 -1
  460. package/lib/esm/ui/overrides.js.map +0 -1
  461. package/lib/esm/ui/types.js.map +0 -1
  462. package/lib/esm/ui/utils.js.map +0 -1
  463. package/lib/esm/ui/validator.js.map +0 -1
  464. package/lib/esm/user-requests/UserRequestHandler.js.map +0 -1
  465. package/lib/esm/user-requests/constants.js.map +0 -1
  466. package/lib/esm/user-requests/decorators.js.map +0 -1
  467. package/lib/esm/user-requests/errors.js.map +0 -1
  468. package/lib/esm/user-requests/index.js.map +0 -1
  469. package/lib/esm/user-requests/types.js.map +0 -1
@@ -344,4 +344,4 @@ export class GraphDecoratedWorkflowCompiler {
344
344
  return graphDecoratedWorkflowCompiler(workflow, options);
345
345
  }
346
346
  }
347
- //# sourceMappingURL=GraphDecoratedWorkflowCompiler.js.map
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhEZWNvcmF0ZWRXb3JrZmxvd0NvbXBpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2RvY3VtZW50L0dyYXBoRGVjb3JhdGVkV29ya2Zsb3dDb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFTMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLHVCQUFrQjtBQU14RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsNEJBQXlCO0FBUXhELE9BQU8sRUFDTCw4QkFBOEIsR0FFL0IsbURBQThDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSwwQ0FBdUM7QUFvQjlFLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRWxFLE1BQU0sNEJBQTRCLEdBQTJCO0lBQzNELElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLFdBQVc7SUFDckIsV0FBVyxFQUFFLFdBQVc7SUFDeEIsUUFBUSxFQUFFLFVBQVU7Q0FDckIsQ0FBQztBQVdGOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxRQUFxQyxFQUNyQyxVQUFnRCxFQUFFO0lBRWxELE1BQU0sVUFBVSxHQUFHLDhCQUE4QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FDbEQsbUJBQW1CLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUN2RSxDQUFDO0lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSw0QkFBNEIsQ0FDOUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxVQUFVLENBQUMsR0FBRyxJQUFJLFVB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Ryx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFDRSxjQUFjO1lBQ2QsQ0FBQyxjQUFjLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLEdBQUcsS0FBSyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQzVGLENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDM0UsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsS0FBYztJQUN0QyxPQUFPLE9BQU8sS0FBSyxLQUFLLFVBQVUsSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUVELFNBQVMseUJBQXlCLENBQUMsSUFBYTtJQUM5QyxJQUFJLENBQUM7UUFDSCxPQUFPLHlCQUF5QixDQUFDLElBQWEsQ0FBdUMsQ0FBQztJQUN4RixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxPQUFPLENBQ0wsUUFBcUMsRUFDckMsVUFBZ0QsRUFBRTtRQUVsRCxPQUFPLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB0eXBlIHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdyYXBoUG9ydERlZmluaXRpb24sXG4gIEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICBHcmFwaFdvcmtmbG93Tm9kZU1ldGFkYXRhLFxuICBHcmFwaFdvcmtmbG93UmVsYXRpb25NZXRhZGF0YSxcbn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ3JhcGhMZWFmUG9ydHNPZiwgZ3JhcGhXb3JrZmxvd0RlZmluaXRpb25PZiB9IGZyb20gXCIuLi9yZWFkZXJcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RvY3VtZW50LCBHcmFwaFdvcmtmbG93UG9ydEluc3RhbmNlIH0gZnJvbSBcIi4vR3JhcGhXb3JrZmxvd0RvY3VtZW50XCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoTm9kZUluc3RhbmNlIH0gZnJvbSBcIi4vR3JhcGhOb2RlSW5zdGFuY2VcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFZGdlSW5zdGFuY2UgfSBmcm9tIFwiLi9HcmFwaEVkZ2VJbnN0YW5jZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEVuZHBvaW50LCBHcmFwaE5vZGVFbmRwb2ludCwgR3JhcGhXb3JrZmxvd0VuZHBvaW50IH0gZnJvbSBcIi4vR3JhcGhFbmRwb2ludFwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEpzb25WYWx1ZSB9IGZyb20gXCIuL0dyYXBoSnNvblZhbHVlXCI7XG5pbXBvcnQgeyBpc0dyYXBoSnNvblNhZmVWYWx1ZSB9IGZyb20gXCIuL0dyYXBoSnNvblZhbHVlXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdyYXBoTm9kZVVpU3RhdGUsXG4gIEdyYXBoV29ya2Zsb3dVaVN0YXRlLFxuICBHcmFwaFdvcmtmbG93Vmlld3BvcnQsXG59IGZyb20gXCIuL0dyYXBoV29ya2Zsb3dVaVN0YXRlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoTG9vcENvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi9HcmFwaExvb3BDb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoVmFsdWVTY2hlbWEgfSBmcm9tIFwiLi4vY2F0YWxvZy9HcmFwaFZhbHVlU2NoZW1hXCI7XG5pbXBvcnQge1xuICBncmFwaFZhbHVlU2NoZW1hRnJvbVZhbGlkYXRpb24sXG4gIHR5cGUgR3JhcGhWYWxpZGF0aW9uUmVjb3JkLFxufSBmcm9tIFwiLi4vY2F0YWxvZy9HcmFwaFZhbHVlU2NoZW1hRGVyaXZhdGlvblwiO1xuaW1wb3J0IHsgR3JhcGhXb3JrZmxvd0RvY3VtZW50QnVpbGRlciB9IGZyb20gXCIuL0dyYXBoV29ya2Zsb3dEb2N1bWVudEJ1aWxkZXJcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb21waWxpbmcgYSBkZWNvcmF0ZWQgd29ya2Zsb3cgaW50byBhIGNhbm9uaWNhbFxuICoge0BsaW5rIEdyYXBoV29ya2Zsb3dEb2N1bWVudH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhEZWNvcmF0ZWRXb3JrZmxvd0NvbXBpbGVPcHRpb25zIHtcbiAgLyoqIERvY3VtZW50IGlkOyBkZWZhdWx0cyB0byB0aGUgd29ya2Zsb3cncyB0YWcgb3IgbmFtZS4gKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBkb2N1bWVudCBuYW1lOyBkZWZhdWx0cyB0byB0aGUgd29ya2Zsb3cncyBuYW1lLiAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogQ2FudmFzIHBvc2l0aW9ucyBwZXIgbm9kZSBpZCwgY2FycmllZCBpbnRvIHRoZSBkb2N1bWVudCdzIFVJIHN0YXRlLiAqL1xuICBwb3NpdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+O1xuICAvKiogSW5pdGlhbCBjYW52YXMgdmlld3BvcnQgY2FycmllZCBpbnRvIHRoZSBkb2N1bWVudCdzIFVJIHN0YXRlLiAqL1xuICB2aWV3cG9ydD86IEdyYXBoV29ya2Zsb3dWaWV3cG9ydDtcbn1cblxuLyoqIEFueXRoaW5nIHRoZSBjb21waWxlciBjYW4gcmVzb2x2ZSBpbnRvIGEge0BsaW5rIEdyYXBoV29ya2Zsb3dEZWZpbml0aW9ufTogYSBkZWNvcmF0ZWQgd29ya2Zsb3cgY2xhc3MgKGNvbnN0cnVjdG9yKSwgYSBtb2RlbCBpbnN0YW5jZSwgb3IgYSBkZWZpbml0aW9uLiAqL1xuZXhwb3J0IHR5cGUgR3JhcGhEZWNvcmF0ZWRXb3JrZmxvd0lucHV0ID0gQ29uc3RydWN0b3IgfCBNb2RlbCB8IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uO1xuXG5jb25zdCBHUkFQSF9CT1VOREFSWV9BTElBU0VTID0gW1wiJHdvcmtmbG93XCIsIFwid29ya2Zsb3dcIiwgXCJncmFwaFwiXTtcblxuY29uc3QgR1JBUEhfREFURV9UWVBFX05BTUVfRk9STUFUUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgZGF0ZTogXCJkYXRlXCIsXG4gIGRhdGV0aW1lOiBcImRhdGUtdGltZVwiLFxuICBcImRhdGUtdGltZVwiOiBcImRhdGUtdGltZVwiLFxuICBkdXJhdGlvbjogXCJkdXJhdGlvblwiLFxufTtcblxuXG50eXBlIEdyYXBoTm9kZURlZmluaXRpb25TaGltID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRhZz86IHN0cmluZztcbiAga2luZD86IHN0cmluZztcbiAgcG9ydHM6IEdyYXBoUG9ydERlZmluaXRpb25bXTtcbiAgZ3JhcGg/OiB7IG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufTtcblxuLyoqXG4gKiBDb21waWxlcyBhIGRlY29yYXRlZCB3b3JrZmxvdyAob3IgYW4gYWxyZWFkeS1yZXNvbHZlZFxuICoge0BsaW5rIEdyYXBoV29ya2Zsb3dEZWZpbml0aW9ufSkgaW50byBhIGNhbm9uaWNhbFxuICoge0BsaW5rIEdyYXBoV29ya2Zsb3dEb2N1bWVudH06IHdvcmtmbG93IGJvdW5kYXJ5IHBvcnRzLCBvbmUgaW5zdGFuY2UgcGVyXG4gKiBub2RlIChpbnB1dC1wb3J0IGRlZmF1bHRzIGFuZCBsb29wL3N3aXRjaCBtZXRhZGF0YSBmb2xkZWQgaW50b1xuICogYHBhcmFtZXRlcnNgL2BtZXRhZGF0YWApLCBvbmUgZWRnZSBwZXIgcmVsYXRpb24sIHBsdXMgVUkgc3RhdGUuIEJyb3dzZXItc2FmZTpcbiAqIG5vZGUgY29uc3RydWN0b3JzIGFyZSBuZXZlciBpbnZva2VkLCBzbyBgQG5vZGVgIGNsYXNzZXMgY2FuIHNlZWQgZGVtb1xuICogZ3JhcGhzIHdpdGhvdXQgZW5naW5lIGltcG9ydHMgKERFQ0FGLTUwIMKnNC40LjQpLlxuICpcbiAqIEB0aHJvd3MgVmFsaWRhdGlvbkVycm9yIHdoZW4gdGhlIGlucHV0IGNhbm5vdCBiZSByZXNvbHZlZCB0byBhIGRlY29yYXRlZFxuICogZ3JhcGggd29ya2Zsb3cgZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoRGVjb3JhdGVkV29ya2Zsb3dDb21waWxlcihcbiAgd29ya2Zsb3c6IEdyYXBoRGVjb3JhdGVkV29ya2Zsb3dJbnB1dCxcbiAgb3B0aW9uczogR3JhcGhEZWNvcmF0ZWRXb3JrZmxvd0NvbXBpbGVPcHRpb25zID0ge31cbik6IEdyYXBoV29ya2Zsb3dEb2N1bWVudCB7XG4gIGNvbnN0IGRlZmluaXRpb24gPSByZXNvbHZlR3JhcGhXb3JrZmxvd0RlZmluaXRpb24od29ya2Zsb3cpO1xuICBjb25zdCBub2RlcyA9IGRlZmluaXRpb24ubm9kZXMubWFwKChub2RlTWV0YWRhdGEpID0+XG4gICAgZ3JhcGhOb2RlSW5zdGFuY2VPZihub2RlTWV0YWRhdGEsIGRlZmluaXRpb24sIG9wdGlvbnMucG9zaXRpb25zID8/IHt9KVxuICApO1xuICBjb25zdCBidWlsZGVyID0gbmV3IEdyYXBoV29ya2Zsb3dEb2N1bWVudEJ1aWxkZXIoXG4gICAgb3B0aW9ucy5pZCA/PyBkZWZpbml0aW9uLnRhZyA/PyBkZWZpbml0aW9uLm5hbWUsXG4gICAgb3B0aW9ucy5uYW1lID8/IGRlZmluaXRpb24ubmFtZVxuICApO1xuICBmb3IgKGNvbnN0IHBvcnQgb2YgZ3JhcGhMZWFmUG9ydHNPZihkZWZpbml0aW9uLmlucHV0cykpIHtcbiAgICBidWlsZGVyLmFkZElucHV0KGdyYXBoV29ya2Zsb3dQb3J0T2YocG9ydCkpO1xuICB9XG4gIGZvciAoY29uc3QgcG9ydCBvZiBncmFwaExlYWZQb3J0c09mKGRlZmluaXRpb24ub3V0cHV0cykpIHtcbiAgICBidWlsZGVyLmFkZE91dHB1dChncmFwaFdvcmtmbG93UG9ydE9mKHBvcnQpKTtcbiAgfVxuICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICBidWlsZGVyLmFkZE5vZGUobm9kZSk7XG4gIH1cbiAgZGVmaW5pdGlvbi5yZWxhdGlvbnMuZm9yRWFjaCgocmVsYXRpb24sIGluZGV4KSA9PiB7XG4gICAgYnVpbGRlci5hZGRFZGdlKGdyYXBoRWRnZU9mKHJlbGF0aW9uLCBkZWZpbml0aW9uLCBpbmRleCkpO1xuICB9KTtcbiAgYnVpbGRlci5zZXRVaShncmFwaFdvcmtmbG93VWlTdGF0ZU9mKG9wdGlvbnMpKTtcbiAgYnVpbGRlci5zZXRNZXRhZGF0YShncmFwaERvY3VtZW50TWV0YWRhdGFPZihkZWZpbml0aW9uKSk7XG4gIHJldHVybiBidWlsZGVyLmJ1aWxkKCk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVHcmFwaFdvcmtmbG93RGVmaW5pdGlvbihcbiAgd29ya2Zsb3c6IEdyYXBoRGVjb3JhdGVkV29ya2Zsb3dJbnB1dFxuKTogR3JhcGhXb3JrZmxvd0RlZmluaXRpb24ge1xuICB0cnkge1xuICAgIHJldHVybiBncmFwaFdvcmtmbG93RGVmaW5pdGlvbk9mKHdvcmtmbG93KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBgQ291bGQgbm90IHJlc29sdmUgYSBkZWNvcmF0ZWQgZ3JhcGggd29ya2Zsb3cgZnJvbSB0aGUgZ2l2ZW4gdmFsdWU6ICR7U3RyaW5nKGUpfWBcbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dQb3J0T2YocG9ydDogR3JhcGhQb3J0RGVmaW5pdGlvbik6IEdyYXBoV29ya2Zsb3dQb3J0SW5zdGFuY2Uge1xuICBjb25zdCB3b3JrZmxvd1BvcnQ6IEdyYXBoV29ya2Zsb3dQb3J0SW5zdGFuY2UgPSB7XG4gICAgaWQ6IHBvcnQucGF0aCA/PyBwb3J0LnByb3BlcnR5LFxuICAgIGxhYmVsOiBwb3J0LmxhYmVsLFxuICAgIHNjaGVtYTogZ3JhcGhQb3J0U2NoZW1hT2YocG9ydCksXG4gICAgcmVxdWlyZWQ6IHBvcnQucmVxdWlyZWQsXG4gIH07XG4gIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IGdyYXBoUG9ydERlZmF1bHRWYWx1ZU9mKHBvcnQpO1xuICBpZiAoZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHdvcmtmbG93UG9ydC5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG4gIGNvbnN0IGNhdGVnb3J5ID0gcG9ydC5ncmFwaD8uW1wiY2F0ZWdvcnlcIl07XG4gIGlmICh0eXBlb2YgY2F0ZWdvcnkgPT09IFwic3RyaW5nXCIpIHdvcmtmbG93UG9ydC5tZXRhZGF0YSA9IHsgY2F0ZWdvcnkgfTtcbiAgcmV0dXJuIHdvcmtmbG93UG9ydDtcbn1cblxuZnVuY3Rpb24gZ3JhcGhQb3J0U2NoZW1hT2YocG9ydDogR3JhcGhQb3J0RGVmaW5pdGlvbik6IEdyYXBoVmFsdWVTY2hlbWEge1xuICBpZiAocG9ydC50eXBlICYmIHBvcnQudHlwZSBpbiBHUkFQSF9EQVRFX1RZUEVfTkFNRV9GT1JNQVRTKSB7XG4gICAgcmV0dXJuIHsgdHlwZTogXCJzdHJpbmdcIiwgZm9ybWF0OiBHUkFQSF9EQVRFX1RZUEVfTkFNRV9GT1JNQVRTW3BvcnQudHlwZV0gfTtcbiAgfVxuICByZXR1cm4gZ3JhcGhWYWx1ZVNjaGVtYUZyb21WYWxpZGF0aW9uKFxuICAgIHBvcnQudmFsaWRhdGlvbiBhcyBHcmFwaFZhbGlkYXRpb25SZWNvcmQgfCB1bmRlZmluZWQsXG4gICAgcG9ydC50eXBlLFxuICAgIHBvcnQubW9kZWxcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ3JhcGhQb3J0RGVmYXVsdFZhbHVlT2YocG9ydDogR3JhcGhQb3J0RGVmaW5pdGlvbik6IEdyYXBoSnNvblZhbHVlIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZWxlbWVudFZhbHVlID0gcG9ydC5lbGVtZW50Py5bXCJwcm9wc1wiXT8uW1widmFsdWVcIl07XG4gIGNvbnN0IHNvdXJjZSA9IGVsZW1lbnRWYWx1ZSA/PyBwb3J0LnByb3A/LltcInZhbHVlXCJdID8/IHBvcnQudmFsaWRhdGlvbj8uW1wiZGVmYXVsdFZhbHVlXCJdO1xuICBpZiAoc291cmNlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHNvdXJjZSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdW5kZWZpbmVkO1xuICBpZiAoIWlzR3JhcGhKc29uU2FmZVZhbHVlKHNvdXJjZSkpIHJldHVybiB1bmRlZmluZWQ7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc291cmNlKSkgYXMgR3JhcGhKc29uVmFsdWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ3JhcGhXb3JrZmxvd1VpU3RhdGVPZihcbiAgb3B0aW9uczogR3JhcGhEZWNvcmF0ZWRXb3JrZmxvd0NvbXBpbGVPcHRpb25zXG4pOiBHcmFwaFdvcmtmbG93VWlTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gIGlmICghb3B0aW9ucy52aWV3cG9ydCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgcmV0dXJuIHsgdmlld3BvcnQ6IHsgLi4ub3B0aW9ucy52aWV3cG9ydCB9IH07XG59XG5cbmZ1bmN0aW9uIGdyYXBoTm9kZUluc3RhbmNlT2YoXG4gIG5vZGVNZXRhZGF0YTogR3JhcGhXb3JrZmxvd05vZGVNZXRhZGF0YSxcbiAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICBwb3NpdGlvbnM6IFJlY29yZDxzdHJpbmcsIHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT5cbik6IEdyYXBoTm9kZUluc3RhbmNlIHtcbiAgY29uc3Qgbm9kZURlZmluaXRpb24gPSBpc0dyYXBoTW9kZWxMaWtlKG5vZGVNZXRhZGF0YS5ub2RlKVxuICAgID8gZ3JhcGhOb2RlRGVmaW5pdGlvblNhZmVseShub2RlTWV0YWRhdGEubm9kZSlcbiAgICA6IHVuZGVmaW5lZDtcbiAgY29uc3QgaW5zdGFuY2U6IEdyYXBoTm9kZUluc3RhbmNlID0ge1xuICAgIGlkOiBub2RlTWV0YWRhdGEuaWQsXG4gICAga2luZDpcbiAgICAgIG5vZGVNZXRhZGF0YS5raW5kID8/XG4gICAgICBub2RlRGVmaW5pdGlvbj8ua2luZCA/P1xuICAgICAgbm9kZURlZmluaXRpb24/Lm5hbWUgPz9cbiAgICAgIG5vZGVNZXRhZGF0YS5pZCxcbiAgICBwYXJhbWV0ZXJzOiBncmFwaE5vZGVQYXJhbWV0ZXJzT2Yobm9kZU1ldGFkYXRhLCBub2RlRGVmaW5pdGlvbiksXG4gIH07XG4gIGlmIChub2RlTWV0YWRhdGEubGFiZWwgIT09IHVuZGVmaW5lZCkgaW5zdGFuY2UubGFiZWwgPSBub2RlTWV0YWRhdGEubGFiZWw7XG4gIGNvbnN0IG1ldGFkYXRhID0gZ3JhcGhOb2RlTWV0YWRhdGFDb2xsZWN0aW9uT2Yobm9kZU1ldGFkYXRhLCBub2RlRGVmaW5pdGlvbik7XG4gIGlmIChtZXRhZGF0YSkgaW5zdGFuY2UubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgY29uc3QgbG9vcCA9IGdyYXBoTG9vcENvbmZpZ3VyYXRpb25PZihub2RlTWV0YWRhdGEsIG5vZGVEZWZpbml0aW9uKTtcbiAgaWYgKGxvb3ApIGluc3RhbmNlLmxvb3AgPSBsb29wO1xuICBjb25zdCBwb3NpdGlvbiA9IHBvc2l0aW9uc1tub2RlTWV0YWRhdGEuaWRdO1xuICBpZiAocG9zaXRpb24pIHtcbiAgICBjb25zdCB1aTogR3JhcGhOb2RlVWlTdGF0ZSA9IHsgcG9zaXRpb246IHsgeDogcG9zaXRpb24ueCwgeTogcG9zaXRpb24ueSB9IH07XG4gICAgaW5zdGFuY2UudWkgPSB1aTtcbiAgfVxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIGdyYXBoTm9kZU1ldGFkYXRhQ29sbGVjdGlvbk9mKFxuICBub2RlTWV0YWRhdGE6IEdyYXBoV29ya2Zsb3dOb2RlTWV0YWRhdGEsXG4gIG5vZGVEZWZpbml0aW9uOiBHcmFwaE5vZGVEZWZpbml0aW9uU2hpbSB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+IHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgY29sbGVjdGVkOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4gPSB7fTtcbiAgZm9yIChjb25zdCBzb3VyY2Ugb2YgW1xuICAgIG5vZGVEZWZpbml0aW9uPy5ncmFwaD8ubWV0YWRhdGEsXG4gICAgbm9kZU1ldGFkYXRhLm1ldGFkYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkLFxuICBdKSB7XG4gICAgaWYgKCFzb3VyY2UgfHwgdHlwZW9mIHNvdXJjZSAhPT0gXCJvYmplY3RcIikgY29udGludWU7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc291cmNlKSkge1xuICAgICAgaWYgKGtleSA9PT0gXCJsb29wXCIpIGNvbnRpbnVlO1xuICAgICAgcmVmbGVjdEpzb25TYWZlVmFsdWUoY29sbGVjdGVkLCBrZXksIHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5rZXlzKGNvbGxlY3RlZCkubGVuZ3RoID8gY29sbGVjdGVkIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiByZWZsZWN0SnNvblNhZmVWYWx1ZShcbiAgY29sbGVjdGVkOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4sXG4gIGtleTogc3RyaW5nLFxuICB2YWx1ZTogdW5rbm93blxuKTogdm9pZCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm47XG4gIGlmICghaXNHcmFwaEpzb25TYWZlVmFsdWUodmFsdWUpKSByZXR1cm47XG4gIHRyeSB7XG4gICAgY29sbGVjdGVkW2tleV0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSkgYXMgR3JhcGhKc29uVmFsdWU7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybjtcbiAgfVxufVxuXG4vKipcbiAqIExvb3AtY29uZmlndXJhdGlvbiBmaWVsZHMgb2YgbGVnYWN5IGBncmFwaC5tZXRhZGF0YS5sb29wYCBiYWdzIHRoYXQgYXJlXG4gKiBub2RlIGNvbmZpZ3VyYXRpb24gcmF0aGVyIHRoYW4gbG9vcC1ib2R5IHNldHRpbmdzLiBQZXIgREVDQUYtNTAgwqc0LjQuNVxuICogcnVsZSA2IChub24tcG9ydCBvcGVyYXRpb24vY29uZmlndXJhdGlvbiBmaWVsZHMgYmVsb25nIGluIGBwYXJhbWV0ZXJzYCksXG4gKiB0aGVzZSBhcmUgY2FycmllZCBpbnRvIHRoZSBpbnN0YW5jZSdzIGBwYXJhbWV0ZXJzYCBzbyBsZWdhY3kgbG9vcFxuICogcm91bmQtdHJpcHMgc3RheSBsb3NzbGVzczsgYGJvZHlgL2BtYXhJdGVyYXRpb25zYC9gdGltZW91dE1zYC9cbiAqIGBjb25jdXJyZW5jeWAgbGl2ZSBvbiB7QGxpbmsgR3JhcGhMb29wQ29uZmlndXJhdGlvbn0uXG4gKi9cbmNvbnN0IEdSQVBIX0xPT1BfUEFSQU1FVEVSX0tFWVMgPSBbXG4gIFwiY29uZGl0aW9uXCIsXG4gIFwiaW5wdXRQb3J0XCIsXG4gIFwib3V0cHV0UG9ydFwiLFxuICBcIml0ZW1Qb3J0XCIsXG4gIFwicmVzdWx0UG9ydFwiLFxuICBcInN0YXRlUG9ydFwiLFxuICBcInNsaWNlXCIsXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBncmFwaE5vZGVQYXJhbWV0ZXJzT2YoXG4gIG5vZGVNZXRhZGF0YTogR3JhcGhXb3JrZmxvd05vZGVNZXRhZGF0YSxcbiAgbm9kZURlZmluaXRpb246IEdyYXBoTm9kZURlZmluaXRpb25TaGltIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4ge1xuICBjb25zdCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4gPSB7fTtcbiAgaWYgKG5vZGVEZWZpbml0aW9uKSB7XG4gICAgZm9yIChjb25zdCBwb3J0IG9mIGdyYXBoTGVhZlBvcnRzT2Yobm9kZURlZmluaXRpb24ucG9ydHMpKSB7XG4gICAgICBpZiAocG9ydC5kaXJlY3Rpb24gIT09IFwiaW5wdXRcIikgY29udGludWU7XG4gICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBncmFwaFBvcnREZWZhdWx0VmFsdWVPZihwb3J0KTtcbiAgICAgIGlmIChkZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXJhbWV0ZXJzW3BvcnQucGF0aCA/PyBwb3J0LnByb3BlcnR5XSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY29uc3QgbG9vcE1ldGFkYXRhID0gZ3JhcGhMZWdhY3lMb29wTWV0YWRhdGFPZihub2RlTWV0YWRhdGEsIG5vZGVEZWZpbml0aW9uKTtcbiAgaWYgKGxvb3BNZXRhZGF0YSkge1xuICAgIGZvciAoY29uc3Qga2V5IG9mIEdSQVBIX0xPT1BfUEFSQU1FVEVSX0tFWVMpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gbG9vcE1ldGFkYXRhW2tleV07XG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikgY29udGludWU7XG4gICAgICBpZiAoIWlzR3JhcGhKc29uU2FmZVZhbHVlKHZhbHVlKSkgY29udGludWU7XG4gICAgICB0cnkge1xuICAgICAgICBwYXJhbWV0ZXJzW2tleV0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSkgYXMgR3JhcGhKc29uVmFsdWU7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gc2tpcCBub24tc2VyaWFsaXphYmxlIGxlZ2FjeSB2YWx1ZXNcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcmFtZXRlcnM7XG59XG5cbi8qKlxuICogUmVhZHMgdGhlIGxlZ2FjeSBgZ3JhcGgubWV0YWRhdGEubG9vcGAgYmFnIGZyb20gZWl0aGVyIHRoZSBub2RlIG1ldGFkYXRhIG9yXG4gKiB0aGUgbm9kZSBkZWZpbml0aW9uIHNoaW0sIHNvIGxvb3AtY29uZmlndXJhdGlvbiBmaWVsZHMgY2FuIGJlIHNwbGl0IGJldHdlZW5cbiAqIHtAbGluayBHcmFwaExvb3BDb25maWd1cmF0aW9ufSBhbmQgaW5zdGFuY2UgYHBhcmFtZXRlcnNgICjCpzQuNC41IHJ1bGUgNikuXG4gKi9cbmZ1bmN0aW9uIGdyYXBoTGVnYWN5TG9vcE1ldGFkYXRhT2YoXG4gIG5vZGVNZXRhZGF0YTogR3JhcGhXb3JrZmxvd05vZGVNZXRhZGF0YSxcbiAgbm9kZURlZmluaXRpb246IEdyYXBoTm9kZURlZmluaXRpb25TaGltIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGxvb3BNZXRhZGF0YSA9XG4gICAgKChub2RlTWV0YWRhdGEubWV0YWRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQpPy5bXCJsb29wXCJdIGFzXG4gICAgICB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICB8IHVuZGVmaW5lZCkgPz9cbiAgICAobm9kZURlZmluaXRpb24/LmdyYXBoPy5tZXRhZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCk/LltcImxvb3BcIl07XG4gIHJldHVybiBsb29wTWV0YWRhdGEgJiYgdHlwZW9mIGxvb3BNZXRhZGF0YSA9PT0gXCJvYmplY3RcIlxuICAgID8gKGxvb3BNZXRhZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ3JhcGhMb29wQ29uZmlndXJhdGlvbk9mKFxuICBub2RlTWV0YWRhdGE6IEdyYXBoV29ya2Zsb3dOb2RlTWV0YWRhdGEsXG4gIG5vZGVEZWZpbml0aW9uOiBHcmFwaE5vZGVEZWZpbml0aW9uU2hpbSB8IHVuZGVmaW5lZFxuKTogR3JhcGhMb29wQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGxvb3BNZXRhZGF0YSA9XG4gICAgKChub2RlTWV0YWRhdGEubWV0YWRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQpPy5bXCJsb29wXCJdIGFzXG4gICAgICB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICB8IHVuZGVmaW5lZCkgPz9cbiAgICAobm9kZURlZmluaXRpb24/LmdyYXBoPy5tZXRhZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCk/LltcImxvb3BcIl07XG4gIGlmICghbG9vcE1ldGFkYXRhIHx8IHR5cGVvZiBsb29wTWV0YWRhdGEgIT09IFwib2JqZWN0XCIpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IGNvbmZpZyA9IGxvb3BNZXRhZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYm9keVNvdXJjZSA9IGNvbmZpZ1tcImJvZHlcIl07XG4gIGlmICghYm9keVNvdXJjZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgbGV0IGJvZHk6IEdyYXBoV29ya2Zsb3dEb2N1bWVudDtcbiAgdHJ5IHtcbiAgICBib2R5ID0gZ3JhcGhEZWNvcmF0ZWRXb3JrZmxvd0NvbXBpbGVyKGJvZHlTb3VyY2UgYXMgR3JhcGhEZWNvcmF0ZWRXb3JrZmxvd0lucHV0KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBgRmFpbGVkIHRvIGNvbXBpbGUgdGhlIGxvb3AgYm9keSBvZiBub2RlICcke25vZGVNZXRhZGF0YS5pZH0nOiAke1N0cmluZyhlKX1gXG4gICAgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGJvZHksXG4gICAgbWF4SXRlcmF0aW9uczogYXNOdW1iZXIoY29uZmlnW1wibWF4SXRlcmF0aW9uc1wiXSksXG4gICAgdGltZW91dE1zOiBhc051bWJlcihjb25maWdbXCJ0aW1lb3V0TXNcIl0pLFxuICAgIGNvbmN1cnJlbmN5OiBhc051bWJlcihjb25maWdbXCJjb25jdXJyZW5jeVwiXSksXG4gIH07XG59XG5cbmZ1bmN0aW9uIGFzTnVtYmVyKHZhbHVlOiB1bmtub3duKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiAmJiBOdW1iZXIuaXNGaW5pdGUodmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdyYXBoRG9jdW1lbnRNZXRhZGF0YU9mKFxuICBkZWZpbml0aW9uOiBHcmFwaFdvcmtmbG93RGVmaW5pdGlvblxuKTogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFkZWZpbml0aW9uLndvcmtmbG93Py5tZXRhZGF0YSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgY29sbGVjdGVkOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGVmaW5pdGlvbi53b3JrZmxvdy5tZXRhZGF0YSkpIHtcbiAgICByZWZsZWN0SnNvblNhZmVWYWx1ZShjb2xsZWN0ZWQsIGtleSwgdmFsdWUpO1xuICB9XG4gIHJldHVybiBPYmplY3Qua2V5cyhjb2xsZWN0ZWQpLmxlbmd0aCA/IGNvbGxlY3RlZCA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ3JhcGhFZGdlT2YoXG4gIHJlbGF0aW9uOiBHcmFwaFdvcmtmbG93UmVsYXRpb25NZXRhZGF0YSxcbiAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uLFxuICBpbmRleDogbnVtYmVyXG4pOiBHcmFwaEVkZ2VJbnN0YW5jZSB7XG4gIGNvbnN0IGFsaWFzZXMgPSBbLi4uR1JBUEhfQk9VTkRBUllfQUxJQVNFUywgd29ya2Zsb3cubmFtZV07XG4gIGNvbnN0IHNvdXJjZSA9IGdyYXBoRW5kcG9pbnRPZihyZWxhdGlvbi5zb3VyY2UsIHJlbGF0aW9uLnNvdXJjZVBvcnQsIHdvcmtmbG93Lm5vZGVzLCBhbGlhc2VzKTtcbiAgY29uc3QgdGFyZ2V0ID0gZ3JhcGhFbmRwb2ludE9mKHJlbGF0aW9uLnRhcmdldCwgcmVsYXRpb24udGFyZ2V0UG9ydCwgd29ya2Zsb3cubm9kZXMsIGFsaWFzZXMpO1xuICBjb25zdCBtZXRhZGF0YSA9IGdyYXBoSnNvblNhZmVSZWNvcmRPZihyZWxhdGlvbi5tZXRhZGF0YSk7XG4gIGNvbnN0IGVkZ2U6IEdyYXBoRWRnZUluc3RhbmNlID0ge1xuICAgIGlkOiBgcmUke2luZGV4fWAsXG4gICAgdHlwZTogZ3JhcGhFZGdlVHlwZU9mKHJlbGF0aW9uLCB3b3JrZmxvdyksXG4gICAgc291cmNlLFxuICAgIHRhcmdldCxcbiAgfTtcbiAgaWYgKHJlbGF0aW9uLmxhYmVsICE9PSB1bmRlZmluZWQpIGVkZ2UubGFiZWwgPSByZWxhdGlvbi5sYWJlbDtcbiAgaWYgKG1ldGFkYXRhKSBlZGdlLm1ldGFkYXRhID0gbWV0YWRhdGE7XG4gIHJldHVybiBlZGdlO1xufVxuXG5mdW5jdGlvbiBncmFwaEVkZ2VUeXBlT2YoXG4gIHJlbGF0aW9uOiBHcmFwaFdvcmtmbG93UmVsYXRpb25NZXRhZGF0YSxcbiAgd29ya2Zsb3c6IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uXG4pOiBcImRhdGFcIiB8IFwiY29ubmVjdGlvblwiIHtcbiAgY29uc3Qgc291cmNlRGVmaW5pdGlvbiA9IGdyYXBoTm9kZURlZmluaXRpb25Gb3IocmVsYXRpb24uc291cmNlLCB3b3JrZmxvdyk7XG4gIGNvbnN0IHRhcmdldERlZmluaXRpb24gPSBncmFwaE5vZGVEZWZpbml0aW9uRm9yKHJlbGF0aW9uLnRhcmdldCwgd29ya2Zsb3cpO1xuICBpZiAoaXNDb25uZWN0aW9uUG9ydChzb3VyY2VEZWZpbml0aW9uLCByZWxhdGlvbi5zb3VyY2VQb3J0KSkgcmV0dXJuIFwiY29ubmVjdGlvblwiO1xuICBpZiAoaXNDb25uZWN0aW9uUG9ydCh0YXJnZXREZWZpbml0aW9uLCByZWxhdGlvbi50YXJnZXRQb3J0KSkgcmV0dXJuIFwiY29ubmVjdGlvblwiO1xuICByZXR1cm4gXCJkYXRhXCI7XG59XG5cbmZ1bmN0aW9uIGlzQ29ubmVjdGlvblBvcnQoXG4gIG5vZGVEZWZpbml0aW9uOiBHcmFwaE5vZGVEZWZpbml0aW9uU2hpbSB8IHVuZGVmaW5lZCxcbiAgcG9ydDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBib29sZWFuIHtcbiAgaWYgKCFub2RlRGVmaW5pdGlvbiB8fCAhcG9ydCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gbm9kZURlZmluaXRpb24ucG9ydHMuc29tZShcbiAgICAoY2FuZGlkYXRlKSA9PlxuICAgICAgKGNhbmRpZGF0ZS5wYXRoID8/IGNhbmRpZGF0ZS5wcm9wZXJ0eSkgPT09IHBvcnQgJiYgY2FuZGlkYXRlLmRpcmVjdGlvbiA9PT0gXCJjb25uZWN0aW9uXCJcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ3JhcGhOb2RlRGVmaW5pdGlvbkZvcihcbiAgcmVmZXJlbmNlOiB1bmtub3duLFxuICB3b3JrZmxvdzogR3JhcGhXb3JrZmxvd0RlZmluaXRpb25cbik6IEdyYXBoTm9kZURlZmluaXRpb25TaGltIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbWF0Y2hlZCA9IGZpbmRHcmFwaE5vZGVNYXRjaChcbiAgICByZWZlcmVuY2UsXG4gICAgd29ya2Zsb3cubmFtZSA/IFsuLi5HUkFQSF9CT1VOREFSWV9BTElBU0VTLCB3b3JrZmxvdy5uYW1lXSA6IEdSQVBIX0JPVU5EQVJZX0FMSUFTRVMsXG4gICAgd29ya2Zsb3cubm9kZXNcbiAgKTtcbiAgaWYgKCFtYXRjaGVkIHx8ICFpc0dyYXBoTW9kZWxMaWtlKG1hdGNoZWQubm9kZSkpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiBncmFwaE5vZGVEZWZpbml0aW9uU2FmZWx5KG1hdGNoZWQubm9kZSk7XG59XG5cbmZ1bmN0aW9uIGdyYXBoSnNvblNhZmVSZWNvcmRPZihcbiAgdmFsdWU6XG4gICAgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4gfCB1bmRlZmluZWQge1xuICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgY29sbGVjdGVkOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCBlbnRyeV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUpKSB7XG4gICAgcmVmbGVjdEpzb25TYWZlVmFsdWUoY29sbGVjdGVkLCBrZXksIGVudHJ5KTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXMoY29sbGVjdGVkKS5sZW5ndGggPyBjb2xsZWN0ZWQgOiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdyYXBoRW5kcG9pbnRPZihcbiAgdmFsdWU6IHVua25vd24sXG4gIHBvcnQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgbm9kZXM6IEdyYXBoV29ya2Zsb3dOb2RlTWV0YWRhdGFbXSxcbiAgYWxpYXNlczogc3RyaW5nW11cbik6IEdyYXBoRW5kcG9pbnQge1xuICBjb25zdCByZXNvbHZlZFBvcnQgPSBwb3J0ID8/IFwiXCI7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgYWxpYXNlcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICByZXR1cm4geyBzY29wZTogXCJ3b3JrZmxvd1wiLCBwb3J0OiByZXNvbHZlZFBvcnQgfSBzYXRpc2ZpZXMgR3JhcGhXb3JrZmxvd0VuZHBvaW50O1xuICB9XG4gIGNvbnN0IG1hdGNoZWQgPSBmaW5kR3JhcGhOb2RlTWF0Y2godmFsdWUsIGFsaWFzZXMsIG5vZGVzKTtcbiAgaWYgKG1hdGNoZWQpIHtcbiAgICBjb25zdCBlbmRwb2ludDogR3JhcGhOb2RlRW5kcG9pbnQgPSB7XG4gICAgICBzY29wZTogXCJub2RlXCIsXG4gICAgICBub2RlSWQ6IG1hdGNoZWQuaWQsXG4gICAgICBwb3J0OiByZXNvbHZlZFBvcnQsXG4gICAgfTtcbiAgICBpZiAoIXJlc29sdmVkUG9ydCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYFdvcmtmbG93IHJlbGF0aW9uIHJlZmVyZW5jZXMgbm9kZSAnJHttYXRjaGVkLmlkfScgd2l0aG91dCBhIHBvcnQgaWRlbnRpZmllcmBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBlbmRwb2ludDtcbiAgfVxuICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgIGBXb3JrZmxvdyByZWxhdGlvbiByZWZlcmVuY2VzICcke1N0cmluZyhcbiAgICAgIHZhbHVlXG4gICAgKX0nIHdoaWNoIGlzIG5laXRoZXIgYSBub2RlIGluIHRoZSB3b3JrZmxvdyBub3IgYSB3b3JrZmxvdyBib3VuZGFyeSAodXNlZCBwb3J0IGlkZW50aWZpZXI6ICcke3Jlc29sdmVkUG9ydH0nKWBcbiAgKTtcbn1cblxuZnVuY3Rpb24gZmluZEdyYXBoTm9kZU1hdGNoKFxuICB2YWx1ZTogdW5rbm93bixcbiAgYWxpYXNlczogc3RyaW5nW10sXG4gIG5vZGVzOiBHcmFwaFdvcmtmbG93Tm9kZU1ldGFkYXRhW11cbik6IEdyYXBoV29ya2Zsb3dOb2RlTWV0YWRhdGEgfCB1bmRlZmluZWQge1xuICBjb25zdCB2YWx1ZURlZmluaXRpb24gPSBpc0dyYXBoTW9kZWxMaWtlKHZhbHVlKSA/IGdyYXBoTm9kZURlZmluaXRpb25TYWZlbHkodmFsdWUpIDogdW5kZWZpbmVkO1xuICBmb3IgKGNvbnN0IG1ldGFkYXRhIG9mIG5vZGVzKSB7XG4gICAgaWYgKG1ldGFkYXRhLmlkID09PSB2YWx1ZSkgcmV0dXJuIG1ldGFkYXRhO1xuICAgIGlmIChtZXRhZGF0YS5ub2RlID09PSB2YWx1ZSkgcmV0dXJuIG1ldGFkYXRhO1xuICAgIGlmICghdmFsdWVEZWZpbml0aW9uIHx8ICFpc0dyYXBoTW9kZWxMaWtlKG1ldGFkYXRhLm5vZGUpKSBjb250aW51ZTtcbiAgICBjb25zdCBub2RlRGVmaW5pdGlvbiA9IGdyYXBoTm9kZURlZmluaXRpb25TYWZlbHkobWV0YWRhdGEubm9kZSk7XG4gICAgaWYgKFxuICAgICAgbm9kZURlZmluaXRpb24gJiZcbiAgICAgIChub2RlRGVmaW5pdGlvbi5uYW1lID09PSB2YWx1ZURlZmluaXRpb24ubmFtZSB8fCBub2RlRGVmaW5pdGlvbi50YWcgPT09IHZhbHVlRGVmaW5pdGlvbi50YWcpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbWV0YWRhdGE7XG4gICAgfVxuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgYWxpYXNlcy5pbmNsdWRlcyh2YWx1ZSkpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGlzR3JhcGhNb2RlbExpa2UodmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiIHx8ICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgIT09IG51bGwpO1xufVxuXG5mdW5jdGlvbiBncmFwaE5vZGVEZWZpbml0aW9uU2FmZWx5KG5vZGU6IHVua25vd24pOiBHcmFwaE5vZGVEZWZpbml0aW9uU2hpbSB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGdyYXBoV29ya2Zsb3dEZWZpbml0aW9uT2Yobm9kZSBhcyBuZXZlcikgYXMgdW5rbm93biBhcyBHcmFwaE5vZGVEZWZpbml0aW9uU2hpbTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIFNwZWMtbWFuZGF0ZWQgKMKnNC40LjkpIGNvbXBpbGVyIGZhY2FkZS4gRGVsZWdhdGVzIHRvXG4gKiB7QGxpbmsgZ3JhcGhEZWNvcmF0ZWRXb3JrZmxvd0NvbXBpbGVyfSwgd2hpY2ggcGVyZm9ybXMgdGhlIGFjdHVhbFxuICogZGVjb3JhdGVkLWRlZmluaXRpb24gdG8ge0BsaW5rIEdyYXBoV29ya2Zsb3dEb2N1bWVudH0gbWFwcGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoRGVjb3JhdGVkV29ya2Zsb3dDb21waWxlciB7XG4gIGNvbXBpbGUoXG4gICAgd29ya2Zsb3c6IEdyYXBoRGVjb3JhdGVkV29ya2Zsb3dJbnB1dCxcbiAgICBvcHRpb25zOiBHcmFwaERlY29yYXRlZFdvcmtmbG93Q29tcGlsZU9wdGlvbnMgPSB7fVxuICApOiBHcmFwaFdvcmtmbG93RG9jdW1lbnQge1xuICAgIHJldHVybiBncmFwaERlY29yYXRlZFdvcmtmbG93Q29tcGlsZXIod29ya2Zsb3csIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0VuZHBvaW50LCBHcmFwaE5vZGVFbmRwb2ludCB9O1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=GraphEdgeInstance.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFZGdlSW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZG9jdW1lbnQvR3JhcGhFZGdlSW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhFbmRwb2ludCB9IGZyb20gXCIuL0dyYXBoRW5kcG9pbnRcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhKc29uVmFsdWUgfSBmcm9tIFwiLi9HcmFwaEpzb25WYWx1ZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEVkZ2VVaVN0YXRlIH0gZnJvbSBcIi4vR3JhcGhXb3JrZmxvd1VpU3RhdGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaEVkZ2VJbnN0YW5jZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IFwiZGF0YVwiIHwgXCJjb25uZWN0aW9uXCI7XG4gIHNvdXJjZTogR3JhcGhFbmRwb2ludDtcbiAgdGFyZ2V0OiBHcmFwaEVuZHBvaW50O1xuICBsYWJlbD86IHN0cmluZztcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT47XG4gIHVpPzogR3JhcGhFZGdlVWlTdGF0ZTtcbn1cbiJdfQ==
@@ -18,4 +18,4 @@ export function isGraphEndpoint(value) {
18
18
  }
19
19
  return false;
20
20
  }
21
- //# sourceMappingURL=GraphEndpoint.js.map
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9kb2N1bWVudC9HcmFwaEVuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxRQUF1QjtJQUM3RCxPQUFPLFFBQVEsQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsUUFBdUI7SUFDekQsT0FBTyxRQUFRLENBQUMsS0FBSyxLQUFLLE1BQU0sQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFjO0lBQzVDLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUUsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztJQUNoRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxPQUFPLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQy9CLE9BQU8sQ0FDTCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRO1lBQ3BDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVE7WUFDbEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUNyQyxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEdyYXBoV29ya2Zsb3dFbmRwb2ludCA9IHtcbiAgc2NvcGU6IFwid29ya2Zsb3dcIjtcbiAgcG9ydDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR3JhcGhOb2RlRW5kcG9pbnQgPSB7XG4gIHNjb3BlOiBcIm5vZGVcIjtcbiAgbm9kZUlkOiBzdHJpbmc7XG4gIHBvcnQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEdyYXBoRW5kcG9pbnQgPSBHcmFwaFdvcmtmbG93RW5kcG9pbnQgfCBHcmFwaE5vZGVFbmRwb2ludDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JhcGhXb3JrZmxvd0VuZHBvaW50KGVuZHBvaW50OiBHcmFwaEVuZHBvaW50KTogZW5kcG9pbnQgaXMgR3JhcGhXb3JrZmxvd0VuZHBvaW50IHtcbiAgcmV0dXJuIGVuZHBvaW50LnNjb3BlID09PSBcIndvcmtmbG93XCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dyYXBoTm9kZUVuZHBvaW50KGVuZHBvaW50OiBHcmFwaEVuZHBvaW50KTogZW5kcG9pbnQgaXMgR3JhcGhOb2RlRW5kcG9pbnQge1xuICByZXR1cm4gZW5kcG9pbnQuc2NvcGUgPT09IFwibm9kZVwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNHcmFwaEVuZHBvaW50KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgR3JhcGhFbmRwb2ludCB7XG4gIGlmICghdmFsdWUgfHwgdHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHJlY29yZCA9IHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBpZiAocmVjb3JkW1wic2NvcGVcIl0gPT09IFwid29ya2Zsb3dcIikge1xuICAgIHJldHVybiB0eXBlb2YgcmVjb3JkW1wicG9ydFwiXSA9PT0gXCJzdHJpbmdcIiAmJiBSZWZsZWN0Lm93bktleXMocmVjb3JkKS5sZW5ndGggPT09IDI7XG4gIH1cbiAgaWYgKHJlY29yZFtcInNjb3BlXCJdID09PSBcIm5vZGVcIikge1xuICAgIHJldHVybiAoXG4gICAgICB0eXBlb2YgcmVjb3JkW1wibm9kZUlkXCJdID09PSBcInN0cmluZ1wiICYmXG4gICAgICB0eXBlb2YgcmVjb3JkW1wicG9ydFwiXSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgUmVmbGVjdC5vd25LZXlzKHJlY29yZCkubGVuZ3RoID09PSAzXG4gICAgKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG4iXX0=
@@ -70,4 +70,4 @@ export function cloneGraphJsonValue(value) {
70
70
  }
71
71
  return cloned;
72
72
  }
73
- //# sourceMappingURL=GraphJsonValue.js.map
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhKc29uVmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZG9jdW1lbnQvR3JhcGhKc29uVmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsV0FBVztJQUNYLFdBQVc7SUFDWCxhQUFhO0NBQ0wsQ0FBQztBQUlYLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxHQUFXO0lBQ2hELE9BQVEsd0JBQThDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQWM7SUFDdkMsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM5RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLE9BQU8sU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLElBQUksU0FBUyxLQUFLLElBQUksQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQWM7SUFDakQsT0FBTyxDQUNMLEtBQUssS0FBSyxJQUFJO1FBQ2QsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FDM0IsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYztJQUM3QyxJQUFJLG9CQUFvQixDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQzdDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQ2pDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDTixPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQ3ZCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDO1lBQzVCLGdCQUFnQixDQUNiLEtBQWlDLENBQUMsR0FBYSxDQUFDLENBQ2xELENBQ0osQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBYztJQUNqRCxJQUFJLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDdEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzlDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDekMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUMxQyxJQUFJLHNCQUFzQixDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUM5QyxJQUFJLENBQUMsb0JBQW9CLENBQUUsS0FBaUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQTJCLEtBQVE7SUFDcEUsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFpQixDQUFDO0lBQzFFLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBbUMsRUFBRSxDQUFDO0lBQ2xELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxPQUFPLE1BQVcsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgR3JhcGhKc29uUHJpbWl0aXZlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIEdyYXBoSnNvblZhbHVlID1cbiAgfCBHcmFwaEpzb25QcmltaXRpdmVcbiAgfCBHcmFwaEpzb25WYWx1ZVtdXG4gIHwgeyBba2V5OiBzdHJpbmddOiBHcmFwaEpzb25WYWx1ZSB9O1xuXG5leHBvcnQgY29uc3QgR1JBUEhfVU5TQUZFX09CSkVDVF9LRVlTID0gW1xuICBcIl9fcHJvdG9fX1wiLFxuICBcInByb3RvdHlwZVwiLFxuICBcImNvbnN0cnVjdG9yXCIsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBHcmFwaFVuc2FmZU9iamVjdEtleSA9ICh0eXBlb2YgR1JBUEhfVU5TQUZFX09CSkVDVF9LRVlTKVtudW1iZXJdO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNHcmFwaFVuc2FmZU9iamVjdEtleShrZXk6IHN0cmluZyk6IGtleSBpcyBHcmFwaFVuc2FmZU9iamVjdEtleSB7XG4gIHJldHVybiAoR1JBUEhfVU5TQUZFX09CSkVDVF9LRVlTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhrZXkpO1xufVxuXG5mdW5jdGlvbiBpc1BsYWluSnNvbk9iamVjdCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgcHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKTtcbiAgcmV0dXJuIHByb3RvdHlwZSA9PT0gT2JqZWN0LnByb3RvdHlwZSB8fCBwcm90b3R5cGUgPT09IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dyYXBoSnNvblByaW1pdGl2ZSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEdyYXBoSnNvblByaW1pdGl2ZSB7XG4gIHJldHVybiAoXG4gICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHxcbiAgICAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmIE51bWJlci5pc0Zpbml0ZSh2YWx1ZSkpIHx8XG4gICAgdHlwZW9mIHZhbHVlID09PSBcImJvb2xlYW5cIlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNHcmFwaEpzb25WYWx1ZSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEdyYXBoSnNvblZhbHVlIHtcbiAgaWYgKGlzR3JhcGhKc29uUHJpbWl0aXZlKHZhbHVlKSkgcmV0dXJuIHRydWU7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5ldmVyeSgoZW50cnkpID0+IGlzR3JhcGhKc29uVmFsdWUoZW50cnkpKTtcbiAgfVxuICBpZiAoaXNQbGFpbkpzb25PYmplY3QodmFsdWUpKSB7XG4gICAgcmV0dXJuIFJlZmxlY3Qub3duS2V5cyh2YWx1ZSkuZXZlcnkoXG4gICAgICAoa2V5KSA9PlxuICAgICAgICB0eXBlb2Yga2V5ID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICFpc0dyYXBoVW5zYWZlT2JqZWN0S2V5KGtleSkgJiZcbiAgICAgICAgaXNHcmFwaEpzb25WYWx1ZShcbiAgICAgICAgICAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW2tleSBhcyBzdHJpbmddXG4gICAgICAgIClcbiAgICApO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JhcGhKc29uU2FmZVZhbHVlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2U7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHJldHVybiBOdW1iZXIuaXNGaW5pdGUodmFsdWUpO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBmYWxzZTtcbiAgaWYgKGlzR3JhcGhKc29uVmFsdWUodmFsdWUpKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KChlbnRyeSkgPT4gaXNHcmFwaEpzb25TYWZlVmFsdWUoZW50cnkpKTtcbiAgfVxuICBpZiAoaXNQbGFpbkpzb25PYmplY3QodmFsdWUpKSB7XG4gICAgY29uc3Qga2V5cyA9IFJlZmxlY3Qub3duS2V5cyh2YWx1ZSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgaWYgKHR5cGVvZiBrZXkgIT09IFwic3RyaW5nXCIpIHJldHVybiBmYWxzZTtcbiAgICAgIGlmIChpc0dyYXBoVW5zYWZlT2JqZWN0S2V5KGtleSkpIHJldHVybiBmYWxzZTtcbiAgICAgIGlmICghaXNHcmFwaEpzb25TYWZlVmFsdWUoKHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtrZXldKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lR3JhcGhKc29uVmFsdWU8VCBleHRlbmRzIEdyYXBoSnNvblZhbHVlPih2YWx1ZTogVCk6IFQge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiKSByZXR1cm4gdmFsdWU7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5tYXAoKGVudHJ5KSA9PiBjbG9uZUdyYXBoSnNvblZhbHVlKGVudHJ5KSkgYXMgdW5rbm93biBhcyBUO1xuICB9XG4gIGNvbnN0IGNsb25lZDogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgZW50cnldIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlKSkge1xuICAgIGNsb25lZFtrZXldID0gY2xvbmVHcmFwaEpzb25WYWx1ZShlbnRyeSk7XG4gIH1cbiAgcmV0dXJuIGNsb25lZCBhcyBUO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=GraphLoopConfiguration.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhMb29wQ29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9kb2N1bWVudC9HcmFwaExvb3BDb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdyYXBoSnNvblZhbHVlIH0gZnJvbSBcIi4vR3JhcGhKc29uVmFsdWVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd0RvY3VtZW50IH0gZnJvbSBcIi4vR3JhcGhXb3JrZmxvd0RvY3VtZW50XCI7XG5cbmV4cG9ydCB0eXBlIEdyYXBoVmFsdWVSZWZlcmVuY2UgPVxuICB8IHsgc291cmNlOiBcIndvcmtmbG93XCI7IHBvcnQ6IHN0cmluZyB9XG4gIHwgeyBzb3VyY2U6IFwibm9kZVwiOyBub2RlSWQ6IHN0cmluZzsgcG9ydDogc3RyaW5nIH1cbiAgfCB7IHNvdXJjZTogXCJsaXRlcmFsXCI7IHZhbHVlOiBHcmFwaEpzb25WYWx1ZSB9XG4gIHwgeyBzb3VyY2U6IFwiZXhwcmVzc2lvblwiOyBleHByZXNzaW9uOiBzdHJpbmcgfTtcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaExvb3BDb25maWd1cmF0aW9uIHtcbiAgYm9keTogR3JhcGhXb3JrZmxvd0RvY3VtZW50O1xuICBtYXhJdGVyYXRpb25zPzogbnVtYmVyO1xuICB0aW1lb3V0TXM/OiBudW1iZXI7XG4gIGNvbmN1cnJlbmN5PzogbnVtYmVyO1xuICBpbnB1dE1hcHBpbmdzPzogUmVjb3JkPHN0cmluZywgR3JhcGhWYWx1ZVJlZmVyZW5jZT47XG4gIG91dHB1dE1hcHBpbmdzPzogUmVjb3JkPHN0cmluZywgR3JhcGhWYWx1ZVJlZmVyZW5jZT47XG59XG4iXX0=
@@ -19,4 +19,4 @@ export function isGraphInputBinding(value) {
19
19
  }
20
20
  return false;
21
21
  }
22
- //# sourceMappingURL=GraphNodeBinding.js.map
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhOb2RlQmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9kb2N1bWVudC9HcmFwaE5vZGVCaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSw0QkFBeUI7QUE2QnBELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFjO0lBQ3BELE9BQU8sS0FBSyxLQUFLLE1BQU0sSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxZQUFZLENBQUM7QUFDM0UsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFjO0lBQ2hELElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUUsTUFBTSxJQUFJLEdBQUksS0FBaUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4RCxJQUFJLElBQUksS0FBSyxNQUFNO1FBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDaEUsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQUksS0FBaUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxPQUFPLENBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFnQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDMUQsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBZ0MsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQzFELE9BQVEsS0FBaUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxRQUFRLENBQ3JFLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHcmFwaEpzb25WYWx1ZSB9IGZyb20gXCIuL0dyYXBoSnNvblZhbHVlXCI7XG5pbXBvcnQgeyBpc0dyYXBoSnNvblZhbHVlIH0gZnJvbSBcIi4vR3JhcGhKc29uVmFsdWVcIjtcblxuZXhwb3J0IHR5cGUgR3JhcGhJbnB1dEJpbmRpbmdNb2RlID0gXCJlZGdlXCIgfCBcImxpdGVyYWxcIiB8IFwiZXhwcmVzc2lvblwiO1xuXG5leHBvcnQgdHlwZSBHcmFwaEVkZ2VJbnB1dEJpbmRpbmcgPSB7XG4gIG1vZGU6IFwiZWRnZVwiO1xufTtcblxuZXhwb3J0IHR5cGUgR3JhcGhMaXRlcmFsSW5wdXRCaW5kaW5nID0ge1xuICBtb2RlOiBcImxpdGVyYWxcIjtcbiAgdmFsdWU6IEdyYXBoSnNvblZhbHVlO1xufTtcblxuZXhwb3J0IHR5cGUgR3JhcGhFeHByZXNzaW9uSW5wdXRCaW5kaW5nID0ge1xuICBtb2RlOiBcImV4cHJlc3Npb25cIjtcbiAgZXhwcmVzc2lvbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR3JhcGhJbnB1dEJpbmRpbmcgPVxuICB8IEdyYXBoRWRnZUlucHV0QmluZGluZ1xuICB8IEdyYXBoTGl0ZXJhbElucHV0QmluZGluZ1xuICB8IEdyYXBoRXhwcmVzc2lvbklucHV0QmluZGluZztcblxuZXhwb3J0IHR5cGUgR3JhcGhPdXRwdXRCaW5kaW5nID0ge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgYWxpYXM/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JhcGhJbnB1dEJpbmRpbmdNb2RlKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgR3JhcGhJbnB1dEJpbmRpbmdNb2RlIHtcbiAgcmV0dXJuIHZhbHVlID09PSBcImVkZ2VcIiB8fCB2YWx1ZSA9PT0gXCJsaXRlcmFsXCIgfHwgdmFsdWUgPT09IFwiZXhwcmVzc2lvblwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNHcmFwaElucHV0QmluZGluZyh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEdyYXBoSW5wdXRCaW5kaW5nIHtcbiAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgbW9kZSA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbXCJtb2RlXCJdO1xuICBpZiAobW9kZSA9PT0gXCJlZGdlXCIpIHJldHVybiBSZWZsZWN0Lm93bktleXModmFsdWUpLmxlbmd0aCA9PT0gMTtcbiAgaWYgKG1vZGUgPT09IFwibGl0ZXJhbFwiKSB7XG4gICAgY29uc3QgdmFsdWVfID0gKHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtcInZhbHVlXCJdO1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikubGVuZ3RoID09PSAyICYmXG4gICAgICBpc0dyYXBoSnNvblZhbHVlKHZhbHVlXylcbiAgICApO1xuICB9XG4gIGlmIChtb2RlID09PSBcImV4cHJlc3Npb25cIikge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikubGVuZ3RoID09PSAyICYmXG4gICAgICB0eXBlb2YgKHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtcImV4cHJlc3Npb25cIl0gPT09IFwic3RyaW5nXCJcbiAgICApO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=GraphNodeInstance.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhOb2RlSW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZG9jdW1lbnQvR3JhcGhOb2RlSW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhJbnB1dEJpbmRpbmcsIEdyYXBoT3V0cHV0QmluZGluZyB9IGZyb20gXCIuL0dyYXBoTm9kZUJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhKc29uVmFsdWUgfSBmcm9tIFwiLi9HcmFwaEpzb25WYWx1ZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaExvb3BDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vR3JhcGhMb29wQ29uZmlndXJhdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaE5vZGVVaVN0YXRlIH0gZnJvbSBcIi4vR3JhcGhXb3JrZmxvd1VpU3RhdGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaE5vZGVJbnN0YW5jZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGtpbmQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPjtcbiAgaW5wdXRCaW5kaW5ncz86IFJlY29yZDxzdHJpbmcsIEdyYXBoSW5wdXRCaW5kaW5nPjtcbiAgb3V0cHV0QmluZGluZ3M/OiBSZWNvcmQ8c3RyaW5nLCBHcmFwaE91dHB1dEJpbmRpbmc+O1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+O1xuICBsb29wPzogR3JhcGhMb29wQ29uZmlndXJhdGlvbjtcbiAgdWk/OiBHcmFwaE5vZGVVaVN0YXRlO1xufVxuIl19
@@ -9,4 +9,4 @@ export function isGraphWorkflowDocumentShape(value) {
9
9
  Array.isArray(record["nodes"]) &&
10
10
  Array.isArray(record["edges"]));
11
11
  }
12
- //# sourceMappingURL=GraphWorkflowDocument.js.map
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhXb3JrZmxvd0RvY3VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2RvY3VtZW50L0dyYXBoV29ya2Zsb3dEb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2QkEsTUFBTSxVQUFVLDRCQUE0QixDQUFDLEtBQWM7SUFRekQsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUM5RSxNQUFNLE1BQU0sR0FBRyxLQUFnQyxDQUFDO0lBQ2hELE9BQU8sQ0FDTCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxRQUFRO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVE7UUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDL0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdyYXBoSnNvblZhbHVlIH0gZnJvbSBcIi4vR3JhcGhKc29uVmFsdWVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlSW5zdGFuY2UgfSBmcm9tIFwiLi9HcmFwaE5vZGVJbnN0YW5jZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEVkZ2VJbnN0YW5jZSB9IGZyb20gXCIuL0dyYXBoRWRnZUluc3RhbmNlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoV29ya2Zsb3dVaVN0YXRlIH0gZnJvbSBcIi4vR3JhcGhXb3JrZmxvd1VpU3RhdGVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhWYWx1ZVNjaGVtYSB9IGZyb20gXCIuLi9jYXRhbG9nL0dyYXBoVmFsdWVTY2hlbWFcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaFdvcmtmbG93UG9ydEluc3RhbmNlIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHNjaGVtYT86IEdyYXBoVmFsdWVTY2hlbWE7XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogR3JhcGhKc29uVmFsdWU7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+O1xufVxuXG5leHBvcnQgdHlwZSBHcmFwaFdvcmtmbG93U2V0dGluZ3MgPSBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhXb3JrZmxvd0RvY3VtZW50IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBpbnB1dHM6IEdyYXBoV29ya2Zsb3dQb3J0SW5zdGFuY2VbXTtcbiAgb3V0cHV0czogR3JhcGhXb3JrZmxvd1BvcnRJbnN0YW5jZVtdO1xuICBub2RlczogR3JhcGhOb2RlSW5zdGFuY2VbXTtcbiAgZWRnZXM6IEdyYXBoRWRnZUluc3RhbmNlW107XG4gIHNldHRpbmdzPzogR3JhcGhXb3JrZmxvd1NldHRpbmdzO1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPjtcbiAgdWk/OiBHcmFwaFdvcmtmbG93VWlTdGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzR3JhcGhXb3JrZmxvd0RvY3VtZW50U2hhcGUodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgaW5wdXRzOiB1bmtub3duW107XG4gIG91dHB1dHM6IHVua25vd25bXTtcbiAgbm9kZXM6IHVua25vd25bXTtcbiAgZWRnZXM6IHVua25vd25bXTtcbn0ge1xuICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCByZWNvcmQgPSB2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgcmVjb3JkW1wiaWRcIl0gPT09IFwic3RyaW5nXCIgJiZcbiAgICB0eXBlb2YgcmVjb3JkW1wibmFtZVwiXSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgIEFycmF5LmlzQXJyYXkocmVjb3JkW1wiaW5wdXRzXCJdKSAmJlxuICAgIEFycmF5LmlzQXJyYXkocmVjb3JkW1wib3V0cHV0c1wiXSkgJiZcbiAgICBBcnJheS5pc0FycmF5KHJlY29yZFtcIm5vZGVzXCJdKSAmJlxuICAgIEFycmF5LmlzQXJyYXkocmVjb3JkW1wiZWRnZXNcIl0pXG4gICk7XG59XG4iXX0=
@@ -300,4 +300,4 @@ function assertEdgeEndpoint(endpoint, document, workflowPorts, nodeIds, context)
300
300
  }
301
301
  }
302
302
  }
303
- //# sourceMappingURL=GraphWorkflowDocumentBuilder.js.map
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhXb3JrZmxvd0RvY3VtZW50QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9kb2N1bWVudC9HcmFwaFdvcmtmbG93RG9jdW1lbnRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHNCQUFzQixHQUN2Qiw0QkFBeUI7QUFFMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSwyQkFBd0I7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDhCQUEyQjtBQVd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUNBQW9DO0FBYWpFOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtJQUd2Qzs7O09BR0c7SUFDSCxZQUFZLEVBQVUsRUFBRSxJQUFhO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxFQUFFO1lBQ0YsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2hCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsRUFBRTtZQUNULEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRCxxQ0FBcUM7SUFDckMsUUFBUSxDQUFDLElBQTRCO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsU0FBUyxDQUFDLElBQTRCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCwyRUFBMkU7SUFDM0Us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QyxNQUFNLElBQUksZUFBZSxDQUN2QixHQUFHLE9BQU8scUJBQXFCLFFBQVEsQ0FBQyxNQUFNLHFDQUFxQyxDQUNwRixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksT0FBTyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4RCxNQUFNLElBQUksZUFBZSxDQUN2QixHQUFHLE9BQU8sNERBQTRELENBQ3ZFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhKc29uVmFsdWUgfSBmcm9tIFwiLi9HcmFwaEpzb25WYWx1ZVwiO1xuaW1wb3J0IHtcbiAgaXNHcmFwaEpzb25TYWZlVmFsdWUsXG4gIGlzR3JhcGhVbnNhZmVPYmplY3RLZXksXG59IGZyb20gXCIuL0dyYXBoSnNvblZhbHVlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRW5kcG9pbnQsIEdyYXBoTm9kZUVuZHBvaW50LCBHcmFwaFdvcmtmbG93RW5kcG9pbnQgfSBmcm9tIFwiLi9HcmFwaEVuZHBvaW50XCI7XG5pbXBvcnQgeyBpc0dyYXBoRW5kcG9pbnQsIGlzR3JhcGhOb2RlRW5kcG9pbnQsIGlzR3JhcGhXb3JrZmxvd0VuZHBvaW50IH0gZnJvbSBcIi4vR3JhcGhFbmRwb2ludFwiO1xuaW1wb3J0IHsgaXNHcmFwaElucHV0QmluZGluZyB9IGZyb20gXCIuL0dyYXBoTm9kZUJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhWYWx1ZVJlZmVyZW5jZSB9IGZyb20gXCIuL0dyYXBoTG9vcENvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhMb29wQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL0dyYXBoTG9vcENvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhXb3JrZmxvd1VpU3RhdGUgfSBmcm9tIFwiLi9HcmFwaFdvcmtmbG93VWlTdGF0ZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaEVkZ2VJbnN0YW5jZSB9IGZyb20gXCIuL0dyYXBoRWRnZUluc3RhbmNlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoTm9kZUluc3RhbmNlIH0gZnJvbSBcIi4vR3JhcGhOb2RlSW5zdGFuY2VcIjtcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhXb3JrZmxvd0RvY3VtZW50LFxuICBHcmFwaFdvcmtmbG93UG9ydEluc3RhbmNlLFxuICBHcmFwaFdvcmtmbG93U2V0dGluZ3MsXG59IGZyb20gXCIuL0dyYXBoV29ya2Zsb3dEb2N1bWVudFwiO1xuaW1wb3J0IHsgaXNHcmFwaFZhbHVlU2NoZW1hIH0gZnJvbSBcIi4uL2NhdGFsb2cvR3JhcGhWYWx1ZVNjaGVtYVwiO1xuXG4vKiogQSB3b3JrZmxvdyBib3VuZGFyeSBwb3J0IGFjY2VwdGVkIGJ5IHtAbGluayBHcmFwaFdvcmtmbG93RG9jdW1lbnRCdWlsZGVyfS4gKi9cbmV4cG9ydCB0eXBlIEdyYXBoV29ya2Zsb3dQb3J0SW5wdXQgPSBHcmFwaFdvcmtmbG93UG9ydEluc3RhbmNlO1xuXG4vKiogT3B0aW9ucyBmb3IgY29uc3RydWN0aW5nIGEge0BsaW5rIEdyYXBoV29ya2Zsb3dEb2N1bWVudEJ1aWxkZXJ9LiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaFdvcmtmbG93RG9jdW1lbnRCdWlsZGVyT3B0aW9ucyB7XG4gIC8qKiBEb2N1bWVudCBpZDsgZGVmYXVsdHMgdG8gYW4gZW1wdHkgc3RyaW5nIHdoZW4gb21pdHRlZC4gKi9cbiAgaWQ/OiBzdHJpbmc7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBkb2N1bWVudCBuYW1lOyBkZWZhdWx0cyB0byBhbiBlbXB0eSBzdHJpbmcgd2hlbiBvbWl0dGVkLiAqL1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEZsdWVudCBidWlsZGVyIGZvciB0aGUgY2Fub25pY2FsIHtAbGluayBHcmFwaFdvcmtmbG93RG9jdW1lbnR9XG4gKiAoREVDQUYtNTAgwqc0LjQuNCkuIENvbGxlY3RzIGJvdW5kYXJ5IHBvcnRzLCBub2RlIGluc3RhbmNlcywgZWRnZXMsIGFuZFxuICogb3B0aW9uYWwgc2V0dGluZ3MvbWV0YWRhdGEvVUkgc3RhdGUsIHRoZW4gdmFsaWRhdGVzIGFuZCBmcmVlemVzIGFcbiAqIGRlZmVuc2l2ZWx5LWNvcGllZCBkb2N1bWVudCBvbiB7QGxpbmsgR3JhcGhXb3JrZmxvd0RvY3VtZW50QnVpbGRlci5idWlsZH0uXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFdvcmtmbG93RG9jdW1lbnRCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50O1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gaWQgRG9jdW1lbnQgaWQuXG4gICAqIEBwYXJhbSBuYW1lIE9wdGlvbmFsIGRvY3VtZW50IG5hbWU7IGRlZmF1bHRzIHRvIGFuIGVtcHR5IHN0cmluZy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcsIG5hbWU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0ge1xuICAgICAgaWQsXG4gICAgICBuYW1lOiBuYW1lID8/IFwiXCIsXG4gICAgICBpbnB1dHM6IFtdLFxuICAgICAgb3V0cHV0czogW10sXG4gICAgICBub2RlczogW10sXG4gICAgICBlZGdlczogW10sXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBcHBlbmRzIGEgd29ya2Zsb3cgaW5wdXQgcG9ydC4gKi9cbiAgYWRkSW5wdXQocG9ydDogR3JhcGhXb3JrZmxvd1BvcnRJbnB1dCk6IHRoaXMge1xuICAgIHRoaXMuZG9jdW1lbnQuaW5wdXRzLnB1c2gocG9ydCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQXBwZW5kcyBhIHdvcmtmbG93IG91dHB1dCBwb3J0LiAqL1xuICBhZGRPdXRwdXQocG9ydDogR3JhcGhXb3JrZmxvd1BvcnRJbnB1dCk6IHRoaXMge1xuICAgIHRoaXMuZG9jdW1lbnQub3V0cHV0cy5wdXNoKHBvcnQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEFwcGVuZHMgYSBub2RlIGluc3RhbmNlLCBkZWZhdWx0aW5nIGBwYXJhbWV0ZXJzYCB0byBhbiBlbXB0eSBvYmplY3QuICovXG4gIGFkZE5vZGUobm9kZTogR3JhcGhOb2RlSW5zdGFuY2UpOiB0aGlzIHtcbiAgICB0aGlzLmRvY3VtZW50Lm5vZGVzLnB1c2goe1xuICAgICAgLi4ubm9kZSxcbiAgICAgIHBhcmFtZXRlcnM6IG5vZGUucGFyYW1ldGVycyA/PyB7fSxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBBcHBlbmRzIGFuIGVkZ2UgaW5zdGFuY2UuICovXG4gIGFkZEVkZ2UoZWRnZTogR3JhcGhFZGdlSW5zdGFuY2UpOiB0aGlzIHtcbiAgICB0aGlzLmRvY3VtZW50LmVkZ2VzLnB1c2goZWRnZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogU2V0cyAob3IgY2xlYXJzKSB0aGUgZG9jdW1lbnQncyBmcmVlLWZvcm0gc2V0dGluZ3MgYmFnLiAqL1xuICBzZXRTZXR0aW5ncyhzZXR0aW5ncz86IEdyYXBoV29ya2Zsb3dTZXR0aW5ncyk6IHRoaXMge1xuICAgIHRoaXMuZG9jdW1lbnQuc2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBTZXRzIChvciBjbGVhcnMpIHRoZSBkb2N1bWVudCdzIG1ldGFkYXRhIGJhZy4gKi9cbiAgc2V0TWV0YWRhdGEobWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4pOiB0aGlzIHtcbiAgICB0aGlzLmRvY3VtZW50Lm1ldGFkYXRhID0gbWV0YWRhdGE7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogU2V0cyAob3IgY2xlYXJzKSB0aGUgZG9jdW1lbnQncyBlZGl0b3IgVUkgc3RhdGUuICovXG4gIHNldFVpKHVpPzogR3JhcGhXb3JrZmxvd1VpU3RhdGUpOiB0aGlzIHtcbiAgICB0aGlzLmRvY3VtZW50LnVpID0gdWk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBhY2N1bXVsYXRlZCBkb2N1bWVudCB3aXRoXG4gICAqIHtAbGluayBhc3NlcnRHcmFwaFdvcmtmbG93RG9jdW1lbnRWYWxpZH0gYW5kIHJldHVybnMgYSBkZWVwLWlzaCBjb3B5OlxuICAgKiBwb3J0cywgbm9kZXMsIGFuZCBlZGdlcyBhcmUgY2xvbmVkIHBlciBlbnRyeSwgYW5kIHRoZSBvcHRpb25hbFxuICAgKiBgc2V0dGluZ3NgL2BtZXRhZGF0YWAvYHVpYCBiYWdzIGFyZSBvbmx5IHByZXNlbnQgd2hlbiBleHBsaWNpdGx5IHNldCwgc29cbiAgICogY2FsbGVycyBuZXZlciBvYnNlcnZlIGJ1aWxkZXItaW50ZXJuYWwgYHVuZGVmaW5lZGAgZmllbGRzLlxuICAgKlxuICAgKiBAdGhyb3dzIFZhbGlkYXRpb25FcnJvciB3aGVuIHRoZSBkb2N1bWVudCBmYWlscyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgYnVpbGQoKTogR3JhcGhXb3JrZmxvd0RvY3VtZW50IHtcbiAgICBhc3NlcnRHcmFwaFdvcmtmbG93RG9jdW1lbnRWYWxpZCh0aGlzLmRvY3VtZW50KTtcbiAgICBjb25zdCBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50ID0ge1xuICAgICAgaWQ6IHRoaXMuZG9jdW1lbnQuaWQsXG4gICAgICBuYW1lOiB0aGlzLmRvY3VtZW50Lm5hbWUsXG4gICAgICBpbnB1dHM6IHRoaXMuZG9jdW1lbnQuaW5wdXRzLm1hcCgocG9ydCkgPT4gKHsgLi4ucG9ydCB9KSksXG4gICAgICBvdXRwdXRzOiB0aGlzLmRvY3VtZW50Lm91dHB1dHMubWFwKChwb3J0KSA9PiAoeyAuLi5wb3J0IH0pKSxcbiAgICAgIG5vZGVzOiB0aGlzLmRvY3VtZW50Lm5vZGVzLm1hcCgobm9kZSkgPT4gKHsgLi4ubm9kZSB9KSksXG4gICAgICBlZGdlczogdGhpcy5kb2N1bWVudC5lZGdlcy5tYXAoKGVkZ2UpID0+ICh7IC4uLmVkZ2UgfSkpLFxuICAgIH07XG4gICAgaWYgKHRoaXMuZG9jdW1lbnQuc2V0dGluZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZG9jdW1lbnQuc2V0dGluZ3MgPSB0aGlzLmRvY3VtZW50LnNldHRpbmdzO1xuICAgIH1cbiAgICBpZiAodGhpcy5kb2N1bWVudC5tZXRhZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb2N1bWVudC5tZXRhZGF0YSA9IHRoaXMuZG9jdW1lbnQubWV0YWRhdGE7XG4gICAgfVxuICAgIGlmICh0aGlzLmRvY3VtZW50LnVpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRvY3VtZW50LnVpID0gdGhpcy5kb2N1bWVudC51aTtcbiAgICB9XG4gICAgcmV0dXJuIGRvY3VtZW50O1xuICB9XG59XG5cbi8qKlxuICogU2hhcmVkIHZhbGlkYXRpb24gY29udGV4dCBmb3JcbiAqIHtAbGluayBhc3NlcnRHcmFwaFdvcmtmbG93RG9jdW1lbnRWYWxpZH06IHRyYWNrcyBkb2N1bWVudHMgYWxyZWFkeSB2aXNpdGVkXG4gKiBvbiB0aGUgY3VycmVudCBuZXN0aW5nIHBhdGggc28gY3ljbGljIGxvb3AgYm9kaWVzIGFyZSBkZXRlY3RlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaFdvcmtmbG93RG9jdW1lbnRWYWxpZGF0aW9uQ29udGV4dCB7XG4gIHNlZW46IHVua25vd25bXTtcbn1cblxuLyoqXG4gKiBTdHJ1Y3R1cmFsIHZhbGlkYXRpb24gZ2F0ZSBmb3IgYSBjYW5vbmljYWwge0BsaW5rIEdyYXBoV29ya2Zsb3dEb2N1bWVudH1cbiAqIChzaGFyZWQgYnkgdGhlIGZyb250ZW5kIGJ1aWxkZXIgYW5kIHRoZSBiYWNrZW5kIG5pbmUtc3RhZ2UgdmFsaWRhdG9yLFxuICogREVDQUYtNTAgwqc0Ljggc3RhZ2UgMSBzaGFwZSBydWxlcykuIENoZWNrcyB1bmlxdWUgcG9ydC9ub2RlL2VkZ2UgaWRzLFxuICogdmFsaWQgc2NoZW1hcywgYmluZGluZyBzaGFwZXMsIGVkZ2UgZW5kcG9pbnRzLCBhbmQgcmVjdXJzaXZlbHkgdmFsaWRhdGVzXG4gKiBuZXN0ZWQgbG9vcC1ib2R5IGRvY3VtZW50cy5cbiAqXG4gKiBAdGhyb3dzIFZhbGlkYXRpb25FcnJvciBkZXNjcmliaW5nIHRoZSBmaXJzdCBpbnZhbGlkIGFzcGVjdCBmb3VuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydEdyYXBoV29ya2Zsb3dEb2N1bWVudFZhbGlkKFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50LFxuICBjb250ZXh0OiBHcmFwaFdvcmtmbG93RG9jdW1lbnRWYWxpZGF0aW9uQ29udGV4dCA9IHsgc2VlbjogW10gfVxuKTogdm9pZCB7XG4gIGlmIChjb250ZXh0LnNlZW4uaW5jbHVkZXMoZG9jdW1lbnQpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBEb2N1bWVudCAnJHtkZXNjcmliZURvY3VtZW50KGRvY3VtZW50KX0nIGNvbnRhaW5zIGEgbG9vcCBib2R5IHRoYXQgcmVmZXJlbmNlcyBpdHNlbGYgKGN5Y2xpYyBkb2N1bWVudClgXG4gICAgKTtcbiAgfVxuICBpZiAodHlwZW9mIGRvY3VtZW50LmlkICE9PSBcInN0cmluZ1wiIHx8ICFkb2N1bWVudC5pZCkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXCJEb2N1bWVudCAnaWQnIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZ1wiKTtcbiAgfVxuICBpZiAodHlwZW9mIGRvY3VtZW50Lm5hbWUgIT09IFwic3RyaW5nXCIgfHwgIWRvY3VtZW50Lm5hbWUpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFwiRG9jdW1lbnQgJ25hbWUnIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZ1wiKTtcbiAgfVxuICBjb25zdCB3b3JrZmxvd1BvcnRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGZvciAoY29uc3QgcG9ydCBvZiBbLi4uZG9jdW1lbnQuaW5wdXRzLCAuLi5kb2N1bWVudC5vdXRwdXRzXSkge1xuICAgIGlmICh0eXBlb2YgcG9ydC5pZCAhPT0gXCJzdHJpbmdcIiB8fCAhcG9ydC5pZCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgXCJXb3JrZmxvdyBwb3J0ICdpZCcgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nXCJcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh3b3JrZmxvd1BvcnRzLmhhcyhwb3J0LmlkKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYFdvcmtmbG93IHBvcnQgJyR7cG9ydC5pZH0nIGlzIGRlY2xhcmVkIG1vcmUgdGhhbiBvbmNlOyB3b3JrZmxvdyBwb3J0IGlkcyBtdXN0IGJlIHVuaXF1ZWBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwb3J0LnNjaGVtYSAhPT0gdW5kZWZpbmVkICYmICFpc0dyYXBoVmFsdWVTY2hlbWEocG9ydC5zY2hlbWEpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgV29ya2Zsb3cgcG9ydCAnJHtwb3J0LmlkfScgc2NoZW1hIG11c3QgYmUgYSB2YWxpZCBHcmFwaFZhbHVlU2NoZW1hYFxuICAgICAgKTtcbiAgICB9XG4gICAgd29ya2Zsb3dQb3J0cy5hZGQocG9ydC5pZCk7XG4gIH1cbiAgY29uc3QgbmVzdGVkQ29udGV4dDogR3JhcGhXb3JrZmxvd0RvY3VtZW50VmFsaWRhdGlvbkNvbnRleHQgPSB7XG4gICAgc2VlbjogWy4uLmNvbnRleHQuc2VlbiwgZG9jdW1lbnRdLFxuICB9O1xuICBjb25zdCBub2RlSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGZvciAoY29uc3Qgbm9kZSBvZiBkb2N1bWVudC5ub2Rlcykge1xuICAgIGFzc2VydEdyYXBoTm9kZVZhbGlkKG5vZGUsIG5vZGVJZHMpO1xuICB9XG4gIGZvciAoY29uc3Qgbm9kZSBvZiBkb2N1bWVudC5ub2Rlcykge1xuICAgIGlmIChub2RlLmxvb3ApIHtcbiAgICAgIGFzc2VydEdyYXBoTG9vcENvbmZpZ3VyYXRpb25WYWxpZChub2RlLCBub2RlLmxvb3AsIG5lc3RlZENvbnRleHQpO1xuICAgIH1cbiAgfVxuICBjb25zdCBlZGdlSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGZvciAoY29uc3QgZWRnZSBvZiBkb2N1bWVudC5lZGdlcykge1xuICAgIGFzc2VydEdyYXBoRWRnZVZhbGlkKGVkZ2UsIGVkZ2VJZHMpO1xuICB9XG4gIGZvciAoY29uc3QgZWRnZSBvZiBkb2N1bWVudC5lZGdlcykge1xuICAgIGFzc2VydEVkZ2VFbmRwb2ludChcbiAgICAgIGVkZ2Uuc291cmNlLFxuICAgICAgZG9jdW1lbnQsXG4gICAgICB3b3JrZmxvd1BvcnRzLFxuICAgICAgbm9kZUlkcyxcbiAgICAgIGBFZGdlICcke2VkZ2UuaWR9JyBzb3VyY2VgXG4gICAgKTtcbiAgICBhc3NlcnRFZGdlRW5kcG9pbnQoXG4gICAgICBlZGdlLnRhcmdldCxcbiAgICAgIGRvY3VtZW50LFxuICAgICAgd29ya2Zsb3dQb3J0cyxcbiAgICAgIG5vZGVJZHMsXG4gICAgICBgRWRnZSAnJHtlZGdlLmlkfScgdGFyZ2V0YFxuICAgICk7XG4gIH1cbiAgaWYgKGRvY3VtZW50LnNldHRpbmdzICE9PSB1bmRlZmluZWQgJiYgIWlzR3JhcGhKc29uU2FmZVZhbHVlKGRvY3VtZW50LnNldHRpbmdzKSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBcIkRvY3VtZW50IHNldHRpbmdzIG11c3QgYmUgSlNPTi1zYWZlIChhIG1hcCBvZiBKU09OLXNhZmUgdmFsdWVzKVwiXG4gICAgKTtcbiAgfVxuICBpZiAoZG9jdW1lbnQubWV0YWRhdGEgIT09IHVuZGVmaW5lZCAmJiAhaXNHcmFwaEpzb25TYWZlVmFsdWUoZG9jdW1lbnQubWV0YWRhdGEpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIFwiRG9jdW1lbnQgbWV0YWRhdGEgbXVzdCBiZSBKU09OLXNhZmU6IGZ1bmN0aW9ucywgY2xhc3MgaW5zdGFuY2VzLCB1bmRlZmluZWQsIE5hTi9JbmZpbml0eSwgc3ltYm9sIGtleXMsIG9yIHVuc2FmZSBwcm90b3R5cGUga2V5cyBhcmUgbm90IGFsbG93ZWRcIlxuICAgICk7XG4gIH1cbiAgaWYgKGRvY3VtZW50LnVpICE9PSB1bmRlZmluZWQgJiYgIWlzR3JhcGhKc29uU2FmZVZhbHVlKGRvY3VtZW50LnVpKSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBcIkRvY3VtZW50IHVpIG11c3QgYmUgSlNPTi1zYWZlOiBmdW5jdGlvbnMsIGNsYXNzIGluc3RhbmNlcywgdW5kZWZpbmVkLCBOYU4vSW5maW5pdHksIHN5bWJvbCBrZXlzLCBvciB1bnNhZmUgcHJvdG90eXBlIGtleXMgYXJlIG5vdCBhbGxvd2VkXCJcbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlc2NyaWJlRG9jdW1lbnQoZG9jdW1lbnQ6IHVua25vd24pOiBzdHJpbmcge1xuICBjb25zdCBpZCA9IChkb2N1bWVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik/LltcImlkXCJdO1xuICByZXR1cm4gdHlwZW9mIGlkID09PSBcInN0cmluZ1wiID8gaWQgOiBcIjx1bm5hbWVkIGRvY3VtZW50PlwiO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRHcmFwaE5vZGVWYWxpZChub2RlOiBHcmFwaE5vZGVJbnN0YW5jZSwgbm9kZUlkczogU2V0PHN0cmluZz4pOiB2b2lkIHtcbiAgaWYgKHR5cGVvZiBub2RlLmlkICE9PSBcInN0cmluZ1wiIHx8ICFub2RlLmlkKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcIk5vZGUgJ2lkJyBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmdcIik7XG4gIH1cbiAgaWYgKG5vZGVJZHMuaGFzKG5vZGUuaWQpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBOb2RlIGlkICcke25vZGUuaWR9JyBpcyBkZWNsYXJlZCBtb3JlIHRoYW4gb25jZTsgbm9kZSBpZHMgbXVzdCBiZSB1bmlxdWVgXG4gICAgKTtcbiAgfVxuICBpZiAodHlwZW9mIG5vZGUua2luZCAhPT0gXCJzdHJpbmdcIiB8fCAhbm9kZS5raW5kKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBOb2RlICcke25vZGUuaWR9JyBtdXN0IGRlY2xhcmUgYSBub24tZW1wdHkgc3RyaW5nICdraW5kJ2BcbiAgICApO1xuICB9XG4gIGlmIChub2RlLnBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCB8fCBub2RlLnBhcmFtZXRlcnMgPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYE5vZGUgJyR7bm9kZS5pZH0nIHBhcmFtZXRlcnMgbXVzdCBiZSBwcmVzZW50IChhbiBlbXB0eSBvYmplY3Qgd2hlbiB0aGVyZSBhcmUgbm9uZSlgXG4gICAgKTtcbiAgfVxuICBub2RlSWRzLmFkZChub2RlLmlkKTtcbiAgaWYgKG5vZGUuaW5wdXRCaW5kaW5ncykge1xuICAgIGZvciAoY29uc3QgW2tleSwgYmluZGluZ10gb2YgT2JqZWN0LmVudHJpZXMobm9kZS5pbnB1dEJpbmRpbmdzKSkge1xuICAgICAgaWYgKGlzR3JhcGhVbnNhZmVPYmplY3RLZXkoa2V5KSkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGBOb2RlICcke25vZGUuaWR9JyBpbnB1dCBiaW5kaW5nIGtleSAnJHtrZXl9JyBpcyBub3QgYWxsb3dlZCAodW5zYWZlIHByb3RvdHlwZS1wb2xsdXRhbnQga2V5KWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICghaXNHcmFwaElucHV0QmluZGluZyhiaW5kaW5nKSkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGBOb2RlICcke25vZGUuaWR9JyBpbnB1dCBiaW5kaW5nIGZvciAnJHtrZXl9JyBtdXN0IGJlIGEgdmFsaWQgR3JhcGhJbnB1dEJpbmRpbmcgKGVkZ2UsIGxpdGVyYWwsIG9yIGV4cHJlc3Npb24pYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKGJpbmRpbmcubW9kZSA9PT0gXCJsaXRlcmFsXCIgJiYgIWlzR3JhcGhKc29uU2FmZVZhbHVlKGJpbmRpbmcudmFsdWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgYE5vZGUgJyR7bm9kZS5pZH0nIGxpdGVyYWwgYmluZGluZyBmb3IgJyR7a2V5fScgbXVzdCBjb250YWluIEpTT04tc2FmZSB2YWx1ZXNgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoYmluZGluZy5tb2RlID09PSBcImV4cHJlc3Npb25cIiAmJiAhYmluZGluZy5leHByZXNzaW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgYE5vZGUgJyR7bm9kZS5pZH0nIGV4cHJlc3Npb24gYmluZGluZyBmb3IgJyR7a2V5fScgbXVzdCBjb250YWluIGEgbm9uLWVtcHR5IGV4cHJlc3Npb25gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmIChub2RlLm91dHB1dEJpbmRpbmdzKSB7XG4gICAgZm9yIChjb25zdCBba2V5LCBiaW5kaW5nXSBvZiBPYmplY3QuZW50cmllcyhub2RlLm91dHB1dEJpbmRpbmdzKSkge1xuICAgICAgaWYgKGlzR3JhcGhVbnNhZmVPYmplY3RLZXkoa2V5KSkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGBOb2RlICcke25vZGUuaWR9JyBvdXRwdXQgYmluZGluZyBrZXkgJyR7a2V5fScgaXMgbm90IGFsbG93ZWQgKHVuc2FmZSBwcm90b3R5cGUtcG9sbHV0YW50IGtleSlgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoIWJpbmRpbmcgfHwgdHlwZW9mIGJpbmRpbmcgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheShiaW5kaW5nKSkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGBOb2RlICcke25vZGUuaWR9JyBvdXRwdXQgYmluZGluZyBmb3IgJyR7a2V5fScgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBlbmFibGVkIGFuZCBhbGlhcyBzZXR0aW5nc2BcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKCFpc0dyYXBoSnNvblNhZmVWYWx1ZShub2RlLnBhcmFtZXRlcnMpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBOb2RlICcke25vZGUuaWR9JyBwYXJhbWV0ZXJzIG11c3QgYmUgSlNPTi1zYWZlOiBmdW5jdGlvbnMsIGNsYXNzIGluc3RhbmNlcywgdW5kZWZpbmVkLCBOYU4vSW5maW5pdHksIHN5bWJvbCBrZXlzLCBvciB1bnNhZmUgcHJvdG90eXBlIGtleXMgYXJlIG5vdCBhbGxvd2VkYFxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzZXJ0R3JhcGhMb29wQ29uZmlndXJhdGlvblZhbGlkKFxuICBub2RlOiBHcmFwaE5vZGVJbnN0YW5jZSxcbiAgY29uZmlnOiBHcmFwaExvb3BDb25maWd1cmF0aW9uLFxuICBjb250ZXh0OiBHcmFwaFdvcmtmbG93RG9jdW1lbnRWYWxpZGF0aW9uQ29udGV4dFxuKTogdm9pZCB7XG4gIGlmICghY29uZmlnLmJvZHkgfHwgdHlwZW9mIGNvbmZpZy5ib2R5ICE9PSBcIm9iamVjdFwiKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBOb2RlICcke25vZGUuaWR9JyBsb29wIGNvbmZpZ3VyYXRpb24gcmVxdWlyZXMgYSBib2R5IGRvY3VtZW50YFxuICAgICk7XG4gIH1cbiAgYXNzZXJ0R3JhcGhXb3JrZmxvd0RvY3VtZW50VmFsaWQoY29uZmlnLmJvZHksIGNvbnRleHQpO1xuICBpZiAoXG4gICAgY29uZmlnLm1heEl0ZXJhdGlvbnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICghTnVtYmVyLmlzRmluaXRlKGNvbmZpZy5tYXhJdGVyYXRpb25zKSB8fCBjb25maWcubWF4SXRlcmF0aW9ucyA8PSAwKVxuICApIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYE5vZGUgJyR7bm9kZS5pZH0nIGxvb3AgbWF4SXRlcmF0aW9ucyBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyYFxuICAgICk7XG4gIH1cbiAgaWYgKFxuICAgIGNvbmZpZy50aW1lb3V0TXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICh0eXBlb2YgY29uZmlnLnRpbWVvdXRNcyAhPT0gXCJudW1iZXJcIiB8fCBjb25maWcudGltZW91dE1zIDw9IDApXG4gICkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBgTm9kZSAnJHtub2RlLmlkfScgbG9vcCB0aW1lb3V0TXMgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciBpbiBtaWxsaXNlY29uZHNgXG4gICAgKTtcbiAgfVxuICBpZiAoXG4gICAgY29uZmlnLmNvbmN1cnJlbmN5ICE9PSB1bmRlZmluZWQgJiZcbiAgICAodHlwZW9mIGNvbmZpZy5jb25jdXJyZW5jeSAhPT0gXCJudW1iZXJcIiB8fCBjb25maWcuY29uY3VycmVuY3kgPD0gMClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBOb2RlICcke25vZGUuaWR9JyBsb29wIGNvbmN1cnJlbmN5IG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXJgXG4gICAgKTtcbiAgfVxuICBmb3IgKGNvbnN0IG1hcHBpbmdzIG9mIFtjb25maWcuaW5wdXRNYXBwaW5ncywgY29uZmlnLm91dHB1dE1hcHBpbmdzXSkge1xuICAgIGlmICghbWFwcGluZ3MpIGNvbnRpbnVlO1xuICAgIGZvciAoY29uc3QgW2tleSwgcmVmZXJlbmNlXSBvZiBPYmplY3QuZW50cmllcyhtYXBwaW5ncykpIHtcbiAgICAgIGlmIChpc0dyYXBoVW5zYWZlT2JqZWN0S2V5KGtleSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBgTm9kZSAnJHtub2RlLmlkfScgbG9vcCBtYXBwaW5nIGtleSAnJHtrZXl9JyBpcyBub3QgYWxsb3dlZCAodW5zYWZlIHByb3RvdHlwZS1wb2xsdXRhbnQga2V5KWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGFzc2VydEdyYXBoVmFsdWVSZWZlcmVuY2VTaGFwZShyZWZlcmVuY2UsIG5vZGUuaWQsIGtleSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydEdyYXBoVmFsdWVSZWZlcmVuY2VTaGFwZShcbiAgcmVmZXJlbmNlOiBHcmFwaFZhbHVlUmVmZXJlbmNlLFxuICBub2RlSWQ6IHN0cmluZyxcbiAgbWFwcGluZ0tleTogc3RyaW5nXG4pOiB2b2lkIHtcbiAgaWYgKCFyZWZlcmVuY2UgfHwgdHlwZW9mIHJlZmVyZW5jZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBgTm9kZSAnJHtub2RlSWR9JyBsb29wIG1hcHBpbmcgJyR7bWFwcGluZ0tleX0nIG11c3QgcmVmZXJlbmNlIGEgd29ya2Zsb3cgcG9ydCwgbm9kZSBwb3J0LCBsaXRlcmFsLCBvciBleHByZXNzaW9uYFxuICAgICk7XG4gIH1cbiAgc3dpdGNoIChyZWZlcmVuY2Uuc291cmNlKSB7XG4gICAgY2FzZSBcIndvcmtmbG93XCI6XG4gICAgICBpZiAodHlwZW9mIHJlZmVyZW5jZS5wb3J0ICE9PSBcInN0cmluZ1wiIHx8ICFyZWZlcmVuY2UucG9ydCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGBOb2RlICcke25vZGVJZH0nIGxvb3AgbWFwcGluZyAnJHttYXBwaW5nS2V5fScgcmVmZXJlbmNpbmcgYSB3b3JrZmxvdyBtdXN0IHJlZmVyZW5jZSBhIHBvcnQgaWRlbnRpZmllcmBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJub2RlXCI6XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiByZWZlcmVuY2Uubm9kZUlkICE9PSBcInN0cmluZ1wiIHx8XG4gICAgICAgICFyZWZlcmVuY2Uubm9kZUlkIHx8XG4gICAgICAgIHR5cGVvZiByZWZlcmVuY2UucG9ydCAhPT0gXCJzdHJpbmdcIiB8fFxuICAgICAgICAhcmVmZXJlbmNlLnBvcnRcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGBOb2RlICcke25vZGVJZH0nIGxvb3AgbWFwcGluZyAnJHttYXBwaW5nS2V5fScgcmVmZXJlbmNpbmcgYSBub2RlIG11c3QgcmVmZXJlbmNlIGEgbm9kZSBpZCBhbmQgYSBwb3J0YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImxpdGVyYWxcIjpcbiAgICAgIGlmICghaXNHcmFwaEpzb25TYWZlVmFsdWUocmVmZXJlbmNlLnZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGBOb2RlICcke25vZGVJZH0nIGxvb3AgbWFwcGluZyAnJHttYXBwaW5nS2V5fScgbGl0ZXJhbCByZWZlcmVuY2VzIG11c3QgYmUgSlNPTi1zYWZlIHZhbHVlc2BcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJleHByZXNzaW9uXCI6XG4gICAgICBpZiAodHlwZW9mIHJlZmVyZW5jZS5leHByZXNzaW9uICE9PSBcInN0cmluZ1wiIHx8ICFyZWZlcmVuY2UuZXhwcmVzc2lvbikge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGBOb2RlICcke25vZGVJZH0nIGxvb3AgbWFwcGluZyAnJHttYXBwaW5nS2V5fScgZXhwcmVzc2lvbiByZWZlcmVuY2VzIG11c3QgYmUgbm9uLWVtcHR5IGV4cHJlc3Npb25zYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGBOb2RlICcke25vZGVJZH0nIGxvb3AgbWFwcGluZyAnJHttYXBwaW5nS2V5fScgbXVzdCB1c2UgYSB3b3JrZmxvdywgbm9kZSwgbGl0ZXJhbCwgb3IgZXhwcmVzc2lvbiByZWZlcmVuY2Ugc291cmNlYFxuICAgICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnRHcmFwaEVkZ2VWYWxpZChlZGdlOiBHcmFwaEVkZ2VJbnN0YW5jZSwgZWRnZUlkczogU2V0PHN0cmluZz4pOiB2b2lkIHtcbiAgaWYgKHR5cGVvZiBlZGdlLmlkICE9PSBcInN0cmluZ1wiIHx8ICFlZGdlLmlkKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcIkVkZ2UgJ2lkJyBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmdcIik7XG4gIH1cbiAgaWYgKGVkZ2VJZHMuaGFzKGVkZ2UuaWQpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBFZGdlIGlkICcke2VkZ2UuaWR9JyBpcyBkZWNsYXJlZCBtb3JlIHRoYW4gb25jZTsgZWRnZSBpZHMgbXVzdCBiZSB1bmlxdWVgXG4gICAgKTtcbiAgfVxuICBpZiAoIWlzR3JhcGhFbmRwb2ludChlZGdlLnNvdXJjZSkpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYEVkZ2UgJyR7ZWRnZS5pZH0nIHNvdXJjZSBlbmRwb2ludCBpcyBub3QgYSB2YWxpZCBHcmFwaEVuZHBvaW50YFxuICAgICk7XG4gIH1cbiAgaWYgKCFpc0dyYXBoRW5kcG9pbnQoZWRnZS50YXJnZXQpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBFZGdlICcke2VkZ2UuaWR9JyB0YXJnZXQgZW5kcG9pbnQgaXMgbm90IGEgdmFsaWQgR3JhcGhFbmRwb2ludGBcbiAgICApO1xuICB9XG4gIGlmIChlZGdlLnR5cGUgIT09IFwiZGF0YVwiICYmIGVkZ2UudHlwZSAhPT0gXCJjb25uZWN0aW9uXCIpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYEVkZ2UgJyR7ZWRnZS5pZH0nIHR5cGUgJyR7U3RyaW5nKGVkZ2UudHlwZSl9JyBpcyBub3QgYSB2YWxpZCBlZGdlIHR5cGUgKGRhdGEgb3IgY29ubmVjdGlvbiBhcmUgYWxsb3dlZClgXG4gICAgKTtcbiAgfVxuICBlZGdlSWRzLmFkZChlZGdlLmlkKTtcbiAgaWYgKCFpc0dyYXBoSnNvblNhZmVWYWx1ZShlZGdlKSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBgRWRnZSAnJHtlZGdlLmlkfScgY29udGFpbnMgdmFsdWVzIHRoYXQgYXJlIG5vdCBKU09OLXNhZmU6IGZ1bmN0aW9ucywgY2xhc3MgaW5zdGFuY2VzLCB1bmRlZmluZWQsIE5hTi9JbmZpbml0eSwgc3ltYm9sIGtleXMsIG9yIHVuc2FmZSBwcm90b3R5cGUga2V5cyBhcmUgbm90IGFsbG93ZWRgXG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnRFZGdlRW5kcG9pbnQoXG4gIGVuZHBvaW50OiBHcmFwaEVuZHBvaW50LFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50LFxuICB3b3JrZmxvd1BvcnRzOiBTZXQ8c3RyaW5nPixcbiAgbm9kZUlkczogU2V0PHN0cmluZz4sXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogdm9pZCB7XG4gIGlmIChpc0dyYXBoV29ya2Zsb3dFbmRwb2ludChlbmRwb2ludCkpIHtcbiAgICBpZiAoIXdvcmtmbG93UG9ydHMuaGFzKGVuZHBvaW50LnBvcnQpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgJHtjb250ZXh0fSByZWZlcmVuY2VzIHdvcmtmbG93IHBvcnQgJyR7ZW5kcG9pbnQucG9ydH0nIHdoaWNoIGlzIG5vdCBkZWNsYXJlZCBvbiB0aGUgZG9jdW1lbnRgXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGlzR3JhcGhOb2RlRW5kcG9pbnQoZW5kcG9pbnQpKSB7XG4gICAgaWYgKCFub2RlSWRzLmhhcyhlbmRwb2ludC5ub2RlSWQpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgJHtjb250ZXh0fSByZWZlcmVuY2VzIG5vZGUgJyR7ZW5kcG9pbnQubm9kZUlkfScgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhlIGRvY3VtZW50YFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlbmRwb2ludC5wb3J0ICE9PSBcInN0cmluZ1wiIHx8ICFlbmRwb2ludC5wb3J0KSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgJHtjb250ZXh0fSBub2RlIGVuZHBvaW50cyBtdXN0IHJlZmVyZW5jZSBhIG5vbi1lbXB0eSBwb3J0IGlkZW50aWZpZXJgXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSB7IEdyYXBoV29ya2Zsb3dFbmRwb2ludCwgR3JhcGhOb2RlRW5kcG9pbnQgfTtcbiJdfQ==
@@ -59,4 +59,4 @@ export function graphWorkflowDocumentMetadataValueOf(document, key) {
59
59
  function hasSetting(settings, key) {
60
60
  return Boolean(settings) && !isGraphUnsafeObjectKey(key) && key in settings;
61
61
  }
62
- //# sourceMappingURL=GraphWorkflowDocumentReader.js.map
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhXb3JrZmxvd0RvY3VtZW50UmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2RvY3VtZW50L0dyYXBoV29ya2Zsb3dEb2N1bWVudFJlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsNEJBQXlCO0FBSzFELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxtQ0FBZ0M7QUFRdkUsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxLQUFjO0lBRWQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQzNELE9BQU8sS0FBeUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxRQUEyQyxFQUMzQyxNQUFjO0lBRWQsT0FBTyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxRQUEyQyxFQUMzQyxNQUFjO0lBRWQsT0FBTyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxRQUEyQztJQUUzQyxNQUFNLE1BQU0sR0FBRyxRQUFRLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN0QyxNQUFNLE9BQU8sR0FBRyxRQUFRLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLFFBQTJDO0lBRTNDLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLFFBQTJDO0lBRTNDLE9BQU8sUUFBUSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsUUFBMkMsRUFDM0MsTUFBYztJQUVkLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxNQUFNLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLE1BQU0sQ0FDckcsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLFFBQXFDO0lBRXJDLElBQUksUUFBUSxJQUFLLFFBQW9DLENBQUMsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3ZFLE9BQVEsUUFBK0IsQ0FBQyxNQUFNLENBQUM7SUFDakQsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLFFBQStCLEVBQy9CLE1BQWM7SUFFZCxPQUFPLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsUUFBK0I7SUFFL0IsT0FBTyxRQUFRLENBQUMsRUFBRSxJQUFJLFNBQVMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxRQUErQixFQUMvQixHQUFXO0lBRVgsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsSUFBSSxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUN6RCxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxRQUEyQyxFQUMzQyxHQUFXO0lBRVgsT0FBTyxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUM7UUFDeEMsQ0FBQyxDQUFFLFFBQVMsQ0FBQyxRQUEyQyxDQUFDLEdBQUcsQ0FBQztRQUM3RCxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0NBQW9DLENBQ2xELFFBQTJDLEVBQzNDLEdBQVc7SUFFWCxJQUNFLENBQUMsUUFBUSxFQUFFLFFBQVE7UUFDbkIsc0JBQXNCLENBQUMsR0FBRyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUMzQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQ2pCLFFBQXVELEVBQ3ZELEdBQVc7SUFFWCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSyxRQUFtQixDQUFDO0FBQzFGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEdyYXBoSnNvblZhbHVlIH0gZnJvbSBcIi4vR3JhcGhKc29uVmFsdWVcIjtcbmltcG9ydCB7IGlzR3JhcGhVbnNhZmVPYmplY3RLZXkgfSBmcm9tIFwiLi9HcmFwaEpzb25WYWx1ZVwiO1xuaW1wb3J0IHR5cGUge1xuICBHcmFwaFdvcmtmbG93RG9jdW1lbnQsXG4gIEdyYXBoV29ya2Zsb3dQb3J0SW5zdGFuY2UsXG59IGZyb20gXCIuL0dyYXBoV29ya2Zsb3dEb2N1bWVudFwiO1xuaW1wb3J0IHsgaXNHcmFwaFdvcmtmbG93RG9jdW1lbnRTaGFwZSB9IGZyb20gXCIuL0dyYXBoV29ya2Zsb3dEb2N1bWVudFwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaE5vZGVJbnN0YW5jZSB9IGZyb20gXCIuL0dyYXBoTm9kZUluc3RhbmNlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoRWRnZUluc3RhbmNlIH0gZnJvbSBcIi4vR3JhcGhFZGdlSW5zdGFuY2VcIjtcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhOb2RlVWlTdGF0ZSxcbiAgR3JhcGhXb3JrZmxvd1VpU3RhdGUsXG59IGZyb20gXCIuL0dyYXBoV29ya2Zsb3dVaVN0YXRlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93RG9jdW1lbnRPZihcbiAgdmFsdWU6IHVua25vd25cbik6IEdyYXBoV29ya2Zsb3dEb2N1bWVudCB8IHVuZGVmaW5lZCB7XG4gIGlmICghaXNHcmFwaFdvcmtmbG93RG9jdW1lbnRTaGFwZSh2YWx1ZSkpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiB2YWx1ZSBhcyB1bmtub3duIGFzIEdyYXBoV29ya2Zsb3dEb2N1bWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dOb2RlT2YoXG4gIGRvY3VtZW50OiBHcmFwaFdvcmtmbG93RG9jdW1lbnQgfCB1bmRlZmluZWQsXG4gIG5vZGVJZDogc3RyaW5nXG4pOiBHcmFwaE5vZGVJbnN0YW5jZSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBkb2N1bWVudD8ubm9kZXMuZmluZCgobm9kZSkgPT4gbm9kZS5pZCA9PT0gbm9kZUlkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dFZGdlT2YoXG4gIGRvY3VtZW50OiBHcmFwaFdvcmtmbG93RG9jdW1lbnQgfCB1bmRlZmluZWQsXG4gIGVkZ2VJZDogc3RyaW5nXG4pOiBHcmFwaEVkZ2VJbnN0YW5jZSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBkb2N1bWVudD8uZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gZWRnZUlkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dQb3J0c09mKFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50IHwgdW5kZWZpbmVkXG4pOiB7IGlucHV0czogR3JhcGhXb3JrZmxvd1BvcnRJbnN0YW5jZVtdOyBvdXRwdXRzOiBHcmFwaFdvcmtmbG93UG9ydEluc3RhbmNlW10gfSB7XG4gIGNvbnN0IGlucHV0cyA9IGRvY3VtZW50Py5pbnB1dHMgPz8gW107XG4gIGNvbnN0IG91dHB1dHMgPSBkb2N1bWVudD8ub3V0cHV0cyA/PyBbXTtcbiAgcmV0dXJuIHsgaW5wdXRzLCBvdXRwdXRzIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U2V0dGluZ3NPZihcbiAgZG9jdW1lbnQ6IEdyYXBoV29ya2Zsb3dEb2N1bWVudCB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+IHtcbiAgcmV0dXJuIHsgLi4uKGRvY3VtZW50Py5zZXR0aW5ncyA/PyB7fSkgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dFZGdlc09mKFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50IHwgdW5kZWZpbmVkXG4pOiBHcmFwaEVkZ2VJbnN0YW5jZVtdIHtcbiAgcmV0dXJuIGRvY3VtZW50Py5lZGdlcyA/PyBbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dOb2RlRWRnZXNPZihcbiAgZG9jdW1lbnQ6IEdyYXBoV29ya2Zsb3dEb2N1bWVudCB8IHVuZGVmaW5lZCxcbiAgbm9kZUlkOiBzdHJpbmdcbik6IEdyYXBoRWRnZUluc3RhbmNlW10ge1xuICByZXR1cm4gKGRvY3VtZW50Py5lZGdlcyA/PyBbXSkuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBncmFwaE5vZGVFbmRwb2ludElkKGVkZ2Uuc291cmNlKSA9PT0gbm9kZUlkIHx8IGdyYXBoTm9kZUVuZHBvaW50SWQoZWRnZS50YXJnZXQpID09PSBub2RlSWRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoTm9kZUVuZHBvaW50SWQoXG4gIGVuZHBvaW50OiBHcmFwaEVkZ2VJbnN0YW5jZVtcInNvdXJjZVwiXVxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGVuZHBvaW50ICYmIChlbmRwb2ludCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikuc2NvcGUgPT09IFwibm9kZVwiKSB7XG4gICAgcmV0dXJuIChlbmRwb2ludCBhcyB7IG5vZGVJZDogc3RyaW5nIH0pLm5vZGVJZDtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JhcGhXb3JrZmxvd05vZGVVaU9mKFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50LFxuICBub2RlSWQ6IHN0cmluZ1xuKTogR3JhcGhOb2RlVWlTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBncmFwaFdvcmtmbG93Tm9kZU9mKGRvY3VtZW50LCBub2RlSWQpPy51aTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dVaU9mKFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50XG4pOiBHcmFwaFdvcmtmbG93VWlTdGF0ZSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBkb2N1bWVudC51aSA/PyB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93VWlWYWx1ZU9mKFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50LFxuICBrZXk6IHN0cmluZ1xuKTogR3JhcGhKc29uVmFsdWUgfCB1bmRlZmluZWQge1xuICBjb25zdCB1aSA9IGdyYXBoV29ya2Zsb3dVaU9mKGRvY3VtZW50KTtcbiAgaWYgKCF1aSB8fCBpc0dyYXBoVW5zYWZlT2JqZWN0S2V5KGtleSkpIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiB1aVtrZXldO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JhcGhXb3JrZmxvd0RvY3VtZW50U2V0dGluZ09mKFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50IHwgdW5kZWZpbmVkLFxuICBrZXk6IHN0cmluZ1xuKTogR3JhcGhKc29uVmFsdWUgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaGFzU2V0dGluZyhkb2N1bWVudD8uc2V0dGluZ3MsIGtleSlcbiAgICA/IChkb2N1bWVudCEuc2V0dGluZ3MgYXMgUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+KVtrZXldXG4gICAgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93RG9jdW1lbnRNZXRhZGF0YVZhbHVlT2YoXG4gIGRvY3VtZW50OiBHcmFwaFdvcmtmbG93RG9jdW1lbnQgfCB1bmRlZmluZWQsXG4gIGtleTogc3RyaW5nXG4pOiBHcmFwaEpzb25WYWx1ZSB8IHVuZGVmaW5lZCB7XG4gIGlmIChcbiAgICAhZG9jdW1lbnQ/Lm1ldGFkYXRhIHx8XG4gICAgaXNHcmFwaFVuc2FmZU9iamVjdEtleShrZXkpIHx8XG4gICAgIShrZXkgaW4gZG9jdW1lbnQubWV0YWRhdGEpXG4gICkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGRvY3VtZW50Lm1ldGFkYXRhW2tleV07XG59XG5cbmZ1bmN0aW9uIGhhc1NldHRpbmcoXG4gIHNldHRpbmdzOiBHcmFwaFdvcmtmbG93RG9jdW1lbnRbXCJzZXR0aW5nc1wiXSB8IHVuZGVmaW5lZCxcbiAga2V5OiBzdHJpbmdcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihzZXR0aW5ncykgJiYgIWlzR3JhcGhVbnNhZmVPYmplY3RLZXkoa2V5KSAmJiBrZXkgaW4gKHNldHRpbmdzIGFzIG9iamVjdCk7XG59XG4iXX0=
@@ -60,4 +60,4 @@ export function graphJsonParser(serialised) {
60
60
  }
61
61
  return parsed;
62
62
  }
63
- //# sourceMappingURL=GraphWorkflowDocumentSerializer.js.map
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhXb3JrZmxvd0RvY3VtZW50U2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9kb2N1bWVudC9HcmFwaFdvcmtmbG93RG9jdW1lbnRTZXJpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsNEJBQXlCO0FBRXhELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxtQ0FBZ0M7QUFDdkUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDBDQUF1QztBQUVsRixNQUFNLFVBQVUsK0JBQStCLENBQzdDLFFBQStCO0lBRS9CLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxlQUFlLENBQ3ZCLHNHQUFzRyxDQUN2RyxDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsTUFBTSxJQUFJLGVBQWUsQ0FDdkIsNkNBQTZDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzFFLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUMsQ0FDL0MsVUFBa0I7SUFFbEIsSUFBSSxNQUFlLENBQUM7SUFDcEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksZUFBZSxDQUN2Qix5REFBeUQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3JFLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLGVBQWUsQ0FDdkIsNEpBQTRKLENBQzdKLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUMsTUFBTSxJQUFJLGVBQWUsQ0FDdkIsaUpBQWlKLENBQ2xKLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBMEMsQ0FBQztJQUM1RCxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQWMsRUFBRSxXQUFvQjtJQUN0RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxNQUFNLElBQUksZUFBZSxDQUN2Qiw4SUFBOEksQ0FDL0ksQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxlQUFlLENBQ3ZCLHFDQUFxQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHFFQUFxRSxDQUNwSCxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLFVBQTRCO0lBQzFELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksVUFBVSxLQUFLLElBQUk7WUFBRSxPQUFPLFVBQVUsQ0FBQztRQUM3RSxNQUFNLElBQUksZUFBZSxDQUN2QixzR0FBc0csQ0FDdkcsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLE1BQWUsQ0FBQztJQUNwQixJQUFJLENBQUM7UUFDSCxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxlQUFlLENBQ3ZCLDRDQUE0QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksZUFBZSxDQUN2QiwrSUFBK0ksQ0FDaEosQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBpc0dyYXBoSnNvblNhZmVWYWx1ZSB9IGZyb20gXCIuL0dyYXBoSnNvblZhbHVlXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoV29ya2Zsb3dEb2N1bWVudCB9IGZyb20gXCIuL0dyYXBoV29ya2Zsb3dEb2N1bWVudFwiO1xuaW1wb3J0IHsgaXNHcmFwaFdvcmtmbG93RG9jdW1lbnRTaGFwZSB9IGZyb20gXCIuL0dyYXBoV29ya2Zsb3dEb2N1bWVudFwiO1xuaW1wb3J0IHsgYXNzZXJ0R3JhcGhXb3JrZmxvd0RvY3VtZW50VmFsaWQgfSBmcm9tIFwiLi9HcmFwaFdvcmtmbG93RG9jdW1lbnRCdWlsZGVyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93RG9jdW1lbnRTZXJpYWxpemVyKFxuICBkb2N1bWVudDogR3JhcGhXb3JrZmxvd0RvY3VtZW50XG4pOiBzdHJpbmcge1xuICBpZiAoIWlzR3JhcGhXb3JrZmxvd0RvY3VtZW50U2hhcGUoZG9jdW1lbnQpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIFwiQ2Fubm90IHNlcmlhbGl6ZSBhIGdyYXBoIHdvcmtmbG93IGRvY3VtZW50OiB0aGUgdmFsdWUgaXMgbm90IGEgY2Fub25pY2FsIEdyYXBoV29ya2Zsb3dEb2N1bWVudCBzaGFwZVwiXG4gICAgKTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkb2N1bWVudCwgbnVsbCwgMik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYENhbm5vdCBzZXJpYWxpemUgZ3JhcGggd29ya2Zsb3cgZG9jdW1lbnQgJyR7ZG9jdW1lbnQuaWR9JzogJHtTdHJpbmcoZSl9YFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dEb2N1bWVudERlc2VyaWFsaXplcihcbiAgc2VyaWFsaXNlZDogc3RyaW5nXG4pOiBHcmFwaFdvcmtmbG93RG9jdW1lbnQge1xuICBsZXQgcGFyc2VkOiB1bmtub3duO1xuICB0cnkge1xuICAgIHBhcnNlZCA9IEpTT04ucGFyc2Uoc2VyaWFsaXNlZCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYFNlcmlhbGl6ZWQgZ3JhcGggd29ya2Zsb3cgZG9jdW1lbnQgaXMgbm90IHZhbGlkIEpTT046ICR7U3RyaW5nKGUpfWBcbiAgICApO1xuICB9XG4gIGlmICghaXNHcmFwaEpzb25TYWZlVmFsdWUocGFyc2VkKSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBcIlNlcmlhbGl6ZWQgZ3JhcGggd29ya2Zsb3cgZG9jdW1lbnQgY29udGFpbnMgSlNPTi11bnNhZmUgdmFsdWVzOiBmdW5jdGlvbnMsIG5vbi1KU09OIG9iamVjdHMsIE5hTi9JbmZpbml0eSwgc3ltYm9sIGtleXMsIHVuc2FmZSBwcm90b3R5cGUga2V5cyBhcmUgcmVqZWN0ZWRcIlxuICAgICk7XG4gIH1cbiAgaWYgKCFpc0dyYXBoV29ya2Zsb3dEb2N1bWVudFNoYXBlKHBhcnNlZCkpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgXCJTZXJpYWxpemVkIGdyYXBoIHdvcmtmbG93IGRvY3VtZW50IGlzIG5vdCBzaGFwZWQgYXMgYSBjYW5vbmljYWwgR3JhcGhXb3JrZmxvd0RvY3VtZW50IChpZCwgbmFtZSwgaW5wdXRzLCBvdXRwdXRzLCBub2RlcyBhbmQgZWRnZXMgYXJlIHJlcXVpcmVkKVwiXG4gICAgKTtcbiAgfVxuICBjb25zdCBkb2N1bWVudCA9IHBhcnNlZCBhcyB1bmtub3duIGFzIEdyYXBoV29ya2Zsb3dEb2N1bWVudDtcbiAgYXNzZXJ0R3JhcGhXb3JrZmxvd0RvY3VtZW50VmFsaWQoZG9jdW1lbnQpO1xuICByZXR1cm4gZG9jdW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaEpzb25TZXJpYWxpemVyKHZhbHVlOiB1bmtub3duLCBpbmRlbnRhdGlvbj86IG51bWJlcik6IHN0cmluZyB7XG4gIGlmICghaXNHcmFwaEpzb25TYWZlVmFsdWUodmFsdWUpKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIFwiQ2Fubm90IHNlcmlhbGl6ZSBhIHZhbHVlOiBmdW5jdGlvbnMsIGNsYXNzIGluc3RhbmNlcywgdW5kZWZpbmVkLCBOYU4vSW5maW5pdHksIHN5bWJvbCBrZXlzLCB1bnNhZmUgcHJvdG90eXBlIGtleXMsIG9yIGN5Y2xlcyBhcmUgbm90IGFsbG93ZWRcIlxuICAgICk7XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIGluZGVudGF0aW9uKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBgQ2Fubm90IHNlcmlhbGl6ZSBKU09OLXNhZmUgdmFsdWU6ICR7U3RyaW5nKGUpfSAoY3ljbGVzIGFuZCBjaXJjdWxhciBzdHJ1Y3R1cmVzIGFyZSBub3QgYWxsb3dlZCBpbnNpZGUgZ3JhcGggSlNPTilgXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JhcGhKc29uUGFyc2VyKHNlcmlhbGlzZWQ6IHN0cmluZyB8IHVua25vd24pOiB1bmtub3duIHtcbiAgaWYgKHR5cGVvZiBzZXJpYWxpc2VkICE9PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKHR5cGVvZiBzZXJpYWxpc2VkID09PSBcIm9iamVjdFwiICYmIHNlcmlhbGlzZWQgIT09IG51bGwpIHJldHVybiBzZXJpYWxpc2VkO1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBcIkdyYXBoIEpTT04gcGFyc2VyIGFjY2VwdHMgc2VyaWFsaXplZCBzdHJpbmdzIChwYXNzIGFuIG9iamVjdCBvbmx5IHdoZW4gcmVzdG9yaW5nIGEga25vd24tc2FmZSB2YWx1ZSlcIlxuICAgICk7XG4gIH1cbiAgbGV0IHBhcnNlZDogdW5rbm93bjtcbiAgdHJ5IHtcbiAgICBwYXJzZWQgPSBKU09OLnBhcnNlKHNlcmlhbGlzZWQpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBTZXJpYWxpemVkIGdyYXBoIEpTT04gaXMgbm90IHZhbGlkIEpTT046ICR7U3RyaW5nKGUpfWBcbiAgICApO1xuICB9XG4gIGlmICghaXNHcmFwaEpzb25TYWZlVmFsdWUocGFyc2VkKSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBcIlNlcmlhbGl6ZWQgZ3JhcGggSlNPTiBjb250YWlucyBKU09OLXVuc2FmZSB2YWx1ZXM6IGZ1bmN0aW9ucywgbm9uLUpTT04gb2JqZWN0cywgTmFOL0luZmluaXR5LCBzeW1ib2wga2V5cywgdW5zYWZlIHByb3RvdHlwZSBrZXlzIGFyZSByZWplY3RlZFwiXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcGFyc2VkO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=GraphWorkflowUiState.js.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhXb3JrZmxvd1VpU3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZG9jdW1lbnQvR3JhcGhXb3JrZmxvd1VpU3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR3JhcGhKc29uVmFsdWUgfSBmcm9tIFwiLi9HcmFwaEpzb25WYWx1ZVwiO1xuXG5leHBvcnQgdHlwZSBHcmFwaFdvcmtmbG93Vmlld3BvcnQgPSB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB6b29tOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBHcmFwaE5vZGVVaVN0YXRlID0ge1xuICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xuICBzaXplPzogeyB3aWR0aD86IG51bWJlcjsgaGVpZ2h0PzogbnVtYmVyIH07XG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcbiAgc2VsZWN0ZWRUYWI/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBHcmFwaEVkZ2VVaVN0YXRlID0ge1xuICBwb2ludHM/OiBBcnJheTx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+O1xufTtcblxuZXhwb3J0IHR5cGUgR3JhcGhXb3JrZmxvd1VpU3RhdGUgPSB7XG4gIHZpZXdwb3J0PzogR3JhcGhXb3JrZmxvd1ZpZXdwb3J0O1xufSAmIHtcbiAgW2tleTogc3RyaW5nXTogR3JhcGhKc29uVmFsdWUgfCB1bmRlZmluZWQ7XG59O1xuIl19
@@ -10,4 +10,4 @@ export * from "./GraphWorkflowDocumentBuilder.js";
10
10
  export * from "./GraphWorkflowDocumentReader.js";
11
11
  export * from "./GraphWorkflowDocumentSerializer.js";
12
12
  export * from "./GraphWorkflowUiState.js";
13
- //# sourceMappingURL=index.js.map
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvZG9jdW1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQWlEO0FBQ2pELHVDQUFvQztBQUNwQyxtQ0FBZ0M7QUFDaEMsb0NBQWlDO0FBQ2pDLDRDQUF5QztBQUN6QyxzQ0FBbUM7QUFDbkMsdUNBQW9DO0FBQ3BDLDJDQUF3QztBQUN4QyxrREFBK0M7QUFDL0MsaURBQThDO0FBQzlDLHFEQUFrRDtBQUNsRCwwQ0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9HcmFwaERlY29yYXRlZFdvcmtmbG93Q29tcGlsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoRWRnZUluc3RhbmNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEVuZHBvaW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEpzb25WYWx1ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhMb29wQ29uZmlndXJhdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhOb2RlQmluZGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhOb2RlSW5zdGFuY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBoV29ya2Zsb3dEb2N1bWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhXb3JrZmxvd0RvY3VtZW50QnVpbGRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhXb3JrZmxvd0RvY3VtZW50UmVhZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFdvcmtmbG93RG9jdW1lbnRTZXJpYWxpemVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFdvcmtmbG93VWlTdGF0ZVwiO1xuIl19
@@ -9,5 +9,8 @@ export * from "./reader.js";
9
9
  export * from "./document/index.js";
10
10
  export * from "./catalog/index.js";
11
11
  export * from "./types.js";
12
+ export * from "./GraphExecutionStateMapper.js";
13
+ export * from "./GraphResolution.js";
14
+ export * from "./nodes/index.js";
12
15
  export * from "./overrides/index.js";
13
- //# sourceMappingURL=index.js.map
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ3JhcGgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQXNCO0FBQ3RCLDhCQUFxQjtBQUVyQiwrQkFBNEI7QUFDNUIsZ0NBQTZCO0FBQzdCLDhCQUEyQjtBQUMzQixxQ0FBNEI7QUFDNUIsOEJBQTJCO0FBQzNCLDRCQUF5QjtBQUN6QixvQ0FBMkI7QUFDM0IsbUNBQTBCO0FBQzFCLDJCQUF3QjtBQUN4QiwrQ0FBNEM7QUFDNUMscUNBQWtDO0FBQ2xDLGlDQUF3QjtBQUN4QixxQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCIuLi9vdmVycmlkZXNcIjtcbmltcG9ydCBcIi4vb3ZlcnJpZGVzXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVnaXN0cnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL292ZXJyaWRlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc25hcHNob3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlYWRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZG9jdW1lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhdGFsb2dcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaEV4ZWN1dGlvblN0YXRlTWFwcGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9HcmFwaFJlc29sdXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vZGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVycmlkZXNcIjtcbiJdfQ==
@@ -0,0 +1,101 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ /**
11
+ * @module ui-decorators/graph/nodes/agents/agent
12
+ * @summary Production Agent node declaration.
13
+ * @description The Agent node is the primary AI agent entrypoint. It is a
14
+ * rectangular node with `@connection()` ports for its structural
15
+ * dependencies: `model` (the LLM), `memory` (the memory store), and
16
+ * `workspace` (the workspace/context). Connections are rendered on the
17
+ * bottom side of the node (DECAF-32 §21.3). Each connection category has a
18
+ * distinct color defined in the category style registry.
19
+ *
20
+ * The single `prompt` input accepts placeholder expressions (§22.4) such as
21
+ * `{{ $input.brief }}` or `{{ $node["Research"].output.summary }}` that are
22
+ * resolved at execution time by the placeholder compiler.
23
+ */
24
+ import { Model, model, required } from "@decaf-ts/decorator-validation";
25
+ import { uielement } from "./../../../ui/decorators.js";
26
+ import { connection, input, node, output } from "./../../decorators.js";
27
+ // Ensure category styles are registered (idempotent).
28
+ import "./../category-styles.js";
29
+ /**
30
+ * Agent node — an AI agent that orchestrates a model, memory, and workspace.
31
+ *
32
+ * The agent has:
33
+ * - `@input` port on the **left**: `prompt` (the task prompt; supports
34
+ * placeholder expressions like `{{ $input.something }}` per §22.4).
35
+ * - `@output` ports on the **right**: `response` (the agent's output), `actions`
36
+ * (any actions the agent decided to take).
37
+ * - `@connection` ports on the **bottom**: `model` (LLM), `memory` (memory
38
+ * store), `workspace` (workspace/context). Each connection has a distinct
39
+ * category color.
40
+ *
41
+ * The node is rectangular (not rounded) to visually distinguish it from
42
+ * regular processing nodes. The `color` and `icon` are omitted from `@node()`
43
+ * so they are resolved from the `"Agent"` category style.
44
+ */
45
+ let AgentNode = class AgentNode extends Model {
46
+ };
47
+ __decorate([
48
+ required(),
49
+ uielement("textarea", {
50
+ label: "Prompt",
51
+ placeholder: "Enter task prompt. Supports placeholders like {{ $input.brief }} or {{ $node[\"Research\"].output.summary }}",
52
+ }),
53
+ input({ handle: "prompt" }),
54
+ __metadata("design:type", String)
55
+ ], AgentNode.prototype, "prompt", void 0);
56
+ __decorate([
57
+ required(),
58
+ uielement("textarea", { label: "Response", placeholder: "Agent response" }),
59
+ output({ handle: "response" }),
60
+ __metadata("design:type", String)
61
+ ], AgentNode.prototype, "response", void 0);
62
+ __decorate([
63
+ required(),
64
+ uielement("textarea", { label: "Actions", placeholder: "Actions taken by the agent" }),
65
+ output({ handle: "actions" }),
66
+ __metadata("design:type", Array)
67
+ ], AgentNode.prototype, "actions", void 0);
68
+ __decorate([
69
+ connection({ category: "model", handle: "model" }),
70
+ __metadata("design:type", Object)
71
+ ], AgentNode.prototype, "model", void 0);
72
+ __decorate([
73
+ connection({ category: "memory", handle: "memory" }),
74
+ __metadata("design:type", Object)
75
+ ], AgentNode.prototype, "memory", void 0);
76
+ __decorate([
77
+ connection({ category: "workspace", handle: "workspace" }),
78
+ __metadata("design:type", Object)
79
+ ], AgentNode.prototype, "workspace", void 0);
80
+ AgentNode = __decorate([
81
+ node("core.agent", {
82
+ kind: "core.agent",
83
+ category: "Agent",
84
+ // color and icon omitted — resolved from the "Agent" category style
85
+ width: 120,
86
+ height: 140,
87
+ labels: ["agent", "ai", "orchestrator"],
88
+ metadata: {
89
+ title: "Agent",
90
+ description: "AI agent that orchestrates a model, memory, and workspace to complete a task.",
91
+ shape: "rectangle",
92
+ },
93
+ }),
94
+ model()
95
+ ], AgentNode);
96
+ export { AgentNode };
97
+ /**
98
+ * All built-in agent node constructors.
99
+ */
100
+ export const GRAPH_AGENT_NODES = [AgentNode];
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvYWdlbnRzL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9DQUErQjtBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLDhCQUF5QjtBQUVuRSxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBRTVCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQWdCSSxJQUFNLFNBQVMsR0FBZixNQUFNLFNBQVUsU0FBUSxLQUFLO0NBaUNuQyxDQUFBO0FBeEJDO0lBTkMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRTtRQUNyQixLQUFLLEVBQUUsUUFBUTtRQUNmLFdBQVcsRUFBRSw4R0FBOEc7S0FDNUgsQ0FBQztJQUNELEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQzs7eUNBQ1o7QUFPaEI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzRSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7OzJDQUNiO0FBS2xCO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLENBQUM7SUFDdEYsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDOzswQ0FDVjtBQUtwQjtJQURDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOzt3Q0FDbkM7QUFHaEI7SUFEQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQzs7eUNBQ3BDO0FBR2pCO0lBREMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7OzRDQUN2QztBQWhDVCxTQUFTO0lBZnJCLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDbEIsSUFBSSxFQUFFLFlBQVk7UUFDbEIsUUFBUSxFQUFFLE9BQU87UUFDakIsb0VBQW9FO1FBQ3BFLEtBQUssRUFBRSxHQUFHO1FBQ1YsTUFBTSxFQUFFLEdBQUc7UUFDWCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQztRQUN2QyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFDVCwrRUFBK0U7WUFDakYsS0FBSyxFQUFFLFdBQVc7U0FDbkI7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0ssU0FBUyxDQWlDckI7O0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvYWdlbnRzL2FnZW50XG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIEFnZW50IG5vZGUgZGVjbGFyYXRpb24uXG4gKiBAZGVzY3JpcHRpb24gVGhlIEFnZW50IG5vZGUgaXMgdGhlIHByaW1hcnkgQUkgYWdlbnQgZW50cnlwb2ludC4gSXQgaXMgYVxuICogcmVjdGFuZ3VsYXIgbm9kZSB3aXRoIGBAY29ubmVjdGlvbigpYCBwb3J0cyBmb3IgaXRzIHN0cnVjdHVyYWxcbiAqIGRlcGVuZGVuY2llczogYG1vZGVsYCAodGhlIExMTSksIGBtZW1vcnlgICh0aGUgbWVtb3J5IHN0b3JlKSwgYW5kXG4gKiBgd29ya3NwYWNlYCAodGhlIHdvcmtzcGFjZS9jb250ZXh0KS4gQ29ubmVjdGlvbnMgYXJlIHJlbmRlcmVkIG9uIHRoZVxuICogYm90dG9tIHNpZGUgb2YgdGhlIG5vZGUgKERFQ0FGLTMyIMKnMjEuMykuIEVhY2ggY29ubmVjdGlvbiBjYXRlZ29yeSBoYXMgYVxuICogZGlzdGluY3QgY29sb3IgZGVmaW5lZCBpbiB0aGUgY2F0ZWdvcnkgc3R5bGUgcmVnaXN0cnkuXG4gKlxuICogVGhlIHNpbmdsZSBgcHJvbXB0YCBpbnB1dCBhY2NlcHRzIHBsYWNlaG9sZGVyIGV4cHJlc3Npb25zICjCpzIyLjQpIHN1Y2ggYXNcbiAqIGB7eyAkaW5wdXQuYnJpZWYgfX1gIG9yIGB7eyAkbm9kZVtcIlJlc2VhcmNoXCJdLm91dHB1dC5zdW1tYXJ5IH19YCB0aGF0IGFyZVxuICogcmVzb2x2ZWQgYXQgZXhlY3V0aW9uIHRpbWUgYnkgdGhlIHBsYWNlaG9sZGVyIGNvbXBpbGVyLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL3VpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IGNvbm5lY3Rpb24sIGlucHV0LCBub2RlLCBvdXRwdXQgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9yc1wiO1xuXG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4uL2NhdGVnb3J5LXN0eWxlc1wiO1xuXG4vKipcbiAqIEFnZW50IG5vZGUg4oCUIGFuIEFJIGFnZW50IHRoYXQgb3JjaGVzdHJhdGVzIGEgbW9kZWwsIG1lbW9yeSwgYW5kIHdvcmtzcGFjZS5cbiAqXG4gKiBUaGUgYWdlbnQgaGFzOlxuICogLSBgQGlucHV0YCBwb3J0IG9uIHRoZSAqKmxlZnQqKjogYHByb21wdGAgKHRoZSB0YXNrIHByb21wdDsgc3VwcG9ydHNcbiAqICAgcGxhY2Vob2xkZXIgZXhwcmVzc2lvbnMgbGlrZSBge3sgJGlucHV0LnNvbWV0aGluZyB9fWAgcGVyIMKnMjIuNCkuXG4gKiAtIGBAb3V0cHV0YCBwb3J0cyBvbiB0aGUgKipyaWdodCoqOiBgcmVzcG9uc2VgICh0aGUgYWdlbnQncyBvdXRwdXQpLCBgYWN0aW9uc2BcbiAqICAgKGFueSBhY3Rpb25zIHRoZSBhZ2VudCBkZWNpZGVkIHRvIHRha2UpLlxuICogLSBgQGNvbm5lY3Rpb25gIHBvcnRzIG9uIHRoZSAqKmJvdHRvbSoqOiBgbW9kZWxgIChMTE0pLCBgbWVtb3J5YCAobWVtb3J5XG4gKiAgIHN0b3JlKSwgYHdvcmtzcGFjZWAgKHdvcmtzcGFjZS9jb250ZXh0KS4gRWFjaCBjb25uZWN0aW9uIGhhcyBhIGRpc3RpbmN0XG4gKiAgIGNhdGVnb3J5IGNvbG9yLlxuICpcbiAqIFRoZSBub2RlIGlzIHJlY3Rhbmd1bGFyIChub3Qgcm91bmRlZCkgdG8gdmlzdWFsbHkgZGlzdGluZ3Vpc2ggaXQgZnJvbVxuICogcmVndWxhciBwcm9jZXNzaW5nIG5vZGVzLiBUaGUgYGNvbG9yYCBhbmQgYGljb25gIGFyZSBvbWl0dGVkIGZyb20gYEBub2RlKClgXG4gKiBzbyB0aGV5IGFyZSByZXNvbHZlZCBmcm9tIHRoZSBgXCJBZ2VudFwiYCBjYXRlZ29yeSBzdHlsZS5cbiAqL1xuQG5vZGUoXCJjb3JlLmFnZW50XCIsIHtcbiAga2luZDogXCJjb3JlLmFnZW50XCIsXG4gIGNhdGVnb3J5OiBcIkFnZW50XCIsXG4gIC8vIGNvbG9yIGFuZCBpY29uIG9taXR0ZWQg4oCUIHJlc29sdmVkIGZyb20gdGhlIFwiQWdlbnRcIiBjYXRlZ29yeSBzdHlsZVxuICB3aWR0aDogMTIwLFxuICBoZWlnaHQ6IDE0MCxcbiAgbGFiZWxzOiBbXCJhZ2VudFwiLCBcImFpXCIsIFwib3JjaGVzdHJhdG9yXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkFnZW50XCIsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkFJIGFnZW50IHRoYXQgb3JjaGVzdHJhdGVzIGEgbW9kZWwsIG1lbW9yeSwgYW5kIHdvcmtzcGFjZSB0byBjb21wbGV0ZSBhIHRhc2suXCIsXG4gICAgc2hhcGU6IFwicmVjdGFuZ2xlXCIsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBBZ2VudE5vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIC8vIC0tLSBJbnB1dHMgKGxlZnQgc2lkZSkgLS0tXG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHtcbiAgICBsYWJlbDogXCJQcm9tcHRcIixcbiAgICBwbGFjZWhvbGRlcjogXCJFbnRlciB0YXNrIHByb21wdC4gU3VwcG9ydHMgcGxhY2Vob2xkZXJzIGxpa2Uge3sgJGlucHV0LmJyaWVmIH19IG9yIHt7ICRub2RlW1xcXCJSZXNlYXJjaFxcXCJdLm91dHB1dC5zdW1tYXJ5IH19XCIsXG4gIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJwcm9tcHRcIiB9KVxuICBwcm9tcHQhOiBzdHJpbmc7XG5cbiAgLy8gLS0tIE91dHB1dHMgKHJpZ2h0IHNpZGUpIC0tLVxuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIlJlc3BvbnNlXCIsIHBsYWNlaG9sZGVyOiBcIkFnZW50IHJlc3BvbnNlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZXNwb25zZVwiIH0pXG4gIHJlc3BvbnNlITogc3RyaW5nO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkFjdGlvbnNcIiwgcGxhY2Vob2xkZXI6IFwiQWN0aW9ucyB0YWtlbiBieSB0aGUgYWdlbnRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcImFjdGlvbnNcIiB9KVxuICBhY3Rpb25zITogdW5rbm93bltdO1xuXG4gIC8vIC0tLSBDb25uZWN0aW9ucyAoYm90dG9tIHNpZGUpIC0tLVxuXG4gIEBjb25uZWN0aW9uKHsgY2F0ZWdvcnk6IFwibW9kZWxcIiwgaGFuZGxlOiBcIm1vZGVsXCIgfSlcbiAgbW9kZWwhOiB1bmtub3duO1xuXG4gIEBjb25uZWN0aW9uKHsgY2F0ZWdvcnk6IFwibWVtb3J5XCIsIGhhbmRsZTogXCJtZW1vcnlcIiB9KVxuICBtZW1vcnkhOiB1bmtub3duO1xuXG4gIEBjb25uZWN0aW9uKHsgY2F0ZWdvcnk6IFwid29ya3NwYWNlXCIsIGhhbmRsZTogXCJ3b3Jrc3BhY2VcIiB9KVxuICB3b3Jrc3BhY2UhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEFsbCBidWlsdC1pbiBhZ2VudCBub2RlIGNvbnN0cnVjdG9ycy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0FHRU5UX05PREVTID0gW0FnZW50Tm9kZV0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @module ui-decorators/graph/nodes/base
3
+ * @summary Base class for shared graph node declarations.
4
+ * @description `GraphNode` extends `Model` with an overridable
5
+ * `applyMetadata` static method. Concrete node kinds that support dynamic
6
+ * metadata changes (e.g. `SwitchFlowNode` adding case output ports) override
7
+ * this method to compute their own ports, size, and data patches — the node
8
+ * is exclusively responsible for itself in every way.
9
+ */
10
+ import { Model } from "@decaf-ts/decorator-validation";
11
+ export class GraphNode extends Model {
12
+ /**
13
+ * Applies a metadata patch to this node class, returning the resulting
14
+ * ports, size, and data patches.
15
+ *
16
+ * The default implementation returns `null` (no changes). Concrete node
17
+ * kinds that support dynamic metadata override this to compute their own
18
+ * ports and size from the metadata — the caller (renderer) simply relays
19
+ * the result to the diagram model.
20
+ *
21
+ * @param _meta - The metadata patch (node-kind-specific, e.g.
22
+ * `SwitchNodeMetadata`).
23
+ * @returns The computed change, or `null` when the node kind does not
24
+ * support dynamic metadata.
25
+ */
26
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
+ static applyMetadata(_meta) {
28
+ return null;
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9ub2Rlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3ZELE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUNsQzs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsNkRBQTZEO0lBQzdELE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBYztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSB1aS1kZWNvcmF0b3JzL2dyYXBoL25vZGVzL2Jhc2VcbiAqIEBzdW1tYXJ5IEJhc2UgY2xhc3MgZm9yIHNoYXJlZCBncmFwaCBub2RlIGRlY2xhcmF0aW9ucy5cbiAqIEBkZXNjcmlwdGlvbiBgR3JhcGhOb2RlYCBleHRlbmRzIGBNb2RlbGAgd2l0aCBhbiBvdmVycmlkYWJsZVxuICogYGFwcGx5TWV0YWRhdGFgIHN0YXRpYyBtZXRob2QuIENvbmNyZXRlIG5vZGUga2luZHMgdGhhdCBzdXBwb3J0IGR5bmFtaWNcbiAqIG1ldGFkYXRhIGNoYW5nZXMgKGUuZy4gYFN3aXRjaEZsb3dOb2RlYCBhZGRpbmcgY2FzZSBvdXRwdXQgcG9ydHMpIG92ZXJyaWRlXG4gKiB0aGlzIG1ldGhvZCB0byBjb21wdXRlIHRoZWlyIG93biBwb3J0cywgc2l6ZSwgYW5kIGRhdGEgcGF0Y2hlcyDigJQgdGhlIG5vZGVcbiAqIGlzIGV4Y2x1c2l2ZWx5IHJlc3BvbnNpYmxlIGZvciBpdHNlbGYgaW4gZXZlcnkgd2F5LlxuICovXG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB0eXBlIHsgTm9kZU1ldGFkYXRhQ2hhbmdlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBHcmFwaE5vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIC8qKlxuICAgKiBBcHBsaWVzIGEgbWV0YWRhdGEgcGF0Y2ggdG8gdGhpcyBub2RlIGNsYXNzLCByZXR1cm5pbmcgdGhlIHJlc3VsdGluZ1xuICAgKiBwb3J0cywgc2l6ZSwgYW5kIGRhdGEgcGF0Y2hlcy5cbiAgICpcbiAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyBgbnVsbGAgKG5vIGNoYW5nZXMpLiBDb25jcmV0ZSBub2RlXG4gICAqIGtpbmRzIHRoYXQgc3VwcG9ydCBkeW5hbWljIG1ldGFkYXRhIG92ZXJyaWRlIHRoaXMgdG8gY29tcHV0ZSB0aGVpciBvd25cbiAgICogcG9ydHMgYW5kIHNpemUgZnJvbSB0aGUgbWV0YWRhdGEg4oCUIHRoZSBjYWxsZXIgKHJlbmRlcmVyKSBzaW1wbHkgcmVsYXlzXG4gICAqIHRoZSByZXN1bHQgdG8gdGhlIGRpYWdyYW0gbW9kZWwuXG4gICAqXG4gICAqIEBwYXJhbSBfbWV0YSAtIFRoZSBtZXRhZGF0YSBwYXRjaCAobm9kZS1raW5kLXNwZWNpZmljLCBlLmcuXG4gICAqICAgYFN3aXRjaE5vZGVNZXRhZGF0YWApLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcHV0ZWQgY2hhbmdlLCBvciBgbnVsbGAgd2hlbiB0aGUgbm9kZSBraW5kIGRvZXMgbm90XG4gICAqICAgc3VwcG9ydCBkeW5hbWljIG1ldGFkYXRhLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBzdGF0aWMgYXBwbHlNZXRhZGF0YShfbWV0YTogdW5rbm93bik6IE5vZGVNZXRhZGF0YUNoYW5nZSB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ /**
11
+ * @module ui-decorators/graph/nodes/boundary/input-value
12
+ * @summary Workflow input value boundary node declaration.
13
+ * @description Shared canvas node representing a workflow input value
14
+ * (decorator id `graph-input-value-node`), moved from the for-angular
15
+ * boundary nodes so both sides share the declaration. Reusable value node
16
+ * whose single `value` output may feed multiple targets.
17
+ */
18
+ import { Model, model } from "@decaf-ts/decorator-validation";
19
+ import { output, node } from "./../../decorators.js";
20
+ // Ensure category styles are registered (idempotent).
21
+ import "./../category-styles.js";
22
+ let GraphInputValueNode = class GraphInputValueNode extends Model {
23
+ };
24
+ __decorate([
25
+ output({
26
+ handle: 'value',
27
+ connectionRules: {
28
+ allowMultiple: true,
29
+ },
30
+ }),
31
+ __metadata("design:type", Object)
32
+ ], GraphInputValueNode.prototype, "value", void 0);
33
+ GraphInputValueNode = __decorate([
34
+ node('graph-input-value-node', {
35
+ kind: 'value',
36
+ category: 'Boundary',
37
+ color: '#0f766e',
38
+ icon: 'ti-circle-plus',
39
+ labels: ['workflow', 'input', 'value'],
40
+ metadata: {
41
+ title: 'Workflow input value',
42
+ description: 'Reusable canvas value node representing a workflow input.',
43
+ },
44
+ }),
45
+ model()
46
+ ], GraphInputValueNode);
47
+ export { GraphInputValueNode };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvYm91bmRhcnkvaW5wdXQtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7R0FPRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsOEJBQXlCO0FBRWhELHNEQUFzRDtBQUN0RCxpQ0FBNEI7QUFjckIsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBb0IsU0FBUSxLQUFLO0NBUTdDLENBQUE7QUFEQztJQU5DLE1BQU0sQ0FBQztRQUNOLE1BQU0sRUFBRSxPQUFPO1FBQ2YsZUFBZSxFQUFFO1lBQ2YsYUFBYSxFQUFFLElBQUk7U0FDcEI7S0FDRixDQUFDOztrREFDYztBQVBMLG1CQUFtQjtJQVovQixJQUFJLENBQUMsd0JBQXdCLEVBQUU7UUFDOUIsSUFBSSxFQUFFLE9BQU87UUFDYixRQUFRLEVBQUUsVUFBVTtRQUNwQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ3RDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsV0FBVyxFQUFFLDJEQUEyRDtTQUN6RTtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxtQkFBbUIsQ0FRL0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy9ib3VuZGFyeS9pbnB1dC12YWx1ZVxuICogQHN1bW1hcnkgV29ya2Zsb3cgaW5wdXQgdmFsdWUgYm91bmRhcnkgbm9kZSBkZWNsYXJhdGlvbi5cbiAqIEBkZXNjcmlwdGlvbiBTaGFyZWQgY2FudmFzIG5vZGUgcmVwcmVzZW50aW5nIGEgd29ya2Zsb3cgaW5wdXQgdmFsdWVcbiAqIChkZWNvcmF0b3IgaWQgYGdyYXBoLWlucHV0LXZhbHVlLW5vZGVgKSwgbW92ZWQgZnJvbSB0aGUgZm9yLWFuZ3VsYXJcbiAqIGJvdW5kYXJ5IG5vZGVzIHNvIGJvdGggc2lkZXMgc2hhcmUgdGhlIGRlY2xhcmF0aW9uLiBSZXVzYWJsZSB2YWx1ZSBub2RlXG4gKiB3aG9zZSBzaW5nbGUgYHZhbHVlYCBvdXRwdXQgbWF5IGZlZWQgbXVsdGlwbGUgdGFyZ2V0cy5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgb3V0cHV0LCBub2RlIH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnNcIjtcblxuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLi9jYXRlZ29yeS1zdHlsZXNcIjtcblxuQG5vZGUoJ2dyYXBoLWlucHV0LXZhbHVlLW5vZGUnLCB7XG4gIGtpbmQ6ICd2YWx1ZScsXG4gIGNhdGVnb3J5OiAnQm91bmRhcnknLFxuICBjb2xvcjogJyMwZjc2NmUnLFxuICBpY29uOiAndGktY2lyY2xlLXBsdXMnLFxuICBsYWJlbHM6IFsnd29ya2Zsb3cnLCAnaW5wdXQnLCAndmFsdWUnXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogJ1dvcmtmbG93IGlucHV0IHZhbHVlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JldXNhYmxlIGNhbnZhcyB2YWx1ZSBub2RlIHJlcHJlc2VudGluZyBhIHdvcmtmbG93IGlucHV0LicsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBHcmFwaElucHV0VmFsdWVOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAb3V0cHV0KHtcbiAgICBoYW5kbGU6ICd2YWx1ZScsXG4gICAgY29ubmVjdGlvblJ1bGVzOiB7XG4gICAgICBhbGxvd011bHRpcGxlOiB0cnVlLFxuICAgIH0sXG4gIH0pXG4gIHZhbHVlITogdW5rbm93bjtcbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @module ui-decorators/graph/nodes/category-styles
3
+ * @summary Built-in node/connection category style registrations.
4
+ * @description Registers default colors and icons for the built-in node and
5
+ * connection categories (DECAF-32 §21.2). The `color` / `icon` on a node's
6
+ * `@node()` metadata are optional overrides — when omitted, the effective
7
+ * style is resolved from the category registry.
8
+ */
9
+ import { registerGraphCategoryStyle } from "./../constants.js";
10
+ /**
11
+ * Registers all built-in category styles. Called once at module init.
12
+ *
13
+ * Categories define the default visual style for nodes and connection ports.
14
+ * A node's explicit `color` / `icon` (on `@node()`) overrides the category
15
+ * style; when omitted, the category style is used.
16
+ */
17
+ export function registerBuiltinCategoryStyles() {
18
+ // Node categories
19
+ registerGraphCategoryStyle("Trigger", { color: "#3b82f6", icon: "ti-bolt" });
20
+ registerGraphCategoryStyle("Flow Control", { color: "#f59e0b", icon: "ti-arrows-split-2" });
21
+ registerGraphCategoryStyle("Utility", { color: "#0d9488", icon: "ti-tool" });
22
+ registerGraphCategoryStyle("Loop", { color: "#eab308", icon: "ti-repeat" });
23
+ registerGraphCategoryStyle("Workflow", { color: "#f97316", icon: "ti-sitemap" });
24
+ registerGraphCategoryStyle("Pipeline", { color: "#0ea5e9", icon: "ti-git-merge" });
25
+ registerGraphCategoryStyle("Node", { color: "#8b5cf6", icon: "ti-point-filled" });
26
+ registerGraphCategoryStyle("Agent", { color: "#7c3aed", icon: "ti-robot" });
27
+ // Connection categories (for @connection() ports)
28
+ registerGraphCategoryStyle("model", { color: "#3b82f6", icon: "ti-cpu" });
29
+ registerGraphCategoryStyle("memory", { color: "#10b981", icon: "ti-database" });
30
+ registerGraphCategoryStyle("workspace", { color: "#f59e0b", icon: "ti-folder" });
31
+ }
32
+ // Register at module load so the styles are available immediately.
33
+ registerBuiltinCategoryStyles();
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL25vZGVzL2NhdGVnb3J5LXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDBCQUFxQjtBQUUxRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUM1RiwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUUsMEJBQTBCLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNqRiwwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNsRiwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBRTVFLGtEQUFrRDtJQUNsRCwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEYsMEJBQTBCLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRUQsbUVBQW1FO0FBQ25FLDZCQUE2QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy9jYXRlZ29yeS1zdHlsZXNcbiAqIEBzdW1tYXJ5IEJ1aWx0LWluIG5vZGUvY29ubmVjdGlvbiBjYXRlZ29yeSBzdHlsZSByZWdpc3RyYXRpb25zLlxuICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBkZWZhdWx0IGNvbG9ycyBhbmQgaWNvbnMgZm9yIHRoZSBidWlsdC1pbiBub2RlIGFuZFxuICogY29ubmVjdGlvbiBjYXRlZ29yaWVzIChERUNBRi0zMiDCpzIxLjIpLiBUaGUgYGNvbG9yYCAvIGBpY29uYCBvbiBhIG5vZGUnc1xuICogYEBub2RlKClgIG1ldGFkYXRhIGFyZSBvcHRpb25hbCBvdmVycmlkZXMg4oCUIHdoZW4gb21pdHRlZCwgdGhlIGVmZmVjdGl2ZVxuICogc3R5bGUgaXMgcmVzb2x2ZWQgZnJvbSB0aGUgY2F0ZWdvcnkgcmVnaXN0cnkuXG4gKi9cbmltcG9ydCB7IHJlZ2lzdGVyR3JhcGhDYXRlZ29yeVN0eWxlIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbGwgYnVpbHQtaW4gY2F0ZWdvcnkgc3R5bGVzLiBDYWxsZWQgb25jZSBhdCBtb2R1bGUgaW5pdC5cbiAqXG4gKiBDYXRlZ29yaWVzIGRlZmluZSB0aGUgZGVmYXVsdCB2aXN1YWwgc3R5bGUgZm9yIG5vZGVzIGFuZCBjb25uZWN0aW9uIHBvcnRzLlxuICogQSBub2RlJ3MgZXhwbGljaXQgYGNvbG9yYCAvIGBpY29uYCAob24gYEBub2RlKClgKSBvdmVycmlkZXMgdGhlIGNhdGVnb3J5XG4gKiBzdHlsZTsgd2hlbiBvbWl0dGVkLCB0aGUgY2F0ZWdvcnkgc3R5bGUgaXMgdXNlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQnVpbHRpbkNhdGVnb3J5U3R5bGVzKCk6IHZvaWQge1xuICAvLyBOb2RlIGNhdGVnb3JpZXNcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJUcmlnZ2VyXCIsIHsgY29sb3I6IFwiIzNiODJmNlwiLCBpY29uOiBcInRpLWJvbHRcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJGbG93IENvbnRyb2xcIiwgeyBjb2xvcjogXCIjZjU5ZTBiXCIsIGljb246IFwidGktYXJyb3dzLXNwbGl0LTJcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJVdGlsaXR5XCIsIHsgY29sb3I6IFwiIzBkOTQ4OFwiLCBpY29uOiBcInRpLXRvb2xcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJMb29wXCIsIHsgY29sb3I6IFwiI2VhYjMwOFwiLCBpY29uOiBcInRpLXJlcGVhdFwiIH0pO1xuICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIldvcmtmbG93XCIsIHsgY29sb3I6IFwiI2Y5NzMxNlwiLCBpY29uOiBcInRpLXNpdGVtYXBcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJQaXBlbGluZVwiLCB7IGNvbG9yOiBcIiMwZWE1ZTlcIiwgaWNvbjogXCJ0aS1naXQtbWVyZ2VcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJOb2RlXCIsIHsgY29sb3I6IFwiIzhiNWNmNlwiLCBpY29uOiBcInRpLXBvaW50LWZpbGxlZFwiIH0pO1xuICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIkFnZW50XCIsIHsgY29sb3I6IFwiIzdjM2FlZFwiLCBpY29uOiBcInRpLXJvYm90XCIgfSk7XG5cbiAgLy8gQ29ubmVjdGlvbiBjYXRlZ29yaWVzIChmb3IgQGNvbm5lY3Rpb24oKSBwb3J0cylcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJtb2RlbFwiLCB7IGNvbG9yOiBcIiMzYjgyZjZcIiwgaWNvbjogXCJ0aS1jcHVcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJtZW1vcnlcIiwgeyBjb2xvcjogXCIjMTBiOTgxXCIsIGljb246IFwidGktZGF0YWJhc2VcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJ3b3Jrc3BhY2VcIiwgeyBjb2xvcjogXCIjZjU5ZTBiXCIsIGljb246IFwidGktZm9sZGVyXCIgfSk7XG59XG5cbi8vIFJlZ2lzdGVyIGF0IG1vZHVsZSBsb2FkIHNvIHRoZSBzdHlsZXMgYXJlIGF2YWlsYWJsZSBpbW1lZGlhdGVseS5cbnJlZ2lzdGVyQnVpbHRpbkNhdGVnb3J5U3R5bGVzKCk7XG4iXX0=