UNPKG

io.parrots

Version:

Parrots.io App

246 lines (245 loc) 22.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { RequestOptions } from '@angular/http'; import { AbstractServerResource } from 'com.phloxui'; var ParrotsInstanceResource = /** @class */ (function (_super) { tslib_1.__extends(ParrotsInstanceResource, _super); function ParrotsInstanceResource(connectionMgr) { var _this = _super.call(this, connectionMgr) || this; _this.basePath = './instance'; return _this; } /** * @param {?} uuid * @return {?} */ ParrotsInstanceResource.prototype.startInstance = /** * @param {?} uuid * @return {?} */ function (uuid) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/" + uuid + "/start"; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); requestOptionsArgs.body = {}; return this.connectionMgr.postWithHttpInfo(url, requestOptionsArgs.body, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @param {?} uuid * @return {?} */ ParrotsInstanceResource.prototype.stopInstance = /** * @param {?} uuid * @return {?} */ function (uuid) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/" + uuid + "/stop"; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); requestOptionsArgs.body = {}; return this.connectionMgr.postWithHttpInfo(url, requestOptionsArgs.body, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @param {?} body * @return {?} */ ParrotsInstanceResource.prototype.createInstance = /** * @param {?} body * @return {?} */ function (body) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + ""; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); var /** @type {?} */ timezone = new Date(); body.configs = { size: 1, country: "thailand", language: "thai", timezone: timezone }; return this.connectionMgr.postWithHttpInfo(url, body, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @param {?} body * @return {?} */ ParrotsInstanceResource.prototype.editInstance = /** * @param {?} body * @return {?} */ function (body) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/" + body._uuid + "/edit"; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.putWithHttpInfo(url, body, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @param {?} uuid * @return {?} */ ParrotsInstanceResource.prototype.deleteInstance = /** * @param {?} uuid * @return {?} */ function (uuid) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/" + uuid; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.deleteWithHttpInfo(url, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @param {?} uuid * @return {?} */ ParrotsInstanceResource.prototype.getInstance = /** * @param {?} uuid * @return {?} */ function (uuid) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/" + uuid; //! for testing var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.getWithHttpInfo(url, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @return {?} */ ParrotsInstanceResource.prototype.getInstances = /** * @return {?} */ function () { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + ""; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.getWithHttpInfo(url, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @return {?} */ ParrotsInstanceResource.prototype.getInstanceCount = /** * @return {?} */ function () { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/count"; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.getWithHttpInfo(url, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @return {?} */ ParrotsInstanceResource.prototype.getInstanceType = /** * @return {?} */ function () { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/type"; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.getWithHttpInfo(url, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @param {?} uuid * @return {?} */ ParrotsInstanceResource.prototype.getNodes = /** * @param {?} uuid * @return {?} */ function (uuid) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/" + uuid + "/node"; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.getWithHttpInfo(url, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @param {?} uuid * @param {?} node_uuid * @return {?} */ ParrotsInstanceResource.prototype.deleteNode = /** * @param {?} uuid * @param {?} node_uuid * @return {?} */ function (uuid, node_uuid) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/" + uuid + "/node/" + node_uuid; //! for testing var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.deleteWithHttpInfo(url, requestOptionsArgs); } else { return Promise.reject(null); } }; /** * @param {?} uuid * @return {?} */ ParrotsInstanceResource.prototype.getNodeStats = /** * @param {?} uuid * @return {?} */ function (uuid) { if (this.connectionMgr !== null && typeof this.connectionMgr !== 'undefined') { var /** @type {?} */ url = this.basePath + "/" + uuid + "/node/stats"; var /** @type {?} */ requestOptionsArgs = new RequestOptions(); return this.connectionMgr.getWithHttpInfo(url, requestOptionsArgs); } else { return Promise.reject(null); } }; return ParrotsInstanceResource; }(AbstractServerResource)); export { ParrotsInstanceResource }; function ParrotsInstanceResource_tsickle_Closure_declarations() { /** @type {?} */ ParrotsInstanceResource.prototype.basePath; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFycm90c0luc3RhbmNlUmVzb3VyY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9pby5wYXJyb3RzLyIsInNvdXJjZXMiOlsibGliL3NoYXJlL3Jlc291cmNlL1BhcnJvdHNJbnN0YW5jZVJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUEyQixjQUFjLEVBQTJFLE1BQU0sZUFBZSxDQUFDO0FBRWpKLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxJQUFBO0lBQTZDLG1EQUFzQjtJQUlqRSxpQ0FBWSxhQUFpQztRQUE3QyxZQUNFLGtCQUFNLGFBQWEsQ0FBQyxTQUNyQjt5QkFKa0IsWUFBWTs7S0FJOUI7Ozs7O0lBRU0sK0NBQWE7Ozs7Y0FBQyxJQUFZO1FBQy9CLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzdFLHFCQUFJLEdBQUcsR0FBVyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO1lBRXhELHFCQUFJLGtCQUFrQixHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7WUFDOUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUU3QixNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7U0FFOUY7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCOzs7Ozs7SUFHSSw4Q0FBWTs7OztjQUFDLElBQVk7UUFDOUIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMs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cG9uc2UsIEhlYWRlcnMsIFJlcXVlc3RPcHRpb25zLCBSZXF1ZXN0T3B0aW9uc0FyZ3MsIFVSTFNlYXJjaFBhcmFtcywgUmVzcG9uc2VDb250ZW50VHlwZSwgUmVxdWVzdE1ldGhvZCB9IGZyb20gJ0Bhbmd1bGFyL2h0dHAnO1xuaW1wb3J0IHsgSUNvbm5lY3Rpb25NYW5hZ2VyIH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgQWJzdHJhY3RTZXJ2ZXJSZXNvdXJjZSB9IGZyb20gJ2NvbS5waGxveHVpJztcblxuZXhwb3J0IGNsYXNzIFBhcnJvdHNJbnN0YW5jZVJlc291cmNlIGV4dGVuZHMgQWJzdHJhY3RTZXJ2ZXJSZXNvdXJjZSB7XG5cbiAgcHJpdmF0ZSBiYXNlUGF0aCA9ICcuL2luc3RhbmNlJztcblxuICBjb25zdHJ1Y3Rvcihjb25uZWN0aW9uTWdyOiBJQ29ubmVjdGlvbk1hbmFnZXIpIHtcbiAgICBzdXBlcihjb25uZWN0aW9uTWdyKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydEluc3RhbmNlKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbk1nciAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5jb25uZWN0aW9uTWdyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVybDogc3RyaW5nID0gdGhpcy5iYXNlUGF0aCArIFwiL1wiICsgdXVpZCArIFwiL3N0YXJ0XCI7XG5cbiAgICAgIGxldCByZXF1ZXN0T3B0aW9uc0FyZ3MgPSBuZXcgUmVxdWVzdE9wdGlvbnMoKTtcbiAgICAgIHJlcXVlc3RPcHRpb25zQXJncy5ib2R5ID0ge307XG5cbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25NZ3IucG9zdFdpdGhIdHRwSW5mbyh1cmwsIHJlcXVlc3RPcHRpb25zQXJncy5ib2R5LCByZXF1ZXN0T3B0aW9uc0FyZ3MpO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RvcEluc3RhbmNlKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbk1nciAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5jb25uZWN0aW9uTWdyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVybDogc3RyaW5nID0gdGhpcy5iYXNlUGF0aCArIFwiL1wiICsgdXVpZCArIFwiL3N0b3BcIjtcblxuICAgICAgbGV0IHJlcXVlc3RPcHRpb25zQXJncyA9IG5ldyBSZXF1ZXN0T3B0aW9ucygpO1xuICAgICAgcmVxdWVzdE9wdGlvbnNBcmdzLmJvZHkgPSB7fTtcblxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbk1nci5wb3N0V2l0aEh0dHBJbmZvKHVybCwgcmVxdWVzdE9wdGlvbnNBcmdzLmJvZHksIHJlcXVlc3RPcHRpb25zQXJncyk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVJbnN0YW5jZShib2R5OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25NZ3IgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuY29ubmVjdGlvbk1nciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGxldCB1cmw6IGFueSA9IHRoaXMuYmFzZVBhdGggKyBcIlwiO1xuXG4gICAgICBsZXQgcmVxdWVzdE9wdGlvbnNBcmdzID0gbmV3IFJlcXVlc3RPcHRpb25zKCk7XG4gICAgICBsZXQgdGltZXpvbmU6IGFueSA9IG5ldyBEYXRlKCk7XG4gICAgICBib2R5LmNvbmZpZ3MgPSB7XG4gICAgICAgIHNpemU6IDEsXG4gICAgICAgIGNvdW50cnk6IFwidGhhaWxhbmRcIixcbiAgICAgICAgbGFuZ3VhZ2U6IFwidGhhaVwiLFxuICAgICAgICB0aW1lem9uZTogdGltZXpvbmVcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25NZ3IucG9zdFdpdGhIdHRwSW5mbyh1cmwsIGJvZHksIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZWRpdEluc3RhbmNlKGJvZHk6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbk1nciAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5jb25uZWN0aW9uTWdyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVybDogYW55ID0gdGhpcy5iYXNlUGF0aCArIFwiL1wiICsgYm9keS5fdXVpZCArIFwiL2VkaXRcIjtcblxuICAgICAgbGV0IHJlcXVlc3RPcHRpb25zQXJncyA9IG5ldyBSZXF1ZXN0T3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uTWdyLnB1dFdpdGhIdHRwSW5mbyh1cmwsIGJvZHksIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlSW5zdGFuY2UodXVpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uTWdyICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmNvbm5lY3Rpb25NZ3IgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgdXJsOiBzdHJpbmcgPSB0aGlzLmJhc2VQYXRoICsgXCIvXCIgKyB1dWlkO1xuXG4gICAgICBsZXQgcmVxdWVzdE9wdGlvbnNBcmdzID0gbmV3IFJlcXVlc3RPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25NZ3IuZGVsZXRlV2l0aEh0dHBJbmZvKHVybCwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEluc3RhbmNlKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbk1nciAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5jb25uZWN0aW9uTWdyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVybDogc3RyaW5nID0gdGhpcy5iYXNlUGF0aCArIFwiL1wiICsgdXVpZDtcbiAgICAgIC8vISBmb3IgdGVzdGluZ1xuICAgICAgbGV0IHJlcXVlc3RPcHRpb25zQXJncyA9IG5ldyBSZXF1ZXN0T3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uTWdyLmdldFdpdGhIdHRwSW5mbyh1cmwsIHJlcXVlc3RPcHRpb25zQXJncyk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbnN0YW5jZXMoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uTWdyICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmNvbm5lY3Rpb25NZ3IgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgdXJsOiBhbnkgPSB0aGlzLmJhc2VQYXRoICsgXCJcIjtcblxuICAgICAgbGV0IHJlcXVlc3RPcHRpb25zQXJncyA9IG5ldyBSZXF1ZXN0T3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uTWdyLmdldFdpdGhIdHRwSW5mbyh1cmwsIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5zdGFuY2VDb3VudCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25NZ3IgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuY29ubmVjdGlvbk1nciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGxldCB1cmw6IGFueSA9IHRoaXMuYmFzZVBhdGggKyBcIi9jb3VudFwiO1xuXG4gICAgICBsZXQgcmVxdWVzdE9wdGlvbnNBcmdzID0gbmV3IFJlcXVlc3RPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25NZ3IuZ2V0V2l0aEh0dHBJbmZvKHVybCwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbnN0YW5jZVR5cGUoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uTWdyICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLmNvbm5lY3Rpb25NZ3IgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBsZXQgdXJsOiBhbnkgPSB0aGlzLmJhc2VQYXRoICsgXCIvdHlwZVwiO1xuXG4gICAgICBsZXQgcmVxdWVzdE9wdGlvbnNBcmdzID0gbmV3IFJlcXVlc3RPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25NZ3IuZ2V0V2l0aEh0dHBJbmZvKHVybCwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXROb2Rlcyh1dWlkKTogUHJvbWlzZTxhbnk+IHtcblxuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25NZ3IgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuY29ubmVjdGlvbk1nciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGxldCB1cmw6IGFueSA9IHRoaXMuYmFzZVBhdGggKyBcIi9cIiArIHV1aWQgKyBcIi9ub2RlXCI7XG5cbiAgICAgIGxldCByZXF1ZXN0T3B0aW9uc0FyZ3MgPSBuZXcgUmVxdWVzdE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbk1nci5nZXRXaXRoSHR0cEluZm8odXJsLCByZXF1ZXN0T3B0aW9uc0FyZ3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRlbGV0ZU5vZGUodXVpZDogc3RyaW5nLCBub2RlX3V1aWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbk1nciAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5jb25uZWN0aW9uTWdyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVybDogc3RyaW5nID0gdGhpcy5iYXNlUGF0aCArIFwiL1wiICsgdXVpZCArIFwiL25vZGUvXCIgKyBub2RlX3V1aWQ7XG4gICAgICAvLyEgZm9yIHRlc3RpbmdcbiAgICAgIGxldCByZXF1ZXN0T3B0aW9uc0FyZ3MgPSBuZXcgUmVxdWVzdE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbk1nci5kZWxldGVXaXRoSHR0cEluZm8odXJsLCByZXF1ZXN0T3B0aW9uc0FyZ3MpO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9kZVN0YXRzKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHRoaXMuY29ubmVjdGlvbk1nciAhPT0gbnVsbCAmJiB0eXBlb2YgdGhpcy5jb25uZWN0aW9uTWdyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgbGV0IHVybDogYW55ID0gdGhpcy5iYXNlUGF0aCArIFwiL1wiICsgdXVpZCArIFwiL25vZGUvc3RhdHNcIjtcblxuICAgICAgbGV0IHJlcXVlc3RPcHRpb25zQXJncyA9IG5ldyBSZXF1ZXN0T3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uTWdyLmdldFdpdGhIdHRwSW5mbyh1cmwsIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChudWxsKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==