oxygen-cli 1.43.2-beta.1 → 1.43.2-beta.2
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.
|
@@ -139,19 +139,13 @@ class WorkerProcess extends _events.EventEmitter {
|
|
|
139
139
|
const afterTime = new Date().getTime();
|
|
140
140
|
const duration = afterTime - beforeTime;
|
|
141
141
|
this._isInitialized = true;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
start = this._name + ' ';
|
|
145
|
-
}
|
|
146
|
-
log.info(start + 'Worker initialized in ' + duration + ' ms');
|
|
142
|
+
const engineName = this._name ? this._name + ' ' : '';
|
|
143
|
+
log.info(engineName + 'Worker initialized in ' + duration + ' ms');
|
|
147
144
|
}
|
|
148
145
|
}
|
|
149
146
|
async startSession() {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
start = this._name + ' ';
|
|
153
|
-
}
|
|
154
|
-
log.info(start + 'Session started');
|
|
147
|
+
const engineName = this._name ? this._name + ' ' : '';
|
|
148
|
+
log.info(engineName + 'Session started');
|
|
155
149
|
}
|
|
156
150
|
async endSession(status = null, disposeModules = true) {
|
|
157
151
|
if (this._childProc) {
|
|
@@ -384,4 +378,4 @@ class WorkerProcess extends _events.EventEmitter {
|
|
|
384
378
|
}
|
|
385
379
|
}
|
|
386
380
|
exports.default = WorkerProcess;
|
|
387
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJfZXZlbnRzIiwiX3doZW4iLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9kZWJ1Z2dlciIsIl91dGlsIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwibG9nIiwibG9nZ2VyIiwic25vb3plIiwibXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJXb3JrZXJQcm9jZXNzIiwiRXZlbnRFbWl0dGVyIiwiY29uc3RydWN0b3IiLCJwaWQiLCJ3b3JrZXJQYXRoIiwiZGVidWdNb2RlIiwiZGVidWdQb3J0IiwibmFtZSIsIm5wbUdSb290RXhlY3V0aW9uIiwiX25hbWUiLCJfaXNSdW5uaW5nIiwiX2lzSW5pdGlhbGl6ZWQiLCJfc3RvcHBlZEJ5VXNlciIsIl9waWQiLCJfY2hpbGRQcm9jIiwiX2RlYnVnTW9kZSIsIl9kZWJ1Z1BvcnQiLCJfd29ya2VyUGF0aCIsIl9ucG1HUm9vdEV4ZWN1dGlvbiIsIl9icmVha3BvaW50RXJyb3JzIiwiX2NhbGxzIiwiX2V2ZW50SGFuZGxlcnMiLCJzdGFydCIsImVudiIsIk9iamVjdCIsImFzc2lnbiIsInByb2Nlc3MiLCJPWF9XT1JLRVIiLCJERUJVRyIsImlzTmFOIiwiTk9fVVBEQVRFX05PVElGSUVSIiwiaW5mbyIsImZvcmtPcHRzIiwiY3dkIiwiZXhlY0FyZ3YiLCJkZXRhY2hlZCIsInB1c2giLCJnbG9iYWxOcG1Nb2R1bGVzUGF0aCIsInBsYXRmb3JtIiwicmVqZWN0IiwiZXhlYyIsImVyciIsInN0ZG91dCIsImNvbnNvbGUiLCJ0b1N0cmluZyIsInRyaW0iLCJleGVjUmVzdWx0IiwiZXhlY1N5bmMiLCJOT0RFX1BBVEgiLCJmb3JrIiwiX2hvb2tDaGlsZFByb2NFdmVudHMiLCJzdGFydERlYnVnZ2VyIiwiX2luaXRpYWxpemVEZWJ1Z2dlciIsInN0b3BEZWJ1Z2dlciIsImNsb3NlIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwic3RvcCIsInN0YXR1cyIsIl9wYXVzZWQiLCJkaXNhYmxlIiwicmVzdW1lVGVybWluYXRlIiwiaW52b2tlIiwiX3NlbmQiLCJ0eXBlIiwia2lsbCIsIl9yZXNldCIsImluaXRPeHlnZW4iLCJyaWQiLCJvcHRpb25zIiwiY2FwcyIsImJlZm9yZVRpbWUiLCJEYXRlIiwiZ2V0VGltZSIsImFmdGVyVGltZSIsImR1cmF0aW9uIiwic3RhcnRTZXNzaW9uIiwiZW5kU2Vzc2lvbiIsImRpc3Bvc2VNb2R1bGVzIiwiZGlzcG9zZSIsImRlYnVnZ2VyIiwiaXNSdW5uaW5nIiwiaXNJbml0aWFsaXplZCIsInJ1biIsInJ1bk9wdHMiLCJzdWJzY3JpYmUiLCJldmVudE5hbWUiLCJoYW5kbGVyIiwiZXZlbnQiLCJtZXRob2QiLCJhcmdzIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJzbGljZSIsImNhbGwiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzaGlmdCIsImNhbGxJZCIsIm94dXRpbCIsImdlbmVyYXRlVW5pcXVlSWQiLCJkZWZlciIsInByb21pc2UiLCJpbnZva2VUZXN0SG9vayIsImhvb2tOYW1lIiwiaG9va0FyZ3MiLCJtZXNzYWdlIiwic2VuZCIsIl93aGVuT3h5Z2VuRGlzcG9zZWQiLCJfd2hlbk94eWdlbkluaXRpYWxpemVkIiwiX3doZW5Nb2R1bGVzRGlzcG9zZWQiLCJvbiIsIl9oYW5kbGVDaGlsZE1lc3NhZ2UiLCJiaW5kIiwiX2hhbmRsZUNoaWxkRXJyb3IiLCJfaGFuZGxlQ2hpbGRFeGl0IiwiX2hhbmRsZUNoaWxkRGlzY29ubmVjdCIsIl9oYW5kbGVDaGlsZFVuY2F1Z2h0RXhjZXB0aW9uIiwiX2hhbmRsZUNoaWxkU2lnSW50IiwibXNnIiwiaGFzT3duUHJvcGVydHkiLCJlcnJvciIsInJldHZhbCIsImVtaXQiLCJfaGFuZGxlV29ya2VyRXZlbnQiLCJhcHBseSIsInVuZGVmaW5lZCIsImRlYnVnIiwiZXhpdENvZGUiLCJzaWduYWwiLCJEZWJ1Z2dlciIsIndoZW5EZWJ1Z2dlclJlYWR5IiwiX3RoaXMiLCJjb250aW51ZSIsImlzUmVzb2x2ZWQiLCJicmVha3BvaW50RGF0YSIsImJyZWFrRXJyb3IiLCJpbmNsdWRlcyIsImNvbm5lY3QiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bm5lcnMvV29ya2VyUHJvY2Vzcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JrLCBleGVjU3luYywgZXhlYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xyXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdldmVudHMnO1xyXG5pbXBvcnQgeyBkZWZlciB9IGZyb20gJ3doZW4nO1xyXG5cclxuLy8gc2V0dXAgbG9nZ2VyXHJcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi4vbGliL2xvZ2dlcic7XHJcbmNvbnN0IGxvZyA9IGxvZ2dlcignV29ya2VyUHJvY2VzcycpO1xyXG5cclxuaW1wb3J0IERlYnVnZ2VyIGZyb20gJy4uL2xpYi9kZWJ1Z2dlcic7XHJcbmltcG9ydCBveHV0aWwgZnJvbSAnLi4vbGliL3V0aWwnO1xyXG5cclxuLy8gc25vb3plIGZ1bmN0aW9uIC0gYXN5bmMgd3JhcHBlciBhcm91bmQgc2V0VGltZW91dCBmdW5jdGlvblxyXG5jb25zdCBzbm9vemUgPSBtcyA9PiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcclxuXHJcbi8qKlxyXG4gKiBXb3JrZXJQcm9jZXNzIHJlc3BvbnNpYmxlIGZvciBzcGF3bmluZyBhIHdvcmtlciBwcm9jZXNzIHRoZSB0ZXN0IGluc3RhbmNlLlxyXG4gKi9cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV29ya2VyUHJvY2VzcyBleHRlbmRzIEV2ZW50RW1pdHRlciB7XHJcbiAgICBjb25zdHJ1Y3RvcihwaWQsIHdvcmtlclBhdGgsIGRlYnVnTW9kZSwgZGVidWdQb3J0LCBuYW1lID0gbnVsbCwgbnBtR1Jvb3RFeGVjdXRpb24gPSB0cnVlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLl9uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLl9pc1J1bm5pbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fc3RvcHBlZEJ5VXNlciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fcGlkID0gcGlkO1xyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fZGVidWdNb2RlID0gZGVidWdNb2RlO1xyXG4gICAgICAgIHRoaXMuX2RlYnVnUG9ydCA9IGRlYnVnUG9ydDtcclxuICAgICAgICB0aGlzLl9kZWJ1Z2dlciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fd29ya2VyUGF0aCA9IHdvcmtlclBhdGg7XHJcbiAgICAgICAgdGhpcy5fbnBtR1Jvb3RFeGVjdXRpb24gPSBucG1HUm9vdEV4ZWN1dGlvbjtcclxuICAgICAgICB0aGlzLl9icmVha3BvaW50RXJyb3JzID0gW107XHJcbiAgICAgICAgLy8gaG9sZCB0aGUgcmVtb3RlIGludm9jYXRpb24gcHJvbWlzZVxyXG4gICAgICAgIHRoaXMuX2NhbGxzID0ge307XHJcbiAgICAgICAgdGhpcy5fZXZlbnRIYW5kbGVycyA9IHt9O1xyXG4gICAgfVxyXG4gICAgYXN5bmMgc3RhcnQoKSB7XHJcbiAgICAgICAgY29uc3QgZW52ID0gT2JqZWN0LmFzc2lnbihwcm9jZXNzLmVudiwge1xyXG4gICAgICAgICAgICBPWF9XT1JLRVI6IHRydWUsXHJcbiAgICAgICAgICAgIERFQlVHOiAhaXNOYU4odGhpcy5fZGVidWdQb3J0KSxcclxuICAgICAgICAgICAgTk9fVVBEQVRFX05PVElGSUVSOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGxvZy5pbmZvKGBTdGFydGluZyB3b3JrZXIgcHJvY2VzcyAke3RoaXMuX3BpZH0uYCk7XHJcbiAgICAgICAgbGV0IGZvcmtPcHRzID0ge1xyXG4gICAgICAgICAgICBjd2Q6IHByb2Nlc3MuY3dkKCksXHJcbiAgICAgICAgICAgIGVudixcclxuICAgICAgICAgICAgZXhlY0FyZ3Y6IFtdLFxyXG4gICAgICAgICAgICBkZXRhY2hlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIC8vc2lsZW50OiBmYWxzZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKHRoaXMuX2RlYnVnUG9ydCkge1xyXG4gICAgICAgICAgICAvLyBhZGQgLS1pbnNwZWN0LWJyayBhcmd1bWVudCBpZiBkZWJ1ZyBwb3J0IGlzIHNwZWNpZmllZFxyXG4gICAgICAgICAgICBmb3JrT3B0cy5leGVjQXJndiA9IE9iamVjdC5hc3NpZ24oZm9ya09wdHMuZXhlY0FyZ3YsIFsnLS1pbnNwZWN0LWJyaz0nICsgdGhpcy5fZGVidWdQb3J0XSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBwcmludCBtb3JlIGluZm9ybWF0aW9uIGZvciBub2RlanMgZXJyb3JzXHJcbiAgICAgICAgZm9ya09wdHMuZXhlY0FyZ3YucHVzaCgnLS10cmFjZS13YXJuaW5ncycpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fbnBtR1Jvb3RFeGVjdXRpb24pIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGxldCBnbG9iYWxOcG1Nb2R1bGVzUGF0aDtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ2RhcndpbicpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCAoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGVjKCducG0gcm9vdCAtZycsIHtjd2Q6IHByb2Nlc3MuY3dkKCl9LCBmdW5jdGlvbiAoZXJyLCBzdGRvdXQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2RhcndpbiBucG0gcm9vdCBlcnJvcjonLCBlcnIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGRvdXQgJiYgc3Rkb3V0LnRvU3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxOcG1Nb2R1bGVzUGF0aCA9IHN0ZG91dC50b1N0cmluZygpLnRyaW0oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSkoKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhlY1Jlc3VsdCA9IGV4ZWNTeW5jKCducG0gcm9vdCAtZycpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXhlY1Jlc3VsdCAmJiBleGVjUmVzdWx0LnRvU3RyaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbE5wbU1vZHVsZXNQYXRoID0gZXhlY1Jlc3VsdC50b1N0cmluZygpLnRyaW0oKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbE5wbU1vZHVsZXNQYXRoICYmXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ya09wdHMgJiZcclxuICAgICAgICAgICAgICAgICAgICBmb3JrT3B0cy5lbnZcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcmtPcHRzLmVudi5OT0RFX1BBVEggPSBnbG9iYWxOcG1Nb2R1bGVzUGF0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ25wbSByb290IGVycm9yOicsIGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBmb3JrIHdvcmtlclxyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYyA9IGZvcmsodGhpcy5fd29ya2VyUGF0aCwgZm9ya09wdHMpO1xyXG5cclxuICAgICAgICB0aGlzLl9ob29rQ2hpbGRQcm9jRXZlbnRzKCk7XHJcbiAgICAgICAgLy8gaWYgd2UgYXJlIGluIGRlYnVnIG1vZGUsIGluaXRpYWxpemUgZGVidWdnZXIgYW5kIG9ubHkgdGhlbiBzdGFydCBtb2R1bGVzICdpbml0J1xyXG5cclxuICAgICAgICB0aGlzLl9pc1J1bm5pbmcgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jaGlsZFByb2M7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc3RhcnREZWJ1Z2dlcigpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGVidWdNb2RlKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2luaXRpYWxpemVEZWJ1Z2dlcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzdG9wRGVidWdnZXIoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2RlYnVnZ2VyKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2RlYnVnZ2VyLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RlYnVnZ2VyLnJlbW92ZUFsbExpc3RlbmVycygpO1xyXG4gICAgICAgICAgICB0aGlzLl9kZWJ1Z2dlciA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHN0b3Aoc3RhdHVzID0gbnVsbCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9pc0luaXRpYWxpemVkICYmIHRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fZGVidWdnZXIgJiYgdGhpcy5fZGVidWdnZXIuX3BhdXNlZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCdDQU5DRUxFRCcgPT09IHN0YXR1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2RlYnVnZ2VyLmRpc2FibGUoKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZGVidWdnZXIucmVzdW1lVGVybWluYXRlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5pbnZva2UoJ2Rpc3Bvc2UnLCBzdGF0dXMpO1xyXG4gICAgICAgICAgICBhd2FpdCBzbm9vemUoMTAwKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICBhd2FpdCBzbm9vemUoMTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX2RlYnVnZ2VyKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2RlYnVnZ2VyLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9zZW5kKHtcclxuICAgICAgICAgICAgdHlwZTogJ2V4aXQnLFxyXG4gICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmtpbGwoKTtcclxuICAgICAgICB0aGlzLl9yZXNldCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGtpbGwoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGlsZFByb2Mua2lsbCgnU0lHSU5UJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGluaXRPeHlnZW4ocmlkLCBvcHRpb25zLCBjYXBzKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc0luaXRpYWxpemVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJlZm9yZVRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5pbnZva2UoJ2luaXQnLCByaWQsIG9wdGlvbnMsIGNhcHMpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgYWZ0ZXJUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gYWZ0ZXJUaW1lIC0gYmVmb3JlVGltZTtcclxuICAgICAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9ICcnO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fbmFtZSkge1xyXG4gICAgICAgICAgICAgICAgc3RhcnQgPSB0aGlzLl9uYW1lICsgJyAnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxvZy5pbmZvKHN0YXJ0ICsgJ1dvcmtlciBpbml0aWFsaXplZCBpbiAnICsgZHVyYXRpb24gKyAnIG1zJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHN0YXJ0U2Vzc2lvbigpIHtcclxuICAgICAgICBsZXQgc3RhcnQgPSAnJztcclxuICAgICAgICBpZiAodGhpcy5fbmFtZSkge1xyXG4gICAgICAgICAgICBzdGFydCA9IHRoaXMuX25hbWUgKyAnICc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxvZy5pbmZvKHN0YXJ0ICsgJ1Nlc3Npb24gc3RhcnRlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGVuZFNlc3Npb24oc3RhdHVzID0gbnVsbCwgZGlzcG9zZU1vZHVsZXMgPSB0cnVlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICBjb25zdCBiZWZvcmVUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaW52b2tlKCdlbmRTZXNzaW9uJywgc3RhdHVzLCBkaXNwb3NlTW9kdWxlcyk7XHJcbiAgICAgICAgICAgIGNvbnN0IGFmdGVyVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGFmdGVyVGltZSAtIGJlZm9yZVRpbWU7XHJcbiAgICAgICAgICAgIGxldCBzdGFydCA9ICcnO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fbmFtZSkge1xyXG4gICAgICAgICAgICAgICAgc3RhcnQgPSB0aGlzLl9uYW1lICsgJyAnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxvZy5pbmZvKHN0YXJ0ICsgJ1Nlc3Npb24gZW5kZWQgaW4gJyArIGR1cmF0aW9uICsgJyBtcycpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkaXNwb3NlKHN0YXR1cyA9IG51bGwpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGVidWdnZXIpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fZGVidWdnZXIuY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX2lzSW5pdGlhbGl6ZWQgJiYgdGhpcy5fY2hpbGRQcm9jKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaW52b2tlKCdkaXNwb3NlJywgc3RhdHVzKTtcclxuICAgICAgICAgICAgdGhpcy5fc2VuZCh7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiAnZXhpdCcsXHJcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMua2lsbCgpO1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbmQoe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2V4aXQnLFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmtpbGwoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRlYnVnZ2VyICgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGVidWdnZXI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzUnVubmluZyAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzUnVubmluZztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgaXNJbml0aWFsaXplZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faXNJbml0aWFsaXplZDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBydW4ocnVuT3B0cykge1xyXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmludm9rZSgncnVuJywgcnVuT3B0cyk7XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlKGV2ZW50TmFtZSwgaGFuZGxlcikge1xyXG4gICAgICAgIGlmICghdGhpcy5fZXZlbnRIYW5kbGVyc1tldmVudE5hbWVdICYmIHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSA9IGhhbmRsZXI7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbmQoe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3N1YnNjcmliZScsXHJcbiAgICAgICAgICAgICAgICBldmVudDogZXZlbnROYW1lLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgaW52b2tlKG1ldGhvZCkge1xyXG4gICAgICAgIGxldCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcclxuICAgICAgICAvLyBpZ25vcmUgZmlyc3QgYXJndW1lbnQgLSBlLmcuIG1ldGhvZFxyXG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgYXJncy5zaGlmdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5fY2hpbGRQcm9jKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNhbGxJZCA9IG94dXRpbC5nZW5lcmF0ZVVuaXF1ZUlkKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbmQoe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2ludm9rZScsXHJcbiAgICAgICAgICAgICAgICBtZXRob2Q6IG1ldGhvZCxcclxuICAgICAgICAgICAgICAgIGNhbGxJZDogY2FsbElkLFxyXG4gICAgICAgICAgICAgICAgYXJnczogYXJnc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5fY2FsbHNbY2FsbElkXSA9IGRlZmVyKCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jYWxsc1tjYWxsSWRdLnByb21pc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGludm9rZVRlc3RIb29rKGhvb2tOYW1lLCBob29rQXJncykge1xyXG4gICAgICAgIGNvbnN0IGNhbGxJZCA9IG94dXRpbC5nZW5lcmF0ZVVuaXF1ZUlkKCk7XHJcbiAgICAgICAgdGhpcy5fc2VuZCh7XHJcbiAgICAgICAgICAgIHR5cGU6ICdpbnZva2U6aG9vaycsXHJcbiAgICAgICAgICAgIG1ldGhvZDogaG9va05hbWUsXHJcbiAgICAgICAgICAgIGNhbGxJZDogY2FsbElkLFxyXG4gICAgICAgICAgICBhcmdzOiBob29rQXJnc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2NhbGxzW2NhbGxJZF0gPSBkZWZlcigpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jYWxsc1tjYWxsSWRdLnByb21pc2U7XHJcbiAgICB9XHJcblxyXG4gICAgX3NlbmQobWVzc2FnZSkge1xyXG4gICAgICAgIGlmICghdGhpcy5fY2hpbGRQcm9jKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY2hpbGRQcm9jLnNlbmQobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgX3Jlc2V0KCkge1xyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fZGVidWdnZXIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2lzUnVubmluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX2RlYnVnTW9kZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fZGVidWdQb3J0ID0gbnVsbDtcclxuICAgICAgICB0aGlzLl93aGVuT3h5Z2VuRGlzcG9zZWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX3doZW5PeHlnZW5Jbml0aWFsaXplZCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fd2hlbk1vZHVsZXNEaXNwb3NlZCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIF9ob29rQ2hpbGRQcm9jRXZlbnRzKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5fY2hpbGRQcm9jKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY2hpbGRQcm9jLm9uKCdtZXNzYWdlJywgdGhpcy5faGFuZGxlQ2hpbGRNZXNzYWdlLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYy5vbignZXJyb3InLCB0aGlzLl9oYW5kbGVDaGlsZEVycm9yLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYy5vbignZXhpdCcsIHRoaXMuX2hhbmRsZUNoaWxkRXhpdC5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLl9jaGlsZFByb2Mub24oJ2Rpc2Nvbm5lY3QnLCB0aGlzLl9oYW5kbGVDaGlsZERpc2Nvbm5lY3QuYmluZCh0aGlzKSk7XHJcbiAgICAgICAgdGhpcy5fY2hpbGRQcm9jLm9uKCd1bmNhdWdodEV4Y2VwdGlvbicsIHRoaXMuX2hhbmRsZUNoaWxkVW5jYXVnaHRFeGNlcHRpb24uYmluZCh0aGlzKSk7XHJcbiAgICAgICAgdGhpcy5fY2hpbGRQcm9jLm9uKCdTSUdJTlQnLCB0aGlzLl9oYW5kbGVDaGlsZFNpZ0ludC5iaW5kKHRoaXMpKTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQ2hpbGRNZXNzYWdlKG1zZykge1xyXG4gICAgICAgIGlmIChtc2cuZXZlbnQpIHtcclxuICAgICAgICAgICAgc3dpdGNoIChtc2cuZXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2ludm9rZTpyZXN1bHQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChtc2cuY2FsbElkICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLl9jYWxscywgbXNnLmNhbGxJZCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX2NhbGxzW21zZy5jYWxsSWRdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobXNnLmVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9taXNlLnJlamVjdChtc2cuZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKG1zZy5yZXR2YWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jYWxsc1ttc2cuY2FsbElkXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdyZXBvcnRlcic6XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1zZy5tZXRob2QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0KCdyZXBvcnRlcicsIHsgcGlkOiB0aGlzLl9waWQsIG1ldGhvZDogbXNnLm1ldGhvZCwgYXJnczogbXNnLmFyZ3MgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZXZlbnQnOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZVdvcmtlckV2ZW50KG1zZy5uYW1lLCBtc2cuYXJncyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5lbWl0KCdtZXNzYWdlJywgT2JqZWN0LmFzc2lnbihtc2csIHsgcGlkOiB0aGlzLl9waWQgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIF9oYW5kbGVXb3JrZXJFdmVudChuYW1lLCBhcmdzKSB7XHJcbiAgICAgICAgaWYgKG5hbWUgJiYgdGhpcy5fZXZlbnRIYW5kbGVycyAmJiB0aGlzLl9ldmVudEhhbmRsZXJzW25hbWVdKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9ldmVudEhhbmRsZXJzW25hbWVdLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgIGxvZy5lcnJvcignRXJyb3IgdGhyb3duIGJ5IHdvcmtlciBldmVudCBoYW5kbGVyIFwiJHtuYW1lfTonLCBlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQ2hpbGRFcnJvcihlcnJvcikge1xyXG4gICAgICAgIGxvZy5kZWJ1ZyhgV29ya2VyICR7dGhpcy5fcGlkfSB0aHJvd24gYW4gZXJyb3I6ICR7ZXJyb3J9LmApO1xyXG4gICAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBPYmplY3QuYXNzaWduKHsgZXJyb3IgOiBlcnJvciB9LCB7IHBpZDogdGhpcy5fcGlkIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQ2hpbGRFeGl0KGV4aXRDb2RlLCBzaWduYWwpIHtcclxuICAgICAgICBsb2cuZGVidWcoYFdvcmtlciAke3RoaXMuX3BpZH0gZmluaXNoZWQgd2l0aCBleGl0IGNvZGUgJHtleGl0Q29kZX0gYW5kIHNpZ25hbCAke3NpZ25hbH0uYCk7XHJcbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcclxuICAgICAgICB0aGlzLmVtaXQoJ2V4aXQnLCB7IHBpZDogdGhpcy5fcGlkLCBleGl0Q29kZSwgc2lnbmFsIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVDaGlsZERpc2Nvbm5lY3QoKSB7XHJcbiAgICAgICAgbG9nLmRlYnVnKGBXb3JrZXIgJHt0aGlzLl9waWR9IGRpc2Nvbm5lY3RlZC5gKTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQ2hpbGRVbmNhdWdodEV4Y2VwdGlvbihlcnJvcikge1xyXG4gICAgICAgIGxvZy5kZWJ1ZyhgV29ya2VyICR7dGhpcy5fcGlkfSB0aHJvd24gYW4gdW5jYXVnaHQgZXJyb3I6ICR7ZXJyb3J9LmApO1xyXG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XHJcbiAgICAgICAgdGhpcy5lbWl0KCdlcnJvcicsIE9iamVjdC5hc3NpZ24oeyBlcnJvciA6IGVycm9yIH0sIHsgcGlkOiB0aGlzLl9waWQgfSkpO1xyXG4gICAgICAgIHRoaXMuZW1pdCgnZXhpdCcsIHsgcGlkOiB0aGlzLl9waWQsIGV4aXRDb2RlOiAxIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVDaGlsZFNpZ0ludCgpIHtcclxuICAgICAgICBsb2cuZGVidWcoYFdvcmtlciAke3RoaXMuX3BpZH0gcmVjZWl2ZWQgU0lHSU5UIHNpZ25hbC5gKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBfaW5pdGlhbGl6ZURlYnVnZ2VyKCkge1xyXG4gICAgICAgIHRoaXMuX2RlYnVnZ2VyID0gbmV3IERlYnVnZ2VyKHRoaXMuX3BpZCk7XHJcbiAgICAgICAgbGV0IHdoZW5EZWJ1Z2dlclJlYWR5ID0gZGVmZXIoKTtcclxuICAgICAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgICAgLy8gaGFuZGxlIGRlYnVnZ2VyIGV2ZW50c1xyXG4gICAgICAgIHRoaXMuX2RlYnVnZ2VyLm9uKCdyZWFkeScsIGZ1bmN0aW9uKGVycikge1xyXG4gICAgICAgICAgICAvLyByZXN1bWUgdGhlIGZpcnN0IGJyZWFrcG9pbnQgd2hpY2ggaXMgYXV0b21hdGljYWxseSBhZGRlZCBieSB0aGUgZGVidWdnZXJcclxuICAgICAgICAgICAgaWYgKF90aGlzLl9kZWJ1Z2dlciAmJiBfdGhpcy5fZGVidWdnZXIuY29udGludWUpIHtcclxuICAgICAgICAgICAgICAgIF90aGlzLl9kZWJ1Z2dlci5jb250aW51ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHdoZW5EZWJ1Z2dlclJlYWR5LnJlc29sdmUoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9kZWJ1Z2dlci5vbignZXJyb3InLCBmdW5jdGlvbihlcnIpIHtcclxuXHJcbiAgICAgICAgICAgIGxvZy5lcnJvcignRGVidWdnZXIgZXJyb3IgOicsIGVycik7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmVtaXQoJ2RlYnVnZ2VyOmVycm9yJywgT2JqZWN0LmFzc2lnbihlcnIsIHsgcGlkOiB0aGlzLl9waWQgfSkpO1xyXG4gICAgICAgICAgICAvLyByZWplY3QgdGhlIHByb21pc2Ugb25seSBpZiB3ZSBnb3QgYW4gZXJyb3IgcmlnaHQgYWZ0ZXIgX2RlYnVnZ2VyLmNvbm5lY3QoKSBjYWxsIGJlbG93IC0gd2UgbmVlZCB0aGlzIHRvIGluZGljYXRlIGRlYnVnZ2VyIGluaXRpYWxpemF0aW9uIGVycm9yXHJcbiAgICAgICAgICAgIGlmICghd2hlbkRlYnVnZ2VyUmVhZHkuaXNSZXNvbHZlZCkge1xyXG4gICAgICAgICAgICAgICAgd2hlbkRlYnVnZ2VyUmVhZHkucmVqZWN0KGVyci5tZXNzYWdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2RlYnVnZ2VyLm9uKCdicmVhaycsIGZ1bmN0aW9uKGJyZWFrcG9pbnREYXRhKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZW1pdCgnZGVidWdnZXI6YnJlYWsnLCBicmVha3BvaW50RGF0YSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fZGVidWdnZXIub24oJ2JyZWFrRXJyb3InLCBhc3luYyBmdW5jdGlvbihicmVha0Vycm9yKSB7XHJcblxyXG4gICAgICAgICAgICBpZiAoYnJlYWtFcnJvciAmJiBicmVha0Vycm9yLm1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgIGlmIChfdGhpcy5fYnJlYWtwb2ludEVycm9ycy5pbmNsdWRlcyhicmVha0Vycm9yLm1lc3NhZ2UpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaWdub3JlXHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLl9icmVha3BvaW50RXJyb3JzLnB1c2goYnJlYWtFcnJvci5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2RlYnVnZ2VyOmJyZWFrRXJyb3InLCBicmVha0Vycm9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBsb2cuaW5mbyhgQ29ubmVjdGluZyB0byBkZWJ1Z2dlciBvbiBwb3J0ICR7dGhpcy5fZGVidWdQb3J0fS4uLmApO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9kZWJ1Z2dlci5jb25uZWN0KHRoaXMuX2RlYnVnUG9ydCwgJzEyNy4wLjAuMScpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgbG9nLmVycm9yKCdDYW5ub3QgY29ubmVjdCB0byB0aGUgZGVidWdnZXI6ICcsIGUpO1xyXG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ0Nhbm5vdCBjb25uZWN0IHRvIHRoZSBkZWJ1Z2dlcjogJyArIGUubWVzc2FnZTtcclxuICAgICAgICAgICAgd2hlbkRlYnVnZ2VyUmVhZHkucmVqZWN0KG1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHdoZW5EZWJ1Z2dlclJlYWR5LnByb21pc2U7XHJcbiAgICB9XHJcbn0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxjQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFHQSxJQUFBRyxPQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFHQSxJQUFBSyxTQUFBLEdBQUFELHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdBQUFGLHNCQUFBLENBQUFKLE9BQUE7QUFBaUMsU0FBQUksdUJBQUFHLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFIakMsTUFBTUcsR0FBRyxHQUFHLElBQUFDLGVBQU0sRUFBQyxlQUFlLENBQUM7QUFNbkMsTUFBTUMsTUFBTSxHQUFHQyxFQUFFLElBQUksSUFBSUMsT0FBTyxDQUFDQyxPQUFPLElBQUlDLFVBQVUsQ0FBQ0QsT0FBTyxFQUFFRixFQUFFLENBQUMsQ0FBQztBQUtyRCxNQUFNSSxhQUFhLFNBQVNDLG9CQUFZLENBQUM7RUFDcERDLFdBQVdBLENBQUNDLEdBQUcsRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLFNBQVMsRUFBRUMsSUFBSSxHQUFHLElBQUksRUFBRUMsaUJBQWlCLEdBQUcsSUFBSSxFQUFFO0lBQ3RGLEtBQUssQ0FBQyxDQUFDO0lBQ1AsSUFBSSxDQUFDQyxLQUFLLEdBQUdGLElBQUk7SUFDakIsSUFBSSxDQUFDRyxVQUFVLEdBQUcsS0FBSztJQUN2QixJQUFJLENBQUNDLGNBQWMsR0FBRyxLQUFLO0lBQzNCLElBQUksQ0FBQ0MsY0FBYyxHQUFHLElBQUk7SUFDMUIsSUFBSSxDQUFDQyxJQUFJLEdBQUdWLEdBQUc7SUFDZixJQUFJLENBQUNXLFVBQVUsR0FBRyxJQUFJO0lBQ3RCLElBQUksQ0FBQ0MsVUFBVSxHQUFHVixTQUFTO0lBQzNCLElBQUksQ0FBQ1csVUFBVSxHQUFHVixTQUFTO0lBQzNCLElBQUksQ0FBQ2xCLFNBQVMsR0FBRyxJQUFJO0lBQ3JCLElBQUksQ0FBQzZCLFdBQVcsR0FBR2IsVUFBVTtJQUM3QixJQUFJLENBQUNjLGtCQUFrQixHQUFHVixpQkFBaUI7SUFDM0MsSUFBSSxDQUFDVyxpQkFBaUIsR0FBRyxFQUFFO0lBRTNCLElBQUksQ0FBQ0MsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLENBQUNDLGNBQWMsR0FBRyxDQUFDLENBQUM7RUFDNUI7RUFDQSxNQUFNQyxLQUFLQSxDQUFBLEVBQUc7SUFDVixNQUFNQyxHQUFHLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDQyxPQUFPLENBQUNILEdBQUcsRUFBRTtNQUNuQ0ksU0FBUyxFQUFFLElBQUk7TUFDZkMsS0FBSyxFQUFFLENBQUNDLEtBQUssQ0FBQyxJQUFJLENBQUNiLFVBQVUsQ0FBQztNQUM5QmMsa0JBQWtCLEVBQUU7SUFDeEIsQ0FBQyxDQUFDO0lBRUZyQyxHQUFHLENBQUNzQyxJQUFJLENBQUMsMkJBQTJCLElBQUksQ0FBQ2xCLElBQUksR0FBRyxDQUFDO0lBQ2pELElBQUltQixRQUFRLEdBQUc7TUFDWEMsR0FBRyxFQUFFUCxPQUFPLENBQUNPLEdBQUcsQ0FBQyxDQUFDO01BQ2xCVixHQUFHO01BQ0hXLFFBQVEsRUFBRSxFQUFFO01BQ1pDLFFBQVEsRUFBRTtJQUVkLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQ25CLFVBQVUsRUFBRTtNQUVqQmdCLFFBQVEsQ0FBQ0UsUUFBUSxHQUFHVixNQUFNLENBQUNDLE1BQU0sQ0FBQ08sUUFBUSxDQUFDRSxRQUFRLEVBQUUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUNsQixVQUFVLENBQUMsQ0FBQztJQUM5RjtJQUdBZ0IsUUFBUSxDQUFDRSxRQUFRLENBQUNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUUxQyxJQUFJLElBQUksQ0FBQ2xCLGtCQUFrQixFQUFFO01BQ3pCLElBQUk7UUFDQSxJQUFJbUIsb0JBQW9CO1FBRXhCLElBQUlYLE9BQU8sQ0FBQ1ksUUFBUSxLQUFLLFFBQVEsRUFBRTtVQUMvQixNQUFNLENBQUMsTUFBTTtZQUNULE9BQU8sSUFBSXpDLE9BQU8sQ0FBQyxDQUFDQyxPQUFPLEVBQUV5QyxNQUFNLEtBQUs7Y0FDcEMsSUFBSTtnQkFDQSxJQUFBQyxtQkFBSSxFQUFDLGFBQWEsRUFBRTtrQkFBQ1AsR0FBRyxFQUFFUCxPQUFPLENBQUNPLEdBQUcsQ0FBQztnQkFBQyxDQUFDLEVBQUUsVUFBVVEsR0FBRyxFQUFFQyxNQUFNLEVBQUU7a0JBQzdELElBQUlELEdBQUcsRUFBRTtvQkFDTEUsT0FBTyxDQUFDbEQsR0FBRyxDQUFDLHdCQUF3QixFQUFFZ0QsR0FBRyxDQUFDO29CQUMxQzNDLE9BQU8sQ0FBQyxDQUFDO2tCQUNiO2tCQUNBLElBQUk0QyxNQUFNLElBQUlBLE1BQU0sQ0FBQ0UsUUFBUSxFQUFFO29CQUMzQlAsb0JBQW9CLEdBQUdLLE1BQU0sQ0FBQ0UsUUFBUSxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLENBQUM7b0JBQy9DL0MsT0FBTyxDQUFDLENBQUM7a0JBQ2I7Z0JBQ0osQ0FBQyxDQUFDO2NBQ04sQ0FBQyxDQUFDLE9BQU9SLENBQUMsRUFBRTtnQkFDUmlELE1BQU0sQ0FBQ2pELENBQUMsQ0FBQztjQUNiO1lBQ0osQ0FBQyxDQUFDO1VBQ04sQ0FBQyxFQUFFLENBQUM7UUFDUixDQUFDLE1BQU07VUFDSCxNQUFNd0QsVUFBVSxHQUFHLElBQUFDLHVCQUFRLEVBQUMsYUFBYSxDQUFDO1VBRTFDLElBQUlELFVBQVUsSUFBSUEsVUFBVSxDQUFDRixRQUFRLEVBQUU7WUFDbkNQLG9CQUFvQixHQUFHUyxVQUFVLENBQUNGLFFBQVEsQ0FBQyxDQUFDLENBQUNDLElBQUksQ0FBQyxDQUFDO1VBQ3ZEO1FBQ0o7UUFFQSxJQUNJUixvQkFBb0IsSUFDcEJMLFFBQVEsSUFDUkEsUUFBUSxDQUFDVCxHQUFHLEVBQ2Q7VUFDRVMsUUFBUSxDQUFDVCxHQUFHLENBQUN5QixTQUFTLEdBQUdYLG9CQUFvQjtRQUNqRDtNQUNKLENBQUMsQ0FBQyxPQUFPL0MsQ0FBQyxFQUFFO1FBQ1JxRCxPQUFPLENBQUNsRCxHQUFHLENBQUMsaUJBQWlCLEVBQUVILENBQUMsQ0FBQztNQUNyQztJQUNKO0lBR0EsSUFBSSxDQUFDd0IsVUFBVSxHQUFHLElBQUFtQyxtQkFBSSxFQUFDLElBQUksQ0FBQ2hDLFdBQVcsRUFBRWUsUUFBUSxDQUFDO0lBRWxELElBQUksQ0FBQ2tCLG9CQUFvQixDQUFDLENBQUM7SUFHM0IsSUFBSSxDQUFDeEMsVUFBVSxHQUFHLElBQUk7SUFDdEIsT0FBTyxJQUFJLENBQUNJLFVBQVU7RUFDMUI7RUFFQSxNQUFNcUMsYUFBYUEsQ0FBQSxFQUFHO0lBQ2xCLElBQUksSUFBSSxDQUFDcEMsVUFBVSxFQUFFO01BQ2pCLE1BQU0sSUFBSSxDQUFDcUMsbUJBQW1CLENBQUMsQ0FBQztJQUNwQztFQUNKO0VBRUEsTUFBTUMsWUFBWUEsQ0FBQSxFQUFHO0lBQ2pCLElBQUksSUFBSSxDQUFDakUsU0FBUyxFQUFFO01BQ2hCLE1BQU0sSUFBSSxDQUFDQSxTQUFTLENBQUNrRSxLQUFLLENBQUMsQ0FBQztNQUM1QixJQUFJLENBQUNsRSxTQUFTLENBQUNtRSxrQkFBa0IsQ0FBQyxDQUFDO01BQ25DLElBQUksQ0FBQ25FLFNBQVMsR0FBRyxJQUFJO0lBQ3pCO0VBQ0o7RUFFQSxNQUFNb0UsSUFBSUEsQ0FBQ0MsTUFBTSxHQUFHLElBQUksRUFBRTtJQUN0QixJQUFJLElBQUksQ0FBQzlDLGNBQWMsSUFBSSxJQUFJLENBQUNHLFVBQVUsRUFBRTtNQUN4QyxJQUFJLElBQUksQ0FBQzFCLFNBQVMsSUFBSSxJQUFJLENBQUNBLFNBQVMsQ0FBQ3NFLE9BQU8sRUFBRTtRQUMxQyxJQUFJLFVBQVUsS0FBS0QsTUFBTSxFQUFFO1VBQ3ZCLE1BQU0sSUFBSSxDQUFDckUsU0FBUyxDQUFDdUUsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxNQUFNO1VBQ0gsTUFBTSxJQUFJLENBQUN2RSxTQUFTLENBQUN3RSxlQUFlLENBQUMsQ0FBQztRQUMxQztNQUNKO01BQ0EsTUFBTSxJQUFJLENBQUNDLE1BQU0sQ0FBQyxTQUFTLEVBQUVKLE1BQU0sQ0FBQztNQUNwQyxNQUFNOUQsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNyQixDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUNtQixVQUFVLEVBQUU7TUFDeEIsTUFBTW5CLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDckI7SUFDQSxJQUFJLElBQUksQ0FBQ1AsU0FBUyxFQUFFO01BQ2hCLE1BQU0sSUFBSSxDQUFDQSxTQUFTLENBQUNrRSxLQUFLLENBQUMsQ0FBQztJQUNoQztJQUVBLElBQUksQ0FBQ1EsS0FBSyxDQUFDO01BQ1BDLElBQUksRUFBRSxNQUFNO01BQ1pOLE1BQU0sRUFBRUE7SUFDWixDQUFDLENBQUM7SUFDRixJQUFJLENBQUNPLElBQUksQ0FBQyxDQUFDO0lBQ1gsSUFBSSxDQUFDQyxNQUFNLENBQUMsQ0FBQztFQUNqQjtFQUVBRCxJQUFJQSxDQUFBLEVBQUc7SUFDSCxJQUFJLElBQUksQ0FBQ2xELFVBQVUsRUFBRTtNQUNqQixJQUFJLENBQUNBLFVBQVUsQ0FBQ2tELElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbEM7RUFDSjtFQUVBLE1BQU1FLFVBQVVBLENBQUNDLEdBQUcsRUFBRUMsT0FBTyxFQUFFQyxJQUFJLEVBQUU7SUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQzFELGNBQWMsRUFBRTtNQUN0QixNQUFNMkQsVUFBVSxHQUFHLElBQUlDLElBQUksQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQ3ZDLE1BQU0sSUFBSSxDQUFDWCxNQUFNLENBQUMsTUFBTSxFQUFFTSxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxDQUFDO01BRTdDLE1BQU1JLFNBQVMsR0FBRyxJQUFJRixJQUFJLENBQUMsQ0FBQyxDQUFDQyxPQUFPLENBQUMsQ0FBQztNQUN0QyxNQUFNRSxRQUFRLEdBQUdELFNBQVMsR0FBR0gsVUFBVTtNQUN2QyxJQUFJLENBQUMzRCxjQUFjLEdBQUcsSUFBSTtNQUMxQixJQUFJVyxLQUFLLEdBQUcsRUFBRTtNQUNkLElBQUksSUFBSSxDQUFDYixLQUFLLEVBQUU7UUFDWmEsS0FBSyxHQUFHLElBQUksQ0FBQ2IsS0FBSyxHQUFHLEdBQUc7TUFDNUI7TUFDQWhCLEdBQUcsQ0FBQ3NDLElBQUksQ0FBQ1QsS0FBSyxHQUFHLHdCQUF3QixHQUFHb0QsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqRTtFQUNKO0VBRUEsTUFBTUMsWUFBWUEsQ0FBQSxFQUFHO0lBQ2pCLElBQUlyRCxLQUFLLEdBQUcsRUFBRTtJQUNkLElBQUksSUFBSSxDQUFDYixLQUFLLEVBQUU7TUFDWmEsS0FBSyxHQUFHLElBQUksQ0FBQ2IsS0FBSyxHQUFHLEdBQUc7SUFDNUI7SUFDQWhCLEdBQUcsQ0FBQ3NDLElBQUksQ0FBQ1QsS0FBSyxHQUFHLGlCQUFpQixDQUFDO0VBQ3ZDO0VBRUEsTUFBTXNELFVBQVVBLENBQUNuQixNQUFNLEdBQUcsSUFBSSxFQUFFb0IsY0FBYyxHQUFHLElBQUksRUFBRTtJQUNuRCxJQUFJLElBQUksQ0FBQy9ELFVBQVUsRUFBRTtNQUNqQixNQUFNd0QsVUFBVSxHQUFHLElBQUlDLElBQUksQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQ3ZDLE1BQU0sSUFBSSxDQUFDWCxNQUFNLENBQUMsWUFBWSxFQUFFSixNQUFNLEVBQUVvQixjQUFjLENBQUM7TUFDdkQsTUFBTUosU0FBUyxHQUFHLElBQUlGLElBQUksQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxDQUFDO01BQ3RDLE1BQU1FLFFBQVEsR0FBR0QsU0FBUyxHQUFHSCxVQUFVO01BQ3ZDLElBQUloRCxLQUFLLEdBQUcsRUFBRTtNQUNkLElBQUksSUFBSSxDQUFDYixLQUFLLEVBQUU7UUFDWmEsS0FBSyxHQUFHLElBQUksQ0FBQ2IsS0FBSyxHQUFHLEdBQUc7TUFDNUI7TUFDQWhCLEdBQUcsQ0FBQ3NDLElBQUksQ0FBQ1QsS0FBSyxHQUFHLG1CQUFtQixHQUFHb0QsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUM1RDtFQUNKO0VBRUEsTUFBTUksT0FBT0EsQ0FBQ3JCLE1BQU0sR0FBRyxJQUFJLEVBQUU7SUFDekIsSUFBSSxJQUFJLENBQUNyRSxTQUFTLEVBQUU7TUFDaEIsTUFBTSxJQUFJLENBQUNBLFNBQVMsQ0FBQ2tFLEtBQUssQ0FBQyxDQUFDO0lBQ2hDO0lBQ0EsSUFBSSxJQUFJLENBQUMzQyxjQUFjLElBQUksSUFBSSxDQUFDRyxVQUFVLEVBQUU7TUFDeEMsSUFBSSxDQUFDSCxjQUFjLEdBQUcsS0FBSztNQUUzQixNQUFNLElBQUksQ0FBQ2tELE1BQU0sQ0FBQyxTQUFTLEVBQUVKLE1BQU0sQ0FBQztNQUNwQyxJQUFJLENBQUNLLEtBQUssQ0FBQztRQUNQQyxJQUFJLEVBQUUsTUFBTTtRQUNaTixNQUFNLEVBQUVBO01BQ1osQ0FBQyxDQUFDO01BQ0YsSUFBSSxDQUFDTyxJQUFJLENBQUMsQ0FBQztJQUVmLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQ2xELFVBQVUsRUFBRTtNQUN4QixJQUFJLENBQUNILGNBQWMsR0FBRyxLQUFLO01BQzNCLElBQUksQ0FBQ21ELEtBQUssQ0FBQztRQUNQQyxJQUFJLEVBQUUsTUFBTTtRQUNaTixNQUFNLEVBQUVBO01BQ1osQ0FBQyxDQUFDO01BQ0YsSUFBSSxDQUFDTyxJQUFJLENBQUMsQ0FBQztJQUNmO0VBQ0o7RUFFQSxJQUFJZSxRQUFRQSxDQUFBLEVBQUk7SUFDWixPQUFPLElBQUksQ0FBQzNGLFNBQVM7RUFDekI7RUFFQSxJQUFJNEYsU0FBU0EsQ0FBQSxFQUFJO0lBQ2IsT0FBTyxJQUFJLENBQUN0RSxVQUFVO0VBQzFCO0VBRUEsSUFBSXVFLGFBQWFBLENBQUEsRUFBRztJQUNoQixPQUFPLElBQUksQ0FBQ3RFLGNBQWM7RUFDOUI7RUFFQSxNQUFNdUUsR0FBR0EsQ0FBQ0MsT0FBTyxFQUFFO0lBQ2YsT0FBTyxNQUFNLElBQUksQ0FBQ3RCLE1BQU0sQ0FBQyxLQUFLLEVBQUVzQixPQUFPLENBQUM7RUFDNUM7RUFFQUMsU0FBU0EsQ0FBQ0MsU0FBUyxFQUFFQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQ2pFLGNBQWMsQ0FBQ2dFLFNBQVMsQ0FBQyxJQUFJLE9BQU9DLE9BQU8sS0FBSyxVQUFVLEVBQUU7TUFDbEUsSUFBSSxDQUFDakUsY0FBYyxDQUFDZ0UsU0FBUyxDQUFDLEdBQUdDLE9BQU87TUFDeEMsSUFBSSxDQUFDeEIsS0FBSyxDQUFDO1FBQ1BDLElBQUksRUFBRSxXQUFXO1FBQ2pCd0IsS0FBSyxFQUFFRjtNQUNYLENBQUMsQ0FBQztJQUNOO0VBQ0o7RUFFQSxNQUFNeEIsTUFBTUEsQ0FBQzJCLE1BQU0sRUFBRTtJQUNqQixJQUFJQyxJQUFJLEdBQUdDLEtBQUssQ0FBQ0MsU0FBUyxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FBQ0MsU0FBUyxDQUFDO0lBRWhELElBQUlMLElBQUksQ0FBQ00sTUFBTSxHQUFHLENBQUMsRUFBRTtNQUNqQk4sSUFBSSxDQUFDTyxLQUFLLENBQUMsQ0FBQztJQUNoQjtJQUNBLElBQUksSUFBSSxDQUFDbEYsVUFBVSxFQUFFO01BQ2pCLE1BQU1tRixNQUFNLEdBQUdDLGFBQU0sQ0FBQ0MsZ0JBQWdCLENBQUMsQ0FBQztNQUN4QyxJQUFJLENBQUNyQyxLQUFLLENBQUM7UUFDUEMsSUFBSSxFQUFFLFFBQVE7UUFDZHlCLE1BQU0sRUFBRUEsTUFBTTtRQUNkUyxNQUFNLEVBQUVBLE1BQU07UUFDZFIsSUFBSSxFQUFFQTtNQUNWLENBQUMsQ0FBQztNQUNGLElBQUksQ0FBQ3JFLE1BQU0sQ0FBQzZFLE1BQU0sQ0FBQyxHQUFHLElBQUFHLFdBQUssRUFBQyxDQUFDO01BQzdCLE9BQU8sSUFBSSxDQUFDaEYsTUFBTSxDQUFDNkUsTUFBTSxDQUFDLENBQUNJLE9BQU87SUFDdEM7RUFDSjtFQUVBLE1BQU1DLGNBQWNBLENBQUNDLFFBQVEsRUFBRUMsUUFBUSxFQUFFO0lBQ3JDLE1BQU1QLE1BQU0sR0FBR0MsYUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3hDLElBQUksQ0FBQ3JDLEtBQUssQ0FBQztNQUNQQyxJQUFJLEVBQUUsYUFBYTtNQUNuQnlCLE1BQU0sRUFBRWUsUUFBUTtNQUNoQk4sTUFBTSxFQUFFQSxNQUFNO01BQ2RSLElBQUksRUFBRWU7SUFDVixDQUFDLENBQUM7SUFDRixJQUFJLENBQUNwRixNQUFNLENBQUM2RSxNQUFNLENBQUMsR0FBRyxJQUFBRyxXQUFLLEVBQUMsQ0FBQztJQUM3QixPQUFPLElBQUksQ0FBQ2hGLE1BQU0sQ0FBQzZFLE1BQU0sQ0FBQyxDQUFDSSxPQUFPO0VBQ3RDO0VBRUF2QyxLQUFLQSxDQUFDMkMsT0FBTyxFQUFFO0lBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQzNGLFVBQVUsRUFBRTtNQUNsQixPQUFPLEtBQUs7SUFDaEI7SUFDQSxJQUFJLENBQUNBLFVBQVUsQ0FBQzRGLElBQUksQ0FBQ0QsT0FBTyxDQUFDO0lBQzdCLE9BQU8sSUFBSTtFQUNmO0VBRUF4QyxNQUFNQSxDQUFBLEVBQUc7SUFDTCxJQUFJLENBQUNuRCxVQUFVLEdBQUcsSUFBSTtJQUN0QixJQUFJLENBQUMxQixTQUFTLEdBQUcsSUFBSTtJQUNyQixJQUFJLENBQUNzQixVQUFVLEdBQUcsS0FBSztJQUN2QixJQUFJLENBQUNLLFVBQVUsR0FBRyxJQUFJO0lBQ3RCLElBQUksQ0FBQ0MsVUFBVSxHQUFHLElBQUk7SUFDdEIsSUFBSSxDQUFDMkYsbUJBQW1CLEdBQUcsSUFBSTtJQUMvQixJQUFJLENBQUNDLHNCQUFzQixHQUFHLElBQUk7SUFDbEMsSUFBSSxDQUFDQyxvQkFBb0IsR0FBRyxJQUFJO0lBQ2hDLElBQUksQ0FBQ2xHLGNBQWMsR0FBRyxLQUFLO0VBQy9CO0VBRUF1QyxvQkFBb0JBLENBQUEsRUFBRztJQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDcEMsVUFBVSxFQUFFO01BQ2xCO0lBQ0o7SUFDQSxJQUFJLENBQUNBLFVBQVUsQ0FBQ2dHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLElBQUksQ0FBQ2xHLFVBQVUsQ0FBQ2dHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDRyxpQkFBaUIsQ0FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlELElBQUksQ0FBQ2xHLFVBQVUsQ0FBQ2dHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDSSxnQkFBZ0IsQ0FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELElBQUksQ0FBQ2xHLFVBQVUsQ0FBQ2dHLEVBQUUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDSyxzQkFBc0IsQ0FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hFLElBQUksQ0FBQ2xHLFVBQVUsQ0FBQ2dHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUNNLDZCQUE2QixDQUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEYsSUFBSSxDQUFDbEcsVUFBVSxDQUFDZ0csRUFBRSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUNPLGtCQUFrQixDQUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7RUFDcEU7RUFFQUQsbUJBQW1CQSxDQUFDTyxHQUFHLEVBQUU7SUFDckIsSUFBSUEsR0FBRyxDQUFDL0IsS0FBSyxFQUFFO01BQ1gsUUFBUStCLEdBQUcsQ0FBQy9CLEtBQUs7UUFDYixLQUFLLGVBQWU7VUFDaEIsSUFBSStCLEdBQUcsQ0FBQ3JCLE1BQU0sSUFBSXpFLE1BQU0sQ0FBQ21FLFNBQVMsQ0FBQzRCLGNBQWMsQ0FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUN6RSxNQUFNLEVBQUVrRyxHQUFHLENBQUNyQixNQUFNLENBQUMsRUFBRTtZQUM3RSxNQUFNSSxPQUFPLEdBQUcsSUFBSSxDQUFDakYsTUFBTSxDQUFDa0csR0FBRyxDQUFDckIsTUFBTSxDQUFDO1lBQ3ZDLElBQUlxQixHQUFHLENBQUNFLEtBQUssRUFBRTtjQUNYbkIsT0FBTyxDQUFDOUQsTUFBTSxDQUFDK0UsR0FBRyxDQUFDRSxLQUFLLENBQUM7WUFDN0IsQ0FBQyxNQUNJO2NBQ0RuQixPQUFPLENBQUN2RyxPQUFPLENBQUN3SCxHQUFHLENBQUNHLE1BQU0sQ0FBQztZQUMvQjtZQUNBLE9BQU8sSUFBSSxDQUFDckcsTUFBTSxDQUFDa0csR0FBRyxDQUFDckIsTUFBTSxDQUFDO1VBQ2xDO1VBQ0E7UUFDSixLQUFLLFVBQVU7VUFDWCxJQUFJcUIsR0FBRyxDQUFDOUIsTUFBTSxFQUFFO1lBQ1osSUFBSSxDQUFDa0MsSUFBSSxDQUFDLFVBQVUsRUFBRTtjQUFFdkgsR0FBRyxFQUFFLElBQUksQ0FBQ1UsSUFBSTtjQUFFMkUsTUFBTSxFQUFFOEIsR0FBRyxDQUFDOUIsTUFBTTtjQUFFQyxJQUFJLEVBQUU2QixHQUFHLENBQUM3QjtZQUFLLENBQUMsQ0FBQztVQUNqRjtVQUNBO1FBQ0osS0FBSyxPQUFPO1VBQ1IsSUFBSSxDQUFDa0Msa0JBQWtCLENBQUNMLEdBQUcsQ0FBQy9HLElBQUksRUFBRStHLEdBQUcsQ0FBQzdCLElBQUksQ0FBQztVQUMzQztNQUNSO0lBQ0o7SUFDQSxJQUFJLENBQUNpQyxJQUFJLENBQUMsU0FBUyxFQUFFbEcsTUFBTSxDQUFDQyxNQUFNLENBQUM2RixHQUFHLEVBQUU7TUFBRW5ILEdBQUcsRUFBRSxJQUFJLENBQUNVO0lBQUssQ0FBQyxDQUFDLENBQUM7RUFDaEU7RUFFQSxNQUFNOEcsa0JBQWtCQSxDQUFDcEgsSUFBSSxFQUFFa0YsSUFBSSxFQUFFO0lBQ2pDLElBQUlsRixJQUFJLElBQUksSUFBSSxDQUFDYyxjQUFjLElBQUksSUFBSSxDQUFDQSxjQUFjLENBQUNkLElBQUksQ0FBQyxFQUFFO01BQzFELElBQUk7UUFDQSxNQUFNLElBQUksQ0FBQ2MsY0FBYyxDQUFDZCxJQUFJLENBQUMsQ0FBQ3FILEtBQUssQ0FBQ0MsU0FBUyxFQUFFcEMsSUFBSSxDQUFDO01BQzFELENBQUMsQ0FDRCxPQUFPbkcsQ0FBQyxFQUFFO1FBQ05HLEdBQUcsQ0FBQytILEtBQUssQ0FBQyxnREFBZ0QsRUFBRWxJLENBQUMsQ0FBQztNQUNsRTtJQUNKO0VBQ0o7RUFFQTJILGlCQUFpQkEsQ0FBQ08sS0FBSyxFQUFFO0lBQ3JCL0gsR0FBRyxDQUFDcUksS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDakgsSUFBSSxxQkFBcUIyRyxLQUFLLEdBQUcsQ0FBQztJQUMzRCxJQUFJLENBQUNFLElBQUksQ0FBQyxPQUFPLEVBQUVsRyxNQUFNLENBQUNDLE1BQU0sQ0FBQztNQUFFK0YsS0FBSyxFQUFHQTtJQUFNLENBQUMsRUFBRTtNQUFFckgsR0FBRyxFQUFFLElBQUksQ0FBQ1U7SUFBSyxDQUFDLENBQUMsQ0FBQztFQUM1RTtFQUVBcUcsZ0JBQWdCQSxDQUFDYSxRQUFRLEVBQUVDLE1BQU0sRUFBRTtJQUMvQnZJLEdBQUcsQ0FBQ3FJLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQ2pILElBQUksNEJBQTRCa0gsUUFBUSxlQUFlQyxNQUFNLEdBQUcsQ0FBQztJQUMxRixJQUFJLENBQUMvRCxNQUFNLENBQUMsQ0FBQztJQUNiLElBQUksQ0FBQ3lELElBQUksQ0FBQyxNQUFNLEVBQUU7TUFBRXZILEdBQUcsRUFBRSxJQUFJLENBQUNVLElBQUk7TUFBRWtILFFBQVE7TUFBRUM7SUFBTyxDQUFDLENBQUM7RUFDM0Q7RUFFQWIsc0JBQXNCQSxDQUFBLEVBQUc7SUFDckIxSCxHQUFHLENBQUNxSSxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUNqSCxJQUFJLGdCQUFnQixDQUFDO0VBQ2xEO0VBRUF1Ryw2QkFBNkJBLENBQUNJLEtBQUssRUFBRTtJQUNqQy9ILEdBQUcsQ0FBQ3FJLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQ2pILElBQUksOEJBQThCMkcsS0FBSyxHQUFHLENBQUM7SUFDcEUsSUFBSSxDQUFDdkQsTUFBTSxDQUFDLENBQUM7SUFDYixJQUFJLENBQUN5RCxJQUFJLENBQUMsT0FBTyxFQUFFbEcsTUFBTSxDQUFDQyxNQUFNLENBQUM7TUFBRStGLEtBQUssRUFBR0E7SUFBTSxDQUFDLEVBQUU7TUFBRXJILEdBQUcsRUFBRSxJQUFJLENBQUNVO0lBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxDQUFDNkcsSUFBSSxDQUFDLE1BQU0sRUFBRTtNQUFFdkgsR0FBRyxFQUFFLElBQUksQ0FBQ1UsSUFBSTtNQUFFa0gsUUFBUSxFQUFFO0lBQUUsQ0FBQyxDQUFDO0VBQ3REO0VBRUFWLGtCQUFrQkEsQ0FBQSxFQUFHO0lBQ2pCNUgsR0FBRyxDQUFDcUksS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDakgsSUFBSSwwQkFBMEIsQ0FBQztFQUM1RDtFQUVBLE1BQU11QyxtQkFBbUJBLENBQUEsRUFBRztJQUN4QixJQUFJLENBQUNoRSxTQUFTLEdBQUcsSUFBSTZJLGlCQUFRLENBQUMsSUFBSSxDQUFDcEgsSUFBSSxDQUFDO0lBQ3hDLElBQUlxSCxpQkFBaUIsR0FBRyxJQUFBOUIsV0FBSyxFQUFDLENBQUM7SUFDL0IsTUFBTStCLEtBQUssR0FBRyxJQUFJO0lBRWxCLElBQUksQ0FBQy9JLFNBQVMsQ0FBQzBILEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBU3JFLEdBQUcsRUFBRTtNQUVyQyxJQUFJMEYsS0FBSyxDQUFDL0ksU0FBUyxJQUFJK0ksS0FBSyxDQUFDL0ksU0FBUyxDQUFDZ0osUUFBUSxFQUFFO1FBQzdDRCxLQUFLLENBQUMvSSxTQUFTLENBQUNnSixRQUFRLENBQUMsQ0FBQztNQUM5QjtNQUNBRixpQkFBaUIsQ0FBQ3BJLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQ1YsU0FBUyxDQUFDMEgsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFTckUsR0FBRyxFQUFFO01BRXJDaEQsR0FBRyxDQUFDK0gsS0FBSyxDQUFDLGtCQUFrQixFQUFFL0UsR0FBRyxDQUFDO01BRWxDLElBQUksQ0FBQ2lGLElBQUksQ0FBQyxnQkFBZ0IsRUFBRWxHLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDZ0IsR0FBRyxFQUFFO1FBQUV0QyxHQUFHLEVBQUUsSUFBSSxDQUFDVTtNQUFLLENBQUMsQ0FBQyxDQUFDO01BRW5FLElBQUksQ0FBQ3FILGlCQUFpQixDQUFDRyxVQUFVLEVBQUU7UUFDL0JILGlCQUFpQixDQUFDM0YsTUFBTSxDQUFDRSxHQUFHLENBQUNnRSxPQUFPLENBQUM7TUFDekM7SUFDSixDQUFDLENBQUM7SUFDRixJQUFJLENBQUNySCxTQUFTLENBQUMwSCxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVN3QixjQUFjLEVBQUU7TUFDaEQsSUFBSSxDQUFDWixJQUFJLENBQUMsZ0JBQWdCLEVBQUVZLGNBQWMsQ0FBQztJQUMvQyxDQUFDLENBQUM7SUFDRixJQUFJLENBQUNsSixTQUFTLENBQUMwSCxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFleUIsVUFBVSxFQUFFO01BRXZELElBQUlBLFVBQVUsSUFBSUEsVUFBVSxDQUFDOUIsT0FBTyxFQUFFO1FBQ2xDLElBQUkwQixLQUFLLENBQUNoSCxpQkFBaUIsQ0FBQ3FILFFBQVEsQ0FBQ0QsVUFBVSxDQUFDOUIsT0FBTyxDQUFDLEVBQUUsQ0FFMUQsQ0FBQyxNQUFNO1VBQ0gwQixLQUFLLENBQUNoSCxpQkFBaUIsQ0FBQ2lCLElBQUksQ0FBQ21HLFVBQVUsQ0FBQzlCLE9BQU8sQ0FBQztVQUNoRCxJQUFJLENBQUNpQixJQUFJLENBQUMscUJBQXFCLEVBQUVhLFVBQVUsQ0FBQztRQUNoRDtNQUNKO0lBQ0osQ0FBQyxDQUFDO0lBRUYsSUFBSTtNQUNBOUksR0FBRyxDQUFDc0MsSUFBSSxDQUFDLGtDQUFrQyxJQUFJLENBQUNmLFVBQVUsS0FBSyxDQUFDO01BQ2hFLE1BQU0sSUFBSSxDQUFDNUIsU0FBUyxDQUFDcUosT0FBTyxDQUFDLElBQUksQ0FBQ3pILFVBQVUsRUFBRSxXQUFXLENBQUM7SUFDOUQsQ0FBQyxDQUFDLE9BQU8xQixDQUFDLEVBQUU7TUFDUkcsR0FBRyxDQUFDK0gsS0FBSyxDQUFDLGtDQUFrQyxFQUFFbEksQ0FBQyxDQUFDO01BQ2hELE1BQU1tSCxPQUFPLEdBQUcsa0NBQWtDLEdBQUduSCxDQUFDLENBQUNtSCxPQUFPO01BQzlEeUIsaUJBQWlCLENBQUMzRixNQUFNLENBQUNrRSxPQUFPLENBQUM7SUFDckM7SUFFQSxPQUFPeUIsaUJBQWlCLENBQUM3QixPQUFPO0VBQ3BDO0FBQ0o7QUFBQ3FDLE9BQUEsQ0FBQWxKLE9BQUEsR0FBQVEsYUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
381
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJfZXZlbnRzIiwiX3doZW4iLCJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9kZWJ1Z2dlciIsIl91dGlsIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwibG9nIiwibG9nZ2VyIiwic25vb3plIiwibXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJXb3JrZXJQcm9jZXNzIiwiRXZlbnRFbWl0dGVyIiwiY29uc3RydWN0b3IiLCJwaWQiLCJ3b3JrZXJQYXRoIiwiZGVidWdNb2RlIiwiZGVidWdQb3J0IiwibmFtZSIsIm5wbUdSb290RXhlY3V0aW9uIiwiX25hbWUiLCJfaXNSdW5uaW5nIiwiX2lzSW5pdGlhbGl6ZWQiLCJfc3RvcHBlZEJ5VXNlciIsIl9waWQiLCJfY2hpbGRQcm9jIiwiX2RlYnVnTW9kZSIsIl9kZWJ1Z1BvcnQiLCJfd29ya2VyUGF0aCIsIl9ucG1HUm9vdEV4ZWN1dGlvbiIsIl9icmVha3BvaW50RXJyb3JzIiwiX2NhbGxzIiwiX2V2ZW50SGFuZGxlcnMiLCJzdGFydCIsImVudiIsIk9iamVjdCIsImFzc2lnbiIsInByb2Nlc3MiLCJPWF9XT1JLRVIiLCJERUJVRyIsImlzTmFOIiwiTk9fVVBEQVRFX05PVElGSUVSIiwiaW5mbyIsImZvcmtPcHRzIiwiY3dkIiwiZXhlY0FyZ3YiLCJkZXRhY2hlZCIsInB1c2giLCJnbG9iYWxOcG1Nb2R1bGVzUGF0aCIsInBsYXRmb3JtIiwicmVqZWN0IiwiZXhlYyIsImVyciIsInN0ZG91dCIsImNvbnNvbGUiLCJ0b1N0cmluZyIsInRyaW0iLCJleGVjUmVzdWx0IiwiZXhlY1N5bmMiLCJOT0RFX1BBVEgiLCJmb3JrIiwiX2hvb2tDaGlsZFByb2NFdmVudHMiLCJzdGFydERlYnVnZ2VyIiwiX2luaXRpYWxpemVEZWJ1Z2dlciIsInN0b3BEZWJ1Z2dlciIsImNsb3NlIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwic3RvcCIsInN0YXR1cyIsIl9wYXVzZWQiLCJkaXNhYmxlIiwicmVzdW1lVGVybWluYXRlIiwiaW52b2tlIiwiX3NlbmQiLCJ0eXBlIiwia2lsbCIsIl9yZXNldCIsImluaXRPeHlnZW4iLCJyaWQiLCJvcHRpb25zIiwiY2FwcyIsImJlZm9yZVRpbWUiLCJEYXRlIiwiZ2V0VGltZSIsImFmdGVyVGltZSIsImR1cmF0aW9uIiwiZW5naW5lTmFtZSIsInN0YXJ0U2Vzc2lvbiIsImVuZFNlc3Npb24iLCJkaXNwb3NlTW9kdWxlcyIsImRpc3Bvc2UiLCJkZWJ1Z2dlciIsImlzUnVubmluZyIsImlzSW5pdGlhbGl6ZWQiLCJydW4iLCJydW5PcHRzIiwic3Vic2NyaWJlIiwiZXZlbnROYW1lIiwiaGFuZGxlciIsImV2ZW50IiwibWV0aG9kIiwiYXJncyIsIkFycmF5IiwicHJvdG90eXBlIiwic2xpY2UiLCJjYWxsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic2hpZnQiLCJjYWxsSWQiLCJveHV0aWwiLCJnZW5lcmF0ZVVuaXF1ZUlkIiwiZGVmZXIiLCJwcm9taXNlIiwiaW52b2tlVGVzdEhvb2siLCJob29rTmFtZSIsImhvb2tBcmdzIiwibWVzc2FnZSIsInNlbmQiLCJfd2hlbk94eWdlbkRpc3Bvc2VkIiwiX3doZW5PeHlnZW5Jbml0aWFsaXplZCIsIl93aGVuTW9kdWxlc0Rpc3Bvc2VkIiwib24iLCJfaGFuZGxlQ2hpbGRNZXNzYWdlIiwiYmluZCIsIl9oYW5kbGVDaGlsZEVycm9yIiwiX2hhbmRsZUNoaWxkRXhpdCIsIl9oYW5kbGVDaGlsZERpc2Nvbm5lY3QiLCJfaGFuZGxlQ2hpbGRVbmNhdWdodEV4Y2VwdGlvbiIsIl9oYW5kbGVDaGlsZFNpZ0ludCIsIm1zZyIsImhhc093blByb3BlcnR5IiwiZXJyb3IiLCJyZXR2YWwiLCJlbWl0IiwiX2hhbmRsZVdvcmtlckV2ZW50IiwiYXBwbHkiLCJ1bmRlZmluZWQiLCJkZWJ1ZyIsImV4aXRDb2RlIiwic2lnbmFsIiwiRGVidWdnZXIiLCJ3aGVuRGVidWdnZXJSZWFkeSIsIl90aGlzIiwiY29udGludWUiLCJpc1Jlc29sdmVkIiwiYnJlYWtwb2ludERhdGEiLCJicmVha0Vycm9yIiwiaW5jbHVkZXMiLCJjb25uZWN0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW5uZXJzL1dvcmtlclByb2Nlc3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yaywgZXhlY1N5bmMsIGV4ZWMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcclxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnZXZlbnRzJztcclxuaW1wb3J0IHsgZGVmZXIgfSBmcm9tICd3aGVuJztcclxuXHJcbi8vIHNldHVwIGxvZ2dlclxyXG5pbXBvcnQgbG9nZ2VyIGZyb20gJy4uL2xpYi9sb2dnZXInO1xyXG5jb25zdCBsb2cgPSBsb2dnZXIoJ1dvcmtlclByb2Nlc3MnKTtcclxuXHJcbmltcG9ydCBEZWJ1Z2dlciBmcm9tICcuLi9saWIvZGVidWdnZXInO1xyXG5pbXBvcnQgb3h1dGlsIGZyb20gJy4uL2xpYi91dGlsJztcclxuXHJcbi8vIHNub296ZSBmdW5jdGlvbiAtIGFzeW5jIHdyYXBwZXIgYXJvdW5kIHNldFRpbWVvdXQgZnVuY3Rpb25cclxuY29uc3Qgc25vb3plID0gbXMgPT4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XHJcblxyXG4vKipcclxuICogV29ya2VyUHJvY2VzcyByZXNwb25zaWJsZSBmb3Igc3Bhd25pbmcgYSB3b3JrZXIgcHJvY2VzcyB0aGUgdGVzdCBpbnN0YW5jZS5cclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdvcmtlclByb2Nlc3MgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xyXG4gICAgY29uc3RydWN0b3IocGlkLCB3b3JrZXJQYXRoLCBkZWJ1Z01vZGUsIGRlYnVnUG9ydCwgbmFtZSA9IG51bGwsIG5wbUdSb290RXhlY3V0aW9uID0gdHJ1ZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5faXNSdW5uaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3N0b3BwZWRCeVVzZXIgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuX3BpZCA9IHBpZDtcclxuICAgICAgICB0aGlzLl9jaGlsZFByb2MgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2RlYnVnTW9kZSA9IGRlYnVnTW9kZTtcclxuICAgICAgICB0aGlzLl9kZWJ1Z1BvcnQgPSBkZWJ1Z1BvcnQ7XHJcbiAgICAgICAgdGhpcy5fZGVidWdnZXIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX3dvcmtlclBhdGggPSB3b3JrZXJQYXRoO1xyXG4gICAgICAgIHRoaXMuX25wbUdSb290RXhlY3V0aW9uID0gbnBtR1Jvb3RFeGVjdXRpb247XHJcbiAgICAgICAgdGhpcy5fYnJlYWtwb2ludEVycm9ycyA9IFtdO1xyXG4gICAgICAgIC8vIGhvbGQgdGhlIHJlbW90ZSBpbnZvY2F0aW9uIHByb21pc2VcclxuICAgICAgICB0aGlzLl9jYWxscyA9IHt9O1xyXG4gICAgICAgIHRoaXMuX2V2ZW50SGFuZGxlcnMgPSB7fTtcclxuICAgIH1cclxuICAgIGFzeW5jIHN0YXJ0KCkge1xyXG4gICAgICAgIGNvbnN0IGVudiA9IE9iamVjdC5hc3NpZ24ocHJvY2Vzcy5lbnYsIHtcclxuICAgICAgICAgICAgT1hfV09SS0VSOiB0cnVlLFxyXG4gICAgICAgICAgICBERUJVRzogIWlzTmFOKHRoaXMuX2RlYnVnUG9ydCksXHJcbiAgICAgICAgICAgIE5PX1VQREFURV9OT1RJRklFUjogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBsb2cuaW5mbyhgU3RhcnRpbmcgd29ya2VyIHByb2Nlc3MgJHt0aGlzLl9waWR9LmApO1xyXG4gICAgICAgIGxldCBmb3JrT3B0cyA9IHtcclxuICAgICAgICAgICAgY3dkOiBwcm9jZXNzLmN3ZCgpLFxyXG4gICAgICAgICAgICBlbnYsXHJcbiAgICAgICAgICAgIGV4ZWNBcmd2OiBbXSxcclxuICAgICAgICAgICAgZGV0YWNoZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAvL3NpbGVudDogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmICh0aGlzLl9kZWJ1Z1BvcnQpIHtcclxuICAgICAgICAgICAgLy8gYWRkIC0taW5zcGVjdC1icmsgYXJndW1lbnQgaWYgZGVidWcgcG9ydCBpcyBzcGVjaWZpZWRcclxuICAgICAgICAgICAgZm9ya09wdHMuZXhlY0FyZ3YgPSBPYmplY3QuYXNzaWduKGZvcmtPcHRzLmV4ZWNBcmd2LCBbJy0taW5zcGVjdC1icms9JyArIHRoaXMuX2RlYnVnUG9ydF0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gcHJpbnQgbW9yZSBpbmZvcm1hdGlvbiBmb3Igbm9kZWpzIGVycm9yc1xyXG4gICAgICAgIGZvcmtPcHRzLmV4ZWNBcmd2LnB1c2goJy0tdHJhY2Utd2FybmluZ3MnKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX25wbUdSb290RXhlY3V0aW9uKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgZ2xvYmFsTnBtTW9kdWxlc1BhdGg7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MucGxhdGZvcm0gPT09ICdkYXJ3aW4nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlYygnbnBtIHJvb3QgLWcnLCB7Y3dkOiBwcm9jZXNzLmN3ZCgpfSwgZnVuY3Rpb24gKGVyciwgc3Rkb3V0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdkYXJ3aW4gbnBtIHJvb3QgZXJyb3I6JywgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3Rkb3V0ICYmIHN0ZG91dC50b1N0cmluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsTnBtTW9kdWxlc1BhdGggPSBzdGRvdXQudG9TdHJpbmcoKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pKCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4ZWNSZXN1bHQgPSBleGVjU3luYygnbnBtIHJvb3QgLWcnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV4ZWNSZXN1bHQgJiYgZXhlY1Jlc3VsdC50b1N0cmluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxOcG1Nb2R1bGVzUGF0aCA9IGV4ZWNSZXN1bHQudG9TdHJpbmcoKS50cmltKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxOcG1Nb2R1bGVzUGF0aCAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGZvcmtPcHRzICYmXHJcbiAgICAgICAgICAgICAgICAgICAgZm9ya09wdHMuZW52XHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3JrT3B0cy5lbnYuTk9ERV9QQVRIID0gZ2xvYmFsTnBtTW9kdWxlc1BhdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCducG0gcm9vdCBlcnJvcjonLCBlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gZm9yayB3b3JrZXJcclxuICAgICAgICB0aGlzLl9jaGlsZFByb2MgPSBmb3JrKHRoaXMuX3dvcmtlclBhdGgsIGZvcmtPcHRzKTtcclxuXHJcbiAgICAgICAgdGhpcy5faG9va0NoaWxkUHJvY0V2ZW50cygpO1xyXG4gICAgICAgIC8vIGlmIHdlIGFyZSBpbiBkZWJ1ZyBtb2RlLCBpbml0aWFsaXplIGRlYnVnZ2VyIGFuZCBvbmx5IHRoZW4gc3RhcnQgbW9kdWxlcyAnaW5pdCdcclxuXHJcbiAgICAgICAgdGhpcy5faXNSdW5uaW5nID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY2hpbGRQcm9jO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHN0YXJ0RGVidWdnZXIoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2RlYnVnTW9kZSkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9pbml0aWFsaXplRGVidWdnZXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc3RvcERlYnVnZ2VyKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9kZWJ1Z2dlcikge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9kZWJ1Z2dlci5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9kZWJ1Z2dlci5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcclxuICAgICAgICAgICAgdGhpcy5fZGVidWdnZXIgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzdG9wKHN0YXR1cyA9IG51bGwpIHtcclxuICAgICAgICBpZiAodGhpcy5faXNJbml0aWFsaXplZCAmJiB0aGlzLl9jaGlsZFByb2MpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2RlYnVnZ2VyICYmIHRoaXMuX2RlYnVnZ2VyLl9wYXVzZWQpIHtcclxuICAgICAgICAgICAgICAgIGlmICgnQ0FOQ0VMRUQnID09PSBzdGF0dXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9kZWJ1Z2dlci5kaXNhYmxlKCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2RlYnVnZ2VyLnJlc3VtZVRlcm1pbmF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaW52b2tlKCdkaXNwb3NlJywgc3RhdHVzKTtcclxuICAgICAgICAgICAgYXdhaXQgc25vb3plKDEwMCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jaGlsZFByb2MpIHtcclxuICAgICAgICAgICAgYXdhaXQgc25vb3plKDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLl9kZWJ1Z2dlcikge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9kZWJ1Z2dlci5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fc2VuZCh7XHJcbiAgICAgICAgICAgIHR5cGU6ICdleGl0JyxcclxuICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5raWxsKCk7XHJcbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBraWxsKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9jaGlsZFByb2MpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hpbGRQcm9jLmtpbGwoJ1NJR0lOVCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpbml0T3h5Z2VuKHJpZCwgb3B0aW9ucywgY2Fwcykge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNJbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgICBjb25zdCBiZWZvcmVUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaW52b2tlKCdpbml0JywgcmlkLCBvcHRpb25zLCBjYXBzKTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGFmdGVyVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGFmdGVyVGltZSAtIGJlZm9yZVRpbWU7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBjb25zdCBlbmdpbmVOYW1lID0gdGhpcy5fbmFtZSA/IHRoaXMuX25hbWUgKyAnICcgOiAnJztcclxuICAgICAgICAgICAgbG9nLmluZm8oZW5naW5lTmFtZSArICdXb3JrZXIgaW5pdGlhbGl6ZWQgaW4gJyArIGR1cmF0aW9uICsgJyBtcycpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzdGFydFNlc3Npb24oKSB7XHJcbiAgICAgICAgY29uc3QgZW5naW5lTmFtZSA9IHRoaXMuX25hbWUgPyB0aGlzLl9uYW1lICsgJyAnIDogJyc7XHJcbiAgICAgICAgbG9nLmluZm8oZW5naW5lTmFtZSArICdTZXNzaW9uIHN0YXJ0ZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBlbmRTZXNzaW9uKHN0YXR1cyA9IG51bGwsIGRpc3Bvc2VNb2R1bGVzID0gdHJ1ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9jaGlsZFByb2MpIHtcclxuICAgICAgICAgICAgY29uc3QgYmVmb3JlVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmludm9rZSgnZW5kU2Vzc2lvbicsIHN0YXR1cywgZGlzcG9zZU1vZHVsZXMpO1xyXG4gICAgICAgICAgICBjb25zdCBhZnRlclRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgY29uc3QgZHVyYXRpb24gPSBhZnRlclRpbWUgLSBiZWZvcmVUaW1lO1xyXG4gICAgICAgICAgICBsZXQgc3RhcnQgPSAnJztcclxuICAgICAgICAgICAgaWYgKHRoaXMuX25hbWUpIHtcclxuICAgICAgICAgICAgICAgIHN0YXJ0ID0gdGhpcy5fbmFtZSArICcgJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsb2cuaW5mbyhzdGFydCArICdTZXNzaW9uIGVuZGVkIGluICcgKyBkdXJhdGlvbiArICcgbXMnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGlzcG9zZShzdGF0dXMgPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2RlYnVnZ2VyKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX2RlYnVnZ2VyLmNsb3NlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLl9pc0luaXRpYWxpemVkICYmIHRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmludm9rZSgnZGlzcG9zZScsIHN0YXR1cyk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NlbmQoe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogJ2V4aXQnLFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmtpbGwoKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9jaGlsZFByb2MpIHtcclxuICAgICAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl9zZW5kKHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdleGl0JyxcclxuICAgICAgICAgICAgICAgIHN0YXR1czogc3RhdHVzLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5raWxsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBkZWJ1Z2dlciAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlYnVnZ2VyO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc1J1bm5pbmcgKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1J1bm5pbmc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlzSW5pdGlhbGl6ZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzSW5pdGlhbGl6ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcnVuKHJ1bk9wdHMpIHtcclxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5pbnZva2UoJ3J1bicsIHJ1bk9wdHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YnNjcmliZShldmVudE5hbWUsIGhhbmRsZXIpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2V2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSAmJiB0eXBlb2YgaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICB0aGlzLl9ldmVudEhhbmRsZXJzW2V2ZW50TmFtZV0gPSBoYW5kbGVyO1xyXG4gICAgICAgICAgICB0aGlzLl9zZW5kKHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdzdWJzY3JpYmUnLFxyXG4gICAgICAgICAgICAgICAgZXZlbnQ6IGV2ZW50TmFtZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGludm9rZShtZXRob2QpIHtcclxuICAgICAgICBsZXQgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XHJcbiAgICAgICAgLy8gaWdub3JlIGZpcnN0IGFyZ3VtZW50IC0gZS5nLiBtZXRob2RcclxuICAgICAgICBpZiAoYXJncy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGFyZ3Muc2hpZnQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICBjb25zdCBjYWxsSWQgPSBveHV0aWwuZ2VuZXJhdGVVbmlxdWVJZCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9zZW5kKHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdpbnZva2UnLFxyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBtZXRob2QsXHJcbiAgICAgICAgICAgICAgICBjYWxsSWQ6IGNhbGxJZCxcclxuICAgICAgICAgICAgICAgIGFyZ3M6IGFyZ3NcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2NhbGxzW2NhbGxJZF0gPSBkZWZlcigpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY2FsbHNbY2FsbElkXS5wcm9taXNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBpbnZva2VUZXN0SG9vayhob29rTmFtZSwgaG9va0FyZ3MpIHtcclxuICAgICAgICBjb25zdCBjYWxsSWQgPSBveHV0aWwuZ2VuZXJhdGVVbmlxdWVJZCgpO1xyXG4gICAgICAgIHRoaXMuX3NlbmQoe1xyXG4gICAgICAgICAgICB0eXBlOiAnaW52b2tlOmhvb2snLFxyXG4gICAgICAgICAgICBtZXRob2Q6IGhvb2tOYW1lLFxyXG4gICAgICAgICAgICBjYWxsSWQ6IGNhbGxJZCxcclxuICAgICAgICAgICAgYXJnczogaG9va0FyZ3NcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9jYWxsc1tjYWxsSWRdID0gZGVmZXIoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY2FsbHNbY2FsbElkXS5wcm9taXNlO1xyXG4gICAgfVxyXG5cclxuICAgIF9zZW5kKG1lc3NhZ2UpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYy5zZW5kKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIF9yZXNldCgpIHtcclxuICAgICAgICB0aGlzLl9jaGlsZFByb2MgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2RlYnVnZ2VyID0gbnVsbDtcclxuICAgICAgICB0aGlzLl9pc1J1bm5pbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9kZWJ1Z01vZGUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2RlYnVnUG9ydCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5fd2hlbk94eWdlbkRpc3Bvc2VkID0gbnVsbDtcclxuICAgICAgICB0aGlzLl93aGVuT3h5Z2VuSW5pdGlhbGl6ZWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX3doZW5Nb2R1bGVzRGlzcG9zZWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBfaG9va0NoaWxkUHJvY0V2ZW50cygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2NoaWxkUHJvYykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYy5vbignbWVzc2FnZScsIHRoaXMuX2hhbmRsZUNoaWxkTWVzc2FnZS5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLl9jaGlsZFByb2Mub24oJ2Vycm9yJywgdGhpcy5faGFuZGxlQ2hpbGRFcnJvci5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLl9jaGlsZFByb2Mub24oJ2V4aXQnLCB0aGlzLl9oYW5kbGVDaGlsZEV4aXQuYmluZCh0aGlzKSk7XHJcbiAgICAgICAgdGhpcy5fY2hpbGRQcm9jLm9uKCdkaXNjb25uZWN0JywgdGhpcy5faGFuZGxlQ2hpbGREaXNjb25uZWN0LmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCB0aGlzLl9oYW5kbGVDaGlsZFVuY2F1Z2h0RXhjZXB0aW9uLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMuX2NoaWxkUHJvYy5vbignU0lHSU5UJywgdGhpcy5faGFuZGxlQ2hpbGRTaWdJbnQuYmluZCh0aGlzKSk7XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZUNoaWxkTWVzc2FnZShtc2cpIHtcclxuICAgICAgICBpZiAobXNnLmV2ZW50KSB7XHJcbiAgICAgICAgICAgIHN3aXRjaCAobXNnLmV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdpbnZva2U6cmVzdWx0JzpcclxuICAgICAgICAgICAgICAgICAgICBpZiAobXNnLmNhbGxJZCAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5fY2FsbHMsIG1zZy5jYWxsSWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLl9jYWxsc1ttc2cuY2FsbElkXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1zZy5lcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QobXNnLmVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZShtc2cucmV0dmFsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5fY2FsbHNbbXNnLmNhbGxJZF07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSAncmVwb3J0ZXInOlxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChtc2cubWV0aG9kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgncmVwb3J0ZXInLCB7IHBpZDogdGhpcy5fcGlkLCBtZXRob2Q6IG1zZy5tZXRob2QsIGFyZ3M6IG1zZy5hcmdzIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2V2ZW50JzpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVXb3JrZXJFdmVudChtc2cubmFtZSwgbXNnLmFyZ3MpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZW1pdCgnbWVzc2FnZScsIE9iamVjdC5hc3NpZ24obXNnLCB7IHBpZDogdGhpcy5fcGlkIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBfaGFuZGxlV29ya2VyRXZlbnQobmFtZSwgYXJncykge1xyXG4gICAgICAgIGlmIChuYW1lICYmIHRoaXMuX2V2ZW50SGFuZGxlcnMgJiYgdGhpcy5fZXZlbnRIYW5kbGVyc1tuYW1lXSkge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZXZlbnRIYW5kbGVyc1tuYW1lXS5hcHBseSh1bmRlZmluZWQsIGFyZ3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0Vycm9yIHRocm93biBieSB3b3JrZXIgZXZlbnQgaGFuZGxlciBcIiR7bmFtZX06JywgZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZUNoaWxkRXJyb3IoZXJyb3IpIHtcclxuICAgICAgICBsb2cuZGVidWcoYFdvcmtlciAke3RoaXMuX3BpZH0gdGhyb3duIGFuIGVycm9yOiAke2Vycm9yfS5gKTtcclxuICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgT2JqZWN0LmFzc2lnbih7IGVycm9yIDogZXJyb3IgfSwgeyBwaWQ6IHRoaXMuX3BpZCB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZUNoaWxkRXhpdChleGl0Q29kZSwgc2lnbmFsKSB7XHJcbiAgICAgICAgbG9nLmRlYnVnKGBXb3JrZXIgJHt0aGlzLl9waWR9IGZpbmlzaGVkIHdpdGggZXhpdCBjb2RlICR7ZXhpdENvZGV9IGFuZCBzaWduYWwgJHtzaWduYWx9LmApO1xyXG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XHJcbiAgICAgICAgdGhpcy5lbWl0KCdleGl0JywgeyBwaWQ6IHRoaXMuX3BpZCwgZXhpdENvZGUsIHNpZ25hbCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQ2hpbGREaXNjb25uZWN0KCkge1xyXG4gICAgICAgIGxvZy5kZWJ1ZyhgV29ya2VyICR7dGhpcy5fcGlkfSBkaXNjb25uZWN0ZWQuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZUNoaWxkVW5jYXVnaHRFeGNlcHRpb24oZXJyb3IpIHtcclxuICAgICAgICBsb2cuZGVidWcoYFdvcmtlciAke3RoaXMuX3BpZH0gdGhyb3duIGFuIHVuY2F1Z2h0IGVycm9yOiAke2Vycm9yfS5gKTtcclxuICAgICAgICB0aGlzLl9yZXNldCgpO1xyXG4gICAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBPYmplY3QuYXNzaWduKHsgZXJyb3IgOiBlcnJvciB9LCB7IHBpZDogdGhpcy5fcGlkIH0pKTtcclxuICAgICAgICB0aGlzLmVtaXQoJ2V4aXQnLCB7IHBpZDogdGhpcy5fcGlkLCBleGl0Q29kZTogMSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlQ2hpbGRTaWdJbnQoKSB7XHJcbiAgICAgICAgbG9nLmRlYnVnKGBXb3JrZXIgJHt0aGlzLl9waWR9IHJlY2VpdmVkIFNJR0lOVCBzaWduYWwuYCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgX2luaXRpYWxpemVEZWJ1Z2dlcigpIHtcclxuICAgICAgICB0aGlzLl9kZWJ1Z2dlciA9IG5ldyBEZWJ1Z2dlcih0aGlzLl9waWQpO1xyXG4gICAgICAgIGxldCB3aGVuRGVidWdnZXJSZWFkeSA9IGRlZmVyKCk7XHJcbiAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgICAgIC8vIGhhbmRsZSBkZWJ1Z2dlciBldmVudHNcclxuICAgICAgICB0aGlzLl9kZWJ1Z2dlci5vbigncmVhZHknLCBmdW5jdGlvbihlcnIpIHtcclxuICAgICAgICAgICAgLy8gcmVzdW1lIHRoZSBmaXJzdCBicmVha3BvaW50IHdoaWNoIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgYnkgdGhlIGRlYnVnZ2VyXHJcbiAgICAgICAgICAgIGlmIChfdGhpcy5fZGVidWdnZXIgJiYgX3RoaXMuX2RlYnVnZ2VyLmNvbnRpbnVlKSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5fZGVidWdnZXIuY29udGludWUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB3aGVuRGVidWdnZXJSZWFkeS5yZXNvbHZlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fZGVidWdnZXIub24oJ2Vycm9yJywgZnVuY3Rpb24oZXJyKSB7XHJcblxyXG4gICAgICAgICAgICBsb2cuZXJyb3IoJ0RlYnVnZ2VyIGVycm9yIDonLCBlcnIpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5lbWl0KCdkZWJ1Z2dlcjplcnJvcicsIE9iamVjdC5hc3NpZ24oZXJyLCB7IHBpZDogdGhpcy5fcGlkIH0pKTtcclxuICAgICAgICAgICAgLy8gcmVqZWN0IHRoZSBwcm9taXNlIG9ubHkgaWYgd2UgZ290IGFuIGVycm9yIHJpZ2h0IGFmdGVyIF9kZWJ1Z2dlci5jb25uZWN0KCkgY2FsbCBiZWxvdyAtIHdlIG5lZWQgdGhpcyB0byBpbmRpY2F0ZSBkZWJ1Z2dlciBpbml0aWFsaXphdGlvbiBlcnJvclxyXG4gICAgICAgICAgICBpZiAoIXdoZW5EZWJ1Z2dlclJlYWR5LmlzUmVzb2x2ZWQpIHtcclxuICAgICAgICAgICAgICAgIHdoZW5EZWJ1Z2dlclJlYWR5LnJlamVjdChlcnIubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9kZWJ1Z2dlci5vbignYnJlYWsnLCBmdW5jdGlvbihicmVha3BvaW50RGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLmVtaXQoJ2RlYnVnZ2VyOmJyZWFrJywgYnJlYWtwb2ludERhdGEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2RlYnVnZ2VyLm9uKCdicmVha0Vycm9yJywgYXN5bmMgZnVuY3Rpb24oYnJlYWtFcnJvcikge1xyXG5cclxuICAgICAgICAgICAgaWYgKGJyZWFrRXJyb3IgJiYgYnJlYWtFcnJvci5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoX3RoaXMuX2JyZWFrcG9pbnRFcnJvcnMuaW5jbHVkZXMoYnJlYWtFcnJvci5tZXNzYWdlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGlnbm9yZVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5fYnJlYWtwb2ludEVycm9ycy5wdXNoKGJyZWFrRXJyb3IubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0KCdkZWJ1Z2dlcjpicmVha0Vycm9yJywgYnJlYWtFcnJvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbG9nLmluZm8oYENvbm5lY3RpbmcgdG8gZGVidWdnZXIgb24gcG9ydCAke3RoaXMuX2RlYnVnUG9ydH0uLi5gKTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5fZGVidWdnZXIuY29ubmVjdCh0aGlzLl9kZWJ1Z1BvcnQsICcxMjcuMC4wLjEnKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGxvZy5lcnJvcignQ2Fubm90IGNvbm5lY3QgdG8gdGhlIGRlYnVnZ2VyOiAnLCBlKTtcclxuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdDYW5ub3QgY29ubmVjdCB0byB0aGUgZGVidWdnZXI6ICcgKyBlLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIHdoZW5EZWJ1Z2dlclJlYWR5LnJlamVjdChtZXNzYWdlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB3aGVuRGVidWdnZXJSZWFkeS5wcm9taXNlO1xyXG4gICAgfVxyXG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsS0FBQSxHQUFBRixPQUFBO0FBR0EsSUFBQUcsT0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBR0EsSUFBQUssU0FBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0Es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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oxygen-cli",
|
|
3
|
-
"version": "1.43.2-beta.
|
|
3
|
+
"version": "1.43.2-beta.2",
|
|
4
4
|
"description": "Automation framework for testing modern applications",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@lambdatest/node-rest-client": "1.0.5",
|
|
58
58
|
"@oxygenhq/logger": "0.5.1",
|
|
59
59
|
"@oxygenhq/mitmproxy-node": "1.0.1",
|
|
60
|
-
"@oxygenhq/rp-client-javascript": "5.5.
|
|
60
|
+
"@oxygenhq/rp-client-javascript": "5.5.8-beta.1",
|
|
61
61
|
"@wdio/cli": "7.30.0",
|
|
62
62
|
"@wdio/devtools-service": "7.30.0",
|
|
63
63
|
"@wdio/sync": "7.30.0",
|