@decaf-ts/integrations 0.3.7 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/dist/integrations.cjs +3 -3
  2. package/dist/integrations.js +3 -3
  3. package/lib/cjs/graph/engine/constants.cjs +58 -0
  4. package/lib/cjs/graph/engine/decorators.cjs +4 -0
  5. package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +20 -0
  6. package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +27 -0
  7. package/lib/cjs/graph/engine/errors/GraphInputError.cjs +20 -0
  8. package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +20 -0
  9. package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +20 -0
  10. package/lib/cjs/graph/engine/errors/GraphPortError.cjs +20 -0
  11. package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +20 -0
  12. package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +20 -0
  13. package/lib/cjs/graph/{errors → engine/errors}/index.cjs +2 -2
  14. package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +4 -0
  15. package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +40 -0
  16. package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +37 -0
  17. package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +4 -0
  18. package/lib/cjs/graph/{events → engine/events}/index.cjs +2 -2
  19. package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +4 -0
  20. package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +79 -0
  21. package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +408 -0
  22. package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +32 -0
  23. package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +30 -0
  24. package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +4 -0
  25. package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +103 -0
  26. package/lib/cjs/graph/{execution → engine/execution}/index.cjs +2 -2
  27. package/lib/cjs/graph/engine/index.cjs +84 -0
  28. package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +87 -0
  29. package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +85 -0
  30. package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +85 -0
  31. package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +16 -0
  32. package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +77 -0
  33. package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +78 -0
  34. package/lib/cjs/graph/{loops → engine/loops}/index.cjs +2 -2
  35. package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +28 -0
  36. package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +20 -0
  37. package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +34 -0
  38. package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +191 -0
  39. package/lib/cjs/graph/{pinning → engine/pinning}/index.cjs +2 -2
  40. package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +4 -0
  41. package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +4 -0
  42. package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +4 -0
  43. package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +4 -0
  44. package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +197 -0
  45. package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +172 -0
  46. package/lib/cjs/graph/engine/planning/GraphTopology.cjs +57 -0
  47. package/lib/cjs/graph/{planning → engine/planning}/index.cjs +2 -2
  48. package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +44 -0
  49. package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +27 -0
  50. package/lib/cjs/graph/{registry → engine/registry}/index.cjs +2 -2
  51. package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
  52. package/lib/cjs/graph/{snapshots → engine/snapshots}/index.cjs +2 -2
  53. package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +4 -0
  54. package/lib/cjs/graph/engine/store/GraphValueKey.cjs +4 -0
  55. package/lib/cjs/graph/engine/store/GraphValueStore.cjs +76 -0
  56. package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +4 -0
  57. package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
  58. package/lib/cjs/graph/{store → engine/store}/index.cjs +2 -2
  59. package/lib/cjs/graph/engine/types.cjs +4 -0
  60. package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +33 -0
  61. package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +58 -0
  62. package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +52 -0
  63. package/lib/cjs/graph/{validation → engine/validation}/index.cjs +2 -2
  64. package/lib/cjs/graph/index.cjs +10 -60
  65. package/lib/cjs/graph/shared/constants.cjs +44 -0
  66. package/lib/cjs/graph/shared/index.cjs +38 -0
  67. package/lib/cjs/graph/{nodes → shared/nodes}/agent.cjs +2 -2
  68. package/lib/cjs/graph/shared/nodes/base.cjs +35 -0
  69. package/lib/cjs/graph/shared/nodes/category-styles.cjs +38 -0
  70. package/lib/cjs/graph/shared/nodes/flow-control.cjs +464 -0
  71. package/lib/cjs/graph/{nodes → shared/nodes}/index.cjs +2 -2
  72. package/lib/cjs/graph/shared/nodes/triggers.cjs +250 -0
  73. package/lib/cjs/graph/shared/types.cjs +4 -0
  74. package/lib/cjs/index.cjs +3 -3
  75. package/lib/cjs/nest/index.cjs +2 -3
  76. package/lib/esm/graph/engine/constants.js +62 -0
  77. package/lib/esm/graph/engine/decorators.js +2 -0
  78. package/lib/esm/graph/engine/errors/GraphCycleError.js +15 -0
  79. package/lib/esm/graph/engine/errors/GraphExecutionError.js +22 -0
  80. package/lib/esm/graph/engine/errors/GraphInputError.js +15 -0
  81. package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +15 -0
  82. package/lib/esm/graph/engine/errors/GraphPinningError.js +15 -0
  83. package/lib/esm/graph/engine/errors/GraphPortError.js +15 -0
  84. package/lib/esm/graph/engine/errors/GraphStoreError.js +15 -0
  85. package/lib/esm/graph/engine/errors/GraphTopologyError.js +15 -0
  86. package/lib/esm/graph/engine/errors/index.js +14 -0
  87. package/lib/esm/graph/engine/events/GraphExecutionEvent.js +2 -0
  88. package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +35 -0
  89. package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +32 -0
  90. package/lib/esm/graph/engine/events/GraphExecutionObserver.js +2 -0
  91. package/lib/esm/graph/engine/events/index.js +10 -0
  92. package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +18 -0
  93. package/lib/esm/graph/engine/execution/GraphExecutionContext.js +74 -0
  94. package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +403 -0
  95. package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +27 -0
  96. package/lib/esm/graph/engine/execution/GraphExecutionResult.js +26 -0
  97. package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +2 -0
  98. package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +98 -0
  99. package/lib/esm/graph/engine/execution/index.js +13 -0
  100. package/lib/esm/graph/engine/index.js +67 -0
  101. package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +82 -0
  102. package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +80 -0
  103. package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +80 -0
  104. package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +11 -0
  105. package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +72 -0
  106. package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +73 -0
  107. package/lib/esm/graph/engine/loops/index.js +12 -0
  108. package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +23 -0
  109. package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +15 -0
  110. package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +29 -0
  111. package/lib/esm/graph/engine/pinning/GraphPinningService.js +186 -0
  112. package/lib/esm/graph/engine/pinning/index.js +10 -0
  113. package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +2 -0
  114. package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +7 -0
  115. package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +2 -0
  116. package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +2 -0
  117. package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +192 -0
  118. package/lib/esm/graph/engine/planning/GraphRelationResolver.js +167 -0
  119. package/lib/esm/graph/engine/planning/GraphTopology.js +52 -0
  120. package/lib/esm/graph/engine/planning/index.js +13 -0
  121. package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +39 -0
  122. package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +22 -0
  123. package/lib/esm/graph/engine/registry/index.js +8 -0
  124. package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +48 -0
  125. package/lib/esm/graph/engine/snapshots/index.js +7 -0
  126. package/lib/esm/graph/engine/store/GraphCachedValue.js +2 -0
  127. package/lib/esm/graph/engine/store/GraphValueKey.js +7 -0
  128. package/lib/esm/graph/engine/store/GraphValueStore.js +71 -0
  129. package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +2 -0
  130. package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +64 -0
  131. package/lib/esm/graph/engine/store/index.js +11 -0
  132. package/lib/esm/graph/engine/types.js +2 -0
  133. package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +28 -0
  134. package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +53 -0
  135. package/lib/esm/graph/engine/validation/GraphValueValidator.js +47 -0
  136. package/lib/esm/graph/engine/validation/index.js +9 -0
  137. package/lib/esm/graph/index.js +9 -59
  138. package/lib/esm/graph/shared/constants.js +56 -0
  139. package/lib/esm/graph/shared/index.js +19 -0
  140. package/lib/esm/graph/shared/nodes/agent.js +101 -0
  141. package/lib/esm/graph/shared/nodes/base.js +30 -0
  142. package/lib/esm/graph/shared/nodes/category-styles.js +34 -0
  143. package/lib/esm/graph/shared/nodes/flow-control.js +455 -0
  144. package/lib/esm/graph/shared/nodes/index.js +18 -0
  145. package/lib/esm/graph/shared/nodes/triggers.js +241 -0
  146. package/lib/esm/graph/shared/types.js +2 -0
  147. package/lib/esm/index.js +3 -3
  148. package/lib/esm/nest/index.js +1 -2
  149. package/lib/types/graph/engine/constants.d.cts +59 -0
  150. package/lib/types/graph/engine/constants.d.mts +59 -0
  151. package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.cts +1 -1
  152. package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.mts +1 -1
  153. package/lib/types/graph/engine/index.d.cts +61 -0
  154. package/lib/types/graph/engine/index.d.mts +61 -0
  155. package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.cts +1 -1
  156. package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.mts +1 -1
  157. package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.cts +2 -1
  158. package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.mts +2 -1
  159. package/lib/types/graph/{types.d.cts → engine/types.d.cts} +8 -116
  160. package/lib/types/graph/{types.d.mts → engine/types.d.mts} +8 -116
  161. package/lib/types/graph/index.d.cts +8 -53
  162. package/lib/types/graph/index.d.mts +8 -53
  163. package/lib/types/graph/shared/constants.d.cts +53 -0
  164. package/lib/types/graph/shared/constants.d.mts +53 -0
  165. package/lib/types/graph/shared/index.d.cts +18 -0
  166. package/lib/types/graph/shared/index.d.mts +18 -0
  167. package/lib/types/graph/shared/types.d.cts +121 -0
  168. package/lib/types/graph/shared/types.d.mts +121 -0
  169. package/lib/types/index.d.cts +2 -2
  170. package/lib/types/index.d.mts +2 -2
  171. package/lib/types/nest/index.d.cts +0 -1
  172. package/lib/types/nest/index.d.mts +0 -1
  173. package/package.json +25 -3
  174. package/lib/cjs/graph/constants.cjs +0 -94
  175. package/lib/cjs/graph/decorators.cjs +0 -4
  176. package/lib/cjs/graph/errors/GraphCycleError.cjs +0 -20
  177. package/lib/cjs/graph/errors/GraphExecutionError.cjs +0 -27
  178. package/lib/cjs/graph/errors/GraphInputError.cjs +0 -20
  179. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +0 -20
  180. package/lib/cjs/graph/errors/GraphPinningError.cjs +0 -20
  181. package/lib/cjs/graph/errors/GraphPortError.cjs +0 -20
  182. package/lib/cjs/graph/errors/GraphStoreError.cjs +0 -20
  183. package/lib/cjs/graph/errors/GraphTopologyError.cjs +0 -20
  184. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +0 -4
  185. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +0 -40
  186. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +0 -37
  187. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +0 -4
  188. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +0 -4
  189. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +0 -79
  190. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +0 -407
  191. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +0 -32
  192. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +0 -30
  193. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +0 -4
  194. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +0 -103
  195. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +0 -87
  196. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +0 -84
  197. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +0 -85
  198. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +0 -16
  199. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +0 -76
  200. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +0 -77
  201. package/lib/cjs/graph/nodes/base.cjs +0 -35
  202. package/lib/cjs/graph/nodes/category-styles.cjs +0 -38
  203. package/lib/cjs/graph/nodes/flow-control.cjs +0 -464
  204. package/lib/cjs/graph/nodes/triggers.cjs +0 -250
  205. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +0 -28
  206. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +0 -20
  207. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +0 -34
  208. package/lib/cjs/graph/pinning/GraphPinningService.cjs +0 -191
  209. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +0 -4
  210. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +0 -4
  211. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +0 -4
  212. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +0 -4
  213. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +0 -197
  214. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +0 -172
  215. package/lib/cjs/graph/planning/GraphTopology.cjs +0 -57
  216. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +0 -44
  217. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +0 -27
  218. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
  219. package/lib/cjs/graph/store/GraphCachedValue.cjs +0 -4
  220. package/lib/cjs/graph/store/GraphValueKey.cjs +0 -4
  221. package/lib/cjs/graph/store/GraphValueStore.cjs +0 -76
  222. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +0 -4
  223. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
  224. package/lib/cjs/graph/types.cjs +0 -4
  225. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +0 -33
  226. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +0 -58
  227. package/lib/cjs/graph/validation/GraphValueValidator.cjs +0 -52
  228. package/lib/esm/graph/constants.js +0 -106
  229. package/lib/esm/graph/decorators.js +0 -2
  230. package/lib/esm/graph/errors/GraphCycleError.js +0 -15
  231. package/lib/esm/graph/errors/GraphExecutionError.js +0 -22
  232. package/lib/esm/graph/errors/GraphInputError.js +0 -15
  233. package/lib/esm/graph/errors/GraphLoopLimitError.js +0 -15
  234. package/lib/esm/graph/errors/GraphPinningError.js +0 -15
  235. package/lib/esm/graph/errors/GraphPortError.js +0 -15
  236. package/lib/esm/graph/errors/GraphStoreError.js +0 -15
  237. package/lib/esm/graph/errors/GraphTopologyError.js +0 -15
  238. package/lib/esm/graph/errors/index.js +0 -14
  239. package/lib/esm/graph/events/GraphExecutionEvent.js +0 -2
  240. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +0 -35
  241. package/lib/esm/graph/events/GraphExecutionEventFactory.js +0 -32
  242. package/lib/esm/graph/events/GraphExecutionObserver.js +0 -2
  243. package/lib/esm/graph/events/index.js +0 -10
  244. package/lib/esm/graph/execution/CodeSandboxEvaluator.js +0 -18
  245. package/lib/esm/graph/execution/GraphExecutionContext.js +0 -74
  246. package/lib/esm/graph/execution/GraphExecutionEngine.js +0 -402
  247. package/lib/esm/graph/execution/GraphExecutionFrame.js +0 -27
  248. package/lib/esm/graph/execution/GraphExecutionResult.js +0 -26
  249. package/lib/esm/graph/execution/GraphNodeExecutor.js +0 -2
  250. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +0 -98
  251. package/lib/esm/graph/execution/index.js +0 -13
  252. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +0 -82
  253. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +0 -79
  254. package/lib/esm/graph/loops/GraphConditionEvaluator.js +0 -80
  255. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +0 -11
  256. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +0 -71
  257. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +0 -72
  258. package/lib/esm/graph/loops/index.js +0 -12
  259. package/lib/esm/graph/nodes/agent.js +0 -101
  260. package/lib/esm/graph/nodes/base.js +0 -30
  261. package/lib/esm/graph/nodes/category-styles.js +0 -34
  262. package/lib/esm/graph/nodes/flow-control.js +0 -455
  263. package/lib/esm/graph/nodes/index.js +0 -18
  264. package/lib/esm/graph/nodes/triggers.js +0 -241
  265. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +0 -23
  266. package/lib/esm/graph/pinning/GraphPinningMetadata.js +0 -15
  267. package/lib/esm/graph/pinning/GraphPinningPolicy.js +0 -29
  268. package/lib/esm/graph/pinning/GraphPinningService.js +0 -186
  269. package/lib/esm/graph/pinning/index.js +0 -10
  270. package/lib/esm/graph/planning/GraphExecutionPlan.js +0 -2
  271. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +0 -7
  272. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +0 -2
  273. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +0 -2
  274. package/lib/esm/graph/planning/GraphExecutionPlanner.js +0 -192
  275. package/lib/esm/graph/planning/GraphRelationResolver.js +0 -167
  276. package/lib/esm/graph/planning/GraphTopology.js +0 -52
  277. package/lib/esm/graph/planning/index.js +0 -13
  278. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +0 -39
  279. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +0 -22
  280. package/lib/esm/graph/registry/index.js +0 -8
  281. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +0 -48
  282. package/lib/esm/graph/snapshots/index.js +0 -7
  283. package/lib/esm/graph/store/GraphCachedValue.js +0 -2
  284. package/lib/esm/graph/store/GraphValueKey.js +0 -7
  285. package/lib/esm/graph/store/GraphValueStore.js +0 -71
  286. package/lib/esm/graph/store/GraphValueStoreAdapter.js +0 -2
  287. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +0 -64
  288. package/lib/esm/graph/store/index.js +0 -11
  289. package/lib/esm/graph/types.js +0 -2
  290. package/lib/esm/graph/validation/GraphDefinitionValidator.js +0 -28
  291. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +0 -53
  292. package/lib/esm/graph/validation/GraphValueValidator.js +0 -47
  293. package/lib/esm/graph/validation/index.js +0 -9
  294. package/lib/types/graph/constants.d.cts +0 -101
  295. package/lib/types/graph/constants.d.mts +0 -101
  296. /package/lib/types/graph/{decorators.d.cts → engine/decorators.d.cts} +0 -0
  297. /package/lib/types/graph/{decorators.d.mts → engine/decorators.d.mts} +0 -0
  298. /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.cts +0 -0
  299. /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.mts +0 -0
  300. /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.cts +0 -0
  301. /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.mts +0 -0
  302. /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.cts +0 -0
  303. /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.mts +0 -0
  304. /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.cts +0 -0
  305. /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.mts +0 -0
  306. /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.cts +0 -0
  307. /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.mts +0 -0
  308. /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.cts +0 -0
  309. /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.mts +0 -0
  310. /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.cts +0 -0
  311. /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.mts +0 -0
  312. /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.cts +0 -0
  313. /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.mts +0 -0
  314. /package/lib/types/graph/{errors → engine/errors}/index.d.cts +0 -0
  315. /package/lib/types/graph/{errors → engine/errors}/index.d.mts +0 -0
  316. /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.cts +0 -0
  317. /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.mts +0 -0
  318. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.cts +0 -0
  319. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.mts +0 -0
  320. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.cts +0 -0
  321. /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.mts +0 -0
  322. /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.cts +0 -0
  323. /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.mts +0 -0
  324. /package/lib/types/graph/{events → engine/events}/index.d.cts +0 -0
  325. /package/lib/types/graph/{events → engine/events}/index.d.mts +0 -0
  326. /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.cts +0 -0
  327. /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.mts +0 -0
  328. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.cts +0 -0
  329. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.mts +0 -0
  330. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.cts +0 -0
  331. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.mts +0 -0
  332. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.cts +0 -0
  333. /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.mts +0 -0
  334. /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.cts +0 -0
  335. /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.mts +0 -0
  336. /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.cts +0 -0
  337. /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.mts +0 -0
  338. /package/lib/types/graph/{execution → engine/execution}/index.d.cts +0 -0
  339. /package/lib/types/graph/{execution → engine/execution}/index.d.mts +0 -0
  340. /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.cts +0 -0
  341. /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.mts +0 -0
  342. /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.cts +0 -0
  343. /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.mts +0 -0
  344. /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.cts +0 -0
  345. /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.mts +0 -0
  346. /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.cts +0 -0
  347. /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.mts +0 -0
  348. /package/lib/types/graph/{loops → engine/loops}/index.d.cts +0 -0
  349. /package/lib/types/graph/{loops → engine/loops}/index.d.mts +0 -0
  350. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.cts +0 -0
  351. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.mts +0 -0
  352. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.cts +0 -0
  353. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.mts +0 -0
  354. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.cts +0 -0
  355. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.mts +0 -0
  356. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.cts +0 -0
  357. /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.mts +0 -0
  358. /package/lib/types/graph/{pinning → engine/pinning}/index.d.cts +0 -0
  359. /package/lib/types/graph/{pinning → engine/pinning}/index.d.mts +0 -0
  360. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.cts +0 -0
  361. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.mts +0 -0
  362. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.cts +0 -0
  363. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.mts +0 -0
  364. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.cts +0 -0
  365. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.mts +0 -0
  366. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.cts +0 -0
  367. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.mts +0 -0
  368. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.cts +0 -0
  369. /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.mts +0 -0
  370. /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.cts +0 -0
  371. /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.mts +0 -0
  372. /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.cts +0 -0
  373. /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.mts +0 -0
  374. /package/lib/types/graph/{planning → engine/planning}/index.d.cts +0 -0
  375. /package/lib/types/graph/{planning → engine/planning}/index.d.mts +0 -0
  376. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.cts +0 -0
  377. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.mts +0 -0
  378. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.cts +0 -0
  379. /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.mts +0 -0
  380. /package/lib/types/graph/{registry → engine/registry}/index.d.cts +0 -0
  381. /package/lib/types/graph/{registry → engine/registry}/index.d.mts +0 -0
  382. /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.cts +0 -0
  383. /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.mts +0 -0
  384. /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.cts +0 -0
  385. /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.mts +0 -0
  386. /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.cts +0 -0
  387. /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.mts +0 -0
  388. /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.cts +0 -0
  389. /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.mts +0 -0
  390. /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.cts +0 -0
  391. /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.mts +0 -0
  392. /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.cts +0 -0
  393. /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.mts +0 -0
  394. /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.cts +0 -0
  395. /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.mts +0 -0
  396. /package/lib/types/graph/{store → engine/store}/index.d.cts +0 -0
  397. /package/lib/types/graph/{store → engine/store}/index.d.mts +0 -0
  398. /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.cts +0 -0
  399. /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.mts +0 -0
  400. /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.cts +0 -0
  401. /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.mts +0 -0
  402. /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.cts +0 -0
  403. /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.mts +0 -0
  404. /package/lib/types/graph/{validation → engine/validation}/index.d.cts +0 -0
  405. /package/lib/types/graph/{validation → engine/validation}/index.d.mts +0 -0
  406. /package/lib/types/graph/{nodes → shared/nodes}/agent.d.cts +0 -0
  407. /package/lib/types/graph/{nodes → shared/nodes}/agent.d.mts +0 -0
  408. /package/lib/types/graph/{nodes → shared/nodes}/base.d.cts +0 -0
  409. /package/lib/types/graph/{nodes → shared/nodes}/base.d.mts +0 -0
  410. /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.cts +0 -0
  411. /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.mts +0 -0
  412. /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.cts +0 -0
  413. /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.mts +0 -0
  414. /package/lib/types/graph/{nodes → shared/nodes}/index.d.cts +0 -0
  415. /package/lib/types/graph/{nodes → shared/nodes}/index.d.mts +0 -0
  416. /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.cts +0 -0
  417. /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.mts +0 -0
