@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/.jsii +115 -81
- package/.jsii.tabl.json.gz +0 -0
- package/lib/cluster.d.ts +8 -0
- package/lib/cluster.js +361 -294
- package/lib/endpoint.js +14 -4
- package/lib/instance.js +333 -273
- package/lib/parameter-group.js +158 -101
- package/lib/subnet-group.js +86 -47
- package/package.json +9 -8
package/lib/instance.js
CHANGED
|
@@ -1,11 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
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 =
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
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
|
-
|
|
317
|
-
|
|
318
|
-
|
|
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
|
-
|
|
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
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx5REFBeUQ7QUFDekQsMkNBQTJDO0FBQzNDLHdDQUF3QztBQUd4Qyx5Q0FBc0M7QUFDdEMseURBQXdEO0FBRXhELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFFMUU7OztHQUdHO0FBQ0gsTUFBYSxZQUFZO0lBK1F2Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBb0I7UUFDbkMsT0FBTyxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUN2QztJQU9ELFlBQW9CLFlBQW9CO1FBQ3RDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNFLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUNoRixDQUFDO0tBQ0Y7O0FBalNILG9DQWtTQzs7O0FBalNDOztHQUVHO0FBQ29CLHNCQUFTLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUVuRTs7R0FFRztBQUNvQix1QkFBVSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFckU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFdkU7O0dBRUc7QUFDb0Isd0JBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7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Q0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDdkMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDdkQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFFaEQsaUVBQWlFO1FBQ2pFLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFM0UsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDL0MsMEJBQTBCLEVBQUUsSUFBSTtTQUNqQyxDQUFDLENBQUM7S0FDSjs7QUF0RFUsNENBQWdCOzs7QUFDM0Isc0NBQXNDO0FBQ2Ysc0NBQXFCLEdBQVcsNkNBQTZDLEFBQXhELENBQXlEOzJCQUYxRixnQkFBZ0I7SUFENUIsb0NBQWtCO0dBQ04sZ0JBQWdCLENBdUQ1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNsb3Vkd2F0Y2ggZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJRGF0YWJhc2VDbHVzdGVyIH0gZnJvbSAnLi9jbHVzdGVyJztcbmltcG9ydCB7IEVuZHBvaW50IH0gZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgeyBDZm5EQkluc3RhbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW5lcHR1bmUnO1xuaW1wb3J0IHsgSVBhcmFtZXRlckdyb3VwIH0gZnJvbSAnLi9wYXJhbWV0ZXItZ3JvdXAnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuXG4vKipcbiAqIFBvc3NpYmxlIEluc3RhbmNlcyBUeXBlcyB0byB1c2UgaW4gTmVwdHVuZSBjbHVzdGVyXG4gKiB1c2VkIGZvciBkZWZpbmluZyBgRGF0YWJhc2VJbnN0YW5jZVByb3BzLmluc3RhbmNlVHlwZWAuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnN0YW5jZVR5cGUge1xuICAvKipcbiAgICogZGIueDJnLmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR19MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyZy54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJHX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmcuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMkdfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJnLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJHXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyZy44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR184WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmcuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmcuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJHXzEyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmcuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJnLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR18xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4uMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMklFRE5fMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJpZWRuLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl84WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmllZG4uOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4uMTZ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROXzE2WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmllZG4uMTZ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJpZWRuLjI0eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl8yNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLjI0eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi4zMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMklFRE5fMzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi4zMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcubGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHX0xBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcubGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNkdfWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcueGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2Zy4yeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2R18yWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcuMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcuNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNkdfNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLjh4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHXzhYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2Zy44eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2Zy4xMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNkdfMTJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2Zy4xMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcuMTZ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHXzE2WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcuMTZ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV9MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV84WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzEyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV8xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfMjRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS4yNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuMzJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzMyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuMzJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUubGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV9YTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS4yeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1XzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUuNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV80WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1Ljh4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfOFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjUuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS4xMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV8xMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjUuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUuMTZ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfMTZYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LjI0eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1XzI0WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS4yNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQubGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEX0xBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQubGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQueGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC4yeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF8yWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQuMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQuNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLjh4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEXzhYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1ZC44eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC4xMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfMTJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1ZC4xMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQuMTZ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEXzE2WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQuMTZ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLjI0eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF8yNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLjI0eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI0LmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI0X0xBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNC5sYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNC54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjRfWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNC54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjQuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNF8yWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNC4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI0LjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjRfNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjQuNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNC44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI0XzhYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI0Ljh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIudDRnLm1lZGl1bVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUNEdfTUVESVVNID0gSW5zdGFuY2VUeXBlLm9mKCdkYi50NGcubWVkaXVtJyk7XG5cbiAgLyoqXG4gICAqIGRiLnQzLm1lZGl1bVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUM19NRURJVU0gPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnQzLm1lZGl1bScpO1xuXG4gIC8qKlxuICAgKiBkYi5zZXJ2ZXJsZXNzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFUlZFUkxFU1MgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnNlcnZlcmxlc3MnKTtcblxuICAvKipcbiAgICogQnVpbGQgYW4gSW5zdGFuY2VUeXBlIGZyb20gZ2l2ZW4gc3RyaW5nIG9yIHRva2VuLCBzdWNoIGFzIENmblBhcmFtZXRlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2YoaW5zdGFuY2VUeXBlOiBzdHJpbmcpOiBJbnN0YW5jZVR5cGUge1xuICAgIHJldHVybiBuZXcgSW5zdGFuY2VUeXBlKGluc3RhbmNlVHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBfaW5zdGFuY2VUeXBlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihpbnN0YW5jZVR5cGU6IHN0cmluZykge1xuICAgIGlmIChjZGsuVG9rZW4uaXNVbnJlc29sdmVkKGluc3RhbmNlVHlwZSkgfHwgaW5zdGFuY2VUeXBlLnN0YXJ0c1dpdGgoJ2RiLicpKSB7XG4gICAgICB0aGlzLl9pbnN0YW5jZVR5cGUgPSBpbnN0YW5jZVR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaW5zdGFuY2UgdHlwZSBtdXN0IHN0YXJ0IHdpdGggJ2RiLic7IChnb3QgJHtpbnN0YW5jZVR5cGV9KWApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEEgZGF0YWJhc2UgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGF0YWJhc2VJbnN0YW5jZSBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIGlkZW50aWZpZXIuXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGluc3RhbmNlIGVuZHBvaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VFbmRwb2ludDogRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBlbmRwb2ludCBhZGRyZXNzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlIEVuZHBvaW50XG4gICAqL1xuICByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBlbmRwb2ludCBwb3J0LlxuICAgKlxuICAgKiBAYXR0cmlidXRlIFBvcnRcbiAgICovXG4gIHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludFBvcnQ6IHN0cmluZztcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBnaXZlbiBuYW1lZCBtZXRyaWMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZGF0YWJhc2UgaW5zdGFuY2VcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbmVwdHVuZS9sYXRlc3QvdXNlcmd1aWRlL2N3LW1ldHJpY3MuaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9uZXB0dW5lL2xhdGVzdC91c2VyZ3VpZGUvY3ctZGltZW5zaW9ucy5odG1sXG4gICAqL1xuICBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IGNsb3Vkd2F0Y2guTWV0cmljT3B0aW9ucyk6IGNsb3Vkd2F0Y2guTWV0cmljO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdGhhdCBkZXNjcmliZSBhbiBleGlzdGluZyBpbnN0YW5jZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlSW5zdGFuY2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmRwb2ludCBhZGRyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VFbmRwb2ludEFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRhdGFiYXNlIHBvcnQuXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG59XG5cbi8qKlxuICogQ29uc3RydWN0aW9uIHByb3BlcnRpZXMgZm9yIGEgRGF0YWJhc2VJbnN0YW5jZU5ld1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlSW5zdGFuY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgTmVwdHVuZSBkYXRhYmFzZSBjbHVzdGVyIHRoZSBpbnN0YW5jZSBzaG91bGQgbGF1bmNoIGludG8uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBJRGF0YWJhc2VDbHVzdGVyO1xuXG4gIC8qKlxuICAgKiBXaGF0IHR5cGUgb2YgaW5zdGFuY2UgdG8gc3RhcnQgZm9yIHRoZSByZXBsaWNhc1xuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBJbnN0YW5jZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSB3aGVyZSB0aGUgREIgaW5zdGFuY2Ugd2lsbCBiZSBsb2NhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHByZWZlcmVuY2VcbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIERCIGluc3RhbmNlLiBJZiB5b3Ugc3BlY2lmeSBhIG5hbWUsIEFXUyBDbG91ZEZvcm1hdGlvblxuICAgKiBjb252ZXJ0cyBpdCB0byBsb3dlcmNhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBDbG91ZEZvcm1hdGlvbiBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZGJJbnN0YW5jZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBEQiBwYXJhbWV0ZXIgZ3JvdXAgdG8gYXNzb2NpYXRlIHdpdGggdGhlIGluc3RhbmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBwYXJhbWV0ZXIgZ3JvdXBcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlckdyb3VwPzogSVBhcmFtZXRlckdyb3VwO1xuXG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gcG9saWN5IHRvIGFwcGx5IHdoZW4gdGhlIGluc3RhbmNlIGlzIHJlbW92ZWQgZnJvbSB0aGVcbiAgICogc3RhY2sgb3IgcmVwbGFjZWQgZHVyaW5nIGFuIHVwZGF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5SZXRhaW5cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBjZGsuUmVtb3ZhbFBvbGljeTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoYXQgbWlub3IgdmVyc2lvbiBwYXRjaGVzIGFyZSBhcHBsaWVkIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgbmV3IG9yIGltcG9ydGVkIGRhdGFiYXNlIGluc3RhbmNlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YWJhc2VJbnN0YW5jZUJhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YWJhc2VJbnN0YW5jZSB7XG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgZGF0YWJhc2UgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21EYXRhYmFzZUluc3RhbmNlQXR0cmlidXRlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogRGF0YWJhc2VJbnN0YW5jZUF0dHJpYnV0ZXMpOiBJRGF0YWJhc2VJbnN0YW5jZSB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgRGF0YWJhc2VJbnN0YW5jZUJhc2UgaW1wbGVtZW50cyBJRGF0YWJhc2VJbnN0YW5jZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFBvcnQgPSBlYzIuUG9ydC50Y3AoYXR0cnMucG9ydCk7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyID0gYXR0cnMuaW5zdGFuY2VJZGVudGlmaWVyO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludEFkZHJlc3MgPSBhdHRycy5pbnN0YW5jZUVuZHBvaW50QWRkcmVzcztcbiAgICAgIHB1YmxpYyByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRQb3J0ID0gYXR0cnMucG9ydC50b1N0cmluZygpO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlRW5kcG9pbnQgPSBuZXcgRW5kcG9pbnQoYXR0cnMuaW5zdGFuY2VFbmRwb2ludEFkZHJlc3MsIGF0dHJzLnBvcnQpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50QWRkcmVzczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludFBvcnQ6IHN0cmluZztcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUVuZHBvaW50OiBFbmRwb2ludDtcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZztcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IGNsb3Vkd2F0Y2guTWV0cmljT3B0aW9ucyk6IGNsb3Vkd2F0Y2guTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9OZXB0dW5lJyxcbiAgICAgIGRpbWVuc2lvbnNNYXA6IHtcbiAgICAgICAgREJJbnN0YW5jZUlkZW50aWZpZXI6IHRoaXMuaW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgfSxcbiAgICAgIG1ldHJpY05hbWUsXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEEgZGF0YWJhc2UgaW5zdGFuY2VcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpOZXB0dW5lOjpEQkluc3RhbmNlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBEYXRhYmFzZUluc3RhbmNlIGV4dGVuZHMgRGF0YWJhc2VJbnN0YW5jZUJhc2UgaW1wbGVtZW50cyBJRGF0YWJhc2VJbnN0YW5jZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLW5lcHR1bmUtYWxwaGEuRGF0YWJhc2VJbnN0YW5jZSc7XG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UncyBkYXRhYmFzZSBjbHVzdGVyXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2x1c3RlcjogSURhdGFiYXNlQ2x1c3RlcjtcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZztcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUVuZHBvaW50OiBFbmRwb2ludDtcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50UG9ydDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZUluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgQ2ZuREJJbnN0YW5jZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBhdXRvTWlub3JWZXJzaW9uVXBncmFkZTogcHJvcHMuYXV0b01pbm9yVmVyc2lvblVwZ3JhZGUsXG4gICAgICBkYkNsdXN0ZXJJZGVudGlmaWVyOiBwcm9wcy5jbHVzdGVyLmNsdXN0ZXJJZGVudGlmaWVyLFxuICAgICAgZGJJbnN0YW5jZUNsYXNzOiBwcm9wcy5pbnN0YW5jZVR5cGUuX2luc3RhbmNlVHlwZSxcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHByb3BzLmF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICBkYkluc3RhbmNlSWRlbnRpZmllcjogcHJvcHMuZGJJbnN0YW5jZU5hbWUsXG4gICAgICBkYlBhcmFtZXRlckdyb3VwTmFtZTogcHJvcHMucGFyYW1ldGVyR3JvdXA/LnBhcmFtZXRlckdyb3VwTmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMuY2x1c3RlciA9IHByb3BzLmNsdXN0ZXI7XG4gICAgdGhpcy5pbnN0YW5jZUlkZW50aWZpZXIgPSBpbnN0YW5jZS5yZWY7XG4gICAgdGhpcy5kYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzID0gaW5zdGFuY2UuYXR0ckVuZHBvaW50O1xuICAgIHRoaXMuZGJJbnN0YW5jZUVuZHBvaW50UG9ydCA9IGluc3RhbmNlLmF0dHJQb3J0O1xuXG4gICAgLy8gY3JlYXRlIGEgbnVtYmVyIHRva2VuIHRoYXQgcmVwcmVzZW50cyB0aGUgcG9ydCBvZiB0aGUgaW5zdGFuY2VcbiAgICBjb25zdCBwb3J0QXR0cmlidXRlID0gY2RrLlRva2VuLmFzTnVtYmVyKGluc3RhbmNlLmF0dHJQb3J0KTtcbiAgICB0aGlzLmluc3RhbmNlRW5kcG9pbnQgPSBuZXcgRW5kcG9pbnQoaW5zdGFuY2UuYXR0ckVuZHBvaW50LCBwb3J0QXR0cmlidXRlKTtcblxuICAgIGluc3RhbmNlLmFwcGx5UmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5LCB7XG4gICAgICBhcHBseVRvVXBkYXRlUmVwbGFjZVBvbGljeTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
412
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBeUQ7QUFDekQsMkNBQTJDO0FBQzNDLHdDQUF3QztBQUd4Qyx5Q0FBc0M7QUFDdEMseURBQXdEO0FBRXhELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFFMUU7OztHQUdHO0FBQ0gsTUFBYSxZQUFZOztJQUN2Qjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxTQUFTLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuRTs7T0FFRztJQUNJLE1BQU0sQ0FBVSxVQUFVLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUVyRTs7T0FFRztJQUNJLE1BQU0sQ0FBVSxXQUFXLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXZFOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFdBQVcsR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFdkU7O09BRUc7SUFDSSxNQUFNLENBQVUsV0FBVyxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV2RTs7T0FFRztJQUNJLE1BQU0sQ0FBVSxZQUFZLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXpFOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFlBQVksR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFekU7O09BRUc7SUFDSSxNQUFNLENBQVUsYUFBYSxHQUFHLFlBQVksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUUzRTs7T0FFRztJQUNJLE1BQU0sQ0FBVSxjQUFjLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FB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QUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztZQUUzRSxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtnQkFDL0MsMEJBQTBCLEVBQUUsSUFBSTthQUNqQyxDQUFDLENBQUM7U0FDSjs7WUF0RFUsdURBQWdCOzs7OztBQUFoQiw0Q0FBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSURhdGFiYXNlQ2x1c3RlciB9IGZyb20gJy4vY2x1c3Rlcic7XG5pbXBvcnQgeyBFbmRwb2ludCB9IGZyb20gJy4vZW5kcG9pbnQnO1xuaW1wb3J0IHsgQ2ZuREJJbnN0YW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1uZXB0dW5lJztcbmltcG9ydCB7IElQYXJhbWV0ZXJHcm91cCB9IGZyb20gJy4vcGFyYW1ldGVyLWdyb3VwJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcblxuLyoqXG4gKiBQb3NzaWJsZSBJbnN0YW5jZXMgVHlwZXMgdG8gdXNlIGluIE5lcHR1bmUgY2x1c3RlclxuICogdXNlZCBmb3IgZGVmaW5pbmcgYERhdGFiYXNlSW5zdGFuY2VQcm9wcy5pbnN0YW5jZVR5cGVgLlxuICovXG5leHBvcnQgY2xhc3MgSW5zdGFuY2VUeXBlIHtcbiAgLyoqXG4gICAqIGRiLngyZy5sYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMkdfTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy5sYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmcueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR19YTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJnLjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJHXzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyZy40eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR180WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmcuNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmcuOHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMkdfOFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLjh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJnLjEyeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgyR18xMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJnLjEyeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyZy4xNnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMkdfMTZYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyZy4xNnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4ueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl9YTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJpZWRuLjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROXzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi40eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl80WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmllZG4uNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4uOHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMklFRE5fOFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLjh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIueDJpZWRuLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFgySUVETl8xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIueDJpZWRuLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLngyaWVkbi4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBYMklFRE5fMjRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLngyaWVkbi4yNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi54MmllZG4uMzJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgWDJJRUROXzMyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi54MmllZG4uMzJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2R19MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2Zy54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNkdfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2Zy40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2Zy44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2R184WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmcuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZHXzEyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmcuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZnLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2R18xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZnLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS5sYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS5sYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV9YTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS40eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV80WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuOHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfOFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjEyeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV8xMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjEyeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI2aS4xNnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNklfMTZYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI2aS4xNnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNmkuMjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjZJXzI0WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNmkuMjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjZpLjMyeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI2SV8zMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjZpLjMyeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1X0xBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS5sYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS54bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV8yWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS4yeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjUuNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1XzhYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1Ljh4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjUuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVfMTJYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1LjEyeGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1LjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1XzE2WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNS4xNnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNS4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNV8yNFhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjUuMjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLmxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF9MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLmxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC54bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEX1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLjJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLjR4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEXzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1ZC40eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF84WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQuOHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNWQuMTJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjVEXzEyWExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNWQuMTJ4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjVkLjE2eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI1RF8xNlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjVkLjE2eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI1ZC4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNURfMjRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI1ZC4yNHhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNC5sYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNF9MQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjQubGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjQueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI0X1hMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjQueGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnI0LjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUjRfMlhMQVJHRSA9IEluc3RhbmNlVHlwZS5vZignZGIucjQuMnhsYXJnZScpO1xuXG4gIC8qKlxuICAgKiBkYi5yNC40eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFI0XzRYTEFSR0UgPSBJbnN0YW5jZVR5cGUub2YoJ2RiLnI0LjR4bGFyZ2UnKTtcblxuICAvKipcbiAgICogZGIucjQuOHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSNF84WExBUkdFID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5yNC44eGxhcmdlJyk7XG5cbiAgLyoqXG4gICAqIGRiLnQ0Zy5tZWRpdW1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVDRHX01FRElVTSA9IEluc3RhbmNlVHlwZS5vZignZGIudDRnLm1lZGl1bScpO1xuXG4gIC8qKlxuICAgKiBkYi50My5tZWRpdW1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVDNfTUVESVVNID0gSW5zdGFuY2VUeXBlLm9mKCdkYi50My5tZWRpdW0nKTtcblxuICAvKipcbiAgICogZGIuc2VydmVybGVzc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRVJWRVJMRVNTID0gSW5zdGFuY2VUeXBlLm9mKCdkYi5zZXJ2ZXJsZXNzJyk7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuIEluc3RhbmNlVHlwZSBmcm9tIGdpdmVuIHN0cmluZyBvciB0b2tlbiwgc3VjaCBhcyBDZm5QYXJhbWV0ZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKGluc3RhbmNlVHlwZTogc3RyaW5nKTogSW5zdGFuY2VUeXBlIHtcbiAgICByZXR1cm4gbmV3IEluc3RhbmNlVHlwZShpbnN0YW5jZVR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgX2luc3RhbmNlVHlwZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoaW5zdGFuY2VUeXBlOiBzdHJpbmcpIHtcbiAgICBpZiAoY2RrLlRva2VuLmlzVW5yZXNvbHZlZChpbnN0YW5jZVR5cGUpIHx8IGluc3RhbmNlVHlwZS5zdGFydHNXaXRoKCdkYi4nKSkge1xuICAgICAgdGhpcy5faW5zdGFuY2VUeXBlID0gaW5zdGFuY2VUeXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGluc3RhbmNlIHR5cGUgbXVzdCBzdGFydCB3aXRoICdkYi4nOyAoZ290ICR7aW5zdGFuY2VUeXBlfSlgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBIGRhdGFiYXNlIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFiYXNlSW5zdGFuY2UgZXh0ZW5kcyBjZGsuSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBlbmRwb2ludC5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlRW5kcG9pbnQ6IEVuZHBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgZW5kcG9pbnQgYWRkcmVzcy5cbiAgICpcbiAgICogQGF0dHJpYnV0ZSBFbmRwb2ludFxuICAgKi9cbiAgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50QWRkcmVzczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgZW5kcG9pbnQgcG9ydC5cbiAgICpcbiAgICogQGF0dHJpYnV0ZSBQb3J0XG4gICAqL1xuICByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRQb3J0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZ2l2ZW4gbmFtZWQgbWV0cmljIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRhdGFiYXNlIGluc3RhbmNlXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL25lcHR1bmUvbGF0ZXN0L3VzZXJndWlkZS9jdy1tZXRyaWNzLmh0bWxcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbmVwdHVuZS9sYXRlc3QvdXNlcmd1aWRlL2N3LWRpbWVuc2lvbnMuaHRtbFxuICAgKi9cbiAgbWV0cmljKG1ldHJpY05hbWU6IHN0cmluZywgcHJvcHM/OiBjbG91ZHdhdGNoLk1ldHJpY09wdGlvbnMpOiBjbG91ZHdhdGNoLk1ldHJpYztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHRoYXQgZGVzY3JpYmUgYW4gZXhpc3RpbmcgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUluc3RhbmNlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgaWRlbnRpZmllci5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlSWRlbnRpZmllcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5kcG9pbnQgYWRkcmVzcy5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlRW5kcG9pbnRBZGRyZXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkYXRhYmFzZSBwb3J0LlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdGlvbiBwcm9wZXJ0aWVzIGZvciBhIERhdGFiYXNlSW5zdGFuY2VOZXdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUluc3RhbmNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIE5lcHR1bmUgZGF0YWJhc2UgY2x1c3RlciB0aGUgaW5zdGFuY2Ugc2hvdWxkIGxhdW5jaCBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgY2x1c3RlcjogSURhdGFiYXNlQ2x1c3RlcjtcblxuICAvKipcbiAgICogV2hhdCB0eXBlIG9mIGluc3RhbmNlIHRvIHN0YXJ0IGZvciB0aGUgcmVwbGljYXNcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlVHlwZTogSW5zdGFuY2VUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXZhaWxhYmlsaXR5IFpvbmUgd2hlcmUgdGhlIERCIGluc3RhbmNlIHdpbGwgYmUgbG9jYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcmVmZXJlbmNlXG4gICAqL1xuICByZWFkb25seSBhdmFpbGFiaWxpdHlab25lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSBEQiBpbnN0YW5jZS4gSWYgeW91IHNwZWNpZnkgYSBuYW1lLCBBV1MgQ2xvdWRGb3JtYXRpb25cbiAgICogY29udmVydHMgaXQgdG8gbG93ZXJjYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgQ2xvdWRGb3JtYXRpb24gZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGRiSW5zdGFuY2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgREIgcGFyYW1ldGVyIGdyb3VwIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gcGFyYW1ldGVyIGdyb3VwXG4gICAqL1xuICByZWFkb25seSBwYXJhbWV0ZXJHcm91cD86IElQYXJhbWV0ZXJHcm91cDtcblxuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHBvbGljeSB0byBhcHBseSB3aGVuIHRoZSBpbnN0YW5jZSBpcyByZW1vdmVkIGZyb20gdGhlXG4gICAqIHN0YWNrIG9yIHJlcGxhY2VkIGR1cmluZyBhbiB1cGRhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuUmV0YWluXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY2RrLlJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGF0IG1pbm9yIHZlcnNpb24gcGF0Y2hlcyBhcmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9NaW5vclZlcnNpb25VcGdyYWRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIG5ldyBvciBpbXBvcnRlZCBkYXRhYmFzZSBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGFiYXNlSW5zdGFuY2VCYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSURhdGFiYXNlSW5zdGFuY2Uge1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGRhdGFiYXNlIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRGF0YWJhc2VJbnN0YW5jZUF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IERhdGFiYXNlSW5zdGFuY2VBdHRyaWJ1dGVzKTogSURhdGFiYXNlSW5zdGFuY2Uge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIERhdGFiYXNlSW5zdGFuY2VCYXNlIGltcGxlbWVudHMgSURhdGFiYXNlSW5zdGFuY2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRQb3J0ID0gZWMyLlBvcnQudGNwKGF0dHJzLnBvcnQpO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlSWRlbnRpZmllciA9IGF0dHJzLmluc3RhbmNlSWRlbnRpZmllcjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRBZGRyZXNzID0gYXR0cnMuaW5zdGFuY2VFbmRwb2ludEFkZHJlc3M7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50UG9ydCA9IGF0dHJzLnBvcnQudG9TdHJpbmcoKTtcbiAgICAgIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUVuZHBvaW50ID0gbmV3IEVuZHBvaW50KGF0dHJzLmluc3RhbmNlRW5kcG9pbnRBZGRyZXNzLCBhdHRycy5wb3J0KTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludEFkZHJlc3M6IHN0cmluZztcblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkYkluc3RhbmNlRW5kcG9pbnRQb3J0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VFbmRwb2ludDogRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgbWV0cmljKG1ldHJpY05hbWU6IHN0cmluZywgcHJvcHM/OiBjbG91ZHdhdGNoLk1ldHJpY09wdGlvbnMpOiBjbG91ZHdhdGNoLk1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvTmVwdHVuZScsXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIERCSW5zdGFuY2VJZGVudGlmaWVyOiB0aGlzLmluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgIH0sXG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGRhdGFiYXNlIGluc3RhbmNlXG4gKlxuICogQHJlc291cmNlIEFXUzo6TmVwdHVuZTo6REJJbnN0YW5jZVxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRGF0YWJhc2VJbnN0YW5jZSBleHRlbmRzIERhdGFiYXNlSW5zdGFuY2VCYXNlIGltcGxlbWVudHMgSURhdGFiYXNlSW5zdGFuY2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1uZXB0dW5lLWFscGhhLkRhdGFiYXNlSW5zdGFuY2UnO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlJ3MgZGF0YWJhc2UgY2x1c3RlclxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXI6IElEYXRhYmFzZUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VFbmRwb2ludDogRW5kcG9pbnQ7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGJJbnN0YW5jZUVuZHBvaW50QWRkcmVzczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRiSW5zdGFuY2VFbmRwb2ludFBvcnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VJbnN0YW5jZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IENmbkRCSW5zdGFuY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgYXV0b01pbm9yVmVyc2lvblVwZ3JhZGU6IHByb3BzLmF1dG9NaW5vclZlcnNpb25VcGdyYWRlLFxuICAgICAgZGJDbHVzdGVySWRlbnRpZmllcjogcHJvcHMuY2x1c3Rlci5jbHVzdGVySWRlbnRpZmllcixcbiAgICAgIGRiSW5zdGFuY2VDbGFzczogcHJvcHMuaW5zdGFuY2VUeXBlLl9pbnN0YW5jZVR5cGUsXG4gICAgICBhdmFpbGFiaWxpdHlab25lOiBwcm9wcy5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgZGJJbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmRiSW5zdGFuY2VOYW1lLFxuICAgICAgZGJQYXJhbWV0ZXJHcm91cE5hbWU6IHByb3BzLnBhcmFtZXRlckdyb3VwPy5wYXJhbWV0ZXJHcm91cE5hbWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNsdXN0ZXIgPSBwcm9wcy5jbHVzdGVyO1xuICAgIHRoaXMuaW5zdGFuY2VJZGVudGlmaWVyID0gaW5zdGFuY2UucmVmO1xuICAgIHRoaXMuZGJJbnN0YW5jZUVuZHBvaW50QWRkcmVzcyA9IGluc3RhbmNlLmF0dHJFbmRwb2ludDtcbiAgICB0aGlzLmRiSW5zdGFuY2VFbmRwb2ludFBvcnQgPSBpbnN0YW5jZS5hdHRyUG9ydDtcblxuICAgIC8vIGNyZWF0ZSBhIG51bWJlciB0b2tlbiB0aGF0IHJlcHJlc2VudHMgdGhlIHBvcnQgb2YgdGhlIGluc3RhbmNlXG4gICAgY29uc3QgcG9ydEF0dHJpYnV0ZSA9IGNkay5Ub2tlbi5hc051bWJlcihpbnN0YW5jZS5hdHRyUG9ydCk7XG4gICAgdGhpcy5pbnN0YW5jZUVuZHBvaW50ID0gbmV3IEVuZHBvaW50KGluc3RhbmNlLmF0dHJFbmRwb2ludCwgcG9ydEF0dHJpYnV0ZSk7XG5cbiAgICBpbnN0YW5jZS5hcHBseVJlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSwge1xuICAgICAgYXBwbHlUb1VwZGF0ZVJlcGxhY2VQb2xpY3k6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|