@aws-cdk/aws-neptune-alpha 2.219.0-alpha.0 → 2.221.0-alpha.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/lib/instance.js CHANGED
@@ -1,11 +1,38 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
7
35
  };
8
- var _a, _b, _c;
9
36
  Object.defineProperty(exports, "__esModule", { value: true });
10
37
  exports.DatabaseInstance = exports.DatabaseInstanceBase = exports.InstanceType = void 0;
11
38
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
@@ -22,12 +49,233 @@ const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
22
49
  * used for defining `DatabaseInstanceProps.instanceType`.
23
50
  */
24
51
  class InstanceType {
52
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-neptune-alpha.InstanceType", version: "2.221.0-alpha.0" };
53
+ /**
54
+ * db.x2g.large
55
+ */
56
+ static X2G_LARGE = InstanceType.of('db.x2g.large');
57
+ /**
58
+ * db.x2g.xlarge
59
+ */
60
+ static X2G_XLARGE = InstanceType.of('db.x2g.xlarge');
61
+ /**
62
+ * db.x2g.2xlarge
63
+ */
64
+ static X2G_2XLARGE = InstanceType.of('db.x2g.2xlarge');
65
+ /**
66
+ * db.x2g.4xlarge
67
+ */
68
+ static X2G_4XLARGE = InstanceType.of('db.x2g.4xlarge');
69
+ /**
70
+ * db.x2g.8xlarge
71
+ */
72
+ static X2G_8XLARGE = InstanceType.of('db.x2g.8xlarge');
73
+ /**
74
+ * db.x2g.12xlarge
75
+ */
76
+ static X2G_12XLARGE = InstanceType.of('db.x2g.12xlarge');
77
+ /**
78
+ * db.x2g.16xlarge
79
+ */
80
+ static X2G_16XLARGE = InstanceType.of('db.x2g.16xlarge');
81
+ /**
82
+ * db.x2iedn.xlarge
83
+ */
84
+ static X2IEDN_XLARGE = InstanceType.of('db.x2iedn.xlarge');
85
+ /**
86
+ * db.x2iedn.2xlarge
87
+ */
88
+ static X2IEDN_2XLARGE = InstanceType.of('db.x2iedn.2xlarge');
89
+ /**
90
+ * db.x2iedn.4xlarge
91
+ */
92
+ static X2IEDN_4XLARGE = InstanceType.of('db.x2iedn.4xlarge');
93
+ /**
94
+ * db.x2iedn.8xlarge
95
+ */
96
+ static X2IEDN_8XLARGE = InstanceType.of('db.x2iedn.8xlarge');
97
+ /**
98
+ * db.x2iedn.16xlarge
99
+ */
100
+ static X2IEDN_16XLARGE = InstanceType.of('db.x2iedn.16xlarge');
101
+ /**
102
+ * db.x2iedn.24xlarge
103
+ */
104
+ static X2IEDN_24XLARGE = InstanceType.of('db.x2iedn.24xlarge');
105
+ /**
106
+ * db.x2iedn.32xlarge
107
+ */
108
+ static X2IEDN_32XLARGE = InstanceType.of('db.x2iedn.32xlarge');
109
+ /**
110
+ * db.r6g.large
111
+ */
112
+ static R6G_LARGE = InstanceType.of('db.r6g.large');
113
+ /**
114
+ * db.r6g.xlarge
115
+ */
116
+ static R6G_XLARGE = InstanceType.of('db.r6g.xlarge');
117
+ /**
118
+ * db.r6g.2xlarge
119
+ */
120
+ static R6G_2XLARGE = InstanceType.of('db.r6g.2xlarge');
121
+ /**
122
+ * db.r6g.4xlarge
123
+ */
124
+ static R6G_4XLARGE = InstanceType.of('db.r6g.4xlarge');
125
+ /**
126
+ * db.r6g.8xlarge
127
+ */
128
+ static R6G_8XLARGE = InstanceType.of('db.r6g.8xlarge');
129
+ /**
130
+ * db.r6g.12xlarge
131
+ */
132
+ static R6G_12XLARGE = InstanceType.of('db.r6g.12xlarge');
133
+ /**
134
+ * db.r6g.16xlarge
135
+ */
136
+ static R6G_16XLARGE = InstanceType.of('db.r6g.16xlarge');
137
+ /**
138
+ * db.r6i.large
139
+ */
140
+ static R6I_LARGE = InstanceType.of('db.r6i.large');
141
+ /**
142
+ * db.r6i.xlarge
143
+ */
144
+ static R6I_XLARGE = InstanceType.of('db.r6i.xlarge');
145
+ /**
146
+ * db.r6i.2xlarge
147
+ */
148
+ static R6I_2XLARGE = InstanceType.of('db.r6i.2xlarge');
149
+ /**
150
+ * db.r6i.4xlarge
151
+ */
152
+ static R6I_4XLARGE = InstanceType.of('db.r6i.4xlarge');
153
+ /**
154
+ * db.r6i.8xlarge
155
+ */
156
+ static R6I_8XLARGE = InstanceType.of('db.r6i.8xlarge');
157
+ /**
158
+ * db.r6i.12xlarge
159
+ */
160
+ static R6I_12XLARGE = InstanceType.of('db.r6i.12xlarge');
161
+ /**
162
+ * db.r6i.16xlarge
163
+ */
164
+ static R6I_16XLARGE = InstanceType.of('db.r6i.16xlarge');
165
+ /**
166
+ * db.r6i.24xlarge
167
+ */
168
+ static R6I_24XLARGE = InstanceType.of('db.r6i.24xlarge');
169
+ /**
170
+ * db.r6i.32xlarge
171
+ */
172
+ static R6I_32XLARGE = InstanceType.of('db.r6i.32xlarge');
173
+ /**
174
+ * db.r5.large
175
+ */
176
+ static R5_LARGE = InstanceType.of('db.r5.large');
177
+ /**
178
+ * db.r5.xlarge
179
+ */
180
+ static R5_XLARGE = InstanceType.of('db.r5.xlarge');
181
+ /**
182
+ * db.r5.2xlarge
183
+ */
184
+ static R5_2XLARGE = InstanceType.of('db.r5.2xlarge');
185
+ /**
186
+ * db.r5.4xlarge
187
+ */
188
+ static R5_4XLARGE = InstanceType.of('db.r5.4xlarge');
189
+ /**
190
+ * db.r5.8xlarge
191
+ */
192
+ static R5_8XLARGE = InstanceType.of('db.r5.8xlarge');
193
+ /**
194
+ * db.r5.12xlarge
195
+ */
196
+ static R5_12XLARGE = InstanceType.of('db.r5.12xlarge');
197
+ /**
198
+ * db.r5.16xlarge
199
+ */
200
+ static R5_16XLARGE = InstanceType.of('db.r5.16xlarge');
201
+ /**
202
+ * db.r5.24xlarge
203
+ */
204
+ static R5_24XLARGE = InstanceType.of('db.r5.24xlarge');
205
+ /**
206
+ * db.r5d.large
207
+ */
208
+ static R5D_LARGE = InstanceType.of('db.r5d.large');
209
+ /**
210
+ * db.r5d.xlarge
211
+ */
212
+ static R5D_XLARGE = InstanceType.of('db.r5d.xlarge');
213
+ /**
214
+ * db.r5d.2xlarge
215
+ */
216
+ static R5D_2XLARGE = InstanceType.of('db.r5d.2xlarge');
217
+ /**
218
+ * db.r5d.4xlarge
219
+ */
220
+ static R5D_4XLARGE = InstanceType.of('db.r5d.4xlarge');
221
+ /**
222
+ * db.r5d.8xlarge
223
+ */
224
+ static R5D_8XLARGE = InstanceType.of('db.r5d.8xlarge');
225
+ /**
226
+ * db.r5d.12xlarge
227
+ */
228
+ static R5D_12XLARGE = InstanceType.of('db.r5d.12xlarge');
229
+ /**
230
+ * db.r5d.16xlarge
231
+ */
232
+ static R5D_16XLARGE = InstanceType.of('db.r5d.16xlarge');
233
+ /**
234
+ * db.r5d.24xlarge
235
+ */
236
+ static R5D_24XLARGE = InstanceType.of('db.r5d.24xlarge');
237
+ /**
238
+ * db.r4.large
239
+ */
240
+ static R4_LARGE = InstanceType.of('db.r4.large');
241
+ /**
242
+ * db.r4.xlarge
243
+ */
244
+ static R4_XLARGE = InstanceType.of('db.r4.xlarge');
245
+ /**
246
+ * db.r4.2xlarge
247
+ */
248
+ static R4_2XLARGE = InstanceType.of('db.r4.2xlarge');
249
+ /**
250
+ * db.r4.4xlarge
251
+ */
252
+ static R4_4XLARGE = InstanceType.of('db.r4.4xlarge');
253
+ /**
254
+ * db.r4.8xlarge
255
+ */
256
+ static R4_8XLARGE = InstanceType.of('db.r4.8xlarge');
257
+ /**
258
+ * db.t4g.medium
259
+ */
260
+ static T4G_MEDIUM = InstanceType.of('db.t4g.medium');
261
+ /**
262
+ * db.t3.medium
263
+ */
264
+ static T3_MEDIUM = InstanceType.of('db.t3.medium');
265
+ /**
266
+ * db.serverless
267
+ */
268
+ static SERVERLESS = InstanceType.of('db.serverless');
25
269
  /**
26
270
  * Build an InstanceType from given string or token, such as CfnParameter.
27
271
  */
28
272
  static of(instanceType) {
29
273
  return new InstanceType(instanceType);
30
274
  }
275
+ /**
276
+ * @internal
277
+ */
278
+ _instanceType;
31
279
  constructor(instanceType) {
32
280
  if (cdk.Token.isUnresolved(instanceType) || instanceType.startsWith('db.')) {
33
281
  this._instanceType = instanceType;
@@ -38,228 +286,11 @@ class InstanceType {
38
286
  }
39
287
  }
40
288
  exports.InstanceType = InstanceType;
41
- _a = JSII_RTTI_SYMBOL_1;
42
- InstanceType[_a] = { fqn: "@aws-cdk/aws-neptune-alpha.InstanceType", version: "2.219.0-alpha.0" };
43
- /**
44
- * db.x2g.large
45
- */
46
- InstanceType.X2G_LARGE = InstanceType.of('db.x2g.large');
47
- /**
48
- * db.x2g.xlarge
49
- */
50
- InstanceType.X2G_XLARGE = InstanceType.of('db.x2g.xlarge');
51
- /**
52
- * db.x2g.2xlarge
53
- */
54
- InstanceType.X2G_2XLARGE = InstanceType.of('db.x2g.2xlarge');
55
- /**
56
- * db.x2g.4xlarge
57
- */
58
- InstanceType.X2G_4XLARGE = InstanceType.of('db.x2g.4xlarge');
59
- /**
60
- * db.x2g.8xlarge
61
- */
62
- InstanceType.X2G_8XLARGE = InstanceType.of('db.x2g.8xlarge');
63
- /**
64
- * db.x2g.12xlarge
65
- */
66
- InstanceType.X2G_12XLARGE = InstanceType.of('db.x2g.12xlarge');
67
- /**
68
- * db.x2g.16xlarge
69
- */
70
- InstanceType.X2G_16XLARGE = InstanceType.of('db.x2g.16xlarge');
71
- /**
72
- * db.x2iedn.xlarge
73
- */
74
- InstanceType.X2IEDN_XLARGE = InstanceType.of('db.x2iedn.xlarge');
75
- /**
76
- * db.x2iedn.2xlarge
77
- */
78
- InstanceType.X2IEDN_2XLARGE = InstanceType.of('db.x2iedn.2xlarge');
79
- /**
80
- * db.x2iedn.4xlarge
81
- */
82
- InstanceType.X2IEDN_4XLARGE = InstanceType.of('db.x2iedn.4xlarge');
83
- /**
84
- * db.x2iedn.8xlarge
85
- */
86
- InstanceType.X2IEDN_8XLARGE = InstanceType.of('db.x2iedn.8xlarge');
87
- /**
88
- * db.x2iedn.16xlarge
89
- */
90
- InstanceType.X2IEDN_16XLARGE = InstanceType.of('db.x2iedn.16xlarge');
91
- /**
92
- * db.x2iedn.24xlarge
93
- */
94
- InstanceType.X2IEDN_24XLARGE = InstanceType.of('db.x2iedn.24xlarge');
95
- /**
96
- * db.x2iedn.32xlarge
97
- */
98
- InstanceType.X2IEDN_32XLARGE = InstanceType.of('db.x2iedn.32xlarge');
99
- /**
100
- * db.r6g.large
101
- */
102
- InstanceType.R6G_LARGE = InstanceType.of('db.r6g.large');
103
- /**
104
- * db.r6g.xlarge
105
- */
106
- InstanceType.R6G_XLARGE = InstanceType.of('db.r6g.xlarge');
107
- /**
108
- * db.r6g.2xlarge
109
- */
110
- InstanceType.R6G_2XLARGE = InstanceType.of('db.r6g.2xlarge');
111
- /**
112
- * db.r6g.4xlarge
113
- */
114
- InstanceType.R6G_4XLARGE = InstanceType.of('db.r6g.4xlarge');
115
- /**
116
- * db.r6g.8xlarge
117
- */
118
- InstanceType.R6G_8XLARGE = InstanceType.of('db.r6g.8xlarge');
119
- /**
120
- * db.r6g.12xlarge
121
- */
122
- InstanceType.R6G_12XLARGE = InstanceType.of('db.r6g.12xlarge');
123
- /**
124
- * db.r6g.16xlarge
125
- */
126
- InstanceType.R6G_16XLARGE = InstanceType.of('db.r6g.16xlarge');
127
- /**
128
- * db.r6i.large
129
- */
130
- InstanceType.R6I_LARGE = InstanceType.of('db.r6i.large');
131
- /**
132
- * db.r6i.xlarge
133
- */
134
- InstanceType.R6I_XLARGE = InstanceType.of('db.r6i.xlarge');
135
- /**
136
- * db.r6i.2xlarge
137
- */
138
- InstanceType.R6I_2XLARGE = InstanceType.of('db.r6i.2xlarge');
139
- /**
140
- * db.r6i.4xlarge
141
- */
142
- InstanceType.R6I_4XLARGE = InstanceType.of('db.r6i.4xlarge');
143
- /**
144
- * db.r6i.8xlarge
145
- */
146
- InstanceType.R6I_8XLARGE = InstanceType.of('db.r6i.8xlarge');
147
- /**
148
- * db.r6i.12xlarge
149
- */
150
- InstanceType.R6I_12XLARGE = InstanceType.of('db.r6i.12xlarge');
151
- /**
152
- * db.r6i.16xlarge
153
- */
154
- InstanceType.R6I_16XLARGE = InstanceType.of('db.r6i.16xlarge');
155
- /**
156
- * db.r6i.24xlarge
157
- */
158
- InstanceType.R6I_24XLARGE = InstanceType.of('db.r6i.24xlarge');
159
- /**
160
- * db.r6i.32xlarge
161
- */
162
- InstanceType.R6I_32XLARGE = InstanceType.of('db.r6i.32xlarge');
163
- /**
164
- * db.r5.large
165
- */
166
- InstanceType.R5_LARGE = InstanceType.of('db.r5.large');
167
- /**
168
- * db.r5.xlarge
169
- */
170
- InstanceType.R5_XLARGE = InstanceType.of('db.r5.xlarge');
171
- /**
172
- * db.r5.2xlarge
173
- */
174
- InstanceType.R5_2XLARGE = InstanceType.of('db.r5.2xlarge');
175
- /**
176
- * db.r5.4xlarge
177
- */
178
- InstanceType.R5_4XLARGE = InstanceType.of('db.r5.4xlarge');
179
- /**
180
- * db.r5.8xlarge
181
- */
182
- InstanceType.R5_8XLARGE = InstanceType.of('db.r5.8xlarge');
183
- /**
184
- * db.r5.12xlarge
185
- */
186
- InstanceType.R5_12XLARGE = InstanceType.of('db.r5.12xlarge');
187
- /**
188
- * db.r5.16xlarge
189
- */
190
- InstanceType.R5_16XLARGE = InstanceType.of('db.r5.16xlarge');
191
- /**
192
- * db.r5.24xlarge
193
- */
194
- InstanceType.R5_24XLARGE = InstanceType.of('db.r5.24xlarge');
195
- /**
196
- * db.r5d.large
197
- */
198
- InstanceType.R5D_LARGE = InstanceType.of('db.r5d.large');
199
- /**
200
- * db.r5d.xlarge
201
- */
202
- InstanceType.R5D_XLARGE = InstanceType.of('db.r5d.xlarge');
203
- /**
204
- * db.r5d.2xlarge
205
- */
206
- InstanceType.R5D_2XLARGE = InstanceType.of('db.r5d.2xlarge');
207
- /**
208
- * db.r5d.4xlarge
209
- */
210
- InstanceType.R5D_4XLARGE = InstanceType.of('db.r5d.4xlarge');
211
- /**
212
- * db.r5d.8xlarge
213
- */
214
- InstanceType.R5D_8XLARGE = InstanceType.of('db.r5d.8xlarge');
215
- /**
216
- * db.r5d.12xlarge
217
- */
218
- InstanceType.R5D_12XLARGE = InstanceType.of('db.r5d.12xlarge');
219
- /**
220
- * db.r5d.16xlarge
221
- */
222
- InstanceType.R5D_16XLARGE = InstanceType.of('db.r5d.16xlarge');
223
- /**
224
- * db.r5d.24xlarge
225
- */
226
- InstanceType.R5D_24XLARGE = InstanceType.of('db.r5d.24xlarge');
227
- /**
228
- * db.r4.large
229
- */
230
- InstanceType.R4_LARGE = InstanceType.of('db.r4.large');
231
- /**
232
- * db.r4.xlarge
233
- */
234
- InstanceType.R4_XLARGE = InstanceType.of('db.r4.xlarge');
235
- /**
236
- * db.r4.2xlarge
237
- */
238
- InstanceType.R4_2XLARGE = InstanceType.of('db.r4.2xlarge');
239
- /**
240
- * db.r4.4xlarge
241
- */
242
- InstanceType.R4_4XLARGE = InstanceType.of('db.r4.4xlarge');
243
- /**
244
- * db.r4.8xlarge
245
- */
246
- InstanceType.R4_8XLARGE = InstanceType.of('db.r4.8xlarge');
247
- /**
248
- * db.t4g.medium
249
- */
250
- InstanceType.T4G_MEDIUM = InstanceType.of('db.t4g.medium');
251
- /**
252
- * db.t3.medium
253
- */
254
- InstanceType.T3_MEDIUM = InstanceType.of('db.t3.medium');
255
- /**
256
- * db.serverless
257
- */
258
- InstanceType.SERVERLESS = InstanceType.of('db.serverless');
259
289
  /**
260
290
  * A new or imported database instance.
261
291
  */
262
292
  class DatabaseInstanceBase extends cdk.Resource {
293
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-neptune-alpha.DatabaseInstanceBase", version: "2.221.0-alpha.0" };
263
294
  /**
264
295
  * Import an existing database instance.
265
296
  */
@@ -274,14 +305,11 @@ class DatabaseInstanceBase extends cdk.Resource {
274
305
  throw error;
275
306
  }
276
307
  class Import extends DatabaseInstanceBase {
277
- constructor() {
278
- super(...arguments);
279
- this.defaultPort = ec2.Port.tcp(attrs.port);
280
- this.instanceIdentifier = attrs.instanceIdentifier;
281
- this.dbInstanceEndpointAddress = attrs.instanceEndpointAddress;
282
- this.dbInstanceEndpointPort = attrs.port.toString();
283
- this.instanceEndpoint = new endpoint_1.Endpoint(attrs.instanceEndpointAddress, attrs.port);
284
- }
308
+ defaultPort = ec2.Port.tcp(attrs.port);
309
+ instanceIdentifier = attrs.instanceIdentifier;
310
+ dbInstanceEndpointAddress = attrs.instanceEndpointAddress;
311
+ dbInstanceEndpointPort = attrs.port.toString();
312
+ instanceEndpoint = new endpoint_1.Endpoint(attrs.instanceEndpointAddress, attrs.port);
285
313
  }
286
314
  return new Import(scope, id);
287
315
  }
@@ -300,53 +328,85 @@ class DatabaseInstanceBase extends cdk.Resource {
300
328
  }
301
329
  }
302
330
  exports.DatabaseInstanceBase = DatabaseInstanceBase;
303
- _b = JSII_RTTI_SYMBOL_1;
304
- DatabaseInstanceBase[_b] = { fqn: "@aws-cdk/aws-neptune-alpha.DatabaseInstanceBase", version: "2.219.0-alpha.0" };
305
331
  /**
306
332
  * A database instance
307
333
  *
308
334
  * @resource AWS::Neptune::DBInstance
309
335
  */
310
- let DatabaseInstance = class DatabaseInstance extends DatabaseInstanceBase {
311
- constructor(scope, id, props) {
312
- super(scope, id);
313
- try {
314
- jsiiDeprecationWarnings._aws_cdk_aws_neptune_alpha_DatabaseInstanceProps(props);
336
+ let DatabaseInstance = (() => {
337
+ let _classDecorators = [prop_injectable_1.propertyInjectable];
338
+ let _classDescriptor;
339
+ let _classExtraInitializers = [];
340
+ let _classThis;
341
+ let _classSuper = DatabaseInstanceBase;
342
+ var DatabaseInstance = class extends _classSuper {
343
+ static { _classThis = this; }
344
+ static {
345
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
346
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
347
+ DatabaseInstance = _classThis = _classDescriptor.value;
348
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
315
349
  }
316
- catch (error) {
317
- if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
318
- Error.captureStackTrace(error, DatabaseInstance);
350
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-neptune-alpha.DatabaseInstance", version: "2.221.0-alpha.0" };
351
+ /** Uniquely identifies this class. */
352
+ static PROPERTY_INJECTION_ID = '@aws-cdk.aws-neptune-alpha.DatabaseInstance';
353
+ /**
354
+ * The instance's database cluster
355
+ */
356
+ cluster;
357
+ /**
358
+ * @inheritdoc
359
+ */
360
+ instanceIdentifier;
361
+ /**
362
+ * @inheritdoc
363
+ */
364
+ instanceEndpoint;
365
+ /**
366
+ * @inheritdoc
367
+ */
368
+ dbInstanceEndpointAddress;
369
+ /**
370
+ * @inheritdoc
371
+ */
372
+ dbInstanceEndpointPort;
373
+ constructor(scope, id, props) {
374
+ super(scope, id);
375
+ try {
376
+ jsiiDeprecationWarnings._aws_cdk_aws_neptune_alpha_DatabaseInstanceProps(props);
319
377
  }
320
- throw error;
378
+ catch (error) {
379
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
380
+ Error.captureStackTrace(error, DatabaseInstance);
381
+ }
382
+ throw error;
383
+ }
384
+ // Enhanced CDK Analytics Telemetry
385
+ (0, metadata_resource_1.addConstructMetadata)(this, props);
386
+ const instance = new aws_neptune_1.CfnDBInstance(this, 'Resource', {
387
+ autoMinorVersionUpgrade: props.autoMinorVersionUpgrade,
388
+ dbClusterIdentifier: props.cluster.clusterIdentifier,
389
+ dbInstanceClass: props.instanceType._instanceType,
390
+ availabilityZone: props.availabilityZone,
391
+ dbInstanceIdentifier: props.dbInstanceName,
392
+ dbParameterGroupName: props.parameterGroup?.parameterGroupName,
393
+ });
394
+ this.cluster = props.cluster;
395
+ this.instanceIdentifier = instance.ref;
396
+ this.dbInstanceEndpointAddress = instance.attrEndpoint;
397
+ this.dbInstanceEndpointPort = instance.attrPort;
398
+ // create a number token that represents the port of the instance
399
+ const portAttribute = cdk.Token.asNumber(instance.attrPort);
400
+ this.instanceEndpoint = new endpoint_1.Endpoint(instance.attrEndpoint, portAttribute);
401
+ instance.applyRemovalPolicy(props.removalPolicy, {
402
+ applyToUpdateReplacePolicy: true,
403
+ });
321
404
  }
322
- // Enhanced CDK Analytics Telemetry
323
- (0, metadata_resource_1.addConstructMetadata)(this, props);
324
- const instance = new aws_neptune_1.CfnDBInstance(this, 'Resource', {
325
- autoMinorVersionUpgrade: props.autoMinorVersionUpgrade,
326
- dbClusterIdentifier: props.cluster.clusterIdentifier,
327
- dbInstanceClass: props.instanceType._instanceType,
328
- availabilityZone: props.availabilityZone,
329
- dbInstanceIdentifier: props.dbInstanceName,
330
- dbParameterGroupName: props.parameterGroup?.parameterGroupName,
331
- });
332
- this.cluster = props.cluster;
333
- this.instanceIdentifier = instance.ref;
334
- this.dbInstanceEndpointAddress = instance.attrEndpoint;
335
- this.dbInstanceEndpointPort = instance.attrPort;
336
- // create a number token that represents the port of the instance
337
- const portAttribute = cdk.Token.asNumber(instance.attrPort);
338
- this.instanceEndpoint = new endpoint_1.Endpoint(instance.attrEndpoint, portAttribute);
339
- instance.applyRemovalPolicy(props.removalPolicy, {
340
- applyToUpdateReplacePolicy: true,
341
- });
342
- }
343
- };
405
+ static {
406
+ __runInitializers(_classThis, _classExtraInitializers);
407
+ }
408
+ };
409
+ return DatabaseInstance = _classThis;
410
+ })();
344
411
  exports.DatabaseInstance = DatabaseInstance;
345
- _c = JSII_RTTI_SYMBOL_1;
346
- DatabaseInstance[_c] = { fqn: "@aws-cdk/aws-neptune-alpha.DatabaseInstance", version: "2.219.0-alpha.0" };
347
- /** Uniquely identifies this class. */
348
- DatabaseInstance.PROPERTY_INJECTION_ID = '@aws-cdk.aws-neptune-alpha.DatabaseInstance';
349
- exports.DatabaseInstance = DatabaseInstance = __decorate([
350
- prop_injectable_1.propertyInjectable
351
- ], DatabaseInstance);
352
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx5REFBeUQ7QUFDekQsMkNBQTJDO0FBQzNDLHdDQUF3QztBQUd4Qyx5Q0FBc0M7QUFDdEMseURBQXdEO0FBRXhELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFFMUU7OztHQUdHO0FBQ0gsTUFBYSxZQUFZO0lBK1F2Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBb0I7UUFDbkMsT0FBTyxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUN2QztJQU9ELFlBQW9CLFlBQW9CO1FBQ3RDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNFLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNoRixDQUFDO0tBQ0Y7O0FBalNILG9DQWtTQzs7O0FBalNDOztHQUVHO0FBQ29CLHNCQUFTLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUVuRTs7R0FFRztBQUNvQix1QkFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFckU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDb0IseUJBQVksR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFekU7O0dBRUc7QUFDb0IseUJBQVksR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFekU7O0dBRUc7QUFDb0IsMEJBQWEsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFM0U7O0dBRUc7QUFDb0IsMkJBQWMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFN0U7O0dBRUc7QUFDb0IsMkJBQWMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFN0U7O0dBRUc7QUFDb0IsMkJBQWMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFN0U7O0dBRUc7QUFDb0IsNEJBQWUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFL0U7O0dBRUc7QUFDb0IsNEJBQWUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFL0U7O0dBRUc7QUFDb0IsNEJBQWUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFL0U7O0dBRUc7QUFDb0Isc0JBQVMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRW5FOztHQUVHO0FBQ29CLHVCQUFVLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRTs7R0FFRztBQUNvQix3QkFBVyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV2RTs7R0FFRztBQUNvQix3QkFBVyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV2RTs7R0FFRztBQUNvQix3QkFBVyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV2RTs7R0FFRztBQUNvQix5QkFBWSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV6RTs7R0FFRztBQUNvQix5QkFBWSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV6RTs7R0FFRztBQUNvQixzQkFBUyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFbkU7O0dBRUc7QUFDb0IsdUJBQVUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXJFOztHQUVHO0FBQ29CLHdCQUFXLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRXZFOztHQUVHO0FBQ29CLHdCQUFXLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRXZFOztHQUVHO0FBQ29CLHdCQUFXLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRXZFOztHQUVHO0FBQ29CLHlCQUFZLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRXpFOztHQUVHO0FBQ29CLHlCQUFZLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRXpFOztHQUVHO0FBQ29CLHlCQUFZLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRXpFOztHQUVHO0FBQ29CLHlCQUFZLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRXpFOztHQUVHO0FBQ29CLHFCQUFRLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUVqRTs7R0FFRztBQUNvQixzQkFBUyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFbkU7O0dBRUc7QUFDb0IsdUJBQVUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXJFOztHQUVHO0FBQ29CLHVCQUFVLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRTs7R0FFRztBQUNvQix1QkFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFckU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDb0Isc0JBQVMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRW5FOztHQUVHO0FBQ29CLHVCQUFVLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRTs7R0FFRztBQUNvQix3QkFBVyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV2RTs7R0FFRztBQUNvQix3QkFBVyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV2RTs7R0FFRztBQUNvQix3QkFBVyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUV2RTs7R0FFRztBQUNvQix5QkFBWSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV6RTs7R0FFRztBQUNvQix5QkFBWSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV6RTs7R0FFRztBQUNvQix5QkFBWSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV6RTs7R0FFRztBQUNvQixxQkFBUSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFakU7O0dBRUc7QUFDb0Isc0JBQVMsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRW5FOztHQUVHO0FBQ29CLHVCQUFVLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRTs7R0FFRztBQUNvQix1QkFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFckU7O0dBRUc7QUFDb0IsdUJBQVUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXJFOztHQUVHO0FBQ29CLHVCQUFVLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRTs7R0FFRztBQUNvQixzQkFBUyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFbkU7O0dBRUc7QUFDb0IsdUJBQVUsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBb0l2RTs7R0FFRztBQUNILE1BQXNCLG9CQUFxQixTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBQzdEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLDhCQUE4QixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlDOzs7Ozs7Ozs7O1FBQzFHLE1BQU0sTUFBTyxTQUFRLG9CQUFvQjtZQUF6Qzs7Z0JBQ2tCLGdCQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2Qyx1QkFBa0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUM7Z0JBQzlDLDhCQUF5QixHQUFHLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQztnQkFDMUQsMkJBQXNCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDL0MscUJBQWdCLEdBQUcsSUFBSSxtQkFBUSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0YsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDOUI7SUFzQkQ7O09BRUc7SUFDSSxNQUFNLENBQUMsVUFBa0IsRUFBRSxLQUFnQztRQUNoRSxPQUFPLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQztZQUMzQixTQUFTLEVBQUUsYUFBYTtZQUN4QixhQUFhLEVBQUU7Z0JBQ2Isb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjthQUM5QztZQUNELFVBQVU7WUFDVixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7S0FDSjs7QUEvQ0gsb0RBZ0RDOzs7QUFFRDs7OztHQUlHO0FBRUksSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBaUIsU0FBUSxvQkFBb0I7SUE0QnhELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OytDQTdCUixnQkFBZ0I7Ozs7UUE4QnpCLG1DQUFtQztRQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLDJCQUFhLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNuRCx1QkFBdUIsRUFBRSxLQUFLLENBQUMsdUJBQXVCO1lBQ3RELG1CQUFtQixFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCO1lBQ3BELGVBQWUsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLGFBQWE7WUFDakQsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsY0FBYztZQUMxQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsY0FBYyxFQUFFLGtCQUFrQjtTQUMvRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDdkMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdkQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFFaEQsaUVBQWlFO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFM0UsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDL0MsMEJBQTBCLEVBQUUsSUFBSTtTQUNqQyxDQUFDLENBQUM7S0FDSjs7QUF0RFUsNENBQWdCOzs7QUFDM0Isc0NBQXNDO0FBQ2Ysc0NBQXFCLEdBQVcsNkNBQTZDLEFBQXhELENBQXlEOzJCQUYxRixnQkFBZ0I7SUFENUIsb0NBQWtCO0dBQ04sZ0JBQWdCLENBdUQ1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNsb3Vkd2F0Y2ggZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJRGF0YWJhc2VDbHVzdGVyIH0gZnJvbSAnLi9jbHVzdGVyJztcbmltcG9ydCB7IEVuZHBvaW50IH0gZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgeyBDZm5EQkluc3RhbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW5lcHR1bmUnO1xuaW1wb3J0IHsgSVBhcmFtZXRlckdyb3VwIH0gZnJvbSAnLi9wYXJhbWV0ZXItZ3JvdXAnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuXG4vKipcbiAqIFBvc3NpYmxlIEluc3RhbmNlcyBUeXBlcyB0byB1c2UgaW4gTmVwdHVuZSBjbHVzdGVyXG4gKiB1c2VkIGZvciBkZWZpbmluZyBgRGF0YWJhc2VJbnN0YW5jZVByb3BzLmluc3RhbmNlVHlwZWAuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnN0YW5jZVR5cGUge1xuICAvKipcbiAgICogZGIueDJnLmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR19MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyZy54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJHX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmcuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMkdfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJnLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJHXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyZy44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR184WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmcuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmcuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJHXzEyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmcuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJnLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR18xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4uMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMklFRE5fMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJpZWRuLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl84WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmllZG4uOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4uMTZ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROXzE2WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmllZG4uMTZ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJpZWRuLjI0eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl8yNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLjI0eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi4zMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMklFRE5fMzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi4zMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcubGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHX0xBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcubGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNkdfWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcueGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2Zy4yeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2R18yWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcuMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcuNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNkdfNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLjh4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHXzhYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2Zy44eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2Zy4xMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNkdfMTJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2Zy4xMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcuMTZ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHXzE2WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcuMTZ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV9MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV84WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzEyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV8xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfMjRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS4yNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuMzJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzMyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuMzJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUubGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV9YTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS4yeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1XzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUuNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV80WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1Ljh4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfOFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjUuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS4xMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV8xMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjUuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUuMTZ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfMTZYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LjI0eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1XzI0WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS4yNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQubGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEX0xBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQubGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQueGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC4yeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF8yWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQuMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQuNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLjh4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEXzhYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1ZC44eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC4xMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfMTJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1ZC4xMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQuMTZ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEXzE2WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQuMTZ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLjI0eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF8yNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLjI0eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI0LmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI0X0xBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNC5sYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNC54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjRfWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNC54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjQuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNF8yWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNC4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI0LjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjRfNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjQuNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNC44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI0XzhYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI0Ljh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIudDRnLm1lZGl1bVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUNEdfTUVESVVNID0gSW5zdGFuY2VUeXBlLm9mKCdkYi50NGcubWVkaXVtJyk7XG5cbiAgLyoqXG4gICAqIGRiLnQzLm1lZGl1bVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUM19NRURJVU0gPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnQzLm1lZGl1bScpO1xuXG4gIC8qKlxuICAgKiBkYi5zZXJ2ZXJsZXNzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFUlZFUkxFU1MgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnNlcnZlcmxlc3MnKTtcblxuICAvKipcbiAgICogQnVpbGQgYW4gSW5zdGFuY2VUeXBlIGZyb20gZ2l2ZW4gc3RyaW5nIG9yIHRva2VuLCBzdWNoIGFzIENmblBhcmFtZXRlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2YoaW5zdGFuY2VUeXBlOiBzdHJpbmcpOiBJbnN0YW5jZVR5cGUge1xuICAgIHJldHVybiBuZXcgSW5zdGFuY2VUeXBlKGluc3RhbmNlVHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBfaW5zdGFuY2VUeXBlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihpbnN0YW5jZVR5cGU6IHN0cmluZykge1xuICAgIGlmIChjZGsuVG9rZW4uaXNVbnJlc29sdmVkKGluc3RhbmNlVHlwZSkgfHwgaW5zdGFuY2VUeXBlLnN0YXJ0c1dpdGgoJ2RiLicpKSB7XG4gICAgICB0aGlzLl9pbnN0YW5jZVR5cGUgPSBpbnN0YW5jZVR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaW5zdGFuY2UgdHlwZSBtdXN0IHN0YXJ0IHdpdGggJ2RiLic7IChnb3QgJHtpbnN0YW5jZVR5cGV9KWApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEEgZGF0YWJhc2UgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGF0YWJhc2VJbnN0YW5jZSBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIGlkZW50aWZpZXIuXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGluc3RhbmNlIGVuZHBvaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VFbmRwb2ludDogRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBlbmRwb2ludCBhZGRyZXNzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlIEVuZHBvaW50XG4gICAqL1xuICByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBlbmRwb2ludCBwb3J0LlxuICAgKlxuICAgKiBAYXR0cmlidXRlIFBvcnRcbiAgICovXG4gIHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludFBvcnQ6IHN0cmluZztcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBnaXZlbiBuYW1lZCBtZXRyaWMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZGF0YWJhc2UgaW5zdGFuY2VcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbmVwdHVuZS9sYXRlc3QvdXNlcmd1aWRlL2N3LW1ldHJpY3MuaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9uZXB0dW5lL2xhdGVzdC91c2VyZ3VpZGUvY3ctZGltZW5zaW9ucy5odG1sXG4gICAqL1xuICBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IGNsb3Vkd2F0Y2guTWV0cmljT3B0aW9ucyk6IGNsb3Vkd2F0Y2guTWV0cmljO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdGhhdCBkZXNjcmliZSBhbiBleGlzdGluZyBpbnN0YW5jZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlSW5zdGFuY2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmRwb2ludCBhZGRyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VFbmRwb2ludEFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRhdGFiYXNlIHBvcnQuXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG59XG5cbi8qKlxuICogQ29uc3RydWN0aW9uIHByb3BlcnRpZXMgZm9yIGEgRGF0YWJhc2VJbnN0YW5jZU5ld1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlSW5zdGFuY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgTmVwdHVuZSBkYXRhYmFzZSBjbHVzdGVyIHRoZSBpbnN0YW5jZSBzaG91bGQgbGF1bmNoIGludG8uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBJRGF0YWJhc2VDbHVzdGVyO1xuXG4gIC8qKlxuICAgKiBXaGF0IHR5cGUgb2YgaW5zdGFuY2UgdG8gc3RhcnQgZm9yIHRoZSByZXBsaWNhc1xuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBJbnN0YW5jZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSB3aGVyZSB0aGUgREIgaW5zdGFuY2Ugd2lsbCBiZSBsb2NhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHByZWZlcmVuY2VcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIERCIGluc3RhbmNlLiBJZiB5b3Ugc3BlY2lmeSBhIG5hbWUsIEFXUyBDbG91ZEZvcm1hdGlvblxuICAgKiBjb252ZXJ0cyBpdCB0byBsb3dlcmNhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBDbG91ZEZvcm1hdGlvbiBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZGJJbnN0YW5jZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBEQiBwYXJhbWV0ZXIgZ3JvdXAgdG8gYXNzb2NpYXRlIHdpdGggdGhlIGluc3RhbmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBwYXJhbWV0ZXIgZ3JvdXBcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlckdyb3VwPzogSVBhcmFtZXRlckdyb3VwO1xuXG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gcG9saWN5IHRvIGFwcGx5IHdoZW4gdGhlIGluc3RhbmNlIGlzIHJlbW92ZWQgZnJvbSB0aGVcbiAgICogc3RhY2sgb3IgcmVwbGFjZWQgZHVyaW5nIGFuIHVwZGF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5SZXRhaW5cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBjZGsuUmVtb3ZhbFBvbGljeTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgbWlub3IgdmVyc2lvbiBwYXRjaGVzIGFyZSBhcHBsaWVkIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgbmV3IG9yIGltcG9ydGVkIGRhdGFiYXNlIGluc3RhbmNlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YWJhc2VJbnN0YW5jZUJhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YWJhc2VJbnN0YW5jZSB7XG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgZGF0YWJhc2UgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21EYXRhYmFzZUluc3RhbmNlQXR0cmlidXRlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogRGF0YWJhc2VJbnN0YW5jZUF0dHJpYnV0ZXMpOiBJRGF0YWJhc2VJbnN0YW5jZSB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgRGF0YWJhc2VJbnN0YW5jZUJhc2UgaW1wbGVtZW50cyBJRGF0YWJhc2VJbnN0YW5jZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFBvcnQgPSBlYzIuUG9ydC50Y3AoYXR0cnMucG9ydCk7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyID0gYXR0cnMuaW5zdGFuY2VJZGVudGlmaWVyO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludEFkZHJlc3MgPSBhdHRycy5pbnN0YW5jZUVuZHBvaW50QWRkcmVzcztcbiAgICAgIHB1YmxpYyByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRQb3J0ID0gYXR0cnMucG9ydC50b1N0cmluZygpO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlRW5kcG9pbnQgPSBuZXcgRW5kcG9pbnQoYXR0cnMuaW5zdGFuY2VFbmRwb2ludEFkZHJlc3MsIGF0dHJzLnBvcnQpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50QWRkcmVzczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludFBvcnQ6IHN0cmluZztcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUVuZHBvaW50OiBFbmRwb2ludDtcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZztcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IGNsb3Vkd2F0Y2guTWV0cmljT3B0aW9ucyk6IGNsb3Vkd2F0Y2guTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9OZXB0dW5lJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgREJJbnN0YW5jZUlkZW50aWZpZXI6IHRoaXMuaW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgfSxcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZGF0YWJhc2UgaW5zdGFuY2VcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpOZXB0dW5lOjpEQkluc3RhbmNlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBEYXRhYmFzZUluc3RhbmNlIGV4dGVuZHMgRGF0YWJhc2VJbnN0YW5jZUJhc2UgaW1wbGVtZW50cyBJRGF0YWJhc2VJbnN0YW5jZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLW5lcHR1bmUtYWxwaGEuRGF0YWJhc2VJbnN0YW5jZSc7XG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UncyBkYXRhYmFzZSBjbHVzdGVyXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2x1c3RlcjogSURhdGFiYXNlQ2x1c3RlcjtcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZztcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUVuZHBvaW50OiBFbmRwb2ludDtcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50UG9ydDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZUluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgQ2ZuREJJbnN0YW5jZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBhdXRvTWlub3JWZXJzaW9uVXBncmFkZTogcHJvcHMuYXV0b01pbm9yVmVyc2lvblVwZ3JhZGUsXG4gICAgICBkYkNsdXN0ZXJJZGVudGlmaWVyOiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJJZGVudGlmaWVyLFxuICAgICAgZGJJbnN0YW5jZUNsYXNzOiBwcm9wcy5pbnN0YW5jZVR5cGUuX2luc3RhbmNlVHlwZSxcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHByb3BzLmF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICBkYkluc3RhbmNlSWRlbnRpZmllcjogcHJvcHMuZGJJbnN0YW5jZU5hbWUsXG4gICAgICBkYlBhcmFtZXRlckdyb3VwTmFtZTogcHJvcHMucGFyYW1ldGVyR3JvdXA/LnBhcmFtZXRlckdyb3VwTmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMuY2x1c3RlciA9IHByb3BzLmNsdXN0ZXI7XG4gICAgdGhpcy5pbnN0YW5jZUlkZW50aWZpZXIgPSBpbnN0YW5jZS5yZWY7XG4gICAgdGhpcy5kYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzID0gaW5zdGFuY2UuYXR0ckVuZHBvaW50O1xuICAgIHRoaXMuZGJJbnN0YW5jZUVuZHBvaW50UG9ydCA9IGluc3RhbmNlLmF0dHJQb3J0O1xuXG4gICAgLy8gY3JlYXRlIGEgbnVtYmVyIHRva2VuIHRoYXQgcmVwcmVzZW50cyB0aGUgcG9ydCBvZiB0aGUgaW5zdGFuY2VcbiAgICBjb25zdCBwb3J0QXR0cmlidXRlID0gY2RrLlRva2VuLmFzTnVtYmVyKGluc3RhbmNlLmF0dHJQb3J0KTtcbiAgICB0aGlzLmluc3RhbmNlRW5kcG9pbnQgPSBuZXcgRW5kcG9pbnQoaW5zdGFuY2UuYXR0ckVuZHBvaW50LCBwb3J0QXR0cmlidXRlKTtcblxuICAgIGluc3RhbmNlLmFwcGx5UmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5LCB7XG4gICAgICBhcHBseVRvVXBkYXRlUmVwbGFjZVBvbGljeTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBeUQ7QUFDekQsMkNBQTJDO0FBQzNDLHdDQUF3QztBQUd4Qyx5Q0FBc0M7QUFDdEMseURBQXdEO0FBRXhELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFFMUU7OztHQUdHO0FBQ0gsTUFBYSxZQUFZOztJQUN2Qjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxTQUFTLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuRTs7T0FFRztJQUNJLE1BQU0sQ0FBVSxVQUFVLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVyRTs7T0FFRztJQUNJLE1BQU0sQ0FBVSxXQUFXLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXZFOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFdBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFdkU7O09BRUc7SUFDSSxNQUFNLENBQVUsV0FBVyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV2RTs7T0FFRztJQUNJLE1BQU0sQ0FBVSxZQUFZLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXpFOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFlBQVksR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFekU7O09BRUc7SUFDSSxNQUFNLENBQVUsYUFBYSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUUzRTs7T0FFRztJQUNJLE1BQU0sQ0FBVSxjQUFjLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FB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QUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztZQUUzRSxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtnQkFDL0MsMEJBQTBCLEVBQUUsSUFBSTthQUNqQyxDQUFDLENBQUM7U0FDSjs7WUF0RFUsdURBQWdCOzs7OztBQUFoQiw0Q0FBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSURhdGFiYXNlQ2x1c3RlciB9IGZyb20gJy4vY2x1c3Rlcic7XG5pbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJy4vZW5kcG9pbnQnO1xuaW1wb3J0IHsgQ2ZuREJJbnN0YW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1uZXB0dW5lJztcbmltcG9ydCB7IElQYXJhbWV0ZXJHcm91cCB9IGZyb20gJy4vcGFyYW1ldGVyLWdyb3VwJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcblxuLyoqXG4gKiBQb3NzaWJsZSBJbnN0YW5jZXMgVHlwZXMgdG8gdXNlIGluIE5lcHR1bmUgY2x1c3RlclxuICogdXNlZCBmb3IgZGVmaW5pbmcgYERhdGFiYXNlSW5zdGFuY2VQcm9wcy5pbnN0YW5jZVR5cGVgLlxuICovXG5leHBvcnQgY2xhc3MgSW5zdGFuY2VUeXBlIHtcbiAgLyoqXG4gICAqIGRiLngyZy5sYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMkdfTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy5sYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmcueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR19YTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJnLjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJHXzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyZy40eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR180WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmcuNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmcuOHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMkdfOFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLjh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJnLjEyeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR18xMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLjEyeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyZy4xNnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMkdfMTZYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy4xNnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4ueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl9YTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJpZWRuLjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROXzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi40eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl80WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmllZG4uNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4uOHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMklFRE5fOFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLjh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJpZWRuLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl8xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMklFRE5fMjRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi4yNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4uMzJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROXzMyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmllZG4uMzJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2R19MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2Zy54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNkdfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2Zy40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2Zy44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2R184WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHXzEyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2R18xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS5sYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS5sYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV9YTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS40eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV80WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuOHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfOFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjEyeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV8xMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjEyeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS4xNnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfMTZYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS4xNnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuMjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzI0WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuMjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjMyeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV8zMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjMyeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1X0xBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS5sYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV8yWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjUuNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1XzhYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1Ljh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfMTJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LjEyeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1XzE2WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS4xNnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV8yNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjUuMjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF9MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1ZC40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF84WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEXzEyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF8xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfMjRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1ZC4yNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNC5sYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNF9MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjQubGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjQueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI0X1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjQueGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI0LjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjRfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjQuMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNC40eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI0XzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI0LjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjQuOHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNF84WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNC44eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnQ0Zy5tZWRpdW1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVDRHX01FRElVTSA9IEluc3RhbmNlVHlwZS5vZignZGIudDRnLm1lZGl1bScpO1xuXG4gIC8qKlxuICAgKiBkYi50My5tZWRpdW1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVDNfTUVESVVNID0gSW5zdGFuY2VUeXBlLm9mKCdkYi50My5tZWRpdW0nKTtcblxuICAvKipcbiAgICogZGIuc2VydmVybGVzc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRVJWRVJMRVNTID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5zZXJ2ZXJsZXNzJyk7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuIEluc3RhbmNlVHlwZSBmcm9tIGdpdmVuIHN0cmluZyBvciB0b2tlbiwgc3VjaCBhcyBDZm5QYXJhbWV0ZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKGluc3RhbmNlVHlwZTogc3RyaW5nKTogSW5zdGFuY2VUeXBlIHtcbiAgICByZXR1cm4gbmV3IEluc3RhbmNlVHlwZShpbnN0YW5jZVR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgX2luc3RhbmNlVHlwZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoaW5zdGFuY2VUeXBlOiBzdHJpbmcpIHtcbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChpbnN0YW5jZVR5cGUpIHx8IGluc3RhbmNlVHlwZS5zdGFydHNXaXRoKCdkYi4nKSkge1xuICAgICAgdGhpcy5faW5zdGFuY2VUeXBlID0gaW5zdGFuY2VUeXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGluc3RhbmNlIHR5cGUgbXVzdCBzdGFydCB3aXRoICdkYi4nOyAoZ290ICR7aW5zdGFuY2VUeXBlfSlgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBIGRhdGFiYXNlIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFiYXNlSW5zdGFuY2UgZXh0ZW5kcyBjZGsuSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBlbmRwb2ludC5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlRW5kcG9pbnQ6IEVuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgZW5kcG9pbnQgYWRkcmVzcy5cbiAgICpcbiAgICogQGF0dHJpYnV0ZSBFbmRwb2ludFxuICAgKi9cbiAgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50QWRkcmVzczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgZW5kcG9pbnQgcG9ydC5cbiAgICpcbiAgICogQGF0dHJpYnV0ZSBQb3J0XG4gICAqL1xuICByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRQb3J0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRhdGFiYXNlIGluc3RhbmNlXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL25lcHR1bmUvbGF0ZXN0L3VzZXJndWlkZS9jdy1tZXRyaWNzLmh0bWxcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbmVwdHVuZS9sYXRlc3QvdXNlcmd1aWRlL2N3LWRpbWVuc2lvbnMuaHRtbFxuICAgKi9cbiAgbWV0cmljKG1ldHJpY05hbWU6IHN0cmluZywgcHJvcHM/OiBjbG91ZHdhdGNoLk1ldHJpY09wdGlvbnMpOiBjbG91ZHdhdGNoLk1ldHJpYztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHRoYXQgZGVzY3JpYmUgYW4gZXhpc3RpbmcgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUluc3RhbmNlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgaWRlbnRpZmllci5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlSWRlbnRpZmllcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5kcG9pbnQgYWRkcmVzcy5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlRW5kcG9pbnRBZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXRhYmFzZSBwb3J0LlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdGlvbiBwcm9wZXJ0aWVzIGZvciBhIERhdGFiYXNlSW5zdGFuY2VOZXdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUluc3RhbmNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIE5lcHR1bmUgZGF0YWJhc2UgY2x1c3RlciB0aGUgaW5zdGFuY2Ugc2hvdWxkIGxhdW5jaCBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgY2x1c3RlcjogSURhdGFiYXNlQ2x1c3RlcjtcblxuICAvKipcbiAgICogV2hhdCB0eXBlIG9mIGluc3RhbmNlIHRvIHN0YXJ0IGZvciB0aGUgcmVwbGljYXNcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlVHlwZTogSW5zdGFuY2VUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXZhaWxhYmlsaXR5IFpvbmUgd2hlcmUgdGhlIERCIGluc3RhbmNlIHdpbGwgYmUgbG9jYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcmVmZXJlbmNlXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSBEQiBpbnN0YW5jZS4gSWYgeW91IHNwZWNpZnkgYSBuYW1lLCBBV1MgQ2xvdWRGb3JtYXRpb25cbiAgICogY29udmVydHMgaXQgdG8gbG93ZXJjYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgQ2xvdWRGb3JtYXRpb24gZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGRiSW5zdGFuY2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgREIgcGFyYW1ldGVyIGdyb3VwIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gcGFyYW1ldGVyIGdyb3VwXG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJHcm91cD86IElQYXJhbWV0ZXJHcm91cDtcblxuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHBvbGljeSB0byBhcHBseSB3aGVuIHRoZSBpbnN0YW5jZSBpcyByZW1vdmVkIGZyb20gdGhlXG4gICAqIHN0YWNrIG9yIHJlcGxhY2VkIGR1cmluZyBhbiB1cGRhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuUmV0YWluXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY2RrLlJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IG1pbm9yIHZlcnNpb24gcGF0Y2hlcyBhcmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NaW5vclZlcnNpb25VcGdyYWRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIG5ldyBvciBpbXBvcnRlZCBkYXRhYmFzZSBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGFiYXNlSW5zdGFuY2VCYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSURhdGFiYXNlSW5zdGFuY2Uge1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGRhdGFiYXNlIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRGF0YWJhc2VJbnN0YW5jZUF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IERhdGFiYXNlSW5zdGFuY2VBdHRyaWJ1dGVzKTogSURhdGFiYXNlSW5zdGFuY2Uge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIERhdGFiYXNlSW5zdGFuY2VCYXNlIGltcGxlbWVudHMgSURhdGFiYXNlSW5zdGFuY2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRQb3J0ID0gZWMyLlBvcnQudGNwKGF0dHJzLnBvcnQpO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlSWRlbnRpZmllciA9IGF0dHJzLmluc3RhbmNlSWRlbnRpZmllcjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzID0gYXR0cnMuaW5zdGFuY2VFbmRwb2ludEFkZHJlc3M7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50UG9ydCA9IGF0dHJzLnBvcnQudG9TdHJpbmcoKTtcbiAgICAgIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUVuZHBvaW50ID0gbmV3IEVuZHBvaW50KGF0dHJzLmluc3RhbmNlRW5kcG9pbnRBZGRyZXNzLCBhdHRycy5wb3J0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludEFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRQb3J0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VFbmRwb2ludDogRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgbWV0cmljKG1ldHJpY05hbWU6IHN0cmluZywgcHJvcHM/OiBjbG91ZHdhdGNoLk1ldHJpY09wdGlvbnMpOiBjbG91ZHdhdGNoLk1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvTmVwdHVuZScsXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIERCSW5zdGFuY2VJZGVudGlmaWVyOiB0aGlzLmluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgIH0sXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGRhdGFiYXNlIGluc3RhbmNlXG4gKlxuICogQHJlc291cmNlIEFXUzo6TmVwdHVuZTo6REJJbnN0YW5jZVxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRGF0YWJhc2VJbnN0YW5jZSBleHRlbmRzIERhdGFiYXNlSW5zdGFuY2VCYXNlIGltcGxlbWVudHMgSURhdGFiYXNlSW5zdGFuY2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1uZXB0dW5lLWFscGhhLkRhdGFiYXNlSW5zdGFuY2UnO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlJ3MgZGF0YWJhc2UgY2x1c3RlclxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXI6IElEYXRhYmFzZUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VFbmRwb2ludDogRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50QWRkcmVzczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludFBvcnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VJbnN0YW5jZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IENmbkRCSW5zdGFuY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU6IHByb3BzLmF1dG9NaW5vclZlcnNpb25VcGdyYWRlLFxuICAgICAgZGJDbHVzdGVySWRlbnRpZmllcjogcHJvcHMuY2x1c3Rlci5jbHVzdGVySWRlbnRpZmllcixcbiAgICAgIGRiSW5zdGFuY2VDbGFzczogcHJvcHMuaW5zdGFuY2VUeXBlLl9pbnN0YW5jZVR5cGUsXG4gICAgICBhdmFpbGFiaWxpdHlab25lOiBwcm9wcy5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgZGJJbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmRiSW5zdGFuY2VOYW1lLFxuICAgICAgZGJQYXJhbWV0ZXJHcm91cE5hbWU6IHByb3BzLnBhcmFtZXRlckdyb3VwPy5wYXJhbWV0ZXJHcm91cE5hbWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNsdXN0ZXIgPSBwcm9wcy5jbHVzdGVyO1xuICAgIHRoaXMuaW5zdGFuY2VJZGVudGlmaWVyID0gaW5zdGFuY2UucmVmO1xuICAgIHRoaXMuZGJJbnN0YW5jZUVuZHBvaW50QWRkcmVzcyA9IGluc3RhbmNlLmF0dHJFbmRwb2ludDtcbiAgICB0aGlzLmRiSW5zdGFuY2VFbmRwb2ludFBvcnQgPSBpbnN0YW5jZS5hdHRyUG9ydDtcblxuICAgIC8vIGNyZWF0ZSBhIG51bWJlciB0b2tlbiB0aGF0IHJlcHJlc2VudHMgdGhlIHBvcnQgb2YgdGhlIGluc3RhbmNlXG4gICAgY29uc3QgcG9ydEF0dHJpYnV0ZSA9IGNkay5Ub2tlbi5hc051bWJlcihpbnN0YW5jZS5hdHRyUG9ydCk7XG4gICAgdGhpcy5pbnN0YW5jZUVuZHBvaW50ID0gbmV3IEVuZHBvaW50KGluc3RhbmNlLmF0dHJFbmRwb2ludCwgcG9ydEF0dHJpYnV0ZSk7XG5cbiAgICBpbnN0YW5jZS5hcHBseVJlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSwge1xuICAgICAgYXBwbHlUb1VwZGF0ZVJlcGxhY2VQb2xpY3k6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==