Sun_moves/temp/quick-scripts/dst/assets/Script/RankManager.js
2024-08-02 17:24:29 +08:00

189 lines
22 KiB
JavaScript

(function() {
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
var __module = nodeEnv ? module : {exports:{}};
var __filename = 'preview-scripts/assets/Script/RankManager.js';
var __require = nodeEnv ? function (request) {
return cc.require(request);
} : function (request) {
return __quick_compile_project__.require(request, __filename);
};
function __define (exports, require, module) {
if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, 'e74a999IDFOabyymZgXQIiy', 'RankManager');
// Script/RankManager.ts
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
var List_1 = require("./module/RankList/List");
var _a = cc._decorator, ccclass = _a.ccclass, property = _a.property;
//排行榜
var RankManager = /** @class */ (function (_super) {
__extends(RankManager, _super);
function RankManager() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.Player = null;
_this.selfNode = null;
_this.phone = null;
return _this;
}
RankManager.prototype.onLoad = function () {
this.init();
};
//初始化数据
RankManager.prototype.init = function () {
this.rankList = cc.find("ScrollView", this.node).getComponent(List_1.default);
this.Player.getChildByName("rank").active = false;
this.listData = [];
this.selfData = null;
this.rankNumber = 100;
this.rankTotal = 100;
this.selfNode.opacity = 0;
};
RankManager.prototype.start = function () {
this.Player.active = false;
this.getRank();
};
//调用获取排行榜接口
RankManager.prototype.getRank = function () {
var _this = this;
var dataFile = {
length: 100
};
cc.fx.GameTool.getRank(dataFile, function (data) { return _this.getRankData(data); });
};
//实际设置排行数据
RankManager.prototype.getRankData = function (data) {
if (data) {
console.log(data);
cc.fx.GameTool.getRankData(data, this, 6);
this.setPic(this.selfData.pic);
}
};
//返回按钮
RankManager.prototype.backClick = function () {
cc.director.loadScene("LoadScene");
};
//最上方用户动画
RankManager.prototype.playerAction = function () {
var _this = this;
//-254 377 210 453
this.Player.getChildByName("rank").active = false;
var time = 1;
this.tween = cc.tween(this.Player)
.to(2, { position: cc.v3(210, 453, 0) })
.call(function () {
_this.Player.getChildByName("rank").active = true;
_this.Player.getChildByName("rank").getChildByName("number")
.getComponent(cc.Label).string = parseInt(time * 100 + "") + "%";
})
.start();
time = (this.listData.length - this.rankNumber) / this.listData.length;
if (this.listData.length >= 99) {
if (this.rankNumber >= 99) {
time = (Math.random() * 49 + 1) / 100;
var matchId = cc.sys.localStorage.getItem("matchNumber");
if (matchId == null || matchId == undefined) {
time = 0;
}
}
}
setTimeout(function () {
if (_this.tween)
_this.tween.stop();
_this.Player.getChildByName("rank").active = true;
_this.Player.getChildByName("rank").getChildByName("number")
.getComponent(cc.Label).string = parseInt(time * 100 + "") + "%";
}, time * 2000);
};
//设置头像 处理的逻辑比较多,不用公共类的了
RankManager.prototype.setPic = function (pic) {
var _this = this;
this.phone.node.parent.getChildByName("icon").active = false;
this.phone.node.active = false;
this.Player.active = true;
this.Player.opacity = 0;
this.Player.getChildByName("mask").getChildByName("icon").active = false;
this.Player.getChildByName("mask").getChildByName("phone").active = false;
fetch(pic)
.then(function (response) {
return response.headers.get('Content-Length');
})
.then(function (errNo) {
if (errNo == "5093") {
_this.phone.node.parent.getChildByName("icon").active = true;
_this.Player.getChildByName("mask").getChildByName("icon").active = true;
}
})
.catch(function (error) {
// console.error('Error fetching X-Info:', error);
});
var self = this;
cc.assetManager.loadRemote(pic, { ext: '.png' }, function (err, texture) {
self.Player.opacity = 255;
if (texture) {
self.phone.node.active = true;
self.phone.spriteFrame = new cc.SpriteFrame(texture);
self.Player.getChildByName("mask").getChildByName("icon").active = false;
self.Player.getChildByName("mask").getChildByName("phone").active = true;
self.Player.getChildByName("mask").getChildByName("phone").getComponent(cc.Sprite)
.spriteFrame = new cc.SpriteFrame(texture);
setTimeout(function () {
self.playerAction();
}, 500);
}
else {
self.Player.getChildByName("mask").getChildByName("icon").active = true;
setTimeout(function () {
self.playerAction();
}, 500);
}
});
};
__decorate([
property(cc.Node) //用户上方头像
], RankManager.prototype, "Player", void 0);
__decorate([
property(cc.Node) //用户最下方个人信息
], RankManager.prototype, "selfNode", void 0);
__decorate([
property(cc.Sprite) //用户头像换图
], RankManager.prototype, "phone", void 0);
RankManager = __decorate([
ccclass
], RankManager);
return RankManager;
}(cc.Component));
exports.default = RankManager;
cc._RF.pop();
}
if (nodeEnv) {
__define(__module.exports, __require, __module);
}
else {
__quick_compile_project__.registerModuleFunc(__filename, function () {
__define(__module.exports, __require, __module);
});
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0XFxSYW5rTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSwrQ0FBMEM7QUFDcEMsSUFBQSxLQUF3QixFQUFFLENBQUMsVUFBVSxFQUFuQyxPQUFPLGFBQUEsRUFBRSxRQUFRLGNBQWtCLENBQUM7QUFDNUMsS0FBSztBQUVMO0lBQXlDLCtCQUFZO0lBQXJEO1FBQUEscUVBK0hDO1FBN0hHLFlBQU0sR0FBWSxJQUFJLENBQUM7UUFFdkIsY0FBUSxHQUFZLElBQUksQ0FBQztRQUV6QixXQUFLLEdBQWMsSUFBSSxDQUFDOztJQXlINUIsQ0FBQztJQWpIRyw0QkFBTSxHQUFOO1FBQ0ksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPO0lBQ1AsMEJBQUksR0FBSjtRQUNJLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxjQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUUsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJ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LENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxVQUFVLENBQUM7b0JBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDWDtpQkFDRztnQkFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDeEUsVUFBVSxDQUFDO29CQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ1g7UUFFTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUEzSEQ7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFFBQVE7K0NBQ2I7SUFFdkI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFVLFdBQVc7aURBQ2Q7SUFFekI7UUFEQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFRLFFBQVE7OENBQ1o7SUFOUCxXQUFXO1FBRC9CLE9BQU87T0FDYSxXQUFXLENBK0gvQjtJQUFELGtCQUFDO0NBL0hELEFBK0hDLENBL0h3QyxFQUFFLENBQUMsU0FBUyxHQStIcEQ7a0JBL0hvQixXQUFXIiwiZmlsZSI6IiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCBMaXN0IGZyb20gXCIuL21vZHVsZS9SYW5rTGlzdC9MaXN0XCI7XHJcbmNvbnN0IHsgY2NjbGFzcywgcHJvcGVydHkgfSA9IGNjLl9kZWNvcmF0b3I7XHJcbi8v5o6S6KGM5qacXHJcbkBjY2NsYXNzXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmtNYW5hZ2VyIGV4dGVuZHMgY2MuQ29tcG9uZW50IHtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+S4iuaWueWktOWDj1xyXG4gICAgUGxheWVyOiBjYy5Ob2RlID0gbnVsbDtcclxuICAgIEBwcm9wZXJ0eShjYy5Ob2RlKSAgICAgICAgICAvL+eUqOaIt+acgOS4i+aWueS4quS6uuS/oeaBr1xyXG4gICAgc2VsZk5vZGU6IGNjLk5vZGUgPSBudWxsO1xyXG4gICAgQHByb3BlcnR5KGNjLlNwcml0ZSkgICAgICAgIC8v55So5oi35aS05YOP5o2i5Zu+XHJcbiAgICBwaG9uZTogY2MuU3ByaXRlID0gbnVsbDtcclxuICAgIHByaXZhdGUgcmFua0xpc3Q6IExpc3Q7ICAgICAvL+aOkuihjOamnFxyXG4gICAgdHdlZW46IGNjLlR3ZWVuPGNjLk5vZGU+OyAgIC8v5pyA5LiK5pa555So5oi35aS05YOP5Yqo55S7XHJcbiAgICBsaXN0RGF0YTogYW55OyAgICAgICAgICAgICAgLy/mgLvliJfooajkv6Hmga9cclxuICAgIHNlbGZEYXRhOiBhbnk7ICAgICAgICAgICAgICAvL+iHquW3seS/oeaBr1xyXG4gICAgcmFua051bWJlcjogbnVtYmVyOyAgICAgICAgIC8v55So5oi36Ieq5bex5o6S5ZCNIOacieWPr+iDveS4jeWcqOaOkuihjOamnOWGhTk5K1xyXG4gICAgcmFua1RvdGFsOiBudW1iZXI7ICAgICAgICAgIC8v6I635Y+W5o6S6KGM5qac55So5oi35pWw6YePIOeOsOWcqOS4ujEwMFxyXG5cclxuICAgIG9uTG9hZCgpIHtcclxuICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuICAgIC8v5Yid5aeL5YyW5pWw5o2uXHJcbiAgICBpbml0KCl7XHJcbiAgICAgICAgdGhpcy5yYW5rTGlzdCA9IGNjLmZpbmQoXCJTY3JvbGxWaWV3XCIsIHRoaXMubm9kZSkuZ2V0Q29tcG9uZW50KExpc3QpO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5zZWxmRGF0YSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5yYW5rTnVtYmVyID0gMTAwO1xyXG4gICAgICAgIHRoaXMucmFua1RvdGFsPSAxMDA7XHJcbiAgICAgICAgdGhpcy5zZWxmTm9kZS5vcGFjaXR5ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBzdGFydCgpIHtcclxuICAgICAgICB0aGlzLlBsYXllci5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdldFJhbmsoKTtcclxuICAgIH1cclxuICAgIC8v6LCD55So6I635Y+W5o6S6KGM5qac5o6l5Y+jXHJcbiAgICBnZXRSYW5rKCl7XHJcbiAgICAgICAgbGV0IGRhdGFGaWxlID0ge1xyXG4gICAgICAgICAgICBsZW5ndGg6MTAwXHJcbiAgICAgICAgfVxyXG4gICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rKGRhdGFGaWxlLGRhdGEgPT50aGlzLmdldFJhbmtEYXRhKGRhdGEpKTtcclxuICAgIH1cclxuICAgIC8v5a6e6ZmF6K6+572u5o6S6KGM5pWw5o2uXHJcbiAgICBnZXRSYW5rRGF0YShkYXRhKXtcclxuICAgICAgICBpZihkYXRhKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICBjYy5meC5HYW1lVG9vbC5nZXRSYW5rRGF0YShkYXRhLHRoaXMsNik7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGljKHRoaXMuc2VsZkRhdGEucGljKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL+i/lOWbnuaMiemSrlxyXG4gICAgYmFja0NsaWNrKCl7XHJcbiAgICAgICAgY2MuZGlyZWN0b3IubG9hZFNjZW5lKFwiTG9hZFNjZW5lXCIpO1xyXG4gICAgfVxyXG4gICAgLy/mnIDkuIrmlrnnlKjmiLfliqjnlLtcclxuICAgIHBsYXllckFjdGlvbigpe1xyXG4gICAgICAgIC8vLTI1NCAzNzcgIDIxMCA0NTNcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgbGV0IHRpbWUgPSAxO1xyXG4gICAgICAgIHRoaXMudHdlZW4gPSBjYy50d2Vlbih0aGlzLlBsYXllcilcclxuICAgICAgICAudG8oMix7cG9zaXRpb246Y2MudjMoMjEwLDQ1MywwKX0pXHJcbiAgICAgICAgLmNhbGwoKCkgPT57XHJcbiAgICAgICAgICAgIHRoaXMuUGxheWVyLmdldENoaWxkQnlOYW1lKFwicmFua1wiKS5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuZ2V0Q2hpbGRCeU5hbWUoXCJudW1iZXJcIilcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChjYy5MYWJlbCkuc3RyaW5nID0gIHBhcnNlSW50KHRpbWUqMTAwICsgXCJcIikgKyBcIiVcIjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5zdGFydCgpO1xyXG4gICAgICAgIHRpbWUgPSAodGhpcy5saXN0RGF0YS5sZW5ndGggLSB0aGlzLnJhbmtOdW1iZXIpL3RoaXMubGlzdERhdGEubGVuZ3RoO1xyXG4gICAgICAgIGlmKHRoaXMubGlzdERhdGEubGVuZ3RoID49IDk5KXtcclxuICAgICAgICAgICAgaWYodGhpcy5yYW5rTnVtYmVyID49IDk5KXtcclxuICAgICAgICAgICAgICAgIHRpbWUgPSAoTWF0aC5yYW5kb20oKSo0OSsxKS8xMDBcclxuICAgICAgICAgICAgICAgIHZhciBtYXRjaElkID0gY2Muc3lzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibWF0Y2hOdW1iZXJcIik7XHJcbiAgICAgICAgICAgICAgICBpZihtYXRjaElkID09IG51bGwgfHwgbWF0Y2hJZCA9PSB1bmRlZmluZWQpe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpbWUgPSAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZih0aGlzLnR3ZWVuKXRoaXMudHdlZW4uc3RvcCgpO1xyXG4gICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcInJhbmtcIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJyYW5rXCIpLmdldENoaWxkQnlOYW1lKFwibnVtYmVyXCIpXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQoY2MuTGFiZWwpLnN0cmluZyA9ICBwYXJzZUludCh0aW1lKjEwMCArIFwiXCIpICsgXCIlXCI7XHJcbiAgICAgICAgfSwgdGltZSoyMDAwKTtcclxuXHJcbiAgICB9XHJcbiAgICAvL+iuvue9ruWktOWDjyAg5aSE55CG55qE6YC76L6R5q+U6L6D5aSa77yM5LiN55So5YWs5YWx57G755qE5LqGXHJcbiAgICBwdWJsaWMgc2V0UGljKHBpYyl7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLnBhcmVudC5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5waG9uZS5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuUGxheWVyLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIub3BhY2l0eSA9IDA7XHJcbiAgICAgICAgdGhpcy5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICBmZXRjaChwaWMpXHJcbiAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAudGhlbihlcnJObyA9PiB7XHJcbiAgICAgICAgICAgIGlmKGVyck5vID09IFwiNTA5M1wiKXtcclxuICAgICAgICAgICAgICAgIHRoaXMucGhvbmUubm9kZS5wYXJlbnQuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJpY29uXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIFgtSW5mbzonLCBlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNjLmFzc2V0TWFuYWdlci5sb2FkUmVtb3RlKHBpYywge2V4dDonLnBuZyd9LChlcnIsIHRleHR1cmU6Y2MuVGV4dHVyZTJEKSA9PiB7XHJcbiAgICAgICAgICAgIHNlbGYuUGxheWVyLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIGlmKHRleHR1cmUpe1xyXG4gICAgICAgICAgICAgICAgc2VsZi5waG9uZS5ub2RlLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnBob25lLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2VsZi5QbGF5ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYXNrXCIpLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcInBob25lXCIpLmFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBzZWxmLlBsYXllci5nZXRDaGlsZEJ5TmFtZShcIm1hc2tcIikuZ2V0Q2hpbGRCeU5hbWUoXCJwaG9uZVwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKVxyXG4gICAgICAgICAgICAgICAgLnNwcml0ZUZyYW1lID0gbmV3IGNjLlNwcml0ZUZyYW1lKHRleHR1cmUpO1xyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5wbGF5ZXJBY3Rpb24oKTtcclxuICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgICAgIHNlbGYuUGxheWVyLmdldENoaWxkQnlOYW1lKFwibWFza1wiKS5nZXRDaGlsZEJ5TmFtZShcImljb25cIikuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGYucGxheWVyQWN0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==