@@ -31,5 +31,5 @@ __exportStar(require("./category-styles.cjs"), exports);
31
31
  __exportStar(require("./triggers.cjs"), exports);
32
32
  __exportStar(require("./flow-control.cjs"), exports);
33
33
  __exportStar(require("./agent.cjs"), exports);
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCwwQkFBdUI7QUFDdkIscUNBQWtDO0FBQ2xDLDhCQUEyQjtBQUMzQixrQ0FBK0I7QUFDL0IsMkJBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ub2Rlc1xuICogQHN1bW1hcnkgUHJvZHVjdGlvbiBub2RlIGtpbmQgZGVjbGFyYXRpb25zIChERUNBRi0zMiDCpzIyLjIpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgQUxGUkVELTUgbm9kZSBraW5kXG4gKiB0YXhvbm9teS4gVGhlc2UgYXJlIHRoZSBmcmFtZXdvcmsncyBidWlsdC1pbiBub2RlIGRlZmluaXRpb25zIOKAlCB0cmlnZ2Vyc1xuICogKMKnMjIuMi4xKSwgZmxvdy1jb250cm9sL3V0aWxpdHkgbm9kZXMgKMKnMjIuMi4y4oCTMjIuMi4zKSwgYW5kIHRoZSBBZ2VudCBub2RlXG4gKiAowqcyMS4zKS4gVGhlIHRocmVlIGxvb3Aga2luZHMgKGBjb3JlLmxvb3AuZm9yZWFjaC93aGlsZS91bnRpbGApIGFscmVhZHkgaGF2ZVxuICogYnVpbHQtaW4gZXhlY3V0b3JzICjCpzUuOSkgYW5kIGFyZSBub3QgcmVkZWNsYXJlZCBoZXJlLlxuICpcbiAqIENvbnN1bWVycyAoZm9yLWFuZ3VsYXIsIEFMRlJFRCwgZXRjLikgaW1wb3J0IHRoZXNlIGRlY2xhcmF0aW9ucyB0byBwb3B1bGF0ZVxuICogbm9kZSBwYWxldHRlcywgcmVnaXN0cmllcywgYW5kIHJlZmVyZW5jZSBzbmFwc2hvdHMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2Jhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhdGVnb3J5LXN0eWxlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJpZ2dlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zsb3ctY29udHJvbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWdlbnRcIjtcbiJdfQ==
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCw0Q0FBMEI7QUFDMUIsdURBQXFDO0FBQ3JDLGdEQUE4QjtBQUM5QixvREFBa0M7QUFDbEMsNkNBQTJCO0FBQzNCLDA0Q0FBMDRDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ub2Rlc1xuICogQHN1bW1hcnkgUHJvZHVjdGlvbiBub2RlIGtpbmQgZGVjbGFyYXRpb25zIChERUNBRi0zMiDCpzIyLjIpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgQUxGUkVELTUgbm9kZSBraW5kXG4gKiB0YXhvbm9teS4gVGhlc2UgYXJlIHRoZSBmcmFtZXdvcmsncyBidWlsdC1pbiBub2RlIGRlZmluaXRpb25zIOKAlCB0cmlnZ2Vyc1xuICogKMKnMjIuMi4xKSwgZmxvdy1jb250cm9sL3V0aWxpdHkgbm9kZXMgKMKnMjIuMi4y4oCTMjIuMi4zKSwgYW5kIHRoZSBBZ2VudCBub2RlXG4gKiAowqcyMS4zKS4gVGhlIHRocmVlIGxvb3Aga2luZHMgKGBjb3JlLmxvb3AuZm9yZWFjaC93aGlsZS91bnRpbGApIGFscmVhZHkgaGF2ZVxuICogYnVpbHQtaW4gZXhlY3V0b3JzICjCpzUuOSkgYW5kIGFyZSBub3QgcmVkZWNsYXJlZCBoZXJlLlxuICpcbiAqIENvbnN1bWVycyAoZm9yLWFuZ3VsYXIsIEFMRlJFRCwgZXRjLikgaW1wb3J0IHRoZXNlIGRlY2xhcmF0aW9ucyB0byBwb3B1bGF0ZVxuICogbm9kZSBwYWxldHRlcywgcmVnaXN0cmllcywgYW5kIHJlZmVyZW5jZSBzbmFwc2hvdHMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2Jhc2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhdGVnb3J5LXN0eWxlcy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJpZ2dlcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zsb3ctY29udHJvbC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWdlbnQuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Ym05a1pYTXZhVzVrWlhndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN096czdPenM3TzBkQlYwYzdRVUZEU0N3d1FrRkJkVUk3UVVGRGRrSXNjVU5CUVd0RE8wRkJRMnhETERoQ1FVRXlRanRCUVVNelFpeHJRMEZCSzBJN1FVRkRMMElzTWtKQlFYZENJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1Y3k5bmNtRndhQzl1YjJSbGMxeHVJQ29nUUhOMWJXMWhjbmtnVUhKdlpIVmpkR2x2YmlCdWIyUmxJR3RwYm1RZ1pHVmpiR0Z5WVhScGIyNXpJQ2hFUlVOQlJpMHpNaURDcHpJeUxqSXBMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRU5oYm05dWFXTmhiQ0JnUUc1dlpHVmdMV1JsWTI5eVlYUmxaQ0JqYkdGemMyVnpJR1p2Y2lCMGFHVWdRVXhHVWtWRUxUVWdibTlrWlNCcmFXNWtYRzRnS2lCMFlYaHZibTl0ZVM0Z1ZHaGxjMlVnWVhKbElIUm9aU0JtY21GdFpYZHZjbXNuY3lCaWRXbHNkQzFwYmlCdWIyUmxJR1JsWm1sdWFYUnBiMjV6SU9LQWxDQjBjbWxuWjJWeWMxeHVJQ29nS01Lbk1qSXVNaTR4S1N3Z1pteHZkeTFqYjI1MGNtOXNMM1YwYVd4cGRIa2dibTlrWlhNZ0tNS25Nakl1TWk0eTRvQ1RNakl1TWk0ektTd2dZVzVrSUhSb1pTQkJaMlZ1ZENCdWIyUmxYRzRnS2lBb3dxY3lNUzR6S1M0Z1ZHaGxJSFJvY21WbElHeHZiM0FnYTJsdVpITWdLR0JqYjNKbExteHZiM0F1Wm05eVpXRmphQzkzYUdsc1pTOTFiblJwYkdBcElHRnNjbVZoWkhrZ2FHRjJaVnh1SUNvZ1luVnBiSFF0YVc0Z1pYaGxZM1YwYjNKeklDakNwelV1T1NrZ1lXNWtJR0Z5WlNCdWIzUWdjbVZrWldOc1lYSmxaQ0JvWlhKbExseHVJQ3BjYmlBcUlFTnZibk4xYldWeWN5QW9abTl5TFdGdVozVnNZWElzSUVGTVJsSkZSQ3dnWlhSakxpa2dhVzF3YjNKMElIUm9aWE5sSUdSbFkyeGhjbUYwYVc5dWN5QjBieUJ3YjNCMWJHRjBaVnh1SUNvZ2JtOWtaU0J3WVd4bGRIUmxjeXdnY21WbmFYTjBjbWxsY3l3Z1lXNWtJSEpsWm1WeVpXNWpaU0J6Ym1Gd2MyaHZkSE11WEc0Z0tpOWNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMkpoYzJWY0lqdGNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMk5oZEdWbmIzSjVMWE4wZVd4bGMxd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2ZEhKcFoyZGxjbk5jSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwyWnNiM2N0WTI5dWRISnZiRndpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dllXZGxiblJjSWp0Y2JpSmRmUT09Il19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvc2hhcmVkL25vZGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsMEJBQXVCO0FBQ3ZCLHFDQUFrQztBQUNsQyw4QkFBMkI7QUFDM0Isa0NBQStCO0FBQy9CLDJCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvbm9kZXNcbiAqIEBzdW1tYXJ5IFByb2R1Y3Rpb24gbm9kZSBraW5kIGRlY2xhcmF0aW9ucyAoREVDQUYtMzIgwqcyMi4yKS5cbiAqIEBkZXNjcmlwdGlvbiBDYW5vbmljYWwgYEBub2RlYC1kZWNvcmF0ZWQgY2xhc3NlcyBmb3IgdGhlIEFMRlJFRC01IG5vZGUga2luZFxuICogdGF4b25vbXkuIFRoZXNlIGFyZSB0aGUgZnJhbWV3b3JrJ3MgYnVpbHQtaW4gbm9kZSBkZWZpbml0aW9ucyDigJQgdHJpZ2dlcnNcbiAqICjCpzIyLjIuMSksIGZsb3ctY29udHJvbC91dGlsaXR5IG5vZGVzICjCpzIyLjIuMuKAkzIyLjIuMyksIGFuZCB0aGUgQWdlbnQgbm9kZVxuICogKMKnMjEuMykuIFRoZSB0aHJlZSBsb29wIGtpbmRzIChgY29yZS5sb29wLmZvcmVhY2gvd2hpbGUvdW50aWxgKSBhbHJlYWR5IGhhdmVcbiAqIGJ1aWx0LWluIGV4ZWN1dG9ycyAowqc1LjkpIGFuZCBhcmUgbm90IHJlZGVjbGFyZWQgaGVyZS5cbiAqXG4gKiBDb25zdW1lcnMgKGZvci1hbmd1bGFyLCBBTEZSRUQsIGV0Yy4pIGltcG9ydCB0aGVzZSBkZWNsYXJhdGlvbnMgdG8gcG9wdWxhdGVcbiAqIG5vZGUgcGFsZXR0ZXMsIHJlZ2lzdHJpZXMsIGFuZCByZWZlcmVuY2Ugc25hcHNob3RzLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9iYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jYXRlZ29yeS1zdHlsZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyaWdnZXJzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mbG93LWNvbnRyb2xcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FnZW50XCI7XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCw0Q0FBMEI7QUFDMUIsdURBQXFDO0FBQ3JDLGdEQUE4QjtBQUM5QixvREFBa0M7QUFDbEMsNkNBQTJCO0FBQzNCLHM1Q0FBczVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ub2Rlc1xuICogQHN1bW1hcnkgUHJvZHVjdGlvbiBub2RlIGtpbmQgZGVjbGFyYXRpb25zIChERUNBRi0zMiDCpzIyLjIpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgQUxGUkVELTUgbm9kZSBraW5kXG4gKiB0YXhvbm9teS4gVGhlc2UgYXJlIHRoZSBmcmFtZXdvcmsncyBidWlsdC1pbiBub2RlIGRlZmluaXRpb25zIOKAlCB0cmlnZ2Vyc1xuICogKMKnMjIuMi4xKSwgZmxvdy1jb250cm9sL3V0aWxpdHkgbm9kZXMgKMKnMjIuMi4y4oCTMjIuMi4zKSwgYW5kIHRoZSBBZ2VudCBub2RlXG4gKiAowqcyMS4zKS4gVGhlIHRocmVlIGxvb3Aga2luZHMgKGBjb3JlLmxvb3AuZm9yZWFjaC93aGlsZS91bnRpbGApIGFscmVhZHkgaGF2ZVxuICogYnVpbHQtaW4gZXhlY3V0b3JzICjCpzUuOSkgYW5kIGFyZSBub3QgcmVkZWNsYXJlZCBoZXJlLlxuICpcbiAqIENvbnN1bWVycyAoZm9yLWFuZ3VsYXIsIEFMRlJFRCwgZXRjLikgaW1wb3J0IHRoZXNlIGRlY2xhcmF0aW9ucyB0byBwb3B1bGF0ZVxuICogbm9kZSBwYWxldHRlcywgcmVnaXN0cmllcywgYW5kIHJlZmVyZW5jZSBzbmFwc2hvdHMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2Jhc2UuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NhdGVnb3J5LXN0eWxlcy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJpZ2dlcnMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Zsb3ctY29udHJvbC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYWdlbnQuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZaM0poY0dndmMyaGhjbVZrTDI1dlpHVnpMMmx1WkdWNExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCT3pzN096czdPenM3T3p0SFFWZEhPMEZCUTBnc01FSkJRWFZDTzBGQlEzWkNMSEZEUVVGclF6dEJRVU5zUXl3NFFrRkJNa0k3UVVGRE0wSXNhME5CUVN0Q08wRkJReTlDTERKQ1FVRjNRaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdlozSmhjR2d2Ym05a1pYTmNiaUFxSUVCemRXMXRZWEo1SUZCeWIyUjFZM1JwYjI0Z2JtOWtaU0JyYVc1a0lHUmxZMnhoY21GMGFXOXVjeUFvUkVWRFFVWXRNeklnd3FjeU1pNHlLUzVjYmlBcUlFQmtaWE5qY21sd2RHbHZiaUJEWVc1dmJtbGpZV3dnWUVCdWIyUmxZQzFrWldOdmNtRjBaV1FnWTJ4aGMzTmxjeUJtYjNJZ2RHaGxJRUZNUmxKRlJDMDFJRzV2WkdVZ2EybHVaRnh1SUNvZ2RHRjRiMjV2YlhrdUlGUm9aWE5sSUdGeVpTQjBhR1VnWm5KaGJXVjNiM0pySjNNZ1luVnBiSFF0YVc0Z2JtOWtaU0JrWldacGJtbDBhVzl1Y3lEaWdKUWdkSEpwWjJkbGNuTmNiaUFxSUNqQ3B6SXlMakl1TVNrc0lHWnNiM2N0WTI5dWRISnZiQzkxZEdsc2FYUjVJRzV2WkdWeklDakNwekl5TGpJdU11S0Frekl5TGpJdU15a3NJR0Z1WkNCMGFHVWdRV2RsYm5RZ2JtOWtaVnh1SUNvZ0tNS25NakV1TXlrdUlGUm9aU0IwYUhKbFpTQnNiMjl3SUd0cGJtUnpJQ2hnWTI5eVpTNXNiMjl3TG1admNtVmhZMmd2ZDJocGJHVXZkVzUwYVd4Z0tTQmhiSEpsWVdSNUlHaGhkbVZjYmlBcUlHSjFhV3gwTFdsdUlHVjRaV04xZEc5eWN5QW93cWMxTGprcElHRnVaQ0JoY21VZ2JtOTBJSEpsWkdWamJHRnlaV1FnYUdWeVpTNWNiaUFxWEc0Z0tpQkRiMjV6ZFcxbGNuTWdLR1p2Y2kxaGJtZDFiR0Z5TENCQlRFWlNSVVFzSUdWMFl5NHBJR2x0Y0c5eWRDQjBhR1Z6WlNCa1pXTnNZWEpoZEdsdmJuTWdkRzhnY0c5d2RXeGhkR1ZjYmlBcUlHNXZaR1VnY0dGc1pYUjBaWE1zSUhKbFoybHpkSEpwWlhNc0lHRnVaQ0J5WldabGNtVnVZMlVnYzI1aGNITm9iM1J6TGx4dUlDb3ZYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlpWVhObFhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlqWVhSbFoyOXllUzF6ZEhsc1pYTmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDNSeWFXZG5aWEp6WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOW1iRzkzTFdOdmJuUnliMnhjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwyRm5aVzUwWENJN1hHNGlYWDA9Il19
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GRAPH_TRIGGER_NODES = exports.ChatTriggerNode = exports.FormTriggerNode = exports.EventTriggerNode = exports.ScheduleTriggerNode = exports.WebhookTriggerNode = exports.ManualTriggerNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module integrations/graph/nodes/triggers
20
+ * @summary Production trigger node kind declarations (DECAF-32 §22.2.1).
21
+ * @description Canonical `@node`-decorated classes for the six ALFRED-5 trigger
22
+ * kinds. Triggers are metadata-only entrypoints: they define how a workflow
23
+ * starts and produce a trigger payload on their `@output` ports. They have no
24
+ * `@input` ports (nothing feeds a trigger) and no built-in executors — the
25
+ * engine's execution model starts from workflow inputs (§5.8) and treats
26
+ * trigger nodes as metadata-only entrypoints.
27
+ */
28
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
29
+ const ui_decorators_1 = require("@decaf-ts/ui-decorators");
30
+ const graph_1 = require("@decaf-ts/ui-decorators/graph");
31
+ /**
32
+ * Manual trigger — user clicks Run; input form generated from `inputSchema`.
33
+ */
34
+ let ManualTriggerNode = class ManualTriggerNode extends decorator_validation_1.Model {
35
+ };
36
+ exports.ManualTriggerNode = ManualTriggerNode;
37
+ __decorate([
38
+ (0, decorator_validation_1.required)(),
39
+ (0, ui_decorators_1.uielement)("textarea", { label: "Trigger payload", placeholder: "Manual trigger payload" }),
40
+ (0, graph_1.output)({ handle: "payload" }),
41
+ __metadata("design:type", Object)
42
+ ], ManualTriggerNode.prototype, "payload", void 0);
43
+ exports.ManualTriggerNode = ManualTriggerNode = __decorate([
44
+ (0, graph_1.node)("core.trigger.manual", {
45
+ kind: "core.trigger.manual",
46
+ category: "Trigger",
47
+ color: "#3b82f6",
48
+ icon: "ti-hand-click",
49
+ width: 96,
50
+ height: 96,
51
+ labels: ["trigger", "manual", "entrypoint"],
52
+ metadata: {
53
+ title: "Manual trigger",
54
+ description: "Starts the workflow when the user clicks Run. The input form is generated from the trigger's input schema.",
55
+ trigger: {
56
+ type: "manual",
57
+ inputSchema: {},
58
+ },
59
+ },
60
+ }),
61
+ (0, decorator_validation_1.model)()
62
+ ], ManualTriggerNode);
63
+ /**
64
+ * Webhook trigger — HTTP request received; path/method/auth/responseMode config.
65
+ */
66
+ let WebhookTriggerNode = class WebhookTriggerNode extends decorator_validation_1.Model {
67
+ };
68
+ exports.WebhookTriggerNode = WebhookTriggerNode;
69
+ __decorate([
70
+ (0, decorator_validation_1.required)(),
71
+ (0, ui_decorators_1.uielement)("textarea", { label: "Request payload", placeholder: "Webhook request body" }),
72
+ (0, graph_1.output)({ handle: "payload" }),
73
+ __metadata("design:type", Object)
74
+ ], WebhookTriggerNode.prototype, "payload", void 0);
75
+ exports.WebhookTriggerNode = WebhookTriggerNode = __decorate([
76
+ (0, graph_1.node)("core.trigger.webhook", {
77
+ kind: "core.trigger.webhook",
78
+ category: "Trigger",
79
+ color: "#0ea5e9",
80
+ icon: "ti-webhook",
81
+ width: 96,
82
+ height: 96,
83
+ labels: ["trigger", "webhook", "http"],
84
+ metadata: {
85
+ title: "Webhook trigger",
86
+ description: "Starts the workflow when an HTTP request is received on the configured path and method.",
87
+ trigger: {
88
+ type: "webhook",
89
+ path: "/webhook",
90
+ method: "POST",
91
+ auth: "none",
92
+ responseMode: "onReceived",
93
+ },
94
+ },
95
+ }),
96
+ (0, decorator_validation_1.model)()
97
+ ], WebhookTriggerNode);
98
+ /**
99
+ * Schedule trigger — cron-like schedule; timezone + payload config.
100
+ */
101
+ let ScheduleTriggerNode = class ScheduleTriggerNode extends decorator_validation_1.Model {
102
+ };
103
+ exports.ScheduleTriggerNode = ScheduleTriggerNode;
104
+ __decorate([
105
+ (0, decorator_validation_1.required)(),
106
+ (0, ui_decorators_1.uielement)("textarea", { label: "Scheduled payload", placeholder: "Payload for the scheduled run" }),
107
+ (0, graph_1.output)({ handle: "payload" }),
108
+ __metadata("design:type", Object)
109
+ ], ScheduleTriggerNode.prototype, "payload", void 0);
110
+ exports.ScheduleTriggerNode = ScheduleTriggerNode = __decorate([
111
+ (0, graph_1.node)("core.trigger.schedule", {
112
+ kind: "core.trigger.schedule",
113
+ category: "Trigger",
114
+ color: "#6366f1",
115
+ icon: "ti-calendar-time",
116
+ width: 96,
117
+ height: 96,
118
+ labels: ["trigger", "schedule", "cron"],
119
+ metadata: {
120
+ title: "Schedule trigger",
121
+ description: "Starts the workflow on a cron-like schedule with timezone support.",
122
+ trigger: {
123
+ type: "schedule",
124
+ schedule: "0 * * * *",
125
+ timezone: "UTC",
126
+ },
127
+ },
128
+ }),
129
+ (0, decorator_validation_1.model)()
130
+ ], ScheduleTriggerNode);
131
+ /**
132
+ * Event trigger — internal event bus topic subscriber.
133
+ */
134
+ let EventTriggerNode = class EventTriggerNode extends decorator_validation_1.Model {
135
+ };
136
+ exports.EventTriggerNode = EventTriggerNode;
137
+ __decorate([
138
+ (0, decorator_validation_1.required)(),
139
+ (0, ui_decorators_1.uielement)("textarea", { label: "Event payload", placeholder: "Event bus payload" }),
140
+ (0, graph_1.output)({ handle: "payload" }),
141
+ __metadata("design:type", Object)
142
+ ], EventTriggerNode.prototype, "payload", void 0);
143
+ exports.EventTriggerNode = EventTriggerNode = __decorate([
144
+ (0, graph_1.node)("core.trigger.event", {
145
+ kind: "core.trigger.event",
146
+ category: "Trigger",
147
+ color: "#8b5cf6",
148
+ icon: "ti-broadcast",
149
+ width: 96,
150
+ height: 96,
151
+ labels: ["trigger", "event", "bus"],
152
+ metadata: {
153
+ title: "Event trigger",
154
+ description: "Starts the workflow when an event is published on the configured internal event bus topic.",
155
+ trigger: {
156
+ type: "event",
157
+ topic: "default",
158
+ },
159
+ },
160
+ }),
161
+ (0, decorator_validation_1.model)()
162
+ ], EventTriggerNode);
163
+ /**
164
+ * Form trigger — generated public/internal form; field definitions.
165
+ */
166
+ let FormTriggerNode = class FormTriggerNode extends decorator_validation_1.Model {
167
+ };
168
+ exports.FormTriggerNode = FormTriggerNode;
169
+ __decorate([
170
+ (0, decorator_validation_1.required)(),
171
+ (0, ui_decorators_1.uielement)("textarea", { label: "Form submission", placeholder: "Form submission payload" }),
172
+ (0, graph_1.output)({ handle: "payload" }),
173
+ __metadata("design:type", Object)
174
+ ], FormTriggerNode.prototype, "payload", void 0);
175
+ exports.FormTriggerNode = FormTriggerNode = __decorate([
176
+ (0, graph_1.node)("core.trigger.form", {
177
+ kind: "core.trigger.form",
178
+ category: "Trigger",
179
+ color: "#ec4899",
180
+ icon: "ti-forms",
181
+ width: 96,
182
+ height: 96,
183
+ labels: ["trigger", "form", "public"],
184
+ metadata: {
185
+ title: "Form trigger",
186
+ description: "Starts the workflow when a generated form is submitted. Field definitions drive the form schema.",
187
+ trigger: {
188
+ type: "form",
189
+ fields: [],
190
+ },
191
+ },
192
+ }),
193
+ (0, decorator_validation_1.model)()
194
+ ], FormTriggerNode);
195
+ /**
196
+ * Chat trigger — chat message entrypoint; message/sessionId/userId schema.
197
+ */
198
+ let ChatTriggerNode = class ChatTriggerNode extends decorator_validation_1.Model {
199
+ };
200
+ exports.ChatTriggerNode = ChatTriggerNode;
201
+ __decorate([
202
+ (0, decorator_validation_1.required)(),
203
+ (0, ui_decorators_1.uielement)("input", { label: "Message", placeholder: "Incoming chat message" }),
204
+ (0, graph_1.output)({ handle: "message" }),
205
+ __metadata("design:type", String)
206
+ ], ChatTriggerNode.prototype, "message", void 0);
207
+ __decorate([
208
+ (0, decorator_validation_1.required)(),
209
+ (0, ui_decorators_1.uielement)("input", { label: "Session ID", placeholder: "Chat session identifier" }),
210
+ (0, graph_1.output)({ handle: "sessionId" }),
211
+ __metadata("design:type", String)
212
+ ], ChatTriggerNode.prototype, "sessionId", void 0);
213
+ __decorate([
214
+ (0, decorator_validation_1.required)(),
215
+ (0, ui_decorators_1.uielement)("input", { label: "User ID", placeholder: "Chat user identifier" }),
216
+ (0, graph_1.output)({ handle: "userId" }),
217
+ __metadata("design:type", String)
218
+ ], ChatTriggerNode.prototype, "userId", void 0);
219
+ exports.ChatTriggerNode = ChatTriggerNode = __decorate([
220
+ (0, graph_1.node)("core.trigger.chat", {
221
+ kind: "core.trigger.chat",
222
+ category: "Trigger",
223
+ color: "#14b8a6",
224
+ icon: "ti-message-circle",
225
+ width: 96,
226
+ height: 96,
227
+ labels: ["trigger", "chat", "entrypoint"],
228
+ metadata: {
229
+ title: "Chat trigger",
230
+ description: "Starts the workflow when a chat message is received. Emits message, sessionId, and userId.",
231
+ trigger: {
232
+ type: "chat",
233
+ },
234
+ },
235
+ }),
236
+ (0, decorator_validation_1.model)()
237
+ ], ChatTriggerNode);
238
+ /**
239
+ * All built-in trigger node constructors.
240
+ */
241
+ exports.GRAPH_TRIGGER_NODES = [
242
+ ManualTriggerNode,
243
+ WebhookTriggerNode,
244
+ ScheduleTriggerNode,
245
+ EventTriggerNode,
246
+ FormTriggerNode,
247
+ ChatTriggerNode,
248
+ ];
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvc2hhcmVkL25vZGVzL3RyaWdnZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7R0FTRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdEOztHQUVHO0FBbUJJLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWtCLFNBQVEsS0FBSztDQUszQyxDQUFBO0FBREM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0lBQzFGLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzs7a0RBQ1o7QUFKUCxpQkFBaUI7SUFsQjdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtRQUMzQixJQUFJLEVBQUUscUJBQXFCO1FBQzNCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQztRQUMzQyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLFdBQVcsRUFBRSw0R0FBNEc7WUFDekgsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxRQUFRO2dCQUNkLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1NBQ0Y7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0ssaUJBQWlCLENBSzdCOztBQUVEOztHQUVHO0FBc0JJLElBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQW1CLFNBQVEsS0FBSztDQUs1QyxDQUFBO0FBREM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQ3hGLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzs7bURBQ1o7QUFKUCxrQkFBa0I7SUFyQjlCLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtRQUM1QixJQUFJLEVBQUUsc0JBQXNCO1FBQzVCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxZQUFZO1FBQ2xCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUN0QyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLFdBQVcsRUFBRSx5RkFBeUY7WUFDdEcsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxVQUFVO2dCQUNoQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUUsTUFBTTtnQkFDWixZQUFZLEVBQUUsWUFBWTthQUMzQjtTQUNGO0tBQ0YsQ0FBQztJQUNELEtBQUssRUFBRTtHQUNLLGtCQUFrQixDQUs5Qjs7QUFFRDs7R0FFRztBQW9CSSxJQUFNLG1CQUFtQixHQUF6QixNQUFNLG1CQUFvQixTQUFRLEtBQUs7Q0FLN0MsQ0FBQTtBQURDO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsQ0FBQztJQUNuRyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUM7O29EQUNaO0FBSlAsbUJBQW1CO0lBbkIvQixJQUFJLENBQUMsdUJBQXVCLEVBQUU7UUFDN0IsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUN2QyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsa0JBQWtCO1lBQ3pCLFdBQVcsRUFBRSxvRUFBb0U7WUFDakYsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxVQUFVO2dCQUNoQixRQUFRLEVBQUUsV0FBVztnQkFDckIsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRjtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxtQkFBbUIsQ0FLL0I7O0FBRUQ7O0dBRUc7QUFtQkksSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBaUIsU0FBUSxLQUFLO0NBSzFDLENBQUE7QUFEQztJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0lBQ25GLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzs7aURBQ1o7QUFKUCxnQkFBZ0I7SUFsQjVCLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtRQUMxQixJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxjQUFjO1FBQ3BCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUNuQyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsZUFBZTtZQUN0QixXQUFXLEVBQUUsNEZBQTRGO1lBQ3pHLE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUUsU0FBUzthQUNqQjtTQUNGO0tBQ0YsQ0FBQztJQUNELEtBQUssRUFBRTtHQUNLLGdCQUFnQixDQUs1Qjs7QUFFRDs7R0FFRztBQW1CSSxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFnQixTQUFRLEtBQUs7Q0FLekMsQ0FBQTtBQURDO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUMzRixNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUM7O2dEQUNaO0FBSlAsZUFBZTtJQWxCM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1FBQ3pCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQ3JDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxjQUFjO1lBQ3JCLFdBQVcsRUFBRSxrR0FBa0c7WUFDL0csT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxFQUFFO2FBQ1g7U0FDRjtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxlQUFlLENBSzNCOztBQUVEOztHQUVHO0FBa0JJLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsS0FBSztDQWV6QyxDQUFBO0FBWEM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQztJQUM5RSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUM7O2dEQUNiO0FBS2pCO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLENBQUM7SUFDbkYsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDOztrREFDYjtBQUtuQjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQzdFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQzs7K0NBQ2I7QUFkTCxlQUFlO0lBakIzQixJQUFJLENBQUMsbUJBQW1CLEVBQUU7UUFDekIsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQztRQUN6QyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsY0FBYztZQUNyQixXQUFXLEVBQUUsNEZBQTRGO1lBQ3pHLE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsTUFBTTthQUNiO1NBQ0Y7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0ssZUFBZSxDQWUzQjs7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsZUFBZTtDQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzL3RyaWdnZXJzXG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIHRyaWdnZXIgbm9kZSBraW5kIGRlY2xhcmF0aW9ucyAoREVDQUYtMzIgwqcyMi4yLjEpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgc2l4IEFMRlJFRC01IHRyaWdnZXJcbiAqIGtpbmRzLiBUcmlnZ2VycyBhcmUgbWV0YWRhdGEtb25seSBlbnRyeXBvaW50czogdGhleSBkZWZpbmUgaG93IGEgd29ya2Zsb3dcbiAqIHN0YXJ0cyBhbmQgcHJvZHVjZSBhIHRyaWdnZXIgcGF5bG9hZCBvbiB0aGVpciBgQG91dHB1dGAgcG9ydHMuIFRoZXkgaGF2ZSBub1xuICogYEBpbnB1dGAgcG9ydHMgKG5vdGhpbmcgZmVlZHMgYSB0cmlnZ2VyKSBhbmQgbm8gYnVpbHQtaW4gZXhlY3V0b3JzIOKAlCB0aGVcbiAqIGVuZ2luZSdzIGV4ZWN1dGlvbiBtb2RlbCBzdGFydHMgZnJvbSB3b3JrZmxvdyBpbnB1dHMgKMKnNS44KSBhbmQgdHJlYXRzXG4gKiB0cmlnZ2VyIG5vZGVzIGFzIG1ldGFkYXRhLW9ubHkgZW50cnlwb2ludHMuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IG5vZGUsIG91dHB1dCB9IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuXG4vKipcbiAqIE1hbnVhbCB0cmlnZ2VyIOKAlCB1c2VyIGNsaWNrcyBSdW47IGlucHV0IGZvcm0gZ2VuZXJhdGVkIGZyb20gYGlucHV0U2NoZW1hYC5cbiAqL1xuQG5vZGUoXCJjb3JlLnRyaWdnZXIubWFudWFsXCIsIHtcbiAga2luZDogXCJjb3JlLnRyaWdnZXIubWFudWFsXCIsXG4gIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgY29sb3I6IFwiIzNiODJmNlwiLFxuICBpY29uOiBcInRpLWhhbmQtY2xpY2tcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJtYW51YWxcIiwgXCJlbnRyeXBvaW50XCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIk1hbnVhbCB0cmlnZ2VyXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3RhcnRzIHRoZSB3b3JrZmxvdyB3aGVuIHRoZSB1c2VyIGNsaWNrcyBSdW4uIFRoZSBpbnB1dCBmb3JtIGlzIGdlbmVyYXRlZCBmcm9tIHRoZSB0cmlnZ2VyJ3MgaW5wdXQgc2NoZW1hLlwiLFxuICAgIHRyaWdnZXI6IHtcbiAgICAgIHR5cGU6IFwibWFudWFsXCIsXG4gICAgICBpbnB1dFNjaGVtYToge30sXG4gICAgfSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE1hbnVhbFRyaWdnZXJOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJUcmlnZ2VyIHBheWxvYWRcIiwgcGxhY2Vob2xkZXI6IFwiTWFudWFsIHRyaWdnZXIgcGF5bG9hZFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicGF5bG9hZFwiIH0pXG4gIHBheWxvYWQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIFdlYmhvb2sgdHJpZ2dlciDigJQgSFRUUCByZXF1ZXN0IHJlY2VpdmVkOyBwYXRoL21ldGhvZC9hdXRoL3Jlc3BvbnNlTW9kZSBjb25maWcuXG4gKi9cbkBub2RlKFwiY29yZS50cmlnZ2VyLndlYmhvb2tcIiwge1xuICBraW5kOiBcImNvcmUudHJpZ2dlci53ZWJob29rXCIsXG4gIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgY29sb3I6IFwiIzBlYTVlOVwiLFxuICBpY29uOiBcInRpLXdlYmhvb2tcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJ3ZWJob29rXCIsIFwiaHR0cFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJXZWJob29rIHRyaWdnZXJcIixcbiAgICBkZXNjcmlwdGlvbjogXCJTdGFydHMgdGhlIHdvcmtmbG93IHdoZW4gYW4gSFRUUCByZXF1ZXN0IGlzIHJlY2VpdmVkIG9uIHRoZSBjb25maWd1cmVkIHBhdGggYW5kIG1ldGhvZC5cIixcbiAgICB0cmlnZ2VyOiB7XG4gICAgICB0eXBlOiBcIndlYmhvb2tcIixcbiAgICAgIHBhdGg6IFwiL3dlYmhvb2tcIixcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBhdXRoOiBcIm5vbmVcIixcbiAgICAgIHJlc3BvbnNlTW9kZTogXCJvblJlY2VpdmVkXCIsXG4gICAgfSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFdlYmhvb2tUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiUmVxdWVzdCBwYXlsb2FkXCIsIHBsYWNlaG9sZGVyOiBcIldlYmhvb2sgcmVxdWVzdCBib2R5XCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJwYXlsb2FkXCIgfSlcbiAgcGF5bG9hZCE6IHVua25vd247XG59XG5cbi8qKlxuICogU2NoZWR1bGUgdHJpZ2dlciDigJQgY3Jvbi1saWtlIHNjaGVkdWxlOyB0aW1lem9uZSArIHBheWxvYWQgY29uZmlnLlxuICovXG5Abm9kZShcImNvcmUudHJpZ2dlci5zY2hlZHVsZVwiLCB7XG4gIGtpbmQ6IFwiY29yZS50cmlnZ2VyLnNjaGVkdWxlXCIsXG4gIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgY29sb3I6IFwiIzYzNjZmMVwiLFxuICBpY29uOiBcInRpLWNhbGVuZGFyLXRpbWVcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJzY2hlZHVsZVwiLCBcImNyb25cIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiU2NoZWR1bGUgdHJpZ2dlclwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgb24gYSBjcm9uLWxpa2Ugc2NoZWR1bGUgd2l0aCB0aW1lem9uZSBzdXBwb3J0LlwiLFxuICAgIHRyaWdnZXI6IHtcbiAgICAgIHR5cGU6IFwic2NoZWR1bGVcIixcbiAgICAgIHNjaGVkdWxlOiBcIjAgKiAqICogKlwiLFxuICAgICAgdGltZXpvbmU6IFwiVVRDXCIsXG4gICAgfSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlVHJpZ2dlck5vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIlNjaGVkdWxlZCBwYXlsb2FkXCIsIHBsYWNlaG9sZGVyOiBcIlBheWxvYWQgZm9yIHRoZSBzY2hlZHVsZWQgcnVuXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJwYXlsb2FkXCIgfSlcbiAgcGF5bG9hZCE6IHVua25vd247XG59XG5cbi8qKlxuICogRXZlbnQgdHJpZ2dlciDigJQgaW50ZXJuYWwgZXZlbnQgYnVzIHRvcGljIHN1YnNjcmliZXIuXG4gKi9cbkBub2RlKFwiY29yZS50cmlnZ2VyLmV2ZW50XCIsIHtcbiAga2luZDogXCJjb3JlLnRyaWdnZXIuZXZlbnRcIixcbiAgY2F0ZWdvcnk6IFwiVHJpZ2dlclwiLFxuICBjb2xvcjogXCIjOGI1Y2Y2XCIsXG4gIGljb246IFwidGktYnJvYWRjYXN0XCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJ0cmlnZ2VyXCIsIFwiZXZlbnRcIiwgXCJidXNcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiRXZlbnQgdHJpZ2dlclwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhbiBldmVudCBpcyBwdWJsaXNoZWQgb24gdGhlIGNvbmZpZ3VyZWQgaW50ZXJuYWwgZXZlbnQgYnVzIHRvcGljLlwiLFxuICAgIHRyaWdnZXI6IHtcbiAgICAgIHR5cGU6IFwiZXZlbnRcIixcbiAgICAgIHRvcGljOiBcImRlZmF1bHRcIixcbiAgICB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgRXZlbnRUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiRXZlbnQgcGF5bG9hZFwiLCBwbGFjZWhvbGRlcjogXCJFdmVudCBidXMgcGF5bG9hZFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicGF5bG9hZFwiIH0pXG4gIHBheWxvYWQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEZvcm0gdHJpZ2dlciDigJQgZ2VuZXJhdGVkIHB1YmxpYy9pbnRlcm5hbCBmb3JtOyBmaWVsZCBkZWZpbml0aW9ucy5cbiAqL1xuQG5vZGUoXCJjb3JlLnRyaWdnZXIuZm9ybVwiLCB7XG4gIGtpbmQ6IFwiY29yZS50cmlnZ2VyLmZvcm1cIixcbiAgY2F0ZWdvcnk6IFwiVHJpZ2dlclwiLFxuICBjb2xvcjogXCIjZWM0ODk5XCIsXG4gIGljb246IFwidGktZm9ybXNcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJmb3JtXCIsIFwicHVibGljXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkZvcm0gdHJpZ2dlclwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhIGdlbmVyYXRlZCBmb3JtIGlzIHN1Ym1pdHRlZC4gRmllbGQgZGVmaW5pdGlvbnMgZHJpdmUgdGhlIGZvcm0gc2NoZW1hLlwiLFxuICAgIHRyaWdnZXI6IHtcbiAgICAgIHR5cGU6IFwiZm9ybVwiLFxuICAgICAgZmllbGRzOiBbXSxcbiAgICB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgRm9ybVRyaWdnZXJOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJGb3JtIHN1Ym1pc3Npb25cIiwgcGxhY2Vob2xkZXI6IFwiRm9ybSBzdWJtaXNzaW9uIHBheWxvYWRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInBheWxvYWRcIiB9KVxuICBwYXlsb2FkITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBDaGF0IHRyaWdnZXIg4oCUIGNoYXQgbWVzc2FnZSBlbnRyeXBvaW50OyBtZXNzYWdlL3Nlc3Npb25JZC91c2VySWQgc2NoZW1hLlxuICovXG5Abm9kZShcImNvcmUudHJpZ2dlci5jaGF0XCIsIHtcbiAga2luZDogXCJjb3JlLnRyaWdnZXIuY2hhdFwiLFxuICBjYXRlZ29yeTogXCJUcmlnZ2VyXCIsXG4gIGNvbG9yOiBcIiMxNGI4YTZcIixcbiAgaWNvbjogXCJ0aS1tZXNzYWdlLWNpcmNsZVwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1widHJpZ2dlclwiLCBcImNoYXRcIiwgXCJlbnRyeXBvaW50XCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkNoYXQgdHJpZ2dlclwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhIGNoYXQgbWVzc2FnZSBpcyByZWNlaXZlZC4gRW1pdHMgbWVzc2FnZSwgc2Vzc2lvbklkLCBhbmQgdXNlcklkLlwiLFxuICAgIHRyaWdnZXI6IHtcbiAgICAgIHR5cGU6IFwiY2hhdFwiLFxuICAgIH0sXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBDaGF0VHJpZ2dlck5vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIk1lc3NhZ2VcIiwgcGxhY2Vob2xkZXI6IFwiSW5jb21pbmcgY2hhdCBtZXNzYWdlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJtZXNzYWdlXCIgfSlcbiAgbWVzc2FnZSE6IHN0cmluZztcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJTZXNzaW9uIElEXCIsIHBsYWNlaG9sZGVyOiBcIkNoYXQgc2Vzc2lvbiBpZGVudGlmaWVyXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJzZXNzaW9uSWRcIiB9KVxuICBzZXNzaW9uSWQhOiBzdHJpbmc7XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiVXNlciBJRFwiLCBwbGFjZWhvbGRlcjogXCJDaGF0IHVzZXIgaWRlbnRpZmllclwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwidXNlcklkXCIgfSlcbiAgdXNlcklkITogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFsbCBidWlsdC1pbiB0cmlnZ2VyIG5vZGUgY29uc3RydWN0b3JzLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfVFJJR0dFUl9OT0RFUyA9IFtcbiAgTWFudWFsVHJpZ2dlck5vZGUsXG4gIFdlYmhvb2tUcmlnZ2VyTm9kZSxcbiAgU2NoZWR1bGVUcmlnZ2VyTm9kZSxcbiAgRXZlbnRUcmlnZ2VyTm9kZSxcbiAgRm9ybVRyaWdnZXJOb2RlLFxuICBDaGF0VHJpZ2dlck5vZGUsXG5dIGFzIGNvbnN0O1xuIl19
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0cmlnZ2Vycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJ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UztRQUNuQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQztRQUN6QyxRQUFRLEVBQUU7WUFDTixLQUFLLEVBQUUsY0FBYztZQUNyQixXQUFXLEVBQUUsNEZBQTRGO1lBQ3pHLE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsTUFBTTthQUNmO1NBQ0o7S0FDSixDQUFDO0lBQ0YsSUFBQSw0QkFBSyxHQUFFO0NBQ1YsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUVwQjs7R0FFRztBQUNVLFFBQUEsbUJBQW1CLEdBQUc7SUFDL0IsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixlQUFlO0NBQ2xCLENBQUM7QUFDRixzNWJBQXM1YiIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG4vKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzL3RyaWdnZXJzXG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIHRyaWdnZXIgbm9kZSBraW5kIGRlY2xhcmF0aW9ucyAoREVDQUYtMzIgwqcyMi4yLjEpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgc2l4IEFMRlJFRC01IHRyaWdnZXJcbiAqIGtpbmRzLiBUcmlnZ2VycyBhcmUgbWV0YWRhdGEtb25seSBlbnRyeXBvaW50czogdGhleSBkZWZpbmUgaG93IGEgd29ya2Zsb3dcbiAqIHN0YXJ0cyBhbmQgcHJvZHVjZSBhIHRyaWdnZXIgcGF5bG9hZCBvbiB0aGVpciBgQG91dHB1dGAgcG9ydHMuIFRoZXkgaGF2ZSBub1xuICogYEBpbnB1dGAgcG9ydHMgKG5vdGhpbmcgZmVlZHMgYSB0cmlnZ2VyKSBhbmQgbm8gYnVpbHQtaW4gZXhlY3V0b3JzIOKAlCB0aGVcbiAqIGVuZ2luZSdzIGV4ZWN1dGlvbiBtb2RlbCBzdGFydHMgZnJvbSB3b3JrZmxvdyBpbnB1dHMgKMKnNS44KSBhbmQgdHJlYXRzXG4gKiB0cmlnZ2VyIG5vZGVzIGFzIG1ldGFkYXRhLW9ubHkgZW50cnlwb2ludHMuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IG5vZGUsIG91dHB1dCB9IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuLyoqXG4gKiBNYW51YWwgdHJpZ2dlciDigJQgdXNlciBjbGlja3MgUnVuOyBpbnB1dCBmb3JtIGdlbmVyYXRlZCBmcm9tIGBpbnB1dFNjaGVtYWAuXG4gKi9cbmxldCBNYW51YWxUcmlnZ2VyTm9kZSA9IGNsYXNzIE1hbnVhbFRyaWdnZXJOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJUcmlnZ2VyIHBheWxvYWRcIiwgcGxhY2Vob2xkZXI6IFwiTWFudWFsIHRyaWdnZXIgcGF5bG9hZFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJwYXlsb2FkXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE1hbnVhbFRyaWdnZXJOb2RlLnByb3RvdHlwZSwgXCJwYXlsb2FkXCIsIHZvaWQgMCk7XG5NYW51YWxUcmlnZ2VyTm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLnRyaWdnZXIubWFudWFsXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLnRyaWdnZXIubWFudWFsXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgICAgICAgY29sb3I6IFwiIzNiODJmNlwiLFxuICAgICAgICBpY29uOiBcInRpLWhhbmQtY2xpY2tcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJtYW51YWxcIiwgXCJlbnRyeXBvaW50XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiTWFudWFsIHRyaWdnZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiB0aGUgdXNlciBjbGlja3MgUnVuLiBUaGUgaW5wdXQgZm9ybSBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgdHJpZ2dlcidzIGlucHV0IHNjaGVtYS5cIixcbiAgICAgICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcIm1hbnVhbFwiLFxuICAgICAgICAgICAgICAgIGlucHV0U2NoZW1hOiB7fSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgTWFudWFsVHJpZ2dlck5vZGUpO1xuZXhwb3J0IHsgTWFudWFsVHJpZ2dlck5vZGUgfTtcbi8qKlxuICogV2ViaG9vayB0cmlnZ2VyIOKAlCBIVFRQIHJlcXVlc3QgcmVjZWl2ZWQ7IHBhdGgvbWV0aG9kL2F1dGgvcmVzcG9uc2VNb2RlIGNvbmZpZy5cbiAqL1xubGV0IFdlYmhvb2tUcmlnZ2VyTm9kZSA9IGNsYXNzIFdlYmhvb2tUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiUmVxdWVzdCBwYXlsb2FkXCIsIHBsYWNlaG9sZGVyOiBcIldlYmhvb2sgcmVxdWVzdCBib2R5XCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInBheWxvYWRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgV2ViaG9va1RyaWdnZXJOb2RlLnByb3RvdHlwZSwgXCJwYXlsb2FkXCIsIHZvaWQgMCk7XG5XZWJob29rVHJpZ2dlck5vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS50cmlnZ2VyLndlYmhvb2tcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUudHJpZ2dlci53ZWJob29rXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgICAgICAgY29sb3I6IFwiIzBlYTVlOVwiLFxuICAgICAgICBpY29uOiBcInRpLXdlYmhvb2tcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJ3ZWJob29rXCIsIFwiaHR0cFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIldlYmhvb2sgdHJpZ2dlclwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU3RhcnRzIHRoZSB3b3JrZmxvdyB3aGVuIGFuIEhUVFAgcmVxdWVzdCBpcyByZWNlaXZlZCBvbiB0aGUgY29uZmlndXJlZCBwYXRoIGFuZCBtZXRob2QuXCIsXG4gICAgICAgICAgICB0cmlnZ2VyOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJ3ZWJob29rXCIsXG4gICAgICAgICAgICAgICAgcGF0aDogXCIvd2ViaG9va1wiLFxuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgYXV0aDogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VNb2RlOiBcIm9uUmVjZWl2ZWRcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgV2ViaG9va1RyaWdnZXJOb2RlKTtcbmV4cG9ydCB7IFdlYmhvb2tUcmlnZ2VyTm9kZSB9O1xuLyoqXG4gKiBTY2hlZHVsZSB0cmlnZ2VyIOKAlCBjcm9uLWxpa2Ugc2NoZWR1bGU7IHRpbWV6b25lICsgcGF5bG9hZCBjb25maWcuXG4gKi9cbmxldCBTY2hlZHVsZVRyaWdnZXJOb2RlID0gY2xhc3MgU2NoZWR1bGVUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiU2NoZWR1bGVkIHBheWxvYWRcIiwgcGxhY2Vob2xkZXI6IFwiUGF5bG9hZCBmb3IgdGhlIHNjaGVkdWxlZCBydW5cIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicGF5bG9hZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBTY2hlZHVsZVRyaWdnZXJOb2RlLnByb3RvdHlwZSwgXCJwYXlsb2FkXCIsIHZvaWQgMCk7XG5TY2hlZHVsZVRyaWdnZXJOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUudHJpZ2dlci5zY2hlZHVsZVwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS50cmlnZ2VyLnNjaGVkdWxlXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgICAgICAgY29sb3I6IFwiIzYzNjZmMVwiLFxuICAgICAgICBpY29uOiBcInRpLWNhbGVuZGFyLXRpbWVcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJzY2hlZHVsZVwiLCBcImNyb25cIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJTY2hlZHVsZSB0cmlnZ2VyXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTdGFydHMgdGhlIHdvcmtmbG93IG9uIGEgY3Jvbi1saWtlIHNjaGVkdWxlIHdpdGggdGltZXpvbmUgc3VwcG9ydC5cIixcbiAgICAgICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcInNjaGVkdWxlXCIsXG4gICAgICAgICAgICAgICAgc2NoZWR1bGU6IFwiMCAqICogKiAqXCIsXG4gICAgICAgICAgICAgICAgdGltZXpvbmU6IFwiVVRDXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIFNjaGVkdWxlVHJpZ2dlck5vZGUpO1xuZXhwb3J0IHsgU2NoZWR1bGVUcmlnZ2VyTm9kZSB9O1xuLyoqXG4gKiBFdmVudCB0cmlnZ2VyIOKAlCBpbnRlcm5hbCBldmVudCBidXMgdG9waWMgc3Vic2NyaWJlci5cbiAqL1xubGV0IEV2ZW50VHJpZ2dlck5vZGUgPSBjbGFzcyBFdmVudFRyaWdnZXJOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJFdmVudCBwYXlsb2FkXCIsIHBsYWNlaG9sZGVyOiBcIkV2ZW50IGJ1cyBwYXlsb2FkXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInBheWxvYWRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgRXZlbnRUcmlnZ2VyTm9kZS5wcm90b3R5cGUsIFwicGF5bG9hZFwiLCB2b2lkIDApO1xuRXZlbnRUcmlnZ2VyTm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLnRyaWdnZXIuZXZlbnRcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUudHJpZ2dlci5ldmVudFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJUcmlnZ2VyXCIsXG4gICAgICAgIGNvbG9yOiBcIiM4YjVjZjZcIixcbiAgICAgICAgaWNvbjogXCJ0aS1icm9hZGNhc3RcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJldmVudFwiLCBcImJ1c1wiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIkV2ZW50IHRyaWdnZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhbiBldmVudCBpcyBwdWJsaXNoZWQgb24gdGhlIGNvbmZpZ3VyZWQgaW50ZXJuYWwgZXZlbnQgYnVzIHRvcGljLlwiLFxuICAgICAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiZXZlbnRcIixcbiAgICAgICAgICAgICAgICB0b3BpYzogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIEV2ZW50VHJpZ2dlck5vZGUpO1xuZXhwb3J0IHsgRXZlbnRUcmlnZ2VyTm9kZSB9O1xuLyoqXG4gKiBGb3JtIHRyaWdnZXIg4oCUIGdlbmVyYXRlZCBwdWJsaWMvaW50ZXJuYWwgZm9ybTsgZmllbGQgZGVmaW5pdGlvbnMuXG4gKi9cbmxldCBGb3JtVHJpZ2dlck5vZGUgPSBjbGFzcyBGb3JtVHJpZ2dlck5vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkZvcm0gc3VibWlzc2lvblwiLCBwbGFjZWhvbGRlcjogXCJGb3JtIHN1Ym1pc3Npb24gcGF5bG9hZFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJwYXlsb2FkXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEZvcm1UcmlnZ2VyTm9kZS5wcm90b3R5cGUsIFwicGF5bG9hZFwiLCB2b2lkIDApO1xuRm9ybVRyaWdnZXJOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUudHJpZ2dlci5mb3JtXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLnRyaWdnZXIuZm9ybVwiLFxuICAgICAgICBjYXRlZ29yeTogXCJUcmlnZ2VyXCIsXG4gICAgICAgIGNvbG9yOiBcIiNlYzQ4OTlcIixcbiAgICAgICAgaWNvbjogXCJ0aS1mb3Jtc1wiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1widHJpZ2dlclwiLCBcImZvcm1cIiwgXCJwdWJsaWNcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJGb3JtIHRyaWdnZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhIGdlbmVyYXRlZCBmb3JtIGlzIHN1Ym1pdHRlZC4gRmllbGQgZGVmaW5pdGlvbnMgZHJpdmUgdGhlIGZvcm0gc2NoZW1hLlwiLFxuICAgICAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiZm9ybVwiLFxuICAgICAgICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIEZvcm1UcmlnZ2VyTm9kZSk7XG5leHBvcnQgeyBGb3JtVHJpZ2dlck5vZGUgfTtcbi8qKlxuICogQ2hhdCB0cmlnZ2VyIOKAlCBjaGF0IG1lc3NhZ2UgZW50cnlwb2ludDsgbWVzc2FnZS9zZXNzaW9uSWQvdXNlcklkIHNjaGVtYS5cbiAqL1xubGV0IENoYXRUcmlnZ2VyTm9kZSA9IGNsYXNzIENoYXRUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiTWVzc2FnZVwiLCBwbGFjZWhvbGRlcjogXCJJbmNvbWluZyBjaGF0IG1lc3NhZ2VcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwibWVzc2FnZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBDaGF0VHJpZ2dlck5vZGUucHJvdG90eXBlLCBcIm1lc3NhZ2VcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJTZXNzaW9uIElEXCIsIHBsYWNlaG9sZGVyOiBcIkNoYXQgc2Vzc2lvbiBpZGVudGlmaWVyXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInNlc3Npb25JZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBDaGF0VHJpZ2dlck5vZGUucHJvdG90eXBlLCBcInNlc3Npb25JZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlVzZXIgSURcIiwgcGxhY2Vob2xkZXI6IFwiQ2hhdCB1c2VyIGlkZW50aWZpZXJcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwidXNlcklkXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIENoYXRUcmlnZ2VyTm9kZS5wcm90b3R5cGUsIFwidXNlcklkXCIsIHZvaWQgMCk7XG5DaGF0VHJpZ2dlck5vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS50cmlnZ2VyLmNoYXRcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUudHJpZ2dlci5jaGF0XCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgICAgICAgY29sb3I6IFwiIzE0YjhhNlwiLFxuICAgICAgICBpY29uOiBcInRpLW1lc3NhZ2UtY2lyY2xlXCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJ0cmlnZ2VyXCIsIFwiY2hhdFwiLCBcImVudHJ5cG9pbnRcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJDaGF0IHRyaWdnZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhIGNoYXQgbWVzc2FnZSBpcyByZWNlaXZlZC4gRW1pdHMgbWVzc2FnZSwgc2Vzc2lvbklkLCBhbmQgdXNlcklkLlwiLFxuICAgICAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiY2hhdFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBDaGF0VHJpZ2dlck5vZGUpO1xuZXhwb3J0IHsgQ2hhdFRyaWdnZXJOb2RlIH07XG4vKipcbiAqIEFsbCBidWlsdC1pbiB0cmlnZ2VyIG5vZGUgY29uc3RydWN0b3JzLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfVFJJR0dFUl9OT0RFUyA9IFtcbiAgICBNYW51YWxUcmlnZ2VyTm9kZSxcbiAgICBXZWJob29rVHJpZ2dlck5vZGUsXG4gICAgU2NoZWR1bGVUcmlnZ2VyTm9kZSxcbiAgICBFdmVudFRyaWdnZXJOb2RlLFxuICAgIEZvcm1UcmlnZ2VyTm9kZSxcbiAgICBDaGF0VHJpZ2dlck5vZGUsXG5dO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhKcFoyZGxjbk11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZaM0poY0dndmMyaGhjbVZrTDI1dlpHVnpMM1J5YVdkblpYSnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenRCUVVGQk96czdPenM3T3pzN1IwRlRSenRCUVVOSUxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkZMRkZCUVZFc1JVRkJSU3hOUVVGTkxHZERRVUZuUXl4RFFVRkRPMEZCUTNoRkxFOUJRVThzUlVGQlJTeFRRVUZUTEVWQlFVVXNUVUZCVFN4NVFrRkJlVUlzUTBGQlF6dEJRVU53UkN4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEN0Q1FVRXJRaXhEUVVGRE8wRkJSVGRFT3p0SFFVVkhPMEZCYlVKSkxFbEJRVTBzYVVKQlFXbENMRWRCUVhaQ0xFMUJRVTBzYVVKQlFXdENMRk5CUVZFc1MwRkJTenREUVVzelF5eERRVUZCTzBGQlJFTTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTEZkQlFWY3NSVUZCUlN4M1FrRkJkMElzUlVGQlJTeERRVUZETzBsQlF6RkdMRTFCUVUwc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFRRVUZUTEVWQlFVVXNRMEZCUXpzN2EwUkJRMW83UVVGS1VDeHBRa0ZCYVVJN1NVRnNRamRDTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUlVGQlJUdFJRVU16UWl4SlFVRkpMRVZCUVVVc2NVSkJRWEZDTzFGQlF6TkNMRkZCUVZFc1JVRkJSU3hUUVVGVE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4VFFVRlRPMUZCUTJoQ0xFbEJRVWtzUlVGQlJTeGxRVUZsTzFGQlEzSkNMRXRCUVVzc1JVRkJSU3hGUVVGRk8xRkJRMVFzVFVGQlRTeEZRVUZGTEVWQlFVVTdVVUZEVml4TlFVRk5MRVZCUVVVc1EwRkJReXhUUVVGVExFVkJRVVVzVVVGQlVTeEZRVUZGTEZsQlFWa3NRMEZCUXp0UlFVTXpReXhSUVVGUkxFVkJRVVU3V1VGRFVpeExRVUZMTEVWQlFVVXNaMEpCUVdkQ08xbEJRM1pDTEZkQlFWY3NSVUZCUlN3MFIwRkJORWM3V1VGRGVrZ3NUMEZCVHl4RlFVRkZPMmRDUVVOUUxFbEJRVWtzUlVGQlJTeFJRVUZSTzJkQ1FVTmtMRmRCUVZjc1JVRkJSU3hGUVVGRk8yRkJRMmhDTzFOQlEwWTdTMEZEUml4RFFVRkRPMGxCUTBRc1MwRkJTeXhGUVVGRk8wZEJRMHNzYVVKQlFXbENMRU5CU3pkQ096dEJRVVZFT3p0SFFVVkhPMEZCYzBKSkxFbEJRVTBzYTBKQlFXdENMRWRCUVhoQ0xFMUJRVTBzYTBKQlFXMUNMRk5CUVZFc1MwRkJTenREUVVzMVF5eERRVUZCTzBGQlJFTTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTEZkQlFWY3NSVUZCUlN4elFrRkJjMElzUlVGQlJTeERRVUZETzBsQlEzaEdMRTFCUVUwc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFRRVUZUTEVWQlFVVXNRMEZCUXpzN2JVUkJRMW83UVVGS1VDeHJRa0ZCYTBJN1NVRnlRamxDTEVsQlFVa3NRMEZCUXl4elFrRkJjMElzUlVGQlJUdFJRVU0xUWl4SlFVRkpMRVZCUVVVc2MwSkJRWE5DTzFGQlF6VkNMRkZCUVZFc1JVRkJSU3hUUVVGVE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4VFFVRlRPMUZCUTJoQ0xFbEJRVWtzUlVGQlJTeFpRVUZaTzFGQlEyeENMRXRCUVVzc1JVRkJSU3hGUVVGRk8xRkJRMVFzVFVGQlRTeEZRVUZGTEVWQlFVVTdVVUZEVml4TlFVRk5MRVZCUVVVc1EwRkJReXhUUVVGVExFVkJRVVVzVTBGQlV5eEZRVUZGTEUxQlFVMHNRMEZCUXp0UlFVTjBReXhSUVVGUkxFVkJRVVU3V1VGRFVpeExRVUZMTEVWQlFVVXNhVUpCUVdsQ08xbEJRM2hDTEZkQlFWY3NSVUZCUlN4NVJrRkJlVVk3V1VGRGRFY3NUMEZCVHl4RlFVRkZPMmRDUVVOUUxFbEJRVWtzUlVGQlJTeFRRVUZUTzJkQ1FVTm1MRWxCUVVrc1JVRkJSU3hWUVVGVk8yZENRVU5vUWl4TlFVRk5MRVZCUVVVc1RVRkJUVHRuUWtGRFpDeEpRVUZKTEVWQlFVVXNUVUZCVFR0blFrRkRXaXhaUVVGWkxFVkJRVVVzV1VGQldUdGhRVU16UWp0VFFVTkdPMHRCUTBZc1EwRkJRenRKUVVORUxFdEJRVXNzUlVGQlJUdEhRVU5MTEd0Q1FVRnJRaXhEUVVzNVFqczdRVUZGUkRzN1IwRkZSenRCUVc5Q1NTeEpRVUZOTEcxQ1FVRnRRaXhIUVVGNlFpeE5RVUZOTEcxQ1FVRnZRaXhUUVVGUkxFdEJRVXM3UTBGTE4wTXNRMEZCUVR0QlFVUkRPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3h0UWtGQmJVSXNSVUZCUlN4WFFVRlhMRVZCUVVVc0swSkJRU3RDTEVWQlFVVXNRMEZCUXp0SlFVTnVSeXhOUVVGTkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNN08yOUVRVU5hTzBGQlNsQXNiVUpCUVcxQ08wbEJia0l2UWl4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVWQlFVVTdVVUZETjBJc1NVRkJTU3hGUVVGRkxIVkNRVUYxUWp0UlFVTTNRaXhSUVVGUkxFVkJRVVVzVTBGQlV6dFJRVU51UWl4TFFVRkxMRVZCUVVVc1UwRkJVenRSUVVOb1FpeEpRVUZKTEVWQlFVVXNhMEpCUVd0Q08xRkJRM2hDTEV0QlFVc3NSVUZCUlN4RlFVRkZPMUZCUTFRc1RVRkJUU3hGUVVGRkxFVkJRVVU3VVVGRFZpeE5RVUZOTEVWQlFVVXNRMEZCUXl4VFFVRlRMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFMUJRVTBzUTBGQlF6dFJRVU4yUXl4UlFVRlJMRVZCUVVVN1dVRkRVaXhMUVVGTExFVkJRVVVzYTBKQlFXdENPMWxCUTNwQ0xGZEJRVmNzUlVGQlJTeHZSVUZCYjBVN1dVRkRha1lzVDBGQlR5eEZRVUZGTzJkQ1FVTlFMRWxCUVVrc1JVRkJSU3hWUVVGVk8yZENRVU5vUWl4UlFVRlJMRVZCUVVVc1YwRkJWenRuUWtGRGNrSXNVVUZCVVN4RlFVRkZMRXRCUVVzN1lVRkRhRUk3VTBGRFJqdExRVU5HTEVOQlFVTTdTVUZEUkN4TFFVRkxMRVZCUVVVN1IwRkRTeXh0UWtGQmJVSXNRMEZMTDBJN08wRkJSVVE3TzBkQlJVYzdRVUZ0UWtrc1NVRkJUU3huUWtGQlowSXNSMEZCZEVJc1RVRkJUU3huUWtGQmFVSXNVMEZCVVN4TFFVRkxPME5CU3pGRExFTkJRVUU3UVVGRVF6dEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNaVUZCWlN4RlFVRkZMRmRCUVZjc1JVRkJSU3h0UWtGQmJVSXNSVUZCUlN4RFFVRkRPMGxCUTI1R0xFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4VFFVRlRMRVZCUVVVc1EwRkJRenM3YVVSQlExbzdRVUZLVUN4blFrRkJaMEk3U1VGc1FqVkNMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSVUZCUlR0UlFVTXhRaXhKUVVGSkxFVkJRVVVzYjBKQlFXOUNPMUZCUXpGQ0xGRkJRVkVzUlVGQlJTeFRRVUZUTzFGQlEyNUNMRXRCUVVzc1JVRkJSU3hUUVVGVE8xRkJRMmhDTEVsQlFVa3NSVUZCUlN4alFVRmpPMUZCUTNCQ0xFdEJRVXNzUlVGQlJTeEZRVUZGTzFGQlExUXNUVUZCVFN4RlFVRkZMRVZCUVVVN1VVRkRWaXhOUVVGTkxFVkJRVVVzUTBGQlF5eFRRVUZUTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1EwRkJRenRSUVVOdVF5eFJRVUZSTEVWQlFVVTdXVUZEVWl4TFFVRkxMRVZCUVVVc1pVRkJaVHRaUVVOMFFpeFhRVUZYTEVWQlFVVXNORVpCUVRSR08xbEJRM3BITEU5QlFVOHNSVUZCUlR0blFrRkRVQ3hKUVVGSkxFVkJRVVVzVDBGQlR6dG5Ra0ZEWWl4TFFVRkxMRVZCUVVVc1UwRkJVenRoUVVOcVFqdFRRVU5HTzB0QlEwWXNRMEZCUXp0SlFVTkVMRXRCUVVzc1JVRkJSVHRIUVVOTExHZENRVUZuUWl4RFFVczFRanM3UVVGRlJEczdSMEZGUnp0QlFXMUNTU3hKUVVGTkxHVkJRV1VzUjBGQmNrSXNUVUZCVFN4bFFVRm5RaXhUUVVGUkxFdEJRVXM3UTBGTGVrTXNRMEZCUVR0QlFVUkRPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hwUWtGQmFVSXNSVUZCUlN4WFFVRlhMRVZCUVVVc2VVSkJRWGxDTEVWQlFVVXNRMEZCUXp0SlFVTXpSaXhOUVVGTkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNN08yZEVRVU5hTzBGQlNsQXNaVUZCWlR0SlFXeENNMElzU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhGUVVGRk8xRkJRM3BDTEVsQlFVa3NSVUZCUlN4dFFrRkJiVUk3VVVGRGVrSXNVVUZCVVN4RlFVRkZMRk5CUVZNN1VVRkRia0lzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxGVkJRVlU3VVVGRGFFSXNTMEZCU3l4RlFVRkZMRVZCUVVVN1VVRkRWQ3hOUVVGTkxFVkJRVVVzUlVGQlJUdFJRVU5XTEUxQlFVMHNSVUZCUlN4RFFVRkRMRk5CUVZNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVVVGQlVTeERRVUZETzFGQlEzSkRMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeGpRVUZqTzFsQlEzSkNMRmRCUVZjc1JVRkJSU3hyUjBGQmEwYzdXVUZETDBjc1QwRkJUeXhGUVVGRk8yZENRVU5RTEVsQlFVa3NSVUZCUlN4TlFVRk5PMmRDUVVOYUxFMUJRVTBzUlVGQlJTeEZRVUZGTzJGQlExZzdVMEZEUmp0TFFVTkdMRU5CUVVNN1NVRkRSQ3hMUVVGTExFVkJRVVU3UjBGRFN5eGxRVUZsTEVOQlN6TkNPenRCUVVWRU96dEhRVVZITzBGQmEwSkpMRWxCUVUwc1pVRkJaU3hIUVVGeVFpeE5RVUZOTEdWQlFXZENMRk5CUVZFc1MwRkJTenREUVdWNlF5eERRVUZCTzBGQldFTTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRk5CUVZNc1JVRkJSU3hYUVVGWExFVkJRVVVzZFVKQlFYVkNMRVZCUVVVc1EwRkJRenRKUVVNNVJTeE5RVUZOTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1UwRkJVeXhGUVVGRkxFTkJRVU03TzJkRVFVTmlPMEZCUzJwQ08wbEJTRU1zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFpRVUZaTEVWQlFVVXNWMEZCVnl4RlFVRkZMSGxDUVVGNVFpeEZRVUZGTEVOQlFVTTdTVUZEYmtZc1RVRkJUU3hEUVVGRExFVkJRVVVzVFVGQlRTeEZRVUZGTEZkQlFWY3NSVUZCUlN4RFFVRkRPenRyUkVGRFlqdEJRVXR1UWp0SlFVaERMRkZCUVZFc1JVRkJSVHRKUVVOV0xGTkJRVk1zUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxGZEJRVmNzUlVGQlJTeHpRa0ZCYzBJc1JVRkJSU3hEUVVGRE8wbEJRemRGTEUxQlFVMHNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF6czdLME5CUTJJN1FVRmtUQ3hsUVVGbE8wbEJha0l6UWl4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVWQlFVVTdVVUZEZWtJc1NVRkJTU3hGUVVGRkxHMUNRVUZ0UWp0UlFVTjZRaXhSUVVGUkxFVkJRVVVzVTBGQlV6dFJRVU51UWl4TFFVRkxMRVZCUVVVc1UwRkJVenRSUVVOb1FpeEpRVUZKTEVWQlFVVXNiVUpCUVcxQ08xRkJRM3BDTEV0QlFVc3NSVUZCUlN4RlFVRkZPMUZCUTFRc1RVRkJUU3hGUVVGRkxFVkJRVVU3VVVGRFZpeE5RVUZOTEVWQlFVVXNRMEZCUXl4VFFVRlRMRVZCUVVVc1RVRkJUU3hGUVVGRkxGbEJRVmtzUTBGQlF6dFJRVU42UXl4UlFVRlJMRVZCUVVVN1dVRkRVaXhMUVVGTExFVkJRVVVzWTBGQll6dFpRVU55UWl4WFFVRlhMRVZCUVVVc05FWkJRVFJHTzFsQlEzcEhMRTlCUVU4c1JVRkJSVHRuUWtGRFVDeEpRVUZKTEVWQlFVVXNUVUZCVFR0aFFVTmlPMU5CUTBZN1MwRkRSaXhEUVVGRE8wbEJRMFFzUzBGQlN5eEZRVUZGTzBkQlEwc3NaVUZCWlN4RFFXVXpRanM3UVVGRlJEczdSMEZGUnp0QlFVTklMRTFCUVUwc1EwRkJReXhOUVVGTkxHMUNRVUZ0UWl4SFFVRkhPMGxCUTJwRExHbENRVUZwUWp0SlFVTnFRaXhyUWtGQmEwSTdTVUZEYkVJc2JVSkJRVzFDTzBsQlEyNUNMR2RDUVVGblFqdEpRVU5vUWl4bFFVRmxPMGxCUTJZc1pVRkJaVHREUVVOUUxFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwyZHlZWEJvTDI1dlpHVnpMM1J5YVdkblpYSnpYRzRnS2lCQWMzVnRiV0Z5ZVNCUWNtOWtkV04wYVc5dUlIUnlhV2RuWlhJZ2JtOWtaU0JyYVc1a0lHUmxZMnhoY21GMGFXOXVjeUFvUkVWRFFVWXRNeklnd3FjeU1pNHlMakVwTGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVOaGJtOXVhV05oYkNCZ1FHNXZaR1ZnTFdSbFkyOXlZWFJsWkNCamJHRnpjMlZ6SUdadmNpQjBhR1VnYzJsNElFRk1SbEpGUkMwMUlIUnlhV2RuWlhKY2JpQXFJR3RwYm1SekxpQlVjbWxuWjJWeWN5QmhjbVVnYldWMFlXUmhkR0V0YjI1c2VTQmxiblJ5ZVhCdmFXNTBjem9nZEdobGVTQmtaV1pwYm1VZ2FHOTNJR0VnZDI5eWEyWnNiM2RjYmlBcUlITjBZWEowY3lCaGJtUWdjSEp2WkhWalpTQmhJSFJ5YVdkblpYSWdjR0Y1Ykc5aFpDQnZiaUIwYUdWcGNpQmdRRzkxZEhCMWRHQWdjRzl5ZEhNdUlGUm9aWGtnYUdGMlpTQnViMXh1SUNvZ1lFQnBibkIxZEdBZ2NHOXlkSE1nS0c1dmRHaHBibWNnWm1WbFpITWdZU0IwY21sbloyVnlLU0JoYm1RZ2JtOGdZblZwYkhRdGFXNGdaWGhsWTNWMGIzSnpJT0tBbENCMGFHVmNiaUFxSUdWdVoybHVaU2R6SUdWNFpXTjFkR2x2YmlCdGIyUmxiQ0J6ZEdGeWRITWdabkp2YlNCM2IzSnJabXh2ZHlCcGJuQjFkSE1nS01Lbk5TNDRLU0JoYm1RZ2RISmxZWFJ6WEc0Z0tpQjBjbWxuWjJWeUlHNXZaR1Z6SUdGeklHMWxkR0ZrWVhSaExXOXViSGtnWlc1MGNubHdiMmx1ZEhNdVhHNGdLaTljYm1sdGNHOXlkQ0I3SUUxdlpHVnNMQ0J0YjJSbGJDd2djbVZ4ZFdseVpXUWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2V5QjFhV1ZzWlcxbGJuUWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMM1ZwTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRzV2WkdVc0lHOTFkSEIxZENCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdmRXa3RaR1ZqYjNKaGRHOXljeTluY21Gd2FGd2lPMXh1WEc0dktpcGNiaUFxSUUxaGJuVmhiQ0IwY21sbloyVnlJT0tBbENCMWMyVnlJR05zYVdOcmN5QlNkVzQ3SUdsdWNIVjBJR1p2Y20wZ1oyVnVaWEpoZEdWa0lHWnliMjBnWUdsdWNIVjBVMk5vWlcxaFlDNWNiaUFxTDF4dVFHNXZaR1VvWENKamIzSmxMblJ5YVdkblpYSXViV0Z1ZFdGc1hDSXNJSHRjYmlBZ2EybHVaRG9nWENKamIzSmxMblJ5YVdkblpYSXViV0Z1ZFdGc1hDSXNYRzRnSUdOaGRHVm5iM0o1T2lCY0lsUnlhV2RuWlhKY0lpeGNiaUFnWTI5c2IzSTZJRndpSXpOaU9ESm1ObHdpTEZ4dUlDQnBZMjl1T2lCY0luUnBMV2hoYm1RdFkyeHBZMnRjSWl4Y2JpQWdkMmxrZEdnNklEazJMRnh1SUNCb1pXbG5hSFE2SURrMkxGeHVJQ0JzWVdKbGJITTZJRnRjSW5SeWFXZG5aWEpjSWl3Z1hDSnRZVzUxWVd4Y0lpd2dYQ0psYm5SeWVYQnZhVzUwWENKZExGeHVJQ0J0WlhSaFpHRjBZVG9nZTF4dUlDQWdJSFJwZEd4bE9pQmNJazFoYm5WaGJDQjBjbWxuWjJWeVhDSXNYRzRnSUNBZ1pHVnpZM0pwY0hScGIyNDZJRndpVTNSaGNuUnpJSFJvWlNCM2IzSnJabXh2ZHlCM2FHVnVJSFJvWlNCMWMyVnlJR05zYVdOcmN5QlNkVzR1SUZSb1pTQnBibkIxZENCbWIzSnRJR2x6SUdkbGJtVnlZWFJsWkNCbWNtOXRJSFJvWlNCMGNtbG5aMlZ5SjNNZ2FXNXdkWFFnYzJOb1pXMWhMbHdpTEZ4dUlDQWdJSFJ5YVdkblpYSTZJSHRjYmlBZ0lDQWdJSFI1Y0dVNklGd2liV0Z1ZFdGc1hDSXNYRzRnSUNBZ0lDQnBibkIxZEZOamFHVnRZVG9nZTMwc1hHNGdJQ0FnZlN4Y2JpQWdmU3hjYm4wcFhHNUFiVzlrWld3b0tWeHVaWGh3YjNKMElHTnNZWE56SUUxaGJuVmhiRlJ5YVdkblpYSk9iMlJsSUdWNGRHVnVaSE1nVFc5a1pXd2dlMXh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JBZFdsbGJHVnRaVzUwS0Z3aWRHVjRkR0Z5WldGY0lpd2dleUJzWVdKbGJEb2dYQ0pVY21sbloyVnlJSEJoZVd4dllXUmNJaXdnY0d4aFkyVm9iMnhrWlhJNklGd2lUV0Z1ZFdGc0lIUnlhV2RuWlhJZ2NHRjViRzloWkZ3aUlIMHBYRzRnSUVCdmRYUndkWFFvZXlCb1lXNWtiR1U2SUZ3aWNHRjViRzloWkZ3aUlIMHBYRzRnSUhCaGVXeHZZV1FoT2lCMWJtdHViM2R1TzF4dWZWeHVYRzR2S2lwY2JpQXFJRmRsWW1odmIyc2dkSEpwWjJkbGNpRGlnSlFnU0ZSVVVDQnlaWEYxWlhOMElISmxZMlZwZG1Wa095QndZWFJvTDIxbGRHaHZaQzloZFhSb0wzSmxjM0J2Ym5ObFRXOWtaU0JqYjI1bWFXY3VYRzRnS2k5Y2JrQnViMlJsS0Z3aVkyOXlaUzUwY21sbloyVnlMbmRsWW1odmIydGNJaXdnZTF4dUlDQnJhVzVrT2lCY0ltTnZjbVV1ZEhKcFoyZGxjaTUzWldKb2IyOXJYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJbFJ5YVdkblpYSmNJaXhjYmlBZ1kyOXNiM0k2SUZ3aUl6QmxZVFZsT1Z3aUxGeHVJQ0JwWTI5dU9pQmNJblJwTFhkbFltaHZiMnRjSWl4Y2JpQWdkMmxrZEdnNklEazJMRnh1SUNCb1pXbG5hSFE2SURrMkxGeHVJQ0JzWVdKbGJITTZJRnRjSW5SeWFXZG5aWEpjSWl3Z1hDSjNaV0pvYjI5clhDSXNJRndpYUhSMGNGd2lYU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nWENKWFpXSm9iMjlySUhSeWFXZG5aWEpjSWl4Y2JpQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1hDSlRkR0Z5ZEhNZ2RHaGxJSGR2Y210bWJHOTNJSGRvWlc0Z1lXNGdTRlJVVUNCeVpYRjFaWE4wSUdseklISmxZMlZwZG1Wa0lHOXVJSFJvWlNCamIyNW1hV2QxY21Wa0lIQmhkR2dnWVc1a0lHMWxkR2h2WkM1Y0lpeGNiaUFnSUNCMGNtbG5aMlZ5T2lCN1hHNGdJQ0FnSUNCMGVYQmxPaUJjSW5kbFltaHZiMnRjSWl4Y2JpQWdJQ0FnSUhCaGRHZzZJRndpTDNkbFltaHZiMnRjSWl4Y2JpQWdJQ0FnSUcxbGRHaHZaRG9nWENKUVQxTlVYQ0lzWEc0Z0lDQWdJQ0JoZFhSb09pQmNJbTV2Ym1WY0lpeGNiaUFnSUNBZ0lISmxjM0J2Ym5ObFRXOWtaVG9nWENKdmJsSmxZMlZwZG1Wa1hDSXNYRzRnSUNBZ2ZTeGNiaUFnZlN4Y2JuMHBYRzVBYlc5a1pXd29LVnh1Wlhod2IzSjBJR05zWVhOeklGZGxZbWh2YjJ0VWNtbG5aMlZ5VG05a1pTQmxlSFJsYm1SeklFMXZaR1ZzSUh0Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJblJsZUhSaGNtVmhYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVVtVnhkV1Z6ZENCd1lYbHNiMkZrWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWxkbFltaHZiMnNnY21WeGRXVnpkQ0JpYjJSNVhDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSndZWGxzYjJGa1hDSWdmU2xjYmlBZ2NHRjViRzloWkNFNklIVnVhMjV2ZDI0N1hHNTlYRzVjYmk4cUtseHVJQ29nVTJOb1pXUjFiR1VnZEhKcFoyZGxjaURpZ0pRZ1kzSnZiaTFzYVd0bElITmphR1ZrZFd4bE95QjBhVzFsZW05dVpTQXJJSEJoZVd4dllXUWdZMjl1Wm1sbkxseHVJQ292WEc1QWJtOWtaU2hjSW1OdmNtVXVkSEpwWjJkbGNpNXpZMmhsWkhWc1pWd2lMQ0I3WEc0Z0lHdHBibVE2SUZ3aVkyOXlaUzUwY21sbloyVnlMbk5qYUdWa2RXeGxYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJbFJ5YVdkblpYSmNJaXhjYmlBZ1kyOXNiM0k2SUZ3aUl6WXpOalptTVZ3aUxGeHVJQ0JwWTI5dU9pQmNJblJwTFdOaGJHVnVaR0Z5TFhScGJXVmNJaXhjYmlBZ2QybGtkR2c2SURrMkxGeHVJQ0JvWldsbmFIUTZJRGsyTEZ4dUlDQnNZV0psYkhNNklGdGNJblJ5YVdkblpYSmNJaXdnWENKelkyaGxaSFZzWlZ3aUxDQmNJbU55YjI1Y0lsMHNYRzRnSUcxbGRHRmtZWFJoT2lCN1hHNGdJQ0FnZEdsMGJHVTZJRndpVTJOb1pXUjFiR1VnZEhKcFoyZGxjbHdpTEZ4dUlDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0lsTjBZWEowY3lCMGFHVWdkMjl5YTJac2IzY2diMjRnWVNCamNtOXVMV3hwYTJVZ2MyTm9aV1IxYkdVZ2QybDBhQ0IwYVcxbGVtOXVaU0J6ZFhCd2IzSjBMbHdpTEZ4dUlDQWdJSFJ5YVdkblpYSTZJSHRjYmlBZ0lDQWdJSFI1Y0dVNklGd2ljMk5vWldSMWJHVmNJaXhjYmlBZ0lDQWdJSE5qYUdWa2RXeGxPaUJjSWpBZ0tpQXFJQ29nS2x3aUxGeHVJQ0FnSUNBZ2RHbHRaWHB2Ym1VNklGd2lWVlJEWENJc1hHNGdJQ0FnZlN4Y2JpQWdmU3hjYm4wcFhHNUFiVzlrWld3b0tWeHVaWGh3YjNKMElHTnNZWE56SUZOamFHVmtkV3hsVkhKcFoyZGxjazV2WkdVZ1pYaDBaVzVrY3lCTmIyUmxiQ0I3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWxOamFHVmtkV3hsWkNCd1lYbHNiMkZrWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWxCaGVXeHZZV1FnWm05eUlIUm9aU0J6WTJobFpIVnNaV1FnY25WdVhDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSndZWGxzYjJGa1hDSWdmU2xjYmlBZ2NHRjViRzloWkNFNklIVnVhMjV2ZDI0N1hHNTlYRzVjYmk4cUtseHVJQ29nUlhabGJuUWdkSEpwWjJkbGNpRGlnSlFnYVc1MFpYSnVZV3dnWlhabGJuUWdZblZ6SUhSdmNHbGpJSE4xWW5OamNtbGlaWEl1WEc0Z0tpOWNia0J1YjJSbEtGd2lZMjl5WlM1MGNtbG5aMlZ5TG1WMlpXNTBYQ0lzSUh0Y2JpQWdhMmx1WkRvZ1hDSmpiM0psTG5SeWFXZG5aWEl1WlhabGJuUmNJaXhjYmlBZ1kyRjBaV2R2Y25rNklGd2lWSEpwWjJkbGNsd2lMRnh1SUNCamIyeHZjam9nWENJak9HSTFZMlkyWENJc1hHNGdJR2xqYjI0NklGd2lkR2t0WW5KdllXUmpZWE4wWENJc1hHNGdJSGRwWkhSb09pQTVOaXhjYmlBZ2FHVnBaMmgwT2lBNU5peGNiaUFnYkdGaVpXeHpPaUJiWENKMGNtbG5aMlZ5WENJc0lGd2laWFpsYm5SY0lpd2dYQ0ppZFhOY0lsMHNYRzRnSUcxbGRHRmtZWFJoT2lCN1hHNGdJQ0FnZEdsMGJHVTZJRndpUlhabGJuUWdkSEpwWjJkbGNsd2lMRnh1SUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJjSWxOMFlYSjBjeUIwYUdVZ2QyOXlhMlpzYjNjZ2QyaGxiaUJoYmlCbGRtVnVkQ0JwY3lCd2RXSnNhWE5vWldRZ2IyNGdkR2hsSUdOdmJtWnBaM1Z5WldRZ2FXNTBaWEp1WVd3Z1pYWmxiblFnWW5WeklIUnZjR2xqTGx3aUxGeHVJQ0FnSUhSeWFXZG5aWEk2SUh0Y2JpQWdJQ0FnSUhSNWNHVTZJRndpWlhabGJuUmNJaXhjYmlBZ0lDQWdJSFJ2Y0dsak9pQmNJbVJsWm1GMWJIUmNJaXhjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2xjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdSWFpsYm5SVWNtbG5aMlZ5VG05a1pTQmxlSFJsYm1SeklFMXZaR1ZzSUh0Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJblJsZUhSaGNtVmhYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVJYWmxiblFnY0dGNWJHOWhaRndpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pGZG1WdWRDQmlkWE1nY0dGNWJHOWhaRndpSUgwcFhHNGdJRUJ2ZFhSd2RYUW9leUJvWVc1a2JHVTZJRndpY0dGNWJHOWhaRndpSUgwcFhHNGdJSEJoZVd4dllXUWhPaUIxYm10dWIzZHVPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFWnZjbTBnZEhKcFoyZGxjaURpZ0pRZ1oyVnVaWEpoZEdWa0lIQjFZbXhwWXk5cGJuUmxjbTVoYkNCbWIzSnRPeUJtYVdWc1pDQmtaV1pwYm1sMGFXOXVjeTVjYmlBcUwxeHVRRzV2WkdVb1hDSmpiM0psTG5SeWFXZG5aWEl1Wm05eWJWd2lMQ0I3WEc0Z0lHdHBibVE2SUZ3aVkyOXlaUzUwY21sbloyVnlMbVp2Y20xY0lpeGNiaUFnWTJGMFpXZHZjbms2SUZ3aVZISnBaMmRsY2x3aUxGeHVJQ0JqYjJ4dmNqb2dYQ0lqWldNME9EazVYQ0lzWEc0Z0lHbGpiMjQ2SUZ3aWRHa3RabTl5YlhOY0lpeGNiaUFnZDJsa2RHZzZJRGsyTEZ4dUlDQm9aV2xuYUhRNklEazJMRnh1SUNCc1lXSmxiSE02SUZ0Y0luUnlhV2RuWlhKY0lpd2dYQ0ptYjNKdFhDSXNJRndpY0hWaWJHbGpYQ0pkTEZ4dUlDQnRaWFJoWkdGMFlUb2dlMXh1SUNBZ0lIUnBkR3hsT2lCY0lrWnZjbTBnZEhKcFoyZGxjbHdpTEZ4dUlDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0lsTjBZWEowY3lCMGFHVWdkMjl5YTJac2IzY2dkMmhsYmlCaElHZGxibVZ5WVhSbFpDQm1iM0p0SUdseklITjFZbTFwZEhSbFpDNGdSbWxsYkdRZ1pHVm1hVzVwZEdsdmJuTWdaSEpwZG1VZ2RHaGxJR1p2Y20wZ2MyTm9aVzFoTGx3aUxGeHVJQ0FnSUhSeWFXZG5aWEk2SUh0Y2JpQWdJQ0FnSUhSNWNHVTZJRndpWm05eWJWd2lMRnh1SUNBZ0lDQWdabWxsYkdSek9pQmJYU3hjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2xjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdSbTl5YlZSeWFXZG5aWEpPYjJSbElHVjRkR1Z1WkhNZ1RXOWtaV3dnZTF4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWRXbGxiR1Z0Wlc1MEtGd2lkR1Y0ZEdGeVpXRmNJaXdnZXlCc1lXSmxiRG9nWENKR2IzSnRJSE4xWW0xcGMzTnBiMjVjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpUm05eWJTQnpkV0p0YVhOemFXOXVJSEJoZVd4dllXUmNJaUI5S1Z4dUlDQkFiM1YwY0hWMEtIc2dhR0Z1Wkd4bE9pQmNJbkJoZVd4dllXUmNJaUI5S1Z4dUlDQndZWGxzYjJGa0lUb2dkVzVyYm05M2JqdGNibjFjYmx4dUx5b3FYRzRnS2lCRGFHRjBJSFJ5YVdkblpYSWc0b0NVSUdOb1lYUWdiV1Z6YzJGblpTQmxiblJ5ZVhCdmFXNTBPeUJ0WlhOellXZGxMM05sYzNOcGIyNUpaQzkxYzJWeVNXUWdjMk5vWlcxaExseHVJQ292WEc1QWJtOWtaU2hjSW1OdmNtVXVkSEpwWjJkbGNpNWphR0YwWENJc0lIdGNiaUFnYTJsdVpEb2dYQ0pqYjNKbExuUnlhV2RuWlhJdVkyaGhkRndpTEZ4dUlDQmpZWFJsWjI5eWVUb2dYQ0pVY21sbloyVnlYQ0lzWEc0Z0lHTnZiRzl5T2lCY0lpTXhOR0k0WVRaY0lpeGNiaUFnYVdOdmJqb2dYQ0owYVMxdFpYTnpZV2RsTFdOcGNtTnNaVndpTEZ4dUlDQjNhV1IwYURvZ09UWXNYRzRnSUdobGFXZG9kRG9nT1RZc1hHNGdJR3hoWW1Wc2N6b2dXMXdpZEhKcFoyZGxjbHdpTENCY0ltTm9ZWFJjSWl3Z1hDSmxiblJ5ZVhCdmFXNTBYQ0pkTEZ4dUlDQnRaWFJoWkdGMFlUb2dlMXh1SUNBZ0lIUnBkR3hsT2lCY0lrTm9ZWFFnZEhKcFoyZGxjbHdpTEZ4dUlDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0lsTjBZWEowY3lCMGFHVWdkMjl5YTJac2IzY2dkMmhsYmlCaElHTm9ZWFFnYldWemMyRm5aU0JwY3lCeVpXTmxhWFpsWkM0Z1JXMXBkSE1nYldWemMyRm5aU3dnYzJWemMybHZia2xrTENCaGJtUWdkWE5sY2tsa0xsd2lMRnh1SUNBZ0lIUnlhV2RuWlhJNklIdGNiaUFnSUNBZ0lIUjVjR1U2SUZ3aVkyaGhkRndpTEZ4dUlDQWdJSDBzWEc0Z0lIMHNYRzU5S1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJEYUdGMFZISnBaMmRsY2s1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0pwYm5CMWRGd2lMQ0I3SUd4aFltVnNPaUJjSWsxbGMzTmhaMlZjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpU1c1amIyMXBibWNnWTJoaGRDQnRaWE56WVdkbFhDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSnRaWE56WVdkbFhDSWdmU2xjYmlBZ2JXVnpjMkZuWlNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFkV2xsYkdWdFpXNTBLRndpYVc1d2RYUmNJaXdnZXlCc1lXSmxiRG9nWENKVFpYTnphVzl1SUVsRVhDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lrTm9ZWFFnYzJWemMybHZiaUJwWkdWdWRHbG1hV1Z5WENJZ2ZTbGNiaUFnUUc5MWRIQjFkQ2g3SUdoaGJtUnNaVG9nWENKelpYTnphVzl1U1dSY0lpQjlLVnh1SUNCelpYTnphVzl1U1dRaE9pQnpkSEpwYm1jN1hHNWNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRSFZwWld4bGJXVnVkQ2hjSW1sdWNIVjBYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVZYTmxjaUJKUkZ3aUxDQndiR0ZqWldodmJHUmxjam9nWENKRGFHRjBJSFZ6WlhJZ2FXUmxiblJwWm1sbGNsd2lJSDBwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lkWE5sY2tsa1hDSWdmU2xjYmlBZ2RYTmxja2xrSVRvZ2MzUnlhVzVuTzF4dWZWeHVYRzR2S2lwY2JpQXFJRUZzYkNCaWRXbHNkQzFwYmlCMGNtbG5aMlZ5SUc1dlpHVWdZMjl1YzNSeWRXTjBiM0p6TGx4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ1IxSkJVRWhmVkZKSlIwZEZVbDlPVDBSRlV5QTlJRnRjYmlBZ1RXRnVkV0ZzVkhKcFoyZGxjazV2WkdVc1hHNGdJRmRsWW1odmIydFVjbWxuWjJWeVRtOWtaU3hjYmlBZ1UyTm9aV1IxYkdWVWNtbG5aMlZ5VG05a1pTeGNiaUFnUlhabGJuUlVjbWxuWjJWeVRtOWtaU3hjYmlBZ1JtOXliVlJ5YVdkblpYSk9iMlJsTEZ4dUlDQkRhR0YwVkhKcFoyZGxjazV2WkdVc1hHNWRJR0Z6SUdOdmJuTjBPMXh1SWwxOSJdfQ==
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvc2hhcmVkL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3NoYXJlZC90eXBlc1xuICogQHN1bW1hcnkgRnJvbnRlbmQtc2FmZSBncmFwaCB0eXBlIGRlY2xhcmF0aW9ucy5cbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGFsaWFzZXMgYW5kIGludGVyZmFjZXMgdGhhdCBhcmUgc2FmZSB0byBpbXBvcnQgZnJvbSBhXG4gKiBmcm9udGVuZCBidW5kbGUuIFRoZXNlIHR5cGVzIGRlc2NyaWJlIGRlY2xhcmF0aXZlIGdyYXBoIG1ldGFkYXRhIChsb29wXG4gKiBjb25kaXRpb24gRFNMLCBzd2l0Y2ggY2FzZXMsIG5vZGUgbWV0YWRhdGEgcGF0Y2hlcykgY29uc3VtZWQgYnkgdGhlXG4gKiByZW5kZXJlciBhbmQgdGhlIG5vZGUgQ1JVRCBzY3JlZW5zIOKAlCBubyBlbmdpbmUgcnVudGltZSBkZXBlbmRlbmN5LlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoUG9ydERlZmluaXRpb24gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcblxuLyoqXG4gKiBBIHZhbHVlIHJlZmVyZW5jZSBpbnNpZGUgYSB7QGxpbmsgQ29uZGl0aW9uRXhwcmVzc2lvbn0uXG4gKlxuICogLSBgeyBjb25zdDogeCB9YCDigJQgYSBsaXRlcmFsIGNvbnN0YW50LlxuICogLSBgeyBwYXRoOiBcImEuYlwiIH1gIOKAlCBhIGRvdHRlZCBwYXRoIHJlc29sdmVkIGFnYWluc3QgdGhlIGN1cnJlbnQgbG9vcCBzdGF0ZS5cbiAqIC0gYHsgc3RlcDogXCJub2RlSWRcIiwgcGF0aDogXCJvdXRcIiB9YCDigJQgYSBjcm9zcy1ub2RlIHJlZmVyZW5jZSAocmVzb2x2ZWQgZnJvbVxuICogICB0aGUgZXhlY3V0aW9uIHN0YXRlIGluIHYxOyByZXNlcnZlZCBmb3IgZnV0dXJlIG11bHRpLXN0ZXAgZXZhbHVhdGlvbikuXG4gKi9cbmV4cG9ydCB0eXBlIEV4cHJWYWx1ZSA9XG4gIHwgeyBjb25zdDogdW5rbm93biB9XG4gIHwgeyBwYXRoOiBzdHJpbmcgfVxuICB8IHsgc3RlcDogc3RyaW5nOyBwYXRoOiBzdHJpbmcgfTtcblxuLyoqXG4gKiBEZWNsYXJhdGl2ZSwgc2VyaWFsaXphYmxlIGNvbmRpdGlvbiBleHByZXNzaW9uIERTTCAoQUxGUkVELTUgwqc4IC8gREVDQUYtMzIgwqcyMi4zKS5cbiAqXG4gKiBUaGUgZW5naW5lJ3MgYEdyYXBoQ29uZGl0aW9uRXZhbHVhdG9yYCByZWNvZ25pc2VzIHRoaXMgRFNMIHdoZW4gdGhlXG4gKiBjb25kaXRpb24gb2JqZWN0IGNhcnJpZXMgYW4gYG9wYCBmaWVsZCBhbmQgZGlzcGF0Y2hlcyB0byB0aGVcbiAqIGBDb25kaXRpb25FeHByZXNzaW9uRXZhbHVhdG9yYC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZGl0aW9uRXhwcmVzc2lvbiA9XG4gIHwgeyBvcDogXCJlcVwiOyBsZWZ0OiBFeHByVmFsdWU7IHJpZ2h0OiBFeHByVmFsdWUgfVxuICB8IHsgb3A6IFwibmVxXCI7IGxlZnQ6IEV4cHJWYWx1ZTsgcmlnaHQ6IEV4cHJWYWx1ZSB9XG4gIHwgeyBvcDogXCJndFwiOyBsZWZ0OiBFeHByVmFsdWU7IHJpZ2h0OiBFeHByVmFsdWUgfVxuICB8IHsgb3A6IFwiZ3RlXCI7IGxlZnQ6IEV4cHJWYWx1ZTsgcmlnaHQ6IEV4cHJWYWx1ZSB9XG4gIHwgeyBvcDogXCJsdFwiOyBsZWZ0OiBFeHByVmFsdWU7IHJpZ2h0OiBFeHByVmFsdWUgfVxuICB8IHsgb3A6IFwibHRlXCI7IGxlZnQ6IEV4cHJWYWx1ZTsgcmlnaHQ6IEV4cHJWYWx1ZSB9XG4gIHwgeyBvcDogXCJhbmRcIjsgY29uZGl0aW9uczogQ29uZGl0aW9uRXhwcmVzc2lvbltdIH1cbiAgfCB7IG9wOiBcIm9yXCI7IGNvbmRpdGlvbnM6IENvbmRpdGlvbkV4cHJlc3Npb25bXSB9XG4gIHwgeyBvcDogXCJub3RcIjsgY29uZGl0aW9uOiBDb25kaXRpb25FeHByZXNzaW9uIH1cbiAgfCB7IG9wOiBcImV4aXN0c1wiOyB2YWx1ZTogRXhwclZhbHVlIH07XG5cbi8qKlxuICogQSBjb2RlLWJhc2VkIGNvbmRpdGlvbiBldmFsdWF0ZWQgaW4gYSByZXN0cmljdGVkIFZNIHNhbmRib3ggKMKnMjIuNCkuXG4gKlxuICogVGhlIGVuZ2luZSBkb2VzIE5PVCBpbXBsZW1lbnQgdGhlIHNhbmRib3ggZGlyZWN0bHkg4oCUIGEgcGx1Z2dhYmxlXG4gKiBgQ29kZVNhbmRib3hFdmFsdWF0b3JgIG11c3QgYmUgcmVnaXN0ZXJlZCBmb3IgY29kZSBjb25kaXRpb25zIHRvIHdvcmsuXG4gKiBUaGUgY29kZSBtdXN0IGZvbGxvdyB0aGUgc2FtZSByZXN0cmljdGlvbnMgYXMgdGhlIENvZGUgTm9kZSAowqcyMi40KTpcbiAqIG5vIHN5c3RlbSBBUEkgYWNjZXNzLCBwbGFjZWhvbGRlciBzeW50YXggZm9yIHdvcmtmbG93IGRhdGEgcmVmZXJlbmNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQ29uZGl0aW9uIHtcbiAgdHlwZTogXCJjb2RlXCI7XG4gIGNvZGU6IHN0cmluZztcbiAgbGFuZ3VhZ2U/OiBcImphdmFzY3JpcHRcIiB8IFwidHlwZXNjcmlwdFwiO1xufVxuXG4vKipcbiAqIEEgY29uZGl0aW9uIG9uIGEgU3dpdGNoIGNhc2Ug4oCUIGVpdGhlciBhIGRlY2xhcmF0aXZlXG4gKiB7QGxpbmsgQ29uZGl0aW9uRXhwcmVzc2lvbn0gKGdyYXBoaWNhbCBtb2RlKSBvciBhIHtAbGluayBDb2RlQ29uZGl0aW9ufVxuICogKGNvZGUgbW9kZSkuXG4gKi9cbmV4cG9ydCB0eXBlIFN3aXRjaENhc2VDb25kaXRpb24gPSBDb25kaXRpb25FeHByZXNzaW9uIHwgQ29kZUNvbmRpdGlvbjtcblxuLyoqXG4gKiBBIHNpbmdsZSBjYXNlIGluIGEgU3dpdGNoIG5vZGUuXG4gKlxuICogRWFjaCBjYXNlIHBhaXJzIGEgY29uZGl0aW9uIHdpdGggYSBkZWRpY2F0ZWQgb3V0cHV0IHBvcnQuIFdoZW4gdGhlXG4gKiBjb25kaXRpb24gZXZhbHVhdGVzIHRvIGB0cnVlYCwgdGhlIGlucHV0IGlzIHJvdXRlZCB0byBgb3V0cHV0UG9ydGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3dpdGNoQ2FzZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGNvbmRpdGlvbjogU3dpdGNoQ2FzZUNvbmRpdGlvbjtcbiAgb3V0cHV0UG9ydDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE1ldGFkYXRhIGZvciBhIFN3aXRjaCBub2RlLCBzdG9yZWQgaW4gYG1ldGFkYXRhLnN3aXRjaGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3dpdGNoTm9kZU1ldGFkYXRhIHtcbiAgY2FzZXM6IFN3aXRjaENhc2VbXTtcbiAgZGVmYXVsdFBvcnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHJlc3VsdCBvZiBhcHBseWluZyBhIG1ldGFkYXRhIGNoYW5nZSB0byBhIG5vZGUuIEVhY2ggY29uY3JldGUgbm9kZVxuICogY2xhc3MgdGhhdCBvdmVycmlkZXMgYEdyYXBoTm9kZS5hcHBseU1ldGFkYXRhKClgIHJldHVybnMgdGhpcyBzbyB0aGVcbiAqIHJlbmRlcmVyIGNhbiB1cGRhdGUgdGhlIGRpYWdyYW0gbW9kZWwg4oCUIHRoZSBub2RlIG93bnMgaXRzIHBvcnRzLCBpdHNcbiAqIHNpemUsIGFuZCBhbnkgZGF0YSBwYXRjaGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVNZXRhZGF0YUNoYW5nZSB7XG4gIHBvcnRzOiBHcmFwaFBvcnREZWZpbml0aW9uW107XG4gIHNpemU6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfTtcbiAgZGF0YVBhdGNoOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDB2SkFBMHZKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WjNKaGNHZ3ZjMmhoY21Wa0wzUjVjR1Z6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnRiMlIxYkdVZ2FXNTBaV2R5WVhScGIyNXpMMmR5WVhCb0wzTm9ZWEpsWkM5MGVYQmxjMXh1SUNvZ1FITjFiVzFoY25rZ1JuSnZiblJsYm1RdGMyRm1aU0JuY21Gd2FDQjBlWEJsSUdSbFkyeGhjbUYwYVc5dWN5NWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQlVlWEJsSUdGc2FXRnpaWE1nWVc1a0lHbHVkR1Z5Wm1GalpYTWdkR2hoZENCaGNtVWdjMkZtWlNCMGJ5QnBiWEJ2Y25RZ1puSnZiU0JoWEc0Z0tpQm1jbTl1ZEdWdVpDQmlkVzVrYkdVdUlGUm9aWE5sSUhSNWNHVnpJR1JsYzJOeWFXSmxJR1JsWTJ4aGNtRjBhWFpsSUdkeVlYQm9JRzFsZEdGa1lYUmhJQ2hzYjI5d1hHNGdLaUJqYjI1a2FYUnBiMjRnUkZOTUxDQnpkMmwwWTJnZ1kyRnpaWE1zSUc1dlpHVWdiV1YwWVdSaGRHRWdjR0YwWTJobGN5a2dZMjl1YzNWdFpXUWdZbmtnZEdobFhHNGdLaUJ5Wlc1a1pYSmxjaUJoYm1RZ2RHaGxJRzV2WkdVZ1ExSlZSQ0J6WTNKbFpXNXpJT0tBbENCdWJ5QmxibWRwYm1VZ2NuVnVkR2x0WlNCa1pYQmxibVJsYm1ONUxseHVJQ292WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1VHOXlkRVJsWm1sdWFYUnBiMjRnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDNWcExXUmxZMjl5WVhSdmNuTXZaM0poY0doY0lqdGNibHh1THlvcVhHNGdLaUJCSUhaaGJIVmxJSEpsWm1WeVpXNWpaU0JwYm5OcFpHVWdZU0I3UUd4cGJtc2dRMjl1WkdsMGFXOXVSWGh3Y21WemMybHZibjB1WEc0Z0tseHVJQ29nTFNCZ2V5QmpiMjV6ZERvZ2VDQjlZQ0RpZ0pRZ1lTQnNhWFJsY21Gc0lHTnZibk4wWVc1MExseHVJQ29nTFNCZ2V5QndZWFJvT2lCY0ltRXVZbHdpSUgxZ0lPS0FsQ0JoSUdSdmRIUmxaQ0J3WVhSb0lISmxjMjlzZG1Wa0lHRm5ZV2x1YzNRZ2RHaGxJR04xY25KbGJuUWdiRzl2Y0NCemRHRjBaUzVjYmlBcUlDMGdZSHNnYzNSbGNEb2dYQ0p1YjJSbFNXUmNJaXdnY0dGMGFEb2dYQ0p2ZFhSY0lpQjlZQ0RpZ0pRZ1lTQmpjbTl6Y3kxdWIyUmxJSEpsWm1WeVpXNWpaU0FvY21WemIyeDJaV1FnWm5KdmJWeHVJQ29nSUNCMGFHVWdaWGhsWTNWMGFXOXVJSE4wWVhSbElHbHVJSFl4T3lCeVpYTmxjblpsWkNCbWIzSWdablYwZFhKbElHMTFiSFJwTFhOMFpYQWdaWFpoYkhWaGRHbHZiaWt1WEc0Z0tpOWNibVY0Y0c5eWRDQjBlWEJsSUVWNGNISldZV3gxWlNBOVhHNGdJSHdnZXlCamIyNXpkRG9nZFc1cmJtOTNiaUI5WEc0Z0lId2dleUJ3WVhSb09pQnpkSEpwYm1jZ2ZWeHVJQ0I4SUhzZ2MzUmxjRG9nYzNSeWFXNW5PeUJ3WVhSb09pQnpkSEpwYm1jZ2ZUdGNibHh1THlvcVhHNGdLaUJFWldOc1lYSmhkR2wyWlN3Z2MyVnlhV0ZzYVhwaFlteGxJR052Ym1ScGRHbHZiaUJsZUhCeVpYTnphVzl1SUVSVFRDQW9RVXhHVWtWRUxUVWd3cWM0SUM4Z1JFVkRRVVl0TXpJZ3dxY3lNaTR6S1M1Y2JpQXFYRzRnS2lCVWFHVWdaVzVuYVc1bEozTWdZRWR5WVhCb1EyOXVaR2wwYVc5dVJYWmhiSFZoZEc5eVlDQnlaV052WjI1cGMyVnpJSFJvYVhNZ1JGTk1JSGRvWlc0Z2RHaGxYRzRnS2lCamIyNWthWFJwYjI0Z2IySnFaV04wSUdOaGNuSnBaWE1nWVc0Z1lHOXdZQ0JtYVdWc1pDQmhibVFnWkdsemNHRjBZMmhsY3lCMGJ5QjBhR1ZjYmlBcUlHQkRiMjVrYVhScGIyNUZlSEJ5WlhOemFXOXVSWFpoYkhWaGRHOXlZQzVjYmlBcUwxeHVaWGh3YjNKMElIUjVjR1VnUTI5dVpHbDBhVzl1Ulhod2NtVnpjMmx2YmlBOVhHNGdJSHdnZXlCdmNEb2dYQ0psY1Z3aU95QnNaV1owT2lCRmVIQnlWbUZzZFdVN0lISnBaMmgwT2lCRmVIQnlWbUZzZFdVZ2ZWeHVJQ0I4SUhzZ2IzQTZJRndpYm1WeFhDSTdJR3hsWm5RNklFVjRjSEpXWVd4MVpUc2djbWxuYUhRNklFVjRjSEpXWVd4MVpTQjlYRzRnSUh3Z2V5QnZjRG9nWENKbmRGd2lPeUJzWldaME9pQkZlSEJ5Vm1Gc2RXVTdJSEpwWjJoME9pQkZlSEJ5Vm1Gc2RXVWdmVnh1SUNCOElIc2diM0E2SUZ3aVozUmxYQ0k3SUd4bFpuUTZJRVY0Y0hKV1lXeDFaVHNnY21sbmFIUTZJRVY0Y0hKV1lXeDFaU0I5WEc0Z0lId2dleUJ2Y0RvZ1hDSnNkRndpT3lCc1pXWjBPaUJGZUhCeVZtRnNkV1U3SUhKcFoyaDBPaUJGZUhCeVZtRnNkV1VnZlZ4dUlDQjhJSHNnYjNBNklGd2liSFJsWENJN0lHeGxablE2SUVWNGNISldZV3gxWlRzZ2NtbG5hSFE2SUVWNGNISldZV3gxWlNCOVhHNGdJSHdnZXlCdmNEb2dYQ0poYm1SY0lqc2dZMjl1WkdsMGFXOXVjem9nUTI5dVpHbDBhVzl1Ulhod2NtVnpjMmx2Ymx0ZElIMWNiaUFnZkNCN0lHOXdPaUJjSW05eVhDSTdJR052Ym1ScGRHbHZibk02SUVOdmJtUnBkR2x2YmtWNGNISmxjM05wYjI1YlhTQjlYRzRnSUh3Z2V5QnZjRG9nWENKdWIzUmNJanNnWTI5dVpHbDBhVzl1T2lCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dUlIMWNiaUFnZkNCN0lHOXdPaUJjSW1WNGFYTjBjMXdpT3lCMllXeDFaVG9nUlhod2NsWmhiSFZsSUgwN1hHNWNiaThxS2x4dUlDb2dRU0JqYjJSbExXSmhjMlZrSUdOdmJtUnBkR2x2YmlCbGRtRnNkV0YwWldRZ2FXNGdZU0J5WlhOMGNtbGpkR1ZrSUZaTklITmhibVJpYjNnZ0tNS25Nakl1TkNrdVhHNGdLbHh1SUNvZ1ZHaGxJR1Z1WjJsdVpTQmtiMlZ6SUU1UFZDQnBiWEJzWlcxbGJuUWdkR2hsSUhOaGJtUmliM2dnWkdseVpXTjBiSGtnNG9DVUlHRWdjR3gxWjJkaFlteGxYRzRnS2lCZ1EyOWtaVk5oYm1SaWIzaEZkbUZzZFdGMGIzSmdJRzExYzNRZ1ltVWdjbVZuYVhOMFpYSmxaQ0JtYjNJZ1kyOWtaU0JqYjI1a2FYUnBiMjV6SUhSdklIZHZjbXN1WEc0Z0tpQlVhR1VnWTI5a1pTQnRkWE4wSUdadmJHeHZkeUIwYUdVZ2MyRnRaU0J5WlhOMGNtbGpkR2x2Ym5NZ1lYTWdkR2hsSUVOdlpHVWdUbTlrWlNBb3dxY3lNaTQwS1RwY2JpQXFJRzV2SUhONWMzUmxiU0JCVUVrZ1lXTmpaWE56TENCd2JHRmpaV2h2YkdSbGNpQnplVzUwWVhnZ1ptOXlJSGR2Y210bWJHOTNJR1JoZEdFZ2NtVm1aWEpsYm1ObGN5NWNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCRGIyUmxRMjl1WkdsMGFXOXVJSHRjYmlBZ2RIbHdaVG9nWENKamIyUmxYQ0k3WEc0Z0lHTnZaR1U2SUhOMGNtbHVaenRjYmlBZ2JHRnVaM1ZoWjJVL09pQmNJbXBoZG1GelkzSnBjSFJjSWlCOElGd2lkSGx3WlhOamNtbHdkRndpTzF4dWZWeHVYRzR2S2lwY2JpQXFJRUVnWTI5dVpHbDBhVzl1SUc5dUlHRWdVM2RwZEdOb0lHTmhjMlVnNG9DVUlHVnBkR2hsY2lCaElHUmxZMnhoY21GMGFYWmxYRzRnS2lCN1FHeHBibXNnUTI5dVpHbDBhVzl1Ulhod2NtVnpjMmx2Ym4wZ0tHZHlZWEJvYVdOaGJDQnRiMlJsS1NCdmNpQmhJSHRBYkdsdWF5QkRiMlJsUTI5dVpHbDBhVzl1ZlZ4dUlDb2dLR052WkdVZ2JXOWtaU2t1WEc0Z0tpOWNibVY0Y0c5eWRDQjBlWEJsSUZOM2FYUmphRU5oYzJWRGIyNWthWFJwYjI0Z1BTQkRiMjVrYVhScGIyNUZlSEJ5WlhOemFXOXVJSHdnUTI5a1pVTnZibVJwZEdsdmJqdGNibHh1THlvcVhHNGdLaUJCSUhOcGJtZHNaU0JqWVhObElHbHVJR0VnVTNkcGRHTm9JRzV2WkdVdVhHNGdLbHh1SUNvZ1JXRmphQ0JqWVhObElIQmhhWEp6SUdFZ1kyOXVaR2wwYVc5dUlIZHBkR2dnWVNCa1pXUnBZMkYwWldRZ2IzVjBjSFYwSUhCdmNuUXVJRmRvWlc0Z2RHaGxYRzRnS2lCamIyNWthWFJwYjI0Z1pYWmhiSFZoZEdWeklIUnZJR0IwY25WbFlDd2dkR2hsSUdsdWNIVjBJR2x6SUhKdmRYUmxaQ0IwYnlCZ2IzVjBjSFYwVUc5eWRHQXVYRzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1UzZHBkR05vUTJGelpTQjdYRzRnSUdsa09pQnpkSEpwYm1jN1hHNGdJR3hoWW1Wc09pQnpkSEpwYm1jN1hHNGdJR052Ym1ScGRHbHZiam9nVTNkcGRHTm9RMkZ6WlVOdmJtUnBkR2x2Ymp0Y2JpQWdiM1YwY0hWMFVHOXlkRG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFMWxkR0ZrWVhSaElHWnZjaUJoSUZOM2FYUmphQ0J1YjJSbExDQnpkRzl5WldRZ2FXNGdZRzFsZEdGa1lYUmhMbk4zYVhSamFHQXVYRzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1UzZHBkR05vVG05a1pVMWxkR0ZrWVhSaElIdGNiaUFnWTJGelpYTTZJRk4zYVhSamFFTmhjMlZiWFR0Y2JpQWdaR1ZtWVhWc2RGQnZjblEvT2lCemRISnBibWM3WEc1OVhHNWNiaThxS2x4dUlDb2dWR2hsSUhKbGMzVnNkQ0J2WmlCaGNIQnNlV2x1WnlCaElHMWxkR0ZrWVhSaElHTm9ZVzVuWlNCMGJ5QmhJRzV2WkdVdUlFVmhZMmdnWTI5dVkzSmxkR1VnYm05a1pWeHVJQ29nWTJ4aGMzTWdkR2hoZENCdmRtVnljbWxrWlhNZ1lFZHlZWEJvVG05a1pTNWhjSEJzZVUxbGRHRmtZWFJoS0NsZ0lISmxkSFZ5Ym5NZ2RHaHBjeUJ6YnlCMGFHVmNiaUFxSUhKbGJtUmxjbVZ5SUdOaGJpQjFjR1JoZEdVZ2RHaGxJR1JwWVdkeVlXMGdiVzlrWld3ZzRvQ1VJSFJvWlNCdWIyUmxJRzkzYm5NZ2FYUnpJSEJ2Y25SekxDQnBkSE5jYmlBcUlITnBlbVVzSUdGdVpDQmhibmtnWkdGMFlTQndZWFJqYUdWekxseHVJQ292WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUU1dlpHVk5aWFJoWkdGMFlVTm9ZVzVuWlNCN1hHNGdJSEJ2Y25Sek9pQkhjbUZ3YUZCdmNuUkVaV1pwYm1sMGFXOXVXMTA3WEc0Z0lITnBlbVU2SUhzZ2QybGtkR2c2SUc1MWJXSmxjanNnYUdWcFoyaDBPaUJ1ZFcxaVpYSWdmVHRjYmlBZ1pHRjBZVkJoZEdOb09pQlNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UGp0Y2JuMWNiaUpkZlE9PSJdfQ==
package/lib/cjs/index.cjs CHANGED
@@ -22,9 +22,9 @@ exports.PACKAGE_NAME = exports.FULL_VERSION = exports.COMMIT = exports.VERSION =
22
22
  */
