@effect-aws/client-sfn 1.2.0 → 1.4.0
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/CHANGELOG.md +12 -0
- package/README.md +82 -1
- package/lib/Errors.d.ts +22 -16
- package/lib/Errors.js +39 -27
- package/lib/SFNClientInstanceConfig.d.ts +1 -3
- package/lib/SFNClientInstanceConfig.js +22 -38
- package/lib/SFNService.d.ts +98 -48
- package/lib/SFNService.js +13 -6
- package/lib/esm/Errors.js +37 -2
- package/lib/esm/SFNClientInstanceConfig.js +17 -10
- package/lib/esm/SFNService.js +14 -8
- package/package.json +12 -14
- package/vitest.config.ts +3 -0
package/lib/SFNService.d.ts
CHANGED
|
@@ -1,172 +1,221 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import { CreateActivityCommandInput, CreateActivityCommandOutput,
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { ActivityDoesNotExistError, ActivityLimitExceededError, ActivityWorkerLimitExceededError, ConflictError, ExecutionAlreadyExistsError, ExecutionDoesNotExistError, ExecutionLimitExceededError, ExecutionNotRedrivableError, InvalidArnError, InvalidDefinitionError, InvalidExecutionInputError, InvalidLoggingConfigurationError, InvalidNameError, InvalidOutputError, InvalidTokenError, InvalidTracingConfigurationError, MissingRequiredParameterError, ResourceNotFoundError, SdkError, ServiceQuotaExceededError, StateMachineAlreadyExistsError, StateMachineDeletingError, StateMachineDoesNotExistError, StateMachineLimitExceededError, StateMachineTypeNotSupportedError, TaskDoesNotExistError, TaskTimedOutError, TooManyTagsError, ValidationError } from "./Errors";
|
|
4
|
+
import { type CreateActivityCommandInput, type CreateActivityCommandOutput, type CreateStateMachineCommandInput, type CreateStateMachineCommandOutput, type CreateStateMachineAliasCommandInput, type CreateStateMachineAliasCommandOutput, type DeleteActivityCommandInput, type DeleteActivityCommandOutput, type DeleteStateMachineCommandInput, type DeleteStateMachineCommandOutput, type DeleteStateMachineAliasCommandInput, type DeleteStateMachineAliasCommandOutput, type DeleteStateMachineVersionCommandInput, type DeleteStateMachineVersionCommandOutput, type DescribeActivityCommandInput, type DescribeActivityCommandOutput, type DescribeExecutionCommandInput, type DescribeExecutionCommandOutput, type DescribeMapRunCommandInput, type DescribeMapRunCommandOutput, type DescribeStateMachineCommandInput, type DescribeStateMachineCommandOutput, type DescribeStateMachineAliasCommandInput, type DescribeStateMachineAliasCommandOutput, type DescribeStateMachineForExecutionCommandInput, type DescribeStateMachineForExecutionCommandOutput, type GetActivityTaskCommandInput, type GetActivityTaskCommandOutput, type GetExecutionHistoryCommandInput, type GetExecutionHistoryCommandOutput, type ListActivitiesCommandInput, type ListActivitiesCommandOutput, type ListExecutionsCommandInput, type ListExecutionsCommandOutput, type ListMapRunsCommandInput, type ListMapRunsCommandOutput, type ListStateMachineAliasesCommandInput, type ListStateMachineAliasesCommandOutput, type ListStateMachinesCommandInput, type ListStateMachinesCommandOutput, type ListStateMachineVersionsCommandInput, type ListStateMachineVersionsCommandOutput, type ListTagsForResourceCommandInput, type ListTagsForResourceCommandOutput, type PublishStateMachineVersionCommandInput, type PublishStateMachineVersionCommandOutput, type RedriveExecutionCommandInput, type RedriveExecutionCommandOutput, type SendTaskFailureCommandInput, type SendTaskFailureCommandOutput, type SendTaskHeartbeatCommandInput, type SendTaskHeartbeatCommandOutput, type SendTaskSuccessCommandInput, type SendTaskSuccessCommandOutput, type StartExecutionCommandInput, type StartExecutionCommandOutput, type StartSyncExecutionCommandInput, type StartSyncExecutionCommandOutput, type StopExecutionCommandInput, type StopExecutionCommandOutput, type TagResourceCommandInput, type TagResourceCommandOutput, type TestStateCommandInput, type TestStateCommandOutput, type UntagResourceCommandInput, type UntagResourceCommandOutput, type UpdateMapRunCommandInput, type UpdateMapRunCommandOutput, type UpdateStateMachineCommandInput, type UpdateStateMachineCommandOutput, type UpdateStateMachineAliasCommandInput, type UpdateStateMachineAliasCommandOutput, type ValidateStateMachineDefinitionCommandInput, type ValidateStateMachineDefinitionCommandOutput } from "@aws-sdk/client-sfn";
|
|
5
|
+
import { Effect, Layer } from "effect";
|
|
6
|
+
import { ActivityAlreadyExistsError, ActivityDoesNotExistError, ActivityLimitExceededError, ActivityWorkerLimitExceededError, ConflictError, ExecutionAlreadyExistsError, ExecutionDoesNotExistError, ExecutionLimitExceededError, ExecutionNotRedrivableError, InvalidArnError, InvalidDefinitionError, InvalidEncryptionConfigurationError, InvalidExecutionInputError, InvalidLoggingConfigurationError, InvalidNameError, InvalidOutputError, InvalidTokenError, InvalidTracingConfigurationError, KmsAccessDeniedError, KmsInvalidStateError, KmsThrottlingError, MissingRequiredParameterError, ResourceNotFoundError, ServiceQuotaExceededError, StateMachineAlreadyExistsError, StateMachineDeletingError, StateMachineDoesNotExistError, StateMachineLimitExceededError, StateMachineTypeNotSupportedError, TaskDoesNotExistError, TaskTimedOutError, TooManyTagsError, ValidationError, SdkError } from "./Errors";
|
|
8
7
|
import { SFNClientInstance } from "./SFNClientInstance";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
interface HttpHandlerOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The maximum time in milliseconds that the connection phase of a request
|
|
11
|
+
* may take before the connection attempt is abandoned.
|
|
12
|
+
*/
|
|
13
|
+
requestTimeout?: number;
|
|
14
|
+
}
|
|
15
|
+
interface SFNService$ {
|
|
14
16
|
readonly _: unique symbol;
|
|
15
17
|
/**
|
|
16
18
|
* @see {@link CreateActivityCommand}
|
|
17
19
|
*/
|
|
18
|
-
createActivity(args: CreateActivityCommandInput, options?:
|
|
20
|
+
createActivity(args: CreateActivityCommandInput, options?: HttpHandlerOptions): Effect.Effect<CreateActivityCommandOutput, SdkError | ActivityAlreadyExistsError | ActivityLimitExceededError | InvalidEncryptionConfigurationError | InvalidNameError | KmsAccessDeniedError | KmsThrottlingError | TooManyTagsError>;
|
|
19
21
|
/**
|
|
20
22
|
* @see {@link CreateStateMachineCommand}
|
|
21
23
|
*/
|
|
22
|
-
createStateMachine(args: CreateStateMachineCommandInput, options?:
|
|
24
|
+
createStateMachine(args: CreateStateMachineCommandInput, options?: HttpHandlerOptions): Effect.Effect<CreateStateMachineCommandOutput, SdkError | ConflictError | InvalidArnError | InvalidDefinitionError | InvalidEncryptionConfigurationError | InvalidLoggingConfigurationError | InvalidNameError | InvalidTracingConfigurationError | KmsAccessDeniedError | KmsThrottlingError | StateMachineAlreadyExistsError | StateMachineDeletingError | StateMachineLimitExceededError | StateMachineTypeNotSupportedError | TooManyTagsError | ValidationError>;
|
|
23
25
|
/**
|
|
24
26
|
* @see {@link CreateStateMachineAliasCommand}
|
|
25
27
|
*/
|
|
26
|
-
createStateMachineAlias(args: CreateStateMachineAliasCommandInput, options?:
|
|
28
|
+
createStateMachineAlias(args: CreateStateMachineAliasCommandInput, options?: HttpHandlerOptions): Effect.Effect<CreateStateMachineAliasCommandOutput, SdkError | ConflictError | InvalidArnError | InvalidNameError | ResourceNotFoundError | ServiceQuotaExceededError | StateMachineDeletingError | ValidationError>;
|
|
27
29
|
/**
|
|
28
30
|
* @see {@link DeleteActivityCommand}
|
|
29
31
|
*/
|
|
30
|
-
deleteActivity(args: DeleteActivityCommandInput, options?:
|
|
32
|
+
deleteActivity(args: DeleteActivityCommandInput, options?: HttpHandlerOptions): Effect.Effect<DeleteActivityCommandOutput, SdkError | InvalidArnError>;
|
|
31
33
|
/**
|
|
32
34
|
* @see {@link DeleteStateMachineCommand}
|
|
33
35
|
*/
|
|
34
|
-
deleteStateMachine(args: DeleteStateMachineCommandInput, options?:
|
|
36
|
+
deleteStateMachine(args: DeleteStateMachineCommandInput, options?: HttpHandlerOptions): Effect.Effect<DeleteStateMachineCommandOutput, SdkError | InvalidArnError | ValidationError>;
|
|
35
37
|
/**
|
|
36
38
|
* @see {@link DeleteStateMachineAliasCommand}
|
|
37
39
|
*/
|
|
38
|
-
deleteStateMachineAlias(args: DeleteStateMachineAliasCommandInput, options?:
|
|
40
|
+
deleteStateMachineAlias(args: DeleteStateMachineAliasCommandInput, options?: HttpHandlerOptions): Effect.Effect<DeleteStateMachineAliasCommandOutput, SdkError | ConflictError | InvalidArnError | ResourceNotFoundError | ValidationError>;
|
|
39
41
|
/**
|
|
40
42
|
* @see {@link DeleteStateMachineVersionCommand}
|
|
41
43
|
*/
|
|
42
|
-
deleteStateMachineVersion(args: DeleteStateMachineVersionCommandInput, options?:
|
|
44
|
+
deleteStateMachineVersion(args: DeleteStateMachineVersionCommandInput, options?: HttpHandlerOptions): Effect.Effect<DeleteStateMachineVersionCommandOutput, SdkError | ConflictError | InvalidArnError | ValidationError>;
|
|
43
45
|
/**
|
|
44
46
|
* @see {@link DescribeActivityCommand}
|
|
45
47
|
*/
|
|
46
|
-
describeActivity(args: DescribeActivityCommandInput, options?:
|
|
48
|
+
describeActivity(args: DescribeActivityCommandInput, options?: HttpHandlerOptions): Effect.Effect<DescribeActivityCommandOutput, SdkError | ActivityDoesNotExistError | InvalidArnError>;
|
|
47
49
|
/**
|
|
48
50
|
* @see {@link DescribeExecutionCommand}
|
|
49
51
|
*/
|
|
50
|
-
describeExecution(args: DescribeExecutionCommandInput, options?:
|
|
52
|
+
describeExecution(args: DescribeExecutionCommandInput, options?: HttpHandlerOptions): Effect.Effect<DescribeExecutionCommandOutput, SdkError | ExecutionDoesNotExistError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError>;
|
|
51
53
|
/**
|
|
52
54
|
* @see {@link DescribeMapRunCommand}
|
|
53
55
|
*/
|
|
54
|
-
describeMapRun(args: DescribeMapRunCommandInput, options?:
|
|
56
|
+
describeMapRun(args: DescribeMapRunCommandInput, options?: HttpHandlerOptions): Effect.Effect<DescribeMapRunCommandOutput, SdkError | InvalidArnError | ResourceNotFoundError>;
|
|
55
57
|
/**
|
|
56
58
|
* @see {@link DescribeStateMachineCommand}
|
|
57
59
|
*/
|
|
58
|
-
describeStateMachine(args: DescribeStateMachineCommandInput, options?:
|
|
60
|
+
describeStateMachine(args: DescribeStateMachineCommandInput, options?: HttpHandlerOptions): Effect.Effect<DescribeStateMachineCommandOutput, SdkError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | StateMachineDoesNotExistError>;
|
|
59
61
|
/**
|
|
60
62
|
* @see {@link DescribeStateMachineAliasCommand}
|
|
61
63
|
*/
|
|
62
|
-
describeStateMachineAlias(args: DescribeStateMachineAliasCommandInput, options?:
|
|
64
|
+
describeStateMachineAlias(args: DescribeStateMachineAliasCommandInput, options?: HttpHandlerOptions): Effect.Effect<DescribeStateMachineAliasCommandOutput, SdkError | InvalidArnError | ResourceNotFoundError | ValidationError>;
|
|
63
65
|
/**
|
|
64
66
|
* @see {@link DescribeStateMachineForExecutionCommand}
|
|
65
67
|
*/
|
|
66
|
-
describeStateMachineForExecution(args: DescribeStateMachineForExecutionCommandInput, options?:
|
|
68
|
+
describeStateMachineForExecution(args: DescribeStateMachineForExecutionCommandInput, options?: HttpHandlerOptions): Effect.Effect<DescribeStateMachineForExecutionCommandOutput, SdkError | ExecutionDoesNotExistError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError>;
|
|
67
69
|
/**
|
|
68
70
|
* @see {@link GetActivityTaskCommand}
|
|
69
71
|
*/
|
|
70
|
-
getActivityTask(args: GetActivityTaskCommandInput, options?:
|
|
72
|
+
getActivityTask(args: GetActivityTaskCommandInput, options?: HttpHandlerOptions): Effect.Effect<GetActivityTaskCommandOutput, SdkError | ActivityDoesNotExistError | ActivityWorkerLimitExceededError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError>;
|
|
71
73
|
/**
|
|
72
74
|
* @see {@link GetExecutionHistoryCommand}
|
|
73
75
|
*/
|
|
74
|
-
getExecutionHistory(args: GetExecutionHistoryCommandInput, options?:
|
|
76
|
+
getExecutionHistory(args: GetExecutionHistoryCommandInput, options?: HttpHandlerOptions): Effect.Effect<GetExecutionHistoryCommandOutput, SdkError | ExecutionDoesNotExistError | InvalidArnError | InvalidTokenError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError>;
|
|
75
77
|
/**
|
|
76
78
|
* @see {@link ListActivitiesCommand}
|
|
77
79
|
*/
|
|
78
|
-
listActivities(args: ListActivitiesCommandInput, options?:
|
|
80
|
+
listActivities(args: ListActivitiesCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListActivitiesCommandOutput, SdkError | InvalidTokenError>;
|
|
79
81
|
/**
|
|
80
82
|
* @see {@link ListExecutionsCommand}
|
|
81
83
|
*/
|
|
82
|
-
listExecutions(args: ListExecutionsCommandInput, options?:
|
|
84
|
+
listExecutions(args: ListExecutionsCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListExecutionsCommandOutput, SdkError | InvalidArnError | InvalidTokenError | ResourceNotFoundError | StateMachineDoesNotExistError | StateMachineTypeNotSupportedError | ValidationError>;
|
|
83
85
|
/**
|
|
84
86
|
* @see {@link ListMapRunsCommand}
|
|
85
87
|
*/
|
|
86
|
-
listMapRuns(args: ListMapRunsCommandInput, options?:
|
|
88
|
+
listMapRuns(args: ListMapRunsCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListMapRunsCommandOutput, SdkError | ExecutionDoesNotExistError | InvalidArnError | InvalidTokenError>;
|
|
87
89
|
/**
|
|
88
90
|
* @see {@link ListStateMachineAliasesCommand}
|
|
89
91
|
*/
|
|
90
|
-
listStateMachineAliases(args: ListStateMachineAliasesCommandInput, options?:
|
|
92
|
+
listStateMachineAliases(args: ListStateMachineAliasesCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListStateMachineAliasesCommandOutput, SdkError | InvalidArnError | InvalidTokenError | ResourceNotFoundError | StateMachineDeletingError | StateMachineDoesNotExistError>;
|
|
91
93
|
/**
|
|
92
94
|
* @see {@link ListStateMachinesCommand}
|
|
93
95
|
*/
|
|
94
|
-
listStateMachines(args: ListStateMachinesCommandInput, options?:
|
|
96
|
+
listStateMachines(args: ListStateMachinesCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListStateMachinesCommandOutput, SdkError | InvalidTokenError>;
|
|
95
97
|
/**
|
|
96
98
|
* @see {@link ListStateMachineVersionsCommand}
|
|
97
99
|
*/
|
|
98
|
-
listStateMachineVersions(args: ListStateMachineVersionsCommandInput, options?:
|
|
100
|
+
listStateMachineVersions(args: ListStateMachineVersionsCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListStateMachineVersionsCommandOutput, SdkError | InvalidArnError | InvalidTokenError | ValidationError>;
|
|
99
101
|
/**
|
|
100
102
|
* @see {@link ListTagsForResourceCommand}
|
|
101
103
|
*/
|
|
102
|
-
listTagsForResource(args: ListTagsForResourceCommandInput, options?:
|
|
104
|
+
listTagsForResource(args: ListTagsForResourceCommandInput, options?: HttpHandlerOptions): Effect.Effect<ListTagsForResourceCommandOutput, SdkError | InvalidArnError | ResourceNotFoundError>;
|
|
103
105
|
/**
|
|
104
106
|
* @see {@link PublishStateMachineVersionCommand}
|
|
105
107
|
*/
|
|
106
|
-
publishStateMachineVersion(args: PublishStateMachineVersionCommandInput, options?:
|
|
108
|
+
publishStateMachineVersion(args: PublishStateMachineVersionCommandInput, options?: HttpHandlerOptions): Effect.Effect<PublishStateMachineVersionCommandOutput, SdkError | ConflictError | InvalidArnError | ServiceQuotaExceededError | StateMachineDeletingError | StateMachineDoesNotExistError | ValidationError>;
|
|
107
109
|
/**
|
|
108
110
|
* @see {@link RedriveExecutionCommand}
|
|
109
111
|
*/
|
|
110
|
-
redriveExecution(args: RedriveExecutionCommandInput, options?:
|
|
112
|
+
redriveExecution(args: RedriveExecutionCommandInput, options?: HttpHandlerOptions): Effect.Effect<RedriveExecutionCommandOutput, SdkError | ExecutionDoesNotExistError | ExecutionLimitExceededError | ExecutionNotRedrivableError | InvalidArnError | ValidationError>;
|
|
111
113
|
/**
|
|
112
114
|
* @see {@link SendTaskFailureCommand}
|
|
113
115
|
*/
|
|
114
|
-
sendTaskFailure(args: SendTaskFailureCommandInput, options?:
|
|
116
|
+
sendTaskFailure(args: SendTaskFailureCommandInput, options?: HttpHandlerOptions): Effect.Effect<SendTaskFailureCommandOutput, SdkError | InvalidTokenError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | TaskDoesNotExistError | TaskTimedOutError>;
|
|
115
117
|
/**
|
|
116
118
|
* @see {@link SendTaskHeartbeatCommand}
|
|
117
119
|
*/
|
|
118
|
-
sendTaskHeartbeat(args: SendTaskHeartbeatCommandInput, options?:
|
|
120
|
+
sendTaskHeartbeat(args: SendTaskHeartbeatCommandInput, options?: HttpHandlerOptions): Effect.Effect<SendTaskHeartbeatCommandOutput, SdkError | InvalidTokenError | TaskDoesNotExistError | TaskTimedOutError>;
|
|
119
121
|
/**
|
|
120
122
|
* @see {@link SendTaskSuccessCommand}
|
|
121
123
|
*/
|
|
122
|
-
sendTaskSuccess(args: SendTaskSuccessCommandInput, options?:
|
|
124
|
+
sendTaskSuccess(args: SendTaskSuccessCommandInput, options?: HttpHandlerOptions): Effect.Effect<SendTaskSuccessCommandOutput, SdkError | InvalidOutputError | InvalidTokenError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | TaskDoesNotExistError | TaskTimedOutError>;
|
|
123
125
|
/**
|
|
124
126
|
* @see {@link StartExecutionCommand}
|
|
125
127
|
*/
|
|
126
|
-
startExecution(args: StartExecutionCommandInput, options?:
|
|
128
|
+
startExecution(args: StartExecutionCommandInput, options?: HttpHandlerOptions): Effect.Effect<StartExecutionCommandOutput, SdkError | ExecutionAlreadyExistsError | ExecutionLimitExceededError | InvalidArnError | InvalidExecutionInputError | InvalidNameError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | StateMachineDeletingError | StateMachineDoesNotExistError | ValidationError>;
|
|
127
129
|
/**
|
|
128
130
|
* @see {@link StartSyncExecutionCommand}
|
|
129
131
|
*/
|
|
130
|
-
startSyncExecution(args: StartSyncExecutionCommandInput, options?:
|
|
132
|
+
startSyncExecution(args: StartSyncExecutionCommandInput, options?: HttpHandlerOptions): Effect.Effect<StartSyncExecutionCommandOutput, SdkError | InvalidArnError | InvalidExecutionInputError | InvalidNameError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | StateMachineDeletingError | StateMachineDoesNotExistError | StateMachineTypeNotSupportedError>;
|
|
131
133
|
/**
|
|
132
134
|
* @see {@link StopExecutionCommand}
|
|
133
135
|
*/
|
|
134
|
-
stopExecution(args: StopExecutionCommandInput, options?:
|
|
136
|
+
stopExecution(args: StopExecutionCommandInput, options?: HttpHandlerOptions): Effect.Effect<StopExecutionCommandOutput, SdkError | ExecutionDoesNotExistError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | ValidationError>;
|
|
135
137
|
/**
|
|
136
138
|
* @see {@link TagResourceCommand}
|
|
137
139
|
*/
|
|
138
|
-
tagResource(args: TagResourceCommandInput, options?:
|
|
140
|
+
tagResource(args: TagResourceCommandInput, options?: HttpHandlerOptions): Effect.Effect<TagResourceCommandOutput, SdkError | InvalidArnError | ResourceNotFoundError | TooManyTagsError>;
|
|
139
141
|
/**
|
|
140
142
|
* @see {@link TestStateCommand}
|
|
141
143
|
*/
|
|
142
|
-
testState(args: TestStateCommandInput, options?:
|
|
144
|
+
testState(args: TestStateCommandInput, options?: HttpHandlerOptions): Effect.Effect<TestStateCommandOutput, SdkError | InvalidArnError | InvalidDefinitionError | InvalidExecutionInputError | ValidationError>;
|
|
143
145
|
/**
|
|
144
146
|
* @see {@link UntagResourceCommand}
|
|
145
147
|
*/
|
|
146
|
-
untagResource(args: UntagResourceCommandInput, options?:
|
|
148
|
+
untagResource(args: UntagResourceCommandInput, options?: HttpHandlerOptions): Effect.Effect<UntagResourceCommandOutput, SdkError | InvalidArnError | ResourceNotFoundError>;
|
|
147
149
|
/**
|
|
148
150
|
* @see {@link UpdateMapRunCommand}
|
|
149
151
|
*/
|
|
150
|
-
updateMapRun(args: UpdateMapRunCommandInput, options?:
|
|
152
|
+
updateMapRun(args: UpdateMapRunCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateMapRunCommandOutput, SdkError | InvalidArnError | ResourceNotFoundError | ValidationError>;
|
|
151
153
|
/**
|
|
152
154
|
* @see {@link UpdateStateMachineCommand}
|
|
153
155
|
*/
|
|
154
|
-
updateStateMachine(args: UpdateStateMachineCommandInput, options?:
|
|
156
|
+
updateStateMachine(args: UpdateStateMachineCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateStateMachineCommandOutput, SdkError | ConflictError | InvalidArnError | InvalidDefinitionError | InvalidEncryptionConfigurationError | InvalidLoggingConfigurationError | InvalidTracingConfigurationError | KmsAccessDeniedError | KmsThrottlingError | MissingRequiredParameterError | ServiceQuotaExceededError | StateMachineDeletingError | StateMachineDoesNotExistError | ValidationError>;
|
|
155
157
|
/**
|
|
156
158
|
* @see {@link UpdateStateMachineAliasCommand}
|
|
157
159
|
*/
|
|
158
|
-
updateStateMachineAlias(args: UpdateStateMachineAliasCommandInput, options?:
|
|
160
|
+
updateStateMachineAlias(args: UpdateStateMachineAliasCommandInput, options?: HttpHandlerOptions): Effect.Effect<UpdateStateMachineAliasCommandOutput, SdkError | ConflictError | InvalidArnError | ResourceNotFoundError | StateMachineDeletingError | ValidationError>;
|
|
161
|
+
/**
|
|
162
|
+
* @see {@link ValidateStateMachineDefinitionCommand}
|
|
163
|
+
*/
|
|
164
|
+
validateStateMachineDefinition(args: ValidateStateMachineDefinitionCommandInput, options?: HttpHandlerOptions): Effect.Effect<ValidateStateMachineDefinitionCommandOutput, SdkError | ValidationError>;
|
|
159
165
|
}
|
|
166
|
+
declare const SFNService_base: import("effect/Context").TagClass<SFNService, "@effect-aws/client-sfn/SFNService", SFNService$> & {
|
|
167
|
+
readonly _: Effect.Effect<SFNService$["_"], never, SFNService>;
|
|
168
|
+
createActivity: (args: CreateActivityCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<CreateActivityCommandOutput, ActivityAlreadyExistsError | ActivityLimitExceededError | InvalidEncryptionConfigurationError | InvalidNameError | KmsAccessDeniedError | KmsThrottlingError | TooManyTagsError | SdkError, SFNService>;
|
|
169
|
+
createStateMachine: (args: CreateStateMachineCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<CreateStateMachineCommandOutput, ConflictError | InvalidArnError | InvalidDefinitionError | InvalidEncryptionConfigurationError | InvalidLoggingConfigurationError | InvalidNameError | InvalidTracingConfigurationError | KmsAccessDeniedError | KmsThrottlingError | StateMachineAlreadyExistsError | StateMachineDeletingError | StateMachineLimitExceededError | StateMachineTypeNotSupportedError | TooManyTagsError | ValidationError | SdkError, SFNService>;
|
|
170
|
+
createStateMachineAlias: (args: CreateStateMachineAliasCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<CreateStateMachineAliasCommandOutput, ConflictError | InvalidArnError | InvalidNameError | ResourceNotFoundError | ServiceQuotaExceededError | StateMachineDeletingError | ValidationError | SdkError, SFNService>;
|
|
171
|
+
deleteActivity: (args: DeleteActivityCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DeleteActivityCommandOutput, InvalidArnError | SdkError, SFNService>;
|
|
172
|
+
deleteStateMachine: (args: DeleteStateMachineCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DeleteStateMachineCommandOutput, InvalidArnError | ValidationError | SdkError, SFNService>;
|
|
173
|
+
deleteStateMachineAlias: (args: DeleteStateMachineAliasCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DeleteStateMachineAliasCommandOutput, ConflictError | InvalidArnError | ResourceNotFoundError | ValidationError | SdkError, SFNService>;
|
|
174
|
+
deleteStateMachineVersion: (args: DeleteStateMachineVersionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DeleteStateMachineVersionCommandOutput, ConflictError | InvalidArnError | ValidationError | SdkError, SFNService>;
|
|
175
|
+
describeActivity: (args: DescribeActivityCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DescribeActivityCommandOutput, ActivityDoesNotExistError | InvalidArnError | SdkError, SFNService>;
|
|
176
|
+
describeExecution: (args: DescribeExecutionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DescribeExecutionCommandOutput, ExecutionDoesNotExistError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | SdkError, SFNService>;
|
|
177
|
+
describeMapRun: (args: DescribeMapRunCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DescribeMapRunCommandOutput, InvalidArnError | ResourceNotFoundError | SdkError, SFNService>;
|
|
178
|
+
describeStateMachine: (args: DescribeStateMachineCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DescribeStateMachineCommandOutput, InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | StateMachineDoesNotExistError | SdkError, SFNService>;
|
|
179
|
+
describeStateMachineAlias: (args: DescribeStateMachineAliasCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DescribeStateMachineAliasCommandOutput, InvalidArnError | ResourceNotFoundError | ValidationError | SdkError, SFNService>;
|
|
180
|
+
describeStateMachineForExecution: (args: DescribeStateMachineForExecutionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<DescribeStateMachineForExecutionCommandOutput, ExecutionDoesNotExistError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | SdkError, SFNService>;
|
|
181
|
+
getActivityTask: (args: GetActivityTaskCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<GetActivityTaskCommandOutput, ActivityDoesNotExistError | ActivityWorkerLimitExceededError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | SdkError, SFNService>;
|
|
182
|
+
getExecutionHistory: (args: GetExecutionHistoryCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<GetExecutionHistoryCommandOutput, ExecutionDoesNotExistError | InvalidArnError | InvalidTokenError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | SdkError, SFNService>;
|
|
183
|
+
listActivities: (args: ListActivitiesCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListActivitiesCommandOutput, InvalidTokenError | SdkError, SFNService>;
|
|
184
|
+
listExecutions: (args: ListExecutionsCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListExecutionsCommandOutput, InvalidArnError | InvalidTokenError | ResourceNotFoundError | StateMachineDoesNotExistError | StateMachineTypeNotSupportedError | ValidationError | SdkError, SFNService>;
|
|
185
|
+
listMapRuns: (args: ListMapRunsCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListMapRunsCommandOutput, ExecutionDoesNotExistError | InvalidArnError | InvalidTokenError | SdkError, SFNService>;
|
|
186
|
+
listStateMachineAliases: (args: ListStateMachineAliasesCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListStateMachineAliasesCommandOutput, InvalidArnError | InvalidTokenError | ResourceNotFoundError | StateMachineDeletingError | StateMachineDoesNotExistError | SdkError, SFNService>;
|
|
187
|
+
listStateMachines: (args: ListStateMachinesCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListStateMachinesCommandOutput, InvalidTokenError | SdkError, SFNService>;
|
|
188
|
+
listStateMachineVersions: (args: ListStateMachineVersionsCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListStateMachineVersionsCommandOutput, InvalidArnError | InvalidTokenError | ValidationError | SdkError, SFNService>;
|
|
189
|
+
listTagsForResource: (args: ListTagsForResourceCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ListTagsForResourceCommandOutput, InvalidArnError | ResourceNotFoundError | SdkError, SFNService>;
|
|
190
|
+
publishStateMachineVersion: (args: PublishStateMachineVersionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<PublishStateMachineVersionCommandOutput, ConflictError | InvalidArnError | ServiceQuotaExceededError | StateMachineDeletingError | StateMachineDoesNotExistError | ValidationError | SdkError, SFNService>;
|
|
191
|
+
redriveExecution: (args: RedriveExecutionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<RedriveExecutionCommandOutput, ExecutionDoesNotExistError | ExecutionLimitExceededError | ExecutionNotRedrivableError | InvalidArnError | ValidationError | SdkError, SFNService>;
|
|
192
|
+
sendTaskFailure: (args: SendTaskFailureCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<SendTaskFailureCommandOutput, InvalidTokenError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | TaskDoesNotExistError | TaskTimedOutError | SdkError, SFNService>;
|
|
193
|
+
sendTaskHeartbeat: (args: SendTaskHeartbeatCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<SendTaskHeartbeatCommandOutput, InvalidTokenError | TaskDoesNotExistError | TaskTimedOutError | SdkError, SFNService>;
|
|
194
|
+
sendTaskSuccess: (args: SendTaskSuccessCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<SendTaskSuccessCommandOutput, InvalidOutputError | InvalidTokenError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | TaskDoesNotExistError | TaskTimedOutError | SdkError, SFNService>;
|
|
195
|
+
startExecution: (args: StartExecutionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<StartExecutionCommandOutput, ExecutionAlreadyExistsError | ExecutionLimitExceededError | InvalidArnError | InvalidExecutionInputError | InvalidNameError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | StateMachineDeletingError | StateMachineDoesNotExistError | ValidationError | SdkError, SFNService>;
|
|
196
|
+
startSyncExecution: (args: StartSyncExecutionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<StartSyncExecutionCommandOutput, InvalidArnError | InvalidExecutionInputError | InvalidNameError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | StateMachineDeletingError | StateMachineDoesNotExistError | StateMachineTypeNotSupportedError | SdkError, SFNService>;
|
|
197
|
+
stopExecution: (args: StopExecutionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<StopExecutionCommandOutput, ExecutionDoesNotExistError | InvalidArnError | KmsAccessDeniedError | KmsInvalidStateError | KmsThrottlingError | ValidationError | SdkError, SFNService>;
|
|
198
|
+
tagResource: (args: TagResourceCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<TagResourceCommandOutput, InvalidArnError | ResourceNotFoundError | TooManyTagsError | SdkError, SFNService>;
|
|
199
|
+
testState: (args: TestStateCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<TestStateCommandOutput, InvalidArnError | InvalidDefinitionError | InvalidExecutionInputError | ValidationError | SdkError, SFNService>;
|
|
200
|
+
untagResource: (args: UntagResourceCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<UntagResourceCommandOutput, InvalidArnError | ResourceNotFoundError | SdkError, SFNService>;
|
|
201
|
+
updateMapRun: (args: UpdateMapRunCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<UpdateMapRunCommandOutput, InvalidArnError | ResourceNotFoundError | ValidationError | SdkError, SFNService>;
|
|
202
|
+
updateStateMachine: (args: UpdateStateMachineCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<UpdateStateMachineCommandOutput, ConflictError | InvalidArnError | InvalidDefinitionError | InvalidEncryptionConfigurationError | InvalidLoggingConfigurationError | InvalidTracingConfigurationError | KmsAccessDeniedError | KmsThrottlingError | MissingRequiredParameterError | ServiceQuotaExceededError | StateMachineDeletingError | StateMachineDoesNotExistError | ValidationError | SdkError, SFNService>;
|
|
203
|
+
updateStateMachineAlias: (args: UpdateStateMachineAliasCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<UpdateStateMachineAliasCommandOutput, ConflictError | InvalidArnError | ResourceNotFoundError | StateMachineDeletingError | ValidationError | SdkError, SFNService>;
|
|
204
|
+
validateStateMachineDefinition: (args: ValidateStateMachineDefinitionCommandInput, options?: HttpHandlerOptions | undefined) => Effect.Effect<ValidateStateMachineDefinitionCommandOutput, ValidationError | SdkError, SFNService>;
|
|
205
|
+
} & {
|
|
206
|
+
use: <X>(body: (_: SFNService$) => X) => X extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, R | SFNService> : Effect.Effect<X, never, SFNService>;
|
|
207
|
+
};
|
|
160
208
|
/**
|
|
161
209
|
* @since 1.0.0
|
|
162
|
-
* @category
|
|
210
|
+
* @category models
|
|
163
211
|
*/
|
|
164
|
-
export declare
|
|
212
|
+
export declare class SFNService extends SFNService_base {
|
|
213
|
+
}
|
|
165
214
|
/**
|
|
166
215
|
* @since 1.0.0
|
|
167
216
|
* @category constructors
|
|
168
217
|
*/
|
|
169
|
-
export declare const makeSFNService: Effect.Effect<SFNService
|
|
218
|
+
export declare const makeSFNService: Effect.Effect<SFNService$, never, SFNClientInstance>;
|
|
170
219
|
/**
|
|
171
220
|
* @since 1.0.0
|
|
172
221
|
* @category layers
|
|
@@ -182,3 +231,4 @@ export declare const SFNServiceLayer: Layer.Layer<SFNService, never, import("./S
|
|
|
182
231
|
* @category layers
|
|
183
232
|
*/
|
|
184
233
|
export declare const DefaultSFNServiceLayer: Layer.Layer<SFNService, never, never>;
|
|
234
|
+
export {};
|
package/lib/SFNService.js
CHANGED
|
@@ -46,12 +46,15 @@ const commands = {
|
|
|
46
46
|
UpdateMapRunCommand: client_sfn_1.UpdateMapRunCommand,
|
|
47
47
|
UpdateStateMachineCommand: client_sfn_1.UpdateStateMachineCommand,
|
|
48
48
|
UpdateStateMachineAliasCommand: client_sfn_1.UpdateStateMachineAliasCommand,
|
|
49
|
+
ValidateStateMachineDefinitionCommand: client_sfn_1.ValidateStateMachineDefinitionCommand,
|
|
49
50
|
};
|
|
50
51
|
/**
|
|
51
52
|
* @since 1.0.0
|
|
52
|
-
* @category
|
|
53
|
+
* @category models
|
|
53
54
|
*/
|
|
54
|
-
|
|
55
|
+
class SFNService extends effect_1.Effect.Tag("@effect-aws/client-sfn/SFNService")() {
|
|
56
|
+
}
|
|
57
|
+
exports.SFNService = SFNService;
|
|
55
58
|
/**
|
|
56
59
|
* @since 1.0.0
|
|
57
60
|
* @category constructors
|
|
@@ -61,9 +64,13 @@ exports.makeSFNService = effect_1.Effect.gen(function* (_) {
|
|
|
61
64
|
return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
|
|
62
65
|
const CommandCtor = commands[command];
|
|
63
66
|
const methodImpl = (args, options) => effect_1.Effect.tryPromise({
|
|
64
|
-
try: () => client.send(new CommandCtor(args),
|
|
67
|
+
try: (abortSignal) => client.send(new CommandCtor(args), {
|
|
68
|
+
...(options !== null && options !== void 0 ? options : {}),
|
|
69
|
+
abortSignal,
|
|
70
|
+
}),
|
|
65
71
|
catch: (e) => {
|
|
66
|
-
if (e instanceof client_sfn_1.SFNServiceException
|
|
72
|
+
if (e instanceof client_sfn_1.SFNServiceException &&
|
|
73
|
+
Errors_1.AllServiceErrors.includes(e.name)) {
|
|
67
74
|
const ServiceException = effect_1.Data.tagged(e.name);
|
|
68
75
|
return ServiceException({
|
|
69
76
|
...e,
|
|
@@ -90,7 +97,7 @@ exports.makeSFNService = effect_1.Effect.gen(function* (_) {
|
|
|
90
97
|
* @since 1.0.0
|
|
91
98
|
* @category layers
|
|
92
99
|
*/
|
|
93
|
-
exports.BaseSFNServiceLayer = effect_1.Layer.effect(
|
|
100
|
+
exports.BaseSFNServiceLayer = effect_1.Layer.effect(SFNService, exports.makeSFNService);
|
|
94
101
|
/**
|
|
95
102
|
* @since 1.0.0
|
|
96
103
|
* @category layers
|
|
@@ -101,4 +108,4 @@ exports.SFNServiceLayer = exports.BaseSFNServiceLayer.pipe(effect_1.Layer.provid
|
|
|
101
108
|
* @category layers
|
|
102
109
|
*/
|
|
103
110
|
exports.DefaultSFNServiceLayer = exports.SFNServiceLayer.pipe(effect_1.Layer.provide(SFNClientInstanceConfig_1.DefaultSFNClientConfigLayer));
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TRk5TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsb0RBOEc2QjtBQUU3QixtQ0FBOEQ7QUFDOUQscUNBK0JrQjtBQUNsQiwyREFBZ0Y7QUFDaEYsdUVBQXdFO0FBRXhFLE1BQU0sUUFBUSxHQUFHO0lBQ2YscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLDhCQUE4QixFQUE5QiwyQ0FBOEI7SUFDOUIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLDhCQUE4QixFQUE5QiwyQ0FBOEI7SUFDOUIsZ0NBQWdDLEVBQWhDLDZDQUFnQztJQUNoQyx1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLHdCQUF3QixFQUF4QixxQ0FBd0I7SUFDeEIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQiwyQkFBMkIsRUFBM0Isd0NBQTJCO0lBQzNCLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMsdUNBQXVDLEVBQXZDLG9EQUF1QztJQUN2QyxzQkFBc0IsRUFBdEIsbUNBQXNCO0lBQ3RCLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQixxQkFBcUIsRUFBckIsa0NBQXFCO0lBQ3JCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5Qix3QkFBd0IsRUFBeEIscUNBQXdCO0lBQ3hCLCtCQUErQixFQUEvQiw0Q0FBK0I7SUFDL0IsMEJBQTBCLEVBQTFCLHVDQUEwQjtJQUMxQixpQ0FBaUMsRUFBakMsOENBQWlDO0lBQ2pDLHVCQUF1QixFQUF2QixvQ0FBdUI7SUFDdkIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix3QkFBd0IsRUFBeEIscUNBQXdCO0lBQ3hCLHNCQUFzQixF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SUFBSSxDQUN4RCxjQUFLLENBQUMsT0FBTyxDQUFDLHFEQUEyQixDQUFDLENBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQge1xuICBDcmVhdGVBY3Rpdml0eUNvbW1hbmQsXG4gIENyZWF0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICBDcmVhdGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY3Rpdml0eUNvbW1hbmQsXG4gIERlbGV0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICBEZWxldGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kLFxuICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kLFxuICBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBEZXNjcmliZU1hcFJ1bkNvbW1hbmQsXG4gIERlc2NyaWJlTWFwUnVuQ29tbWFuZElucHV0LFxuICBEZXNjcmliZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEFjdGl2aXR5VGFza0NvbW1hbmQsXG4gIEdldEFjdGl2aXR5VGFza0NvbW1hbmRJbnB1dCxcbiAgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZE91dHB1dCxcbiAgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmQsXG4gIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kSW5wdXQsXG4gIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICBMaXN0QWN0aXZpdGllc0NvbW1hbmQsXG4gIExpc3RBY3Rpdml0aWVzQ29tbWFuZElucHV0LFxuICBMaXN0QWN0aXZpdGllc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RFeGVjdXRpb25zQ29tbWFuZCxcbiAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kSW5wdXQsXG4gIExpc3RFeGVjdXRpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdE1hcFJ1bnNDb21tYW5kLFxuICBMaXN0TWFwUnVuc0NvbW1hbmRJbnB1dCxcbiAgTGlzdE1hcFJ1bnNDb21tYW5kT3V0cHV0LFxuICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZElucHV0LFxuICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRJbnB1dCxcbiAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBTRk5TZXJ2aWNlRXhjZXB0aW9uLFxuICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kLFxuICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kSW5wdXQsXG4gIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZCxcbiAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kSW5wdXQsXG4gIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZE91dHB1dCxcbiAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZCxcbiAgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZElucHV0LFxuICBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kT3V0cHV0LFxuICBTdGFydEV4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICBTdGFydEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgU3RvcEV4ZWN1dGlvbkNvbW1hbmQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFRlc3RTdGF0ZUNvbW1hbmQsXG4gIFRlc3RTdGF0ZUNvbW1hbmRJbnB1dCxcbiAgVGVzdFN0YXRlQ29tbWFuZE91dHB1dCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVNYXBSdW5Db21tYW5kLFxuICBVcGRhdGVNYXBSdW5Db21tYW5kSW5wdXQsXG4gIFVwZGF0ZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNmblwiO1xuaW1wb3J0IHsgSHR0cEhhbmRsZXJPcHRpb25zIGFzIF9fSHR0cEhhbmRsZXJPcHRpb25zIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBY3Rpdml0eURvZXNOb3RFeGlzdEVycm9yLFxuICBBY3Rpdml0eUxpbWl0RXhjZWVkZWRFcnJvcixcbiAgQWN0aXZpdHlXb3JrZXJMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIEV4ZWN1dGlvbkFscmVhZHlFeGlzdHNFcnJvcixcbiAgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IsXG4gIEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvcixcbiAgRXhlY3V0aW9uTm90UmVkcml2YWJsZUVycm9yLFxuICBJbnZhbGlkQXJuRXJyb3IsXG4gIEludmFsaWREZWZpbml0aW9uRXJyb3IsXG4gIEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yLFxuICBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb25FcnJvcixcbiAgSW52YWxpZE5hbWVFcnJvcixcbiAgSW52YWxpZE91dHB1dEVycm9yLFxuICBJbnZhbGlkVG9rZW5FcnJvcixcbiAgSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uRXJyb3IsXG4gIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFNka0Vycm9yLFxuICBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yLFxuICBTdGF0ZU1hY2hpbmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3IsXG4gIFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yLFxuICBTdGF0ZU1hY2hpbmVMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxuICBUYXNrRG9lc05vdEV4aXN0RXJyb3IsXG4gIFRhc2tUaW1lZE91dEVycm9yLFxuICBUb29NYW55VGFnc0Vycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgU0ZOQ2xpZW50SW5zdGFuY2UsIFNGTkNsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9TRk5DbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vU0ZOQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIENyZWF0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBEZWxldGVBY3Rpdml0eUNvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kLFxuICBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIERlc2NyaWJlTWFwUnVuQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kLFxuICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kLFxuICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZCxcbiAgTGlzdEFjdGl2aXRpZXNDb21tYW5kLFxuICBMaXN0RXhlY3V0aW9uc0NvbW1hbmQsXG4gIExpc3RNYXBSdW5zQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kLFxuICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kLFxuICBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmQsXG4gIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmQsXG4gIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZCxcbiAgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZCxcbiAgU3RvcEV4ZWN1dGlvbkNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVGVzdFN0YXRlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZU1hcFJ1bkNvbW1hbmQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbn07XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbW9kZWxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU0ZOU2VydmljZSB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUFjdGl2aXR5KFxuICAgIGFyZ3M6IENyZWF0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBBY3Rpdml0eUxpbWl0RXhjZWVkZWRFcnJvciB8IEludmFsaWROYW1lRXJyb3IgfCBUb29NYW55VGFnc0Vycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU3RhdGVNYWNoaW5lKFxuICAgIGFyZ3M6IENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgVG9vTWFueVRhZ3NFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZUFjdGl2aXR5KFxuICAgIGFyZ3M6IERlbGV0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdGF0ZU1hY2hpbmVBbGlhcyhcbiAgICBhcmdzOiBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbihcbiAgICBhcmdzOiBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVBY3Rpdml0eShcbiAgICBhcmdzOiBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlRXhlY3V0aW9uKFxuICAgIGFyZ3M6IERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvciB8IEludmFsaWRBcm5FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVNYXBSdW5Db21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVNYXBSdW4oXG4gICAgYXJnczogRGVzY3JpYmVNYXBSdW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlTWFwUnVuQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIGRlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvciB8IEludmFsaWRBcm5FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZH1cbiAgICovXG4gIGdldEFjdGl2aXR5VGFzayhcbiAgICBhcmdzOiBHZXRBY3Rpdml0eVRhc2tDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEFjdGl2aXR5VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgQWN0aXZpdHlXb3JrZXJMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmR9XG4gICAqL1xuICBnZXRFeGVjdXRpb25IaXN0b3J5KFxuICAgIGFyZ3M6IEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjdGl2aXRpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEFjdGl2aXRpZXMoXG4gICAgYXJnczogTGlzdEFjdGl2aXRpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PExpc3RBY3Rpdml0aWVzQ29tbWFuZE91dHB1dCwgU2RrRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvcj47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RXhlY3V0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RXhlY3V0aW9ucyhcbiAgICBhcmdzOiBMaXN0RXhlY3V0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdEV4ZWN1dGlvbnNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TWFwUnVuc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TWFwUnVucyhcbiAgICBhcmdzOiBMaXN0TWFwUnVuc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdE1hcFJ1bnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN0YXRlTWFjaGluZUFsaWFzZXMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3RhdGVNYWNoaW5lcyhcbiAgICBhcmdzOiBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFN0YXRlTWFjaGluZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgSW52YWxpZFRva2VuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgcHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb24oXG4gICAgYXJnczogUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVkcml2ZUV4ZWN1dGlvbihcbiAgICBhcmdzOiBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgRXhlY3V0aW9uTGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBFeGVjdXRpb25Ob3RSZWRyaXZhYmxlRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZH1cbiAgICovXG4gIHNlbmRUYXNrRmFpbHVyZShcbiAgICBhcmdzOiBTZW5kVGFza0ZhaWx1cmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkVG9rZW5FcnJvciB8IFRhc2tEb2VzTm90RXhpc3RFcnJvciB8IFRhc2tUaW1lZE91dEVycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmR9XG4gICAqL1xuICBzZW5kVGFza0hlYXJ0YmVhdChcbiAgICBhcmdzOiBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3IgfCBUYXNrRG9lc05vdEV4aXN0RXJyb3IgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZH1cbiAgICovXG4gIHNlbmRUYXNrU3VjY2VzcyhcbiAgICBhcmdzOiBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZE91dHB1dEVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgVGFza0RvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RhcnRFeGVjdXRpb24oXG4gICAgYXJnczogU3RhcnRFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25BbHJlYWR5RXhpc3RzRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0YXJ0U3luY0V4ZWN1dGlvbihcbiAgICBhcmdzOiBTdGFydFN5bmNFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RvcEV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdG9wRXhlY3V0aW9uKFxuICAgIGFyZ3M6IFN0b3BFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBUb29NYW55VGFnc0Vycm9yXG4gID47XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBUZXN0U3RhdGVDb21tYW5kfVxuICAgKi9cbiAgdGVzdFN0YXRlKFxuICAgIGFyZ3M6IFRlc3RTdGF0ZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogX19IdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGVzdFN0YXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlTWFwUnVuQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZU1hcFJ1bihcbiAgICBhcmdzOiBVcGRhdGVNYXBSdW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBfX0h0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZERlZmluaXRpb25FcnJvclxuICAgIHwgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBNaXNzaW5nUmVxdWlyZWRQYXJhbWV0ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IF9fSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY29uc3QgU0ZOU2VydmljZSA9IENvbnRleHQuR2VuZXJpY1RhZzxTRk5TZXJ2aWNlPihcbiAgXCJAZWZmZWN0LWF3cy9jbGllbnQtc2ZuL1NGTlNlcnZpY2VcIixcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU0ZOU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNGTkNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+XG4gICAgICBFZmZlY3QudHJ5UHJvbWlzZSh7XG4gICAgICAgIHRyeTogKCkgPT4gY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCBvcHRpb25zID8/IHt9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBTRk5TZXJ2aWNlRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTRk5TZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTRk5TZXJ2aWNlO1xufSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBCYXNlU0ZOU2VydmljZUxheWVyID0gTGF5ZXIuZWZmZWN0KFNGTlNlcnZpY2UsIG1ha2VTRk5TZXJ2aWNlKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNGTlNlcnZpY2VMYXllciA9IEJhc2VTRk5TZXJ2aWNlTGF5ZXIucGlwZShcbiAgTGF5ZXIucHJvdmlkZShTRk5DbGllbnRJbnN0YW5jZUxheWVyKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBEZWZhdWx0U0ZOU2VydmljZUxheWVyID0gU0ZOU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyKSxcbik7XG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU0ZOU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TRk5TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsb0RBaUg2QjtBQUM3QixtQ0FBcUQ7QUFDckQscUNBcUNrQjtBQUNsQiwyREFBZ0Y7QUFDaEYsdUVBQXdFO0FBVXhFLE1BQU0sUUFBUSxHQUFHO0lBQ2YscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLDhCQUE4QixFQUE5QiwyQ0FBOEI7SUFDOUIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQix5QkFBeUIsRUFBekIsc0NBQXlCO0lBQ3pCLDhCQUE4QixFQUE5QiwyQ0FBOEI7SUFDOUIsZ0NBQWdDLEVBQWhDLDZDQUFnQztJQUNoQyx1QkFBdUIsRUFBdkIsb0NBQXVCO0lBQ3ZCLHdCQUF3QixFQUF4QixxQ0FBd0I7SUFDeEIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQiwyQkFBMkIsRUFBM0Isd0NBQTJCO0lBQzNCLGdDQUFnQyxFQUFoQyw2Q0FBZ0M7SUFDaEMsdUNBQXVDLEVBQXZDLG9EQUF1QztJQUN2QyxzQkFBc0IsRUFBdEIsbUNBQXNCO0lBQ3RCLDBCQUEwQixFQUExQix1Q0FBMEI7SUFDMUIscUJBQXFCLEVBQXJCLGtDQUFxQjtJQUNyQixxQkFBcUIsRUFBckIsa0NBQXFCO0lBQ3JCLGtCQUFrQixFQUFsQiwrQkFBa0I7SUFDbEIsOEJBQThCLEVBQTlCLDJDQUE4QjtJQUM5Qix3QkFBd0IsRUFBeEIscUNBQXdCO0lBQ3hCLCtCQUErQixFQUEvQiw0Q0FBK0I7SUFDL0IsMEJBQTBCLEVBQTFCLHVDQUEwQjtJQUMxQixpQ0FBaUMsRUFBakMsOENBQWlDO0lBQ2pDLHVCQUF1QixFQUF2QixvQ0FBdUI7SUFDdkIsc0JBQXNCLEVBQXRCLG1DQUFzQjtJQUN0Qix3QkFBd0IsRUFBeEIscUNBQXdCO0lBQ3hCLHNCQUFzQixF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RTs7O0dBR0c7QUFDVSxRQUFBLGVBQWUsR0FBRywyQkFBbUIsQ0FBQyxJQUFJLENBQ3JELGNBQUssQ0FBQyxPQUFPLENBQUMsMENBQXNCLENBQUMsQ0FDdEMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsdUJBQWUsQ0FBQyxJQUFJLENBQ3hELGNBQUssQ0FBQyxPQUFPLENBQUMscURBQTJCLENBQUMsQ0FDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7XG4gIFNGTlNlcnZpY2VFeGNlcHRpb24sXG4gIENyZWF0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgdHlwZSBDcmVhdGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgdHlwZSBEZWxldGVBY3Rpdml0eUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kLFxuICB0eXBlIERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlTWFwUnVuQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICB0eXBlIERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIEdldEFjdGl2aXR5VGFza0NvbW1hbmQsXG4gIHR5cGUgR2V0QWN0aXZpdHlUYXNrQ29tbWFuZElucHV0LFxuICB0eXBlIEdldEFjdGl2aXR5VGFza0NvbW1hbmRPdXRwdXQsXG4gIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kLFxuICB0eXBlIEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmRPdXRwdXQsXG4gIExpc3RBY3Rpdml0aWVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0QWN0aXZpdGllc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWN0aXZpdGllc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RFeGVjdXRpb25zQ29tbWFuZCxcbiAgdHlwZSBMaXN0RXhlY3V0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0RXhlY3V0aW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RNYXBSdW5zQ29tbWFuZCxcbiAgdHlwZSBMaXN0TWFwUnVuc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TWFwUnVuc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVBbGlhc2VzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmRPdXRwdXQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFB1Ymxpc2hTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZCxcbiAgdHlwZSBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmQsXG4gIHR5cGUgU2VuZFRhc2tGYWlsdXJlQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZCxcbiAgdHlwZSBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRJbnB1dCxcbiAgdHlwZSBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmRPdXRwdXQsXG4gIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmQsXG4gIHR5cGUgU2VuZFRhc2tTdWNjZXNzQ29tbWFuZElucHV0LFxuICB0eXBlIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZCxcbiAgdHlwZSBTdGFydEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBTdGFydEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmQsXG4gIHR5cGUgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFN0b3BFeGVjdXRpb25Db21tYW5kLFxuICB0eXBlIFN0b3BFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gIHR5cGUgU3RvcEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBUYWdSZXNvdXJjZUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFRlc3RTdGF0ZUNvbW1hbmQsXG4gIHR5cGUgVGVzdFN0YXRlQ29tbWFuZElucHV0LFxuICB0eXBlIFRlc3RTdGF0ZUNvbW1hbmRPdXRwdXQsXG4gIFVudGFnUmVzb3VyY2VDb21tYW5kLFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZU1hcFJ1bkNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlTWFwUnVuQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmQsXG4gIHR5cGUgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmRPdXRwdXQsXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2ZuXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBBY3Rpdml0eUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvcixcbiAgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBFeGVjdXRpb25BbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yLFxuICBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEV4ZWN1dGlvbk5vdFJlZHJpdmFibGVFcnJvcixcbiAgSW52YWxpZEFybkVycm9yLFxuICBJbnZhbGlkRGVmaW5pdGlvbkVycm9yLFxuICBJbnZhbGlkRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25FcnJvcixcbiAgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3IsXG4gIEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yLFxuICBJbnZhbGlkTmFtZUVycm9yLFxuICBJbnZhbGlkT3V0cHV0RXJyb3IsXG4gIEludmFsaWRUb2tlbkVycm9yLFxuICBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvcixcbiAgS21zQWNjZXNzRGVuaWVkRXJyb3IsXG4gIEttc0ludmFsaWRTdGF0ZUVycm9yLFxuICBLbXNUaHJvdHRsaW5nRXJyb3IsXG4gIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckVycm9yLFxuICBSZXNvdXJjZU5vdEZvdW5kRXJyb3IsXG4gIFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3IsXG4gIFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvcixcbiAgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3IsXG4gIFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRFcnJvcixcbiAgU3RhdGVNYWNoaW5lVHlwZU5vdFN1cHBvcnRlZEVycm9yLFxuICBUYXNrRG9lc05vdEV4aXN0RXJyb3IsXG4gIFRhc2tUaW1lZE91dEVycm9yLFxuICBUb29NYW55VGFnc0Vycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIFNka0Vycm9yLFxuICBUYWdnZWRFeGNlcHRpb24sXG59IGZyb20gXCIuL0Vycm9yc1wiO1xuaW1wb3J0IHsgU0ZOQ2xpZW50SW5zdGFuY2UsIFNGTkNsaWVudEluc3RhbmNlTGF5ZXIgfSBmcm9tIFwiLi9TRk5DbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHsgRGVmYXVsdFNGTkNsaWVudENvbmZpZ0xheWVyIH0gZnJvbSBcIi4vU0ZOQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIENyZWF0ZUFjdGl2aXR5Q29tbWFuZCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZCxcbiAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kLFxuICBEZWxldGVBY3Rpdml0eUNvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIERlc2NyaWJlQWN0aXZpdHlDb21tYW5kLFxuICBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmQsXG4gIERlc2NyaWJlTWFwUnVuQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kLFxuICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgRGVzY3JpYmVTdGF0ZU1hY2hpbmVGb3JFeGVjdXRpb25Db21tYW5kLFxuICBHZXRBY3Rpdml0eVRhc2tDb21tYW5kLFxuICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZCxcbiAgTGlzdEFjdGl2aXRpZXNDb21tYW5kLFxuICBMaXN0RXhlY3V0aW9uc0NvbW1hbmQsXG4gIExpc3RNYXBSdW5zQ29tbWFuZCxcbiAgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kLFxuICBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmQsXG4gIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmQsXG4gIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kLFxuICBTZW5kVGFza0ZhaWx1cmVDb21tYW5kLFxuICBTZW5kVGFza0hlYXJ0YmVhdENvbW1hbmQsXG4gIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmQsXG4gIFN0YXJ0RXhlY3V0aW9uQ29tbWFuZCxcbiAgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZCxcbiAgU3RvcEV4ZWN1dGlvbkNvbW1hbmQsXG4gIFRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVGVzdFN0YXRlQ29tbWFuZCxcbiAgVW50YWdSZXNvdXJjZUNvbW1hbmQsXG4gIFVwZGF0ZU1hcFJ1bkNvbW1hbmQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUNvbW1hbmQsXG4gIFVwZGF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZCxcbiAgVmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQ29tbWFuZCxcbn07XG5cbmludGVyZmFjZSBTRk5TZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUFjdGl2aXR5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUFjdGl2aXR5KFxuICAgIGFyZ3M6IENyZWF0ZUFjdGl2aXR5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQWN0aXZpdHlDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEFjdGl2aXR5QWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBBY3Rpdml0eUxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFRvb01hbnlUYWdzRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZERlZmluaXRpb25FcnJvclxuICAgIHwgSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICAgIHwgVG9vTWFueVRhZ3NFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IENyZWF0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZE5hbWVFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQWN0aXZpdHlDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQWN0aXZpdHkoXG4gICAgYXJnczogRGVsZXRlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxEZWxldGVBY3Rpdml0eUNvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZEFybkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZH1cbiAgICovXG4gIGRlbGV0ZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IERlbGV0ZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgRGVsZXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uKFxuICAgIGFyZ3M6IERlbGV0ZVN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTdGF0ZU1hY2hpbmVWZXJzaW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVBY3Rpdml0eUNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZUFjdGl2aXR5KFxuICAgIGFyZ3M6IERlc2NyaWJlQWN0aXZpdHlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUFjdGl2aXR5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3IgfCBJbnZhbGlkQXJuRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVFeGVjdXRpb24oXG4gICAgYXJnczogRGVzY3JpYmVFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVNYXBSdW5Db21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVNYXBSdW4oXG4gICAgYXJnczogRGVzY3JpYmVNYXBSdW5Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kfVxuICAgKi9cbiAgZGVzY3JpYmVTdGF0ZU1hY2hpbmUoXG4gICAgYXJnczogRGVzY3JpYmVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN0YXRlTWFjaGluZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVzY3JpYmVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzKFxuICAgIGFyZ3M6IERlc2NyaWJlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZXNjcmliZVN0YXRlTWFjaGluZUFsaWFzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbihcbiAgICBhcmdzOiBEZXNjcmliZVN0YXRlTWFjaGluZUZvckV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlc2NyaWJlU3RhdGVNYWNoaW5lRm9yRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRBY3Rpdml0eVRhc2tDb21tYW5kfVxuICAgKi9cbiAgZ2V0QWN0aXZpdHlUYXNrKFxuICAgIGFyZ3M6IEdldEFjdGl2aXR5VGFza0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEFjdGl2aXR5VGFza0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQWN0aXZpdHlEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgQWN0aXZpdHlXb3JrZXJMaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0RXhlY3V0aW9uSGlzdG9yeUNvbW1hbmR9XG4gICAqL1xuICBnZXRFeGVjdXRpb25IaXN0b3J5KFxuICAgIGFyZ3M6IEdldEV4ZWN1dGlvbkhpc3RvcnlDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRFeGVjdXRpb25IaXN0b3J5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBFeGVjdXRpb25Eb2VzTm90RXhpc3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjdGl2aXRpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdEFjdGl2aXRpZXMoXG4gICAgYXJnczogTGlzdEFjdGl2aXRpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxMaXN0QWN0aXZpdGllc0NvbW1hbmRPdXRwdXQsIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3I+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0RXhlY3V0aW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0RXhlY3V0aW9ucyhcbiAgICBhcmdzOiBMaXN0RXhlY3V0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RFeGVjdXRpb25zQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRUb2tlbkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0TWFwUnVuc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TWFwUnVucyhcbiAgICBhcmdzOiBMaXN0TWFwUnVuc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RNYXBSdW5zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yIHwgSW52YWxpZEFybkVycm9yIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFN0YXRlTWFjaGluZUFsaWFzZXMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZUFsaWFzZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U3RhdGVNYWNoaW5lQWxpYXNlc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3RhdGVNYWNoaW5lcyhcbiAgICBhcmdzOiBMaXN0U3RhdGVNYWNoaW5lc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RTdGF0ZU1hY2hpbmVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRUb2tlbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RTdGF0ZU1hY2hpbmVWZXJzaW9uc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U3RhdGVNYWNoaW5lVmVyc2lvbnMoXG4gICAgYXJnczogTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFN0YXRlTWFjaGluZVZlcnNpb25zQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IEludmFsaWRUb2tlbkVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kfVxuICAgKi9cbiAgcHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb24oXG4gICAgYXJnczogUHVibGlzaFN0YXRlTWFjaGluZVZlcnNpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBQdWJsaXNoU3RhdGVNYWNoaW5lVmVyc2lvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFJlZHJpdmVFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgcmVkcml2ZUV4ZWN1dGlvbihcbiAgICBhcmdzOiBSZWRyaXZlRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgUmVkcml2ZUV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IEV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRFcnJvclxuICAgIHwgRXhlY3V0aW9uTm90UmVkcml2YWJsZUVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kVGFza0ZhaWx1cmVDb21tYW5kfVxuICAgKi9cbiAgc2VuZFRhc2tGYWlsdXJlKFxuICAgIGFyZ3M6IFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrRmFpbHVyZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZFRva2VuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBUYXNrRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFRhc2tUaW1lZE91dEVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZH1cbiAgICovXG4gIHNlbmRUYXNrSGVhcnRiZWF0KFxuICAgIGFyZ3M6IFNlbmRUYXNrSGVhcnRiZWF0Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU2VuZFRhc2tIZWFydGJlYXRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW52YWxpZFRva2VuRXJyb3IgfCBUYXNrRG9lc05vdEV4aXN0RXJyb3IgfCBUYXNrVGltZWRPdXRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTZW5kVGFza1N1Y2Nlc3NDb21tYW5kfVxuICAgKi9cbiAgc2VuZFRhc2tTdWNjZXNzKFxuICAgIGFyZ3M6IFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFNlbmRUYXNrU3VjY2Vzc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgSW52YWxpZE91dHB1dEVycm9yXG4gICAgfCBJbnZhbGlkVG9rZW5FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc0ludmFsaWRTdGF0ZUVycm9yXG4gICAgfCBLbXNUaHJvdHRsaW5nRXJyb3JcbiAgICB8IFRhc2tEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVGFza1RpbWVkT3V0RXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgU3RhcnRFeGVjdXRpb25Db21tYW5kfVxuICAgKi9cbiAgc3RhcnRFeGVjdXRpb24oXG4gICAgYXJnczogU3RhcnRFeGVjdXRpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBTdGFydEV4ZWN1dGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgRXhlY3V0aW9uQWxyZWFkeUV4aXN0c0Vycm9yXG4gICAgfCBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZEV4ZWN1dGlvbklucHV0RXJyb3JcbiAgICB8IEludmFsaWROYW1lRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEZWxldGluZ0Vycm9yXG4gICAgfCBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3RFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFN0YXJ0U3luY0V4ZWN1dGlvbkNvbW1hbmR9XG4gICAqL1xuICBzdGFydFN5bmNFeGVjdXRpb24oXG4gICAgYXJnczogU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgU3RhcnRTeW5jRXhlY3V0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yXG4gICAgfCBJbnZhbGlkTmFtZUVycm9yXG4gICAgfCBLbXNBY2Nlc3NEZW5pZWRFcnJvclxuICAgIHwgS21zSW52YWxpZFN0YXRlRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRGVsZXRpbmdFcnJvclxuICAgIHwgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBTdG9wRXhlY3V0aW9uQ29tbWFuZH1cbiAgICovXG4gIHN0b3BFeGVjdXRpb24oXG4gICAgYXJnczogU3RvcEV4ZWN1dGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFN0b3BFeGVjdXRpb25Db21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEttc0FjY2Vzc0RlbmllZEVycm9yXG4gICAgfCBLbXNJbnZhbGlkU3RhdGVFcnJvclxuICAgIHwgS21zVGhyb3R0bGluZ0Vycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdGFnUmVzb3VyY2UoXG4gICAgYXJnczogVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBUYWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBUb29NYW55VGFnc0Vycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRlc3RTdGF0ZUNvbW1hbmR9XG4gICAqL1xuICB0ZXN0U3RhdGUoXG4gICAgYXJnczogVGVzdFN0YXRlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGVzdFN0YXRlQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBJbnZhbGlkQXJuRXJyb3JcbiAgICB8IEludmFsaWREZWZpbml0aW9uRXJyb3JcbiAgICB8IEludmFsaWRFeGVjdXRpb25JbnB1dEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVW50YWdSZXNvdXJjZUNvbW1hbmR9XG4gICAqL1xuICB1bnRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFVudGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVbnRhZ1Jlc291cmNlQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludmFsaWRBcm5FcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVNYXBSdW5Db21tYW5kfVxuICAgKi9cbiAgdXBkYXRlTWFwUnVuKFxuICAgIGFyZ3M6IFVwZGF0ZU1hcFJ1bkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZU1hcFJ1bkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnZhbGlkQXJuRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU3RhdGVNYWNoaW5lQ29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZVN0YXRlTWFjaGluZShcbiAgICBhcmdzOiBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTdGF0ZU1hY2hpbmVDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludmFsaWRBcm5FcnJvclxuICAgIHwgSW52YWxpZERlZmluaXRpb25FcnJvclxuICAgIHwgSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uRXJyb3JcbiAgICB8IEludmFsaWRMb2dnaW5nQ29uZmlndXJhdGlvbkVycm9yXG4gICAgfCBJbnZhbGlkVHJhY2luZ0NvbmZpZ3VyYXRpb25FcnJvclxuICAgIHwgS21zQWNjZXNzRGVuaWVkRXJyb3JcbiAgICB8IEttc1Rocm90dGxpbmdFcnJvclxuICAgIHwgTWlzc2luZ1JlcXVpcmVkUGFyYW1ldGVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURvZXNOb3RFeGlzdEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kfVxuICAgKi9cbiAgdXBkYXRlU3RhdGVNYWNoaW5lQWxpYXMoXG4gICAgYXJnczogVXBkYXRlU3RhdGVNYWNoaW5lQWxpYXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVTdGF0ZU1hY2hpbmVBbGlhc0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW52YWxpZEFybkVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBWYWxpZGF0ZVN0YXRlTWFjaGluZURlZmluaXRpb25Db21tYW5kfVxuICAgKi9cbiAgdmFsaWRhdGVTdGF0ZU1hY2hpbmVEZWZpbml0aW9uKFxuICAgIGFyZ3M6IFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFZhbGlkYXRlU3RhdGVNYWNoaW5lRGVmaW5pdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcbn1cblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNGTlNlcnZpY2UgZXh0ZW5kcyBFZmZlY3QuVGFnKFwiQGVmZmVjdC1hd3MvY2xpZW50LXNmbi9TRk5TZXJ2aWNlXCIpPFxuICBTRk5TZXJ2aWNlLFxuICBTRk5TZXJ2aWNlJFxuPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlU0ZOU2VydmljZSA9IEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gIGNvbnN0IGNsaWVudCA9IHlpZWxkKiBfKFNGTkNsaWVudEluc3RhbmNlKTtcblxuICByZXR1cm4gUmVjb3JkLnRvRW50cmllcyhjb21tYW5kcykucmVkdWNlKChhY2MsIFtjb21tYW5kXSkgPT4ge1xuICAgIGNvbnN0IENvbW1hbmRDdG9yID0gY29tbWFuZHNbY29tbWFuZF0gYXMgYW55O1xuICAgIGNvbnN0IG1ldGhvZEltcGwgPSAoYXJnczogYW55LCBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zKSA9PlxuICAgICAgRWZmZWN0LnRyeVByb21pc2Uoe1xuICAgICAgICB0cnk6IChhYm9ydFNpZ25hbCkgPT5cbiAgICAgICAgICBjbGllbnQuc2VuZChuZXcgQ29tbWFuZEN0b3IoYXJncyksIHtcbiAgICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLFxuICAgICAgICAgIH0pLFxuICAgICAgICBjYXRjaDogKGUpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBlIGluc3RhbmNlb2YgU0ZOU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxTRk5TZXJ2aWNlRXhjZXB0aW9uPlxuICAgICAgICAgICAgPihlLm5hbWUpO1xuXG4gICAgICAgICAgICByZXR1cm4gU2VydmljZUV4Y2VwdGlvbih7XG4gICAgICAgICAgICAgIC4uLmUsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIFNka0Vycm9yKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbmFtZTogXCJTZGtFcnJvclwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOiBlLm1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBlLnN0YWNrLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gKGNvbW1hbmRbMF0udG9Mb3dlckNhc2UoKSArIGNvbW1hbmQuc2xpY2UoMSkpLnJlcGxhY2UoXG4gICAgICAvQ29tbWFuZCQvLFxuICAgICAgXCJcIixcbiAgICApO1xuICAgIHJldHVybiB7IC4uLmFjYywgW21ldGhvZE5hbWVdOiBtZXRob2RJbXBsIH07XG4gIH0sIHt9KSBhcyBTRk5TZXJ2aWNlJDtcbn0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgQmFzZVNGTlNlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChTRk5TZXJ2aWNlLCBtYWtlU0ZOU2VydmljZSk7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBTRk5TZXJ2aWNlTGF5ZXIgPSBCYXNlU0ZOU2VydmljZUxheWVyLnBpcGUoXG4gIExheWVyLnByb3ZpZGUoU0ZOQ2xpZW50SW5zdGFuY2VMYXllciksXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdFNGTlNlcnZpY2VMYXllciA9IFNGTlNlcnZpY2VMYXllci5waXBlKFxuICBMYXllci5wcm92aWRlKERlZmF1bHRTRk5DbGllbnRDb25maWdMYXllciksXG4pO1xuIl19
|
package/lib/esm/Errors.js
CHANGED
|
@@ -1,3 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Data } from "effect";
|
|
2
|
+
export const AllServiceErrors = [
|
|
3
|
+
"ActivityAlreadyExists",
|
|
4
|
+
"ActivityDoesNotExist",
|
|
5
|
+
"ActivityLimitExceeded",
|
|
6
|
+
"ActivityWorkerLimitExceeded",
|
|
7
|
+
"ConflictException",
|
|
8
|
+
"ExecutionAlreadyExists",
|
|
9
|
+
"ExecutionDoesNotExist",
|
|
10
|
+
"ExecutionLimitExceeded",
|
|
11
|
+
"ExecutionNotRedrivable",
|
|
12
|
+
"InvalidArn",
|
|
13
|
+
"InvalidDefinition",
|
|
14
|
+
"InvalidEncryptionConfiguration",
|
|
15
|
+
"InvalidExecutionInput",
|
|
16
|
+
"InvalidLoggingConfiguration",
|
|
17
|
+
"InvalidName",
|
|
18
|
+
"InvalidOutput",
|
|
19
|
+
"InvalidToken",
|
|
20
|
+
"InvalidTracingConfiguration",
|
|
21
|
+
"KmsAccessDeniedException",
|
|
22
|
+
"KmsInvalidStateException",
|
|
23
|
+
"KmsThrottlingException",
|
|
24
|
+
"MissingRequiredParameter",
|
|
25
|
+
"ResourceNotFound",
|
|
26
|
+
"ServiceQuotaExceededException",
|
|
27
|
+
"StateMachineAlreadyExists",
|
|
28
|
+
"StateMachineDeleting",
|
|
29
|
+
"StateMachineDoesNotExist",
|
|
30
|
+
"StateMachineLimitExceeded",
|
|
31
|
+
"StateMachineTypeNotSupported",
|
|
32
|
+
"TaskDoesNotExist",
|
|
33
|
+
"TaskTimedOut",
|
|
34
|
+
"TooManyTags",
|
|
35
|
+
"ValidationException",
|
|
36
|
+
];
|
|
2
37
|
export const SdkError = Data.tagged("SdkError");
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5Qix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2Qiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGdDQUFnQztJQUNoQyx1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLGFBQWE7SUFDYixlQUFlO0lBQ2YsY0FBYztJQUNkLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4QiwwQkFBMEI7SUFDMUIsa0JBQWtCO0lBQ2xCLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsYUFBYTtJQUNiLHFCQUFxQjtDQUN0QixDQUFDO0FBc0RGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFXLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBY3Rpdml0eUFscmVhZHlFeGlzdHMsXG4gIEFjdGl2aXR5RG9lc05vdEV4aXN0LFxuICBBY3Rpdml0eUxpbWl0RXhjZWVkZWQsXG4gIEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZCxcbiAgQ29uZmxpY3RFeGNlcHRpb24sXG4gIEV4ZWN1dGlvbkFscmVhZHlFeGlzdHMsXG4gIEV4ZWN1dGlvbkRvZXNOb3RFeGlzdCxcbiAgRXhlY3V0aW9uTGltaXRFeGNlZWRlZCxcbiAgRXhlY3V0aW9uTm90UmVkcml2YWJsZSxcbiAgSW52YWxpZEFybixcbiAgSW52YWxpZERlZmluaXRpb24sXG4gIEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbixcbiAgSW52YWxpZEV4ZWN1dGlvbklucHV0LFxuICBJbnZhbGlkTG9nZ2luZ0NvbmZpZ3VyYXRpb24sXG4gIEludmFsaWROYW1lLFxuICBJbnZhbGlkT3V0cHV0LFxuICBJbnZhbGlkVG9rZW4sXG4gIEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbixcbiAgS21zQWNjZXNzRGVuaWVkRXhjZXB0aW9uLFxuICBLbXNJbnZhbGlkU3RhdGVFeGNlcHRpb24sXG4gIEttc1Rocm90dGxpbmdFeGNlcHRpb24sXG4gIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlcixcbiAgUmVzb3VyY2VOb3RGb3VuZCxcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFeGNlcHRpb24sXG4gIFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHMsXG4gIFN0YXRlTWFjaGluZURlbGV0aW5nLFxuICBTdGF0ZU1hY2hpbmVEb2VzTm90RXhpc3QsXG4gIFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWQsXG4gIFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWQsXG4gIFRhc2tEb2VzTm90RXhpc3QsXG4gIFRhc2tUaW1lZE91dCxcbiAgVG9vTWFueVRhZ3MsXG4gIFZhbGlkYXRpb25FeGNlcHRpb24sXG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc2ZuXCI7XG5pbXBvcnQgeyBEYXRhIH0gZnJvbSBcImVmZmVjdFwiO1xuXG5leHBvcnQgY29uc3QgQWxsU2VydmljZUVycm9ycyA9IFtcbiAgXCJBY3Rpdml0eUFscmVhZHlFeGlzdHNcIixcbiAgXCJBY3Rpdml0eURvZXNOb3RFeGlzdFwiLFxuICBcIkFjdGl2aXR5TGltaXRFeGNlZWRlZFwiLFxuICBcIkFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZFwiLFxuICBcIkNvbmZsaWN0RXhjZXB0aW9uXCIsXG4gIFwiRXhlY3V0aW9uQWxyZWFkeUV4aXN0c1wiLFxuICBcIkV4ZWN1dGlvbkRvZXNOb3RFeGlzdFwiLFxuICBcIkV4ZWN1dGlvbkxpbWl0RXhjZWVkZWRcIixcbiAgXCJFeGVjdXRpb25Ob3RSZWRyaXZhYmxlXCIsXG4gIFwiSW52YWxpZEFyblwiLFxuICBcIkludmFsaWREZWZpbml0aW9uXCIsXG4gIFwiSW52YWxpZEVuY3J5cHRpb25Db25maWd1cmF0aW9uXCIsXG4gIFwiSW52YWxpZEV4ZWN1dGlvbklucHV0XCIsXG4gIFwiSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uXCIsXG4gIFwiSW52YWxpZE5hbWVcIixcbiAgXCJJbnZhbGlkT3V0cHV0XCIsXG4gIFwiSW52YWxpZFRva2VuXCIsXG4gIFwiSW52YWxpZFRyYWNpbmdDb25maWd1cmF0aW9uXCIsXG4gIFwiS21zQWNjZXNzRGVuaWVkRXhjZXB0aW9uXCIsXG4gIFwiS21zSW52YWxpZFN0YXRlRXhjZXB0aW9uXCIsXG4gIFwiS21zVGhyb3R0bGluZ0V4Y2VwdGlvblwiLFxuICBcIk1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlclwiLFxuICBcIlJlc291cmNlTm90Rm91bmRcIixcbiAgXCJTZXJ2aWNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvblwiLFxuICBcIlN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNcIixcbiAgXCJTdGF0ZU1hY2hpbmVEZWxldGluZ1wiLFxuICBcIlN0YXRlTWFjaGluZURvZXNOb3RFeGlzdFwiLFxuICBcIlN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRcIixcbiAgXCJTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkXCIsXG4gIFwiVGFza0RvZXNOb3RFeGlzdFwiLFxuICBcIlRhc2tUaW1lZE91dFwiLFxuICBcIlRvb01hbnlUYWdzXCIsXG4gIFwiVmFsaWRhdGlvbkV4Y2VwdGlvblwiLFxuXTtcblxuZXhwb3J0IHR5cGUgVGFnZ2VkRXhjZXB0aW9uPFQgZXh0ZW5kcyB7IG5hbWU6IHN0cmluZyB9PiA9IFQgJiB7XG4gIHJlYWRvbmx5IF90YWc6IFRbXCJuYW1lXCJdO1xufTtcblxuZXhwb3J0IHR5cGUgQWN0aXZpdHlBbHJlYWR5RXhpc3RzRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QWN0aXZpdHlBbHJlYWR5RXhpc3RzPjtcbmV4cG9ydCB0eXBlIEFjdGl2aXR5RG9lc05vdEV4aXN0RXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QWN0aXZpdHlEb2VzTm90RXhpc3Q+O1xuZXhwb3J0IHR5cGUgQWN0aXZpdHlMaW1pdEV4Y2VlZGVkRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248QWN0aXZpdHlMaW1pdEV4Y2VlZGVkPjtcbmV4cG9ydCB0eXBlIEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEFjdGl2aXR5V29ya2VyTGltaXRFeGNlZWRlZD47XG5leHBvcnQgdHlwZSBDb25mbGljdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPENvbmZsaWN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEV4ZWN1dGlvbkFscmVhZHlFeGlzdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxFeGVjdXRpb25BbHJlYWR5RXhpc3RzPjtcbmV4cG9ydCB0eXBlIEV4ZWN1dGlvbkRvZXNOb3RFeGlzdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEV4ZWN1dGlvbkRvZXNOb3RFeGlzdD47XG5leHBvcnQgdHlwZSBFeGVjdXRpb25MaW1pdEV4Y2VlZGVkRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RXhlY3V0aW9uTGltaXRFeGNlZWRlZD47XG5leHBvcnQgdHlwZSBFeGVjdXRpb25Ob3RSZWRyaXZhYmxlRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248RXhlY3V0aW9uTm90UmVkcml2YWJsZT47XG5leHBvcnQgdHlwZSBJbnZhbGlkQXJuRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZEFybj47XG5leHBvcnQgdHlwZSBJbnZhbGlkRGVmaW5pdGlvbkVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWREZWZpbml0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRFbmNyeXB0aW9uQ29uZmlndXJhdGlvbj47XG5leHBvcnQgdHlwZSBJbnZhbGlkRXhlY3V0aW9uSW5wdXRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxJbnZhbGlkRXhlY3V0aW9uSW5wdXQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uRXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248SW52YWxpZExvZ2dpbmdDb25maWd1cmF0aW9uPjtcbmV4cG9ydCB0eXBlIEludmFsaWROYW1lRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZE5hbWU+O1xuZXhwb3J0IHR5cGUgSW52YWxpZE91dHB1dEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRPdXRwdXQ+O1xuZXhwb3J0IHR5cGUgSW52YWxpZFRva2VuRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW52YWxpZFRva2VuPjtcbmV4cG9ydCB0eXBlIEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbkVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPEludmFsaWRUcmFjaW5nQ29uZmlndXJhdGlvbj47XG5leHBvcnQgdHlwZSBLbXNBY2Nlc3NEZW5pZWRFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLbXNBY2Nlc3NEZW5pZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgS21zSW52YWxpZFN0YXRlRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248S21zSW52YWxpZFN0YXRlRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEttc1Rocm90dGxpbmdFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxLbXNUaHJvdHRsaW5nRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlckVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPE1pc3NpbmdSZXF1aXJlZFBhcmFtZXRlcj47XG5leHBvcnQgdHlwZSBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248UmVzb3VyY2VOb3RGb3VuZD47XG5leHBvcnQgdHlwZSBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yID1cbiAgVGFnZ2VkRXhjZXB0aW9uPFNlcnZpY2VRdW90YUV4Y2VlZGVkRXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIFN0YXRlTWFjaGluZUFscmVhZHlFeGlzdHNFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdGF0ZU1hY2hpbmVBbHJlYWR5RXhpc3RzPjtcbmV4cG9ydCB0eXBlIFN0YXRlTWFjaGluZURlbGV0aW5nRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248U3RhdGVNYWNoaW5lRGVsZXRpbmc+O1xuZXhwb3J0IHR5cGUgU3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0RXJyb3IgPVxuICBUYWdnZWRFeGNlcHRpb248U3RhdGVNYWNoaW5lRG9lc05vdEV4aXN0PjtcbmV4cG9ydCB0eXBlIFN0YXRlTWFjaGluZUxpbWl0RXhjZWVkZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdGF0ZU1hY2hpbmVMaW1pdEV4Y2VlZGVkPjtcbmV4cG9ydCB0eXBlIFN0YXRlTWFjaGluZVR5cGVOb3RTdXBwb3J0ZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTdGF0ZU1hY2hpbmVUeXBlTm90U3VwcG9ydGVkPjtcbmV4cG9ydCB0eXBlIFRhc2tEb2VzTm90RXhpc3RFcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxUYXNrRG9lc05vdEV4aXN0PjtcbmV4cG9ydCB0eXBlIFRhc2tUaW1lZE91dEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRhc2tUaW1lZE91dD47XG5leHBvcnQgdHlwZSBUb29NYW55VGFnc0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFRvb01hbnlUYWdzPjtcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25FcnJvciA9IFRhZ2dlZEV4Y2VwdGlvbjxWYWxpZGF0aW9uRXhjZXB0aW9uPjtcblxuZXhwb3J0IHR5cGUgU2RrRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248RXJyb3IgJiB7IG5hbWU6IFwiU2RrRXJyb3JcIiB9PjtcbmV4cG9ydCBjb25zdCBTZGtFcnJvciA9IERhdGEudGFnZ2VkPFNka0Vycm9yPihcIlNka0Vycm9yXCIpO1xuIl19
|