@decaf-ts/integrations 0.3.8 → 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.
- package/dist/integrations.cjs +3 -3
- package/dist/integrations.js +3 -3
- package/lib/cjs/graph/engine/constants.cjs +58 -0
- package/lib/cjs/graph/engine/decorators.cjs +4 -0
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +27 -0
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +20 -0
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +20 -0
- package/lib/cjs/graph/{errors → engine/errors}/index.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +4 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +40 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +37 -0
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +4 -0
- package/lib/cjs/graph/{events → engine/events}/index.cjs +2 -2
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +4 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +79 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +408 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +32 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +30 -0
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +4 -0
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +103 -0
- package/lib/cjs/graph/{execution → engine/execution}/index.cjs +2 -2
- package/lib/cjs/graph/engine/index.cjs +84 -0
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +87 -0
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +85 -0
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +85 -0
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +16 -0
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +77 -0
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +78 -0
- package/lib/cjs/graph/{loops → engine/loops}/index.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +28 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +20 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +34 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +191 -0
- package/lib/cjs/graph/{pinning → engine/pinning}/index.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +4 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +197 -0
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +172 -0
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs +57 -0
- package/lib/cjs/graph/{planning → engine/planning}/index.cjs +2 -2
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +44 -0
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +27 -0
- package/lib/cjs/graph/{registry → engine/registry}/index.cjs +2 -2
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +53 -0
- package/lib/cjs/graph/{snapshots → engine/snapshots}/index.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +4 -0
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs +4 -0
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs +76 -0
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +4 -0
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +69 -0
- package/lib/cjs/graph/{store → engine/store}/index.cjs +2 -2
- package/lib/cjs/graph/engine/types.cjs +4 -0
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +33 -0
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +58 -0
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +52 -0
- package/lib/cjs/graph/{validation → engine/validation}/index.cjs +2 -2
- package/lib/cjs/graph/index.cjs +10 -60
- package/lib/cjs/graph/shared/constants.cjs +44 -0
- package/lib/cjs/graph/shared/index.cjs +38 -0
- package/lib/cjs/graph/{nodes → shared/nodes}/agent.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/base.cjs +35 -0
- package/lib/cjs/graph/shared/nodes/category-styles.cjs +38 -0
- package/lib/cjs/graph/shared/nodes/flow-control.cjs +464 -0
- package/lib/cjs/graph/{nodes → shared/nodes}/index.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/triggers.cjs +250 -0
- package/lib/cjs/graph/shared/types.cjs +4 -0
- package/lib/cjs/index.cjs +3 -3
- package/lib/esm/graph/engine/constants.js +62 -0
- package/lib/esm/graph/engine/decorators.js +2 -0
- package/lib/esm/graph/engine/errors/GraphCycleError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphExecutionError.js +22 -0
- package/lib/esm/graph/engine/errors/GraphInputError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphPinningError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphPortError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphStoreError.js +15 -0
- package/lib/esm/graph/engine/errors/GraphTopologyError.js +15 -0
- package/lib/esm/graph/engine/errors/index.js +14 -0
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js +2 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +35 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +32 -0
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js +2 -0
- package/lib/esm/graph/engine/events/index.js +10 -0
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +18 -0
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js +74 -0
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +403 -0
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +27 -0
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js +26 -0
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +2 -0
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +98 -0
- package/lib/esm/graph/engine/execution/index.js +13 -0
- package/lib/esm/graph/engine/index.js +67 -0
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +82 -0
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +80 -0
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +80 -0
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +11 -0
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +72 -0
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +73 -0
- package/lib/esm/graph/engine/loops/index.js +12 -0
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +23 -0
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +15 -0
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +29 -0
- package/lib/esm/graph/engine/pinning/GraphPinningService.js +186 -0
- package/lib/esm/graph/engine/pinning/index.js +10 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +7 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +2 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +192 -0
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js +167 -0
- package/lib/esm/graph/engine/planning/GraphTopology.js +52 -0
- package/lib/esm/graph/engine/planning/index.js +13 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +39 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +22 -0
- package/lib/esm/graph/engine/registry/index.js +8 -0
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +48 -0
- package/lib/esm/graph/engine/snapshots/index.js +7 -0
- package/lib/esm/graph/engine/store/GraphCachedValue.js +2 -0
- package/lib/esm/graph/engine/store/GraphValueKey.js +7 -0
- package/lib/esm/graph/engine/store/GraphValueStore.js +71 -0
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +2 -0
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +64 -0
- package/lib/esm/graph/engine/store/index.js +11 -0
- package/lib/esm/graph/engine/types.js +2 -0
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +28 -0
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +53 -0
- package/lib/esm/graph/engine/validation/GraphValueValidator.js +47 -0
- package/lib/esm/graph/engine/validation/index.js +9 -0
- package/lib/esm/graph/index.js +9 -59
- package/lib/esm/graph/shared/constants.js +56 -0
- package/lib/esm/graph/shared/index.js +19 -0
- package/lib/esm/graph/shared/nodes/agent.js +101 -0
- package/lib/esm/graph/shared/nodes/base.js +30 -0
- package/lib/esm/graph/shared/nodes/category-styles.js +34 -0
- package/lib/esm/graph/shared/nodes/flow-control.js +455 -0
- package/lib/esm/graph/shared/nodes/index.js +18 -0
- package/lib/esm/graph/shared/nodes/triggers.js +241 -0
- package/lib/esm/graph/shared/types.js +2 -0
- package/lib/esm/index.js +3 -3
- package/lib/types/graph/engine/constants.d.cts +59 -0
- package/lib/types/graph/engine/constants.d.mts +59 -0
- package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.cts +1 -1
- package/lib/types/graph/{execution → engine/execution}/GraphExecutionResult.d.mts +1 -1
- package/lib/types/graph/engine/index.d.cts +61 -0
- package/lib/types/graph/engine/index.d.mts +61 -0
- package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.cts +1 -1
- package/lib/types/graph/{loops → engine/loops}/ConditionExpressionEvaluator.d.mts +1 -1
- package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.cts +2 -1
- package/lib/types/graph/{loops → engine/loops}/GraphConditionEvaluator.d.mts +2 -1
- package/lib/types/graph/{types.d.cts → engine/types.d.cts} +8 -116
- package/lib/types/graph/{types.d.mts → engine/types.d.mts} +8 -116
- package/lib/types/graph/index.d.cts +8 -53
- package/lib/types/graph/index.d.mts +8 -53
- package/lib/types/graph/shared/constants.d.cts +53 -0
- package/lib/types/graph/shared/constants.d.mts +53 -0
- package/lib/types/graph/shared/index.d.cts +18 -0
- package/lib/types/graph/shared/index.d.mts +18 -0
- package/lib/types/graph/shared/types.d.cts +121 -0
- package/lib/types/graph/shared/types.d.mts +121 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/package.json +14 -3
- package/lib/cjs/graph/constants.cjs +0 -94
- package/lib/cjs/graph/decorators.cjs +0 -4
- package/lib/cjs/graph/errors/GraphCycleError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphExecutionError.cjs +0 -27
- package/lib/cjs/graph/errors/GraphInputError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphPinningError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphPortError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphStoreError.cjs +0 -20
- package/lib/cjs/graph/errors/GraphTopologyError.cjs +0 -20
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs +0 -4
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +0 -40
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +0 -37
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs +0 -4
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +0 -4
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs +0 -79
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +0 -407
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +0 -32
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs +0 -30
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +0 -4
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +0 -103
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +0 -87
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +0 -84
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +0 -85
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +0 -16
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +0 -76
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +0 -77
- package/lib/cjs/graph/nodes/base.cjs +0 -35
- package/lib/cjs/graph/nodes/category-styles.cjs +0 -38
- package/lib/cjs/graph/nodes/flow-control.cjs +0 -464
- package/lib/cjs/graph/nodes/triggers.cjs +0 -250
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +0 -28
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +0 -20
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +0 -34
- package/lib/cjs/graph/pinning/GraphPinningService.cjs +0 -191
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +0 -4
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +0 -197
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs +0 -172
- package/lib/cjs/graph/planning/GraphTopology.cjs +0 -57
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +0 -44
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +0 -27
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
- package/lib/cjs/graph/store/GraphCachedValue.cjs +0 -4
- package/lib/cjs/graph/store/GraphValueKey.cjs +0 -4
- package/lib/cjs/graph/store/GraphValueStore.cjs +0 -76
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +0 -4
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
- package/lib/cjs/graph/types.cjs +0 -4
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +0 -33
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +0 -58
- package/lib/cjs/graph/validation/GraphValueValidator.cjs +0 -52
- package/lib/esm/graph/constants.js +0 -106
- package/lib/esm/graph/decorators.js +0 -2
- package/lib/esm/graph/errors/GraphCycleError.js +0 -15
- package/lib/esm/graph/errors/GraphExecutionError.js +0 -22
- package/lib/esm/graph/errors/GraphInputError.js +0 -15
- package/lib/esm/graph/errors/GraphLoopLimitError.js +0 -15
- package/lib/esm/graph/errors/GraphPinningError.js +0 -15
- package/lib/esm/graph/errors/GraphPortError.js +0 -15
- package/lib/esm/graph/errors/GraphStoreError.js +0 -15
- package/lib/esm/graph/errors/GraphTopologyError.js +0 -15
- package/lib/esm/graph/errors/index.js +0 -14
- package/lib/esm/graph/events/GraphExecutionEvent.js +0 -2
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js +0 -35
- package/lib/esm/graph/events/GraphExecutionEventFactory.js +0 -32
- package/lib/esm/graph/events/GraphExecutionObserver.js +0 -2
- package/lib/esm/graph/events/index.js +0 -10
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js +0 -18
- package/lib/esm/graph/execution/GraphExecutionContext.js +0 -74
- package/lib/esm/graph/execution/GraphExecutionEngine.js +0 -402
- package/lib/esm/graph/execution/GraphExecutionFrame.js +0 -27
- package/lib/esm/graph/execution/GraphExecutionResult.js +0 -26
- package/lib/esm/graph/execution/GraphNodeExecutor.js +0 -2
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +0 -98
- package/lib/esm/graph/execution/index.js +0 -13
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +0 -82
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +0 -79
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +0 -80
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js +0 -11
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +0 -71
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +0 -72
- package/lib/esm/graph/loops/index.js +0 -12
- package/lib/esm/graph/nodes/agent.js +0 -101
- package/lib/esm/graph/nodes/base.js +0 -30
- package/lib/esm/graph/nodes/category-styles.js +0 -34
- package/lib/esm/graph/nodes/flow-control.js +0 -455
- package/lib/esm/graph/nodes/index.js +0 -18
- package/lib/esm/graph/nodes/triggers.js +0 -241
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +0 -23
- package/lib/esm/graph/pinning/GraphPinningMetadata.js +0 -15
- package/lib/esm/graph/pinning/GraphPinningPolicy.js +0 -29
- package/lib/esm/graph/pinning/GraphPinningService.js +0 -186
- package/lib/esm/graph/pinning/index.js +0 -10
- package/lib/esm/graph/planning/GraphExecutionPlan.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +0 -7
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js +0 -2
- package/lib/esm/graph/planning/GraphExecutionPlanner.js +0 -192
- package/lib/esm/graph/planning/GraphRelationResolver.js +0 -167
- package/lib/esm/graph/planning/GraphTopology.js +0 -52
- package/lib/esm/graph/planning/index.js +0 -13
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +0 -39
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +0 -22
- package/lib/esm/graph/registry/index.js +0 -8
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +0 -48
- package/lib/esm/graph/snapshots/index.js +0 -7
- package/lib/esm/graph/store/GraphCachedValue.js +0 -2
- package/lib/esm/graph/store/GraphValueKey.js +0 -7
- package/lib/esm/graph/store/GraphValueStore.js +0 -71
- package/lib/esm/graph/store/GraphValueStoreAdapter.js +0 -2
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +0 -64
- package/lib/esm/graph/store/index.js +0 -11
- package/lib/esm/graph/types.js +0 -2
- package/lib/esm/graph/validation/GraphDefinitionValidator.js +0 -28
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js +0 -53
- package/lib/esm/graph/validation/GraphValueValidator.js +0 -47
- package/lib/esm/graph/validation/index.js +0 -9
- package/lib/types/graph/constants.d.cts +0 -101
- package/lib/types/graph/constants.d.mts +0 -101
- /package/lib/types/graph/{decorators.d.cts → engine/decorators.d.cts} +0 -0
- /package/lib/types/graph/{decorators.d.mts → engine/decorators.d.mts} +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphCycleError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphExecutionError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphInputError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphLoopLimitError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPinningError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphPortError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphStoreError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/GraphTopologyError.d.mts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/index.d.cts +0 -0
- /package/lib/types/graph/{errors → engine/errors}/index.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEvent.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventEmitter.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionEventFactory.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/GraphExecutionObserver.d.mts +0 -0
- /package/lib/types/graph/{events → engine/events}/index.d.cts +0 -0
- /package/lib/types/graph/{events → engine/events}/index.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/CodeSandboxEvaluator.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionContext.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionEngine.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphExecutionFrame.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/GraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/SwitchGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/index.d.cts +0 -0
- /package/lib/types/graph/{execution → engine/execution}/index.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/ForeachGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/GraphLoopExecutionContext.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/UntilGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/WhileGraphNodeExecutor.d.mts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/index.d.cts +0 -0
- /package/lib/types/graph/{loops → engine/loops}/index.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningDependencyResolver.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningMetadata.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningPolicy.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/GraphPinningService.d.mts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/index.d.cts +0 -0
- /package/lib/types/graph/{pinning → engine/pinning}/index.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlan.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanEdge.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanLayer.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanNode.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphExecutionPlanner.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphRelationResolver.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/GraphTopology.d.mts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/index.d.cts +0 -0
- /package/lib/types/graph/{planning → engine/planning}/index.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorRegistry.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/GraphNodeExecutorResolver.d.mts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/index.d.cts +0 -0
- /package/lib/types/graph/{registry → engine/registry}/index.d.mts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.cts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/GraphExecutionSnapshotMapper.d.mts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.cts +0 -0
- /package/lib/types/graph/{snapshots → engine/snapshots}/index.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphCachedValue.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueKey.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStore.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/GraphValueStoreAdapter.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/InMemoryGraphValueStoreAdapter.d.mts +0 -0
- /package/lib/types/graph/{store → engine/store}/index.d.cts +0 -0
- /package/lib/types/graph/{store → engine/store}/index.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphDefinitionValidator.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphPortSchemaResolver.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/GraphValueValidator.d.mts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/index.d.cts +0 -0
- /package/lib/types/graph/{validation → engine/validation}/index.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/agent.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/agent.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/base.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/base.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/category-styles.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/flow-control.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/index.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/index.d.mts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.cts +0 -0
- /package/lib/types/graph/{nodes → shared/nodes}/triggers.d.mts +0 -0
|
@@ -1,250 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7OztHQVNHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFN0Q7O0dBRUc7QUFtQkksSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxLQUFLO0NBSzNDLENBQUE7QUFEQztJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLENBQUM7SUFDMUYsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDOztrREFDWjtBQUpQLGlCQUFpQjtJQWxCN0IsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1FBQzNCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLGVBQWU7UUFDckIsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDO1FBQzNDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsV0FBVyxFQUFFLDRHQUE0RztZQUN6SCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLEVBQUU7YUFDaEI7U0FDRjtLQUNGLENBQUM7SUFDRCxLQUFL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dGlvbnMvZ3JhcGgvbm9kZXMvdHJpZ2dlcnNcbiAqIEBzdW1tYXJ5IFByb2R1Y3Rpb24gdHJpZ2dlciBub2RlIGtpbmQgZGVjbGFyYXRpb25zIChERUNBRi0zMiDCpzIyLjIuMSkuXG4gKiBAZGVzY3JpcHRpb24gQ2Fub25pY2FsIGBAbm9kZWAtZGVjb3JhdGVkIGNsYXNzZXMgZm9yIHRoZSBzaXggQUxGUkVELTUgdHJpZ2dlclxuICoga2luZHMuIFRyaWdnZXJzIGFyZSBtZXRhZGF0YS1vbmx5IGVudHJ5cG9pbnRzOiB0aGV5IGRlZmluZSBob3cgYSB3b3JrZmxvd1xuICogc3RhcnRzIGFuZCBwcm9kdWNlIGEgdHJpZ2dlciBwYXlsb2FkIG9uIHRoZWlyIGBAb3V0cHV0YCBwb3J0cy4gVGhleSBoYXZlIG5vXG4gKiBgQGlucHV0YCBwb3J0cyAobm90aGluZyBmZWVkcyBhIHRyaWdnZXIpIGFuZCBubyBidWlsdC1pbiBleGVjdXRvcnMg4oCUIHRoZVxuICogZW5naW5lJ3MgZXhlY3V0aW9uIG1vZGVsIHN0YXJ0cyBmcm9tIHdvcmtmbG93IGlucHV0cyAowqc1LjgpIGFuZCB0cmVhdHNcbiAqIHRyaWdnZXIgbm9kZXMgYXMgbWV0YWRhdGEtb25seSBlbnRyeXBvaW50cy5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHVpZWxlbWVudCB9IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzL2dyYXBoXCI7XG5cbi8qKlxuICogTWFudWFsIHRyaWdnZXIg4oCUIHVzZXIgY2xpY2tzIFJ1bjsgaW5wdXQgZm9ybSBnZW5lcmF0ZWQgZnJvbSBgaW5wdXRTY2hlbWFgLlxuICovXG5Abm9kZShcImNvcmUudHJpZ2dlci5tYW51YWxcIiwge1xuICBraW5kOiBcImNvcmUudHJpZ2dlci5tYW51YWxcIixcbiAgY2F0ZWdvcnk6IFwiVHJpZ2dlclwiLFxuICBjb2xvcjogXCIjM2I4MmY2XCIsXG4gIGljb246IFwidGktaGFuZC1jbGlja1wiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1widHJpZ2dlclwiLCBcIm1hbnVhbFwiLCBcImVudHJ5cG9pbnRcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiTWFudWFsIHRyaWdnZXJcIixcbiAgICBkZXNjcmlwdGlvbjogXCJTdGFydHMgdGhlIHdvcmtmbG93IHdoZW4gdGhlIHVzZXIgY2xpY2tzIFJ1bi4gVGhlIGlucHV0IGZvcm0gaXMgZ2VuZXJhdGVkIGZyb20gdGhlIHRyaWdnZXIncyBpbnB1dCBzY2hlbWEuXCIsXG4gICAgdHJpZ2dlcjoge1xuICAgICAgdHlwZTogXCJtYW51YWxcIixcbiAgICAgIGlucHV0U2NoZW1hOiB7fSxcbiAgICB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgTWFudWFsVHJpZ2dlck5vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIlRyaWdnZXIgcGF5bG9hZFwiLCBwbGFjZWhvbGRlcjogXCJNYW51YWwgdHJpZ2dlciBwYXlsb2FkXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJwYXlsb2FkXCIgfSlcbiAgcGF5bG9hZCE6IHVua25vd247XG59XG5cbi8qKlxuICogV2ViaG9vayB0cmlnZ2VyIOKAlCBIVFRQIHJlcXVlc3QgcmVjZWl2ZWQ7IHBhdGgvbWV0aG9kL2F1dGgvcmVzcG9uc2VNb2RlIGNvbmZpZy5cbiAqL1xuQG5vZGUoXCJjb3JlLnRyaWdnZXIud2ViaG9va1wiLCB7XG4gIGtpbmQ6IFwiY29yZS50cmlnZ2VyLndlYmhvb2tcIixcbiAgY2F0ZWdvcnk6IFwiVHJpZ2dlclwiLFxuICBjb2xvcjogXCIjMGVhNWU5XCIsXG4gIGljb246IFwidGktd2ViaG9va1wiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1widHJpZ2dlclwiLCBcIndlYmhvb2tcIiwgXCJodHRwXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIldlYmhvb2sgdHJpZ2dlclwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhbiBIVFRQIHJlcXVlc3QgaXMgcmVjZWl2ZWQgb24gdGhlIGNvbmZpZ3VyZWQgcGF0aCBhbmQgbWV0aG9kLlwiLFxuICAgIHRyaWdnZXI6IHtcbiAgICAgIHR5cGU6IFwid2ViaG9va1wiLFxuICAgICAgcGF0aDogXCIvd2ViaG9va1wiLFxuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGF1dGg6IFwibm9uZVwiLFxuICAgICAgcmVzcG9uc2VNb2RlOiBcIm9uUmVjZWl2ZWRcIixcbiAgICB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgV2ViaG9va1RyaWdnZXJOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJSZXF1ZXN0IHBheWxvYWRcIiwgcGxhY2Vob2xkZXI6IFwiV2ViaG9vayByZXF1ZXN0IGJvZHlcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInBheWxvYWRcIiB9KVxuICBwYXlsb2FkITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBTY2hlZHVsZSB0cmlnZ2VyIOKAlCBjcm9uLWxpa2Ugc2NoZWR1bGU7IHRpbWV6b25lICsgcGF5bG9hZCBjb25maWcuXG4gKi9cbkBub2RlKFwiY29yZS50cmlnZ2VyLnNjaGVkdWxlXCIsIHtcbiAga2luZDogXCJjb3JlLnRyaWdnZXIuc2NoZWR1bGVcIixcbiAgY2F0ZWdvcnk6IFwiVHJpZ2dlclwiLFxuICBjb2xvcjogXCIjNjM2NmYxXCIsXG4gIGljb246IFwidGktY2FsZW5kYXItdGltZVwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1widHJpZ2dlclwiLCBcInNjaGVkdWxlXCIsIFwiY3JvblwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJTY2hlZHVsZSB0cmlnZ2VyXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3RhcnRzIHRoZSB3b3JrZmxvdyBvbiBhIGNyb24tbGlrZSBzY2hlZHVsZSB3aXRoIHRpbWV6b25lIHN1cHBvcnQuXCIsXG4gICAgdHJpZ2dlcjoge1xuICAgICAgdHlwZTogXCJzY2hlZHVsZVwiLFxuICAgICAgc2NoZWR1bGU6IFwiMCAqICogKiAqXCIsXG4gICAgICB0aW1lem9uZTogXCJVVENcIixcbiAgICB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiU2NoZWR1bGVkIHBheWxvYWRcIiwgcGxhY2Vob2xkZXI6IFwiUGF5bG9hZCBmb3IgdGhlIHNjaGVkdWxlZCBydW5cIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInBheWxvYWRcIiB9KVxuICBwYXlsb2FkITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBFdmVudCB0cmlnZ2VyIOKAlCBpbnRlcm5hbCBldmVudCBidXMgdG9waWMgc3Vic2NyaWJlci5cbiAqL1xuQG5vZGUoXCJjb3JlLnRyaWdnZXIuZXZlbnRcIiwge1xuICBraW5kOiBcImNvcmUudHJpZ2dlci5ldmVudFwiLFxuICBjYXRlZ29yeTogXCJUcmlnZ2VyXCIsXG4gIGNvbG9yOiBcIiM4YjVjZjZcIixcbiAgaWNvbjogXCJ0aS1icm9hZGNhc3RcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJldmVudFwiLCBcImJ1c1wiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJFdmVudCB0cmlnZ2VyXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3RhcnRzIHRoZSB3b3JrZmxvdyB3aGVuIGFuIGV2ZW50IGlzIHB1Ymxpc2hlZCBvbiB0aGUgY29uZmlndXJlZCBpbnRlcm5hbCBldmVudCBidXMgdG9waWMuXCIsXG4gICAgdHJpZ2dlcjoge1xuICAgICAgdHlwZTogXCJldmVudFwiLFxuICAgICAgdG9waWM6IFwiZGVmYXVsdFwiLFxuICAgIH0sXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBFdmVudFRyaWdnZXJOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJFdmVudCBwYXlsb2FkXCIsIHBsYWNlaG9sZGVyOiBcIkV2ZW50IGJ1cyBwYXlsb2FkXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJwYXlsb2FkXCIgfSlcbiAgcGF5bG9hZCE6IHVua25vd247XG59XG5cbi8qKlxuICogRm9ybSB0cmlnZ2VyIOKAlCBnZW5lcmF0ZWQgcHVibGljL2ludGVybmFsIGZvcm07IGZpZWxkIGRlZmluaXRpb25zLlxuICovXG5Abm9kZShcImNvcmUudHJpZ2dlci5mb3JtXCIsIHtcbiAga2luZDogXCJjb3JlLnRyaWdnZXIuZm9ybVwiLFxuICBjYXRlZ29yeTogXCJUcmlnZ2VyXCIsXG4gIGNvbG9yOiBcIiNlYzQ4OTlcIixcbiAgaWNvbjogXCJ0aS1mb3Jtc1wiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1widHJpZ2dlclwiLCBcImZvcm1cIiwgXCJwdWJsaWNcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiRm9ybSB0cmlnZ2VyXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3RhcnRzIHRoZSB3b3JrZmxvdyB3aGVuIGEgZ2VuZXJhdGVkIGZvcm0gaXMgc3VibWl0dGVkLiBGaWVsZCBkZWZpbml0aW9ucyBkcml2ZSB0aGUgZm9ybSBzY2hlbWEuXCIsXG4gICAgdHJpZ2dlcjoge1xuICAgICAgdHlwZTogXCJmb3JtXCIsXG4gICAgICBmaWVsZHM6IFtdLFxuICAgIH0sXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBGb3JtVHJpZ2dlck5vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkZvcm0gc3VibWlzc2lvblwiLCBwbGFjZWhvbGRlcjogXCJGb3JtIHN1Ym1pc3Npb24gcGF5bG9hZFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicGF5bG9hZFwiIH0pXG4gIHBheWxvYWQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIENoYXQgdHJpZ2dlciDigJQgY2hhdCBtZXNzYWdlIGVudHJ5cG9pbnQ7IG1lc3NhZ2Uvc2Vzc2lvbklkL3VzZXJJZCBzY2hlbWEuXG4gKi9cbkBub2RlKFwiY29yZS50cmlnZ2VyLmNoYXRcIiwge1xuICBraW5kOiBcImNvcmUudHJpZ2dlci5jaGF0XCIsXG4gIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgY29sb3I6IFwiIzE0YjhhNlwiLFxuICBpY29uOiBcInRpLW1lc3NhZ2UtY2lyY2xlXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJ0cmlnZ2VyXCIsIFwiY2hhdFwiLCBcImVudHJ5cG9pbnRcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiQ2hhdCB0cmlnZ2VyXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3RhcnRzIHRoZSB3b3JrZmxvdyB3aGVuIGEgY2hhdCBtZXNzYWdlIGlzIHJlY2VpdmVkLiBFbWl0cyBtZXNzYWdlLCBzZXNzaW9uSWQsIGFuZCB1c2VySWQuXCIsXG4gICAgdHJpZ2dlcjoge1xuICAgICAgdHlwZTogXCJjaGF0XCIsXG4gICAgfSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIENoYXRUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiTWVzc2FnZVwiLCBwbGFjZWhvbGRlcjogXCJJbmNvbWluZyBjaGF0IG1lc3NhZ2VcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcIm1lc3NhZ2VcIiB9KVxuICBtZXNzYWdlITogc3RyaW5nO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlNlc3Npb24gSURcIiwgcGxhY2Vob2xkZXI6IFwiQ2hhdCBzZXNzaW9uIGlkZW50aWZpZXJcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInNlc3Npb25JZFwiIH0pXG4gIHNlc3Npb25JZCE6IHN0cmluZztcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJVc2VyIElEXCIsIHBsYWNlaG9sZGVyOiBcIkNoYXQgdXNlciBpZGVudGlmaWVyXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJ1c2VySWRcIiB9KVxuICB1c2VySWQhOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWxsIGJ1aWx0LWluIHRyaWdnZXIgbm9kZSBjb25zdHJ1Y3RvcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9UUklHR0VSX05PREVTID0gW1xuICBNYW51YWxUcmlnZ2VyTm9kZSxcbiAgV2ViaG9va1RyaWdnZXJOb2RlLFxuICBTY2hlZHVsZVRyaWdnZXJOb2RlLFxuICBFdmVudFRyaWdnZXJOb2RlLFxuICBGb3JtVHJpZ2dlck5vZGUsXG4gIENoYXRUcmlnZ2VyTm9kZSxcbl0gYXMgY29uc3Q7XG4iXX0=
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0cmlnZ2Vycy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJ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UztRQUNuQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQztRQUN6QyxRQUFRLEVBQUU7WUFDTixLQUFLLEVBQUUsY0FBYztZQUNyQixXQUFXLEVBQUUsNEZBQTRGO1lBQ3pHLE9BQU8sRUFBRTtnQkFDTCxJQUFJLEVBQUUsTUFBTTthQUNmO1NBQ0o7S0FDSixDQUFDO0lBQ0YsSUFBQSw0QkFBSyxHQUFFO0NBQ1YsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUVwQjs7R0FFRztBQUNVLFFBQUEsbUJBQW1CLEdBQUc7SUFDL0IsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixlQUFlO0NBQ2xCLENBQUM7QUFDRiwwNGJBQTA0YiIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG4vKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzL3RyaWdnZXJzXG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIHRyaWdnZXIgbm9kZSBraW5kIGRlY2xhcmF0aW9ucyAoREVDQUYtMzIgwqcyMi4yLjEpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgc2l4IEFMRlJFRC01IHRyaWdnZXJcbiAqIGtpbmRzLiBUcmlnZ2VycyBhcmUgbWV0YWRhdGEtb25seSBlbnRyeXBvaW50czogdGhleSBkZWZpbmUgaG93IGEgd29ya2Zsb3dcbiAqIHN0YXJ0cyBhbmQgcHJvZHVjZSBhIHRyaWdnZXIgcGF5bG9hZCBvbiB0aGVpciBgQG91dHB1dGAgcG9ydHMuIFRoZXkgaGF2ZSBub1xuICogYEBpbnB1dGAgcG9ydHMgKG5vdGhpbmcgZmVlZHMgYSB0cmlnZ2VyKSBhbmQgbm8gYnVpbHQtaW4gZXhlY3V0b3JzIOKAlCB0aGVcbiAqIGVuZ2luZSdzIGV4ZWN1dGlvbiBtb2RlbCBzdGFydHMgZnJvbSB3b3JrZmxvdyBpbnB1dHMgKMKnNS44KSBhbmQgdHJlYXRzXG4gKiB0cmlnZ2VyIG5vZGVzIGFzIG1ldGFkYXRhLW9ubHkgZW50cnlwb2ludHMuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IG5vZGUsIG91dHB1dCB9IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuLyoqXG4gKiBNYW51YWwgdHJpZ2dlciDigJQgdXNlciBjbGlja3MgUnVuOyBpbnB1dCBmb3JtIGdlbmVyYXRlZCBmcm9tIGBpbnB1dFNjaGVtYWAuXG4gKi9cbmxldCBNYW51YWxUcmlnZ2VyTm9kZSA9IGNsYXNzIE1hbnVhbFRyaWdnZXJOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJUcmlnZ2VyIHBheWxvYWRcIiwgcGxhY2Vob2xkZXI6IFwiTWFudWFsIHRyaWdnZXIgcGF5bG9hZFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJwYXlsb2FkXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE1hbnVhbFRyaWdnZXJOb2RlLnByb3RvdHlwZSwgXCJwYXlsb2FkXCIsIHZvaWQgMCk7XG5NYW51YWxUcmlnZ2VyTm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLnRyaWdnZXIubWFudWFsXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLnRyaWdnZXIubWFudWFsXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgICAgICAgY29sb3I6IFwiIzNiODJmNlwiLFxuICAgICAgICBpY29uOiBcInRpLWhhbmQtY2xpY2tcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJtYW51YWxcIiwgXCJlbnRyeXBvaW50XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiTWFudWFsIHRyaWdnZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiB0aGUgdXNlciBjbGlja3MgUnVuLiBUaGUgaW5wdXQgZm9ybSBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUgdHJpZ2dlcidzIGlucHV0IHNjaGVtYS5cIixcbiAgICAgICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcIm1hbnVhbFwiLFxuICAgICAgICAgICAgICAgIGlucHV0U2NoZW1hOiB7fSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgTWFudWFsVHJpZ2dlck5vZGUpO1xuZXhwb3J0IHsgTWFudWFsVHJpZ2dlck5vZGUgfTtcbi8qKlxuICogV2ViaG9vayB0cmlnZ2VyIOKAlCBIVFRQIHJlcXVlc3QgcmVjZWl2ZWQ7IHBhdGgvbWV0aG9kL2F1dGgvcmVzcG9uc2VNb2RlIGNvbmZpZy5cbiAqL1xubGV0IFdlYmhvb2tUcmlnZ2VyTm9kZSA9IGNsYXNzIFdlYmhvb2tUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiUmVxdWVzdCBwYXlsb2FkXCIsIHBsYWNlaG9sZGVyOiBcIldlYmhvb2sgcmVxdWVzdCBib2R5XCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInBheWxvYWRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgV2ViaG9va1RyaWdnZXJOb2RlLnByb3RvdHlwZSwgXCJwYXlsb2FkXCIsIHZvaWQgMCk7XG5XZWJob29rVHJpZ2dlck5vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS50cmlnZ2VyLndlYmhvb2tcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUudHJpZ2dlci53ZWJob29rXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgICAgICAgY29sb3I6IFwiIzBlYTVlOVwiLFxuICAgICAgICBpY29uOiBcInRpLXdlYmhvb2tcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJ3ZWJob29rXCIsIFwiaHR0cFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIldlYmhvb2sgdHJpZ2dlclwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU3RhcnRzIHRoZSB3b3JrZmxvdyB3aGVuIGFuIEhUVFAgcmVxdWVzdCBpcyByZWNlaXZlZCBvbiB0aGUgY29uZmlndXJlZCBwYXRoIGFuZCBtZXRob2QuXCIsXG4gICAgICAgICAgICB0cmlnZ2VyOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogXCJ3ZWJob29rXCIsXG4gICAgICAgICAgICAgICAgcGF0aDogXCIvd2ViaG9va1wiLFxuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgYXV0aDogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VNb2RlOiBcIm9uUmVjZWl2ZWRcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgV2ViaG9va1RyaWdnZXJOb2RlKTtcbmV4cG9ydCB7IFdlYmhvb2tUcmlnZ2VyTm9kZSB9O1xuLyoqXG4gKiBTY2hlZHVsZSB0cmlnZ2VyIOKAlCBjcm9uLWxpa2Ugc2NoZWR1bGU7IHRpbWV6b25lICsgcGF5bG9hZCBjb25maWcuXG4gKi9cbmxldCBTY2hlZHVsZVRyaWdnZXJOb2RlID0gY2xhc3MgU2NoZWR1bGVUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiU2NoZWR1bGVkIHBheWxvYWRcIiwgcGxhY2Vob2xkZXI6IFwiUGF5bG9hZCBmb3IgdGhlIHNjaGVkdWxlZCBydW5cIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicGF5bG9hZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBTY2hlZHVsZVRyaWdnZXJOb2RlLnByb3RvdHlwZSwgXCJwYXlsb2FkXCIsIHZvaWQgMCk7XG5TY2hlZHVsZVRyaWdnZXJOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUudHJpZ2dlci5zY2hlZHVsZVwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS50cmlnZ2VyLnNjaGVkdWxlXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgICAgICAgY29sb3I6IFwiIzYzNjZmMVwiLFxuICAgICAgICBpY29uOiBcInRpLWNhbGVuZGFyLXRpbWVcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJzY2hlZHVsZVwiLCBcImNyb25cIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJTY2hlZHVsZSB0cmlnZ2VyXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTdGFydHMgdGhlIHdvcmtmbG93IG9uIGEgY3Jvbi1saWtlIHNjaGVkdWxlIHdpdGggdGltZXpvbmUgc3VwcG9ydC5cIixcbiAgICAgICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcInNjaGVkdWxlXCIsXG4gICAgICAgICAgICAgICAgc2NoZWR1bGU6IFwiMCAqICogKiAqXCIsXG4gICAgICAgICAgICAgICAgdGltZXpvbmU6IFwiVVRDXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIFNjaGVkdWxlVHJpZ2dlck5vZGUpO1xuZXhwb3J0IHsgU2NoZWR1bGVUcmlnZ2VyTm9kZSB9O1xuLyoqXG4gKiBFdmVudCB0cmlnZ2VyIOKAlCBpbnRlcm5hbCBldmVudCBidXMgdG9waWMgc3Vic2NyaWJlci5cbiAqL1xubGV0IEV2ZW50VHJpZ2dlck5vZGUgPSBjbGFzcyBFdmVudFRyaWdnZXJOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJFdmVudCBwYXlsb2FkXCIsIHBsYWNlaG9sZGVyOiBcIkV2ZW50IGJ1cyBwYXlsb2FkXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInBheWxvYWRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgRXZlbnRUcmlnZ2VyTm9kZS5wcm90b3R5cGUsIFwicGF5bG9hZFwiLCB2b2lkIDApO1xuRXZlbnRUcmlnZ2VyTm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLnRyaWdnZXIuZXZlbnRcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUudHJpZ2dlci5ldmVudFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJUcmlnZ2VyXCIsXG4gICAgICAgIGNvbG9yOiBcIiM4YjVjZjZcIixcbiAgICAgICAgaWNvbjogXCJ0aS1icm9hZGNhc3RcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcInRyaWdnZXJcIiwgXCJldmVudFwiLCBcImJ1c1wiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIkV2ZW50IHRyaWdnZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhbiBldmVudCBpcyBwdWJsaXNoZWQgb24gdGhlIGNvbmZpZ3VyZWQgaW50ZXJuYWwgZXZlbnQgYnVzIHRvcGljLlwiLFxuICAgICAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiZXZlbnRcIixcbiAgICAgICAgICAgICAgICB0b3BpYzogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIEV2ZW50VHJpZ2dlck5vZGUpO1xuZXhwb3J0IHsgRXZlbnRUcmlnZ2VyTm9kZSB9O1xuLyoqXG4gKiBGb3JtIHRyaWdnZXIg4oCUIGdlbmVyYXRlZCBwdWJsaWMvaW50ZXJuYWwgZm9ybTsgZmllbGQgZGVmaW5pdGlvbnMuXG4gKi9cbmxldCBGb3JtVHJpZ2dlck5vZGUgPSBjbGFzcyBGb3JtVHJpZ2dlck5vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkZvcm0gc3VibWlzc2lvblwiLCBwbGFjZWhvbGRlcjogXCJGb3JtIHN1Ym1pc3Npb24gcGF5bG9hZFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJwYXlsb2FkXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEZvcm1UcmlnZ2VyTm9kZS5wcm90b3R5cGUsIFwicGF5bG9hZFwiLCB2b2lkIDApO1xuRm9ybVRyaWdnZXJOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUudHJpZ2dlci5mb3JtXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLnRyaWdnZXIuZm9ybVwiLFxuICAgICAgICBjYXRlZ29yeTogXCJUcmlnZ2VyXCIsXG4gICAgICAgIGNvbG9yOiBcIiNlYzQ4OTlcIixcbiAgICAgICAgaWNvbjogXCJ0aS1mb3Jtc1wiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1widHJpZ2dlclwiLCBcImZvcm1cIiwgXCJwdWJsaWNcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJGb3JtIHRyaWdnZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhIGdlbmVyYXRlZCBmb3JtIGlzIHN1Ym1pdHRlZC4gRmllbGQgZGVmaW5pdGlvbnMgZHJpdmUgdGhlIGZvcm0gc2NoZW1hLlwiLFxuICAgICAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiZm9ybVwiLFxuICAgICAgICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIEZvcm1UcmlnZ2VyTm9kZSk7XG5leHBvcnQgeyBGb3JtVHJpZ2dlck5vZGUgfTtcbi8qKlxuICogQ2hhdCB0cmlnZ2VyIOKAlCBjaGF0IG1lc3NhZ2UgZW50cnlwb2ludDsgbWVzc2FnZS9zZXNzaW9uSWQvdXNlcklkIHNjaGVtYS5cbiAqL1xubGV0IENoYXRUcmlnZ2VyTm9kZSA9IGNsYXNzIENoYXRUcmlnZ2VyTm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiTWVzc2FnZVwiLCBwbGFjZWhvbGRlcjogXCJJbmNvbWluZyBjaGF0IG1lc3NhZ2VcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwibWVzc2FnZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBDaGF0VHJpZ2dlck5vZGUucHJvdG90eXBlLCBcIm1lc3NhZ2VcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJTZXNzaW9uIElEXCIsIHBsYWNlaG9sZGVyOiBcIkNoYXQgc2Vzc2lvbiBpZGVudGlmaWVyXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInNlc3Npb25JZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBDaGF0VHJpZ2dlck5vZGUucHJvdG90eXBlLCBcInNlc3Npb25JZFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlVzZXIgSURcIiwgcGxhY2Vob2xkZXI6IFwiQ2hhdCB1c2VyIGlkZW50aWZpZXJcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwidXNlcklkXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIENoYXRUcmlnZ2VyTm9kZS5wcm90b3R5cGUsIFwidXNlcklkXCIsIHZvaWQgMCk7XG5DaGF0VHJpZ2dlck5vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS50cmlnZ2VyLmNoYXRcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUudHJpZ2dlci5jaGF0XCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlRyaWdnZXJcIixcbiAgICAgICAgY29sb3I6IFwiIzE0YjhhNlwiLFxuICAgICAgICBpY29uOiBcInRpLW1lc3NhZ2UtY2lyY2xlXCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJ0cmlnZ2VyXCIsIFwiY2hhdFwiLCBcImVudHJ5cG9pbnRcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJDaGF0IHRyaWdnZXJcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YXJ0cyB0aGUgd29ya2Zsb3cgd2hlbiBhIGNoYXQgbWVzc2FnZSBpcyByZWNlaXZlZC4gRW1pdHMgbWVzc2FnZSwgc2Vzc2lvbklkLCBhbmQgdXNlcklkLlwiLFxuICAgICAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiY2hhdFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBDaGF0VHJpZ2dlck5vZGUpO1xuZXhwb3J0IHsgQ2hhdFRyaWdnZXJOb2RlIH07XG4vKipcbiAqIEFsbCBidWlsdC1pbiB0cmlnZ2VyIG5vZGUgY29uc3RydWN0b3JzLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfVFJJR0dFUl9OT0RFUyA9IFtcbiAgICBNYW51YWxUcmlnZ2VyTm9kZSxcbiAgICBXZWJob29rVHJpZ2dlck5vZGUsXG4gICAgU2NoZWR1bGVUcmlnZ2VyTm9kZSxcbiAgICBFdmVudFRyaWdnZXJOb2RlLFxuICAgIEZvcm1UcmlnZ2VyTm9kZSxcbiAgICBDaGF0VHJpZ2dlck5vZGUsXG5dO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhKcFoyZGxjbk11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Ym05a1pYTXZkSEpwWjJkbGNuTXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPMEZCUVVFN096czdPenM3T3p0SFFWTkhPMEZCUTBnc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeExRVUZMTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1owTkJRV2RETEVOQlFVTTdRVUZEZUVVc1QwRkJUeXhGUVVGRkxGTkJRVk1zUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRM0JFTEU5QlFVOHNSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxFMUJRVTBzSzBKQlFTdENMRU5CUVVNN1FVRkZOMFE3TzBkQlJVYzdRVUZ0UWtrc1NVRkJUU3hwUWtGQmFVSXNSMEZCZGtJc1RVRkJUU3hwUWtGQmEwSXNVMEZCVVN4TFFVRkxPME5CU3pORExFTkJRVUU3UVVGRVF6dEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVVVzVjBGQlZ5eEZRVUZGTEhkQ1FVRjNRaXhGUVVGRkxFTkJRVU03U1VGRE1VWXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZET3p0clJFRkRXanRCUVVwUUxHbENRVUZwUWp0SlFXeENOMElzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhGUVVGRk8xRkJRek5DTEVsQlFVa3NSVUZCUlN4eFFrRkJjVUk3VVVGRE0wSXNVVUZCVVN4RlFVRkZMRk5CUVZNN1VVRkRia0lzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxHVkJRV1U3VVVGRGNrSXNTMEZCU3l4RlFVRkZMRVZCUVVVN1VVRkRWQ3hOUVVGTkxFVkJRVVVzUlVGQlJUdFJRVU5XTEUxQlFVMHNSVUZCUlN4RFFVRkRMRk5CUVZNc1JVRkJSU3hSUVVGUkxFVkJRVVVzV1VGQldTeERRVUZETzFGQlF6TkRMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeG5Ra0ZCWjBJN1dVRkRka0lzVjBGQlZ5eEZRVUZGTERSSFFVRTBSenRaUVVONlNDeFBRVUZQTEVWQlFVVTdaMEpCUTFBc1NVRkJTU3hGUVVGRkxGRkJRVkU3WjBKQlEyUXNWMEZCVnl4RlFVRkZMRVZCUVVVN1lVRkRhRUk3VTBGRFJqdExRVU5HTEVOQlFVTTdTVUZEUkN4TFFVRkxMRVZCUVVVN1IwRkRTeXhwUWtGQmFVSXNRMEZMTjBJN08wRkJSVVE3TzBkQlJVYzdRVUZ6UWtrc1NVRkJUU3hyUWtGQmEwSXNSMEZCZUVJc1RVRkJUU3hyUWtGQmJVSXNVMEZCVVN4TFFVRkxPME5CU3pWRExFTkJRVUU3UVVGRVF6dEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVVVzVjBGQlZ5eEZRVUZGTEhOQ1FVRnpRaXhGUVVGRkxFTkJRVU03U1VGRGVFWXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZET3p0dFJFRkRXanRCUVVwUUxHdENRVUZyUWp0SlFYSkNPVUlzU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhGUVVGRk8xRkJRelZDTEVsQlFVa3NSVUZCUlN4elFrRkJjMEk3VVVGRE5VSXNVVUZCVVN4RlFVRkZMRk5CUVZNN1VVRkRia0lzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxGbEJRVms3VVVGRGJFSXNTMEZCU3l4RlFVRkZMRVZCUVVVN1VVRkRWQ3hOUVVGTkxFVkJRVVVzUlVGQlJUdFJRVU5XTEUxQlFVMHNSVUZCUlN4RFFVRkRMRk5CUVZNc1JVRkJSU3hUUVVGVExFVkJRVVVzVFVGQlRTeERRVUZETzFGQlEzUkRMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeHBRa0ZCYVVJN1dVRkRlRUlzVjBGQlZ5eEZRVUZGTEhsR1FVRjVSanRaUVVOMFJ5eFBRVUZQTEVWQlFVVTdaMEpCUTFBc1NVRkJTU3hGUVVGRkxGTkJRVk03WjBKQlEyWXNTVUZCU1N4RlFVRkZMRlZCUVZVN1owSkJRMmhDTEUxQlFVMHNSVUZCUlN4TlFVRk5PMmRDUVVOa0xFbEJRVWtzUlVGQlJTeE5RVUZOTzJkQ1FVTmFMRmxCUVZrc1JVRkJSU3haUVVGWk8yRkJRek5DTzFOQlEwWTdTMEZEUml4RFFVRkRPMGxCUTBRc1MwRkJTeXhGUVVGRk8wZEJRMHNzYTBKQlFXdENMRU5CU3psQ096dEJRVVZFT3p0SFFVVkhPMEZCYjBKSkxFbEJRVTBzYlVKQlFXMUNMRWRCUVhwQ0xFMUJRVTBzYlVKQlFXOUNMRk5CUVZFc1MwRkJTenREUVVzM1F5eERRVUZCTzBGQlJFTTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRzFDUVVGdFFpeEZRVUZGTEZkQlFWY3NSVUZCUlN3clFrRkJLMElzUlVGQlJTeERRVUZETzBsQlEyNUhMRTFCUVUwc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFRRVUZUTEVWQlFVVXNRMEZCUXpzN2IwUkJRMW83UVVGS1VDeHRRa0ZCYlVJN1NVRnVRaTlDTEVsQlFVa3NRMEZCUXl4MVFrRkJkVUlzUlVGQlJUdFJRVU0zUWl4SlFVRkpMRVZCUVVVc2RVSkJRWFZDTzFGQlF6ZENMRkZCUVZFc1JVRkJSU3hUUVVGVE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4VFFVRlRPMUZCUTJoQ0xFbEJRVWtzUlVGQlJTeHJRa0ZCYTBJN1VVRkRlRUlzUzBGQlN5eEZRVUZGTEVWQlFVVTdVVUZEVkN4TlFVRk5MRVZCUVVVc1JVRkJSVHRSUVVOV0xFMUJRVTBzUlVGQlJTeERRVUZETEZOQlFWTXNSVUZCUlN4VlFVRlZMRVZCUVVVc1RVRkJUU3hEUVVGRE8xRkJRM1pETEZGQlFWRXNSVUZCUlR0WlFVTlNMRXRCUVVzc1JVRkJSU3hyUWtGQmEwSTdXVUZEZWtJc1YwRkJWeXhGUVVGRkxHOUZRVUZ2UlR0WlFVTnFSaXhQUVVGUExFVkJRVVU3WjBKQlExQXNTVUZCU1N4RlFVRkZMRlZCUVZVN1owSkJRMmhDTEZGQlFWRXNSVUZCUlN4WFFVRlhPMmRDUVVOeVFpeFJRVUZSTEVWQlFVVXNTMEZCU3p0aFFVTm9RanRUUVVOR08wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMRzFDUVVGdFFpeERRVXN2UWpzN1FVRkZSRHM3UjBGRlJ6dEJRVzFDU1N4SlFVRk5MR2RDUVVGblFpeEhRVUYwUWl4TlFVRk5MR2RDUVVGcFFpeFRRVUZSTEV0QlFVczdRMEZMTVVNc1EwRkJRVHRCUVVSRE8wbEJTRU1zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeGxRVUZsTEVWQlFVVXNWMEZCVnl4RlFVRkZMRzFDUVVGdFFpeEZRVUZGTEVOQlFVTTdTVUZEYmtZc1RVRkJUU3hEUVVGRExFVkJRVVVzVFVGQlRTeEZRVUZGTEZOQlFWTXNSVUZCUlN4RFFVRkRPenRwUkVGRFdqdEJRVXBRTEdkQ1FVRm5RanRKUVd4Q05VSXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTzFGQlF6RkNMRWxCUVVrc1JVRkJSU3h2UWtGQmIwSTdVVUZETVVJc1VVRkJVU3hGUVVGRkxGTkJRVk03VVVGRGJrSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEdOQlFXTTdVVUZEY0VJc1MwRkJTeXhGUVVGRkxFVkJRVVU3VVVGRFZDeE5RVUZOTEVWQlFVVXNSVUZCUlR0UlFVTldMRTFCUVUwc1JVRkJSU3hEUVVGRExGTkJRVk1zUlVGQlJTeFBRVUZQTEVWQlFVVXNTMEZCU3l4RFFVRkRPMUZCUTI1RExGRkJRVkVzUlVGQlJUdFpRVU5TTEV0QlFVc3NSVUZCUlN4bFFVRmxPMWxCUTNSQ0xGZEJRVmNzUlVGQlJTdzBSa0ZCTkVZN1dVRkRla2NzVDBGQlR5eEZRVUZGTzJkQ1FVTlFMRWxCUVVrc1JVRkJSU3hQUVVGUE8yZENRVU5pTEV0QlFVc3NSVUZCUlN4VFFVRlRPMkZCUTJwQ08xTkJRMFk3UzBGRFJpeERRVUZETzBsQlEwUXNTMEZCU3l4RlFVRkZPMGRCUTBzc1owSkJRV2RDTEVOQlN6VkNPenRCUVVWRU96dEhRVVZITzBGQmJVSkpMRWxCUVUwc1pVRkJaU3hIUVVGeVFpeE5RVUZOTEdWQlFXZENMRk5CUVZFc1MwRkJTenREUVV0NlF5eERRVUZCTzBGQlJFTTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTEZkQlFWY3NSVUZCUlN4NVFrRkJlVUlzUlVGQlJTeERRVUZETzBsQlF6TkdMRTFCUVUwc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFRRVUZUTEVWQlFVVXNRMEZCUXpzN1owUkJRMW83UVVGS1VDeGxRVUZsTzBsQmJFSXpRaXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRVZCUVVVN1VVRkRla0lzU1VGQlNTeEZRVUZGTEcxQ1FVRnRRanRSUVVONlFpeFJRVUZSTEVWQlFVVXNVMEZCVXp0UlFVTnVRaXhMUVVGTExFVkJRVVVzVTBGQlV6dFJRVU5vUWl4SlFVRkpMRVZCUVVVc1ZVRkJWVHRSUVVOb1FpeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hSUVVGUkxFTkJRVU03VVVGRGNrTXNVVUZCVVN4RlFVRkZPMWxCUTFJc1MwRkJTeXhGUVVGRkxHTkJRV003V1VGRGNrSXNWMEZCVnl4RlFVRkZMR3RIUVVGclJ6dFpRVU12Unl4UFFVRlBMRVZCUVVVN1owSkJRMUFzU1VGQlNTeEZRVUZGTEUxQlFVMDdaMEpCUTFvc1RVRkJUU3hGUVVGRkxFVkJRVVU3WVVGRFdEdFRRVU5HTzB0QlEwWXNRMEZCUXp0SlFVTkVMRXRCUVVzc1JVRkJSVHRIUVVOTExHVkJRV1VzUTBGTE0wSTdPMEZCUlVRN08wZEJSVWM3UVVGclFra3NTVUZCVFN4bFFVRmxMRWRCUVhKQ0xFMUJRVTBzWlVGQlowSXNVMEZCVVN4TFFVRkxPME5CWlhwRExFTkJRVUU3UVVGWVF6dEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMRmRCUVZjc1JVRkJSU3gxUWtGQmRVSXNSVUZCUlN4RFFVRkRPMGxCUXpsRkxFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4VFFVRlRMRVZCUVVVc1EwRkJRenM3WjBSQlEySTdRVUZMYWtJN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxGbEJRVmtzUlVGQlJTeFhRVUZYTEVWQlFVVXNlVUpCUVhsQ0xFVkJRVVVzUTBGQlF6dEpRVU51Uml4TlFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEVOQlFVTTdPMnRFUVVOaU8wRkJTMjVDTzBsQlNFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4VFFVRlRMRVZCUVVVc1YwRkJWeXhGUVVGRkxITkNRVUZ6UWl4RlFVRkZMRU5CUVVNN1NVRkROMFVzVFVGQlRTeERRVUZETEVWQlFVVXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hEUVVGRE96c3JRMEZEWWp0QlFXUk1MR1ZCUVdVN1NVRnFRak5DTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUlVGQlJUdFJRVU42UWl4SlFVRkpMRVZCUVVVc2JVSkJRVzFDTzFGQlEzcENMRkZCUVZFc1JVRkJSU3hUUVVGVE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4VFFVRlRPMUZCUTJoQ0xFbEJRVWtzUlVGQlJTeHRRa0ZCYlVJN1VVRkRla0lzUzBGQlN5eEZRVUZGTEVWQlFVVTdVVUZEVkN4TlFVRk5MRVZCUVVVc1JVRkJSVHRSUVVOV0xFMUJRVTBzUlVGQlJTeERRVUZETEZOQlFWTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1dVRkJXU3hEUVVGRE8xRkJRM3BETEZGQlFWRXNSVUZCUlR0WlFVTlNMRXRCUVVzc1JVRkJSU3hqUVVGak8xbEJRM0pDTEZkQlFWY3NSVUZCUlN3MFJrRkJORVk3V1VGRGVrY3NUMEZCVHl4RlFVRkZPMmRDUVVOUUxFbEJRVWtzUlVGQlJTeE5RVUZOTzJGQlEySTdVMEZEUmp0TFFVTkdMRU5CUVVNN1NVRkRSQ3hMUVVGTExFVkJRVVU3UjBGRFN5eGxRVUZsTEVOQlpUTkNPenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4RFFVRkRMRTFCUVUwc2JVSkJRVzFDTEVkQlFVYzdTVUZEYWtNc2FVSkJRV2xDTzBsQlEycENMR3RDUVVGclFqdEpRVU5zUWl4dFFrRkJiVUk3U1VGRGJrSXNaMEpCUVdkQ08wbEJRMmhDTEdWQlFXVTdTVUZEWml4bFFVRmxPME5CUTFBc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdlozSmhjR2d2Ym05a1pYTXZkSEpwWjJkbGNuTmNiaUFxSUVCemRXMXRZWEo1SUZCeWIyUjFZM1JwYjI0Z2RISnBaMmRsY2lCdWIyUmxJR3RwYm1RZ1pHVmpiR0Z5WVhScGIyNXpJQ2hFUlVOQlJpMHpNaURDcHpJeUxqSXVNU2t1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTJGdWIyNXBZMkZzSUdCQWJtOWtaV0F0WkdWamIzSmhkR1ZrSUdOc1lYTnpaWE1nWm05eUlIUm9aU0J6YVhnZ1FVeEdVa1ZFTFRVZ2RISnBaMmRsY2x4dUlDb2dhMmx1WkhNdUlGUnlhV2RuWlhKeklHRnlaU0J0WlhSaFpHRjBZUzF2Ym14NUlHVnVkSEo1Y0c5cGJuUnpPaUIwYUdWNUlHUmxabWx1WlNCb2IzY2dZU0IzYjNKclpteHZkMXh1SUNvZ2MzUmhjblJ6SUdGdVpDQndjbTlrZFdObElHRWdkSEpwWjJkbGNpQndZWGxzYjJGa0lHOXVJSFJvWldseUlHQkFiM1YwY0hWMFlDQndiM0owY3k0Z1ZHaGxlU0JvWVhabElHNXZYRzRnS2lCZ1FHbHVjSFYwWUNCd2IzSjBjeUFvYm05MGFHbHVaeUJtWldWa2N5QmhJSFJ5YVdkblpYSXBJR0Z1WkNCdWJ5QmlkV2xzZEMxcGJpQmxlR1ZqZFhSdmNuTWc0b0NVSUhSb1pWeHVJQ29nWlc1bmFXNWxKM01nWlhobFkzVjBhVzl1SUcxdlpHVnNJSE4wWVhKMGN5Qm1jbTl0SUhkdmNtdG1iRzkzSUdsdWNIVjBjeUFvd3FjMUxqZ3BJR0Z1WkNCMGNtVmhkSE5jYmlBcUlIUnlhV2RuWlhJZ2JtOWtaWE1nWVhNZ2JXVjBZV1JoZEdFdGIyNXNlU0JsYm5SeWVYQnZhVzUwY3k1Y2JpQXFMMXh1YVcxd2IzSjBJSHNnVFc5a1pXd3NJRzF2WkdWc0xDQnlaWEYxYVhKbFpDQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHOXlMWFpoYkdsa1lYUnBiMjVjSWp0Y2JtbHRjRzl5ZENCN0lIVnBaV3hsYldWdWRDQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZkV2t0WkdWamIzSmhkRzl5YzF3aU8xeHVhVzF3YjNKMElIc2dibTlrWlN3Z2IzVjBjSFYwSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5MWFTMWtaV052Y21GMGIzSnpMMmR5WVhCb1hDSTdYRzVjYmk4cUtseHVJQ29nVFdGdWRXRnNJSFJ5YVdkblpYSWc0b0NVSUhWelpYSWdZMnhwWTJ0eklGSjFianNnYVc1d2RYUWdabTl5YlNCblpXNWxjbUYwWldRZ1puSnZiU0JnYVc1d2RYUlRZMmhsYldGZ0xseHVJQ292WEc1QWJtOWtaU2hjSW1OdmNtVXVkSEpwWjJkbGNpNXRZVzUxWVd4Y0lpd2dlMXh1SUNCcmFXNWtPaUJjSW1OdmNtVXVkSEpwWjJkbGNpNXRZVzUxWVd4Y0lpeGNiaUFnWTJGMFpXZHZjbms2SUZ3aVZISnBaMmRsY2x3aUxGeHVJQ0JqYjJ4dmNqb2dYQ0lqTTJJNE1tWTJYQ0lzWEc0Z0lHbGpiMjQ2SUZ3aWRHa3RhR0Z1WkMxamJHbGphMXdpTEZ4dUlDQjNhV1IwYURvZ09UWXNYRzRnSUdobGFXZG9kRG9nT1RZc1hHNGdJR3hoWW1Wc2N6b2dXMXdpZEhKcFoyZGxjbHdpTENCY0ltMWhiblZoYkZ3aUxDQmNJbVZ1ZEhKNWNHOXBiblJjSWwwc1hHNGdJRzFsZEdGa1lYUmhPaUI3WEc0Z0lDQWdkR2wwYkdVNklGd2lUV0Z1ZFdGc0lIUnlhV2RuWlhKY0lpeGNiaUFnSUNCa1pYTmpjbWx3ZEdsdmJqb2dYQ0pUZEdGeWRITWdkR2hsSUhkdmNtdG1iRzkzSUhkb1pXNGdkR2hsSUhWelpYSWdZMnhwWTJ0eklGSjFiaTRnVkdobElHbHVjSFYwSUdadmNtMGdhWE1nWjJWdVpYSmhkR1ZrSUdaeWIyMGdkR2hsSUhSeWFXZG5aWEluY3lCcGJuQjFkQ0J6WTJobGJXRXVYQ0lzWEc0Z0lDQWdkSEpwWjJkbGNqb2dlMXh1SUNBZ0lDQWdkSGx3WlRvZ1hDSnRZVzUxWVd4Y0lpeGNiaUFnSUNBZ0lHbHVjSFYwVTJOb1pXMWhPaUI3ZlN4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVFdGdWRXRnNWSEpwWjJkbGNrNXZaR1VnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKMFpYaDBZWEpsWVZ3aUxDQjdJR3hoWW1Wc09pQmNJbFJ5YVdkblpYSWdjR0Y1Ykc5aFpGd2lMQ0J3YkdGalpXaHZiR1JsY2pvZ1hDSk5ZVzUxWVd3Z2RISnBaMmRsY2lCd1lYbHNiMkZrWENJZ2ZTbGNiaUFnUUc5MWRIQjFkQ2g3SUdoaGJtUnNaVG9nWENKd1lYbHNiMkZrWENJZ2ZTbGNiaUFnY0dGNWJHOWhaQ0U2SUhWdWEyNXZkMjQ3WEc1OVhHNWNiaThxS2x4dUlDb2dWMlZpYUc5dmF5QjBjbWxuWjJWeUlPS0FsQ0JJVkZSUUlISmxjWFZsYzNRZ2NtVmpaV2wyWldRN0lIQmhkR2d2YldWMGFHOWtMMkYxZEdndmNtVnpjRzl1YzJWTmIyUmxJR052Ym1acFp5NWNiaUFxTDF4dVFHNXZaR1VvWENKamIzSmxMblJ5YVdkblpYSXVkMlZpYUc5dmExd2lMQ0I3WEc0Z0lHdHBibVE2SUZ3aVkyOXlaUzUwY21sbloyVnlMbmRsWW1odmIydGNJaXhjYmlBZ1kyRjBaV2R2Y25rNklGd2lWSEpwWjJkbGNsd2lMRnh1SUNCamIyeHZjam9nWENJak1HVmhOV1U1WENJc1hHNGdJR2xqYjI0NklGd2lkR2t0ZDJWaWFHOXZhMXdpTEZ4dUlDQjNhV1IwYURvZ09UWXNYRzRnSUdobGFXZG9kRG9nT1RZc1hHNGdJR3hoWW1Wc2N6b2dXMXdpZEhKcFoyZGxjbHdpTENCY0luZGxZbWh2YjJ0Y0lpd2dYQ0pvZEhSd1hDSmRMRnh1SUNCdFpYUmhaR0YwWVRvZ2UxeHVJQ0FnSUhScGRHeGxPaUJjSWxkbFltaHZiMnNnZEhKcFoyZGxjbHdpTEZ4dUlDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0lsTjBZWEowY3lCMGFHVWdkMjl5YTJac2IzY2dkMmhsYmlCaGJpQklWRlJRSUhKbGNYVmxjM1FnYVhNZ2NtVmpaV2wyWldRZ2IyNGdkR2hsSUdOdmJtWnBaM1Z5WldRZ2NHRjBhQ0JoYm1RZ2JXVjBhRzlrTGx3aUxGeHVJQ0FnSUhSeWFXZG5aWEk2SUh0Y2JpQWdJQ0FnSUhSNWNHVTZJRndpZDJWaWFHOXZhMXdpTEZ4dUlDQWdJQ0FnY0dGMGFEb2dYQ0l2ZDJWaWFHOXZhMXdpTEZ4dUlDQWdJQ0FnYldWMGFHOWtPaUJjSWxCUFUxUmNJaXhjYmlBZ0lDQWdJR0YxZEdnNklGd2libTl1WlZ3aUxGeHVJQ0FnSUNBZ2NtVnpjRzl1YzJWTmIyUmxPaUJjSW05dVVtVmpaV2wyWldSY0lpeGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1YyVmlhRzl2YTFSeWFXZG5aWEpPYjJSbElHVjRkR1Z1WkhNZ1RXOWtaV3dnZTF4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWRXbGxiR1Z0Wlc1MEtGd2lkR1Y0ZEdGeVpXRmNJaXdnZXlCc1lXSmxiRG9nWENKU1pYRjFaWE4wSUhCaGVXeHZZV1JjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpVjJWaWFHOXZheUJ5WlhGMVpYTjBJR0p2WkhsY0lpQjlLVnh1SUNCQWIzVjBjSFYwS0hzZ2FHRnVaR3hsT2lCY0luQmhlV3h2WVdSY0lpQjlLVnh1SUNCd1lYbHNiMkZrSVRvZ2RXNXJibTkzYmp0Y2JuMWNibHh1THlvcVhHNGdLaUJUWTJobFpIVnNaU0IwY21sbloyVnlJT0tBbENCamNtOXVMV3hwYTJVZ2MyTm9aV1IxYkdVN0lIUnBiV1Y2YjI1bElDc2djR0Y1Ykc5aFpDQmpiMjVtYVdjdVhHNGdLaTljYmtCdWIyUmxLRndpWTI5eVpTNTBjbWxuWjJWeUxuTmphR1ZrZFd4bFhDSXNJSHRjYmlBZ2EybHVaRG9nWENKamIzSmxMblJ5YVdkblpYSXVjMk5vWldSMWJHVmNJaXhjYmlBZ1kyRjBaV2R2Y25rNklGd2lWSEpwWjJkbGNsd2lMRnh1SUNCamIyeHZjam9nWENJak5qTTJObVl4WENJc1hHNGdJR2xqYjI0NklGd2lkR2t0WTJGc1pXNWtZWEl0ZEdsdFpWd2lMRnh1SUNCM2FXUjBhRG9nT1RZc1hHNGdJR2hsYVdkb2REb2dPVFlzWEc0Z0lHeGhZbVZzY3pvZ1cxd2lkSEpwWjJkbGNsd2lMQ0JjSW5OamFHVmtkV3hsWENJc0lGd2lZM0p2Ymx3aVhTeGNiaUFnYldWMFlXUmhkR0U2SUh0Y2JpQWdJQ0IwYVhSc1pUb2dYQ0pUWTJobFpIVnNaU0IwY21sbloyVnlYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVUzUmhjblJ6SUhSb1pTQjNiM0pyWm14dmR5QnZiaUJoSUdOeWIyNHRiR2xyWlNCelkyaGxaSFZzWlNCM2FYUm9JSFJwYldWNmIyNWxJSE4xY0hCdmNuUXVYQ0lzWEc0Z0lDQWdkSEpwWjJkbGNqb2dlMXh1SUNBZ0lDQWdkSGx3WlRvZ1hDSnpZMmhsWkhWc1pWd2lMRnh1SUNBZ0lDQWdjMk5vWldSMWJHVTZJRndpTUNBcUlDb2dLaUFxWENJc1hHNGdJQ0FnSUNCMGFXMWxlbTl1WlRvZ1hDSlZWRU5jSWl4Y2JpQWdJQ0I5TEZ4dUlDQjlMRnh1ZlNsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVTJOb1pXUjFiR1ZVY21sbloyVnlUbTlrWlNCbGVIUmxibVJ6SUUxdlpHVnNJSHRjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhWcFpXeGxiV1Z1ZENoY0luUmxlSFJoY21WaFhDSXNJSHNnYkdGaVpXdzZJRndpVTJOb1pXUjFiR1ZrSUhCaGVXeHZZV1JjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpVUdGNWJHOWhaQ0JtYjNJZ2RHaGxJSE5qYUdWa2RXeGxaQ0J5ZFc1Y0lpQjlLVnh1SUNCQWIzVjBjSFYwS0hzZ2FHRnVaR3hsT2lCY0luQmhlV3h2WVdSY0lpQjlLVnh1SUNCd1lYbHNiMkZrSVRvZ2RXNXJibTkzYmp0Y2JuMWNibHh1THlvcVhHNGdLaUJGZG1WdWRDQjBjbWxuWjJWeUlPS0FsQ0JwYm5SbGNtNWhiQ0JsZG1WdWRDQmlkWE1nZEc5d2FXTWdjM1ZpYzJOeWFXSmxjaTVjYmlBcUwxeHVRRzV2WkdVb1hDSmpiM0psTG5SeWFXZG5aWEl1WlhabGJuUmNJaXdnZTF4dUlDQnJhVzVrT2lCY0ltTnZjbVV1ZEhKcFoyZGxjaTVsZG1WdWRGd2lMRnh1SUNCallYUmxaMjl5ZVRvZ1hDSlVjbWxuWjJWeVhDSXNYRzRnSUdOdmJHOXlPaUJjSWlNNFlqVmpaalpjSWl4Y2JpQWdhV052YmpvZ1hDSjBhUzFpY205aFpHTmhjM1JjSWl4Y2JpQWdkMmxrZEdnNklEazJMRnh1SUNCb1pXbG5hSFE2SURrMkxGeHVJQ0JzWVdKbGJITTZJRnRjSW5SeWFXZG5aWEpjSWl3Z1hDSmxkbVZ1ZEZ3aUxDQmNJbUoxYzF3aVhTeGNiaUFnYldWMFlXUmhkR0U2SUh0Y2JpQWdJQ0IwYVhSc1pUb2dYQ0pGZG1WdWRDQjBjbWxuWjJWeVhDSXNYRzRnSUNBZ1pHVnpZM0pwY0hScGIyNDZJRndpVTNSaGNuUnpJSFJvWlNCM2IzSnJabXh2ZHlCM2FHVnVJR0Z1SUdWMlpXNTBJR2x6SUhCMVlteHBjMmhsWkNCdmJpQjBhR1VnWTI5dVptbG5kWEpsWkNCcGJuUmxjbTVoYkNCbGRtVnVkQ0JpZFhNZ2RHOXdhV011WENJc1hHNGdJQ0FnZEhKcFoyZGxjam9nZTF4dUlDQWdJQ0FnZEhsd1pUb2dYQ0psZG1WdWRGd2lMRnh1SUNBZ0lDQWdkRzl3YVdNNklGd2laR1ZtWVhWc2RGd2lMRnh1SUNBZ0lIMHNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QkZkbVZ1ZEZSeWFXZG5aWEpPYjJSbElHVjRkR1Z1WkhNZ1RXOWtaV3dnZTF4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWRXbGxiR1Z0Wlc1MEtGd2lkR1Y0ZEdGeVpXRmNJaXdnZXlCc1lXSmxiRG9nWENKRmRtVnVkQ0J3WVhsc2IyRmtYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJa1YyWlc1MElHSjFjeUJ3WVhsc2IyRmtYQ0lnZlNsY2JpQWdRRzkxZEhCMWRDaDdJR2hoYm1Sc1pUb2dYQ0p3WVhsc2IyRmtYQ0lnZlNsY2JpQWdjR0Y1Ykc5aFpDRTZJSFZ1YTI1dmQyNDdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JtOXliU0IwY21sbloyVnlJT0tBbENCblpXNWxjbUYwWldRZ2NIVmliR2xqTDJsdWRHVnlibUZzSUdadmNtMDdJR1pwWld4a0lHUmxabWx1YVhScGIyNXpMbHh1SUNvdlhHNUFibTlrWlNoY0ltTnZjbVV1ZEhKcFoyZGxjaTVtYjNKdFhDSXNJSHRjYmlBZ2EybHVaRG9nWENKamIzSmxMblJ5YVdkblpYSXVabTl5YlZ3aUxGeHVJQ0JqWVhSbFoyOXllVG9nWENKVWNtbG5aMlZ5WENJc1hHNGdJR052Ykc5eU9pQmNJaU5sWXpRNE9UbGNJaXhjYmlBZ2FXTnZiam9nWENKMGFTMW1iM0p0YzF3aUxGeHVJQ0IzYVdSMGFEb2dPVFlzWEc0Z0lHaGxhV2RvZERvZ09UWXNYRzRnSUd4aFltVnNjem9nVzF3aWRISnBaMmRsY2x3aUxDQmNJbVp2Y20xY0lpd2dYQ0p3ZFdKc2FXTmNJbDBzWEc0Z0lHMWxkR0ZrWVhSaE9pQjdYRzRnSUNBZ2RHbDBiR1U2SUZ3aVJtOXliU0IwY21sbloyVnlYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVUzUmhjblJ6SUhSb1pTQjNiM0pyWm14dmR5QjNhR1Z1SUdFZ1oyVnVaWEpoZEdWa0lHWnZjbTBnYVhNZ2MzVmliV2wwZEdWa0xpQkdhV1ZzWkNCa1pXWnBibWwwYVc5dWN5QmtjbWwyWlNCMGFHVWdabTl5YlNCelkyaGxiV0V1WENJc1hHNGdJQ0FnZEhKcFoyZGxjam9nZTF4dUlDQWdJQ0FnZEhsd1pUb2dYQ0ptYjNKdFhDSXNYRzRnSUNBZ0lDQm1hV1ZzWkhNNklGdGRMRnh1SUNBZ0lIMHNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QkdiM0p0VkhKcFoyZGxjazV2WkdVZ1pYaDBaVzVrY3lCTmIyUmxiQ0I3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWtadmNtMGdjM1ZpYldsemMybHZibHdpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pHYjNKdElITjFZbTFwYzNOcGIyNGdjR0Y1Ykc5aFpGd2lJSDBwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2ljR0Y1Ykc5aFpGd2lJSDBwWEc0Z0lIQmhlV3h2WVdRaE9pQjFibXR1YjNkdU8xeHVmVnh1WEc0dktpcGNiaUFxSUVOb1lYUWdkSEpwWjJkbGNpRGlnSlFnWTJoaGRDQnRaWE56WVdkbElHVnVkSEo1Y0c5cGJuUTdJRzFsYzNOaFoyVXZjMlZ6YzJsdmJrbGtMM1Z6WlhKSlpDQnpZMmhsYldFdVhHNGdLaTljYmtCdWIyUmxLRndpWTI5eVpTNTBjbWxuWjJWeUxtTm9ZWFJjSWl3Z2UxeHVJQ0JyYVc1a09pQmNJbU52Y21VdWRISnBaMmRsY2k1amFHRjBYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJbFJ5YVdkblpYSmNJaXhjYmlBZ1kyOXNiM0k2SUZ3aUl6RTBZamhoTmx3aUxGeHVJQ0JwWTI5dU9pQmNJblJwTFcxbGMzTmhaMlV0WTJseVkyeGxYQ0lzWEc0Z0lIZHBaSFJvT2lBNU5peGNiaUFnYUdWcFoyaDBPaUE1Tml4Y2JpQWdiR0ZpWld4ek9pQmJYQ0owY21sbloyVnlYQ0lzSUZ3aVkyaGhkRndpTENCY0ltVnVkSEo1Y0c5cGJuUmNJbDBzWEc0Z0lHMWxkR0ZrWVhSaE9pQjdYRzRnSUNBZ2RHbDBiR1U2SUZ3aVEyaGhkQ0IwY21sbloyVnlYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVUzUmhjblJ6SUhSb1pTQjNiM0pyWm14dmR5QjNhR1Z1SUdFZ1kyaGhkQ0J0WlhOellXZGxJR2x6SUhKbFkyVnBkbVZrTGlCRmJXbDBjeUJ0WlhOellXZGxMQ0J6WlhOemFXOXVTV1FzSUdGdVpDQjFjMlZ5U1dRdVhDSXNYRzRnSUNBZ2RISnBaMmRsY2pvZ2UxeHVJQ0FnSUNBZ2RIbHdaVG9nWENKamFHRjBYQ0lzWEc0Z0lDQWdmU3hjYmlBZ2ZTeGNibjBwWEc1QWJXOWtaV3dvS1Z4dVpYaHdiM0owSUdOc1lYTnpJRU5vWVhSVWNtbG5aMlZ5VG05a1pTQmxlSFJsYm1SeklFMXZaR1ZzSUh0Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJbWx1Y0hWMFhDSXNJSHNnYkdGaVpXdzZJRndpVFdWemMyRm5aVndpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pKYm1OdmJXbHVaeUJqYUdGMElHMWxjM05oWjJWY0lpQjlLVnh1SUNCQWIzVjBjSFYwS0hzZ2FHRnVaR3hsT2lCY0ltMWxjM05oWjJWY0lpQjlLVnh1SUNCdFpYTnpZV2RsSVRvZ2MzUnlhVzVuTzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0pwYm5CMWRGd2lMQ0I3SUd4aFltVnNPaUJjSWxObGMzTnBiMjRnU1VSY0lpd2djR3hoWTJWb2IyeGtaWEk2SUZ3aVEyaGhkQ0J6WlhOemFXOXVJR2xrWlc1MGFXWnBaWEpjSWlCOUtWeHVJQ0JBYjNWMGNIVjBLSHNnYUdGdVpHeGxPaUJjSW5ObGMzTnBiMjVKWkZ3aUlIMHBYRzRnSUhObGMzTnBiMjVKWkNFNklITjBjbWx1Wnp0Y2JseHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFkV2xsYkdWdFpXNTBLRndpYVc1d2RYUmNJaXdnZXlCc1lXSmxiRG9nWENKVmMyVnlJRWxFWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWtOb1lYUWdkWE5sY2lCcFpHVnVkR2xtYVdWeVhDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSjFjMlZ5U1dSY0lpQjlLVnh1SUNCMWMyVnlTV1FoT2lCemRISnBibWM3WEc1OVhHNWNiaThxS2x4dUlDb2dRV3hzSUdKMWFXeDBMV2x1SUhSeWFXZG5aWElnYm05a1pTQmpiMjV6ZEhKMVkzUnZjbk11WEc0Z0tpOWNibVY0Y0c5eWRDQmpiMjV6ZENCSFVrRlFTRjlVVWtsSFIwVlNYMDVQUkVWVElEMGdXMXh1SUNCTllXNTFZV3hVY21sbloyVnlUbTlrWlN4Y2JpQWdWMlZpYUc5dmExUnlhV2RuWlhKT2IyUmxMRnh1SUNCVFkyaGxaSFZzWlZSeWFXZG5aWEpPYjJSbExGeHVJQ0JGZG1WdWRGUnlhV2RuWlhKT2IyUmxMRnh1SUNCR2IzSnRWSEpwWjJkbGNrNXZaR1VzWEc0Z0lFTm9ZWFJVY21sbloyVnlUbTlrWlN4Y2JsMGdZWE1nWTI5dWMzUTdYRzRpWFgwPSJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GraphPinningDependencyResolver = void 0;
|
|
4
|
-
const GraphTopology_js_1 = require("./../planning/GraphTopology.cjs");
|
|
5
|
-
/**
|
|
6
|
-
* Resolves the upstream dependency subtree of a node for pinning operations.
|
|
7
|
-
*/
|
|
8
|
-
class GraphPinningDependencyResolver {
|
|
9
|
-
/**
|
|
10
|
-
* Returns the set of upstream node ids that the given node depends on,
|
|
11
|
-
* excluding the workflow boundary.
|
|
12
|
-
*/
|
|
13
|
-
getDependencies(plan, nodeId) {
|
|
14
|
-
return GraphTopology_js_1.GraphTopology.upstreamNodes(nodeId, plan.incomingByNode, false);
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Returns the full set of node ids to pin: the node itself plus all its
|
|
18
|
-
* upstream dependencies.
|
|
19
|
-
*/
|
|
20
|
-
getPinSet(plan, nodeId) {
|
|
21
|
-
const deps = this.getDependencies(plan, nodeId);
|
|
22
|
-
deps.add(nodeId);
|
|
23
|
-
return deps;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.GraphPinningDependencyResolver = GraphPinningDependencyResolver;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL3Bpbm5pbmcvR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxhQUFhLEVBQUUsdUNBQWtDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDhCQUE4QjtJQUN6Qzs7O09BR0c7SUFDSCxlQUFlLENBQUMsSUFBd0IsRUFBRSxNQUFjO1FBQ3RELE9BQU8sYUFBYSxDQUFDLGFBQWEsQ0FDaEMsTUFBTSxFQUNOLElBQUksQ0FBQyxjQUFjLEVBQ25CLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUF3QixFQUFFLE1BQWM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvcGlubmluZy9HcmFwaFBpbm5pbmdEZXBlbmRlbmN5UmVzb2x2ZXJcbiAqIEBzdW1tYXJ5IFJlc29sdmVzIHVwc3RyZWFtIGRlcGVuZGVuY3kgc3VidHJlZXMgZm9yIHBpbm5pbmcuXG4gKiBAZGVzY3JpcHRpb24gV2hlbiBhIG5vZGUgaXMgcGlubmVkLCBhbGwgdXBzdHJlYW0gbm9kZXMgaXQgZGVwZW5kcyBvbiBtdXN0IGFsc28gYmUgcGlubmVkLiBUaGlzIHJlc29sdmVyIGNvbXB1dGVzIHRoZSBkZXBlbmRlbmN5IHNldC5cbiAqL1xuaW1wb3J0IHR5cGUgeyBHcmFwaEV4ZWN1dGlvblBsYW4gfSBmcm9tIFwiLi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuXCI7XG5pbXBvcnQgeyBHcmFwaFRvcG9sb2d5IH0gZnJvbSBcIi4uL3BsYW5uaW5nL0dyYXBoVG9wb2xvZ3lcIjtcblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgdXBzdHJlYW0gZGVwZW5kZW5jeSBzdWJ0cmVlIG9mIGEgbm9kZSBmb3IgcGlubmluZyBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHNldCBvZiB1cHN0cmVhbSBub2RlIGlkcyB0aGF0IHRoZSBnaXZlbiBub2RlIGRlcGVuZHMgb24sXG4gICAqIGV4Y2x1ZGluZyB0aGUgd29ya2Zsb3cgYm91bmRhcnkuXG4gICAqL1xuICBnZXREZXBlbmRlbmNpZXMocGxhbjogR3JhcGhFeGVjdXRpb25QbGFuLCBub2RlSWQ6IHN0cmluZyk6IFNldDxzdHJpbmc+IHtcbiAgICByZXR1cm4gR3JhcGhUb3BvbG9neS51cHN0cmVhbU5vZGVzKFxuICAgICAgbm9kZUlkLFxuICAgICAgcGxhbi5pbmNvbWluZ0J5Tm9kZSxcbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBub2RlIGlkcyB0byBwaW46IHRoZSBub2RlIGl0c2VsZiBwbHVzIGFsbCBpdHNcbiAgICogdXBzdHJlYW0gZGVwZW5kZW5jaWVzLlxuICAgKi9cbiAgZ2V0UGluU2V0KHBsYW46IEdyYXBoRXhlY3V0aW9uUGxhbiwgbm9kZUlkOiBzdHJpbmcpOiBTZXQ8c3RyaW5nPiB7XG4gICAgY29uc3QgZGVwcyA9IHRoaXMuZ2V0RGVwZW5kZW5jaWVzKHBsYW4sIG5vZGVJZCk7XG4gICAgZGVwcy5hZGQobm9kZUlkKTtcbiAgICByZXR1cm4gZGVwcztcbiAgfVxufVxuIl19
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUErRDtBQUMvRDs7R0FFRztBQUNILE1BQWEsOEJBQThCO0lBQ3ZDOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTTtRQUN4QixPQUFPLGdDQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFDRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU07UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFqQkQsd0VBaUJDO0FBQ0QsMDBFQUEwMEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHcmFwaFRvcG9sb2d5IH0gZnJvbSBcIi4vLi4vcGxhbm5pbmcvR3JhcGhUb3BvbG9neS5qc1wiO1xuLyoqXG4gKiBSZXNvbHZlcyB0aGUgdXBzdHJlYW0gZGVwZW5kZW5jeSBzdWJ0cmVlIG9mIGEgbm9kZSBmb3IgcGlubmluZyBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhQaW5uaW5nRGVwZW5kZW5jeVJlc29sdmVyIHtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzZXQgb2YgdXBzdHJlYW0gbm9kZSBpZHMgdGhhdCB0aGUgZ2l2ZW4gbm9kZSBkZXBlbmRzIG9uLFxuICAgICAqIGV4Y2x1ZGluZyB0aGUgd29ya2Zsb3cgYm91bmRhcnkuXG4gICAgICovXG4gICAgZ2V0RGVwZW5kZW5jaWVzKHBsYW4sIG5vZGVJZCkge1xuICAgICAgICByZXR1cm4gR3JhcGhUb3BvbG9neS51cHN0cmVhbU5vZGVzKG5vZGVJZCwgcGxhbi5pbmNvbWluZ0J5Tm9kZSwgZmFsc2UpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBub2RlIGlkcyB0byBwaW46IHRoZSBub2RlIGl0c2VsZiBwbHVzIGFsbCBpdHNcbiAgICAgKiB1cHN0cmVhbSBkZXBlbmRlbmNpZXMuXG4gICAgICovXG4gICAgZ2V0UGluU2V0KHBsYW4sIG5vZGVJZCkge1xuICAgICAgICBjb25zdCBkZXBzID0gdGhpcy5nZXREZXBlbmRlbmNpZXMocGxhbiwgbm9kZUlkKTtcbiAgICAgICAgZGVwcy5hZGQobm9kZUlkKTtcbiAgICAgICAgcmV0dXJuIGRlcHM7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUjNKaGNHaFFhVzV1YVc1blJHVndaVzVrWlc1amVWSmxjMjlzZG1WeUxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMmR5WVhCb0wzQnBibTVwYm1jdlIzSmhjR2hRYVc1dWFXNW5SR1Z3Wlc1a1pXNWplVkpsYzI5c2RtVnlMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVUxQkxFOUJRVThzUlVGQlJTeGhRVUZoTEVWQlFVVXNkVU5CUVd0RE8wRkJSVEZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hQUVVGUExEaENRVUU0UWp0SlFVTjZRenM3TzA5QlIwYzdTVUZEU0N4bFFVRmxMRU5CUVVNc1NVRkJkMElzUlVGQlJTeE5RVUZqTzFGQlEzUkVMRTlCUVU4c1lVRkJZU3hEUVVGRExHRkJRV0VzUTBGRGFFTXNUVUZCVFN4RlFVTk9MRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRMjVDTEV0QlFVc3NRMEZEVGl4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWRU96czdUMEZIUnp0SlFVTklMRk5CUVZNc1EwRkJReXhKUVVGM1FpeEZRVUZGTEUxQlFXTTdVVUZEYUVRc1RVRkJUU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGFFUXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU5xUWl4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOa0xFTkJRVU03UTBGRFJpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRRzF2WkhWc1pTQnBiblJsWjNKaGRHbHZibk12WjNKaGNHZ3ZjR2x1Ym1sdVp5OUhjbUZ3YUZCcGJtNXBibWRFWlhCbGJtUmxibU41VW1WemIyeDJaWEpjYmlBcUlFQnpkVzF0WVhKNUlGSmxjMjlzZG1WeklIVndjM1J5WldGdElHUmxjR1Z1WkdWdVkza2djM1ZpZEhKbFpYTWdabTl5SUhCcGJtNXBibWN1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVjJobGJpQmhJRzV2WkdVZ2FYTWdjR2x1Ym1Wa0xDQmhiR3dnZFhCemRISmxZVzBnYm05a1pYTWdhWFFnWkdWd1pXNWtjeUJ2YmlCdGRYTjBJR0ZzYzI4Z1ltVWdjR2x1Ym1Wa0xpQlVhR2x6SUhKbGMyOXNkbVZ5SUdOdmJYQjFkR1Z6SUhSb1pTQmtaWEJsYm1SbGJtTjVJSE5sZEM1Y2JpQXFMMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkhjbUZ3YUVWNFpXTjFkR2x2YmxCc1lXNGdmU0JtY205dElGd2lMaTR2Y0d4aGJtNXBibWN2UjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1WENJN1hHNXBiWEJ2Y25RZ2V5QkhjbUZ3YUZSdmNHOXNiMmQ1SUgwZ1puSnZiU0JjSWk0dUwzQnNZVzV1YVc1bkwwZHlZWEJvVkc5d2IyeHZaM2xjSWp0Y2JseHVMeW9xWEc0Z0tpQlNaWE52YkhabGN5QjBhR1VnZFhCemRISmxZVzBnWkdWd1pXNWtaVzVqZVNCemRXSjBjbVZsSUc5bUlHRWdibTlrWlNCbWIzSWdjR2x1Ym1sdVp5QnZjR1Z5WVhScGIyNXpMbHh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nUjNKaGNHaFFhVzV1YVc1blJHVndaVzVrWlc1amVWSmxjMjlzZG1WeUlIdGNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nZEdobElITmxkQ0J2WmlCMWNITjBjbVZoYlNCdWIyUmxJR2xrY3lCMGFHRjBJSFJvWlNCbmFYWmxiaUJ1YjJSbElHUmxjR1Z1WkhNZ2IyNHNYRzRnSUNBcUlHVjRZMngxWkdsdVp5QjBhR1VnZDI5eWEyWnNiM2NnWW05MWJtUmhjbmt1WEc0Z0lDQXFMMXh1SUNCblpYUkVaWEJsYm1SbGJtTnBaWE1vY0d4aGJqb2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVMQ0J1YjJSbFNXUTZJSE4wY21sdVp5azZJRk5sZER4emRISnBibWMrSUh0Y2JpQWdJQ0J5WlhSMWNtNGdSM0poY0doVWIzQnZiRzluZVM1MWNITjBjbVZoYlU1dlpHVnpLRnh1SUNBZ0lDQWdibTlrWlVsa0xGeHVJQ0FnSUNBZ2NHeGhiaTVwYm1OdmJXbHVaMEo1VG05a1pTeGNiaUFnSUNBZ0lHWmhiSE5sWEc0Z0lDQWdLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYUjFjbTV6SUhSb1pTQm1kV3hzSUhObGRDQnZaaUJ1YjJSbElHbGtjeUIwYnlCd2FXNDZJSFJvWlNCdWIyUmxJR2wwYzJWc1ppQndiSFZ6SUdGc2JDQnBkSE5jYmlBZ0lDb2dkWEJ6ZEhKbFlXMGdaR1Z3Wlc1a1pXNWphV1Z6TGx4dUlDQWdLaTljYmlBZ1oyVjBVR2x1VTJWMEtIQnNZVzQ2SUVkeVlYQm9SWGhsWTNWMGFXOXVVR3hoYml3Z2JtOWtaVWxrT2lCemRISnBibWNwT2lCVFpYUThjM1J5YVc1blBpQjdYRzRnSUNBZ1kyOXVjM1FnWkdWd2N5QTlJSFJvYVhNdVoyVjBSR1Z3Wlc1a1pXNWphV1Z6S0hCc1lXNHNJRzV2WkdWSlpDazdYRzRnSUNBZ1pHVndjeTVoWkdRb2JtOWtaVWxrS1R0Y2JpQWdJQ0J5WlhSMWNtNGdaR1Z3Y3p0Y2JpQWdmVnh1ZlZ4dUlsMTkiXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_PINNING_METADATA = void 0;
|
|
4
|
-
exports.isPinnable = isPinnable;
|
|
5
|
-
/**
|
|
6
|
-
* Default pinning metadata applied when `@pinnable()` is used without options.
|
|
7
|
-
*/
|
|
8
|
-
exports.DEFAULT_PINNING_METADATA = {
|
|
9
|
-
enabled: true,
|
|
10
|
-
strategy: "manual",
|
|
11
|
-
includeDependencies: true,
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Returns `true` when the given metadata allows pinning.
|
|
15
|
-
*/
|
|
16
|
-
function isPinnable(metadata) {
|
|
17
|
-
return metadata?.enabled === true && metadata.strategy !== "disabled";
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQaW5uaW5nTWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvcGlubmluZy9HcmFwaFBpbm5pbmdNZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUF5QjtJQUM1RCxPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLG1CQUFtQixFQUFFLElBQUk7Q0FDMUIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxRQUEwQztJQUNuRSxPQUFPLFFBQVEsRUFBRSxPQUFPLEtBQUssSUFBSSxJQUFJLFFBQVEsQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDO0FBQ3hFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL3Bpbm5pbmcvR3JhcGhQaW5uaW5nTWV0YWRhdGFcbiAqIEBzdW1tYXJ5IFBpbm5pbmcgbWV0YWRhdGEgZGVmYXVsdHMgYW5kIGhlbHBlcnMuXG4gKiBAZGVzY3JpcHRpb24gUHJvdmlkZXMgZGVmYXVsdCBwaW5uaW5nIG1ldGFkYXRhIHZhbHVlcyBhbmQgYSBoZWxwZXIgdG8gY2hlY2sgcGlubmFiaWxpdHkuIFRoZSBgR3JhcGhQaW5uaW5nTWV0YWRhdGFgIHR5cGUgaXRzZWxmIGlzIGRlZmluZWQgaW4gYC4uL3R5cGVzYCBhbmQgcmUtZXhwb3J0ZWQgZnJvbSB0aGUgcGFja2FnZSByb290LlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoUGlubmluZ01ldGFkYXRhIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogRGVmYXVsdCBwaW5uaW5nIG1ldGFkYXRhIGFwcGxpZWQgd2hlbiBgQHBpbm5hYmxlKClgIGlzIHVzZWQgd2l0aG91dCBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9QSU5OSU5HX01FVEFEQVRBOiBHcmFwaFBpbm5pbmdNZXRhZGF0YSA9IHtcbiAgZW5hYmxlZDogdHJ1ZSxcbiAgc3RyYXRlZ3k6IFwibWFudWFsXCIsXG4gIGluY2x1ZGVEZXBlbmRlbmNpZXM6IHRydWUsXG59O1xuXG4vKipcbiAqIFJldHVybnMgYHRydWVgIHdoZW4gdGhlIGdpdmVuIG1ldGFkYXRhIGFsbG93cyBwaW5uaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNQaW5uYWJsZShtZXRhZGF0YTogR3JhcGhQaW5uaW5nTWV0YWRhdGEgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgcmV0dXJuIG1ldGFkYXRhPy5lbmFibGVkID09PSB0cnVlICYmIG1ldGFkYXRhLnN0cmF0ZWd5ICE9PSBcImRpc2FibGVkXCI7XG59XG4iXX0=
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQaW5uaW5nTWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHcmFwaFBpbm5pbmdNZXRhZGF0YS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXQSxnQ0FFQztBQWJEOztHQUVHO0FBQ1UsUUFBQSx3QkFBd0IsR0FBRztJQUNwQyxPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLG1CQUFtQixFQUFFLElBQUk7Q0FDNUIsQ0FBQztBQUNGOztHQUVHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLFFBQVE7SUFDL0IsT0FBTyxRQUFRLEVBQUUsT0FBTyxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQztBQUMxRSxDQUFDO0FBQ0Qsc3NEQUFzc0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlZmF1bHQgcGlubmluZyBtZXRhZGF0YSBhcHBsaWVkIHdoZW4gYEBwaW5uYWJsZSgpYCBpcyB1c2VkIHdpdGhvdXQgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUElOTklOR19NRVRBREFUQSA9IHtcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIHN0cmF0ZWd5OiBcIm1hbnVhbFwiLFxuICAgIGluY2x1ZGVEZXBlbmRlbmNpZXM6IHRydWUsXG59O1xuLyoqXG4gKiBSZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSBnaXZlbiBtZXRhZGF0YSBhbGxvd3MgcGlubmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUGlubmFibGUobWV0YWRhdGEpIHtcbiAgICByZXR1cm4gbWV0YWRhdGE/LmVuYWJsZWQgPT09IHRydWUgJiYgbWV0YWRhdGEuc3RyYXRlZ3kgIT09IFwiZGlzYWJsZWRcIjtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2hRYVc1dWFXNW5UV1YwWVdSaGRHRXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WjNKaGNHZ3ZjR2x1Ym1sdVp5OUhjbUZ3YUZCcGJtNXBibWROWlhSaFpHRjBZUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGUFFUczdSMEZGUnp0QlFVTklMRTFCUVUwc1EwRkJReXhOUVVGTkxIZENRVUYzUWl4SFFVRjVRanRKUVVNMVJDeFBRVUZQTEVWQlFVVXNTVUZCU1R0SlFVTmlMRkZCUVZFc1JVRkJSU3hSUVVGUk8wbEJRMnhDTEcxQ1FVRnRRaXhGUVVGRkxFbEJRVWs3UTBGRE1VSXNRMEZCUXp0QlFVVkdPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEZWQlFWVXNRMEZCUXl4UlFVRXdRenRKUVVOdVJTeFBRVUZQTEZGQlFWRXNSVUZCUlN4UFFVRlBMRXRCUVVzc1NVRkJTU3hKUVVGSkxGRkJRVkVzUTBGQlF5eFJRVUZSTEV0QlFVc3NWVUZCVlN4RFFVRkRPMEZCUTNoRkxFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwyZHlZWEJvTDNCcGJtNXBibWN2UjNKaGNHaFFhVzV1YVc1blRXVjBZV1JoZEdGY2JpQXFJRUJ6ZFcxdFlYSjVJRkJwYm01cGJtY2diV1YwWVdSaGRHRWdaR1ZtWVhWc2RITWdZVzVrSUdobGJIQmxjbk11WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVUhKdmRtbGtaWE1nWkdWbVlYVnNkQ0J3YVc1dWFXNW5JRzFsZEdGa1lYUmhJSFpoYkhWbGN5QmhibVFnWVNCb1pXeHdaWElnZEc4Z1kyaGxZMnNnY0dsdWJtRmlhV3hwZEhrdUlGUm9aU0JnUjNKaGNHaFFhVzV1YVc1blRXVjBZV1JoZEdGZ0lIUjVjR1VnYVhSelpXeG1JR2x6SUdSbFptbHVaV1FnYVc0Z1lDNHVMM1I1Y0dWellDQmhibVFnY21VdFpYaHdiM0owWldRZ1puSnZiU0IwYUdVZ2NHRmphMkZuWlNCeWIyOTBMbHh1SUNvdlhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVkeVlYQm9VR2x1Ym1sdVowMWxkR0ZrWVhSaElIMGdabkp2YlNCY0lpNHVMM1I1Y0dWelhDSTdYRzVjYmk4cUtseHVJQ29nUkdWbVlYVnNkQ0J3YVc1dWFXNW5JRzFsZEdGa1lYUmhJR0Z3Y0d4cFpXUWdkMmhsYmlCZ1FIQnBibTVoWW14bEtDbGdJR2x6SUhWelpXUWdkMmwwYUc5MWRDQnZjSFJwYjI1ekxseHVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdSRVZHUVZWTVZGOVFTVTVPU1U1SFgwMUZWRUZFUVZSQk9pQkhjbUZ3YUZCcGJtNXBibWROWlhSaFpHRjBZU0E5SUh0Y2JpQWdaVzVoWW14bFpEb2dkSEoxWlN4Y2JpQWdjM1J5WVhSbFozazZJRndpYldGdWRXRnNYQ0lzWEc0Z0lHbHVZMngxWkdWRVpYQmxibVJsYm1OcFpYTTZJSFJ5ZFdVc1hHNTlPMXh1WEc0dktpcGNiaUFxSUZKbGRIVnlibk1nWUhSeWRXVmdJSGRvWlc0Z2RHaGxJR2RwZG1WdUlHMWxkR0ZrWVhSaElHRnNiRzkzY3lCd2FXNXVhVzVuTGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5RYVc1dVlXSnNaU2h0WlhSaFpHRjBZVG9nUjNKaGNHaFFhVzV1YVc1blRXVjBZV1JoZEdFZ2ZDQjFibVJsWm1sdVpXUXBPaUJpYjI5c1pXRnVJSHRjYmlBZ2NtVjBkWEp1SUcxbGRHRmtZWFJoUHk1bGJtRmliR1ZrSUQwOVBTQjBjblZsSUNZbUlHMWxkR0ZrWVhSaExuTjBjbUYwWldkNUlDRTlQU0JjSW1ScGMyRmliR1ZrWENJN1hHNTlYRzRpWFgwPSJdfQ==
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GraphPinningPolicy = void 0;
|
|
4
|
-
const GraphPinningMetadata_js_1 = require("./GraphPinningMetadata.cjs");
|
|
5
|
-
/**
|
|
6
|
-
* Policy that decides pinning behaviour for a plan node.
|
|
7
|
-
*/
|
|
8
|
-
class GraphPinningPolicy {
|
|
9
|
-
/** Returns whether the node is allowed to be pinned. */
|
|
10
|
-
canPin(node) {
|
|
11
|
-
return (0, GraphPinningMetadata_js_1.isPinnable)(this.getPinningMetadata(node));
|
|
12
|
-
}
|
|
13
|
-
/** Returns whether the engine should attempt to use a pinned value for the node. */
|
|
14
|
-
shouldUsePinnedValue(node) {
|
|
15
|
-
const metadata = this.getPinningMetadata(node);
|
|
16
|
-
return metadata.enabled === true && metadata.strategy !== "disabled";
|
|
17
|
-
}
|
|
18
|
-
/** Returns whether automatic pinning should occur after execution. */
|
|
19
|
-
shouldAutoPin(node) {
|
|
20
|
-
const metadata = this.getPinningMetadata(node);
|
|
21
|
-
return metadata.enabled === true && metadata.strategy === "automatic";
|
|
22
|
-
}
|
|
23
|
-
/** Extracts pinning metadata from a plan node. */
|
|
24
|
-
getPinningMetadata(node) {
|
|
25
|
-
const raw = node.definition?.graph?.metadata?.pinnable ??
|
|
26
|
-
node.metadata?.pinnable;
|
|
27
|
-
return raw
|
|
28
|
-
? { ...GraphPinningMetadata_js_1.DEFAULT_PINNING_METADATA, ...raw }
|
|
29
|
-
: { ...GraphPinningMetadata_js_1.DEFAULT_PINNING_METADATA, enabled: false };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.GraphPinningPolicy = GraphPinningPolicy;
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQaW5uaW5nUG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL3Bpbm5pbmcvR3JhcGhQaW5uaW5nUG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsa0NBQStCO0FBRTlFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUM3Qix3REFBd0Q7SUFDeEQsTUFBTSxDQUFDLElBQTRCO1FBQ2pDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxvRkFBb0Y7SUFDcEYsb0JBQW9CLENBQUMsSUFBNEI7UUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE9BQU8sUUFBUSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksUUFBUSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUM7SUFDdkUsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxhQUFhLENBQUMsSUFBNEI7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE9BQU8sUUFBUSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksUUFBUSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUM7SUFDeEUsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxrQkFBa0IsQ0FBQyxJQUE0QjtRQUM3QyxNQUFNLEdBQUcsR0FDTixJQUFJLENBQUMsVUFBa0IsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVE7WUFDbEQsSUFBSSxDQUFDLFFBQWdCLEVBQUUsUUFBUSxDQUFDO1FBQ25DLE9BQU8sR0FBRztZQUNSLENBQUMsQ0FBQyxFQUFFLEdBQUcsd0JBQXdCLEVBQUUsR0FBRyxHQUFHLEVBQUU7WUFDekMsQ0FBQyxDQUFDLEVBQUUsR0FBRyx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9waW5uaW5nL0dyYXBoUGlubmluZ1BvbGljeVxuICogQHN1bW1hcnkgRGVjaWRlcyB3aGV0aGVyIGEgbm9kZSBjYW4gYmUgcGlubmVkIGFuZCB3aGV0aGVyIHBpbm5lZCB2YWx1ZXMgc2hvdWxkIGJlIHVzZWQuXG4gKiBAZGVzY3JpcHRpb24gUmVhZHMgcGlubmluZyBtZXRhZGF0YSBmcm9tIHBsYW4gbm9kZXMgYW5kIGVuZm9yY2VzIHRoZSBwaW5uaW5nIHN0cmF0ZWd5LlxuICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGUgfSBmcm9tIFwiLi4vcGxhbm5pbmcvR3JhcGhFeGVjdXRpb25QbGFuTm9kZVwiO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFBpbm5pbmdNZXRhZGF0YSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgREVGQVVMVF9QSU5OSU5HX01FVEFEQVRBLCBpc1Bpbm5hYmxlIH0gZnJvbSBcIi4vR3JhcGhQaW5uaW5nTWV0YWRhdGFcIjtcblxuLyoqXG4gKiBQb2xpY3kgdGhhdCBkZWNpZGVzIHBpbm5pbmcgYmVoYXZpb3VyIGZvciBhIHBsYW4gbm9kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBoUGlubmluZ1BvbGljeSB7XG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgdGhlIG5vZGUgaXMgYWxsb3dlZCB0byBiZSBwaW5uZWQuICovXG4gIGNhblBpbihub2RlOiBHcmFwaEV4ZWN1dGlvblBsYW5Ob2RlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzUGlubmFibGUodGhpcy5nZXRQaW5uaW5nTWV0YWRhdGEobm9kZSkpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgd2hldGhlciB0aGUgZW5naW5lIHNob3VsZCBhdHRlbXB0IHRvIHVzZSBhIHBpbm5lZCB2YWx1ZSBmb3IgdGhlIG5vZGUuICovXG4gIHNob3VsZFVzZVBpbm5lZFZhbHVlKG5vZGU6IEdyYXBoRXhlY3V0aW9uUGxhbk5vZGUpOiBib29sZWFuIHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuZ2V0UGlubmluZ01ldGFkYXRhKG5vZGUpO1xuICAgIHJldHVybiBtZXRhZGF0YS5lbmFibGVkID09PSB0cnVlICYmIG1ldGFkYXRhLnN0cmF0ZWd5ICE9PSBcImRpc2FibGVkXCI7XG4gIH1cblxuICAvKiogUmV0dXJucyB3aGV0aGVyIGF1dG9tYXRpYyBwaW5uaW5nIHNob3VsZCBvY2N1ciBhZnRlciBleGVjdXRpb24uICovXG4gIHNob3VsZEF1dG9QaW4obm9kZTogR3JhcGhFeGVjdXRpb25QbGFuTm9kZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5nZXRQaW5uaW5nTWV0YWRhdGEobm9kZSk7XG4gICAgcmV0dXJuIG1ldGFkYXRhLmVuYWJsZWQgPT09IHRydWUgJiYgbWV0YWRhdGEuc3RyYXRlZ3kgPT09IFwiYXV0b21hdGljXCI7XG4gIH1cblxuICAvKiogRXh0cmFjdHMgcGlubmluZyBtZXRhZGF0YSBmcm9tIGEgcGxhbiBub2RlLiAqL1xuICBnZXRQaW5uaW5nTWV0YWRhdGEobm9kZTogR3JhcGhFeGVjdXRpb25QbGFuTm9kZSk6IEdyYXBoUGlubmluZ01ldGFkYXRhIHtcbiAgICBjb25zdCByYXcgPVxuICAgICAgKG5vZGUuZGVmaW5pdGlvbiBhcyBhbnkpPy5ncmFwaD8ubWV0YWRhdGE/LnBpbm5hYmxlID8/XG4gICAgICAobm9kZS5tZXRhZGF0YSBhcyBhbnkpPy5waW5uYWJsZTtcbiAgICByZXR1cm4gcmF3XG4gICAgICA/IHsgLi4uREVGQVVMVF9QSU5OSU5HX01FVEFEQVRBLCAuLi5yYXcgfVxuICAgICAgOiB7IC4uLkRFRkFVTFRfUElOTklOR19NRVRBREFUQSwgZW5hYmxlZDogZmFsc2UgfTtcbiAgfVxufVxuIl19
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhQaW5uaW5nUG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiR3JhcGhQaW5uaW5nUG9saWN5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVFQUFpRjtBQUNqRjs7R0FFRztBQUNILE1BQWEsa0JBQWtCO0lBQzNCLHdEQUF3RDtJQUN4RCxNQUFNLENBQUMsSUFBSTtRQUNQLE9BQU8sSUFBQSxvQ0FBVSxFQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxvRkFBb0Y7SUFDcEYsb0JBQW9CLENBQUMsSUFBSTtRQUNyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsT0FBTyxRQUFRLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQztJQUN6RSxDQUFDO0lBQ0Qsc0VBQXNFO0lBQ3RFLGFBQWEsQ0FBQyxJQUFJO1FBQ2QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLE9BQU8sUUFBUSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksUUFBUSxDQUFDLFFBQVEsS0FBSyxXQUFXLENBQUM7SUFDMUUsQ0FBQztJQUNELGtEQUFrRDtJQUNsRCxrQkFBa0IsQ0FBQyxJQUFJO1FBQ25CLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRO1lBQ2xELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQzVCLE9BQU8sR0FBRztZQUNOLENBQUMsQ0FBQyxFQUFFLEdBQUcsa0RBQXdCLEVBQUUsR0FBRyxHQUFHLEVBQUU7WUFDekMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxrREFBd0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUQsQ0FBQztDQUNKO0FBdkJELGdEQXVCQztBQUNELHNqSEFBc2pIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVGQVVMVF9QSU5OSU5HX01FVEFEQVRBLCBpc1Bpbm5hYmxlIH0gZnJvbSBcIi4vR3JhcGhQaW5uaW5nTWV0YWRhdGEuanNcIjtcbi8qKlxuICogUG9saWN5IHRoYXQgZGVjaWRlcyBwaW5uaW5nIGJlaGF2aW91ciBmb3IgYSBwbGFuIG5vZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaFBpbm5pbmdQb2xpY3kge1xuICAgIC8qKiBSZXR1cm5zIHdoZXRoZXIgdGhlIG5vZGUgaXMgYWxsb3dlZCB0byBiZSBwaW5uZWQuICovXG4gICAgY2FuUGluKG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIGlzUGlubmFibGUodGhpcy5nZXRQaW5uaW5nTWV0YWRhdGEobm9kZSkpO1xuICAgIH1cbiAgICAvKiogUmV0dXJucyB3aGV0aGVyIHRoZSBlbmdpbmUgc2hvdWxkIGF0dGVtcHQgdG8gdXNlIGEgcGlubmVkIHZhbHVlIGZvciB0aGUgbm9kZS4gKi9cbiAgICBzaG91bGRVc2VQaW5uZWRWYWx1ZShub2RlKSB7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5nZXRQaW5uaW5nTWV0YWRhdGEobm9kZSk7XG4gICAgICAgIHJldHVybiBtZXRhZGF0YS5lbmFibGVkID09PSB0cnVlICYmIG1ldGFkYXRhLnN0cmF0ZWd5ICE9PSBcImRpc2FibGVkXCI7XG4gICAgfVxuICAgIC8qKiBSZXR1cm5zIHdoZXRoZXIgYXV0b21hdGljIHBpbm5pbmcgc2hvdWxkIG9jY3VyIGFmdGVyIGV4ZWN1dGlvbi4gKi9cbiAgICBzaG91bGRBdXRvUGluKG5vZGUpIHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLmdldFBpbm5pbmdNZXRhZGF0YShub2RlKTtcbiAgICAgICAgcmV0dXJuIG1ldGFkYXRhLmVuYWJsZWQgPT09IHRydWUgJiYgbWV0YWRhdGEuc3RyYXRlZ3kgPT09IFwiYXV0b21hdGljXCI7XG4gICAgfVxuICAgIC8qKiBFeHRyYWN0cyBwaW5uaW5nIG1ldGFkYXRhIGZyb20gYSBwbGFuIG5vZGUuICovXG4gICAgZ2V0UGlubmluZ01ldGFkYXRhKG5vZGUpIHtcbiAgICAgICAgY29uc3QgcmF3ID0gbm9kZS5kZWZpbml0aW9uPy5ncmFwaD8ubWV0YWRhdGE/LnBpbm5hYmxlID8/XG4gICAgICAgICAgICBub2RlLm1ldGFkYXRhPy5waW5uYWJsZTtcbiAgICAgICAgcmV0dXJuIHJhd1xuICAgICAgICAgICAgPyB7IC4uLkRFRkFVTFRfUElOTklOR19NRVRBREFUQSwgLi4ucmF3IH1cbiAgICAgICAgICAgIDogeyAuLi5ERUZBVUxUX1BJTk5JTkdfTUVUQURBVEEsIGVuYWJsZWQ6IGZhbHNlIH07XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUjNKaGNHaFFhVzV1YVc1blVHOXNhV041TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyZHlZWEJvTDNCcGJtNXBibWN2UjNKaGNHaFFhVzV1YVc1blVHOXNhV041TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVOUJMRTlCUVU4c1JVRkJSU3gzUWtGQmQwSXNSVUZCUlN4VlFVRlZMRVZCUVVVc2EwTkJRU3RDTzBGQlJUbEZPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEd0Q1FVRnJRanRKUVVNM1FpeDNSRUZCZDBRN1NVRkRlRVFzVFVGQlRTeERRVUZETEVsQlFUUkNPMUZCUTJwRExFOUJRVThzVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTI1RUxFTkJRVU03U1VGRlJDeHZSa0ZCYjBZN1NVRkRjRVlzYjBKQlFXOUNMRU5CUVVNc1NVRkJORUk3VVVGREwwTXNUVUZCVFN4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJReTlETEU5QlFVOHNVVUZCVVN4RFFVRkRMRTlCUVU4c1MwRkJTeXhKUVVGSkxFbEJRVWtzVVVGQlVTeERRVUZETEZGQlFWRXNTMEZCU3l4VlFVRlZMRU5CUVVNN1NVRkRka1VzUTBGQlF6dEpRVVZFTEhORlFVRnpSVHRKUVVOMFJTeGhRVUZoTEVOQlFVTXNTVUZCTkVJN1VVRkRlRU1zVFVGQlRTeFJRVUZSTEVkQlFVY3NTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUXk5RExFOUJRVThzVVVGQlVTeERRVUZETEU5QlFVOHNTMEZCU3l4SlFVRkpMRWxCUVVrc1VVRkJVU3hEUVVGRExGRkJRVkVzUzBGQlN5eFhRVUZYTEVOQlFVTTdTVUZEZUVVc1EwRkJRenRKUVVWRUxHdEVRVUZyUkR0SlFVTnNSQ3hyUWtGQmEwSXNRMEZCUXl4SlFVRTBRanRSUVVNM1F5eE5RVUZOTEVkQlFVY3NSMEZEVGl4SlFVRkpMRU5CUVVNc1ZVRkJhMElzUlVGQlJTeExRVUZMTEVWQlFVVXNVVUZCVVN4RlFVRkZMRkZCUVZFN1dVRkRiRVFzU1VGQlNTeERRVUZETEZGQlFXZENMRVZCUVVVc1VVRkJVU3hEUVVGRE8xRkJRMjVETEU5QlFVOHNSMEZCUnp0WlFVTlNMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzZDBKQlFYZENMRVZCUVVVc1IwRkJSeXhIUVVGSExFVkJRVVU3V1VGRGVrTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1IwRkJSeXgzUWtGQmQwSXNSVUZCUlN4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU03U1VGRGRFUXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1Y3k5bmNtRndhQzl3YVc1dWFXNW5MMGR5WVhCb1VHbHVibWx1WjFCdmJHbGplVnh1SUNvZ1FITjFiVzFoY25rZ1JHVmphV1JsY3lCM2FHVjBhR1Z5SUdFZ2JtOWtaU0JqWVc0Z1ltVWdjR2x1Ym1Wa0lHRnVaQ0IzYUdWMGFHVnlJSEJwYm01bFpDQjJZV3gxWlhNZ2MyaHZkV3hrSUdKbElIVnpaV1F1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1WaFpITWdjR2x1Ym1sdVp5QnRaWFJoWkdGMFlTQm1jbTl0SUhCc1lXNGdibTlrWlhNZ1lXNWtJR1Z1Wm05eVkyVnpJSFJvWlNCd2FXNXVhVzVuSUhOMGNtRjBaV2Q1TGx4dUlDb3ZYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvUlhobFkzVjBhVzl1VUd4aGJrNXZaR1VnZlNCbWNtOXRJRndpTGk0dmNHeGhibTVwYm1jdlIzSmhjR2hGZUdWamRYUnBiMjVRYkdGdVRtOWtaVndpTzF4dWFXMXdiM0owSUhSNWNHVWdleUJIY21Gd2FGQnBibTVwYm1kTlpYUmhaR0YwWVNCOUlHWnliMjBnWENJdUxpOTBlWEJsYzF3aU8xeHVhVzF3YjNKMElIc2dSRVZHUVZWTVZGOVFTVTVPU1U1SFgwMUZWRUZFUVZSQkxDQnBjMUJwYm01aFlteGxJSDBnWm5KdmJTQmNJaTR2UjNKaGNHaFFhVzV1YVc1blRXVjBZV1JoZEdGY0lqdGNibHh1THlvcVhHNGdLaUJRYjJ4cFkza2dkR2hoZENCa1pXTnBaR1Z6SUhCcGJtNXBibWNnWW1Wb1lYWnBiM1Z5SUdadmNpQmhJSEJzWVc0Z2JtOWtaUzVjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUVkeVlYQm9VR2x1Ym1sdVoxQnZiR2xqZVNCN1hHNGdJQzhxS2lCU1pYUjFjbTV6SUhkb1pYUm9aWElnZEdobElHNXZaR1VnYVhNZ1lXeHNiM2RsWkNCMGJ5QmlaU0J3YVc1dVpXUXVJQ292WEc0Z0lHTmhibEJwYmlodWIyUmxPaUJIY21Gd2FFVjRaV04xZEdsdmJsQnNZVzVPYjJSbEtUb2dZbTl2YkdWaGJpQjdYRzRnSUNBZ2NtVjBkWEp1SUdselVHbHVibUZpYkdVb2RHaHBjeTVuWlhSUWFXNXVhVzVuVFdWMFlXUmhkR0VvYm05a1pTa3BPMXh1SUNCOVhHNWNiaUFnTHlvcUlGSmxkSFZ5Ym5NZ2QyaGxkR2hsY2lCMGFHVWdaVzVuYVc1bElITm9iM1ZzWkNCaGRIUmxiWEIwSUhSdklIVnpaU0JoSUhCcGJtNWxaQ0IyWVd4MVpTQm1iM0lnZEdobElHNXZaR1V1SUNvdlhHNGdJSE5vYjNWc1pGVnpaVkJwYm01bFpGWmhiSFZsS0c1dlpHVTZJRWR5WVhCb1JYaGxZM1YwYVc5dVVHeGhiazV2WkdVcE9pQmliMjlzWldGdUlIdGNiaUFnSUNCamIyNXpkQ0J0WlhSaFpHRjBZU0E5SUhSb2FYTXVaMlYwVUdsdWJtbHVaMDFsZEdGa1lYUmhLRzV2WkdVcE8xeHVJQ0FnSUhKbGRIVnliaUJ0WlhSaFpHRjBZUzVsYm1GaWJHVmtJRDA5UFNCMGNuVmxJQ1ltSUcxbGRHRmtZWFJoTG5OMGNtRjBaV2Q1SUNFOVBTQmNJbVJwYzJGaWJHVmtYQ0k3WEc0Z0lIMWNibHh1SUNBdktpb2dVbVYwZFhKdWN5QjNhR1YwYUdWeUlHRjFkRzl0WVhScFl5QndhVzV1YVc1bklITm9iM1ZzWkNCdlkyTjFjaUJoWm5SbGNpQmxlR1ZqZFhScGIyNHVJQ292WEc0Z0lITm9iM1ZzWkVGMWRHOVFhVzRvYm05a1pUb2dSM0poY0doRmVHVmpkWFJwYjI1UWJHRnVUbTlrWlNrNklHSnZiMnhsWVc0Z2UxeHVJQ0FnSUdOdmJuTjBJRzFsZEdGa1lYUmhJRDBnZEdocGN5NW5aWFJRYVc1dWFXNW5UV1YwWVdSaGRHRW9ibTlrWlNrN1hHNGdJQ0FnY21WMGRYSnVJRzFsZEdGa1lYUmhMbVZ1WVdKc1pXUWdQVDA5SUhSeWRXVWdKaVlnYldWMFlXUmhkR0V1YzNSeVlYUmxaM2tnUFQwOUlGd2lZWFYwYjIxaGRHbGpYQ0k3WEc0Z0lIMWNibHh1SUNBdktpb2dSWGgwY21GamRITWdjR2x1Ym1sdVp5QnRaWFJoWkdGMFlTQm1jbTl0SUdFZ2NHeGhiaUJ1YjJSbExpQXFMMXh1SUNCblpYUlFhVzV1YVc1blRXVjBZV1JoZEdFb2JtOWtaVG9nUjNKaGNHaEZlR1ZqZFhScGIyNVFiR0Z1VG05a1pTazZJRWR5WVhCb1VHbHVibWx1WjAxbGRHRmtZWFJoSUh0Y2JpQWdJQ0JqYjI1emRDQnlZWGNnUFZ4dUlDQWdJQ0FnS0c1dlpHVXVaR1ZtYVc1cGRHbHZiaUJoY3lCaGJua3BQeTVuY21Gd2FEOHViV1YwWVdSaGRHRS9MbkJwYm01aFlteGxJRDgvWEc0Z0lDQWdJQ0FvYm05a1pTNXRaWFJoWkdGMFlTQmhjeUJoYm5rcFB5NXdhVzV1WVdKc1pUdGNiaUFnSUNCeVpYUjFjbTRnY21GM1hHNGdJQ0FnSUNBL0lIc2dMaTR1UkVWR1FWVk1WRjlRU1U1T1NVNUhYMDFGVkVGRVFWUkJMQ0F1TGk1eVlYY2dmVnh1SUNBZ0lDQWdPaUI3SUM0dUxrUkZSa0ZWVEZSZlVFbE9Ua2xPUjE5TlJWUkJSRUZVUVN3Z1pXNWhZbXhsWkRvZ1ptRnNjMlVnZlR0Y2JpQWdmVnh1ZlZ4dUlsMTkiXX0=
|