23
23
  __exportStar(require("./utils.cjs"), exports);
24
24
  __exportStar(require("./namespaces/index.cjs"), exports);
25
- exports.VERSION = "0.3.6";
26
- exports.COMMIT = "c132eea";
27
- exports.FULL_VERSION = "0.3.6-c132eea";
25
+ exports.VERSION = "0.3.8";
26
+ exports.COMMIT = "3e877de";
27
+ exports.FULL_VERSION = "0.3.8-3e877de";
28
28
  exports.PACKAGE_NAME = "@decaf-ts/integrations";
29
29
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILDJCQUF3QjtBQUN4QixzQ0FBNkI7QUFFN0IsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFXLGFBQWEsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDO0FBRW5DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9uc1xuICogQHN1bW1hcnkgUGFja2FnZSBlbnRyeSBwb2ludCBmb3Igc2hhcmVkIGludGVncmF0aW9uIGhlbHBlcnMuXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgcGFja2FnZSB1dGlsaXRpZXMgYW5kIGJ1aWxkLXRpbWUgdmVyc2lvbiBtZXRhZGF0YSBmb3IgYEBkZWNhZi10cy9pbnRlZ3JhdGlvbnNgLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmFtZXNwYWNlc1wiO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTjogc3RyaW5nID0gXCIjI1ZFUlNJT04jI1wiO1xuXG5leHBvcnQgY29uc3QgQ09NTUlUID0gXCIjI0NPTU1JVCMjXCI7XG5cbmV4cG9ydCBjb25zdCBGVUxMX1ZFUlNJT04gPSBcIiMjRlVMTF9WRVJTSU9OIyNcIjtcblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfTkFNRTogc3RyaW5nID0gXCIjI1BBQ0tBR0UjI1wiO1xuIl19
30
30
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7O0dBSUc7QUFDSCw2Q0FBMkI7QUFDM0Isd0RBQXNDO0FBQ3pCLFFBQUEsT0FBTyxHQUFHLGFBQWEsQ0FBQztBQUN4QixRQUFBLE1BQU0sR0FBRyxZQUFZLENBQUM7QUFDdEIsUUFBQSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDbEMsUUFBQSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzFDLDhsQ0FBOGxDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9uc1xuICogQHN1bW1hcnkgUGFja2FnZSBlbnRyeSBwb2ludCBmb3Igc2hhcmVkIGludGVncmF0aW9uIGhlbHBlcnMuXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgcGFja2FnZSB1dGlsaXRpZXMgYW5kIGJ1aWxkLXRpbWUgdmVyc2lvbiBtZXRhZGF0YSBmb3IgYEBkZWNhZi10cy9pbnRlZ3JhdGlvbnNgLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi91dGlscy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmFtZXNwYWNlcy9pbmRleC5qc1wiO1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIiMjVkVSU0lPTiMjXCI7XG5leHBvcnQgY29uc3QgQ09NTUlUID0gXCIjI0NPTU1JVCMjXCI7XG5leHBvcnQgY29uc3QgRlVMTF9WRVJTSU9OID0gXCIjI0ZVTExfVkVSU0lPTiMjXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9OQU1FID0gXCIjI1BBQ0tBR0UjI1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTl6Y21NdmFXNWtaWGd1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3UjBGSlJ6dEJRVU5JTERKQ1FVRjNRanRCUVVONFFpeHpRMEZCTmtJN1FVRkZOMElzVFVGQlRTeERRVUZETEUxQlFVMHNUMEZCVHl4SFFVRlhMR0ZCUVdFc1EwRkJRenRCUVVVM1F5eE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1dVRkJXU3hEUVVGRE8wRkJSVzVETEUxQlFVMHNRMEZCUXl4TlFVRk5MRmxCUVZrc1IwRkJSeXhyUWtGQmEwSXNRMEZCUXp0QlFVVXZReXhOUVVGTkxFTkJRVU1zVFVGQlRTeFpRVUZaTEVkQlFWY3NZVUZCWVN4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1YzF4dUlDb2dRSE4xYlcxaGNua2dVR0ZqYTJGblpTQmxiblJ5ZVNCd2IybHVkQ0JtYjNJZ2MyaGhjbVZrSUdsdWRHVm5jbUYwYVc5dUlHaGxiSEJsY25NdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1JYaHdiM05sY3lCMGFHVWdjR0ZqYTJGblpTQjFkR2xzYVhScFpYTWdZVzVrSUdKMWFXeGtMWFJwYldVZ2RtVnljMmx2YmlCdFpYUmhaR0YwWVNCbWIzSWdZRUJrWldOaFppMTBjeTlwYm5SbFozSmhkR2x2Ym5OZ0xseHVJQ292WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5MWRHbHNjMXdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmJtRnRaWE53WVdObGMxd2lPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdWa1ZTVTBsUFRqb2djM1J5YVc1bklEMGdYQ0lqSTFaRlVsTkpUMDRqSTF3aU8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ1EwOU5UVWxVSUQwZ1hDSWpJME5QVFUxSlZDTWpYQ0k3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JHVlV4TVgxWkZVbE5KVDA0Z1BTQmNJaU1qUmxWTVRGOVdSVkpUU1U5T0l5TmNJanRjYmx4dVpYaHdiM0owSUdOdmJuTjBJRkJCUTB0QlIwVmZUa0ZOUlRvZ2MzUnlhVzVuSUQwZ1hDSWpJMUJCUTB0QlIwVWpJMXdpTzF4dUlsMTkiXX0=
@@ -19,7 +19,6 @@ __exportStar(require("./utils.cjs"), exports);
19
19
  __exportStar(require("./authService.cjs"), exports);
