for-modules 1.1.5 → 1.1.7
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/LICENSE +21 -0
- package/NOTICE.txt +12 -0
- package/README.md +1 -7
- package/TikTok.txt +13 -0
- package/babel.config.json +6 -0
- package/bun.lock +686 -0
- package/dist/Structures/Filters.d.ts +5 -5
- package/dist/Structures/Filters.js +7 -7
- package/dist/Structures/Manager.d.ts +1 -1
- package/dist/Structures/Manager.js +40 -48
- package/dist/Structures/Node.d.ts +1 -1
- package/dist/Structures/Node.js +31 -19
- package/dist/Structures/Player.d.ts +1 -1
- package/dist/Structures/Player.js +64 -37
- package/dist/Structures/Queue.js +3 -2
- package/dist/Structures/Rest.d.ts +2 -0
- package/dist/Structures/Rest.js +5 -4
- package/dist/Structures/Utils.d.ts +1 -1
- package/dist/Structures/Utils.js +21 -19
- package/dist/Utils/ManagerCheck.js +2 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -12
- package/eslint.config.d.ts +2 -0
- package/eslint.config.js +12 -0
- package/ff.txt +3037 -0
- package/package.json +54 -24
- package/renovate.json +6 -0
- package/tsconfig.json +24 -0
- package/dist/Structures/TikTok.d.ts +0 -18
- package/dist/Structures/TikTok.js +0 -118
|
@@ -36,7 +36,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
36
36
|
* @param options
|
|
37
37
|
*/
|
|
38
38
|
function Player(options) {
|
|
39
|
-
var _options$volume;
|
|
39
|
+
var _options$node, _options$volume;
|
|
40
40
|
_classCallCheck(this, Player);
|
|
41
41
|
/** The Queue for the Player. */
|
|
42
42
|
_defineProperty(this, "queue", new (_Utils.Structure.get("Queue"))());
|
|
@@ -52,6 +52,10 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
52
52
|
_defineProperty(this, "playing", false);
|
|
53
53
|
/** Whether the player is paused. */
|
|
54
54
|
_defineProperty(this, "paused", false);
|
|
55
|
+
/** The volume for the player */
|
|
56
|
+
_defineProperty(this, "volume", 100);
|
|
57
|
+
/** The guild for the player. */
|
|
58
|
+
_defineProperty(this, "guild", "");
|
|
55
59
|
/** The voice channel for the player. */
|
|
56
60
|
_defineProperty(this, "voiceChannel", null);
|
|
57
61
|
/** The text channel for the player. */
|
|
@@ -77,7 +81,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
77
81
|
});
|
|
78
82
|
if (options.voiceChannel) this.voiceChannel = options.voiceChannel;
|
|
79
83
|
if (options.textChannel) this.textChannel = options.textChannel;
|
|
80
|
-
var node = this.manager.nodes.get(options.node);
|
|
84
|
+
var node = this.manager.nodes.get((_options$node = options.node) !== null && _options$node !== void 0 ? _options$node : "");
|
|
81
85
|
this.node = node || this.manager.useableNodes;
|
|
82
86
|
if (!this.node) throw new RangeError("No available nodes.");
|
|
83
87
|
this.manager.players.set(options.guild, this);
|
|
@@ -149,46 +153,59 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
149
153
|
key: "moveNode",
|
|
150
154
|
value: (function () {
|
|
151
155
|
var _moveNode = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(node) {
|
|
152
|
-
var _this
|
|
156
|
+
var _this$manager$leastLo,
|
|
157
|
+
_this$manager$nodes$f,
|
|
158
|
+
_this = this,
|
|
159
|
+
_this$queue$current$t,
|
|
153
160
|
_this$queue$current,
|
|
154
161
|
_this$voiceState$sess,
|
|
155
|
-
_this$voiceState
|
|
156
|
-
|
|
162
|
+
_this$voiceState,
|
|
163
|
+
_this$voiceChannel;
|
|
164
|
+
var destroyOldNode, currentNode, destinationNode, position, _fetchedPlayer$track, fetchedPlayer;
|
|
157
165
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
158
166
|
while (1) switch (_context2.prev = _context2.next) {
|
|
159
167
|
case 0:
|
|
160
|
-
node = node || this.manager.leastLoadNode.first().options.identifier || this.manager.nodes.filter(function (n) {
|
|
168
|
+
node = node || ((_this$manager$leastLo = this.manager.leastLoadNode.first()) === null || _this$manager$leastLo === void 0 ? void 0 : _this$manager$leastLo.options.identifier) || ((_this$manager$nodes$f = this.manager.nodes.filter(function (n) {
|
|
161
169
|
return n.connected;
|
|
162
|
-
}).first().options.identifier;
|
|
163
|
-
if (
|
|
170
|
+
}).first()) === null || _this$manager$nodes$f === void 0 ? void 0 : _this$manager$nodes$f.options.identifier);
|
|
171
|
+
if (node) {
|
|
164
172
|
_context2.next = 3;
|
|
165
173
|
break;
|
|
166
174
|
}
|
|
167
175
|
throw new RangeError("No nodes available.");
|
|
168
176
|
case 3:
|
|
169
|
-
if (
|
|
177
|
+
if (this.manager.nodes.has(node)) {
|
|
170
178
|
_context2.next = 5;
|
|
171
179
|
break;
|
|
172
180
|
}
|
|
173
|
-
|
|
181
|
+
throw new RangeError("No nodes available.");
|
|
174
182
|
case 5:
|
|
183
|
+
if (!(this.node.options.identifier === node)) {
|
|
184
|
+
_context2.next = 7;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
return _context2.abrupt("return", this);
|
|
188
|
+
case 7:
|
|
175
189
|
destroyOldNode = /*#__PURE__*/function () {
|
|
176
190
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(node) {
|
|
191
|
+
var _node$options$identif;
|
|
192
|
+
var existingNode;
|
|
177
193
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
178
194
|
while (1) switch (_context.prev = _context.next) {
|
|
179
195
|
case 0:
|
|
180
196
|
_this.state = "MOVING";
|
|
181
|
-
|
|
182
|
-
|
|
197
|
+
existingNode = _this.manager.nodes.get((_node$options$identif = node.options.identifier) !== null && _node$options$identif !== void 0 ? _node$options$identif : "");
|
|
198
|
+
if (!(existingNode && existingNode.connected)) {
|
|
199
|
+
_context.next = 5;
|
|
183
200
|
break;
|
|
184
201
|
}
|
|
185
|
-
_context.next =
|
|
202
|
+
_context.next = 5;
|
|
186
203
|
return node.rest.destroyPlayer(_this.guild);
|
|
187
|
-
case
|
|
204
|
+
case 5:
|
|
188
205
|
setTimeout(function () {
|
|
189
206
|
return _this.state = "CONNECTED";
|
|
190
207
|
}, 5000);
|
|
191
|
-
case
|
|
208
|
+
case 6:
|
|
192
209
|
case "end":
|
|
193
210
|
return _context.stop();
|
|
194
211
|
}
|
|
@@ -200,22 +217,30 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
200
217
|
}();
|
|
201
218
|
currentNode = this.node;
|
|
202
219
|
destinationNode = this.manager.nodes.get(node);
|
|
220
|
+
if (destinationNode) {
|
|
221
|
+
_context2.next = 12;
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
throw new RangeError("Node \"".concat(node, "\" not found."));
|
|
225
|
+
case 12:
|
|
203
226
|
position = this.position;
|
|
204
227
|
if (!currentNode.connected) {
|
|
205
|
-
_context2.next =
|
|
228
|
+
_context2.next = 18;
|
|
206
229
|
break;
|
|
207
230
|
}
|
|
208
|
-
_context2.next =
|
|
231
|
+
_context2.next = 16;
|
|
209
232
|
return currentNode.rest.get("/v4/sessions/".concat(currentNode.sessionId, "/players/").concat(this.guild));
|
|
210
|
-
case
|
|
233
|
+
case 16:
|
|
211
234
|
fetchedPlayer = _context2.sent;
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
235
|
+
if (fetchedPlayer !== null && fetchedPlayer !== void 0 && (_fetchedPlayer$track = fetchedPlayer.track) !== null && _fetchedPlayer$track !== void 0 && _fetchedPlayer$track.info) {
|
|
236
|
+
position = fetchedPlayer.track.info.position;
|
|
237
|
+
}
|
|
238
|
+
case 18:
|
|
239
|
+
_context2.next = 20;
|
|
215
240
|
return destinationNode.rest.updatePlayer({
|
|
216
241
|
guildId: this.guild,
|
|
217
242
|
data: {
|
|
218
|
-
encodedTrack: (_this$queue$current = this.queue.current) === null || _this$queue$current === void 0 ? void 0 : _this$queue$current.track,
|
|
243
|
+
encodedTrack: (_this$queue$current$t = (_this$queue$current = this.queue.current) === null || _this$queue$current === void 0 ? void 0 : _this$queue$current.track) !== null && _this$queue$current$t !== void 0 ? _this$queue$current$t : undefined,
|
|
219
244
|
position: position,
|
|
220
245
|
volume: this.volume,
|
|
221
246
|
paused: this.paused,
|
|
@@ -230,23 +255,24 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
230
255
|
}
|
|
231
256
|
}
|
|
232
257
|
});
|
|
233
|
-
case
|
|
234
|
-
_context2.next =
|
|
258
|
+
case 20:
|
|
259
|
+
_context2.next = 22;
|
|
235
260
|
return destinationNode.rest.updatePlayer({
|
|
236
261
|
guildId: this.guild,
|
|
237
262
|
data: {
|
|
238
263
|
voice: {
|
|
239
264
|
token: this.voiceState.event.token,
|
|
240
265
|
endpoint: this.voiceState.event.endpoint,
|
|
241
|
-
sessionId: (_this$voiceState$sess = (_this$voiceState = this.voiceState) === null || _this$voiceState === void 0 ? void 0 : _this$voiceState.sessionId) !== null && _this$voiceState$sess !== void 0 ? _this$voiceState$sess : ""
|
|
266
|
+
sessionId: (_this$voiceState$sess = (_this$voiceState = this.voiceState) === null || _this$voiceState === void 0 ? void 0 : _this$voiceState.sessionId) !== null && _this$voiceState$sess !== void 0 ? _this$voiceState$sess : "",
|
|
267
|
+
channelId: (_this$voiceChannel = this.voiceChannel) !== null && _this$voiceChannel !== void 0 ? _this$voiceChannel : ""
|
|
242
268
|
}
|
|
243
269
|
}
|
|
244
270
|
});
|
|
245
|
-
case
|
|
271
|
+
case 22:
|
|
246
272
|
this.node = destinationNode;
|
|
247
273
|
destroyOldNode(currentNode);
|
|
248
274
|
return _context2.abrupt("return", this);
|
|
249
|
-
case
|
|
275
|
+
case 25:
|
|
250
276
|
case "end":
|
|
251
277
|
return _context2.stop();
|
|
252
278
|
}
|
|
@@ -331,7 +357,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
331
357
|
key: "play",
|
|
332
358
|
value: function () {
|
|
333
359
|
var _play = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(optionsOrTrack, playOptions) {
|
|
334
|
-
var _this$queue$current2;
|
|
360
|
+
var _this$queue$current$t2, _this$queue$current2;
|
|
335
361
|
var finalOptions;
|
|
336
362
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
337
363
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -376,7 +402,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
376
402
|
return this.node.rest.updatePlayer({
|
|
377
403
|
guildId: this.guild,
|
|
378
404
|
data: _objectSpread({
|
|
379
|
-
encodedTrack: (_this$queue$current2 = this.queue.current) === null || _this$queue$current2 === void 0 ? void 0 : _this$queue$current2.track
|
|
405
|
+
encodedTrack: (_this$queue$current$t2 = (_this$queue$current2 = this.queue.current) === null || _this$queue$current2 === void 0 ? void 0 : _this$queue$current2.track) !== null && _this$queue$current$t2 !== void 0 ? _this$queue$current$t2 : undefined
|
|
380
406
|
}, finalOptions)
|
|
381
407
|
});
|
|
382
408
|
case 19:
|
|
@@ -423,7 +449,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
423
449
|
key: "getRecommended",
|
|
424
450
|
value: (function () {
|
|
425
451
|
var _getRecommended = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(track, requester) {
|
|
426
|
-
var node, hasSpotifyURL, hasYouTubeURL, _res, info, isSpotifyPluginEnabled, isSpotifySourceManagerEnabled, trackID, artistID, identifier, recommendedResult, playlistData, recommendedTracks, _tracks, videoID, _res2, searchURI, res, tracks, filteredTracks, _iterator, _step, _track, _track$title$split$ma, _track$title$split$ma2, author, title;
|
|
452
|
+
var node, hasSpotifyURL, hasYouTubeURL, _res, info, isSpotifyPluginEnabled, isSpotifySourceManagerEnabled, _track$pluginInfo$art, trackID, artistID, identifier, recommendedResult, playlistData, recommendedTracks, _tracks, videoID, _res2, searchURI, res, tracks, _res$playlist$tracks, _res$playlist, filteredTracks, _iterator, _step, _track, _track$title$split$ma, _track$title$split$ma2, author, title;
|
|
427
453
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
428
454
|
while (1) switch (_context4.prev = _context4.next) {
|
|
429
455
|
case 0:
|
|
@@ -458,7 +484,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
458
484
|
break;
|
|
459
485
|
}
|
|
460
486
|
trackID = node.extractSpotifyTrackID(track.uri);
|
|
461
|
-
artistID = node.extractSpotifyArtistID(track.pluginInfo.artistUrl);
|
|
487
|
+
artistID = node.extractSpotifyArtistID((_track$pluginInfo$art = track.pluginInfo.artistUrl) !== null && _track$pluginInfo$art !== void 0 ? _track$pluginInfo$art : "");
|
|
462
488
|
identifier = "";
|
|
463
489
|
if (trackID && artistID) {
|
|
464
490
|
identifier = "sprec:seed_artists=".concat(artistID, "&seed_tracks=").concat(trackID);
|
|
@@ -514,7 +540,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
514
540
|
case 39:
|
|
515
541
|
tracks = res.tracks;
|
|
516
542
|
if (res.loadType === "playlist") {
|
|
517
|
-
tracks = res.playlist.tracks;
|
|
543
|
+
tracks = (_res$playlist$tracks = (_res$playlist = res.playlist) === null || _res$playlist === void 0 ? void 0 : _res$playlist.tracks) !== null && _res$playlist$tracks !== void 0 ? _res$playlist$tracks : tracks;
|
|
518
544
|
}
|
|
519
545
|
filteredTracks = tracks.filter(function (track) {
|
|
520
546
|
return track.uri !== "https://www.youtube.com/watch?v=".concat(videoID);
|
|
@@ -682,7 +708,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
682
708
|
this.node.rest.updatePlayer({
|
|
683
709
|
guildId: this.guild,
|
|
684
710
|
data: {
|
|
685
|
-
encodedTrack:
|
|
711
|
+
encodedTrack: undefined
|
|
686
712
|
}
|
|
687
713
|
});
|
|
688
714
|
return this;
|
|
@@ -714,7 +740,7 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
714
740
|
}, {
|
|
715
741
|
key: "previous",
|
|
716
742
|
value: function previous() {
|
|
717
|
-
this.queue.unshift(this.queue.previous);
|
|
743
|
+
if (this.queue.previous) this.queue.unshift(this.queue.previous);
|
|
718
744
|
this.stop();
|
|
719
745
|
return this;
|
|
720
746
|
}
|
|
@@ -726,10 +752,11 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
726
752
|
}, {
|
|
727
753
|
key: "seek",
|
|
728
754
|
value: function seek(position) {
|
|
729
|
-
|
|
755
|
+
var _this$queue$current$d, _this$queue$current$d2;
|
|
756
|
+
if (!this.queue.current) return this;
|
|
730
757
|
position = Number(position);
|
|
731
758
|
if (isNaN(position)) throw new RangeError("Position must be a number.");
|
|
732
|
-
if (position < 0 || position > this.queue.current.duration) position = Math.max(Math.min(position, this.queue.current.duration), 0);
|
|
759
|
+
if (position < 0 || position > ((_this$queue$current$d = this.queue.current.duration) !== null && _this$queue$current$d !== void 0 ? _this$queue$current$d : 0)) position = Math.max(Math.min(position, (_this$queue$current$d2 = this.queue.current.duration) !== null && _this$queue$current$d2 !== void 0 ? _this$queue$current$d2 : 0), 0);
|
|
733
760
|
this.position = position;
|
|
734
761
|
this.node.rest.updatePlayer({
|
|
735
762
|
guildId: this.guild,
|
|
@@ -748,4 +775,4 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
748
775
|
}();
|
|
749
776
|
/** If track partials are set some of these will be `undefined` as they were removed. */
|
|
750
777
|
/** Unresolved tracks can't be played normally, they will resolve before playing into a Track. */
|
|
751
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRmlsdGVycyIsInJlcXVpcmUiLCJfVXRpbHMiLCJfIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUGxheWVyQ2hlY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJXZWFrTWFwIiwiciIsInQiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiZiIsIm8iLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImxlbmd0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwicHJvdG90eXBlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsImtleSIsIl9jcmVhdGVDbGFzcyIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiUGxheWVyIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJfb3B0aW9ucyR2b2x1bWUiLCJTdHJ1Y3R1cmUiLCJmaWxsIiwibWFuYWdlciIsIl9tYW5hZ2VyIiwiUmFuZ2VFcnJvciIsInBsYXllcnMiLCJndWlsZCIsInBsYXllckNoZWNrIiwidm9pY2VTdGF0ZSIsImFzc2lnbiIsIm9wIiwiZ3VpbGRfaWQiLCJ2b2ljZUNoYW5uZWwiLCJ0ZXh0Q2hhbm5lbCIsIm5vZGUiLCJub2RlcyIsInVzZWFibGVOb2RlcyIsImVtaXQiLCJzZXRWb2x1bWUiLCJ2b2x1bWUiLCJmaWx0ZXJzIiwiRmlsdGVycyIsImRhdGEiLCJzZWFyY2giLCJxdWVyeSIsInJlcXVlc3RlciIsImNvbm5lY3QiLCJzdGF0ZSIsInNlbmQiLCJjaGFubmVsX2lkIiwic2VsZl9tdXRlIiwic2VsZk11dGUiLCJzZWxmX2RlYWYiLCJzZWxmRGVhZmVuIiwiX21vdmVOb2RlIiwiX2NhbGxlZTIiLCJfdGhpcyIsIl90aGlzJHF1ZXVlJGN1cnJlbnQiLCJfdGhpcyR2b2ljZVN0YXRlJHNlc3MiLCJfdGhpcyR2b2ljZVN0YXRlIiwiZGVzdHJveU9sZE5vZGUiLCJjdXJyZW50Tm9kZSIsImRlc3RpbmF0aW9uTm9kZSIsInBvc2l0aW9uIiwiZmV0Y2hlZFBsYXllciIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImxlYXN0TG9hZE5vZGUiLCJmaXJzdCIsImlkZW50aWZpZXIiLCJjb25uZWN0ZWQiLCJfcmVmIiwiX2NhbGxlZSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJyZXN0IiwiZGVzdHJveVBsYXllciIsInNldFRpbWVvdXQiLCJfeDIiLCJjb25jYXQiLCJzZXNzaW9uSWQiLCJ0cmFjayIsImluZm8iLCJ1cGRhdGVQbGF5ZXIiLCJndWlsZElkIiwiZW5jb2RlZFRyYWNrIiwicXVldWUiLCJjdXJyZW50IiwicGF1c2VkIiwiZGlzdG9ydGlvbiIsImVxdWFsaXplciIsImthcmFva2UiLCJyb3RhdGlvbiIsInRpbWVzY2FsZSIsInZpYnJhdG8iLCJ2b2ljZSIsInRva2VuIiwiZXZlbnQiLCJlbmRwb2ludCIsIm1vdmVOb2RlIiwiX3giLCJkaXNjb25uZWN0IiwicGF1c2UiLCJkZXN0cm95IiwidW5kZWZpbmVkIiwic2V0Vm9pY2VDaGFubmVsIiwiY2hhbm5lbCIsInNldFRleHRDaGFubmVsIiwic2V0Tm93UGxheWluZ01lc3NhZ2UiLCJtZXNzYWdlIiwibm93UGxheWluZ01lc3NhZ2UiLCJfcGxheSIsIl9jYWxsZWUzIiwib3B0aW9uc09yVHJhY2siLCJwbGF5T3B0aW9ucyIsIl90aGlzJHF1ZXVlJGN1cnJlbnQyIiwiZmluYWxPcHRpb25zIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQzIiwiVHJhY2tVdGlscyIsInZhbGlkYXRlIiwicHJldmlvdXMiLCJldmVyeSIsImluY2x1ZGVzIiwiaXNVbnJlc29sdmVkVHJhY2siLCJnZXRDbG9zZXN0VHJhY2siLCJ0MCIsInBsYXkiLCJwbGF5aW5nIiwiX3gzIiwiX3g0Iiwic2V0QXV0b3BsYXkiLCJhdXRvcGxheVN0YXRlIiwiYm90VXNlciIsImlzQXV0b3BsYXkiLCJfZ2V0UmVjb21tZW5kZWQiLCJfY2FsbGVlNCIsImhhc1Nwb3RpZnlVUkwiLCJoYXNZb3VUdWJlVVJMIiwiX3JlcyIsImlzU3BvdGlmeVBsdWdpbkVuYWJsZWQiLCJpc1Nwb3RpZnlTb3VyY2VNYW5hZ2VyRW5hYmxlZCIsInRyYWNrSUQiLCJhcnRpc3RJRCIsInJlY29tbWVuZGVkUmVzdWx0IiwicGxheWxpc3REYXRhIiwicmVjb21tZW5kZWRUcmFja3MiLCJfdHJhY2tzIiwidmlkZW9JRCIsIl9yZXMyIiwic2VhcmNoVVJJIiwicmVzIiwidHJhY2tzIiwiZmlsdGVyZWRUcmFja3MiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIl90cmFjayIsIl90cmFjayR0aXRsZSRzcGxpdCRtYSIsIl90cmFjayR0aXRsZSRzcGxpdCRtYTIiLCJhdXRob3IiLCJ0aXRsZSIsIl9jYWxsZWU0JCIsIl9jb250ZXh0NCIsInNvbWUiLCJ1cmwiLCJ1cmkiLCJwbHVnaW5zIiwicGx1Z2luIiwic291cmNlTWFuYWdlcnMiLCJleHRyYWN0U3BvdGlmeVRyYWNrSUQiLCJleHRyYWN0U3BvdGlmeUFydGlzdElEIiwicGx1Z2luSW5mbyIsImFydGlzdFVybCIsImVuY29kZVVSSUNvbXBvbmVudCIsImxvYWRUeXBlIiwibWFwIiwiYnVpbGQiLCJzdWJzdHJpbmciLCJpbmRleE9mIiwicGxheWxpc3QiLCJyZXBsYWNlWW91VHViZUNyZWRlbnRpYWxzIiwicmVwbGFjZSIsInNwbGl0Iiwic3RyIiwidHJpbSIsImVyciIsImdldFJlY29tbWVuZGVkIiwiX3g1IiwiX3g2Iiwic2V0VHJhY2tSZXBlYXQiLCJyZXBlYXQiLCJvbGRQbGF5ZXIiLCJ0cmFja1JlcGVhdCIsInF1ZXVlUmVwZWF0IiwiZHluYW1pY1JlcGVhdCIsInNldFF1ZXVlUmVwZWF0Iiwic2V0RHluYW1pY1JlcGVhdCIsIm1zIiwiX3RoaXMyIiwic2l6ZSIsImR5bmFtaWNMb29wSW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsInNodWZmbGVkIiwic2h1ZmZsZSIsImNsZWFyIiwiYWRkIiwiY2xlYXJJbnRlcnZhbCIsInJlc3RhcnQiLCJfdGhpcyRxdWV1ZSRjdXJyZW50MyIsIl90aGlzJHF1ZXVlJGN1cnJlbnQ0IiwiYW1vdW50Iiwic3BsaWNlIiwidG90YWxTaXplIiwidW5zaGlmdCIsInNlZWsiLCJkdXJhdGlvbiIsIk1hdGgiLCJtYXgiLCJtaW4iLCJpbml0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0cnVjdHVyZXMvUGxheWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlcnMgfSBmcm9tIFwiLi9GaWx0ZXJzXCI7XG5pbXBvcnQgeyBMYXZhbGlua1Jlc3BvbnNlLCBNYW5hZ2VyLCBQbGF5bGlzdFJhd0RhdGEsIFNlYXJjaFF1ZXJ5LCBTZWFyY2hSZXN1bHQgfSBmcm9tIFwiLi9NYW5hZ2VyXCI7XG5pbXBvcnQgeyBMYXZhbGlua0luZm8sIE5vZGUgfSBmcm9tIFwiLi9Ob2RlXCI7XG5pbXBvcnQgeyBRdWV1ZSB9IGZyb20gXCIuL1F1ZXVlXCI7XG5pbXBvcnQgeyBTaXplcywgU3RhdGUsIFN0cnVjdHVyZSwgVHJhY2tTb3VyY2VOYW1lLCBUcmFja1V0aWxzLCBWb2ljZVN0YXRlIH0gZnJvbSBcIi4vVXRpbHNcIjtcbmltcG9ydCAqIGFzIF8gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHBsYXllckNoZWNrIGZyb20gXCIuLi9VdGlscy9QbGF5ZXJDaGVja1wiO1xuaW1wb3J0IHsgQ2xpZW50VXNlciwgTWVzc2FnZSwgVXNlciB9IGZyb20gXCJkaXNjb3JkLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBQbGF5ZXIge1xuXHQvKiogVGhlIFF1ZXVlIGZvciB0aGUgUGxheWVyLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgcXVldWUgPSBuZXcgKFN0cnVjdHVyZS5nZXQoXCJRdWV1ZVwiKSkoKSBhcyBRdWV1ZTtcblx0LyoqIFRoZSBmaWx0ZXJzIGFwcGxpZWQgdG8gdGhlIGF1ZGlvLiAqL1xuXHRwdWJsaWMgZmlsdGVyczogRmlsdGVycztcblx0LyoqIFdoZXRoZXIgdGhlIHF1ZXVlIHJlcGVhdHMgdGhlIHRyYWNrLiAqL1xuXHRwdWJsaWMgdHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0LyoqIFdoZXRoZXIgdGhlIHF1ZXVlIHJlcGVhdHMgdGhlIHF1ZXVlLiAqL1xuXHRwdWJsaWMgcXVldWVSZXBlYXQgPSBmYWxzZTtcblx0LyoqV2hldGhlciB0aGUgcXVldWUgcmVwZWF0cyBhbmQgc2h1ZmZsZXMgYWZ0ZXIgZWFjaCBzb25nLiAqL1xuXHRwdWJsaWMgZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHQvKiogVGhlIHRpbWUgdGhlIHBsYXllciBpcyBpbiB0aGUgdHJhY2suICovXG5cdHB1YmxpYyBwb3NpdGlvbiA9IDA7XG5cdC8qKiBXaGV0aGVyIHRoZSBwbGF5ZXIgaXMgcGxheWluZy4gKi9cblx0cHVibGljIHBsYXlpbmcgPSBmYWxzZTtcblx0LyoqIFdoZXRoZXIgdGhlIHBsYXllciBpcyBwYXVzZWQuICovXG5cdHB1YmxpYyBwYXVzZWQgPSBmYWxzZTtcblx0LyoqIFRoZSB2b2x1bWUgZm9yIHRoZSBwbGF5ZXIgKi9cblx0cHVibGljIHZvbHVtZTogbnVtYmVyO1xuXHQvKiogVGhlIE5vZGUgZm9yIHRoZSBQbGF5ZXIuICovXG5cdHB1YmxpYyBub2RlOiBOb2RlO1xuXHQvKiogVGhlIGd1aWxkIGZvciB0aGUgcGxheWVyLiAqL1xuXHRwdWJsaWMgZ3VpbGQ6IHN0cmluZztcblx0LyoqIFRoZSB2b2ljZSBjaGFubmVsIGZvciB0aGUgcGxheWVyLiAqL1xuXHRwdWJsaWMgdm9pY2VDaGFubmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblx0LyoqIFRoZSB0ZXh0IGNoYW5uZWwgZm9yIHRoZSBwbGF5ZXIuICovXG5cdHB1YmxpYyB0ZXh0Q2hhbm5lbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cdC8qKlRoZSBub3cgcGxheWluZyBtZXNzYWdlLiAqL1xuXHRwdWJsaWMgbm93UGxheWluZ01lc3NhZ2U/OiBNZXNzYWdlO1xuXHQvKiogVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHBsYXllci4gKi9cblx0cHVibGljIHN0YXRlOiBTdGF0ZSA9IFwiRElTQ09OTkVDVEVEXCI7XG5cdC8qKiBUaGUgZXF1YWxpemVyIGJhbmRzIGFycmF5LiAqL1xuXHRwdWJsaWMgYmFuZHMgPSBuZXcgQXJyYXk8bnVtYmVyPigxNSkuZmlsbCgwLjApO1xuXHQvKiogVGhlIHZvaWNlIHN0YXRlIG9iamVjdCBmcm9tIERpc2NvcmQuICovXG5cdHB1YmxpYyB2b2ljZVN0YXRlOiBWb2ljZVN0YXRlO1xuXHQvKiogVGhlIE1hbmFnZXIuICovXG5cdHB1YmxpYyBtYW5hZ2VyOiBNYW5hZ2VyO1xuXHQvKiogVGhlIGF1dG9wbGF5IHN0YXRlIG9mIHRoZSBwbGF5ZXIuICovXG5cdHB1YmxpYyBpc0F1dG9wbGF5OiBib29sZWFuID0gZmFsc2U7XG5cblx0cHJpdmF0ZSBzdGF0aWMgX21hbmFnZXI6IE1hbmFnZXI7XG5cdHByaXZhdGUgcmVhZG9ubHkgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblx0cHJpdmF0ZSBkeW5hbWljTG9vcEludGVydmFsOiBOb2RlSlMuVGltZW91dDtcblxuXHQvKipcblx0ICogU2V0IGN1c3RvbSBkYXRhLlxuXHQgKiBAcGFyYW0ga2V5XG5cdCAqIEBwYXJhbSB2YWx1ZVxuXHQgKi9cblx0cHVibGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiB2b2lkIHtcblx0XHR0aGlzLmRhdGFba2V5XSA9IHZhbHVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCBjdXN0b20gZGF0YS5cblx0ICogQHBhcmFtIGtleVxuXHQgKi9cblx0cHVibGljIGdldDxUPihrZXk6IHN0cmluZyk6IFQge1xuXHRcdHJldHVybiB0aGlzLmRhdGFba2V5XSBhcyBUO1xuXHR9XG5cblx0LyoqIEBoaWRkZW4gKi9cblx0cHVibGljIHN0YXRpYyBpbml0KG1hbmFnZXI6IE1hbmFnZXIpOiB2b2lkIHtcblx0XHR0aGlzLl9tYW5hZ2VyID0gbWFuYWdlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHBsYXllciwgcmV0dXJucyBvbmUgaWYgaXQgYWxyZWFkeSBleGlzdHMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogUGxheWVyT3B0aW9ucykge1xuXHRcdGlmICghdGhpcy5tYW5hZ2VyKSB0aGlzLm1hbmFnZXIgPSBTdHJ1Y3R1cmUuZ2V0KFwiUGxheWVyXCIpLl9tYW5hZ2VyO1xuXHRcdGlmICghdGhpcy5tYW5hZ2VyKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk1hbmFnZXIgaGFzIG5vdCBiZWVuIGluaXRpYXRlZC5cIik7XG5cblx0XHRpZiAodGhpcy5tYW5hZ2VyLnBsYXllcnMuaGFzKG9wdGlvbnMuZ3VpbGQpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5tYW5hZ2VyLnBsYXllcnMuZ2V0KG9wdGlvbnMuZ3VpbGQpO1xuXHRcdH1cblxuXHRcdHBsYXllckNoZWNrKG9wdGlvbnMpO1xuXG5cdFx0dGhpcy5ndWlsZCA9IG9wdGlvbnMuZ3VpbGQ7XG5cdFx0dGhpcy52b2ljZVN0YXRlID0gT2JqZWN0LmFzc2lnbih7XG5cdFx0XHRvcDogXCJ2b2ljZVVwZGF0ZVwiLFxuXHRcdFx0Z3VpbGRfaWQ6IG9wdGlvbnMuZ3VpbGQsXG5cdFx0fSk7XG5cblx0XHRpZiAob3B0aW9ucy52b2ljZUNoYW5uZWwpIHRoaXMudm9pY2VDaGFubmVsID0gb3B0aW9ucy52b2ljZUNoYW5uZWw7XG5cdFx0aWYgKG9wdGlvbnMudGV4dENoYW5uZWwpIHRoaXMudGV4dENoYW5uZWwgPSBvcHRpb25zLnRleHRDaGFubmVsO1xuXG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubWFuYWdlci5ub2Rlcy5nZXQob3B0aW9ucy5ub2RlKTtcblx0XHR0aGlzLm5vZGUgPSBub2RlIHx8IHRoaXMubWFuYWdlci51c2VhYmxlTm9kZXM7XG5cblx0XHRpZiAoIXRoaXMubm9kZSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpO1xuXG5cdFx0dGhpcy5tYW5hZ2VyLnBsYXllcnMuc2V0KG9wdGlvbnMuZ3VpbGQsIHRoaXMpO1xuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyQ3JlYXRlXCIsIHRoaXMpO1xuXHRcdHRoaXMuc2V0Vm9sdW1lKG9wdGlvbnMudm9sdW1lID8/IDEwMCk7XG5cdFx0dGhpcy5maWx0ZXJzID0gbmV3IEZpbHRlcnModGhpcyk7XG5cdH1cblxuXHQvKipcblx0ICogU2FtZSBhcyBNYW5hZ2VyI3NlYXJjaCgpIGJ1dCBhIHNob3J0Y3V0IG9uIHRoZSBwbGF5ZXIgaXRzZWxmLlxuXHQgKiBAcGFyYW0gcXVlcnlcblx0ICogQHBhcmFtIHJlcXVlc3RlclxuXHQgKi9cblx0cHVibGljIHNlYXJjaChxdWVyeTogc3RyaW5nIHwgU2VhcmNoUXVlcnksIHJlcXVlc3Rlcj86IFVzZXIgfCBDbGllbnRVc2VyKTogUHJvbWlzZTxTZWFyY2hSZXN1bHQ+IHtcblx0XHRyZXR1cm4gdGhpcy5tYW5hZ2VyLnNlYXJjaChxdWVyeSwgcmVxdWVzdGVyKTtcblx0fVxuXG5cdC8qKiBDb25uZWN0IHRvIHRoZSB2b2ljZSBjaGFubmVsLiAqL1xuXHRwdWJsaWMgY29ubmVjdCgpOiB0aGlzIHtcblx0XHRpZiAoIXRoaXMudm9pY2VDaGFubmVsKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk5vIHZvaWNlIGNoYW5uZWwgaGFzIGJlZW4gc2V0LlwiKTtcblx0XHR0aGlzLnN0YXRlID0gXCJDT05ORUNUSU5HXCI7XG5cblx0XHR0aGlzLm1hbmFnZXIub3B0aW9ucy5zZW5kKHRoaXMuZ3VpbGQsIHtcblx0XHRcdG9wOiA0LFxuXHRcdFx0ZDoge1xuXHRcdFx0XHRndWlsZF9pZDogdGhpcy5ndWlsZCxcblx0XHRcdFx0Y2hhbm5lbF9pZDogdGhpcy52b2ljZUNoYW5uZWwsXG5cdFx0XHRcdHNlbGZfbXV0ZTogdGhpcy5vcHRpb25zLnNlbGZNdXRlIHx8IGZhbHNlLFxuXHRcdFx0XHRzZWxmX2RlYWY6IHRoaXMub3B0aW9ucy5zZWxmRGVhZmVuIHx8IGZhbHNlLFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHRoaXMuc3RhdGUgPSBcIkNPTk5FQ1RFRFwiO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1vdmVzIHRoZSBwbGF5ZXIgdG8gYSBkaWZmZXJlbnQgbm9kZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IFtub2RlXSAtIFRoZSBJRCBvZiB0aGUgbm9kZSB0byBtb3ZlIHRvLlxuXHQgKiBAcmV0dXJucyB7dGhpc30gLSBUaGUgcGxheWVyIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGFzeW5jIG1vdmVOb2RlKG5vZGU/OiBzdHJpbmcpOiBQcm9taXNlPHRoaXM+IHtcblx0XHRub2RlID0gbm9kZSB8fCB0aGlzLm1hbmFnZXIubGVhc3RMb2FkTm9kZS5maXJzdCgpLm9wdGlvbnMuaWRlbnRpZmllciB8fCB0aGlzLm1hbmFnZXIubm9kZXMuZmlsdGVyKChuKSA9PiBuLmNvbm5lY3RlZCkuZmlyc3QoKS5vcHRpb25zLmlkZW50aWZpZXI7XG5cdFx0aWYgKCF0aGlzLm1hbmFnZXIubm9kZXMuaGFzKG5vZGUpKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk5vIG5vZGVzIGF2YWlsYWJsZS5cIik7XG5cdFx0aWYgKHRoaXMubm9kZS5vcHRpb25zLmlkZW50aWZpZXIgPT09IG5vZGUpIHJldHVybiB0aGlzO1xuXG5cdFx0Y29uc3QgZGVzdHJveU9sZE5vZGUgPSBhc3luYyAobm9kZTogTm9kZSkgPT4ge1xuXHRcdFx0dGhpcy5zdGF0ZSA9IFwiTU9WSU5HXCI7XG5cblx0XHRcdGlmICh0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG5vZGUub3B0aW9ucy5pZGVudGlmaWVyKSAmJiB0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG5vZGUub3B0aW9ucy5pZGVudGlmaWVyKS5jb25uZWN0ZWQpIGF3YWl0IG5vZGUucmVzdC5kZXN0cm95UGxheWVyKHRoaXMuZ3VpbGQpO1xuXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnN0YXRlID0gXCJDT05ORUNURURcIiksIDUwMDApO1xuXHRcdH07XG5cblx0XHRjb25zdCBjdXJyZW50Tm9kZSA9IHRoaXMubm9kZTtcblx0XHRjb25zdCBkZXN0aW5hdGlvbk5vZGUgPSB0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG5vZGUpO1xuXHRcdGxldCBwb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG5cblx0XHRpZiAoY3VycmVudE5vZGUuY29ubmVjdGVkKSB7XG5cdFx0XHRjb25zdCBmZXRjaGVkUGxheWVyID0gYXdhaXQgY3VycmVudE5vZGUucmVzdC5nZXQoYC92NC9zZXNzaW9ucy8ke2N1cnJlbnROb2RlLnNlc3Npb25JZH0vcGxheWVycy8ke3RoaXMuZ3VpbGR9YCkgYXMgeyB0cmFjaz86IHsgaW5mbzogeyBwb3NpdGlvbjogbnVtYmVyIH0gfSB9O1xuXHRcdFx0cG9zaXRpb24gPSBmZXRjaGVkUGxheWVyLnRyYWNrLmluZm8ucG9zaXRpb247XG5cdFx0fVxuXG5cdFx0YXdhaXQgZGVzdGluYXRpb25Ob2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdGVuY29kZWRUcmFjazogdGhpcy5xdWV1ZS5jdXJyZW50Py50cmFjayxcblx0XHRcdFx0cG9zaXRpb246IHBvc2l0aW9uLFxuXHRcdFx0XHR2b2x1bWU6IHRoaXMudm9sdW1lLFxuXHRcdFx0XHRwYXVzZWQ6IHRoaXMucGF1c2VkLFxuXHRcdFx0XHRmaWx0ZXJzOiB7XG5cdFx0XHRcdFx0ZGlzdG9ydGlvbjogdGhpcy5maWx0ZXJzLmRpc3RvcnRpb24sXG5cdFx0XHRcdFx0ZXF1YWxpemVyOiB0aGlzLmZpbHRlcnMuZXF1YWxpemVyLFxuXHRcdFx0XHRcdGthcmFva2U6IHRoaXMuZmlsdGVycy5rYXJhb2tlLFxuXHRcdFx0XHRcdHJvdGF0aW9uOiB0aGlzLmZpbHRlcnMucm90YXRpb24sXG5cdFx0XHRcdFx0dGltZXNjYWxlOiB0aGlzLmZpbHRlcnMudGltZXNjYWxlLFxuXHRcdFx0XHRcdHZpYnJhdG86IHRoaXMuZmlsdGVycy52aWJyYXRvLFxuXHRcdFx0XHRcdHZvbHVtZTogdGhpcy5maWx0ZXJzLnZvbHVtZSxcblx0XHRcdFx0fSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHRhd2FpdCBkZXN0aW5hdGlvbk5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0dm9pY2U6IHtcblx0XHRcdFx0XHR0b2tlbjogdGhpcy52b2ljZVN0YXRlLmV2ZW50LnRva2VuLFxuXHRcdFx0XHRcdGVuZHBvaW50OiB0aGlzLnZvaWNlU3RhdGUuZXZlbnQuZW5kcG9pbnQsXG5cdFx0XHRcdFx0c2Vzc2lvbklkOiB0aGlzLnZvaWNlU3RhdGU/LnNlc3Npb25JZCA/PyBcIlwiLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHRoaXMubm9kZSA9IGRlc3RpbmF0aW9uTm9kZTtcblx0XHRkZXN0cm95T2xkTm9kZShjdXJyZW50Tm9kZSk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogRGlzY29ubmVjdCBmcm9tIHRoZSB2b2ljZSBjaGFubmVsLiAqL1xuXHRwdWJsaWMgZGlzY29ubmVjdCgpOiB0aGlzIHtcblx0XHRpZiAodGhpcy52b2ljZUNoYW5uZWwgPT09IG51bGwpIHJldHVybiB0aGlzO1xuXHRcdHRoaXMuc3RhdGUgPSBcIkRJU0NPTk5FQ1RJTkdcIjtcblxuXHRcdHRoaXMucGF1c2UodHJ1ZSk7XG5cdFx0dGhpcy5tYW5hZ2VyLm9wdGlvbnMuc2VuZCh0aGlzLmd1aWxkLCB7XG5cdFx0XHRvcDogNCxcblx0XHRcdGQ6IHtcblx0XHRcdFx0Z3VpbGRfaWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRcdGNoYW5uZWxfaWQ6IG51bGwsXG5cdFx0XHRcdHNlbGZfbXV0ZTogZmFsc2UsXG5cdFx0XHRcdHNlbGZfZGVhZjogZmFsc2UsXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0dGhpcy52b2ljZUNoYW5uZWwgPSBudWxsO1xuXHRcdHRoaXMuc3RhdGUgPSBcIkRJU0NPTk5FQ1RFRFwiO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqIERlc3Ryb3lzIHRoZSBwbGF5ZXIuICovXG5cdHB1YmxpYyBkZXN0cm95KGRpc2Nvbm5lY3QgPSB0cnVlKTogdm9pZCB7XG5cdFx0dGhpcy5zdGF0ZSA9IFwiREVTVFJPWUlOR1wiO1xuXG5cdFx0aWYgKGRpc2Nvbm5lY3QpIHtcblx0XHRcdHRoaXMuZGlzY29ubmVjdCgpO1xuXHRcdH1cblxuXHRcdHRoaXMubm9kZS5yZXN0LmRlc3Ryb3lQbGF5ZXIodGhpcy5ndWlsZCk7XG5cdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJQbGF5ZXJEZXN0cm95XCIsIHRoaXMpO1xuXHRcdHRoaXMubWFuYWdlci5wbGF5ZXJzLmRlbGV0ZSh0aGlzLmd1aWxkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBwbGF5ZXIgdm9pY2UgY2hhbm5lbC5cblx0ICogQHBhcmFtIGNoYW5uZWxcblx0ICovXG5cdHB1YmxpYyBzZXRWb2ljZUNoYW5uZWwoY2hhbm5lbDogc3RyaW5nKTogdGhpcyB7XG5cdFx0aWYgKHR5cGVvZiBjaGFubmVsICE9PSBcInN0cmluZ1wiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2hhbm5lbCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZy5cIik7XG5cblx0XHR0aGlzLnZvaWNlQ2hhbm5lbCA9IGNoYW5uZWw7XG5cdFx0dGhpcy5jb25uZWN0KCk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgcGxheWVyIHRleHQgY2hhbm5lbC5cblx0ICogQHBhcmFtIGNoYW5uZWxcblx0ICovXG5cdHB1YmxpYyBzZXRUZXh0Q2hhbm5lbChjaGFubmVsOiBzdHJpbmcpOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIGNoYW5uZWwgIT09IFwic3RyaW5nXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDaGFubmVsIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLlwiKTtcblxuXHRcdHRoaXMudGV4dENoYW5uZWwgPSBjaGFubmVsO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqIFNldHMgdGhlIG5vdyBwbGF5aW5nIG1lc3NhZ2UuICovXG5cdHB1YmxpYyBzZXROb3dQbGF5aW5nTWVzc2FnZShtZXNzYWdlOiBNZXNzYWdlKTogTWVzc2FnZSB7XG5cdFx0aWYgKCFtZXNzYWdlKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiWW91IG11c3QgcHJvdmlkZSB0aGUgbWVzc2FnZSBvZiB0aGUgbm93IHBsYXlpbmcgbWVzc2FnZS5cIik7XG5cdFx0fVxuXHRcdHJldHVybiAodGhpcy5ub3dQbGF5aW5nTWVzc2FnZSA9IG1lc3NhZ2UpO1xuXHR9XG5cblx0LyoqIFBsYXlzIHRoZSBuZXh0IHRyYWNrLiAqL1xuXHRwdWJsaWMgYXN5bmMgcGxheSgpOiBQcm9taXNlPHZvaWQ+O1xuXG5cdC8qKlxuXHQgKiBQbGF5cyB0aGUgc3BlY2lmaWVkIHRyYWNrLlxuXHQgKiBAcGFyYW0gdHJhY2tcblx0ICovXG5cdHB1YmxpYyBhc3luYyBwbGF5KHRyYWNrOiBUcmFjayB8IFVucmVzb2x2ZWRUcmFjayk6IFByb21pc2U8dm9pZD47XG5cblx0LyoqXG5cdCAqIFBsYXlzIHRoZSBuZXh0IHRyYWNrIHdpdGggc29tZSBvcHRpb25zLlxuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBsYXkob3B0aW9uczogUGxheU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuXG5cblx0LyoqXG5cdCAqIFBsYXlzIHRoZSBzcGVjaWZpZWQgdHJhY2sgd2l0aCBzb21lIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSB0cmFja1xuXHQgKiBAcGFyYW0gb3B0aW9uc1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBsYXkodHJhY2s6IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrLCBvcHRpb25zOiBQbGF5T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cdHB1YmxpYyBhc3luYyBwbGF5KG9wdGlvbnNPclRyYWNrPzogUGxheU9wdGlvbnMgfCBUcmFjayB8IFVucmVzb2x2ZWRUcmFjaywgcGxheU9wdGlvbnM/OiBQbGF5T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0eXBlb2Ygb3B0aW9uc09yVHJhY2sgIT09IFwidW5kZWZpbmVkXCIgJiYgVHJhY2tVdGlscy52YWxpZGF0ZShvcHRpb25zT3JUcmFjaykpIHtcblx0XHRcdGlmICh0aGlzLnF1ZXVlLmN1cnJlbnQpIHRoaXMucXVldWUucHJldmlvdXMgPSB0aGlzLnF1ZXVlLmN1cnJlbnQ7XG5cdFx0XHR0aGlzLnF1ZXVlLmN1cnJlbnQgPSBvcHRpb25zT3JUcmFjayBhcyBUcmFjaztcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMucXVldWUuY3VycmVudCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyBjdXJyZW50IHRyYWNrLlwiKTtcblxuXHRcdGNvbnN0IGZpbmFsT3B0aW9ucyA9IHBsYXlPcHRpb25zXG5cdFx0XHQ/IHBsYXlPcHRpb25zXG5cdFx0XHQ6IFtcInN0YXJ0VGltZVwiLCBcImVuZFRpbWVcIiwgXCJub1JlcGxhY2VcIl0uZXZlcnkoKHYpID0+IE9iamVjdC5rZXlzKG9wdGlvbnNPclRyYWNrIHx8IHt9KS5pbmNsdWRlcyh2KSlcblx0XHRcdD8gKG9wdGlvbnNPclRyYWNrIGFzIFBsYXlPcHRpb25zKVxuXHRcdFx0OiB7fTtcblxuXHRcdGlmIChUcmFja1V0aWxzLmlzVW5yZXNvbHZlZFRyYWNrKHRoaXMucXVldWUuY3VycmVudCkpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdHRoaXMucXVldWUuY3VycmVudCA9IGF3YWl0IFRyYWNrVXRpbHMuZ2V0Q2xvc2VzdFRyYWNrKHRoaXMucXVldWUuY3VycmVudCBhcyBVbnJlc29sdmVkVHJhY2spO1xuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0dGhpcy5tYW5hZ2VyLmVtaXQoXCJUcmFja0Vycm9yXCIsIHRoaXMsIHRoaXMucXVldWUuY3VycmVudCwgZXJyb3IpO1xuXHRcdFx0XHRpZiAodGhpcy5xdWV1ZVswXSkgcmV0dXJuIHRoaXMucGxheSh0aGlzLnF1ZXVlWzBdKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGF3YWl0IHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHRlbmNvZGVkVHJhY2s6IHRoaXMucXVldWUuY3VycmVudD8udHJhY2ssXG5cdFx0XHRcdC4uLmZpbmFsT3B0aW9ucyxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIHsgcG9zaXRpb246IDAsIHBsYXlpbmc6IHRydWUgfSk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgYXV0b3BsYXktc3RhdGUgb2YgdGhlIHBsYXllci5cblx0ICogQHBhcmFtIGF1dG9wbGF5U3RhdGVcblx0ICogQHBhcmFtIGJvdFVzZXJcblx0ICovXG5cdHB1YmxpYyBzZXRBdXRvcGxheShhdXRvcGxheVN0YXRlOiBib29sZWFuLCBib3RVc2VyOiBvYmplY3QpIHtcblx0XHRpZiAodHlwZW9mIGF1dG9wbGF5U3RhdGUgIT09IFwiYm9vbGVhblwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXV0b3BsYXlTdGF0ZSBtdXN0IGJlIGEgYm9vbGVhbi5cIik7XG5cdFx0fVxuXG5cdFx0aWYgKHR5cGVvZiBib3RVc2VyICE9PSBcIm9iamVjdFwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiYm90VXNlciBtdXN0IGJlIGEgdXNlci1vYmplY3QuXCIpO1xuXHRcdH1cblxuXHRcdHRoaXMuaXNBdXRvcGxheSA9IGF1dG9wbGF5U3RhdGU7XG5cdFx0dGhpcy5zZXQoXCJJbnRlcm5hbF9Cb3RVc2VyXCIsIGJvdFVzZXIpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cblx0LyoqXG5cdCAqIEdldHMgcmVjb21tZW5kZWQgdHJhY2tzIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRyYWNrcy5cblx0ICogQHBhcmFtIHRyYWNrXG5cdCAqIEBwYXJhbSByZXF1ZXN0ZXJcblx0ICovXG5cdHB1YmxpYyBhc3luYyBnZXRSZWNvbW1lbmRlZCh0cmFjazogVHJhY2ssIHJlcXVlc3Rlcj86IFVzZXIgfCBDbGllbnRVc2VyKSB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubWFuYWdlci51c2VhYmxlTm9kZXM7XG5cblx0XHRpZiAoIW5vZGUpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIk5vIGF2YWlsYWJsZSBub2Rlcy5cIik7XG5cdFx0fVxuXG5cdFx0Y29uc3QgaGFzU3BvdGlmeVVSTCA9IFtcInNwb3RpZnkuY29tXCIsIFwib3Blbi5zcG90aWZ5LmNvbVwiXS5zb21lKCh1cmwpID0+IHRyYWNrLnVyaS5pbmNsdWRlcyh1cmwpKTtcblx0XHRjb25zdCBoYXNZb3VUdWJlVVJMID0gW1wieW91dHViZS5jb21cIiwgXCJ5b3V0dS5iZVwiXS5zb21lKCh1cmwpID0+IHRyYWNrLnVyaS5pbmNsdWRlcyh1cmwpKTtcblxuXHRcdGlmIChoYXNTcG90aWZ5VVJMKSB7XG5cdFx0XHRjb25zdCByZXMgPSBhd2FpdCBub2RlLnJlc3QuZ2V0KGAvdjQvaW5mb2ApO1xuXHRcdFx0Y29uc3QgaW5mbyA9IHJlcyBhcyBMYXZhbGlua0luZm87XG5cblx0XHRcdGNvbnN0IGlzU3BvdGlmeVBsdWdpbkVuYWJsZWQgPSBpbmZvLnBsdWdpbnMuc29tZSgocGx1Z2luOiB7IG5hbWU6IHN0cmluZyB9KSA9PiBwbHVnaW4ubmFtZSA9PT0gXCJsYXZhc3JjLXBsdWdpblwiKTtcblx0XHRcdGNvbnN0IGlzU3BvdGlmeVNvdXJjZU1hbmFnZXJFbmFibGVkID0gaW5mby5zb3VyY2VNYW5hZ2Vycy5pbmNsdWRlcyhcInNwb3RpZnlcIik7XG5cblx0XHRcdGlmIChpc1Nwb3RpZnlQbHVnaW5FbmFibGVkICYmIGlzU3BvdGlmeVNvdXJjZU1hbmFnZXJFbmFibGVkKSB7XG5cdFx0XHRcdGNvbnN0IHRyYWNrSUQgPSBub2RlLmV4dHJhY3RTcG90aWZ5VHJhY2tJRCh0cmFjay51cmkpO1xuXHRcdFx0XHRjb25zdCBhcnRpc3RJRCA9IG5vZGUuZXh0cmFjdFNwb3RpZnlBcnRpc3RJRCh0cmFjay5wbHVnaW5JbmZvLmFydGlzdFVybCk7XG5cblx0XHRcdFx0bGV0IGlkZW50aWZpZXIgPSBcIlwiO1xuXHRcdFx0XHRpZiAodHJhY2tJRCAmJiBhcnRpc3RJRCkge1xuXHRcdFx0XHRcdGlkZW50aWZpZXIgPSBgc3ByZWM6c2VlZF9hcnRpc3RzPSR7YXJ0aXN0SUR9JnNlZWRfdHJhY2tzPSR7dHJhY2tJRH1gO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHRyYWNrSUQpIHtcblx0XHRcdFx0XHRpZGVudGlmaWVyID0gYHNwcmVjOnNlZWRfdHJhY2tzPSR7dHJhY2tJRH1gO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGFydGlzdElEKSB7XG5cdFx0XHRcdFx0aWRlbnRpZmllciA9IGBzcHJlYzpzZWVkX2FydGlzdHM9JHthcnRpc3RJRH1gO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGlkZW50aWZpZXIpIHtcblx0XHRcdFx0XHRjb25zdCByZWNvbW1lbmRlZFJlc3VsdCA9IChhd2FpdCBub2RlLnJlc3QuZ2V0KGAvdjQvbG9hZHRyYWNrcz9pZGVudGlmaWVyPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGlkZW50aWZpZXIpfWApKSBhcyBMYXZhbGlua1Jlc3BvbnNlO1xuXG5cdFx0XHRcdFx0aWYgKHJlY29tbWVuZGVkUmVzdWx0LmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHBsYXlsaXN0RGF0YSA9IHJlY29tbWVuZGVkUmVzdWx0LmRhdGEgYXMgUGxheWxpc3RSYXdEYXRhO1xuXHRcdFx0XHRcdFx0Y29uc3QgcmVjb21tZW5kZWRUcmFja3MgPSBwbGF5bGlzdERhdGEudHJhY2tzO1xuXG5cdFx0XHRcdFx0XHRpZiAocmVjb21tZW5kZWRUcmFja3MpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgdHJhY2tzID0gcmVjb21tZW5kZWRUcmFja3MubWFwKCh0cmFjaykgPT4gVHJhY2tVdGlscy5idWlsZCh0cmFjaywgcmVxdWVzdGVyKSk7XG5cblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRyYWNrcztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRsZXQgdmlkZW9JRCA9IHRyYWNrLnVyaS5zdWJzdHJpbmcodHJhY2sudXJpLmluZGV4T2YoXCI9XCIpICsgMSk7XG5cblx0XHRpZiAoIWhhc1lvdVR1YmVVUkwpIHtcblx0XHRcdGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubWFuYWdlci5zZWFyY2goYCR7dHJhY2suYXV0aG9yfSAtICR7dHJhY2sudGl0bGV9YCk7XG5cblx0XHRcdHZpZGVvSUQgPSByZXMudHJhY2tzWzBdLnVyaS5zdWJzdHJpbmcocmVzLnRyYWNrc1swXS51cmkuaW5kZXhPZihcIj1cIikgKyAxKTtcblx0XHR9XG5cblx0XHRjb25zdCBzZWFyY2hVUkkgPSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0ke3ZpZGVvSUR9Jmxpc3Q9UkQke3ZpZGVvSUR9YDtcblxuXHRcdGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubWFuYWdlci5zZWFyY2goc2VhcmNoVVJJKTtcblxuXHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwiZW1wdHlcIiB8fCByZXMubG9hZFR5cGUgPT09IFwiZXJyb3JcIikgcmV0dXJuO1xuXG5cdFx0bGV0IHRyYWNrcyA9IHJlcy50cmFja3M7XG5cblx0XHRpZiAocmVzLmxvYWRUeXBlID09PSBcInBsYXlsaXN0XCIpIHtcblx0XHRcdHRyYWNrcyA9IHJlcy5wbGF5bGlzdC50cmFja3M7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZmlsdGVyZWRUcmFja3MgPSB0cmFja3MuZmlsdGVyKCh0cmFjaykgPT4gdHJhY2sudXJpICE9PSBgaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0ke3ZpZGVvSUR9YCk7XG5cblx0XHRpZiAodGhpcy5tYW5hZ2VyLm9wdGlvbnMucmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscykge1xuXHRcdFx0Zm9yIChjb25zdCB0cmFjayBvZiBmaWx0ZXJlZFRyYWNrcykge1xuXHRcdFx0XHR0cmFjay5hdXRob3IgPSB0cmFjay5hdXRob3IucmVwbGFjZShcIi0gVG9waWNcIiwgXCJcIik7XG5cdFx0XHRcdHRyYWNrLnRpdGxlID0gdHJhY2sudGl0bGUucmVwbGFjZShcIlRvcGljIC1cIiwgXCJcIik7XG5cblx0XHRcdFx0aWYgKHRyYWNrLnRpdGxlLmluY2x1ZGVzKFwiLVwiKSkge1xuXHRcdFx0XHRcdGNvbnN0IFthdXRob3IsIHRpdGxlXSA9IHRyYWNrLnRpdGxlLnNwbGl0KFwiLVwiKS5tYXAoKHN0cjogc3RyaW5nKSA9PiBzdHIudHJpbSgpKTtcblx0XHRcdFx0XHR0cmFjay5hdXRob3IgPSBhdXRob3I7XG5cdFx0XHRcdFx0dHJhY2sudGl0bGUgPSB0aXRsZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBmaWx0ZXJlZFRyYWNrcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBwbGF5ZXIgdm9sdW1lLlxuXHQgKiBAcGFyYW0gdm9sdW1lXG5cdCAqL1xuXHRwdWJsaWMgc2V0Vm9sdW1lKHZvbHVtZTogbnVtYmVyKTogdGhpcyB7XG5cdFx0aWYgKGlzTmFOKHZvbHVtZSkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJWb2x1bWUgbXVzdCBiZSBhIG51bWJlci5cIik7XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5vcHRpb25zLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHR2b2x1bWUsXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0dGhpcy52b2x1bWUgPSB2b2x1bWU7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSB0cmFjayByZXBlYXQuXG5cdCAqIEBwYXJhbSByZXBlYXRcblx0ICovXG5cdHB1YmxpYyBzZXRUcmFja1JlcGVhdChyZXBlYXQ6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHJlcGVhdCAhPT0gXCJib29sZWFuXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlcGVhdCBjYW4gb25seSBiZSBcInRydWVcIiBvciBcImZhbHNlXCIuJyk7XG5cblx0XHRjb25zdCBvbGRQbGF5ZXIgPSB7IC4uLnRoaXMgfTtcblxuXHRcdGlmIChyZXBlYXQpIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSB0cnVlO1xuXHRcdFx0dGhpcy5xdWV1ZVJlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gZmFsc2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyU3RhdGVVcGRhdGVcIiwgb2xkUGxheWVyLCB0aGlzKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBxdWV1ZSByZXBlYXQuXG5cdCAqIEBwYXJhbSByZXBlYXRcblx0ICovXG5cdHB1YmxpYyBzZXRRdWV1ZVJlcGVhdChyZXBlYXQ6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHJlcGVhdCAhPT0gXCJib29sZWFuXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlcGVhdCBjYW4gb25seSBiZSBcInRydWVcIiBvciBcImZhbHNlXCIuJyk7XG5cblx0XHRjb25zdCBvbGRQbGF5ZXIgPSB7IC4uLnRoaXMgfTtcblxuXHRcdGlmIChyZXBlYXQpIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSB0cnVlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gZmFsc2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyU3RhdGVVcGRhdGVcIiwgb2xkUGxheWVyLCB0aGlzKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBxdWV1ZSB0byByZXBlYXQgYW5kIHNodWZmbGVzIHRoZSBxdWV1ZSBhZnRlciBlYWNoIHNvbmcuXG5cdCAqIEBwYXJhbSByZXBlYXQgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLlxuXHQgKiBAcGFyYW0gbXMgQWZ0ZXIgaG93IG1hbnkgbWlsbGlzZWNvbmRzIHRvIHRyaWdnZXIgZHluYW1pYyByZXBlYXQuXG5cdCAqL1xuXHRwdWJsaWMgc2V0RHluYW1pY1JlcGVhdChyZXBlYXQ6IGJvb2xlYW4sIG1zOiBudW1iZXIpOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHJlcGVhdCAhPT0gXCJib29sZWFuXCIpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlcGVhdCBjYW4gb25seSBiZSBcInRydWVcIiBvciBcImZhbHNlXCIuJyk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMucXVldWUuc2l6ZSA8PSAxKSB7XG5cdFx0XHR0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlRoZSBxdWV1ZSBzaXplIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCIpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG9sZFBsYXllciA9IHsgLi4udGhpcyB9O1xuXG5cdFx0aWYgKHJlcGVhdCkge1xuXHRcdFx0dGhpcy50cmFja1JlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5xdWV1ZVJlcGVhdCA9IGZhbHNlO1xuXHRcdFx0dGhpcy5keW5hbWljUmVwZWF0ID0gdHJ1ZTtcblxuXHRcdFx0dGhpcy5keW5hbWljTG9vcEludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuXHRcdFx0XHRpZiAoIXRoaXMuZHluYW1pY1JlcGVhdCkgcmV0dXJuO1xuXHRcdFx0XHRjb25zdCBzaHVmZmxlZCA9IF8uc2h1ZmZsZSh0aGlzLnF1ZXVlKTtcblx0XHRcdFx0dGhpcy5xdWV1ZS5jbGVhcigpO1xuXHRcdFx0XHRzaHVmZmxlZC5mb3JFYWNoKCh0cmFjaykgPT4ge1xuXHRcdFx0XHRcdHRoaXMucXVldWUuYWRkKHRyYWNrKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9LCBtcykgYXMgTm9kZUpTLlRpbWVvdXQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy5keW5hbWljTG9vcEludGVydmFsKTtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyU3RhdGVVcGRhdGVcIiwgb2xkUGxheWVyLCB0aGlzKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKiBSZXN0YXJ0cyB0aGUgY3VycmVudCB0cmFjayB0byB0aGUgc3RhcnQuICovXG5cdHB1YmxpYyByZXN0YXJ0KCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5xdWV1ZS5jdXJyZW50Py50cmFjaykge1xuXHRcdFx0aWYgKHRoaXMucXVldWUubGVuZ3RoKSB0aGlzLnBsYXkoKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0cG9zaXRpb246IDAsXG5cdFx0XHRcdGVuY29kZWRUcmFjazogdGhpcy5xdWV1ZS5jdXJyZW50Py50cmFjayxcblx0XHRcdH0sXG5cdFx0fSk7XG5cdH1cblxuXHQvKiogU3RvcHMgdGhlIGN1cnJlbnQgdHJhY2ssIG9wdGlvbmFsbHkgZ2l2ZSBhbiBhbW91bnQgdG8gc2tpcCB0bywgZS5nIDUgd291bGQgcGxheSB0aGUgNXRoIHNvbmcuICovXG5cdHB1YmxpYyBzdG9wKGFtb3VudD86IG51bWJlcik6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgYW1vdW50ID09PSBcIm51bWJlclwiICYmIGFtb3VudCA+IDEpIHtcblx0XHRcdGlmIChhbW91bnQgPiB0aGlzLnF1ZXVlLmxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJDYW5ub3Qgc2tpcCBtb3JlIHRoYW4gdGhlIHF1ZXVlIGxlbmd0aC5cIik7XG5cdFx0XHR0aGlzLnF1ZXVlLnNwbGljZSgwLCBhbW91bnQgLSAxKTtcblx0XHR9XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0ZW5jb2RlZFRyYWNrOiBudWxsLFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhdXNlcyB0aGUgY3VycmVudCB0cmFjay5cblx0ICogQHBhcmFtIHBhdXNlXG5cdCAqL1xuXHRwdWJsaWMgcGF1c2UocGF1c2U6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHBhdXNlICE9PSBcImJvb2xlYW5cIikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1BhdXNlIGNhbiBvbmx5IGJlIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIi4nKTtcblxuXHRcdGlmICh0aGlzLnBhdXNlZCA9PT0gcGF1c2UgfHwgIXRoaXMucXVldWUudG90YWxTaXplKSByZXR1cm4gdGhpcztcblxuXHRcdGNvbnN0IG9sZFBsYXllciA9IHsgLi4udGhpcyB9O1xuXG5cdFx0dGhpcy5wbGF5aW5nID0gIXBhdXNlO1xuXHRcdHRoaXMucGF1c2VkID0gcGF1c2U7XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0cGF1c2VkOiBwYXVzZSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllclN0YXRlVXBkYXRlXCIsIG9sZFBsYXllciwgdGhpcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogR28gYmFjayB0byB0aGUgcHJldmlvdXMgc29uZy4gKi9cblx0cHVibGljIHByZXZpb3VzKCk6IHRoaXMge1xuXHRcdHRoaXMucXVldWUudW5zaGlmdCh0aGlzLnF1ZXVlLnByZXZpb3VzKTtcblx0XHR0aGlzLnN0b3AoKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNlZWtzIHRvIHRoZSBwb3NpdGlvbiBpbiB0aGUgY3VycmVudCB0cmFjay5cblx0ICogQHBhcmFtIHBvc2l0aW9uXG5cdCAqL1xuXHRwdWJsaWMgc2Vlayhwb3NpdGlvbjogbnVtYmVyKTogdGhpcyB7XG5cdFx0aWYgKCF0aGlzLnF1ZXVlLmN1cnJlbnQpIHJldHVybiB1bmRlZmluZWQ7XG5cdFx0cG9zaXRpb24gPSBOdW1iZXIocG9zaXRpb24pO1xuXG5cdFx0aWYgKGlzTmFOKHBvc2l0aW9uKSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJQb3NpdGlvbiBtdXN0IGJlIGEgbnVtYmVyLlwiKTtcblx0XHRpZiAocG9zaXRpb24gPCAwIHx8IHBvc2l0aW9uID4gdGhpcy5xdWV1ZS5jdXJyZW50LmR1cmF0aW9uKSBwb3NpdGlvbiA9IE1hdGgubWF4KE1hdGgubWluKHBvc2l0aW9uLCB0aGlzLnF1ZXVlLmN1cnJlbnQuZHVyYXRpb24pLCAwKTtcblxuXHRcdHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcblxuXHRcdHRoaXMubm9kZS5yZXN0LnVwZGF0ZVBsYXllcih7XG5cdFx0XHRndWlsZElkOiB0aGlzLmd1aWxkLFxuXHRcdFx0ZGF0YToge1xuXHRcdFx0XHRwb3NpdGlvbjogcG9zaXRpb24sXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGF5ZXJPcHRpb25zIHtcblx0LyoqIFRoZSBndWlsZCB0aGUgUGxheWVyIGJlbG9uZ3MgdG8uICovXG5cdGd1aWxkOiBzdHJpbmc7XG5cdC8qKiBUaGUgdGV4dCBjaGFubmVsIHRoZSBQbGF5ZXIgYmVsb25ncyB0by4gKi9cblx0dGV4dENoYW5uZWw6IHN0cmluZztcblx0LyoqIFRoZSB2b2ljZSBjaGFubmVsIHRoZSBQbGF5ZXIgYmVsb25ncyB0by4gKi9cblx0dm9pY2VDaGFubmVsPzogc3RyaW5nO1xuXHQvKiogVGhlIG5vZGUgdGhlIFBsYXllciB1c2VzLiAqL1xuXHRub2RlPzogc3RyaW5nO1xuXHQvKiogVGhlIGluaXRpYWwgdm9sdW1lIHRoZSBQbGF5ZXIgd2lsbCB1c2UuICovXG5cdHZvbHVtZT86IG51bWJlcjtcblx0LyoqIElmIHRoZSBwbGF5ZXIgc2hvdWxkIG11dGUgaXRzZWxmLiAqL1xuXHRzZWxmTXV0ZT86IGJvb2xlYW47XG5cdC8qKiBJZiB0aGUgcGxheWVyIHNob3VsZCBkZWFmIGl0c2VsZi4gKi9cblx0c2VsZkRlYWZlbj86IGJvb2xlYW47XG59XG5cbi8qKiBJZiB0cmFjayBwYXJ0aWFscyBhcmUgc2V0IHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBgdW5kZWZpbmVkYCBhcyB0aGV5IHdlcmUgcmVtb3ZlZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2sge1xuXHQvKiogVGhlIGJhc2U2NCBlbmNvZGVkIHRyYWNrLiAqL1xuXHRyZWFkb25seSB0cmFjazogc3RyaW5nO1xuXHQvKiogVGhlIGFydHdvcmsgdXJsIG9mIHRoZSB0cmFjay4gKi9cblx0cmVhZG9ubHkgYXJ0d29ya1VybDogc3RyaW5nO1xuXHQvKiogVGhlIHRyYWNrIHNvdXJjZSBuYW1lLiAqL1xuXHRyZWFkb25seSBzb3VyY2VOYW1lOiBUcmFja1NvdXJjZU5hbWU7XG5cdC8qKiBUaGUgdGl0bGUgb2YgdGhlIHRyYWNrLiAqL1xuXHR0aXRsZTogc3RyaW5nO1xuXHQvKiogVGhlIGlkZW50aWZpZXIgb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBpZGVudGlmaWVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgYXV0aG9yIG9mIHRoZSB0cmFjay4gKi9cblx0YXV0aG9yOiBzdHJpbmc7XG5cdC8qKiBUaGUgZHVyYXRpb24gb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBkdXJhdGlvbjogbnVtYmVyO1xuXHQvKiogVGhlIElTUkMgb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBpc3JjOiBzdHJpbmc7XG5cdC8qKiBJZiB0aGUgdHJhY2sgaXMgc2Vla2FibGUuICovXG5cdHJlYWRvbmx5IGlzU2Vla2FibGU6IGJvb2xlYW47XG5cdC8qKiBJZiB0aGUgdHJhY2sgaXMgYSBzdHJlYW0uLiAqL1xuXHRyZWFkb25seSBpc1N0cmVhbTogYm9vbGVhbjtcblx0LyoqIFRoZSB1cmkgb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSB1cmk6IHN0cmluZztcblx0LyoqIFRoZSB0aHVtYm5haWwgb2YgdGhlIHRyYWNrIG9yIG51bGwgaWYgaXQncyBhIHVuc3VwcG9ydGVkIHNvdXJjZS4gKi9cblx0cmVhZG9ubHkgdGh1bWJuYWlsOiBzdHJpbmcgfCBudWxsO1xuXHQvKiogVGhlIHVzZXIgdGhhdCByZXF1ZXN0ZWQgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSByZXF1ZXN0ZXI6IFVzZXIgfCBDbGllbnRVc2VyIHwgbnVsbDtcblx0LyoqIERpc3BsYXlzIHRoZSB0cmFjayB0aHVtYm5haWwgd2l0aCBvcHRpb25hbCBzaXplIG9yIG51bGwgaWYgaXQncyBhIHVuc3VwcG9ydGVkIHNvdXJjZS4gKi9cblx0ZGlzcGxheVRodW1ibmFpbChzaXplPzogU2l6ZXMpOiBzdHJpbmc7XG5cdC8qKiBBZGRpdGlvbmFsIHRyYWNrIGluZm8gcHJvdmlkZWQgYnkgcGx1Z2lucy4gKi9cblx0cGx1Z2luSW5mbzogVHJhY2tQbHVnaW5JbmZvO1xuXHQvKiogQWRkIHlvdXIgb3duIGRhdGEgdG8gdGhlIHRyYWNrLiAqL1xuXHRjdXN0b21EYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFja1BsdWdpbkluZm8ge1xuXHRhbGJ1bU5hbWU/OiBzdHJpbmc7XG5cdGFsYnVtVXJsPzogc3RyaW5nO1xuXHRhcnRpc3RBcnR3b3JrVXJsPzogc3RyaW5nO1xuXHRhcnRpc3RVcmw/OiBzdHJpbmc7XG5cdGlzUHJldmlldz86IHN0cmluZztcblx0cHJldmlld1VybD86IHN0cmluZztcbn1cblxuLyoqIFVucmVzb2x2ZWQgdHJhY2tzIGNhbid0IGJlIHBsYXllZCBub3JtYWxseSwgdGhleSB3aWxsIHJlc29sdmUgYmVmb3JlIHBsYXlpbmcgaW50byBhIFRyYWNrLiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbnJlc29sdmVkVHJhY2sgZXh0ZW5kcyBQYXJ0aWFsPFRyYWNrPiB7XG5cdC8qKiBUaGUgdGl0bGUgdG8gc2VhcmNoIGFnYWluc3QuICovXG5cdHRpdGxlOiBzdHJpbmc7XG5cdC8qKiBUaGUgYXV0aG9yIHRvIHNlYXJjaCBhZ2FpbnN0LiAqL1xuXHRhdXRob3I/OiBzdHJpbmc7XG5cdC8qKiBUaGUgZHVyYXRpb24gdG8gc2VhcmNoIHdpdGhpbiAxNTAwIG1pbGxpc2Vjb25kcyBvZiB0aGUgcmVzdWx0cyBmcm9tIFlvdVR1YmUuICovXG5cdGR1cmF0aW9uPzogbnVtYmVyO1xuXHQvKiogUmVzb2x2ZXMgaW50byBhIFRyYWNrLiAqL1xuXHRyZXNvbHZlKCk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheU9wdGlvbnMge1xuXHQvKiogVGhlIHBvc2l0aW9uIHRvIHN0YXJ0IHRoZSB0cmFjay4gKi9cblx0cmVhZG9ubHkgc3RhcnRUaW1lPzogbnVtYmVyO1xuXHQvKiogVGhlIHBvc2l0aW9uIHRvIGVuZCB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IGVuZFRpbWU/OiBudW1iZXI7XG5cdC8qKiBXaGV0aGVyIHRvIG5vdCByZXBsYWNlIHRoZSB0cmFjayBpZiBhIHBsYXkgcGF5bG9hZCBpcyBzZW50LiAqL1xuXHRyZWFkb25seSBub1JlcGxhY2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVxdWFsaXplckJhbmQge1xuXHQvKiogVGhlIGJhbmQgbnVtYmVyIGJlaW5nIDAgdG8gMTQuICovXG5cdGJhbmQ6IG51bWJlcjtcblx0LyoqIFRoZSBnYWluIGFtb3VudCBiZWlu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
|
|
778
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRmlsdGVycyIsInJlcXVpcmUiLCJfVXRpbHMiLCJfIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfUGxheWVyQ2hlY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJXZWFrTWFwIiwiciIsInQiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiZiIsIm8iLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImxlbmd0aCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwicHJvdG90eXBlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIndyYXAiLCJHZW5lcmF0b3IiLCJjcmVhdGUiLCJDb250ZXh0IiwibWFrZUludm9rZU1ldGhvZCIsInRyeUNhdGNoIiwidHlwZSIsImFyZyIsImgiLCJ5IiwiR2VuZXJhdG9yRnVuY3Rpb24iLCJHZW5lcmF0b3JGdW5jdGlvblByb3RvdHlwZSIsInAiLCJkIiwiZ2V0UHJvdG90eXBlT2YiLCJ2IiwidmFsdWVzIiwiZyIsImRlZmluZUl0ZXJhdG9yTWV0aG9kcyIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwicmVzdWx0TmFtZSIsIm5leHRMb2MiLCJwdXNoVHJ5RW50cnkiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9uZXh0IiwiX3Rocm93IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsImtleSIsIl9jcmVhdGVDbGFzcyIsIl90b1ByaW1pdGl2ZSIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiUGxheWVyIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJfb3B0aW9ucyRub2RlIiwiX29wdGlvbnMkdm9sdW1lIiwiU3RydWN0dXJlIiwiZmlsbCIsIm1hbmFnZXIiLCJfbWFuYWdlciIsIlJhbmdlRXJyb3IiLCJwbGF5ZXJzIiwiZ3VpbGQiLCJwbGF5ZXJDaGVjayIsInZvaWNlU3RhdGUiLCJhc3NpZ24iLCJvcCIsImd1aWxkX2lkIiwidm9pY2VDaGFubmVsIiwidGV4dENoYW5uZWwiLCJub2RlIiwibm9kZXMiLCJ1c2VhYmxlTm9kZXMiLCJlbWl0Iiwic2V0Vm9sdW1lIiwidm9sdW1lIiwiZmlsdGVycyIsIkZpbHRlcnMiLCJkYXRhIiwic2VhcmNoIiwicXVlcnkiLCJyZXF1ZXN0ZXIiLCJjb25uZWN0Iiwic3RhdGUiLCJzZW5kIiwiY2hhbm5lbF9pZCIsInNlbGZfbXV0ZSIsInNlbGZNdXRlIiwic2VsZl9kZWFmIiwic2VsZkRlYWZlbiIsIl9tb3ZlTm9kZSIsIl9jYWxsZWUyIiwiX3RoaXMkbWFuYWdlciRsZWFzdExvIiwiX3RoaXMkbWFuYWdlciRub2RlcyRmIiwiX3RoaXMiLCJfdGhpcyRxdWV1ZSRjdXJyZW50JHQiLCJfdGhpcyRxdWV1ZSRjdXJyZW50IiwiX3RoaXMkdm9pY2VTdGF0ZSRzZXNzIiwiX3RoaXMkdm9pY2VTdGF0ZSIsIl90aGlzJHZvaWNlQ2hhbm5lbCIsImRlc3Ryb3lPbGROb2RlIiwiY3VycmVudE5vZGUiLCJkZXN0aW5hdGlvbk5vZGUiLCJwb3NpdGlvbiIsIl9mZXRjaGVkUGxheWVyJHRyYWNrIiwiZmV0Y2hlZFBsYXllciIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsImxlYXN0TG9hZE5vZGUiLCJmaXJzdCIsImlkZW50aWZpZXIiLCJjb25uZWN0ZWQiLCJfcmVmIiwiX2NhbGxlZSIsIl9ub2RlJG9wdGlvbnMkaWRlbnRpZiIsImV4aXN0aW5nTm9kZSIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJyZXN0IiwiZGVzdHJveVBsYXllciIsInNldFRpbWVvdXQiLCJfeDIiLCJjb25jYXQiLCJzZXNzaW9uSWQiLCJ0cmFjayIsImluZm8iLCJ1cGRhdGVQbGF5ZXIiLCJndWlsZElkIiwiZW5jb2RlZFRyYWNrIiwicXVldWUiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwicGF1c2VkIiwiZGlzdG9ydGlvbiIsImVxdWFsaXplciIsImthcmFva2UiLCJyb3RhdGlvbiIsInRpbWVzY2FsZSIsInZpYnJhdG8iLCJ2b2ljZSIsInRva2VuIiwiZXZlbnQiLCJlbmRwb2ludCIsImNoYW5uZWxJZCIsIm1vdmVOb2RlIiwiX3giLCJkaXNjb25uZWN0IiwicGF1c2UiLCJkZXN0cm95Iiwic2V0Vm9pY2VDaGFubmVsIiwiY2hhbm5lbCIsInNldFRleHRDaGFubmVsIiwic2V0Tm93UGxheWluZ01lc3NhZ2UiLCJtZXNzYWdlIiwibm93UGxheWluZ01lc3NhZ2UiLCJfcGxheSIsIl9jYWxsZWUzIiwib3B0aW9uc09yVHJhY2siLCJwbGF5T3B0aW9ucyIsIl90aGlzJHF1ZXVlJGN1cnJlbnQkdDIiLCJfdGhpcyRxdWV1ZSRjdXJyZW50MiIsImZpbmFsT3B0aW9ucyIsIl9jYWxsZWUzJCIsIl9jb250ZXh0MyIsIlRyYWNrVXRpbHMiLCJ2YWxpZGF0ZSIsInByZXZpb3VzIiwiZXZlcnkiLCJpbmNsdWRlcyIsImlzVW5yZXNvbHZlZFRyYWNrIiwiZ2V0Q2xvc2VzdFRyYWNrIiwidDAiLCJwbGF5IiwicGxheWluZyIsIl94MyIsIl94NCIsInNldEF1dG9wbGF5IiwiYXV0b3BsYXlTdGF0ZSIsImJvdFVzZXIiLCJpc0F1dG9wbGF5IiwiX2dldFJlY29tbWVuZGVkIiwiX2NhbGxlZTQiLCJoYXNTcG90aWZ5VVJMIiwiaGFzWW91VHViZVVSTCIsIl9yZXMiLCJpc1Nwb3RpZnlQbHVnaW5FbmFibGVkIiwiaXNTcG90aWZ5U291cmNlTWFuYWdlckVuYWJsZWQiLCJfdHJhY2skcGx1Z2luSW5mbyRhcnQiLCJ0cmFja0lEIiwiYXJ0aXN0SUQiLCJyZWNvbW1lbmRlZFJlc3VsdCIsInBsYXlsaXN0RGF0YSIsInJlY29tbWVuZGVkVHJhY2tzIiwiX3RyYWNrcyIsInZpZGVvSUQiLCJfcmVzMiIsInNlYXJjaFVSSSIsInJlcyIsInRyYWNrcyIsIl9yZXMkcGxheWxpc3QkdHJhY2tzIiwiX3JlcyRwbGF5bGlzdCIsImZpbHRlcmVkVHJhY2tzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfdHJhY2siLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEiLCJfdHJhY2skdGl0bGUkc3BsaXQkbWEyIiwiYXV0aG9yIiwidGl0bGUiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJzb21lIiwidXJsIiwidXJpIiwicGx1Z2lucyIsInBsdWdpbiIsInNvdXJjZU1hbmFnZXJzIiwiZXh0cmFjdFNwb3RpZnlUcmFja0lEIiwiZXh0cmFjdFNwb3RpZnlBcnRpc3RJRCIsInBsdWdpbkluZm8iLCJhcnRpc3RVcmwiLCJlbmNvZGVVUklDb21wb25lbnQiLCJsb2FkVHlwZSIsIm1hcCIsImJ1aWxkIiwic3Vic3RyaW5nIiwiaW5kZXhPZiIsInBsYXlsaXN0IiwicmVwbGFjZVlvdVR1YmVDcmVkZW50aWFscyIsInJlcGxhY2UiLCJzcGxpdCIsInN0ciIsInRyaW0iLCJlcnIiLCJnZXRSZWNvbW1lbmRlZCIsIl94NSIsIl94NiIsInNldFRyYWNrUmVwZWF0IiwicmVwZWF0Iiwib2xkUGxheWVyIiwidHJhY2tSZXBlYXQiLCJxdWV1ZVJlcGVhdCIsImR5bmFtaWNSZXBlYXQiLCJzZXRRdWV1ZVJlcGVhdCIsInNldER5bmFtaWNSZXBlYXQiLCJtcyIsIl90aGlzMiIsInNpemUiLCJkeW5hbWljTG9vcEludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJzaHVmZmxlZCIsInNodWZmbGUiLCJjbGVhciIsImFkZCIsImNsZWFySW50ZXJ2YWwiLCJyZXN0YXJ0IiwiX3RoaXMkcXVldWUkY3VycmVudDMiLCJfdGhpcyRxdWV1ZSRjdXJyZW50NCIsImFtb3VudCIsInNwbGljZSIsInRvdGFsU2l6ZSIsInVuc2hpZnQiLCJzZWVrIiwiX3RoaXMkcXVldWUkY3VycmVudCRkIiwiX3RoaXMkcXVldWUkY3VycmVudCRkMiIsImR1cmF0aW9uIiwiTWF0aCIsIm1heCIsIm1pbiIsImluaXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvU3RydWN0dXJlcy9QbGF5ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVycyB9IGZyb20gXCIuL0ZpbHRlcnNcIjtcbmltcG9ydCB7IExhdmFsaW5rUmVzcG9uc2UsIE1hbmFnZXIsIFBsYXlsaXN0UmF3RGF0YSwgU2VhcmNoUXVlcnksIFNlYXJjaFJlc3VsdCB9IGZyb20gXCIuL01hbmFnZXJcIjtcbmltcG9ydCB7IExhdmFsaW5rSW5mbywgTm9kZSB9IGZyb20gXCIuL05vZGVcIjtcbmltcG9ydCB7IFF1ZXVlIH0gZnJvbSBcIi4vUXVldWVcIjtcbmltcG9ydCB7IFNpemVzLCBTdGF0ZSwgU3RydWN0dXJlLCBUcmFja1NvdXJjZU5hbWUsIFRyYWNrVXRpbHMsIFZvaWNlU3RhdGUgfSBmcm9tIFwiLi9VdGlsc1wiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgcGxheWVyQ2hlY2sgZnJvbSBcIi4uL1V0aWxzL1BsYXllckNoZWNrXCI7XG5pbXBvcnQgeyBDbGllbnRVc2VyLCBNZXNzYWdlLCBVc2VyIH0gZnJvbSBcImRpc2NvcmQuanNcIjtcblxuZXhwb3J0IGNsYXNzIFBsYXllciB7XG5cdC8qKiBUaGUgUXVldWUgZm9yIHRoZSBQbGF5ZXIuICovXG5cdHB1YmxpYyByZWFkb25seSBxdWV1ZSA9IG5ldyAoU3RydWN0dXJlLmdldChcIlF1ZXVlXCIpKSgpIGFzIFF1ZXVlO1xuXHQvKiogVGhlIGZpbHRlcnMgYXBwbGllZCB0byB0aGUgYXVkaW8uICovXG5cdHB1YmxpYyBmaWx0ZXJzITogRmlsdGVycztcblx0LyoqIFdoZXRoZXIgdGhlIHF1ZXVlIHJlcGVhdHMgdGhlIHRyYWNrLiAqL1xuXHRwdWJsaWMgdHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0LyoqIFdoZXRoZXIgdGhlIHF1ZXVlIHJlcGVhdHMgdGhlIHF1ZXVlLiAqL1xuXHRwdWJsaWMgcXVldWVSZXBlYXQgPSBmYWxzZTtcblx0LyoqV2hldGhlciB0aGUgcXVldWUgcmVwZWF0cyBhbmQgc2h1ZmZsZXMgYWZ0ZXIgZWFjaCBzb25nLiAqL1xuXHRwdWJsaWMgZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHQvKiogVGhlIHRpbWUgdGhlIHBsYXllciBpcyBpbiB0aGUgdHJhY2suICovXG5cdHB1YmxpYyBwb3NpdGlvbiA9IDA7XG5cdC8qKiBXaGV0aGVyIHRoZSBwbGF5ZXIgaXMgcGxheWluZy4gKi9cblx0cHVibGljIHBsYXlpbmcgPSBmYWxzZTtcblx0LyoqIFdoZXRoZXIgdGhlIHBsYXllciBpcyBwYXVzZWQuICovXG5cdHB1YmxpYyBwYXVzZWQgPSBmYWxzZTtcblx0LyoqIFRoZSB2b2x1bWUgZm9yIHRoZSBwbGF5ZXIgKi9cblx0cHVibGljIHZvbHVtZTogbnVtYmVyID0gMTAwO1xuXHQvKiogVGhlIE5vZGUgZm9yIHRoZSBQbGF5ZXIuICovXG5cdHB1YmxpYyBub2RlITogTm9kZTtcblx0LyoqIFRoZSBndWlsZCBmb3IgdGhlIHBsYXllci4gKi9cblx0cHVibGljIGd1aWxkOiBzdHJpbmcgPSBcIlwiO1xuXHQvKiogVGhlIHZvaWNlIGNoYW5uZWwgZm9yIHRoZSBwbGF5ZXIuICovXG5cdHB1YmxpYyB2b2ljZUNoYW5uZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXHQvKiogVGhlIHRleHQgY2hhbm5lbCBmb3IgdGhlIHBsYXllci4gKi9cblx0cHVibGljIHRleHRDaGFubmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblx0LyoqVGhlIG5vdyBwbGF5aW5nIG1lc3NhZ2UuICovXG5cdHB1YmxpYyBub3dQbGF5aW5nTWVzc2FnZT86IE1lc3NhZ2U7XG5cdC8qKiBUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcGxheWVyLiAqL1xuXHRwdWJsaWMgc3RhdGU6IFN0YXRlID0gXCJESVNDT05ORUNURURcIjtcblx0LyoqIFRoZSBlcXVhbGl6ZXIgYmFuZHMgYXJyYXkuICovXG5cdHB1YmxpYyBiYW5kcyA9IG5ldyBBcnJheTxudW1iZXI+KDE1KS5maWxsKDAuMCk7XG5cdC8qKiBUaGUgdm9pY2Ugc3RhdGUgb2JqZWN0IGZyb20gRGlzY29yZC4gKi9cblx0cHVibGljIHZvaWNlU3RhdGUhOiBWb2ljZVN0YXRlO1xuXHQvKiogVGhlIE1hbmFnZXIuICovXG5cdHB1YmxpYyBtYW5hZ2VyITogTWFuYWdlcjtcblx0LyoqIFRoZSBhdXRvcGxheSBzdGF0ZSBvZiB0aGUgcGxheWVyLiAqL1xuXHRwdWJsaWMgaXNBdXRvcGxheTogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdHByaXZhdGUgc3RhdGljIF9tYW5hZ2VyOiBNYW5hZ2VyO1xuXHRwcml2YXRlIHJlYWRvbmx5IGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cdHByaXZhdGUgZHluYW1pY0xvb3BJbnRlcnZhbD86IE5vZGVKUy5UaW1lb3V0O1xuXG5cdC8qKlxuXHQgKiBTZXQgY3VzdG9tIGRhdGEuXG5cdCAqIEBwYXJhbSBrZXlcblx0ICogQHBhcmFtIHZhbHVlXG5cdCAqL1xuXHRwdWJsaWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuXHRcdHRoaXMuZGF0YVtrZXldID0gdmFsdWU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGN1c3RvbSBkYXRhLlxuXHQgKiBAcGFyYW0ga2V5XG5cdCAqL1xuXHRwdWJsaWMgZ2V0PFQ+KGtleTogc3RyaW5nKTogVCB7XG5cdFx0cmV0dXJuIHRoaXMuZGF0YVtrZXldIGFzIFQ7XG5cdH1cblxuXHQvKiogQGhpZGRlbiAqL1xuXHRwdWJsaWMgc3RhdGljIGluaXQobWFuYWdlcjogTWFuYWdlcik6IHZvaWQge1xuXHRcdHRoaXMuX21hbmFnZXIgPSBtYW5hZ2VyO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgcGxheWVyLCByZXR1cm5zIG9uZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cblx0ICogQHBhcmFtIG9wdGlvbnNcblx0ICovXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBQbGF5ZXJPcHRpb25zKSB7XG5cdFx0aWYgKCF0aGlzLm1hbmFnZXIpIHRoaXMubWFuYWdlciA9IFN0cnVjdHVyZS5nZXQoXCJQbGF5ZXJcIikuX21hbmFnZXI7XG5cdFx0aWYgKCF0aGlzLm1hbmFnZXIpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiTWFuYWdlciBoYXMgbm90IGJlZW4gaW5pdGlhdGVkLlwiKTtcblxuXHRcdGlmICh0aGlzLm1hbmFnZXIucGxheWVycy5oYXMob3B0aW9ucy5ndWlsZCkpIHtcblx0XHRcdHJldHVybiB0aGlzLm1hbmFnZXIucGxheWVycy5nZXQob3B0aW9ucy5ndWlsZCkgYXMgdGhpcztcblx0XHR9XG5cblx0XHRwbGF5ZXJDaGVjayhvcHRpb25zKTtcblxuXHRcdHRoaXMuZ3VpbGQgPSBvcHRpb25zLmd1aWxkO1xuXHRcdHRoaXMudm9pY2VTdGF0ZSA9IE9iamVjdC5hc3NpZ24oe1xuXHRcdFx0b3A6IFwidm9pY2VVcGRhdGVcIixcblx0XHRcdGd1aWxkX2lkOiBvcHRpb25zLmd1aWxkLFxuXHRcdH0pO1xuXG5cdFx0aWYgKG9wdGlvbnMudm9pY2VDaGFubmVsKSB0aGlzLnZvaWNlQ2hhbm5lbCA9IG9wdGlvbnMudm9pY2VDaGFubmVsO1xuXHRcdGlmIChvcHRpb25zLnRleHRDaGFubmVsKSB0aGlzLnRleHRDaGFubmVsID0gb3B0aW9ucy50ZXh0Q2hhbm5lbDtcblxuXHRcdGNvbnN0IG5vZGUgPSB0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG9wdGlvbnMubm9kZSA/PyBcIlwiKTtcblx0XHR0aGlzLm5vZGUgPSBub2RlIHx8IHRoaXMubWFuYWdlci51c2VhYmxlTm9kZXM7XG5cblx0XHRpZiAoIXRoaXMubm9kZSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyBhdmFpbGFibGUgbm9kZXMuXCIpO1xuXG5cdFx0dGhpcy5tYW5hZ2VyLnBsYXllcnMuc2V0KG9wdGlvbnMuZ3VpbGQsIHRoaXMpO1xuXHRcdHRoaXMubWFuYWdlci5lbWl0KFwiUGxheWVyQ3JlYXRlXCIsIHRoaXMpO1xuXHRcdHRoaXMuc2V0Vm9sdW1lKG9wdGlvbnMudm9sdW1lID8/IDEwMCk7XG5cdFx0dGhpcy5maWx0ZXJzID0gbmV3IEZpbHRlcnModGhpcyk7XG5cdH1cblxuXHQvKipcblx0ICogU2FtZSBhcyBNYW5hZ2VyI3NlYXJjaCgpIGJ1dCBhIHNob3J0Y3V0IG9uIHRoZSBwbGF5ZXIgaXRzZWxmLlxuXHQgKiBAcGFyYW0gcXVlcnlcblx0ICogQHBhcmFtIHJlcXVlc3RlclxuXHQgKi9cblx0cHVibGljIHNlYXJjaChxdWVyeTogc3RyaW5nIHwgU2VhcmNoUXVlcnksIHJlcXVlc3Rlcj86IFVzZXIgfCBDbGllbnRVc2VyKTogUHJvbWlzZTxTZWFyY2hSZXN1bHQ+IHtcblx0XHRyZXR1cm4gdGhpcy5tYW5hZ2VyLnNlYXJjaChxdWVyeSwgcmVxdWVzdGVyKTtcblx0fVxuXG5cblxuXHQvKiogQ29ubmVjdCB0byB0aGUgdm9pY2UgY2hhbm5lbC4gKi9cblx0cHVibGljIGNvbm5lY3QoKTogdGhpcyB7XG5cdFx0aWYgKCF0aGlzLnZvaWNlQ2hhbm5lbCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJObyB2b2ljZSBjaGFubmVsIGhhcyBiZWVuIHNldC5cIik7XG5cdFx0dGhpcy5zdGF0ZSA9IFwiQ09OTkVDVElOR1wiO1xuXG5cdFx0dGhpcy5tYW5hZ2VyLm9wdGlvbnMuc2VuZCh0aGlzLmd1aWxkLCB7XG5cdFx0XHRvcDogNCxcblx0XHRcdGQ6IHtcblx0XHRcdFx0Z3VpbGRfaWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRcdGNoYW5uZWxfaWQ6IHRoaXMudm9pY2VDaGFubmVsLFxuXHRcdFx0XHRzZWxmX211dGU6IHRoaXMub3B0aW9ucy5zZWxmTXV0ZSB8fCBmYWxzZSxcblx0XHRcdFx0c2VsZl9kZWFmOiB0aGlzLm9wdGlvbnMuc2VsZkRlYWZlbiB8fCBmYWxzZSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHR0aGlzLnN0YXRlID0gXCJDT05ORUNURURcIjtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBNb3ZlcyB0aGUgcGxheWVyIHRvIGEgZGlmZmVyZW50IG5vZGUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBbbm9kZV0gLSBUaGUgSUQgb2YgdGhlIG5vZGUgdG8gbW92ZSB0by5cblx0ICogQHJldHVybnMge3RoaXN9IC0gVGhlIHBsYXllciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBhc3luYyBtb3ZlTm9kZShub2RlPzogc3RyaW5nKTogUHJvbWlzZTx0aGlzPiB7XG5cdFx0bm9kZSA9IG5vZGUgfHwgdGhpcy5tYW5hZ2VyLmxlYXN0TG9hZE5vZGUuZmlyc3QoKT8ub3B0aW9ucy5pZGVudGlmaWVyIHx8IHRoaXMubWFuYWdlci5ub2Rlcy5maWx0ZXIoKG4pID0+IG4uY29ubmVjdGVkKS5maXJzdCgpPy5vcHRpb25zLmlkZW50aWZpZXI7XG5cdFx0aWYgKCFub2RlKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk5vIG5vZGVzIGF2YWlsYWJsZS5cIik7XG5cdFx0aWYgKCF0aGlzLm1hbmFnZXIubm9kZXMuaGFzKG5vZGUpKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk5vIG5vZGVzIGF2YWlsYWJsZS5cIik7XG5cdFx0aWYgKHRoaXMubm9kZS5vcHRpb25zLmlkZW50aWZpZXIgPT09IG5vZGUpIHJldHVybiB0aGlzO1xuXG5cdFx0Y29uc3QgZGVzdHJveU9sZE5vZGUgPSBhc3luYyAobm9kZTogTm9kZSkgPT4ge1xuXHRcdFx0dGhpcy5zdGF0ZSA9IFwiTU9WSU5HXCI7XG5cblx0XHRcdGNvbnN0IGV4aXN0aW5nTm9kZSA9IHRoaXMubWFuYWdlci5ub2Rlcy5nZXQobm9kZS5vcHRpb25zLmlkZW50aWZpZXIgPz8gXCJcIik7XG5cdFx0XHRpZiAoZXhpc3RpbmdOb2RlICYmIGV4aXN0aW5nTm9kZS5jb25uZWN0ZWQpIGF3YWl0IG5vZGUucmVzdC5kZXN0cm95UGxheWVyKHRoaXMuZ3VpbGQpO1xuXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnN0YXRlID0gXCJDT05ORUNURURcIiksIDUwMDApO1xuXHRcdH07XG5cblx0XHRjb25zdCBjdXJyZW50Tm9kZSA9IHRoaXMubm9kZTtcblx0XHRjb25zdCBkZXN0aW5hdGlvbk5vZGUgPSB0aGlzLm1hbmFnZXIubm9kZXMuZ2V0KG5vZGUpO1xuXHRcdGlmICghZGVzdGluYXRpb25Ob2RlKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgTm9kZSBcIiR7bm9kZX1cIiBub3QgZm91bmQuYCk7XG5cdFx0bGV0IHBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbjtcblxuXHRcdGlmIChjdXJyZW50Tm9kZS5jb25uZWN0ZWQpIHtcblx0XHRcdGNvbnN0IGZldGNoZWRQbGF5ZXIgPSBhd2FpdCBjdXJyZW50Tm9kZS5yZXN0LmdldChgL3Y0L3Nlc3Npb25zLyR7Y3VycmVudE5vZGUuc2Vzc2lvbklkfS9wbGF5ZXJzLyR7dGhpcy5ndWlsZH1gKSBhcyB7IHRyYWNrPzogeyBpbmZvOiB7IHBvc2l0aW9uOiBudW1iZXIgfSB9IH07XG5cdFx0XHRpZiAoZmV0Y2hlZFBsYXllcj8udHJhY2s/LmluZm8pIHtcblx0XHRcdFx0cG9zaXRpb24gPSBmZXRjaGVkUGxheWVyLnRyYWNrLmluZm8ucG9zaXRpb247XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YXdhaXQgZGVzdGluYXRpb25Ob2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdGVuY29kZWRUcmFjazogdGhpcy5xdWV1ZS5jdXJyZW50Py50cmFjayA/PyB1bmRlZmluZWQsXG5cdFx0XHRcdHBvc2l0aW9uOiBwb3NpdGlvbixcblx0XHRcdFx0dm9sdW1lOiB0aGlzLnZvbHVtZSxcblx0XHRcdFx0cGF1c2VkOiB0aGlzLnBhdXNlZCxcblx0XHRcdFx0ZmlsdGVyczoge1xuXHRcdFx0XHRcdGRpc3RvcnRpb246IHRoaXMuZmlsdGVycy5kaXN0b3J0aW9uLFxuXHRcdFx0XHRcdGVxdWFsaXplcjogdGhpcy5maWx0ZXJzLmVxdWFsaXplcixcblx0XHRcdFx0XHRrYXJhb2tlOiB0aGlzLmZpbHRlcnMua2FyYW9rZSxcblx0XHRcdFx0XHRyb3RhdGlvbjogdGhpcy5maWx0ZXJzLnJvdGF0aW9uLFxuXHRcdFx0XHRcdHRpbWVzY2FsZTogdGhpcy5maWx0ZXJzLnRpbWVzY2FsZSxcblx0XHRcdFx0XHR2aWJyYXRvOiB0aGlzLmZpbHRlcnMudmlicmF0byxcblx0XHRcdFx0XHR2b2x1bWU6IHRoaXMuZmlsdGVycy52b2x1bWUsXG5cdFx0XHRcdH0sXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0YXdhaXQgZGVzdGluYXRpb25Ob2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdHZvaWNlOiB7XG5cdFx0XHRcdFx0dG9rZW46IHRoaXMudm9pY2VTdGF0ZS5ldmVudC50b2tlbixcblx0XHRcdFx0XHRlbmRwb2ludDogdGhpcy52b2ljZVN0YXRlLmV2ZW50LmVuZHBvaW50LFxuXHRcdFx0XHRcdHNlc3Npb25JZDogdGhpcy52b2ljZVN0YXRlPy5zZXNzaW9uSWQgPz8gXCJcIixcblx0XHRcdFx0XHRjaGFubmVsSWQ6IHRoaXMudm9pY2VDaGFubmVsID8/IFwiXCIsXG5cdFx0XHRcdH0sXG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0dGhpcy5ub2RlID0gZGVzdGluYXRpb25Ob2RlO1xuXHRcdGRlc3Ryb3lPbGROb2RlKGN1cnJlbnROb2RlKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKiBEaXNjb25uZWN0IGZyb20gdGhlIHZvaWNlIGNoYW5uZWwuICovXG5cdHB1YmxpYyBkaXNjb25uZWN0KCk6IHRoaXMge1xuXHRcdGlmICh0aGlzLnZvaWNlQ2hhbm5lbCA9PT0gbnVsbCkgcmV0dXJuIHRoaXM7XG5cdFx0dGhpcy5zdGF0ZSA9IFwiRElTQ09OTkVDVElOR1wiO1xuXG5cdFx0dGhpcy5wYXVzZSh0cnVlKTtcblx0XHR0aGlzLm1hbmFnZXIub3B0aW9ucy5zZW5kKHRoaXMuZ3VpbGQsIHtcblx0XHRcdG9wOiA0LFxuXHRcdFx0ZDoge1xuXHRcdFx0XHRndWlsZF9pZDogdGhpcy5ndWlsZCxcblx0XHRcdFx0Y2hhbm5lbF9pZDogbnVsbCxcblx0XHRcdFx0c2VsZl9tdXRlOiBmYWxzZSxcblx0XHRcdFx0c2VsZl9kZWFmOiBmYWxzZSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHR0aGlzLnZvaWNlQ2hhbm5lbCA9IG51bGw7XG5cdFx0dGhpcy5zdGF0ZSA9IFwiRElTQ09OTkVDVEVEXCI7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogRGVzdHJveXMgdGhlIHBsYXllci4gKi9cblx0cHVibGljIGRlc3Ryb3koZGlzY29ubmVjdCA9IHRydWUpOiB2b2lkIHtcblx0XHR0aGlzLnN0YXRlID0gXCJERVNUUk9ZSU5HXCI7XG5cblx0XHRpZiAoZGlzY29ubmVjdCkge1xuXHRcdFx0dGhpcy5kaXNjb25uZWN0KCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5ub2RlLnJlc3QuZGVzdHJveVBsYXllcih0aGlzLmd1aWxkKTtcblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllckRlc3Ryb3lcIiwgdGhpcyk7XG5cdFx0dGhpcy5tYW5hZ2VyLnBsYXllcnMuZGVsZXRlKHRoaXMuZ3VpbGQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIHBsYXllciB2b2ljZSBjaGFubmVsLlxuXHQgKiBAcGFyYW0gY2hhbm5lbFxuXHQgKi9cblx0cHVibGljIHNldFZvaWNlQ2hhbm5lbChjaGFubmVsOiBzdHJpbmcpOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIGNoYW5uZWwgIT09IFwic3RyaW5nXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDaGFubmVsIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLlwiKTtcblxuXHRcdHRoaXMudm9pY2VDaGFubmVsID0gY2hhbm5lbDtcblx0XHR0aGlzLmNvbm5lY3QoKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBwbGF5ZXIgdGV4dCBjaGFubmVsLlxuXHQgKiBAcGFyYW0gY2hhbm5lbFxuXHQgKi9cblx0cHVibGljIHNldFRleHRDaGFubmVsKGNoYW5uZWw6IHN0cmluZyk6IHRoaXMge1xuXHRcdGlmICh0eXBlb2YgY2hhbm5lbCAhPT0gXCJzdHJpbmdcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNoYW5uZWwgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcuXCIpO1xuXG5cdFx0dGhpcy50ZXh0Q2hhbm5lbCA9IGNoYW5uZWw7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogU2V0cyB0aGUgbm93IHBsYXlpbmcgbWVzc2FnZS4gKi9cblx0cHVibGljIHNldE5vd1BsYXlpbmdNZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UpOiBNZXNzYWdlIHtcblx0XHRpZiAoIW1lc3NhZ2UpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXCJZb3UgbXVzdCBwcm92aWRlIHRoZSBtZXNzYWdlIG9mIHRoZSBub3cgcGxheWluZyBtZXNzYWdlLlwiKTtcblx0XHR9XG5cdFx0cmV0dXJuICh0aGlzLm5vd1BsYXlpbmdNZXNzYWdlID0gbWVzc2FnZSk7XG5cdH1cblxuXHQvKiogUGxheXMgdGhlIG5leHQgdHJhY2suICovXG5cdHB1YmxpYyBhc3luYyBwbGF5KCk6IFByb21pc2U8dm9pZD47XG5cblx0LyoqXG5cdCAqIFBsYXlzIHRoZSBzcGVjaWZpZWQgdHJhY2suXG5cdCAqIEBwYXJhbSB0cmFja1xuXHQgKi9cblx0cHVibGljIGFzeW5jIHBsYXkodHJhY2s6IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrKTogUHJvbWlzZTx2b2lkPjtcblxuXHQvKipcblx0ICogUGxheXMgdGhlIG5leHQgdHJhY2sgd2l0aCBzb21lIG9wdGlvbnMuXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgcGxheShvcHRpb25zOiBQbGF5T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cblxuXHQvKipcblx0ICogUGxheXMgdGhlIHNwZWNpZmllZCB0cmFjayB3aXRoIHNvbWUgb3B0aW9ucy5cblx0ICogQHBhcmFtIHRyYWNrXG5cdCAqIEBwYXJhbSBvcHRpb25zXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgcGxheSh0cmFjazogVHJhY2sgfCBVbnJlc29sdmVkVHJhY2ssIG9wdGlvbnM6IFBsYXlPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcblx0cHVibGljIGFzeW5jIHBsYXkob3B0aW9uc09yVHJhY2s/OiBQbGF5T3B0aW9ucyB8IFRyYWNrIHwgVW5yZXNvbHZlZFRyYWNrLCBwbGF5T3B0aW9ucz86IFBsYXlPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHR5cGVvZiBvcHRpb25zT3JUcmFjayAhPT0gXCJ1bmRlZmluZWRcIiAmJiBUcmFja1V0aWxzLnZhbGlkYXRlKG9wdGlvbnNPclRyYWNrKSkge1xuXHRcdFx0aWYgKHRoaXMucXVldWUuY3VycmVudCkgdGhpcy5xdWV1ZS5wcmV2aW91cyA9IHRoaXMucXVldWUuY3VycmVudDtcblx0XHRcdHRoaXMucXVldWUuY3VycmVudCA9IG9wdGlvbnNPclRyYWNrIGFzIFRyYWNrO1xuXHRcdH1cblxuXHRcdGlmICghdGhpcy5xdWV1ZS5jdXJyZW50KSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIk5vIGN1cnJlbnQgdHJhY2suXCIpO1xuXG5cdFx0Y29uc3QgZmluYWxPcHRpb25zID0gcGxheU9wdGlvbnNcblx0XHRcdD8gcGxheU9wdGlvbnNcblx0XHRcdDogW1wic3RhcnRUaW1lXCIsIFwiZW5kVGltZVwiLCBcIm5vUmVwbGFjZVwiXS5ldmVyeSgodikgPT4gT2JqZWN0LmtleXMob3B0aW9uc09yVHJhY2sgfHwge30pLmluY2x1ZGVzKHYpKVxuXHRcdFx0PyAob3B0aW9uc09yVHJhY2sgYXMgUGxheU9wdGlvbnMpXG5cdFx0XHQ6IHt9O1xuXG5cdFx0aWYgKFRyYWNrVXRpbHMuaXNVbnJlc29sdmVkVHJhY2sodGhpcy5xdWV1ZS5jdXJyZW50KSkge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0dGhpcy5xdWV1ZS5jdXJyZW50ID0gYXdhaXQgVHJhY2tVdGlscy5nZXRDbG9zZXN0VHJhY2sodGhpcy5xdWV1ZS5jdXJyZW50IGFzIFVucmVzb2x2ZWRUcmFjayk7XG5cdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlRyYWNrRXJyb3JcIiwgdGhpcywgdGhpcy5xdWV1ZS5jdXJyZW50LCBlcnJvcik7XG5cdFx0XHRcdGlmICh0aGlzLnF1ZXVlWzBdKSByZXR1cm4gdGhpcy5wbGF5KHRoaXMucXVldWVbMF0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YXdhaXQgdGhpcy5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdGVuY29kZWRUcmFjazogdGhpcy5xdWV1ZS5jdXJyZW50Py50cmFjayA/PyB1bmRlZmluZWQsXG5cdFx0XHRcdC4uLmZpbmFsT3B0aW9ucyxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHRPYmplY3QuYXNzaWduKHRoaXMsIHsgcG9zaXRpb246IDAsIHBsYXlpbmc6IHRydWUgfSk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgYXV0b3BsYXktc3RhdGUgb2YgdGhlIHBsYXllci5cblx0ICogQHBhcmFtIGF1dG9wbGF5U3RhdGVcblx0ICogQHBhcmFtIGJvdFVzZXJcblx0ICovXG5cdHB1YmxpYyBzZXRBdXRvcGxheShhdXRvcGxheVN0YXRlOiBib29sZWFuLCBib3RVc2VyOiBvYmplY3QpIHtcblx0XHRpZiAodHlwZW9mIGF1dG9wbGF5U3RhdGUgIT09IFwiYm9vbGVhblwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXV0b3BsYXlTdGF0ZSBtdXN0IGJlIGEgYm9vbGVhbi5cIik7XG5cdFx0fVxuXG5cdFx0aWYgKHR5cGVvZiBib3RVc2VyICE9PSBcIm9iamVjdFwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKFwiYm90VXNlciBtdXN0IGJlIGEgdXNlci1vYmplY3QuXCIpO1xuXHRcdH1cblxuXHRcdHRoaXMuaXNBdXRvcGxheSA9IGF1dG9wbGF5U3RhdGU7XG5cdFx0dGhpcy5zZXQoXCJJbnRlcm5hbF9Cb3RVc2VyXCIsIGJvdFVzZXIpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblx0XG5cblx0LyoqXG5cdCAqIEdldHMgcmVjb21tZW5kZWQgdHJhY2tzIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHRyYWNrcy5cblx0ICogQHBhcmFtIHRyYWNrXG5cdCAqIEBwYXJhbSByZXF1ZXN0ZXJcblx0ICovXG5cdHB1YmxpYyBhc3luYyBnZXRSZWNvbW1lbmRlZCh0cmFjazogVHJhY2ssIHJlcXVlc3Rlcj86IFVzZXIgfCBDbGllbnRVc2VyKSB7XG5cdFx0Y29uc3Qgbm9kZSA9IHRoaXMubWFuYWdlci51c2VhYmxlTm9kZXM7XG5cblx0XHRpZiAoIW5vZGUpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIk5vIGF2YWlsYWJsZSBub2Rlcy5cIik7XG5cdFx0fVxuXG5cdFx0Y29uc3QgaGFzU3BvdGlmeVVSTCA9IFtcInNwb3RpZnkuY29tXCIsIFwib3Blbi5zcG90aWZ5LmNvbVwiXS5zb21lKCh1cmwpID0+IHRyYWNrLnVyaS5pbmNsdWRlcyh1cmwpKTtcblx0XHRjb25zdCBoYXNZb3VUdWJlVVJMID0gW1wieW91dHViZS5jb21cIiwgXCJ5b3V0dS5iZVwiXS5zb21lKCh1cmwpID0+IHRyYWNrLnVyaS5pbmNsdWRlcyh1cmwpKTtcblxuXHRcdGlmIChoYXNTcG90aWZ5VVJMKSB7XG5cdFx0XHRjb25zdCByZXMgPSBhd2FpdCBub2RlLnJlc3QuZ2V0KGAvdjQvaW5mb2ApO1xuXHRcdFx0Y29uc3QgaW5mbyA9IHJlcyBhcyBMYXZhbGlua0luZm87XG5cblx0XHRcdGNvbnN0IGlzU3BvdGlmeVBsdWdpbkVuYWJsZWQgPSBpbmZvLnBsdWdpbnMuc29tZSgocGx1Z2luOiB7IG5hbWU6IHN0cmluZyB9KSA9PiBwbHVnaW4ubmFtZSA9PT0gXCJsYXZhc3JjLXBsdWdpblwiKTtcblx0XHRcdGNvbnN0IGlzU3BvdGlmeVNvdXJjZU1hbmFnZXJFbmFibGVkID0gaW5mby5zb3VyY2VNYW5hZ2Vycy5pbmNsdWRlcyhcInNwb3RpZnlcIik7XG5cblx0XHRcdGlmIChpc1Nwb3RpZnlQbHVnaW5FbmFibGVkICYmIGlzU3BvdGlmeVNvdXJjZU1hbmFnZXJFbmFibGVkKSB7XG5cdFx0XHRcdGNvbnN0IHRyYWNrSUQgPSBub2RlLmV4dHJhY3RTcG90aWZ5VHJhY2tJRCh0cmFjay51cmkpO1xuXHRcdFx0XHRjb25zdCBhcnRpc3RJRCA9IG5vZGUuZXh0cmFjdFNwb3RpZnlBcnRpc3RJRCh0cmFjay5wbHVnaW5JbmZvLmFydGlzdFVybCA/PyBcIlwiKTtcblxuXHRcdFx0XHRsZXQgaWRlbnRpZmllciA9IFwiXCI7XG5cdFx0XHRcdGlmICh0cmFja0lEICYmIGFydGlzdElEKSB7XG5cdFx0XHRcdFx0aWRlbnRpZmllciA9IGBzcHJlYzpzZWVkX2FydGlzdHM9JHthcnRpc3RJRH0mc2VlZF90cmFja3M9JHt0cmFja0lEfWA7XG5cdFx0XHRcdH0gZWxzZSBpZiAodHJhY2tJRCkge1xuXHRcdFx0XHRcdGlkZW50aWZpZXIgPSBgc3ByZWM6c2VlZF90cmFja3M9JHt0cmFja0lEfWA7XG5cdFx0XHRcdH0gZWxzZSBpZiAoYXJ0aXN0SUQpIHtcblx0XHRcdFx0XHRpZGVudGlmaWVyID0gYHNwcmVjOnNlZWRfYXJ0aXN0cz0ke2FydGlzdElEfWA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoaWRlbnRpZmllcikge1xuXHRcdFx0XHRcdGNvbnN0IHJlY29tbWVuZGVkUmVzdWx0ID0gKGF3YWl0IG5vZGUucmVzdC5nZXQoYC92NC9sb2FkdHJhY2tzP2lkZW50aWZpZXI9JHtlbmNvZGVVUklDb21wb25lbnQoaWRlbnRpZmllcil9YCkpIGFzIExhdmFsaW5rUmVzcG9uc2U7XG5cblx0XHRcdFx0XHRpZiAocmVjb21tZW5kZWRSZXN1bHQubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0XHRcdFx0Y29uc3QgcGxheWxpc3REYXRhID0gcmVjb21tZW5kZWRSZXN1bHQuZGF0YSBhcyBQbGF5bGlzdFJhd0RhdGE7XG5cdFx0XHRcdFx0XHRjb25zdCByZWNvbW1lbmRlZFRyYWNrcyA9IHBsYXlsaXN0RGF0YS50cmFja3M7XG5cblx0XHRcdFx0XHRcdGlmIChyZWNvbW1lbmRlZFRyYWNrcykge1xuXHRcdFx0XHRcdFx0XHRjb25zdCB0cmFja3MgPSByZWNvbW1lbmRlZFRyYWNrcy5tYXAoKHRyYWNrKSA9PiBUcmFja1V0aWxzLmJ1aWxkKHRyYWNrLCByZXF1ZXN0ZXIpKTtcblxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdHJhY2tzO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxldCB2aWRlb0lEID0gdHJhY2sudXJpLnN1YnN0cmluZyh0cmFjay51cmkuaW5kZXhPZihcIj1cIikgKyAxKTtcblxuXHRcdGlmICghaGFzWW91VHViZVVSTCkge1xuXHRcdFx0Y29uc3QgcmVzID0gYXdhaXQgdGhpcy5tYW5hZ2VyLnNlYXJjaChgJHt0cmFjay5hdXRob3J9IC0gJHt0cmFjay50aXRsZX1gKTtcblxuXHRcdFx0dmlkZW9JRCA9IHJlcy50cmFja3NbMF0udXJpLnN1YnN0cmluZyhyZXMudHJhY2tzWzBdLnVyaS5pbmRleE9mKFwiPVwiKSArIDEpO1xuXHRcdH1cblxuXHRcdGNvbnN0IHNlYXJjaFVSSSA9IGBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PSR7dmlkZW9JRH0mbGlzdD1SRCR7dmlkZW9JRH1gO1xuXG5cdFx0Y29uc3QgcmVzID0gYXdhaXQgdGhpcy5tYW5hZ2VyLnNlYXJjaChzZWFyY2hVUkkpO1xuXG5cdFx0aWYgKHJlcy5sb2FkVHlwZSA9PT0gXCJlbXB0eVwiIHx8IHJlcy5sb2FkVHlwZSA9PT0gXCJlcnJvclwiKSByZXR1cm47XG5cblx0XHRsZXQgdHJhY2tzID0gcmVzLnRyYWNrcztcblxuXHRcdGlmIChyZXMubG9hZFR5cGUgPT09IFwicGxheWxpc3RcIikge1xuXHRcdFx0dHJhY2tzID0gcmVzLnBsYXlsaXN0Py50cmFja3MgPz8gdHJhY2tzO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpbHRlcmVkVHJhY2tzID0gdHJhY2tzLmZpbHRlcigodHJhY2spID0+IHRyYWNrLnVyaSAhPT0gYGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9JHt2aWRlb0lEfWApO1xuXG5cdFx0aWYgKHRoaXMubWFuYWdlci5vcHRpb25zLnJlcGxhY2VZb3VUdWJlQ3JlZGVudGlhbHMpIHtcblx0XHRcdGZvciAoY29uc3QgdHJhY2sgb2YgZmlsdGVyZWRUcmFja3MpIHtcblx0XHRcdFx0dHJhY2suYXV0aG9yID0gdHJhY2suYXV0aG9yLnJlcGxhY2UoXCItIFRvcGljXCIsIFwiXCIpO1xuXHRcdFx0XHR0cmFjay50aXRsZSA9IHRyYWNrLnRpdGxlLnJlcGxhY2UoXCJUb3BpYyAtXCIsIFwiXCIpO1xuXG5cdFx0XHRcdGlmICh0cmFjay50aXRsZS5pbmNsdWRlcyhcIi1cIikpIHtcblx0XHRcdFx0XHRjb25zdCBbYXV0aG9yLCB0aXRsZV0gPSB0cmFjay50aXRsZS5zcGxpdChcIi1cIikubWFwKChzdHI6IHN0cmluZykgPT4gc3RyLnRyaW0oKSk7XG5cdFx0XHRcdFx0dHJhY2suYXV0aG9yID0gYXV0aG9yO1xuXHRcdFx0XHRcdHRyYWNrLnRpdGxlID0gdGl0bGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gZmlsdGVyZWRUcmFja3M7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgcGxheWVyIHZvbHVtZS5cblx0ICogQHBhcmFtIHZvbHVtZVxuXHQgKi9cblx0cHVibGljIHNldFZvbHVtZSh2b2x1bWU6IG51bWJlcik6IHRoaXMge1xuXHRcdGlmIChpc05hTih2b2x1bWUpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiVm9sdW1lIG11c3QgYmUgYSBudW1iZXIuXCIpO1xuXG5cdFx0dGhpcy5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMub3B0aW9ucy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0dm9sdW1lLFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHRoaXMudm9sdW1lID0gdm9sdW1lO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgdHJhY2sgcmVwZWF0LlxuXHQgKiBAcGFyYW0gcmVwZWF0XG5cdCAqL1xuXHRwdWJsaWMgc2V0VHJhY2tSZXBlYXQocmVwZWF0OiBib29sZWFuKTogdGhpcyB7XG5cdFx0aWYgKHR5cGVvZiByZXBlYXQgIT09IFwiYm9vbGVhblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZXBlYXQgY2FuIG9ubHkgYmUgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLicpO1xuXG5cdFx0Y29uc3Qgb2xkUGxheWVyID0geyAuLi50aGlzIH07XG5cblx0XHRpZiAocmVwZWF0KSB7XG5cdFx0XHR0aGlzLnRyYWNrUmVwZWF0ID0gdHJ1ZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnRyYWNrUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLnF1ZXVlUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLmR5bmFtaWNSZXBlYXQgPSBmYWxzZTtcblx0XHR9XG5cblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllclN0YXRlVXBkYXRlXCIsIG9sZFBsYXllciwgdGhpcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgcXVldWUgcmVwZWF0LlxuXHQgKiBAcGFyYW0gcmVwZWF0XG5cdCAqL1xuXHRwdWJsaWMgc2V0UXVldWVSZXBlYXQocmVwZWF0OiBib29sZWFuKTogdGhpcyB7XG5cdFx0aWYgKHR5cGVvZiByZXBlYXQgIT09IFwiYm9vbGVhblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZXBlYXQgY2FuIG9ubHkgYmUgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLicpO1xuXG5cdFx0Y29uc3Qgb2xkUGxheWVyID0geyAuLi50aGlzIH07XG5cblx0XHRpZiAocmVwZWF0KSB7XG5cdFx0XHR0aGlzLnRyYWNrUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLnF1ZXVlUmVwZWF0ID0gdHJ1ZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IGZhbHNlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnRyYWNrUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLnF1ZXVlUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLmR5bmFtaWNSZXBlYXQgPSBmYWxzZTtcblx0XHR9XG5cblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllclN0YXRlVXBkYXRlXCIsIG9sZFBsYXllciwgdGhpcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgcXVldWUgdG8gcmVwZWF0IGFuZCBzaHVmZmxlcyB0aGUgcXVldWUgYWZ0ZXIgZWFjaCBzb25nLlxuXHQgKiBAcGFyYW0gcmVwZWF0IFwidHJ1ZVwiIG9yIFwiZmFsc2VcIi5cblx0ICogQHBhcmFtIG1zIEFmdGVyIGhvdyBtYW55IG1pbGxpc2Vjb25kcyB0byB0cmlnZ2VyIGR5bmFtaWMgcmVwZWF0LlxuXHQgKi9cblx0cHVibGljIHNldER5bmFtaWNSZXBlYXQocmVwZWF0OiBib29sZWFuLCBtczogbnVtYmVyKTogdGhpcyB7XG5cdFx0aWYgKHR5cGVvZiByZXBlYXQgIT09IFwiYm9vbGVhblwiKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdSZXBlYXQgY2FuIG9ubHkgYmUgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLicpO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLnF1ZXVlLnNpemUgPD0gMSkge1xuXHRcdFx0dGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJUaGUgcXVldWUgc2l6ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiKTtcblx0XHR9XG5cblx0XHRjb25zdCBvbGRQbGF5ZXIgPSB7IC4uLnRoaXMgfTtcblxuXHRcdGlmIChyZXBlYXQpIHtcblx0XHRcdHRoaXMudHJhY2tSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMucXVldWVSZXBlYXQgPSBmYWxzZTtcblx0XHRcdHRoaXMuZHluYW1pY1JlcGVhdCA9IHRydWU7XG5cblx0XHRcdHRoaXMuZHluYW1pY0xvb3BJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcblx0XHRcdFx0aWYgKCF0aGlzLmR5bmFtaWNSZXBlYXQpIHJldHVybjtcblx0XHRcdFx0Y29uc3Qgc2h1ZmZsZWQgPSBfLnNodWZmbGUodGhpcy5xdWV1ZSk7XG5cdFx0XHRcdHRoaXMucXVldWUuY2xlYXIoKTtcblx0XHRcdFx0c2h1ZmZsZWQuZm9yRWFjaCgodHJhY2spID0+IHtcblx0XHRcdFx0XHR0aGlzLnF1ZXVlLmFkZCh0cmFjayk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSwgbXMpIGFzIE5vZGVKUy5UaW1lb3V0O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjbGVhckludGVydmFsKHRoaXMuZHluYW1pY0xvb3BJbnRlcnZhbCk7XG5cdFx0XHR0aGlzLnRyYWNrUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLnF1ZXVlUmVwZWF0ID0gZmFsc2U7XG5cdFx0XHR0aGlzLmR5bmFtaWNSZXBlYXQgPSBmYWxzZTtcblx0XHR9XG5cblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllclN0YXRlVXBkYXRlXCIsIG9sZFBsYXllciwgdGhpcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogUmVzdGFydHMgdGhlIGN1cnJlbnQgdHJhY2sgdG8gdGhlIHN0YXJ0LiAqL1xuXHRwdWJsaWMgcmVzdGFydCgpOiB2b2lkIHtcblx0XHRpZiAoIXRoaXMucXVldWUuY3VycmVudD8udHJhY2spIHtcblx0XHRcdGlmICh0aGlzLnF1ZXVlLmxlbmd0aCkgdGhpcy5wbGF5KCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdHBvc2l0aW9uOiAwLFxuXHRcdFx0XHRlbmNvZGVkVHJhY2s6IHRoaXMucXVldWUuY3VycmVudD8udHJhY2ssXG5cdFx0XHR9LFxuXHRcdH0pO1xuXHR9XG5cblx0LyoqIFN0b3BzIHRoZSBjdXJyZW50IHRyYWNrLCBvcHRpb25hbGx5IGdpdmUgYW4gYW1vdW50IHRvIHNraXAgdG8sIGUuZyA1IHdvdWxkIHBsYXkgdGhlIDV0aCBzb25nLiAqL1xuXHRwdWJsaWMgc3RvcChhbW91bnQ/OiBudW1iZXIpOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIGFtb3VudCA9PT0gXCJudW1iZXJcIiAmJiBhbW91bnQgPiAxKSB7XG5cdFx0XHRpZiAoYW1vdW50ID4gdGhpcy5xdWV1ZS5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiQ2Fubm90IHNraXAgbW9yZSB0aGFuIHRoZSBxdWV1ZSBsZW5ndGguXCIpO1xuXHRcdFx0dGhpcy5xdWV1ZS5zcGxpY2UoMCwgYW1vdW50IC0gMSk7XG5cdFx0fVxuXG5cdFx0dGhpcy5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdGVuY29kZWRUcmFjazogdW5kZWZpbmVkLFxuXHRcdFx0fSxcblx0XHR9KTtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhdXNlcyB0aGUgY3VycmVudCB0cmFjay5cblx0ICogQHBhcmFtIHBhdXNlXG5cdCAqL1xuXHRwdWJsaWMgcGF1c2UocGF1c2U6IGJvb2xlYW4pOiB0aGlzIHtcblx0XHRpZiAodHlwZW9mIHBhdXNlICE9PSBcImJvb2xlYW5cIikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1BhdXNlIGNhbiBvbmx5IGJlIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIi4nKTtcblxuXHRcdGlmICh0aGlzLnBhdXNlZCA9PT0gcGF1c2UgfHwgIXRoaXMucXVldWUudG90YWxTaXplKSByZXR1cm4gdGhpcztcblxuXHRcdGNvbnN0IG9sZFBsYXllciA9IHsgLi4udGhpcyB9O1xuXG5cdFx0dGhpcy5wbGF5aW5nID0gIXBhdXNlO1xuXHRcdHRoaXMucGF1c2VkID0gcGF1c2U7XG5cblx0XHR0aGlzLm5vZGUucmVzdC51cGRhdGVQbGF5ZXIoe1xuXHRcdFx0Z3VpbGRJZDogdGhpcy5ndWlsZCxcblx0XHRcdGRhdGE6IHtcblx0XHRcdFx0cGF1c2VkOiBwYXVzZSxcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHR0aGlzLm1hbmFnZXIuZW1pdChcIlBsYXllclN0YXRlVXBkYXRlXCIsIG9sZFBsYXllciwgdGhpcyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKiogR28gYmFjayB0byB0aGUgcHJldmlvdXMgc29uZy4gKi9cblx0cHVibGljIHByZXZpb3VzKCk6IHRoaXMge1xuXHRcdGlmICh0aGlzLnF1ZXVlLnByZXZpb3VzKSB0aGlzLnF1ZXVlLnVuc2hpZnQodGhpcy5xdWV1ZS5wcmV2aW91cyk7XG5cdFx0dGhpcy5zdG9wKCk7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdC8qKlxuXHQgKiBTZWVrcyB0byB0aGUgcG9zaXRpb24gaW4gdGhlIGN1cnJlbnQgdHJhY2suXG5cdCAqIEBwYXJhbSBwb3NpdGlvblxuXHQgKi9cblx0cHVibGljIHNlZWsocG9zaXRpb246IG51bWJlcik6IHRoaXMge1xuXHRcdGlmICghdGhpcy5xdWV1ZS5jdXJyZW50KSByZXR1cm4gdGhpcztcblx0XHRwb3NpdGlvbiA9IE51bWJlcihwb3NpdGlvbik7XG5cblx0XHRpZiAoaXNOYU4ocG9zaXRpb24pKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlBvc2l0aW9uIG11c3QgYmUgYSBudW1iZXIuXCIpO1xuXHRcdGlmIChwb3NpdGlvbiA8IDAgfHwgcG9zaXRpb24gPiAodGhpcy5xdWV1ZS5jdXJyZW50LmR1cmF0aW9uID8/IDApKSBwb3NpdGlvbiA9IE1hdGgubWF4KE1hdGgubWluKHBvc2l0aW9uLCB0aGlzLnF1ZXVlLmN1cnJlbnQuZHVyYXRpb24gPz8gMCksIDApO1xuXG5cdFx0dGhpcy5wb3NpdGlvbiA9IHBvc2l0aW9uO1xuXG5cdFx0dGhpcy5ub2RlLnJlc3QudXBkYXRlUGxheWVyKHtcblx0XHRcdGd1aWxkSWQ6IHRoaXMuZ3VpbGQsXG5cdFx0XHRkYXRhOiB7XG5cdFx0XHRcdHBvc2l0aW9uOiBwb3NpdGlvbixcblx0XHRcdH0sXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYXllck9wdGlvbnMge1xuXHQvKiogVGhlIGd1aWxkIHRoZSBQbGF5ZXIgYmVsb25ncyB0by4gKi9cblx0Z3VpbGQ6IHN0cmluZztcblx0LyoqIFRoZSB0ZXh0IGNoYW5uZWwgdGhlIFBsYXllciBiZWxvbmdzIHRvLiAqL1xuXHR0ZXh0Q2hhbm5lbDogc3RyaW5nO1xuXHQvKiogVGhlIHZvaWNlIGNoYW5uZWwgdGhlIFBsYXllciBiZWxvbmdzIHRvLiAqL1xuXHR2b2ljZUNoYW5uZWw/OiBzdHJpbmc7XG5cdC8qKiBUaGUgbm9kZSB0aGUgUGxheWVyIHVzZXMuICovXG5cdG5vZGU/OiBzdHJpbmc7XG5cdC8qKiBUaGUgaW5pdGlhbCB2b2x1bWUgdGhlIFBsYXllciB3aWxsIHVzZS4gKi9cblx0dm9sdW1lPzogbnVtYmVyO1xuXHQvKiogSWYgdGhlIHBsYXllciBzaG91bGQgbXV0ZSBpdHNlbGYuICovXG5cdHNlbGZNdXRlPzogYm9vbGVhbjtcblx0LyoqIElmIHRoZSBwbGF5ZXIgc2hvdWxkIGRlYWYgaXRzZWxmLiAqL1xuXHRzZWxmRGVhZmVuPzogYm9vbGVhbjtcbn1cblxuLyoqIElmIHRyYWNrIHBhcnRpYWxzIGFyZSBzZXQgc29tZSBvZiB0aGVzZSB3aWxsIGJlIGB1bmRlZmluZWRgIGFzIHRoZXkgd2VyZSByZW1vdmVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFjayB7XG5cdC8qKiBUaGUgYmFzZTY0IGVuY29kZWQgdHJhY2suICovXG5cdHJlYWRvbmx5IHRyYWNrOiBzdHJpbmc7XG5cdC8qKiBUaGUgYXJ0d29yayB1cmwgb2YgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBhcnR3b3JrVXJsOiBzdHJpbmc7XG5cdC8qKiBUaGUgdHJhY2sgc291cmNlIG5hbWUuICovXG5cdHJlYWRvbmx5IHNvdXJjZU5hbWU6IFRyYWNrU291cmNlTmFtZTtcblx0LyoqIFRoZSB0aXRsZSBvZiB0aGUgdHJhY2suICovXG5cdHRpdGxlOiBzdHJpbmc7XG5cdC8qKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IGlkZW50aWZpZXI6IHN0cmluZztcblx0LyoqIFRoZSBhdXRob3Igb2YgdGhlIHRyYWNrLiAqL1xuXHRhdXRob3I6IHN0cmluZztcblx0LyoqIFRoZSBkdXJhdGlvbiBvZiB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IGR1cmF0aW9uOiBudW1iZXI7XG5cdC8qKiBUaGUgSVNSQyBvZiB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IGlzcmM6IHN0cmluZztcblx0LyoqIElmIHRoZSB0cmFjayBpcyBzZWVrYWJsZS4gKi9cblx0cmVhZG9ubHkgaXNTZWVrYWJsZTogYm9vbGVhbjtcblx0LyoqIElmIHRoZSB0cmFjayBpcyBhIHN0cmVhbS4uICovXG5cdHJlYWRvbmx5IGlzU3RyZWFtOiBib29sZWFuO1xuXHQvKiogVGhlIHVyaSBvZiB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IHVyaTogc3RyaW5nO1xuXHQvKiogVGhlIHRodW1ibmFpbCBvZiB0aGUgdHJhY2sgb3IgbnVsbCBpZiBpdCdzIGEgdW5zdXBwb3J0ZWQgc291cmNlLiAqL1xuXHRyZWFkb25seSB0aHVtYm5haWw6IHN0cmluZyB8IG51bGw7XG5cdC8qKiBUaGUgdXNlciB0aGF0IHJlcXVlc3RlZCB0aGUgdHJhY2suICovXG5cdHJlYWRvbmx5IHJlcXVlc3RlcjogVXNlciB8IENsaWVudFVzZXIgfCBudWxsO1xuXHQvKiogRGlzcGxheXMgdGhlIHRyYWNrIHRodW1ibmFpbCB3aXRoIG9wdGlvbmFsIHNpemUgb3IgbnVsbCBpZiBpdCdzIGEgdW5zdXBwb3J0ZWQgc291cmNlLiAqL1xuXHRkaXNwbGF5VGh1bWJuYWlsKHNpemU/OiBTaXplcyk6IHN0cmluZztcblx0LyoqIEFkZGl0aW9uYWwgdHJhY2sgaW5mbyBwcm92aWRlZCBieSBwbHVnaW5zLiAqL1xuXHRwbHVnaW5JbmZvOiBUcmFja1BsdWdpbkluZm87XG5cdC8qKiBBZGQgeW91ciBvd24gZGF0YSB0byB0aGUgdHJhY2suICovXG5cdGN1c3RvbURhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrUGx1Z2luSW5mbyB7XG5cdGFsYnVtTmFtZT86IHN0cmluZztcblx0YWxidW1Vcmw/OiBzdHJpbmc7XG5cdGFydGlzdEFydHdvcmtVcmw/OiBzdHJpbmc7XG5cdGFydGlzdFVybD86IHN0cmluZztcblx0aXNQcmV2aWV3Pzogc3RyaW5nO1xuXHRwcmV2aWV3VXJsPzogc3RyaW5nO1xufVxuXG4vKiogVW5yZXNvbHZlZCB0cmFja3MgY2FuJ3QgYmUgcGxheWVkIG5vcm1hbGx5LCB0aGV5IHdpbGwgcmVzb2x2ZSBiZWZvcmUgcGxheWluZyBpbnRvIGEgVHJhY2suICovXG5leHBvcnQgaW50ZXJmYWNlIFVucmVzb2x2ZWRUcmFjayBleHRlbmRzIFBhcnRpYWw8VHJhY2s+IHtcblx0LyoqIFRoZSB0aXRsZSB0byBzZWFyY2ggYWdhaW5zdC4gKi9cblx0dGl0bGU6IHN0cmluZztcblx0LyoqIFRoZSBhdXRob3IgdG8gc2VhcmNoIGFnYWluc3QuICovXG5cdGF1dGhvcj86IHN0cmluZztcblx0LyoqIFRoZSBkdXJhdGlvbiB0byBzZWFyY2ggd2l0aGluIDE1MDAgbWlsbGlzZWNvbmRzIG9mIHRoZSByZXN1bHRzIGZyb20gWW91VHViZS4gKi9cblx0ZHVyYXRpb24/OiBudW1iZXI7XG5cdC8qKiBSZXNvbHZlcyBpbnRvIGEgVHJhY2suICovXG5cdHJlc29sdmUoKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGF5T3B0aW9ucyB7XG5cdC8qKiBUaGUgcG9zaXRpb24gdG8gc3RhcnQgdGhlIHRyYWNrLiAqL1xuXHRyZWFkb25seSBzdGFydFRpbWU/OiBudW1iZXI7XG5cdC8qKiBUaGUgcG9zaXRpb24gdG8gZW5kIHRoZSB0cmFjay4gKi9cblx0cmVhZG9ubHkgZW5kVGltZT86IG51bWJlcjtcblx0LyoqIFdoZXRoZXIgdG8gbm90IHJlcGxhY2UgdGhlIHRyYWNrIGlmIGEgcGxheSBwYXlsb2FkIGlzIHNlbnQuICovXG5cdHJlYWRvbmx5IG5vUmVwbGFjZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXF1YWxpemVyQmFuZCB7XG5cdC8qKiBUaGUgYmFuZCBudW1iZXIgYmVpbmcgMCB0byAxNC4gKi9cblx0YmFuZDogbnVtYmVyO1xuXHQvKiogVGhlIGdhaW4gYW1vdW50IGJlaW5nIC0wLjI1IHRvIDEuMDAsIDAuMjUgYmVpbmcgZG91YmxlLiAqL1xuXHRnYWluOiBudW1iZXI7XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFJQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxDQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFDLHNCQUFB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
|