@horietakehiro/aws-cdk-utul 0.41.48 → 0.41.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/lib/types/cfn-resource-types/aws-athena-workgroup.d.ts +130 -1
  2. package/lib/types/cfn-resource-types/aws-athena-workgroup.js +1 -1
  3. package/lib/types/cfn-resource-types/aws-backup-backupplan.d.ts +14 -13
  4. package/lib/types/cfn-resource-types/aws-backup-backupplan.js +1 -1
  5. package/lib/types/cfn-resource-types/aws-bedrock-dataautomationproject.d.ts +8 -0
  6. package/lib/types/cfn-resource-types/aws-bedrock-dataautomationproject.js +1 -1
  7. package/lib/types/cfn-resource-types/aws-bedrock-knowledgebase.d.ts +22 -1
  8. package/lib/types/cfn-resource-types/aws-bedrock-knowledgebase.js +1 -1
  9. package/lib/types/cfn-resource-types/aws-billingconductor-billinggroup.d.ts +16 -5
  10. package/lib/types/cfn-resource-types/aws-billingconductor-billinggroup.js +1 -1
  11. package/lib/types/cfn-resource-types/aws-cloudformation-stackset.d.ts +8 -0
  12. package/lib/types/cfn-resource-types/aws-cloudformation-stackset.js +1 -1
  13. package/lib/types/cfn-resource-types/aws-cloudfront-connectionfunction.d.ts +29 -0
  14. package/lib/types/cfn-resource-types/aws-cloudfront-connectionfunction.js +3 -0
  15. package/lib/types/cfn-resource-types/aws-cloudtrail-trail.d.ts +26 -0
  16. package/lib/types/cfn-resource-types/aws-cloudtrail-trail.js +1 -1
  17. package/lib/types/cfn-resource-types/aws-cognito-terms.d.ts +23 -0
  18. package/lib/types/cfn-resource-types/aws-cognito-terms.js +3 -0
  19. package/lib/types/cfn-resource-types/aws-connect-evaluationform.d.ts +166 -172
  20. package/lib/types/cfn-resource-types/aws-connect-evaluationform.js +1 -1
  21. package/lib/types/cfn-resource-types/aws-customerprofiles-domain.d.ts +26 -0
  22. package/lib/types/cfn-resource-types/aws-customerprofiles-domain.js +1 -1
  23. package/lib/types/cfn-resource-types/aws-dsql-cluster.d.ts +4 -0
  24. package/lib/types/cfn-resource-types/aws-dsql-cluster.js +1 -1
  25. package/lib/types/cfn-resource-types/aws-ec2-natgateway.d.ts +29 -19
  26. package/lib/types/cfn-resource-types/aws-ec2-natgateway.js +1 -1
  27. package/lib/types/cfn-resource-types/aws-ec2-networkaclentry.d.ts +2 -2
  28. package/lib/types/cfn-resource-types/aws-ec2-networkaclentry.js +1 -1
  29. package/lib/types/cfn-resource-types/aws-ec2-transitgatewaymeteringpolicy.d.ts +30 -0
  30. package/lib/types/cfn-resource-types/aws-ec2-transitgatewaymeteringpolicy.js +3 -0
  31. package/lib/types/cfn-resource-types/aws-ec2-transitgatewaymeteringpolicyentry.d.ts +61 -0
  32. package/lib/types/cfn-resource-types/aws-ec2-transitgatewaymeteringpolicyentry.js +3 -0
  33. package/lib/types/cfn-resource-types/aws-ec2-vpcencryptioncontrol.d.ts +92 -0
  34. package/lib/types/cfn-resource-types/aws-ec2-vpcencryptioncontrol.js +3 -0
  35. package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.d.ts +6 -0
  36. package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.js +1 -1
  37. package/lib/types/cfn-resource-types/aws-ecr-pulltimeupdateexclusion.d.ts +10 -0
  38. package/lib/types/cfn-resource-types/aws-ecr-pulltimeupdateexclusion.js +3 -0
  39. package/lib/types/cfn-resource-types/aws-ecr-signingconfiguration.d.ts +44 -0
  40. package/lib/types/cfn-resource-types/aws-ecr-signingconfiguration.js +3 -0
  41. package/lib/types/cfn-resource-types/aws-ecs-capacityprovider.d.ts +9 -0
  42. package/lib/types/cfn-resource-types/aws-ecs-capacityprovider.js +1 -1
  43. package/lib/types/cfn-resource-types/aws-ecs-expressgatewayservice.d.ts +83 -0
  44. package/lib/types/cfn-resource-types/aws-ecs-expressgatewayservice.js +3 -0
  45. package/lib/types/cfn-resource-types/aws-eks-cluster.d.ts +10 -0
  46. package/lib/types/cfn-resource-types/aws-eks-cluster.js +1 -1
  47. package/lib/types/cfn-resource-types/aws-entityresolution-matchingworkflow.d.ts +2 -2
  48. package/lib/types/cfn-resource-types/aws-entityresolution-matchingworkflow.js +1 -1
  49. package/lib/types/cfn-resource-types/aws-fsx-filesystem.d.ts +1 -0
  50. package/lib/types/cfn-resource-types/aws-fsx-filesystem.js +1 -1
  51. package/lib/types/cfn-resource-types/aws-fsx-storagevirtualmachine.d.ts +1 -0
  52. package/lib/types/cfn-resource-types/aws-fsx-storagevirtualmachine.js +1 -1
  53. package/lib/types/cfn-resource-types/aws-kinesisvideo-stream.d.ts +10 -0
  54. package/lib/types/cfn-resource-types/aws-kinesisvideo-stream.js +1 -1
  55. package/lib/types/cfn-resource-types/aws-kms-key.d.ts +3 -0
  56. package/lib/types/cfn-resource-types/aws-kms-key.js +1 -1
  57. package/lib/types/cfn-resource-types/aws-lambda-eventsourcemapping.d.ts +8 -5
  58. package/lib/types/cfn-resource-types/aws-lambda-eventsourcemapping.js +1 -1
  59. package/lib/types/cfn-resource-types/aws-lambda-function.d.ts +7 -0
  60. package/lib/types/cfn-resource-types/aws-lambda-function.js +1 -1
  61. package/lib/types/cfn-resource-types/aws-msk-cluster.d.ts +4 -0
  62. package/lib/types/cfn-resource-types/aws-msk-cluster.js +1 -1
  63. package/lib/types/cfn-resource-types/aws-opensearchserverless-collection.d.ts +18 -43
  64. package/lib/types/cfn-resource-types/aws-opensearchserverless-collection.js +1 -1
  65. package/lib/types/cfn-resource-types/aws-pcs-cluster.d.ts +68 -38
  66. package/lib/types/cfn-resource-types/aws-pcs-cluster.js +1 -1
  67. package/lib/types/cfn-resource-types/aws-rbin-rule.d.ts +1 -1
  68. package/lib/types/cfn-resource-types/aws-rbin-rule.js +1 -1
  69. package/lib/types/cfn-resource-types/aws-rum-appmonitor.d.ts +79 -34
  70. package/lib/types/cfn-resource-types/aws-rum-appmonitor.js +1 -1
  71. package/lib/types/cfn-resource-types/aws-s3-bucket.d.ts +9 -0
  72. package/lib/types/cfn-resource-types/aws-s3-bucket.js +1 -1
  73. package/lib/types/cfn-resource-types/aws-sagemaker-partnerapp.d.ts +12 -0
  74. package/lib/types/cfn-resource-types/aws-sagemaker-partnerapp.js +1 -1
  75. package/lib/types/cfn-resource-types/aws-secretsmanager-secret.d.ts +1 -0
  76. package/lib/types/cfn-resource-types/aws-secretsmanager-secret.js +1 -1
  77. package/lib/types/cfn-resource-types/aws-wisdom-aiagent.d.ts +27 -2
  78. package/lib/types/cfn-resource-types/aws-wisdom-aiagent.js +1 -1
  79. package/lib/types/cfn-resource-types.d.ts +16 -0
  80. package/lib/types/cfn-resource-types.js +43 -27
  81. package/package.json +1 -1
@@ -6,20 +6,26 @@ export type RefId = string;
6
6
  * Creates an evaluation form for the specified CON instance.
7
7
  */
8
8
  export interface _AWS_CONNECT_EVALUATIONFORM {
9
+ ScoringStrategy?: ScoringStrategy;
9
10
  /**
10
- * A title of the evaluation form.
11
+ * The status of the evaluation form.
12
+ * *Allowed values*: ``DRAFT`` | ``ACTIVE``
11
13
  */
12
- Title: string;
14
+ Status: ("DRAFT" | "ACTIVE");
15
+ AutoEvaluationConfiguration?: AutoEvaluationConfiguration;
13
16
  /**
14
17
  * The description of the evaluation form.
15
18
  * *Length Constraints*: Minimum length of 0. Maximum length of 1024.
16
19
  */
17
20
  Description?: string;
18
- EvaluationFormArn?: string;
19
21
  /**
20
22
  * The identifier of the Amazon Connect instance.
21
23
  */
22
24
  InstanceArn: string;
25
+ /**
26
+ * A title of the evaluation form.
27
+ */
28
+ Title: string;
23
29
  /**
24
30
  * Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.
25
31
  * *Minimum size*: 1
@@ -29,13 +35,7 @@ export interface _AWS_CONNECT_EVALUATIONFORM {
29
35
  * @maxItems 200
30
36
  */
31
37
  Items: EvaluationFormBaseItem[];
32
- ScoringStrategy?: ScoringStrategy;
33
- AutoEvaluationConfiguration?: AutoEvaluationConfiguration;
34
- /**
35
- * The status of the evaluation form.
36
- * *Allowed values*: ``DRAFT`` | ``ACTIVE``
37
- */
38
- Status: ("DRAFT" | "ACTIVE");
38
+ EvaluationFormArn?: string;
39
39
  /**
40
40
  * The tags used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.
41
41
  *
@@ -43,6 +43,24 @@ export interface _AWS_CONNECT_EVALUATIONFORM {
43
43
  */
44
44
  Tags?: Tag[];
45
45
  }
46
+ /**
47
+ * A scoring strategy of the evaluation form.
48
+ */
49
+ export interface ScoringStrategy {
50
+ /**
51
+ * The scoring status of the evaluation form.
52
+ * *Allowed values*: ``ENABLED`` | ``DISABLED``
53
+ */
54
+ Status: ("ENABLED" | "DISABLED");
55
+ /**
56
+ * The scoring mode of the evaluation form.
57
+ * *Allowed values*: ``QUESTION_ONLY`` | ``SECTION_ONLY``
58
+ */
59
+ Mode: ("QUESTION_ONLY" | "SECTION_ONLY");
60
+ }
61
+ export interface AutoEvaluationConfiguration {
62
+ Enabled?: boolean;
63
+ }
46
64
  /**
47
65
  * An item at the root level. All items must be sections.
48
66
  */