20
20
  __exportStar(require("./keycloakAuthHandler.cjs"), exports);
21
21
  __exportStar(require("./keycloakModule.cjs"), exports);
22
- __exportStar(require("./graph/index.cjs"), exports);
23
22
  require("./logging.cjs");
24
23
  /**
25
24
  * @summary Nest-style auth integrations.
@@ -28,5 +27,5 @@ require("./logging.cjs");
28
27
  * @namespace nest
29
28
  * @memberOf module:integrations
30
29
  */
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBd0I7QUFDeEIsMkJBQXdCO0FBQ3hCLGlDQUE4QjtBQUM5Qix5Q0FBc0M7QUFDdEMsb0NBQWlDO0FBQ2pDLGlDQUF3QjtBQUV4QixzQkFBbUI7QUFFbkI7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hdXRoU2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4va2V5Y2xvYWtBdXRoSGFuZGxlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4va2V5Y2xvYWtNb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dyYXBoXCI7XG5cbmltcG9ydCBcIi4vbG9nZ2luZ1wiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IE5lc3Qtc3R5bGUgYXV0aCBpbnRlZ3JhdGlvbnMuXG4gKiBAZGVzY3JpcHRpb24gRnJhbWV3b3JrLWFnbm9zdGljIGF1dGggaGVscGVycyBjb21wYXRpYmxlIHdpdGggRGVjYWYgcmVxdWVzdCBjb250ZXh0IGhhbmRsaW5nLlxuICogSW1wb3J0cyB0aGUgYHVzZXJgL2Bvcmdhbml6YXRpb25gIGxvZyBwYXJhbWV0ZXIgcmVnaXN0cmF0aW9ucyBhcyBhIHNpZGUgZWZmZWN0LlxuICogQG5hbWVzcGFjZSBuZXN0XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9uc1xuICovXG4iXX0=
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQixtREFBaUM7QUFDakMsMkRBQXlDO0FBQ3pDLHNEQUFvQztBQUNwQyxtREFBaUM7QUFDakMsd0JBQXNCO0FBQ3RCOzs7Ozs7R0FNRztBQUNILDhoQ0FBOGhDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdHlwZXMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hdXRoU2VydmljZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4va2V5Y2xvYWtBdXRoSGFuZGxlci5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4va2V5Y2xvYWtNb2R1bGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dyYXBoL2luZGV4LmpzXCI7XG5pbXBvcnQgXCIuL2xvZ2dpbmcuanNcIjtcbi8qKlxuICogQHN1bW1hcnkgTmVzdC1zdHlsZSBhdXRoIGludGVncmF0aW9ucy5cbiAqIEBkZXNjcmlwdGlvbiBGcmFtZXdvcmstYWdub3N0aWMgYXV0aCBoZWxwZXJzIGNvbXBhdGlibGUgd2l0aCBEZWNhZiByZXF1ZXN0IGNvbnRleHQgaGFuZGxpbmcuXG4gKiBJbXBvcnRzIHRoZSBgdXNlcmAvYG9yZ2FuaXphdGlvbmAgbG9nIHBhcmFtZXRlciByZWdpc3RyYXRpb25zIGFzIGEgc2lkZSBlZmZlY3QuXG4gKiBAbmFtZXNwYWNlIG5lc3RcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zXG4gKi9cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOXpjbU12Ym1WemRDOXBibVJsZUM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3d5UWtGQmQwSTdRVUZEZUVJc01rSkJRWGRDTzBGQlEzaENMR2xEUVVFNFFqdEJRVU01UWl4NVEwRkJjME03UVVGRGRFTXNiME5CUVdsRE8wRkJRMnBETEdsRFFVRjNRanRCUVVWNFFpeHpRa0ZCYlVJN1FVRkZia0k3T3pzN096dEhRVTFISWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmRIbHdaWE5jSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwzVjBhV3h6WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOWhkWFJvVTJWeWRtbGpaVndpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmEyVjVZMnh2WVd0QmRYUm9TR0Z1Wkd4bGNsd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2YTJWNVkyeHZZV3ROYjJSMWJHVmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDJkeVlYQm9YQ0k3WEc1Y2JtbHRjRzl5ZENCY0lpNHZiRzluWjJsdVoxd2lPMXh1WEc0dktpcGNiaUFxSUVCemRXMXRZWEo1SUU1bGMzUXRjM1I1YkdVZ1lYVjBhQ0JwYm5SbFozSmhkR2x2Ym5NdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1JuSmhiV1YzYjNKckxXRm5ibTl6ZEdsaklHRjFkR2dnYUdWc2NHVnljeUJqYjIxd1lYUnBZbXhsSUhkcGRHZ2dSR1ZqWVdZZ2NtVnhkV1Z6ZENCamIyNTBaWGgwSUdoaGJtUnNhVzVuTGx4dUlDb2dTVzF3YjNKMGN5QjBhR1VnWUhWelpYSmdMMkJ2Y21kaGJtbDZZWFJwYjI1Z0lHeHZaeUJ3WVhKaGJXVjBaWElnY21WbmFYTjBjbUYwYVc5dWN5QmhjeUJoSUhOcFpHVWdaV1ptWldOMExseHVJQ29nUUc1aGJXVnpjR0ZqWlNCdVpYTjBYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21sdWRHVm5jbUYwYVc5dWMxeHVJQ292WEc0aVhYMD0iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBd0I7QUFDeEIsMkJBQXdCO0FBQ3hCLGlDQUE4QjtBQUM5Qix5Q0FBc0M7QUFDdEMsb0NBQWlDO0FBRWpDLHNCQUFtQjtBQUVuQjs7Ozs7O0dBTUciLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGhTZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZXljbG9ha0F1dGhIYW5kbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZXljbG9ha01vZHVsZVwiO1xuXG5pbXBvcnQgXCIuL2xvZ2dpbmdcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBOZXN0LXN0eWxlIGF1dGggaW50ZWdyYXRpb25zLlxuICogQGRlc2NyaXB0aW9uIEZyYW1ld29yay1hZ25vc3RpYyBhdXRoIGhlbHBlcnMgY29tcGF0aWJsZSB3aXRoIERlY2FmIHJlcXVlc3QgY29udGV4dCBoYW5kbGluZy5cbiAqIEltcG9ydHMgdGhlIGB1c2VyYC9gb3JnYW5pemF0aW9uYCBsb2cgcGFyYW1ldGVyIHJlZ2lzdHJhdGlvbnMgYXMgYSBzaWRlIGVmZmVjdC5cbiAqIEBuYW1lc3BhY2UgbmVzdFxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnNcbiAqL1xuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQixtREFBaUM7QUFDakMsMkRBQXlDO0FBQ3pDLHNEQUFvQztBQUNwQyx3QkFBc0I7QUFDdEI7Ozs7OztHQU1HO0FBQ0gscytCQUFzK0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi90eXBlcy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHMuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F1dGhTZXJ2aWNlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZXljbG9ha0F1dGhIYW5kbGVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZXljbG9ha01vZHVsZS5qc1wiO1xuaW1wb3J0IFwiLi9sb2dnaW5nLmpzXCI7XG4vKipcbiAqIEBzdW1tYXJ5IE5lc3Qtc3R5bGUgYXV0aCBpbnRlZ3JhdGlvbnMuXG4gKiBAZGVzY3JpcHRpb24gRnJhbWV3b3JrLWFnbm9zdGljIGF1dGggaGVscGVycyBjb21wYXRpYmxlIHdpdGggRGVjYWYgcmVxdWVzdCBjb250ZXh0IGhhbmRsaW5nLlxuICogSW1wb3J0cyB0aGUgYHVzZXJgL2Bvcmdhbml6YXRpb25gIGxvZyBwYXJhbWV0ZXIgcmVnaXN0cmF0aW9ucyBhcyBhIHNpZGUgZWZmZWN0LlxuICogQG5hbWVzcGFjZSBuZXN0XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9uc1xuICovXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTl6Y21NdmJtVnpkQzlwYm1SbGVDNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN3eVFrRkJkMEk3UVVGRGVFSXNNa0pCUVhkQ08wRkJRM2hDTEdsRFFVRTRRanRCUVVNNVFpeDVRMEZCYzBNN1FVRkRkRU1zYjBOQlFXbERPMEZCUldwRExITkNRVUZ0UWp0QlFVVnVRanM3T3pzN08wZEJUVWNpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKbGVIQnZjblFnS2lCbWNtOXRJRndpTGk5MGVYQmxjMXdpTzF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dmRYUnBiSE5jSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwyRjFkR2hUWlhKMmFXTmxYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5clpYbGpiRzloYTBGMWRHaElZVzVrYkdWeVhDSTdYRzVsZUhCdmNuUWdLaUJtY205dElGd2lMaTlyWlhsamJHOWhhMDF2WkhWc1pWd2lPMXh1WEc1cGJYQnZjblFnWENJdUwyeHZaMmRwYm1kY0lqdGNibHh1THlvcVhHNGdLaUJBYzNWdGJXRnllU0JPWlhOMExYTjBlV3hsSUdGMWRHZ2dhVzUwWldkeVlYUnBiMjV6TGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVaeVlXMWxkMjl5YXkxaFoyNXZjM1JwWXlCaGRYUm9JR2hsYkhCbGNuTWdZMjl0Y0dGMGFXSnNaU0IzYVhSb0lFUmxZMkZtSUhKbGNYVmxjM1FnWTI5dWRHVjRkQ0JvWVc1a2JHbHVaeTVjYmlBcUlFbHRjRzl5ZEhNZ2RHaGxJR0IxYzJWeVlDOWdiM0puWVc1cGVtRjBhVzl1WUNCc2IyY2djR0Z5WVcxbGRHVnlJSEpsWjJsemRISmhkR2x2Ym5NZ1lYTWdZU0J6YVdSbElHVm1abVZqZEM1Y2JpQXFJRUJ1WVcxbGMzQmhZMlVnYm1WemRGeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBwYm5SbFozSmhkR2x2Ym5OY2JpQXFMMXh1SWwxOSJdfQ==
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @module integrations/graph/engine/constants
3
+ * @summary Graph execution engine-private constants and enums.
4
+ * @description Engine-only constants, default limits, and enumerations.
5
+ * Frontend-safe enums (`GraphExecutionStatus`, `GraphExecutionEventType`)
6
+ * live in `../shared/constants`; engine modules import shared symbols from
7
+ * there and engine-private symbols from here.
8
+ */
9
+ /**
10
+ * Boundary identifier used as the node id for workflow-level input/output ports.
11
+ */
12
+ export const GRAPH_WORKFLOW_BOUNDARY = "$workflow";
13
+ /**
14
+ * Default concurrency for parallel node execution within a layer.
15
+ */
16
+ export const GRAPH_DEFAULT_CONCURRENCY = 4;
17
+ /**
18
+ * Default maximum iterations for `while` and `until` loop nodes.
19
+ */
20
+ export const GRAPH_DEFAULT_MAX_LOOP_ITERATIONS = 100;
21
+ /**
22
+ * Default maximum iterations for `foreach` loop nodes.
23
+ */
24
+ export const GRAPH_DEFAULT_MAX_FOREACH_ITERATIONS = 1000;
25
+ /**
26
+ * Metadata key under which pinning information is stored on a graph node.
27
+ */
28
+ export const GRAPH_PINNING_METADATA_KEY = "graph.pinnable";
29
+ /**
30
+ * Pinning strategy determining when values are pinned.
31
+ */
32
+ export var GraphPinningStrategy;
33
+ (function (GraphPinningStrategy) {
34
+ GraphPinningStrategy["MANUAL"] = "manual";
35
+ GraphPinningStrategy["AUTOMATIC"] = "automatic";
36
+ GraphPinningStrategy["DISABLED"] = "disabled";
37
+ })(GraphPinningStrategy || (GraphPinningStrategy = {}));
38
+ /**
39
+ * Built-in condition types supported by the loop condition evaluator.
40
+ */
41
+ export var GraphConditionType;
42
+ (function (GraphConditionType) {
43
+ GraphConditionType["TRUTHY"] = "truthy";
44
+ GraphConditionType["FALSY"] = "falsy";
45
+ GraphConditionType["EQUALS"] = "equals";
46
+ GraphConditionType["NOT_EQUALS"] = "notEquals";
47
+ GraphConditionType["GREATER_THAN"] = "greaterThan";
48
+ GraphConditionType["GREATER_THAN_OR_EQUAL"] = "greaterThanOrEqual";
49
+ GraphConditionType["LESS_THAN"] = "lessThan";
50
+ GraphConditionType["LESS_THAN_OR_EQUAL"] = "lessThanOrEqual";
51
+ GraphConditionType["EXISTS"] = "exists";
52
+ GraphConditionType["CUSTOM"] = "custom";
53
+ })(GraphConditionType || (GraphConditionType = {}));
54
+ /**
55
+ * Loop node kinds recognised by the engine.
56
+ */
57
+ export const GRAPH_LOOP_KIND = {
58
+ FOREACH: "core.loop.foreach",
59
+ WHILE: "core.loop.while",
60
+ UNTIL: "core.loop.until",
61
+ };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsV0FBVyxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBRTNDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsSUFBSSxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsZ0JBQWdCLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxvQkFJWDtBQUpELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLCtDQUF1QixDQUFBO0lBQ3ZCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSS9CO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxrQkFXWDtBQVhELFdBQVksa0JBQWtCO0lBQzVCLHVDQUFpQixDQUFBO0lBQ2pCLHFDQUFlLENBQUE7SUFDZix1Q0FBaUIsQ0FBQTtJQUNqQiw4Q0FBd0IsQ0FBQTtJQUN4QixrREFBNEIsQ0FBQTtJQUM1QixrRUFBNEMsQ0FBQTtJQUM1Qyw0Q0FBc0IsQ0FBQTtJQUN0Qiw0REFBc0MsQ0FBQTtJQUN0Qyx1Q0FBaUIsQ0FBQTtJQUNqQix1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBWFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVc3QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixLQUFLLEVBQUUsaUJBQWlCO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2VuZ2luZS9jb25zdGFudHNcbiAqIEBzdW1tYXJ5IEdyYXBoIGV4ZWN1dGlvbiBlbmdpbmUtcHJpdmF0ZSBjb25zdGFudHMgYW5kIGVudW1zLlxuICogQGRlc2NyaXB0aW9uIEVuZ2luZS1vbmx5IGNvbnN0YW50cywgZGVmYXVsdCBsaW1pdHMsIGFuZCBlbnVtZXJhdGlvbnMuXG4gKiBGcm9udGVuZC1zYWZlIGVudW1zIChgR3JhcGhFeGVjdXRpb25TdGF0dXNgLCBgR3JhcGhFeGVjdXRpb25FdmVudFR5cGVgKVxuICogbGl2ZSBpbiBgLi4vc2hhcmVkL2NvbnN0YW50c2A7IGVuZ2luZSBtb2R1bGVzIGltcG9ydCBzaGFyZWQgc3ltYm9scyBmcm9tXG4gKiB0aGVyZSBhbmQgZW5naW5lLXByaXZhdGUgc3ltYm9scyBmcm9tIGhlcmUuXG4gKi9cblxuLyoqXG4gKiBCb3VuZGFyeSBpZGVudGlmaWVyIHVzZWQgYXMgdGhlIG5vZGUgaWQgZm9yIHdvcmtmbG93LWxldmVsIGlucHV0L291dHB1dCBwb3J0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX1dPUktGTE9XX0JPVU5EQVJZID0gXCIkd29ya2Zsb3dcIjtcblxuLyoqXG4gKiBEZWZhdWx0IGNvbmN1cnJlbmN5IGZvciBwYXJhbGxlbCBub2RlIGV4ZWN1dGlvbiB3aXRoaW4gYSBsYXllci5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0RFRkFVTFRfQ09OQ1VSUkVOQ1kgPSA0O1xuXG4vKipcbiAqIERlZmF1bHQgbWF4aW11bSBpdGVyYXRpb25zIGZvciBgd2hpbGVgIGFuZCBgdW50aWxgIGxvb3Agbm9kZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9ERUZBVUxUX01BWF9MT09QX0lURVJBVElPTlMgPSAxMDA7XG5cbi8qKlxuICogRGVmYXVsdCBtYXhpbXVtIGl0ZXJhdGlvbnMgZm9yIGBmb3JlYWNoYCBsb29wIG5vZGVzLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfREVGQVVMVF9NQVhfRk9SRUFDSF9JVEVSQVRJT05TID0gMTAwMDtcblxuLyoqXG4gKiBNZXRhZGF0YSBrZXkgdW5kZXIgd2hpY2ggcGlubmluZyBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgb24gYSBncmFwaCBub2RlLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfUElOTklOR19NRVRBREFUQV9LRVkgPSBcImdyYXBoLnBpbm5hYmxlXCI7XG5cbi8qKlxuICogUGlubmluZyBzdHJhdGVneSBkZXRlcm1pbmluZyB3aGVuIHZhbHVlcyBhcmUgcGlubmVkLlxuICovXG5leHBvcnQgZW51bSBHcmFwaFBpbm5pbmdTdHJhdGVneSB7XG4gIE1BTlVBTCA9IFwibWFudWFsXCIsXG4gIEFVVE9NQVRJQyA9IFwiYXV0b21hdGljXCIsXG4gIERJU0FCTEVEID0gXCJkaXNhYmxlZFwiLFxufVxuXG4vKipcbiAqIEJ1aWx0LWluIGNvbmRpdGlvbiB0eXBlcyBzdXBwb3J0ZWQgYnkgdGhlIGxvb3AgY29uZGl0aW9uIGV2YWx1YXRvci5cbiAqL1xuZXhwb3J0IGVudW0gR3JhcGhDb25kaXRpb25UeXBlIHtcbiAgVFJVVEhZID0gXCJ0cnV0aHlcIixcbiAgRkFMU1kgPSBcImZhbHN5XCIsXG4gIEVRVUFMUyA9IFwiZXF1YWxzXCIsXG4gIE5PVF9FUVVBTFMgPSBcIm5vdEVxdWFsc1wiLFxuICBHUkVBVEVSX1RIQU4gPSBcImdyZWF0ZXJUaGFuXCIsXG4gIEdSRUFURVJfVEhBTl9PUl9FUVVBTCA9IFwiZ3JlYXRlclRoYW5PckVxdWFsXCIsXG4gIExFU1NfVEhBTiA9IFwibGVzc1RoYW5cIixcbiAgTEVTU19USEFOX09SX0VRVUFMID0gXCJsZXNzVGhhbk9yRXF1YWxcIixcbiAgRVhJU1RTID0gXCJleGlzdHNcIixcbiAgQ1VTVE9NID0gXCJjdXN0b21cIixcbn1cblxuLyoqXG4gKiBMb29wIG5vZGUga2luZHMgcmVjb2duaXNlZCBieSB0aGUgZW5naW5lLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfTE9PUF9LSU5EID0ge1xuICBGT1JFQUNIOiBcImNvcmUubG9vcC5mb3JlYWNoXCIsXG4gIFdISUxFOiBcImNvcmUubG9vcC53aGlsZVwiLFxuICBVTlRJTDogXCJjb3JlLmxvb3AudW50aWxcIixcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9kZWNvcmF0b3JzXG4gKiBAc3VtbWFyeSBSZXNlcnZlZCBmb3IgZnV0dXJlIGNvcmUtbGV2ZWwgZ3JhcGggZGVjb3JhdG9ycy5cbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGZpbGUgaXMgaW50ZW50aW9uYWxseSBlbXB0eSBmb3Igbm93LiBHcmFwaCBkZWNvcmF0b3JzIHN1Y2ggYXMgYEBwaW5uYWJsZSgpYCBsaXZlIGluIGBAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaGAuIEFkZGl0aW9uYWwgZGVjb3JhdG9ycyBtYXkgYmUgYWRkZWQgaGVyZSBpZiB0aGUgY29yZSBlbmdpbmUgbmVlZHMgaXRzIG93biBtZXRhZGF0YSBrZXlzLlxuICovXG5leHBvcnQge307XG5cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @module integrations/graph/errors/GraphCycleError
3
+ * @summary Error thrown when a workflow contains an unsupported cycle.
4
+ * @description Ordinary (non-loop) workflow graphs must be acyclic. This error is raised when the planner detects a cycle.
5
+ */
6
+ import { GraphExecutionError } from "./GraphExecutionError.js";
7
+ /**
8
+ * Thrown when a graph workflow contains an unsupported cycle.
9
+ */
10
+ export class GraphCycleError extends GraphExecutionError {
11
+ constructor(details) {
12
+ super("Graph workflow contains an unsupported cycle", "GRAPH_CYCLE_ERROR", details);
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhDeWNsZUVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9lcnJvcnMvR3JhcGhDeWNsZUVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQVksT0FBaUI7UUFDM0IsS0FBSyxDQUNILDhDQUE4QyxFQUM5QyxtQkFBbUIsRUFDbkIsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2Vycm9ycy9HcmFwaEN5Y2xlRXJyb3JcbiAqIEBzdW1tYXJ5IEVycm9yIHRocm93biB3aGVuIGEgd29ya2Zsb3cgY29udGFpbnMgYW4gdW5zdXBwb3J0ZWQgY3ljbGUuXG4gKiBAZGVzY3JpcHRpb24gT3JkaW5hcnkgKG5vbi1sb29wKSB3b3JrZmxvdyBncmFwaHMgbXVzdCBiZSBhY3ljbGljLiBUaGlzIGVycm9yIGlzIHJhaXNlZCB3aGVuIHRoZSBwbGFubmVyIGRldGVjdHMgYSBjeWNsZS5cbiAqL1xuaW1wb3J0IHsgR3JhcGhFeGVjdXRpb25FcnJvciB9IGZyb20gXCIuL0dyYXBoRXhlY3V0aW9uRXJyb3JcIjtcblxuLyoqXG4gKiBUaHJvd24gd2hlbiBhIGdyYXBoIHdvcmtmbG93IGNvbnRhaW5zIGFuIHVuc3VwcG9ydGVkIGN5Y2xlLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhDeWNsZUVycm9yIGV4dGVuZHMgR3JhcGhFeGVjdXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKGRldGFpbHM/OiB1bmtub3duKSB7XG4gICAgc3VwZXIoXG4gICAgICBcIkdyYXBoIHdvcmtmbG93IGNvbnRhaW5zIGFuIHVuc3VwcG9ydGVkIGN5Y2xlXCIsXG4gICAgICBcIkdSQVBIX0NZQ0xFX0VSUk9SXCIsXG4gICAgICBkZXRhaWxzXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @module integrations/graph/errors/GraphExecutionError
3
+ * @summary Base error for all graph execution failures.
4
+ * @description Extends Decaf's {@link InternalError} so graph errors follow the standard Decaf error hierarchy while carrying a graph-specific string code.
5
+ */
6
+ import { InternalError } from "@decaf-ts/db-decorators";
7
+ /**
8
+ * Base error for the graph execution engine.
9
+ *
10
+ * Extends `InternalError` (HTTP 500) to comply with the Decaf constitution which
11
+ * requires runtime errors to be `BaseError` subclasses. The additional
12
+ * `graphCode` property carries a machine-readable string code such as
13
+ * `"GRAPH_CYCLE_ERROR"`.
14
+ */
15
+ export class GraphExecutionError extends InternalError {
16
+ constructor(message, graphCode = "GRAPH_EXECUTION_ERROR", details) {
17
+ super(message, GraphExecutionError.name, 500);
18
+ this.graphCode = graphCode;
19
+ this.details = details;
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhFeGVjdXRpb25FcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9lbmdpbmUvZXJyb3JzL0dyYXBoRXhlY3V0aW9uRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGFBQWE7SUFJcEQsWUFDRSxPQUFlLEVBQ2YsU0FBUyxHQUFHLHVCQUF1QixFQUNuQyxPQUFpQjtRQUVqQixLQUFLLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL2Vycm9ycy9HcmFwaEV4ZWN1dGlvbkVycm9yXG4gKiBAc3VtbWFyeSBCYXNlIGVycm9yIGZvciBhbGwgZ3JhcGggZXhlY3V0aW9uIGZhaWx1cmVzLlxuICogQGRlc2NyaXB0aW9uIEV4dGVuZHMgRGVjYWYncyB7QGxpbmsgSW50ZXJuYWxFcnJvcn0gc28gZ3JhcGggZXJyb3JzIGZvbGxvdyB0aGUgc3RhbmRhcmQgRGVjYWYgZXJyb3IgaGllcmFyY2h5IHdoaWxlIGNhcnJ5aW5nIGEgZ3JhcGgtc3BlY2lmaWMgc3RyaW5nIGNvZGUuXG4gKi9cbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuLyoqXG4gKiBCYXNlIGVycm9yIGZvciB0aGUgZ3JhcGggZXhlY3V0aW9uIGVuZ2luZS5cbiAqXG4gKiBFeHRlbmRzIGBJbnRlcm5hbEVycm9yYCAoSFRUUCA1MDApIHRvIGNvbXBseSB3aXRoIHRoZSBEZWNhZiBjb25zdGl0dXRpb24gd2hpY2hcbiAqIHJlcXVpcmVzIHJ1bnRpbWUgZXJyb3JzIHRvIGJlIGBCYXNlRXJyb3JgIHN1YmNsYXNzZXMuIFRoZSBhZGRpdGlvbmFsXG4gKiBgZ3JhcGhDb2RlYCBwcm9wZXJ0eSBjYXJyaWVzIGEgbWFjaGluZS1yZWFkYWJsZSBzdHJpbmcgY29kZSBzdWNoIGFzXG4gKiBgXCJHUkFQSF9DWUNMRV9FUlJPUlwiYC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoRXhlY3V0aW9uRXJyb3IgZXh0ZW5kcyBJbnRlcm5hbEVycm9yIHtcbiAgcmVhZG9ubHkgZ3JhcGhDb2RlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRldGFpbHM/OiB1bmtub3duO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBncmFwaENvZGUgPSBcIkdSQVBIX0VYRUNVVElPTl9FUlJPUlwiLFxuICAgIGRldGFpbHM/OiB1bmtub3duXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UsIEdyYXBoRXhlY3V0aW9uRXJyb3IubmFtZSwgNTAwKTtcbiAgICB0aGlzLmdyYXBoQ29kZSA9IGdyYXBoQ29kZTtcbiAgICB0aGlzLmRldGFpbHMgPSBkZXRhaWxzO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @module integrations/graph/errors/GraphInputError
3
+ * @summary Error thrown when workflow or node inputs are invalid.
4
+ * @description Raised by the value validator when required inputs are missing or fail schema validation.
5
+ */
6
+ import { GraphExecutionError } from "./GraphExecutionError.js";
7
+ /**
8
+ * Thrown when workflow or node inputs are invalid.
9
+ */
10
+ export class GraphInputError extends GraphExecutionError {
11
+ constructor(message, details) {
12
+ super(message, "GRAPH_INPUT_ERROR", details);
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhJbnB1dEVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL2VuZ2luZS9lcnJvcnMvR3JhcGhJbnB1dEVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUNBQThCO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQ3RELFlBQVksT0FBZSxFQUFFLE9BQWlCO1FBQzVDLEtBQUssQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9lcnJvcnMvR3JhcGhJbnB1dEVycm9yXG4gKiBAc3VtbWFyeSBFcnJvciB0aHJvd24gd2hlbiB3b3JrZmxvdyBvciBub2RlIGlucHV0cyBhcmUgaW52YWxpZC5cbiAqIEBkZXNjcmlwdGlvbiBSYWlzZWQgYnkgdGhlIHZhbHVlIHZhbGlkYXRvciB3aGVuIHJlcXVpcmVkIGlucHV0cyBhcmUgbWlzc2luZyBvciBmYWlsIHNjaGVtYSB2YWxpZGF0aW9uLlxuICovXG5pbXBvcnQgeyBHcmFwaEV4ZWN1dGlvbkVycm9yIH0gZnJvbSBcIi4vR3JhcGhFeGVjdXRpb25FcnJvclwiO1xuXG4vKipcbiAqIFRocm93biB3aGVuIHdvcmtmbG93IG9yIG5vZGUgaW5wdXRzIGFyZSBpbnZhbGlkLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhJbnB1dEVycm9yIGV4dGVuZHMgR3JhcGhFeGVjdXRpb25FcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgZGV0YWlscz86IHVua25vd24pIHtcbiAgICBzdXBlcihtZXNzYWdlLCBcIkdSQVBIX0lOUFVUX0VSUk9SXCIsIGRldGFpbHMpO1xuICB9XG59XG4iXX0=