@@ -62,11 +80,6 @@ export interface EvaluationFormSection {
62
80
  * The instructions of the section.
63
81
  */
64
82
  Instructions?: string;
65
- /**
66
- * The identifier of the section. An identifier must be unique within the evaluation form.
67
- * *Length Constraints*: Minimum length of 1. Maximum length of 40.
68
- */
69
- RefId: string;
70
83
  /**
71
84
  * The items of the section.
72
85
  * *Minimum*: 1
@@ -75,6 +88,10 @@ export interface EvaluationFormSection {
75
88
  * @maxItems 200
76
89
  */
77
90
  Items?: EvaluationFormItem[];
91
+ /**
92
+ * The identifier to reference the item.
93
+ */
94
+ RefId: string;
78
95
  /**
79
96
  * The scoring weight of the section.
80
97
  * *Minimum*: 0
@@ -86,35 +103,38 @@ export interface EvaluationFormSection {
86
103
  * Items that are part of the evaluation form. The total number of sections and questions must not exceed 100 each. Questions must be contained in a section.
87
104
  */
88
105
  export interface EvaluationFormItem {
89
- Section?: EvaluationFormSection1;
90
106
  Question?: EvaluationFormQuestion;
107
+ Section?: EvaluationFormSection1;
91
108
  }
92
109
  /**
93
- * The information of the section.
110
+ * The information of the question.
94
111
  */
95
- export interface EvaluationFormSection1 {
112
+ export interface EvaluationFormQuestion {
96
113
  /**
97
- * The title of the section.
98
- * *Length Constraints*: Minimum length of 1. Maximum length of 128.
114
+ * The flag to enable not applicable answers to the question.
115
+ */
116
+ NotApplicableEnabled?: boolean;
117
+ Enablement?: EvaluationFormItemEnablementConfiguration;
118
+ /**
119
+ * The title of the question.
120
+ * *Length Constraints*: Minimum length of 1. Maximum length of 350.
99
121
  */
100
122
  Title: string;
123
+ /**
124
+ * The type of the question.
125
+ * *Allowed values*: ``NUMERIC`` | ``SINGLESELECT`` | ``TEXT``
126
+ */
127
+ QuestionType: ("NUMERIC" | "SINGLESELECT" | "TEXT" | "MULTISELECT" | "DATETIME");
101
128
  /**
102
129
  * The instructions of the section.
130
+ * *Length Constraints*: Minimum length of 0. Maximum length of 1024.
103
131
  */
104
132
  Instructions?: string;
105
133
  /**
106
- * The identifier of the section. An identifier must be unique within the evaluation form.
107
- * *Length Constraints*: Minimum length of 1. Maximum length of 40.
134
+ * The identifier to reference the item.
108
135
  */
109
136
  RefId: string;
110
- /**
111
- * The items of the section.
112
- * *Minimum*: 1
113
- *
114
- * @minItems 1
115
- * @maxItems 200
116
- */
117
- Items?: EvaluationFormItem[];
137
+ QuestionTypeProperties?: EvaluationFormQuestionTypeProperties;
118
138
  /**
119
139
  * The scoring weight of the section.
120
140
  * *Minimum*: 0
@@ -122,42 +142,70 @@ export interface EvaluationFormSection1 {
122
142
  */
123
143
  Weight?: number;
124
144
  }
145
+ export interface EvaluationFormItemEnablementConfiguration {
146
+ Condition: EvaluationFormItemEnablementCondition;
147
+ /**
148
+ * Defines the enablement status to be applied when the specified condition is met.
149
+ */
150
+ Action: ("DISABLE" | "ENABLE");
151
+ /**
152
+ * Specifies the default enablement status to be applied when the condition is not satisfied.
153
+ */
154
+ DefaultAction?: ("DISABLE" | "ENABLE");
155
+ }
125
156
  /**
126
- * The information of the question.
157
+ * Specifies the logical condition that determines when to apply the enablement rules.
127
158
  */
128
- export interface EvaluationFormQuestion {
159
+ export interface EvaluationFormItemEnablementCondition {
129
160
  /**
130
- * The title of the question.
131
- * *Length Constraints*: Minimum length of 1. Maximum length of 350.
161
+ * The logical operator used to combine multiple operands, determining how the condition is evaluated as a whole.
132
162
  */
133
- Title: string;
163
+ Operator?: ("OR" | "AND");
134
164
  /**
135
- * The instructions of the section.
136
- * *Length Constraints*: Minimum length of 0. Maximum length of 1024.
165
+ * The list of operands that compose the condition. Each operand represents a specific criteria to be evaluated.
166
+ *
167
+ * @minItems 1
137
168
  */
138
- Instructions?: string;
169
+ Operands: EvaluationFormItemEnablementConditionOperand[];
170
+ }
171
+ export interface EvaluationFormItemEnablementConditionOperand {
172
+ Expression?: EvaluationFormItemEnablementExpression;
173
+ }
174
+ /**
175
+ * A direct comparison expression that evaluates a form item's value against specified criteria.
176
+ */
177
+ export interface EvaluationFormItemEnablementExpression {
139
178
  /**
140
- * The identifier of the question. An identifier must be unique within the evaluation form.
141
- * *Length Constraints*: Minimum length of 1. Maximum length of 40.
179
+ * The list of possible values to compare against the source form item's value.
180
+ *
181
+ * @minItems 1
142
182
  */
143
- RefId: string;
183
+ Values: EvaluationFormItemEnablementSourceValue[];
184
+ Source: EvaluationFormItemEnablementSource;
144
185
  /**
145
- * The flag to enable not applicable answers to the question.
186
+ * Specifies the comparison method to determine if the source value matches any of the specified values.
146
187
  */
147
- NotApplicableEnabled?: boolean;
188
+ Comparator: ("IN" | "NOT_IN" | "ALL_IN" | "EXACT");
189
+ }
190
+ export interface EvaluationFormItemEnablementSourceValue {
148
191
  /**
149
- * The type of the question.
150
- * *Allowed values*: ``NUMERIC`` | ``SINGLESELECT`` | ``TEXT``
192
+ * Type of the source entity value.
151
193
  */
152
- QuestionType: ("NUMERIC" | "SINGLESELECT" | "TEXT");
153
- QuestionTypeProperties?: EvaluationFormQuestionTypeProperties;
194
+ Type?: "OPTION_REF_ID";
154
195
  /**
155
- * The scoring weight of the section.
156
- * *Minimum*: 0
157
- * *Maximum*: 100
196
+ * The reference id of the source entity value.
158
197
  */
159
- Weight?: number;
160
- Enablement?: EvaluationFormItemEnablementConfiguration;
198
+ RefId?: string;
199
+ }
200
+ /**
201
+ * Identifies the form item whose value will be evaluated in the expression.
202
+ */
203
+ export interface EvaluationFormItemEnablementSource {
204
+ /**
205
+ * The type of the source entity.
206
+ */
207
+ Type: "QUESTION_REF_ID";
208
+ RefId?: RefId;
161
209
  }
162
210
  /**
163
211
  * The properties of the type of question. Text questions do not have to define question type properties.
@@ -171,14 +219,6 @@ export interface EvaluationFormQuestionTypeProperties {
171
219
  * The properties of the numeric question.
172
220
  */
173
221
  export interface EvaluationFormNumericQuestionProperties {
174
- /**
175
- * The minimum answer value.
176
- */
177
- MinValue: number;
178
- /**
179
- * The maximum answer value.
180
- */
181
- MaxValue: number;
182
222
  /**
183
223
  * The scoring options of the numeric question.
184
224
  *
@@ -187,11 +227,26 @@ export interface EvaluationFormNumericQuestionProperties {
187
227
  */
188
228
  Options?: EvaluationFormNumericQuestionOption[];
189
229
  Automation?: EvaluationFormNumericQuestionAutomation;
230
+ /**
231
+ * The minimum answer value.
232
+ */
233
+ MinValue: number;
234
+ /**
235
+ * The maximum answer value.
236
+ */
237
+ MaxValue: number;
190
238
  }
191
239
  /**
192
240
  * Information about the option range used for scoring in numeric questions.
193
241
  */
194
242
  export interface EvaluationFormNumericQuestionOption {
243
+ /**
244
+ * The score assigned to answer values within the range option.
245
+ * *Minimum*: 0
246
+ * *Maximum*: 10
247
+ */
248
+ Score?: number;
249
+ AutomaticFailConfiguration?: AutomaticFailConfiguration;
195
250
  /**
196
251
  * The minimum answer value of the range option.
197
252
  */
@@ -200,17 +255,10 @@ export interface EvaluationFormNumericQuestionOption {
200
255
  * The maximum answer value of the range option.
201
256
  */
202
257
  MaxValue: number;
203
- /**
204
- * The score assigned to answer values within the range option.
205
- * *Minimum*: 0
206
- * *Maximum*: 10
207
- */
208
- Score?: number;
209
258
  /**
210
259
  * The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.
211
260
  */
212
261
  AutomaticFail?: boolean;
213
- AutomaticFailConfiguration?: AutomaticFailConfiguration;
214
262
  }
215
263
  export interface AutomaticFailConfiguration {
216
264
  /**
@@ -222,8 +270,14 @@ export interface AutomaticFailConfiguration {
222
270
  * The automation properties of the numeric question.
223
271
  */
224
272
  export interface EvaluationFormNumericQuestionAutomation {
225
- PropertyValue?: NumericQuestionPropertyValueAutomation;
226
273
  AnswerSource?: EvaluationFormQuestionAutomationAnswerSource;
274
+ PropertyValue?: NumericQuestionPropertyValueAutomation;
275
+ }
276
+ export interface EvaluationFormQuestionAutomationAnswerSource {
277
+ /**
278
+ * The type of the answer source
279
+ */
280
+ SourceType: ("CONTACT_LENS_DATA" | "GEN_AI");
227
281
  }
228
282
  /**
229
283
  * The property value of the automation.
@@ -232,18 +286,17 @@ export interface NumericQuestionPropertyValueAutomation {
232
286
  /**
233
287
  * The property label of the automation.
234
288
  */
235
- Label: ("OVERALL_CUSTOMER_SENTIMENT_SCORE" | "OVERALL_AGENT_SENTIMENT_SCORE" | "NON_TALK_TIME" | "NON_TALK_TIME_PERCENTAGE" | "NUMBER_OF_INTERRUPTIONS" | "CONTACT_DURATION" | "AGENT_INTERACTION_DURATION" | "CUSTOMER_HOLD_TIME" | "LONGEST_HOLD_DURATION" | "NUMBER_OF_HOLDS" | "AGENT_INTERACTION_AND_HOLD_DURATION");
236
- }
237
- export interface EvaluationFormQuestionAutomationAnswerSource {
238
- /**
239
- * The type of the answer sourcr
240
- */
241
- SourceType: ("CONTACT_LENS_DATA" | "GEN_AI");
289
+ Label: ("OVERALL_CUSTOMER_SENTIMENT_SCORE" | "OVERALL_AGENT_SENTIMENT_SCORE" | "NON_TALK_TIME" | "NON_TALK_TIME_PERCENTAGE" | "NUMBER_OF_INTERRUPTIONS" | "CONTACT_DURATION" | "AGENT_INTERACTION_DURATION" | "CUSTOMER_HOLD_TIME" | "LONGEST_HOLD_DURATION" | "NUMBER_OF_HOLDS" | "AGENT_INTERACTION_AND_HOLD_DURATION" | "CUSTOMER_SENTIMENT_SCORE_WITHOUT_AGENT");
242
290
  }
243
291
  /**
244
292
  * The properties of the numeric question.
245
293
  */
246
294
  export interface EvaluationFormSingleSelectQuestionProperties {
295
+ /**
296
+ * The display mode of the single select question.
297
+ * *Allowed values*: ``DROPDOWN`` | ``RADIO``
298
+ */
299
+ DisplayAs?: ("DROPDOWN" | "RADIO");
247
300
  /**
248
301
  * The answer options of the single select question.
249
302
  * *Minimum*: 2
@@ -253,11 +306,6 @@ export interface EvaluationFormSingleSelectQuestionProperties {
253
306
  * @maxItems 256
254
307
  */
255
308
  Options: EvaluationFormSingleSelectQuestionOption[];
256
- /**
257
- * The display mode of the single select question.
258
- * *Allowed values*: ``DROPDOWN`` | ``RADIO``
259
- */
260
- DisplayAs?: ("DROPDOWN" | "RADIO");
261
309
  Automation?: EvaluationFormSingleSelectQuestionAutomation;
262
310
  }
263
311
  /**
@@ -265,26 +313,25 @@ export interface EvaluationFormSingleSelectQuestionProperties {
265
313
  */
266
314
  export interface EvaluationFormSingleSelectQuestionOption {
267
315
  /**
268
- * The identifier of the answer option. An identifier must be unique within the question.
269
- * *Length Constraints*: Minimum length of 1. Maximum length of 40.
316
+ * The score assigned to the answer option.
317
+ * *Minimum*: 0
318
+ * *Maximum*: 10
270
319
  */
271
- RefId: string;
320
+ Score?: number;
321
+ AutomaticFailConfiguration?: AutomaticFailConfiguration1;
272
322
  /**
273
323
  * The title of the answer option.
274
324
  * *Length Constraints*: Minimum length of 1. Maximum length of 128.
275
325
  */
276
326
  Text: string;
277
327
  /**
278
- * The score assigned to the answer option.
279
- * *Minimum*: 0
280
- * *Maximum*: 10
328
+ * The identifier to reference the item.
281
329
  */
282
- Score?: number;
330
+ RefId: string;
283
331
  /**
284
332
  * The flag to mark the option as automatic fail. If an automatic fail answer is provided, the overall evaluation gets a score of 0.
285
333
  */
286
334
  AutomaticFail?: boolean;
287
- AutomaticFailConfiguration?: AutomaticFailConfiguration1;
288
335
  }
289
336
  export interface AutomaticFailConfiguration1 {
290
337
  /**
@@ -305,12 +352,11 @@ export interface EvaluationFormSingleSelectQuestionAutomation {
305
352
  * @maxItems 20
306
353
  */
307
354
  Options: EvaluationFormSingleSelectQuestionAutomationOption[];
355
+ AnswerSource?: EvaluationFormQuestionAutomationAnswerSource1;
308
356
  /**
309
- * The identifier of the default answer option, when none of the automation options match the criteria.
310
- * *Length Constraints*: Minimum length of 1. Maximum length of 40.
357
+ * The identifier to reference the item.
311
358
  */
312
359
  DefaultOptionRefId?: string;
313
- AnswerSource?: EvaluationFormQuestionAutomationAnswerSource1;
314
360
  }
315
361
  /**
316
362
  * The automation options of the single select question.
@@ -322,12 +368,6 @@ export interface EvaluationFormSingleSelectQuestionAutomationOption {
322
368
  * The automation option based on a rule category for the single select question.
323
369
  */
324
370
  export interface SingleSelectQuestionRuleCategoryAutomation {
325
- /**
326
- * The category name, as defined in Rules.
327
- * *Minimum*: 1
328
- * *Maximum*: 50
329
- */
330
- Category: string;
331
371
  /**
332
372
  * The condition to apply for the automation option. If the condition is PRESENT, then the option is applied when the contact data includes the category. Similarly, if the condition is NOT_PRESENT, then the option is applied when the contact data does not include the category.
333
373
  * *Allowed values*: ``PRESENT`` | ``NOT_PRESENT``
@@ -335,14 +375,19 @@ export interface SingleSelectQuestionRuleCategoryAutomation {
335
375
  */
336
376
  Condition: ("PRESENT" | "NOT_PRESENT");
337
377
  /**
338
- * The identifier of the answer option. An identifier must be unique within the question.
339
- * *Length Constraints*: Minimum length of 1. Maximum length of 40.
378
+ * The category name, as defined in Rules.
379
+ * *Minimum*: 1
380
+ * *Maximum*: 50
381
+ */
382
+ Category: string;
383
+ /**
384
+ * The identifier to reference the item.
340
385
  */
341
386
  OptionRefId: string;
342
387
  }
343
388
  export interface EvaluationFormQuestionAutomationAnswerSource1 {
344
389
  /**
345
- * The type of the answer sourcr
390
+ * The type of the answer source
346
391
  */
347
392
  SourceType: ("CONTACT_LENS_DATA" | "GEN_AI");
348
393
  }
@@ -360,103 +405,52 @@ export interface EvaluationFormTextQuestionAutomation {
360
405
  */
361
406
  export interface EvaluationFormQuestionAutomationAnswerSource2 {
362
407
  /**
363
- * The type of the answer sourcr
408
+ * The type of the answer source
364
409
  */
365
410
  SourceType: ("CONTACT_LENS_DATA" | "GEN_AI");
366
411
  }
367
- export interface EvaluationFormItemEnablementConfiguration {
368
- Condition: EvaluationFormItemEnablementCondition;
369
- /**
370
- * Defines the enablement status to be applied when the specified condition is met.
371
- */
372
- Action: ("DISABLE" | "ENABLE");
373
- /**
374
- * Specifies the default enablement status to be applied when the condition is not satisfied.
375
- */
376
- DefaultAction?: ("DISABLE" | "ENABLE");
377
- }
378
412
  /**
379
- * Specifies the logical condition that determines when to apply the enablement rules.
413
+ * The information of the section.
380
414
  */
381
- export interface EvaluationFormItemEnablementCondition {
415
+ export interface EvaluationFormSection1 {
382
416
  /**
383
- * The list of operands that compose the condition. Each operand represents a specific criteria to be evaluated.
384
- *
385
- * @minItems 1
417
+ * The title of the section.
418
+ * *Length Constraints*: Minimum length of 1. Maximum length of 128.
386
419
  */
387
- Operands: EvaluationFormItemEnablementConditionOperand[];
420
+ Title: string;
388
421
  /**
389
- * The logical operator used to combine multiple operands, determining how the condition is evaluated as a whole.
422
+ * The instructions of the section.
390
423
  */
391
- Operator?: ("OR" | "AND");
392
- }
393
- export interface EvaluationFormItemEnablementConditionOperand {
394
- Expression?: EvaluationFormItemEnablementExpression;
395
- }
396
- /**
397
- * A direct comparison expression that evaluates a form item's value against specified criteria.
398
- */
399
- export interface EvaluationFormItemEnablementExpression {
400
- Source: EvaluationFormItemEnablementSource;
424
+ Instructions?: string;
401
425
  /**
402
- * The list of possible values to compare against the source form item's value.
426
+ * The items of the section.
427
+ * *Minimum*: 1
403
428
  *
404
429
  * @minItems 1
430
+ * @maxItems 200
405
431
  */
406
- Values: EvaluationFormItemEnablementSourceValue[];
407
- /**
408
- * Specifies the comparison method to determine if the source value matches any of the specified values.
409
- */
410
- Comparator: ("IN" | "NOT_IN");
411
- }
412
- /**
413
- * Identifies the form item whose value will be evaluated in the expression.
414
- */
415
- export interface EvaluationFormItemEnablementSource {
416
- /**
417
- * The type of the source entity.
418
- */
419
- Type: "QUESTION_REF_ID";
420
- RefId?: RefId;
421
- }
422
- export interface EvaluationFormItemEnablementSourceValue {
423
- /**
424
- * Type of the source entity value.
425
- */
426
- Type?: "OPTION_REF_ID";
432
+ Items?: EvaluationFormItem[];
427
433
  /**
428
434
  * The identifier to reference the item.
429
435
  */
430
- RefId?: string;
431
- }
432
- /**
433
- * A scoring strategy of the evaluation form.
434
- */
435
- export interface ScoringStrategy {
436
- /**
437
- * The scoring mode of the evaluation form.
438
- * *Allowed values*: ``QUESTION_ONLY`` | ``SECTION_ONLY``
439
- */
440
- Mode: ("QUESTION_ONLY" | "SECTION_ONLY");
436
+ RefId: string;
441
437
  /**
442
- * The scoring status of the evaluation form.
443
- * *Allowed values*: ``ENABLED`` | ``DISABLED``
438
+ * The scoring weight of the section.
439
+ * *Minimum*: 0
440
+ * *Maximum*: 100
444
441
  */
445
- Status: ("ENABLED" | "DISABLED");
446
- }
447
- export interface AutoEvaluationConfiguration {
448
- Enabled?: boolean;
442
+ Weight?: number;
449
443
  }
450
444
  /**
451
445
  * A key-value pair to associate with a resource.
452
446
  */
453
447
  export interface Tag {
454
- /**
455
- * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -
456
- */
457
- Key: string;
458
448
  /**
459
449
  * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -
460
450
  */
461
451
  Value: string;
452
+ /**
453
+ * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -
454
+ */
455
+ Key: string;
462
456
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWNvbm5lY3QtZXZhbHVhdGlvbmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtY29ubmVjdC1ldmFsdWF0aW9uZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgaWRlbnRpZmllciB0byByZWZlcmVuY2UgdGhlIGl0ZW0uXG4gKi9cbmV4cG9ydCB0eXBlIFJlZklkID0gc3RyaW5nXG5cbi8qKlxuICogQ3JlYXRlcyBhbiBldmFsdWF0aW9uIGZvcm0gZm9yIHRoZSBzcGVjaWZpZWQgQ09OIGluc3RhbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfQ09OTkVDVF9FVkFMVUFUSU9ORk9STSB7XG4vKipcbiAqIEEgdGl0bGUgb2YgdGhlIGV2YWx1YXRpb24gZm9ybS5cbiAqL1xuVGl0bGU6IHN0cmluZ1xuLyoqXG4gKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGV2YWx1YXRpb24gZm9ybS5cbiAqICAqTGVuZ3RoIENvbnN0cmFpbnRzKjogTWluaW11bSBsZW5ndGggb2YgMC4gTWF4aW11bSBsZW5ndGggb2YgMTAyNC5cbiAqL1xuRGVzY3JpcHRpb24/OiBzdHJpbmdcbkV2YWx1YXRpb25Gb3JtQXJuPzogc3RyaW5nXG4vKipcbiAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBBbWF6b24gQ29ubmVjdCBpbnN0YW5jZS5cbiAqL1xuSW5zdGFuY2VBcm46IHN0cmluZ1xuLyoqXG4gKiBJdGVtcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBldmFsdWF0aW9uIGZvcm0uIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2VjdGlvbnMgYW5kIHF1ZXN0aW9ucyBtdXN0IG5vdCBleGNlZWQgMTAwIGVhY2guIFF1ZXN0aW9ucyBtdXN0IGJlIGNvbnRhaW5lZCBpbiBhIHNlY3Rpb24uXG4gKiAgKk1pbmltdW0gc2l6ZSo6IDFcbiAqICAqTWF4aW11bSBzaXplKjogMTAwXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMjAwXG4gKi9cbkl0ZW1zOiBFdmFsdWF0aW9uRm9ybUJhc2VJdGVtW11cblNjb3JpbmdTdHJhdGVneT86IFNjb3JpbmdTdHJhdGVneVxuQXV0b0V2YWx1YXRpb25Db25maWd1cmF0aW9uPzogQXV0b0V2YWx1YXRpb25Db25maWd1cmF0aW9uXG4vKipcbiAqIFRoZSBzdGF0dXMgb2YgdGhlIGV2YWx1YXRpb24gZm9ybS5cbiAqICAqQWxsb3dlZCB2YWx1ZXMqOiBgYERSQUZUYGAgfCBgYEFDVElWRWBgXG4gKi9cblN0YXR1czogKFwiRFJBRlRcIiB8IFwiQUNUSVZFXCIpXG4vKipcbiAqIFRoZSB0YWdzIHVzZWQgdG8gb3JnYW5pemUsIHRyYWNrLCBvciBjb250cm9sIGFjY2VzcyBmb3IgdGhpcyByZXNvdXJjZS4gRm9yIGV4YW1wbGUsIHsgXCJ0YWdzXCI6IHtcImtleTFcIjpcInZhbHVlMVwiLCBcImtleTJcIjpcInZhbHVlMlwifSB9LlxuICogXG4gKiBAbWF4SXRlbXMgNTBcbiAqL1xuVGFncz86IFRhZ1tdXG59XG4vKipcbiAqIEFuIGl0ZW0gYXQgdGhlIHJvb3QgbGV2ZWwuIEFsbCBpdGVtcyBtdXN0IGJlIHNlY3Rpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtQmFzZUl0ZW0ge1xuU2VjdGlvbjogRXZhbHVhdGlvbkZvcm1TZWN0aW9uXG59XG4vKipcbiAqIEEgc3Vic2VjdGlvbiBvciBpbm5lciBzZWN0aW9uIG9mIGFuIGl0ZW0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1TZWN0aW9uIHtcbi8qKlxuICogVGhlIHRpdGxlIG9mIHRoZSBzZWN0aW9uLlxuICogICpMZW5ndGggQ29uc3RyYWludHMqOiBNaW5pbXVtIGxlbmd0aCBvZiAxLiBNYXhpbXVtIGxlbmd0aCBvZiAxMjguXG4gKi9cblRpdGxlOiBzdHJpbmdcbi8qKlxuICogVGhlIGluc3RydWN0aW9ucyBvZiB0aGUgc2VjdGlvbi5cbiAqL1xuSW5zdHJ1Y3Rpb25zPzogc3RyaW5nXG4vKipcbiAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBzZWN0aW9uLiBBbiBpZGVudGlmaWVyIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZXZhbHVhdGlvbiBmb3JtLlxuICogICpMZW5ndGggQ29uc3RyYWludHMqOiBNaW5pbXVtIGxlbmd0aCBvZiAxLiBNYXhpbXVtIGxlbmd0aCBvZiA0MC5cbiAqL1xuUmVmSWQ6IHN0cmluZ1xuLyoqXG4gKiBUaGUgaXRlbXMgb2YgdGhlIHNlY3Rpb24uXG4gKiAgKk1pbmltdW0qOiAxXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMjAwXG4gKi9cbkl0ZW1zPzogRXZhbHVhdGlvbkZvcm1JdGVtW11cbi8qKlxuICogVGhlIHNjb3Jpbmcgd2VpZ2h0IG9mIHRoZSBzZWN0aW9uLlxuICogICpNaW5pbXVtKjogMCBcbiAqICAqTWF4aW11bSo6IDEwMFxuICovXG5XZWlnaHQ/OiBudW1iZXJcbn1cbi8qKlxuICogSXRlbXMgdGhhdCBhcmUgcGFydCBvZiB0aGUgZXZhbHVhdGlvbiBmb3JtLiBUaGUgdG90YWwgbnVtYmVyIG9mIHNlY3Rpb25zIGFuZCBxdWVzdGlvbnMgbXVzdCBub3QgZXhjZWVkIDEwMCBlYWNoLiBRdWVzdGlvbnMgbXVzdCBiZSBjb250YWluZWQgaW4gYSBzZWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtSXRlbSB7XG5TZWN0aW9uPzogRXZhbHVhdGlvbkZvcm1TZWN0aW9uMVxuUXVlc3Rpb24/OiBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uXG59XG4vKipcbiAqIFRoZSBpbmZvcm1hdGlvbiBvZiB0aGUgc2VjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVNlY3Rpb24xIHtcbi8qKlxuICogVGhlIHRpdGxlIG9mIHRoZSBzZWN0aW9uLlxuICogICpMZW5ndGggQ29uc3RyYWludHMqOiBNaW5pbXVtIGxlbmd0aCBvZiAxLiBNYXhpbXVtIGxlbmd0aCBvZiAxMjguXG4gKi9cblRpdGxlOiBzdHJpbmdcbi8qKlxuICogVGhlIGluc3RydWN0aW9ucyBvZiB0aGUgc2VjdGlvbi5cbiAqL1xuSW5zdHJ1Y3Rpb25zPzogc3RyaW5nXG4vKipcbiAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBzZWN0aW9uLiBBbiBpZGVudGlmaWVyIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZXZhbHVhdGlvbiBmb3JtLlxuICogICpMZW5ndGggQ29uc3RyYWludHMqOiBNaW5pbXVtIGxlbmd0aCBvZiAxLiBNYXhpbXVtIGxlbmd0aCBvZiA0MC5cbiAqL1xuUmVmSWQ6IHN0cmluZ1xuLyoqXG4gKiBUaGUgaXRlbXMgb2YgdGhlIHNlY3Rpb24uXG4gKiAgKk1pbmltdW0qOiAxXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMjAwXG4gKi9cbkl0ZW1zPzogRXZhbHVhdGlvbkZvcm1JdGVtW11cbi8qKlxuICogVGhlIHNjb3Jpbmcgd2VpZ2h0IG9mIHRoZSBzZWN0aW9uLlxuICogICpNaW5pbXVtKjogMCBcbiAqICAqTWF4aW11bSo6IDEwMFxuICovXG5XZWlnaHQ/OiBudW1iZXJcbn1cbi8qKlxuICogVGhlIGluZm9ybWF0aW9uIG9mIHRoZSBxdWVzdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uIHtcbi8qKlxuICogVGhlIHRpdGxlIG9mIHRoZSBxdWVzdGlvbi5cbiAqICAqTGVuZ3RoIENvbnN0cmFpbnRzKjogTWluaW11bSBsZW5ndGggb2YgMS4gTWF4aW11bSBsZW5ndGggb2YgMzUwLlxuICovXG5UaXRsZTogc3RyaW5nXG4vKipcbiAqIFRoZSBpbnN0cnVjdGlvbnMgb2YgdGhlIHNlY3Rpb24uXG4gKiAgKkxlbmd0aCBDb25zdHJhaW50cyo6IE1pbmltdW0gbGVuZ3RoIG9mIDAuIE1heGltdW0gbGVuZ3RoIG9mIDEwMjQuXG4gKi9cbkluc3RydWN0aW9ucz86IHN0cmluZ1xuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgcXVlc3Rpb24uIEFuIGlkZW50aWZpZXIgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBldmFsdWF0aW9uIGZvcm0uXG4gKiAgKkxlbmd0aCBDb25zdHJhaW50cyo6IE1pbmltdW0gbGVuZ3RoIG9mIDEuIE1heGltdW0gbGVuZ3RoIG9mIDQwLlxuICovXG5SZWZJZDogc3RyaW5nXG4vKipcbiAqIFRoZSBmbGFnIHRvIGVuYWJsZSBub3QgYXBwbGljYWJsZSBhbnN3ZXJzIHRvIHRoZSBxdWVzdGlvbi5cbiAqL1xuTm90QXBwbGljYWJsZUVuYWJsZWQ/OiBib29sZWFuXG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBxdWVzdGlvbi5cbiAqICAqQWxsb3dlZCB2YWx1ZXMqOiBgYE5VTUVSSUNgYCB8IGBgU0lOR0xFU0VMRUNUYGAgfCBgYFRFWFRgYFxuICovXG5RdWVzdGlvblR5cGU6IChcIk5VTUVSSUNcIiB8IFwiU0lOR0xFU0VMRUNUXCIgfCBcIlRFWFRcIilcblF1ZXN0aW9uVHlwZVByb3BlcnRpZXM/OiBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uVHlwZVByb3BlcnRpZXNcbi8qKlxuICogVGhlIHNjb3Jpbmcgd2VpZ2h0IG9mIHRoZSBzZWN0aW9uLlxuICogICpNaW5pbXVtKjogMFxuICogICpNYXhpbXVtKjogMTAwXG4gKi9cbldlaWdodD86IG51bWJlclxuRW5hYmxlbWVudD86IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRDb25maWd1cmF0aW9uXG59XG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIG9mIHRoZSB0eXBlIG9mIHF1ZXN0aW9uLiBUZXh0IHF1ZXN0aW9ucyBkbyBub3QgaGF2ZSB0byBkZWZpbmUgcXVlc3Rpb24gdHlwZSBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtUXVlc3Rpb25UeXBlUHJvcGVydGllcyB7XG5OdW1lcmljPzogRXZhbHVhdGlvbkZvcm1OdW1lcmljUXVlc3Rpb25Qcm9wZXJ0aWVzXG5TaW5nbGVTZWxlY3Q/OiBFdmFsdWF0aW9uRm9ybVNpbmdsZVNlbGVjdFF1ZXN0aW9uUHJvcGVydGllc1xuVGV4dD86IEV2YWx1YXRpb25Gb3JtVGV4dFF1ZXN0aW9uUHJvcGVydGllc1xufVxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBvZiB0aGUgbnVtZXJpYyBxdWVzdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybU51bWVyaWNRdWVzdGlvblByb3BlcnRpZXMge1xuLyoqXG4gKiBUaGUgbWluaW11bSBhbnN3ZXIgdmFsdWUuXG4gKi9cbk1pblZhbHVlOiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gYW5zd2VyIHZhbHVlLlxuICovXG5NYXhWYWx1ZTogbnVtYmVyXG4vKipcbiAqIFRoZSBzY29yaW5nIG9wdGlvbnMgb2YgdGhlIG51bWVyaWMgcXVlc3Rpb24uXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMTBcbiAqL1xuT3B0aW9ucz86IEV2YWx1YXRpb25Gb3JtTnVtZXJpY1F1ZXN0aW9uT3B0aW9uW11cbkF1dG9tYXRpb24/OiBFdmFsdWF0aW9uRm9ybU51bWVyaWNRdWVzdGlvbkF1dG9tYXRpb25cbn1cbi8qKlxuICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIG9wdGlvbiByYW5nZSB1c2VkIGZvciBzY29yaW5nIGluIG51bWVyaWMgcXVlc3Rpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtTnVtZXJpY1F1ZXN0aW9uT3B0aW9uIHtcbi8qKlxuICogVGhlIG1pbmltdW0gYW5zd2VyIHZhbHVlIG9mIHRoZSByYW5nZSBvcHRpb24uXG4gKi9cbk1pblZhbHVlOiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gYW5zd2VyIHZhbHVlIG9mIHRoZSByYW5nZSBvcHRpb24uXG4gKi9cbk1heFZhbHVlOiBudW1iZXJcbi8qKlxuICogVGhlIHNjb3JlIGFzc2lnbmVkIHRvIGFuc3dlciB2YWx1ZXMgd2l0aGluIHRoZSByYW5nZSBvcHRpb24uXG4gKiAgKk1pbmltdW0qOiAwXG4gKiAgKk1heGltdW0qOiAxMFxuICovXG5TY29yZT86IG51bWJlclxuLyoqXG4gKiBUaGUgZmxhZyB0byBtYXJrIHRoZSBvcHRpb24gYXMgYXV0b21hdGljIGZhaWwuIElmIGFuIGF1dG9tYXRpYyBmYWlsIGFuc3dlciBpcyBwcm92aWRlZCwgdGhlIG92ZXJhbGwgZXZhbHVhdGlvbiBnZXRzIGEgc2NvcmUgb2YgMC5cbiAqL1xuQXV0b21hdGljRmFpbD86IGJvb2xlYW5cbkF1dG9tYXRpY0ZhaWxDb25maWd1cmF0aW9uPzogQXV0b21hdGljRmFpbENvbmZpZ3VyYXRpb25cbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b21hdGljRmFpbENvbmZpZ3VyYXRpb24ge1xuLyoqXG4gKiBUaGUgdGFyZ2V0IHNlY3Rpb24gcmVmSWQgdG8gY29udHJvbCBmYWlsdXJlIHByb3BhZ2F0aW9uIGJvdW5kYXJ5LlxuICovXG5UYXJnZXRTZWN0aW9uPzogc3RyaW5nXG59XG4vKipcbiAqIFRoZSBhdXRvbWF0aW9uIHByb3BlcnRpZXMgb2YgdGhlIG51bWVyaWMgcXVlc3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1OdW1lcmljUXVlc3Rpb25BdXRvbWF0aW9uIHtcblByb3BlcnR5VmFsdWU/OiBOdW1lcmljUXVlc3Rpb25Qcm9wZXJ0eVZhbHVlQXV0b21hdGlvblxuQW5zd2VyU291cmNlPzogRXZhbHVhdGlvbkZvcm1RdWVzdGlvbkF1dG9tYXRpb25BbnN3ZXJTb3VyY2Vcbn1cbi8qKlxuICogVGhlIHByb3BlcnR5IHZhbHVlIG9mIHRoZSBhdXRvbWF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE51bWVyaWNRdWVzdGlvblByb3BlcnR5VmFsdWVBdXRvbWF0aW9uIHtcbi8qKlxuICogVGhlIHByb3BlcnR5IGxhYmVsIG9mIHRoZSBhdXRvbWF0aW9uLlxuICovXG5MYWJlbDogKFwiT1ZFUkFMTF9DVVNUT01FUl9TRU5USU1FTlRfU0NPUkVcIiB8IFwiT1ZFUkFMTF9BR0VOVF9TRU5USU1FTlRfU0NPUkVcIiB8IFwiTk9OX1RBTEtfVElNRVwiIHwgXCJOT05fVEFMS19USU1FX1BFUkNFTlRBR0VcIiB8IFwiTlVNQkVSX09GX0lOVEVSUlVQVElPTlNcIiB8IFwiQ09OVEFDVF9EVVJBVElPTlwiIHwgXCJBR0VOVF9JTlRFUkFDVElPTl9EVVJBVElPTlwiIHwgXCJDVVNUT01FUl9IT0xEX1RJTUVcIiB8IFwiTE9OR0VTVF9IT0xEX0RVUkFUSU9OXCIgfCBcIk5VTUJFUl9PRl9IT0xEU1wiIHwgXCJBR0VOVF9JTlRFUkFDVElPTl9BTkRfSE9MRF9EVVJBVElPTlwiKVxufVxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uQXV0b21hdGlvbkFuc3dlclNvdXJjZSB7XG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBhbnN3ZXIgc291cmNyXG4gKi9cblNvdXJjZVR5cGU6IChcIkNPTlRBQ1RfTEVOU19EQVRBXCIgfCBcIkdFTl9BSVwiKVxufVxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBvZiB0aGUgbnVtZXJpYyBxdWVzdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVNpbmdsZVNlbGVjdFF1ZXN0aW9uUHJvcGVydGllcyB7XG4vKipcbiAqIFRoZSBhbnN3ZXIgb3B0aW9ucyBvZiB0aGUgc2luZ2xlIHNlbGVjdCBxdWVzdGlvbi5cbiAqICAqTWluaW11bSo6IDJcbiAqICAqTWF4aW11bSo6IDI1NlxuICogXG4gKiBAbWluSXRlbXMgMlxuICogQG1heEl0ZW1zIDI1NlxuICovXG5PcHRpb25zOiBFdmFsdWF0aW9uRm9ybVNpbmdsZVNlbGVjdFF1ZXN0aW9uT3B0aW9uW11cbi8qKlxuICogVGhlIGRpc3BsYXkgbW9kZSBvZiB0aGUgc2luZ2xlIHNlbGVjdCBxdWVzdGlvbi5cbiAqICAqQWxsb3dlZCB2YWx1ZXMqOiBgYERST1BET1dOYGAgfCBgYFJBRElPYGBcbiAqL1xuRGlzcGxheUFzPzogKFwiRFJPUERPV05cIiB8IFwiUkFESU9cIilcbkF1dG9tYXRpb24/OiBFdmFsdWF0aW9uRm9ybVNpbmdsZVNlbGVjdFF1ZXN0aW9uQXV0b21hdGlvblxufVxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgYXV0b21hdGlvbiBjb25maWd1cmF0aW9uIGluIHNpbmdsZSBzZWxlY3QgcXVlc3Rpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtU2luZ2xlU2VsZWN0UXVlc3Rpb25PcHRpb24ge1xuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYW5zd2VyIG9wdGlvbi4gQW4gaWRlbnRpZmllciBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHF1ZXN0aW9uLlxuICogICpMZW5ndGggQ29uc3RyYWludHMqOiBNaW5pbXVtIGxlbmd0aCBvZiAxLiBNYXhpbXVtIGxlbmd0aCBvZiA0MC5cbiAqL1xuUmVmSWQ6IHN0cmluZ1xuLyoqXG4gKiBUaGUgdGl0bGUgb2YgdGhlIGFuc3dlciBvcHRpb24uXG4gKiAgKkxlbmd0aCBDb25zdHJhaW50cyo6IE1pbmltdW0gbGVuZ3RoIG9mIDEuIE1heGltdW0gbGVuZ3RoIG9mIDEyOC5cbiAqL1xuVGV4dDogc3RyaW5nXG4vKipcbiAqIFRoZSBzY29yZSBhc3NpZ25lZCB0byB0aGUgYW5zd2VyIG9wdGlvbi5cbiAqICAqTWluaW11bSo6IDBcbiAqICAqTWF4aW11bSo6IDEwXG4gKi9cblNjb3JlPzogbnVtYmVyXG4vKipcbiAqIFRoZSBmbGFnIHRvIG1hcmsgdGhlIG9wdGlvbiBhcyBhdXRvbWF0aWMgZmFpbC4gSWYgYW4gYXV0b21hdGljIGZhaWwgYW5zd2VyIGlzIHByb3ZpZGVkLCB0aGUgb3ZlcmFsbCBldmFsdWF0aW9uIGdldHMgYSBzY29yZSBvZiAwLlxuICovXG5BdXRvbWF0aWNGYWlsPzogYm9vbGVhblxuQXV0b21hdGljRmFpbENvbmZpZ3VyYXRpb24/OiBBdXRvbWF0aWNGYWlsQ29uZmlndXJhdGlvbjFcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b21hdGljRmFpbENvbmZpZ3VyYXRpb24xIHtcbi8qKlxuICogVGhlIHRhcmdldCBzZWN0aW9uIHJlZklkIHRvIGNvbnRyb2wgZmFpbHVyZSBwcm9wYWdhdGlvbiBib3VuZGFyeS5cbiAqL1xuVGFyZ2V0U2VjdGlvbj86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgZGlzcGxheSBtb2RlIG9mIHRoZSBzaW5nbGUgc2VsZWN0IHF1ZXN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtU2luZ2xlU2VsZWN0UXVlc3Rpb25BdXRvbWF0aW9uIHtcbi8qKlxuICogVGhlIGF1dG9tYXRpb24gb3B0aW9ucyBvZiB0aGUgc2luZ2xlIHNlbGVjdCBxdWVzdGlvbi5cbiAqICAqTWluaW11bSo6IDFcbiAqICAqTWF4aW11bSo6IDIwXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMjBcbiAqL1xuT3B0aW9uczogRXZhbHVhdGlvbkZvcm1TaW5nbGVTZWxlY3RRdWVzdGlvbkF1dG9tYXRpb25PcHRpb25bXVxuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgZGVmYXVsdCBhbnN3ZXIgb3B0aW9uLCB3aGVuIG5vbmUgb2YgdGhlIGF1dG9tYXRpb24gb3B0aW9ucyBtYXRjaCB0aGUgY3JpdGVyaWEuXG4gKiAgKkxlbmd0aCBDb25zdHJhaW50cyo6IE1pbmltdW0gbGVuZ3RoIG9mIDEuIE1heGltdW0gbGVuZ3RoIG9mIDQwLlxuICovXG5EZWZhdWx0T3B0aW9uUmVmSWQ/OiBzdHJpbmdcbkFuc3dlclNvdXJjZT86IEV2YWx1YXRpb25Gb3JtUXVlc3Rpb25BdXRvbWF0aW9uQW5zd2VyU291cmNlMVxufVxuLyoqXG4gKiBUaGUgYXV0b21hdGlvbiBvcHRpb25zIG9mIHRoZSBzaW5nbGUgc2VsZWN0IHF1ZXN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtU2luZ2xlU2VsZWN0UXVlc3Rpb25BdXRvbWF0aW9uT3B0aW9uIHtcblJ1bGVDYXRlZ29yeTogU2luZ2xlU2VsZWN0UXVlc3Rpb25SdWxlQ2F0ZWdvcnlBdXRvbWF0aW9uXG59XG4vKipcbiAqIFRoZSBhdXRvbWF0aW9uIG9wdGlvbiBiYXNlZCBvbiBhIHJ1bGUgY2F0ZWdvcnkgZm9yIHRoZSBzaW5nbGUgc2VsZWN0IHF1ZXN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbmdsZVNlbGVjdFF1ZXN0aW9uUnVsZUNhdGVnb3J5QXV0b21hdGlvbiB7XG4vKipcbiAqIFRoZSBjYXRlZ29yeSBuYW1lLCBhcyBkZWZpbmVkIGluIFJ1bGVzLlxuICogICpNaW5pbXVtKjogMVxuICogICpNYXhpbXVtKjogNTBcbiAqL1xuQ2F0ZWdvcnk6IHN0cmluZ1xuLyoqXG4gKiBUaGUgY29uZGl0aW9uIHRvIGFwcGx5IGZvciB0aGUgYXV0b21hdGlvbiBvcHRpb24uIElmIHRoZSBjb25kaXRpb24gaXMgUFJFU0VOVCwgdGhlbiB0aGUgb3B0aW9uIGlzIGFwcGxpZWQgd2hlbiB0aGUgY29udGFjdCBkYXRhIGluY2x1ZGVzIHRoZSBjYXRlZ29yeS4gU2ltaWxhcmx5LCBpZiB0aGUgY29uZGl0aW9uIGlzIE5PVF9QUkVTRU5ULCB0aGVuIHRoZSBvcHRpb24gaXMgYXBwbGllZCB3aGVuIHRoZSBjb250YWN0IGRhdGEgZG9lcyBub3QgaW5jbHVkZSB0aGUgY2F0ZWdvcnkuXG4gKiAgKkFsbG93ZWQgdmFsdWVzKjogYGBQUkVTRU5UYGAgfCBgYE5PVF9QUkVTRU5UYGBcbiAqICAqTWF4aW11bSo6IDUwXG4gKi9cbkNvbmRpdGlvbjogKFwiUFJFU0VOVFwiIHwgXCJOT1RfUFJFU0VOVFwiKVxuLyoqXG4gKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYW5zd2VyIG9wdGlvbi4gQW4gaWRlbnRpZmllciBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHF1ZXN0aW9uLlxuICogICpMZW5ndGggQ29uc3RyYWludHMqOiBNaW5pbXVtIGxlbmd0aCBvZiAxLiBNYXhpbXVtIGxlbmd0aCBvZiA0MC5cbiAqL1xuT3B0aW9uUmVmSWQ6IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uQXV0b21hdGlvbkFuc3dlclNvdXJjZTEge1xuLyoqXG4gKiBUaGUgdHlwZSBvZiB0aGUgYW5zd2VyIHNvdXJjclxuICovXG5Tb3VyY2VUeXBlOiAoXCJDT05UQUNUX0xFTlNfREFUQVwiIHwgXCJHRU5fQUlcIilcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1UZXh0UXVlc3Rpb25Qcm9wZXJ0aWVzIHtcbkF1dG9tYXRpb24/OiBFdmFsdWF0aW9uRm9ybVRleHRRdWVzdGlvbkF1dG9tYXRpb25cbn1cbi8qKlxuICogU3BlY2lmaWVzIGhvdyB0aGUgcXVlc3Rpb24gY2FuIGJlIGF1dG9tYXRpY2FsbHkgYW5zd2VyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1UZXh0UXVlc3Rpb25BdXRvbWF0aW9uIHtcbkFuc3dlclNvdXJjZT86IEV2YWx1YXRpb25Gb3JtUXVlc3Rpb25BdXRvbWF0aW9uQW5zd2VyU291cmNlMlxufVxuLyoqXG4gKiBUaGUgc291cmNlIG9mIGF1dG9tYXRpb24gYW5zd2VyIG9mIHRoZSBxdWVzdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uQXV0b21hdGlvbkFuc3dlclNvdXJjZTIge1xuLyoqXG4gKiBUaGUgdHlwZSBvZiB0aGUgYW5zd2VyIHNvdXJjclxuICovXG5Tb3VyY2VUeXBlOiAoXCJDT05UQUNUX0xFTlNfREFUQVwiIHwgXCJHRU5fQUlcIilcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1JdGVtRW5hYmxlbWVudENvbmZpZ3VyYXRpb24ge1xuQ29uZGl0aW9uOiBFdmFsdWF0aW9uRm9ybUl0ZW1FbmFibGVtZW50Q29uZGl0aW9uXG4vKipcbiAqIERlZmluZXMgdGhlIGVuYWJsZW1lbnQgc3RhdHVzIHRvIGJlIGFwcGxpZWQgd2hlbiB0aGUgc3BlY2lmaWVkIGNvbmRpdGlvbiBpcyBtZXQuXG4gKi9cbkFjdGlvbjogKFwiRElTQUJMRVwiIHwgXCJFTkFCTEVcIilcbi8qKlxuICogU3BlY2lmaWVzIHRoZSBkZWZhdWx0IGVuYWJsZW1lbnQgc3RhdHVzIHRvIGJlIGFwcGxpZWQgd2hlbiB0aGUgY29uZGl0aW9uIGlzIG5vdCBzYXRpc2ZpZWQuXG4gKi9cbkRlZmF1bHRBY3Rpb24/OiAoXCJESVNBQkxFXCIgfCBcIkVOQUJMRVwiKVxufVxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGxvZ2ljYWwgY29uZGl0aW9uIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRvIGFwcGx5IHRoZSBlbmFibGVtZW50IHJ1bGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRDb25kaXRpb24ge1xuLyoqXG4gKiBUaGUgbGlzdCBvZiBvcGVyYW5kcyB0aGF0IGNvbXBvc2UgdGhlIGNvbmRpdGlvbi4gRWFjaCBvcGVyYW5kIHJlcHJlc2VudHMgYSBzcGVjaWZpYyBjcml0ZXJpYSB0byBiZSBldmFsdWF0ZWQuXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKi9cbk9wZXJhbmRzOiBFdmFsdWF0aW9uRm9ybUl0ZW1FbmFibGVtZW50Q29uZGl0aW9uT3BlcmFuZFtdXG4vKipcbiAqIFRoZSBsb2dpY2FsIG9wZXJhdG9yIHVzZWQgdG8gY29tYmluZSBtdWx0aXBsZSBvcGVyYW5kcywgZGV0ZXJtaW5pbmcgaG93IHRoZSBjb25kaXRpb24gaXMgZXZhbHVhdGVkIGFzIGEgd2hvbGUuXG4gKi9cbk9wZXJhdG9yPzogKFwiT1JcIiB8IFwiQU5EXCIpXG59XG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRDb25kaXRpb25PcGVyYW5kIHtcbkV4cHJlc3Npb24/OiBFdmFsdWF0aW9uRm9ybUl0ZW1FbmFibGVtZW50RXhwcmVzc2lvblxufVxuLyoqXG4gKiBBIGRpcmVjdCBjb21wYXJpc29uIGV4cHJlc3Npb24gdGhhdCBldmFsdWF0ZXMgYSBmb3JtIGl0ZW0ncyB2YWx1ZSBhZ2FpbnN0IHNwZWNpZmllZCBjcml0ZXJpYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybUl0ZW1FbmFibGVtZW50RXhwcmVzc2lvbiB7XG5Tb3VyY2U6IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRTb3VyY2Vcbi8qKlxuICogVGhlIGxpc3Qgb2YgcG9zc2libGUgdmFsdWVzIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgc291cmNlIGZvcm0gaXRlbSdzIHZhbHVlLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICovXG5WYWx1ZXM6IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRTb3VyY2VWYWx1ZVtdXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgY29tcGFyaXNvbiBtZXRob2QgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzb3VyY2UgdmFsdWUgbWF0Y2hlcyBhbnkgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZXMuXG4gKi9cbkNvbXBhcmF0b3I6IChcIklOXCIgfCBcIk5PVF9JTlwiKVxufVxuLyoqXG4gKiBJZGVudGlmaWVzIHRoZSBmb3JtIGl0ZW0gd2hvc2UgdmFsdWUgd2lsbCBiZSBldmFsdWF0ZWQgaW4gdGhlIGV4cHJlc3Npb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1JdGVtRW5hYmxlbWVudFNvdXJjZSB7XG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBzb3VyY2UgZW50aXR5LlxuICovXG5UeXBlOiBcIlFVRVNUSU9OX1JFRl9JRFwiXG5SZWZJZD86IFJlZklkXG59XG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRTb3VyY2VWYWx1ZSB7XG4vKipcbiAqIFR5cGUgb2YgdGhlIHNvdXJjZSBlbnRpdHkgdmFsdWUuXG4gKi9cblR5cGU/OiBcIk9QVElPTl9SRUZfSURcIlxuLyoqXG4gKiBUaGUgaWRlbnRpZmllciB0byByZWZlcmVuY2UgdGhlIGl0ZW0uXG4gKi9cblJlZklkPzogc3RyaW5nXG59XG4vKipcbiAqIEEgc2NvcmluZyBzdHJhdGVneSBvZiB0aGUgZXZhbHVhdGlvbiBmb3JtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjb3JpbmdTdHJhdGVneSB7XG4vKipcbiAqIFRoZSBzY29yaW5nIG1vZGUgb2YgdGhlIGV2YWx1YXRpb24gZm9ybS5cbiAqICAqQWxsb3dlZCB2YWx1ZXMqOiBgYFFVRVNUSU9OX09OTFlgYCB8IGBgU0VDVElPTl9PTkxZYGBcbiAqL1xuTW9kZTogKFwiUVVFU1RJT05fT05MWVwiIHwgXCJTRUNUSU9OX09OTFlcIilcbi8qKlxuICogVGhlIHNjb3Jpbmcgc3RhdHVzIG9mIHRoZSBldmFsdWF0aW9uIGZvcm0uXG4gKiAgKkFsbG93ZWQgdmFsdWVzKjogYGBFTkFCTEVEYGAgfCBgYERJU0FCTEVEYGBcbiAqL1xuU3RhdHVzOiAoXCJFTkFCTEVEXCIgfCBcIkRJU0FCTEVEXCIpXG59XG5leHBvcnQgaW50ZXJmYWNlIEF1dG9FdmFsdWF0aW9uQ29uZmlndXJhdGlvbiB7XG5FbmFibGVkPzogYm9vbGVhblxufVxuLyoqXG4gKiBBIGtleS12YWx1ZSBwYWlyIHRvIGFzc29jaWF0ZSB3aXRoIGEgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbi8qKlxuICogVGhlIGtleSBuYW1lIG9mIHRoZSB0YWcuIFlvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIHRoYXQgaXMgMSB0byAxMjggVW5pY29kZSBjaGFyYWN0ZXJzIGluIGxlbmd0aCBhbmQgY2Fubm90IGJlIHByZWZpeGVkIHdpdGggYXdzOi4gWW91IGNhbiB1c2UgYW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyczogdGhlIHNldCBvZiBVbmljb2RlIGxldHRlcnMsIGRpZ2l0cywgd2hpdGVzcGFjZSwgXywgLiwgLywgPSwgKywgYW5kIC1cbiAqL1xuS2V5OiBzdHJpbmdcbi8qKlxuICogVGhlIHZhbHVlIGZvciB0aGUgdGFnLiBZb3UgY2FuIHNwZWNpZnkgYSB2YWx1ZSB0aGF0IGlzIDAgdG8gMjU2IFVuaWNvZGUgY2hhcmFjdGVycyBpbiBsZW5ndGggYW5kIGNhbm5vdCBiZSBwcmVmaXhlZCB3aXRoIGF3czouIFlvdSBjYW4gdXNlIGFueSBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6IHRoZSBzZXQgb2YgVW5pY29kZSBsZXR0ZXJzLCBkaWdpdHMsIHdoaXRlc3BhY2UsIF8sIC4sIC8sID0sICssIGFuZCAtXG4gKi9cblZhbHVlOiBzdHJpbmdcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWNvbm5lY3QtZXZhbHVhdGlvbmZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtY29ubmVjdC1ldmFsdWF0aW9uZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgaWRlbnRpZmllciB0byByZWZlcmVuY2UgdGhlIGl0ZW0uXG4gKi9cbmV4cG9ydCB0eXBlIFJlZklkID0gc3RyaW5nXG5cbi8qKlxuICogQ3JlYXRlcyBhbiBldmFsdWF0aW9uIGZvcm0gZm9yIHRoZSBzcGVjaWZpZWQgQ09OIGluc3RhbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfQ09OTkVDVF9FVkFMVUFUSU9ORk9STSB7XG5TY29yaW5nU3RyYXRlZ3k/OiBTY29yaW5nU3RyYXRlZ3lcbi8qKlxuICogVGhlIHN0YXR1cyBvZiB0aGUgZXZhbHVhdGlvbiBmb3JtLlxuICogICpBbGxvd2VkIHZhbHVlcyo6IGBgRFJBRlRgYCB8IGBgQUNUSVZFYGBcbiAqL1xuU3RhdHVzOiAoXCJEUkFGVFwiIHwgXCJBQ1RJVkVcIilcbkF1dG9FdmFsdWF0aW9uQ29uZmlndXJhdGlvbj86IEF1dG9FdmFsdWF0aW9uQ29uZmlndXJhdGlvblxuLyoqXG4gKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGV2YWx1YXRpb24gZm9ybS5cbiAqICAqTGVuZ3RoIENvbnN0cmFpbnRzKjogTWluaW11bSBsZW5ndGggb2YgMC4gTWF4aW11bSBsZW5ndGggb2YgMTAyNC5cbiAqL1xuRGVzY3JpcHRpb24/OiBzdHJpbmdcbi8qKlxuICogVGhlIGlkZW50aWZpZXIgb2YgdGhlIEFtYXpvbiBDb25uZWN0IGluc3RhbmNlLlxuICovXG5JbnN0YW5jZUFybjogc3RyaW5nXG4vKipcbiAqIEEgdGl0bGUgb2YgdGhlIGV2YWx1YXRpb24gZm9ybS5cbiAqL1xuVGl0bGU6IHN0cmluZ1xuLyoqXG4gKiBJdGVtcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBldmFsdWF0aW9uIGZvcm0uIFRoZSB0b3RhbCBudW1iZXIgb2Ygc2VjdGlvbnMgYW5kIHF1ZXN0aW9ucyBtdXN0IG5vdCBleGNlZWQgMTAwIGVhY2guIFF1ZXN0aW9ucyBtdXN0IGJlIGNvbnRhaW5lZCBpbiBhIHNlY3Rpb24uXG4gKiAgKk1pbmltdW0gc2l6ZSo6IDFcbiAqICAqTWF4aW11bSBzaXplKjogMTAwXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMjAwXG4gKi9cbkl0ZW1zOiBFdmFsdWF0aW9uRm9ybUJhc2VJdGVtW11cbkV2YWx1YXRpb25Gb3JtQXJuPzogc3RyaW5nXG4vKipcbiAqIFRoZSB0YWdzIHVzZWQgdG8gb3JnYW5pemUsIHRyYWNrLCBvciBjb250cm9sIGFjY2VzcyBmb3IgdGhpcyByZXNvdXJjZS4gRm9yIGV4YW1wbGUsIHsgXCJ0YWdzXCI6IHtcImtleTFcIjpcInZhbHVlMVwiLCBcImtleTJcIjpcInZhbHVlMlwifSB9LlxuICogXG4gKiBAbWF4SXRlbXMgNTBcbiAqL1xuVGFncz86IFRhZ1tdXG59XG4vKipcbiAqIEEgc2NvcmluZyBzdHJhdGVneSBvZiB0aGUgZXZhbHVhdGlvbiBmb3JtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjb3JpbmdTdHJhdGVneSB7XG4vKipcbiAqIFRoZSBzY29yaW5nIHN0YXR1cyBvZiB0aGUgZXZhbHVhdGlvbiBmb3JtLlxuICogICpBbGxvd2VkIHZhbHVlcyo6IGBgRU5BQkxFRGBgIHwgYGBESVNBQkxFRGBgXG4gKi9cblN0YXR1czogKFwiRU5BQkxFRFwiIHwgXCJESVNBQkxFRFwiKVxuLyoqXG4gKiBUaGUgc2NvcmluZyBtb2RlIG9mIHRoZSBldmFsdWF0aW9uIGZvcm0uXG4gKiAgKkFsbG93ZWQgdmFsdWVzKjogYGBRVUVTVElPTl9PTkxZYGAgfCBgYFNFQ1RJT05fT05MWWBgXG4gKi9cbk1vZGU6IChcIlFVRVNUSU9OX09OTFlcIiB8IFwiU0VDVElPTl9PTkxZXCIpXG59XG5leHBvcnQgaW50ZXJmYWNlIEF1dG9FdmFsdWF0aW9uQ29uZmlndXJhdGlvbiB7XG5FbmFibGVkPzogYm9vbGVhblxufVxuLyoqXG4gKiBBbiBpdGVtIGF0IHRoZSByb290IGxldmVsLiBBbGwgaXRlbXMgbXVzdCBiZSBzZWN0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybUJhc2VJdGVtIHtcblNlY3Rpb246IEV2YWx1YXRpb25Gb3JtU2VjdGlvblxufVxuLyoqXG4gKiBBIHN1YnNlY3Rpb24gb3IgaW5uZXIgc2VjdGlvbiBvZiBhbiBpdGVtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtU2VjdGlvbiB7XG4vKipcbiAqIFRoZSB0aXRsZSBvZiB0aGUgc2VjdGlvbi5cbiAqICAqTGVuZ3RoIENvbnN0cmFpbnRzKjogTWluaW11bSBsZW5ndGggb2YgMS4gTWF4aW11bSBsZW5ndGggb2YgMTI4LlxuICovXG5UaXRsZTogc3RyaW5nXG4vKipcbiAqIFRoZSBpbnN0cnVjdGlvbnMgb2YgdGhlIHNlY3Rpb24uXG4gKi9cbkluc3RydWN0aW9ucz86IHN0cmluZ1xuLyoqXG4gKiBUaGUgaXRlbXMgb2YgdGhlIHNlY3Rpb24uXG4gKiAgKk1pbmltdW0qOiAxXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMjAwXG4gKi9cbkl0ZW1zPzogRXZhbHVhdGlvbkZvcm1JdGVtW11cbi8qKlxuICogVGhlIGlkZW50aWZpZXIgdG8gcmVmZXJlbmNlIHRoZSBpdGVtLlxuICovXG5SZWZJZDogc3RyaW5nXG4vKipcbiAqIFRoZSBzY29yaW5nIHdlaWdodCBvZiB0aGUgc2VjdGlvbi5cbiAqICAqTWluaW11bSo6IDAgXG4gKiAgKk1heGltdW0qOiAxMDBcbiAqL1xuV2VpZ2h0PzogbnVtYmVyXG59XG4vKipcbiAqIEl0ZW1zIHRoYXQgYXJlIHBhcnQgb2YgdGhlIGV2YWx1YXRpb24gZm9ybS4gVGhlIHRvdGFsIG51bWJlciBvZiBzZWN0aW9ucyBhbmQgcXVlc3Rpb25zIG11c3Qgbm90IGV4Y2VlZCAxMDAgZWFjaC4gUXVlc3Rpb25zIG11c3QgYmUgY29udGFpbmVkIGluIGEgc2VjdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybUl0ZW0ge1xuUXVlc3Rpb24/OiBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uXG5TZWN0aW9uPzogRXZhbHVhdGlvbkZvcm1TZWN0aW9uMVxufVxuLyoqXG4gKiBUaGUgaW5mb3JtYXRpb24gb2YgdGhlIHF1ZXN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtUXVlc3Rpb24ge1xuLyoqXG4gKiBUaGUgZmxhZyB0byBlbmFibGUgbm90IGFwcGxpY2FibGUgYW5zd2VycyB0byB0aGUgcXVlc3Rpb24uXG4gKi9cbk5vdEFwcGxpY2FibGVFbmFibGVkPzogYm9vbGVhblxuRW5hYmxlbWVudD86IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRDb25maWd1cmF0aW9uXG4vKipcbiAqIFRoZSB0aXRsZSBvZiB0aGUgcXVlc3Rpb24uXG4gKiAgKkxlbmd0aCBDb25zdHJhaW50cyo6IE1pbmltdW0gbGVuZ3RoIG9mIDEuIE1heGltdW0gbGVuZ3RoIG9mIDM1MC5cbiAqL1xuVGl0bGU6IHN0cmluZ1xuLyoqXG4gKiBUaGUgdHlwZSBvZiB0aGUgcXVlc3Rpb24uXG4gKiAgKkFsbG93ZWQgdmFsdWVzKjogYGBOVU1FUklDYGAgfCBgYFNJTkdMRVNFTEVDVGBgIHwgYGBURVhUYGBcbiAqL1xuUXVlc3Rpb25UeXBlOiAoXCJOVU1FUklDXCIgfCBcIlNJTkdMRVNFTEVDVFwiIHwgXCJURVhUXCIgfCBcIk1VTFRJU0VMRUNUXCIgfCBcIkRBVEVUSU1FXCIpXG4vKipcbiAqIFRoZSBpbnN0cnVjdGlvbnMgb2YgdGhlIHNlY3Rpb24uXG4gKiAgKkxlbmd0aCBDb25zdHJhaW50cyo6IE1pbmltdW0gbGVuZ3RoIG9mIDAuIE1heGltdW0gbGVuZ3RoIG9mIDEwMjQuXG4gKi9cbkluc3RydWN0aW9ucz86IHN0cmluZ1xuLyoqXG4gKiBUaGUgaWRlbnRpZmllciB0byByZWZlcmVuY2UgdGhlIGl0ZW0uXG4gKi9cblJlZklkOiBzdHJpbmdcblF1ZXN0aW9uVHlwZVByb3BlcnRpZXM/OiBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uVHlwZVByb3BlcnRpZXNcbi8qKlxuICogVGhlIHNjb3Jpbmcgd2VpZ2h0IG9mIHRoZSBzZWN0aW9uLlxuICogICpNaW5pbXVtKjogMFxuICogICpNYXhpbXVtKjogMTAwXG4gKi9cbldlaWdodD86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybUl0ZW1FbmFibGVtZW50Q29uZmlndXJhdGlvbiB7XG5Db25kaXRpb246IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRDb25kaXRpb25cbi8qKlxuICogRGVmaW5lcyB0aGUgZW5hYmxlbWVudCBzdGF0dXMgdG8gYmUgYXBwbGllZCB3aGVuIHRoZSBzcGVjaWZpZWQgY29uZGl0aW9uIGlzIG1ldC5cbiAqL1xuQWN0aW9uOiAoXCJESVNBQkxFXCIgfCBcIkVOQUJMRVwiKVxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIGRlZmF1bHQgZW5hYmxlbWVudCBzdGF0dXMgdG8gYmUgYXBwbGllZCB3aGVuIHRoZSBjb25kaXRpb24gaXMgbm90IHNhdGlzZmllZC5cbiAqL1xuRGVmYXVsdEFjdGlvbj86IChcIkRJU0FCTEVcIiB8IFwiRU5BQkxFXCIpXG59XG4vKipcbiAqIFNwZWNpZmllcyB0aGUgbG9naWNhbCBjb25kaXRpb24gdGhhdCBkZXRlcm1pbmVzIHdoZW4gdG8gYXBwbHkgdGhlIGVuYWJsZW1lbnQgcnVsZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1JdGVtRW5hYmxlbWVudENvbmRpdGlvbiB7XG4vKipcbiAqIFRoZSBsb2dpY2FsIG9wZXJhdG9yIHVzZWQgdG8gY29tYmluZSBtdWx0aXBsZSBvcGVyYW5kcywgZGV0ZXJtaW5pbmcgaG93IHRoZSBjb25kaXRpb24gaXMgZXZhbHVhdGVkIGFzIGEgd2hvbGUuXG4gKi9cbk9wZXJhdG9yPzogKFwiT1JcIiB8IFwiQU5EXCIpXG4vKipcbiAqIFRoZSBsaXN0IG9mIG9wZXJhbmRzIHRoYXQgY29tcG9zZSB0aGUgY29uZGl0aW9uLiBFYWNoIG9wZXJhbmQgcmVwcmVzZW50cyBhIHNwZWNpZmljIGNyaXRlcmlhIHRvIGJlIGV2YWx1YXRlZC5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqL1xuT3BlcmFuZHM6IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRDb25kaXRpb25PcGVyYW5kW11cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1JdGVtRW5hYmxlbWVudENvbmRpdGlvbk9wZXJhbmQge1xuRXhwcmVzc2lvbj86IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRFeHByZXNzaW9uXG59XG4vKipcbiAqIEEgZGlyZWN0IGNvbXBhcmlzb24gZXhwcmVzc2lvbiB0aGF0IGV2YWx1YXRlcyBhIGZvcm0gaXRlbSdzIHZhbHVlIGFnYWluc3Qgc3BlY2lmaWVkIGNyaXRlcmlhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRFeHByZXNzaW9uIHtcbi8qKlxuICogVGhlIGxpc3Qgb2YgcG9zc2libGUgdmFsdWVzIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgc291cmNlIGZvcm0gaXRlbSdzIHZhbHVlLlxuICogXG4gKiBAbWluSXRlbXMgMVxuICovXG5WYWx1ZXM6IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRTb3VyY2VWYWx1ZVtdXG5Tb3VyY2U6IEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRTb3VyY2Vcbi8qKlxuICogU3BlY2lmaWVzIHRoZSBjb21wYXJpc29uIG1ldGhvZCB0byBkZXRlcm1pbmUgaWYgdGhlIHNvdXJjZSB2YWx1ZSBtYXRjaGVzIGFueSBvZiB0aGUgc3BlY2lmaWVkIHZhbHVlcy5cbiAqL1xuQ29tcGFyYXRvcjogKFwiSU5cIiB8IFwiTk9UX0lOXCIgfCBcIkFMTF9JTlwiIHwgXCJFWEFDVFwiKVxufVxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybUl0ZW1FbmFibGVtZW50U291cmNlVmFsdWUge1xuLyoqXG4gKiBUeXBlIG9mIHRoZSBzb3VyY2UgZW50aXR5IHZhbHVlLlxuICovXG5UeXBlPzogXCJPUFRJT05fUkVGX0lEXCJcbi8qKlxuICogVGhlIHJlZmVyZW5jZSBpZCBvZiB0aGUgc291cmNlIGVudGl0eSB2YWx1ZS5cbiAqL1xuUmVmSWQ/OiBzdHJpbmdcbn1cbi8qKlxuICogSWRlbnRpZmllcyB0aGUgZm9ybSBpdGVtIHdob3NlIHZhbHVlIHdpbGwgYmUgZXZhbHVhdGVkIGluIHRoZSBleHByZXNzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtSXRlbUVuYWJsZW1lbnRTb3VyY2Uge1xuLyoqXG4gKiBUaGUgdHlwZSBvZiB0aGUgc291cmNlIGVudGl0eS5cbiAqL1xuVHlwZTogXCJRVUVTVElPTl9SRUZfSURcIlxuUmVmSWQ/OiBSZWZJZFxufVxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBvZiB0aGUgdHlwZSBvZiBxdWVzdGlvbi4gVGV4dCBxdWVzdGlvbnMgZG8gbm90IGhhdmUgdG8gZGVmaW5lIHF1ZXN0aW9uIHR5cGUgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uVHlwZVByb3BlcnRpZXMge1xuTnVtZXJpYz86IEV2YWx1YXRpb25Gb3JtTnVtZXJpY1F1ZXN0aW9uUHJvcGVydGllc1xuU2luZ2xlU2VsZWN0PzogRXZhbHVhdGlvbkZvcm1TaW5nbGVTZWxlY3RRdWVzdGlvblByb3BlcnRpZXNcblRleHQ/OiBFdmFsdWF0aW9uRm9ybVRleHRRdWVzdGlvblByb3BlcnRpZXNcbn1cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgb2YgdGhlIG51bWVyaWMgcXVlc3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1OdW1lcmljUXVlc3Rpb25Qcm9wZXJ0aWVzIHtcbi8qKlxuICogVGhlIHNjb3Jpbmcgb3B0aW9ucyBvZiB0aGUgbnVtZXJpYyBxdWVzdGlvbi5cbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAxMFxuICovXG5PcHRpb25zPzogRXZhbHVhdGlvbkZvcm1OdW1lcmljUXVlc3Rpb25PcHRpb25bXVxuQXV0b21hdGlvbj86IEV2YWx1YXRpb25Gb3JtTnVtZXJpY1F1ZXN0aW9uQXV0b21hdGlvblxuLyoqXG4gKiBUaGUgbWluaW11bSBhbnN3ZXIgdmFsdWUuXG4gKi9cbk1pblZhbHVlOiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gYW5zd2VyIHZhbHVlLlxuICovXG5NYXhWYWx1ZTogbnVtYmVyXG59XG4vKipcbiAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSBvcHRpb24gcmFuZ2UgdXNlZCBmb3Igc2NvcmluZyBpbiBudW1lcmljIHF1ZXN0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybU51bWVyaWNRdWVzdGlvbk9wdGlvbiB7XG4vKipcbiAqIFRoZSBzY29yZSBhc3NpZ25lZCB0byBhbnN3ZXIgdmFsdWVzIHdpdGhpbiB0aGUgcmFuZ2Ugb3B0aW9uLlxuICogICpNaW5pbXVtKjogMFxuICogICpNYXhpbXVtKjogMTBcbiAqL1xuU2NvcmU/OiBudW1iZXJcbkF1dG9tYXRpY0ZhaWxDb25maWd1cmF0aW9uPzogQXV0b21hdGljRmFpbENvbmZpZ3VyYXRpb25cbi8qKlxuICogVGhlIG1pbmltdW0gYW5zd2VyIHZhbHVlIG9mIHRoZSByYW5nZSBvcHRpb24uXG4gKi9cbk1pblZhbHVlOiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gYW5zd2VyIHZhbHVlIG9mIHRoZSByYW5nZSBvcHRpb24uXG4gKi9cbk1heFZhbHVlOiBudW1iZXJcbi8qKlxuICogVGhlIGZsYWcgdG8gbWFyayB0aGUgb3B0aW9uIGFzIGF1dG9tYXRpYyBmYWlsLiBJZiBhbiBhdXRvbWF0aWMgZmFpbCBhbnN3ZXIgaXMgcHJvdmlkZWQsIHRoZSBvdmVyYWxsIGV2YWx1YXRpb24gZ2V0cyBhIHNjb3JlIG9mIDAuXG4gKi9cbkF1dG9tYXRpY0ZhaWw/OiBib29sZWFuXG59XG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tYXRpY0ZhaWxDb25maWd1cmF0aW9uIHtcbi8qKlxuICogVGhlIHRhcmdldCBzZWN0aW9uIHJlZklkIHRvIGNvbnRyb2wgZmFpbHVyZSBwcm9wYWdhdGlvbiBib3VuZGFyeS5cbiAqL1xuVGFyZ2V0U2VjdGlvbj86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgYXV0b21hdGlvbiBwcm9wZXJ0aWVzIG9mIHRoZSBudW1lcmljIHF1ZXN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtTnVtZXJpY1F1ZXN0aW9uQXV0b21hdGlvbiB7XG5BbnN3ZXJTb3VyY2U/OiBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uQXV0b21hdGlvbkFuc3dlclNvdXJjZVxuUHJvcGVydHlWYWx1ZT86IE51bWVyaWNRdWVzdGlvblByb3BlcnR5VmFsdWVBdXRvbWF0aW9uXG59XG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtUXVlc3Rpb25BdXRvbWF0aW9uQW5zd2VyU291cmNlIHtcbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGFuc3dlciBzb3VyY2VcbiAqL1xuU291cmNlVHlwZTogKFwiQ09OVEFDVF9MRU5TX0RBVEFcIiB8IFwiR0VOX0FJXCIpXG59XG4vKipcbiAqIFRoZSBwcm9wZXJ0eSB2YWx1ZSBvZiB0aGUgYXV0b21hdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOdW1lcmljUXVlc3Rpb25Qcm9wZXJ0eVZhbHVlQXV0b21hdGlvbiB7XG4vKipcbiAqIFRoZSBwcm9wZXJ0eSBsYWJlbCBvZiB0aGUgYXV0b21hdGlvbi5cbiAqL1xuTGFiZWw6IChcIk9WRVJBTExfQ1VTVE9NRVJfU0VOVElNRU5UX1NDT1JFXCIgfCBcIk9WRVJBTExfQUdFTlRfU0VOVElNRU5UX1NDT1JFXCIgfCBcIk5PTl9UQUxLX1RJTUVcIiB8IFwiTk9OX1RBTEtfVElNRV9QRVJDRU5UQUdFXCIgfCBcIk5VTUJFUl9PRl9JTlRFUlJVUFRJT05TXCIgfCBcIkNPTlRBQ1RfRFVSQVRJT05cIiB8IFwiQUdFTlRfSU5URVJBQ1RJT05fRFVSQVRJT05cIiB8IFwiQ1VTVE9NRVJfSE9MRF9USU1FXCIgfCBcIkxPTkdFU1RfSE9MRF9EVVJBVElPTlwiIHwgXCJOVU1CRVJfT0ZfSE9MRFNcIiB8IFwiQUdFTlRfSU5URVJBQ1RJT05fQU5EX0hPTERfRFVSQVRJT05cIiB8IFwiQ1VTVE9NRVJfU0VOVElNRU5UX1NDT1JFX1dJVEhPVVRfQUdFTlRcIilcbn1cbi8qKlxuICogVGhlIHByb3BlcnRpZXMgb2YgdGhlIG51bWVyaWMgcXVlc3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1TaW5nbGVTZWxlY3RRdWVzdGlvblByb3BlcnRpZXMge1xuLyoqXG4gKiBUaGUgZGlzcGxheSBtb2RlIG9mIHRoZSBzaW5nbGUgc2VsZWN0IHF1ZXN0aW9uLlxuICogICpBbGxvd2VkIHZhbHVlcyo6IGBgRFJPUERPV05gYCB8IGBgUkFESU9gYFxuICovXG5EaXNwbGF5QXM/OiAoXCJEUk9QRE9XTlwiIHwgXCJSQURJT1wiKVxuLyoqXG4gKiBUaGUgYW5zd2VyIG9wdGlvbnMgb2YgdGhlIHNpbmdsZSBzZWxlY3QgcXVlc3Rpb24uXG4gKiAgKk1pbmltdW0qOiAyXG4gKiAgKk1heGltdW0qOiAyNTZcbiAqIFxuICogQG1pbkl0ZW1zIDJcbiAqIEBtYXhJdGVtcyAyNTZcbiAqL1xuT3B0aW9uczogRXZhbHVhdGlvbkZvcm1TaW5nbGVTZWxlY3RRdWVzdGlvbk9wdGlvbltdXG5BdXRvbWF0aW9uPzogRXZhbHVhdGlvbkZvcm1TaW5nbGVTZWxlY3RRdWVzdGlvbkF1dG9tYXRpb25cbn1cbi8qKlxuICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIGF1dG9tYXRpb24gY29uZmlndXJhdGlvbiBpbiBzaW5nbGUgc2VsZWN0IHF1ZXN0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVNpbmdsZVNlbGVjdFF1ZXN0aW9uT3B0aW9uIHtcbi8qKlxuICogVGhlIHNjb3JlIGFzc2lnbmVkIHRvIHRoZSBhbnN3ZXIgb3B0aW9uLlxuICogICpNaW5pbXVtKjogMFxuICogICpNYXhpbXVtKjogMTBcbiAqL1xuU2NvcmU/OiBudW1iZXJcbkF1dG9tYXRpY0ZhaWxDb25maWd1cmF0aW9uPzogQXV0b21hdGljRmFpbENvbmZpZ3VyYXRpb24xXG4vKipcbiAqIFRoZSB0aXRsZSBvZiB0aGUgYW5zd2VyIG9wdGlvbi5cbiAqICAqTGVuZ3RoIENvbnN0cmFpbnRzKjogTWluaW11bSBsZW5ndGggb2YgMS4gTWF4aW11bSBsZW5ndGggb2YgMTI4LlxuICovXG5UZXh0OiBzdHJpbmdcbi8qKlxuICogVGhlIGlkZW50aWZpZXIgdG8gcmVmZXJlbmNlIHRoZSBpdGVtLlxuICovXG5SZWZJZDogc3RyaW5nXG4vKipcbiAqIFRoZSBmbGFnIHRvIG1hcmsgdGhlIG9wdGlvbiBhcyBhdXRvbWF0aWMgZmFpbC4gSWYgYW4gYXV0b21hdGljIGZhaWwgYW5zd2VyIGlzIHByb3ZpZGVkLCB0aGUgb3ZlcmFsbCBldmFsdWF0aW9uIGdldHMgYSBzY29yZSBvZiAwLlxuICovXG5BdXRvbWF0aWNGYWlsPzogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBBdXRvbWF0aWNGYWlsQ29uZmlndXJhdGlvbjEge1xuLyoqXG4gKiBUaGUgdGFyZ2V0IHNlY3Rpb24gcmVmSWQgdG8gY29udHJvbCBmYWlsdXJlIHByb3BhZ2F0aW9uIGJvdW5kYXJ5LlxuICovXG5UYXJnZXRTZWN0aW9uPzogc3RyaW5nXG59XG4vKipcbiAqIFRoZSBkaXNwbGF5IG1vZGUgb2YgdGhlIHNpbmdsZSBzZWxlY3QgcXVlc3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1TaW5nbGVTZWxlY3RRdWVzdGlvbkF1dG9tYXRpb24ge1xuLyoqXG4gKiBUaGUgYXV0b21hdGlvbiBvcHRpb25zIG9mIHRoZSBzaW5nbGUgc2VsZWN0IHF1ZXN0aW9uLlxuICogICpNaW5pbXVtKjogMVxuICogICpNYXhpbXVtKjogMjBcbiAqIFxuICogQG1pbkl0ZW1zIDFcbiAqIEBtYXhJdGVtcyAyMFxuICovXG5PcHRpb25zOiBFdmFsdWF0aW9uRm9ybVNpbmdsZVNlbGVjdFF1ZXN0aW9uQXV0b21hdGlvbk9wdGlvbltdXG5BbnN3ZXJTb3VyY2U/OiBFdmFsdWF0aW9uRm9ybVF1ZXN0aW9uQXV0b21hdGlvbkFuc3dlclNvdXJjZTFcbi8qKlxuICogVGhlIGlkZW50aWZpZXIgdG8gcmVmZXJlbmNlIHRoZSBpdGVtLlxuICovXG5EZWZhdWx0T3B0aW9uUmVmSWQ/OiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIGF1dG9tYXRpb24gb3B0aW9ucyBvZiB0aGUgc2luZ2xlIHNlbGVjdCBxdWVzdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVNpbmdsZVNlbGVjdFF1ZXN0aW9uQXV0b21hdGlvbk9wdGlvbiB7XG5SdWxlQ2F0ZWdvcnk6IFNpbmdsZVNlbGVjdFF1ZXN0aW9uUnVsZUNhdGVnb3J5QXV0b21hdGlvblxufVxuLyoqXG4gKiBUaGUgYXV0b21hdGlvbiBvcHRpb24gYmFzZWQgb24gYSBydWxlIGNhdGVnb3J5IGZvciB0aGUgc2luZ2xlIHNlbGVjdCBxdWVzdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVTZWxlY3RRdWVzdGlvblJ1bGVDYXRlZ29yeUF1dG9tYXRpb24ge1xuLyoqXG4gKiBUaGUgY29uZGl0aW9uIHRvIGFwcGx5IGZvciB0aGUgYXV0b21hdGlvbiBvcHRpb24uIElmIHRoZSBjb25kaXRpb24gaXMgUFJFU0VOVCwgdGhlbiB0aGUgb3B0aW9uIGlzIGFwcGxpZWQgd2hlbiB0aGUgY29udGFjdCBkYXRhIGluY2x1ZGVzIHRoZSBjYXRlZ29yeS4gU2ltaWxhcmx5LCBpZiB0aGUgY29uZGl0aW9uIGlzIE5PVF9QUkVTRU5ULCB0aGVuIHRoZSBvcHRpb24gaXMgYXBwbGllZCB3aGVuIHRoZSBjb250YWN0IGRhdGEgZG9lcyBub3QgaW5jbHVkZSB0aGUgY2F0ZWdvcnkuXG4gKiAgKkFsbG93ZWQgdmFsdWVzKjogYGBQUkVTRU5UYGAgfCBgYE5PVF9QUkVTRU5UYGBcbiAqICAqTWF4aW11bSo6IDUwXG4gKi9cbkNvbmRpdGlvbjogKFwiUFJFU0VOVFwiIHwgXCJOT1RfUFJFU0VOVFwiKVxuLyoqXG4gKiBUaGUgY2F0ZWdvcnkgbmFtZSwgYXMgZGVmaW5lZCBpbiBSdWxlcy5cbiAqICAqTWluaW11bSo6IDFcbiAqICAqTWF4aW11bSo6IDUwXG4gKi9cbkNhdGVnb3J5OiBzdHJpbmdcbi8qKlxuICogVGhlIGlkZW50aWZpZXIgdG8gcmVmZXJlbmNlIHRoZSBpdGVtLlxuICovXG5PcHRpb25SZWZJZDogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtUXVlc3Rpb25BdXRvbWF0aW9uQW5zd2VyU291cmNlMSB7XG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBhbnN3ZXIgc291cmNlXG4gKi9cblNvdXJjZVR5cGU6IChcIkNPTlRBQ1RfTEVOU19EQVRBXCIgfCBcIkdFTl9BSVwiKVxufVxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVRleHRRdWVzdGlvblByb3BlcnRpZXMge1xuQXV0b21hdGlvbj86IEV2YWx1YXRpb25Gb3JtVGV4dFF1ZXN0aW9uQXV0b21hdGlvblxufVxuLyoqXG4gKiBTcGVjaWZpZXMgaG93IHRoZSBxdWVzdGlvbiBjYW4gYmUgYXV0b21hdGljYWxseSBhbnN3ZXJlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0aW9uRm9ybVRleHRRdWVzdGlvbkF1dG9tYXRpb24ge1xuQW5zd2VyU291cmNlPzogRXZhbHVhdGlvbkZvcm1RdWVzdGlvbkF1dG9tYXRpb25BbnN3ZXJTb3VyY2UyXG59XG4vKipcbiAqIFRoZSBzb3VyY2Ugb2YgYXV0b21hdGlvbiBhbnN3ZXIgb2YgdGhlIHF1ZXN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRpb25Gb3JtUXVlc3Rpb25BdXRvbWF0aW9uQW5zd2VyU291cmNlMiB7XG4vKipcbiAqIFRoZSB0eXBlIG9mIHRoZSBhbnN3ZXIgc291cmNlXG4gKi9cblNvdXJjZVR5cGU6IChcIkNPTlRBQ1RfTEVOU19EQVRBXCIgfCBcIkdFTl9BSVwiKVxufVxuLyoqXG4gKiBUaGUgaW5mb3JtYXRpb24gb2YgdGhlIHNlY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdGlvbkZvcm1TZWN0aW9uMSB7XG4vKipcbiAqIFRoZSB0aXRsZSBvZiB0aGUgc2VjdGlvbi5cbiAqICAqTGVuZ3RoIENvbnN0cmFpbnRzKjogTWluaW11bSBsZW5ndGggb2YgMS4gTWF4aW11bSBsZW5ndGggb2YgMTI4LlxuICovXG5UaXRsZTogc3RyaW5nXG4vKipcbiAqIFRoZSBpbnN0cnVjdGlvbnMgb2YgdGhlIHNlY3Rpb24uXG4gKi9cbkluc3RydWN0aW9ucz86IHN0cmluZ1xuLyoqXG4gKiBUaGUgaXRlbXMgb2YgdGhlIHNlY3Rpb24uXG4gKiAgKk1pbmltdW0qOiAxXG4gKiBcbiAqIEBtaW5JdGVtcyAxXG4gKiBAbWF4SXRlbXMgMjAwXG4gKi9cbkl0ZW1zPzogRXZhbHVhdGlvbkZvcm1JdGVtW11cbi8qKlxuICogVGhlIGlkZW50aWZpZXIgdG8gcmVmZXJlbmNlIHRoZSBpdGVtLlxuICovXG5SZWZJZDogc3RyaW5nXG4vKipcbiAqIFRoZSBzY29yaW5nIHdlaWdodCBvZiB0aGUgc2VjdGlvbi5cbiAqICAqTWluaW11bSo6IDAgXG4gKiAgKk1heGltdW0qOiAxMDBcbiAqL1xuV2VpZ2h0PzogbnVtYmVyXG59XG4vKipcbiAqIEEga2V5LXZhbHVlIHBhaXIgdG8gYXNzb2NpYXRlIHdpdGggYSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWcge1xuLyoqXG4gKiBUaGUgdmFsdWUgZm9yIHRoZSB0YWcuIFlvdSBjYW4gc3BlY2lmeSBhIHZhbHVlIHRoYXQgaXMgMCB0byAyNTYgVW5pY29kZSBjaGFyYWN0ZXJzIGluIGxlbmd0aCBhbmQgY2Fubm90IGJlIHByZWZpeGVkIHdpdGggYXdzOi4gWW91IGNhbiB1c2UgYW55IG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyczogdGhlIHNldCBvZiBVbmljb2RlIGxldHRlcnMsIGRpZ2l0cywgd2hpdGVzcGFjZSwgXywgLiwgLywgPSwgKywgYW5kIC1cbiAqL1xuVmFsdWU6IHN0cmluZ1xuLyoqXG4gKiBUaGUga2V5IG5hbWUgb2YgdGhlIHRhZy4gWW91IGNhbiBzcGVjaWZ5IGEgdmFsdWUgdGhhdCBpcyAxIHRvIDEyOCBVbmljb2RlIGNoYXJhY3RlcnMgaW4gbGVuZ3RoIGFuZCBjYW5ub3QgYmUgcHJlZml4ZWQgd2l0aCBhd3M6LiBZb3UgY2FuIHVzZSBhbnkgb2YgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzOiB0aGUgc2V0IG9mIFVuaWNvZGUgbGV0dGVycywgZGlnaXRzLCB3aGl0ZXNwYWNlLCBfLCAuLCAvLCA9LCArLCBhbmQgLVxuICovXG5LZXk6IHN0cmluZ1xufVxuIl19