|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/ladder/view/ladder_role_item.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, 'd51aaEGqqRNJ6PZWsjI/TDo', 'ladder_role_item');
|
// Scripts/mod/ladder/view/ladder_role_item.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 天梯主界面单个英雄
|
// <br/>Create: 2019-07-25 16:24:25
|
// --------------------------------------------------------------------
|
var PathTool = require("pathtool");
|
|
var LadderController = require("ladder_controller");
|
|
var BaseRole = require("baserole");
|
|
var Ladder_role_itemPanel = cc.Class({
|
"extends": BasePanel,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("ladder", "ladder_role_item");
|
},
|
// 可以初始化声明一些变量的
|
initConfig: function initConfig() {
|
this.ctrl = LadderController.getInstance();
|
this.model = this.ctrl.getModel();
|
},
|
// 初始化一些配置数据,可以用于声明一些变量之类的
|
initPanel: function initPanel() {
|
this.size = cc.size(243, 280);
|
this.container = this.seekChild("container");
|
this.touch_layer = this.seekChild("touch_layer");
|
this.image_line_sp = this.seekChild("image_line", cc.Sprite);
|
this.rank_label_lb = this.seekChild("rank_label", cc.Label);
|
this.name_label_lb = this.seekChild("name_label", cc.Label);
|
this.attk_label_lb = this.seekChild("attk_label", cc.Label);
|
this.atk_icon_nd = this.seekChild("atk_icon");
|
this.pos_role_nd = this.seekChild("pos_role");
|
this.attk_image = this.seekChild("attk_image");
|
this.rank_bg = this.seekChild("rank_bg");
|
},
|
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
|
registerEvent: function registerEvent() {
|
Utils.onTouchEnd(this.touch_layer, function () {
|
var is_open = this.model.getLadderIsOpen();
|
|
if (is_open) {
|
this.ctrl.openLadderRoleInfoWindow(true, this.data);
|
} else {
|
var txt_cfg = Config.sky_ladder_data.data_const["close_text"];
|
|
if (txt_cfg) {
|
message(cc.js.formatStr(Utils.TI18N("每%s天梯争霸"), txt_cfg.desc));
|
}
|
}
|
}.bind(this), 1);
|
},
|
setData: function setData(data) {
|
this.data = data;
|
|
if (this.root_wnd) {
|
this.onShow();
|
}
|
},
|
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
|
onShow: function onShow() {
|
if (this.data == null) return;
|
var data = this.data;
|
var is_open = this.model.getLadderIsOpen();
|
|
if (!data.rank || data.rank == 0) {
|
this.rank_label_lb.string = Utils.TI18N("未上榜");
|
} else {
|
this.rank_label_lb.string = cc.js.formatStr(Utils.TI18N("第%s名"), data.rank);
|
}
|
|
var rank_size = this.rank_label_lb.node.getContentSize();
|
|
this.rank_label_lb._updateRenderData(true);
|
|
this.rank_bg.setContentSize(cc.size(rank_size.width + 10, 30));
|
|
if (is_open) {
|
this.name_label_lb.string = Utils.transformNameByServ(data.name, data.srv_id);
|
this.attk_label_lb.string = data.power || 0;
|
|
this.attk_label_lb._updateRenderData(true);
|
|
var label_size = this.attk_label_lb.node.getContentSize();
|
this.attk_image.active = true;
|
this.atk_icon_nd.active = true;
|
this.atk_icon_nd.x = 121 - label_size.width / 2;
|
} else {
|
this.name_label_lb.string = Utils.TI18N("虚位以待");
|
var txt_cfg = Config.sky_ladder_data.data_const["close_text"];
|
|
if (txt_cfg) {
|
this.attk_label.string = txt_cfg.desc;
|
}
|
|
this.attk_image.active = false;
|
this.atk_icon_nd.active = false;
|
}
|
|
if (this.role_spine && data.look) {
|
this.role_spine.setData(BaseRole.type.role, data.look, PlayerAction.show, true, 0.7);
|
}
|
|
if (data.look && this.role_spine == null) {
|
this.role_spine = new BaseRole();
|
this.role_spine.setParent(this.pos_role);
|
this.role_spine.setPosition(0, 130);
|
this.role_spine.setAnchorPoint(0.5, 0);
|
this.role_spine.setData(BaseRole.type.role, data.look, PlayerAction.show, true, 0.7);
|
} //设置底框
|
|
|
var res_path = this.getRoleBoxResPath(data.rank);
|
|
if (res_path) {
|
this.loadRes(res_path, function (sp) {
|
this.image_line_sp.spriteFrame = sp;
|
}.bind(this));
|
this.image_line_sp.node.active = true;
|
} else {
|
this.image_line_sp.node.active = false;
|
}
|
},
|
getRoleBoxResPath: function getRoleBoxResPath(rank) {
|
var res_path = null;
|
var box_config = Config.sky_ladder_data.data_const.role_box;
|
var index = 0;
|
|
if (box_config && box_config.val != null) {
|
for (var k in box_config.val) {
|
var v = box_config.val[k];
|
|
if (rank >= v[0] && (rank <= v[0] || v[1] == 0)) {
|
index = k;
|
}
|
}
|
}
|
|
if (index == 1) {
|
res_path = PathTool.getUIIconPath("ladder", "ladder_1019");
|
} else if (index == 2) {
|
res_path = PathTool.getUIIconPath("ladder", "ladder_1018");
|
} else if (index == 3) {
|
res_path = PathTool.getUIIconPath("ladder", "ladder_1017");
|
} else if (index == 4) {
|
res_path = PathTool.getUIIconPath("ladder", "ladder_1016");
|
}
|
|
return res_path;
|
},
|
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
|
onHide: function onHide() {},
|
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
|
onDelete: function onDelete() {
|
if (this.role_spine) {
|
this.role_spine.deleteMe();
|
this.role_spine = null;
|
}
|
}
|
});
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxsYWRkZXJcXHZpZXdcXGxhZGRlcl9yb2xlX2l0ZW0uanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiTGFkZGVyQ29udHJvbGxlciIsIkJhc2VSb2xlIiwiTGFkZGVyX3JvbGVfaXRlbVBhbmVsIiwiY2MiLCJDbGFzcyIsIkJhc2VQYW5lbCIsImN0b3IiLCJwcmVmYWJQYXRoIiwiZ2V0UHJlZmFiUGF0aCIsImluaXRDb25maWciLCJjdHJsIiwiZ2V0SW5zdGFuY2UiLCJtb2RlbCIsImdldE1vZGVsIiwiaW5pdFBhbmVsIiwic2l6ZSIsImNvbnRhaW5lciIsInNlZWtDaGlsZCIsInRvdWNoX2xheWVyIiwiaW1hZ2VfbGluZV9zcCIsIlNwcml0ZSIsInJhbmtfbGFiZWxfbGIiLCJMYWJlbCIsIm5hbWVfbGFiZWxfbGIiLCJhdHRrX2xhYmVsX2xiIiwiYXRrX2ljb25fbmQiLCJwb3Nfcm9sZV9uZCIsImF0dGtfaW1hZ2UiLCJyYW5rX2JnIiwicmVnaXN0ZXJFdmVudCIsIlV0aWxzIiwib25Ub3VjaEVuZCIsImlzX29wZW4iLCJnZXRMYWRkZXJJc09wZW4iLCJvcGVuTGFkZGVyUm9sZUluZm9XaW5kb3ciLCJkYXRhIiwidHh0X2NmZyIsIkNvbmZpZyIsInNreV9sYWRkZXJfZGF0YSIsImRhdGFfY29uc3QiLCJtZXNzYWdlIiwianMiLCJmb3JtYXRTdHIiLCJUSTE4TiIsImRlc2MiLCJiaW5kIiwic2V0RGF0YSIsInJvb3Rfd25kIiwib25TaG93IiwicmFuayIsInN0cmluZyIsInJhbmtfc2l6ZSIsIm5vZGUiLCJnZXRDb250ZW50U2l6ZSIsIl91cGRhdGVSZW5kZXJEYXRhIiwic2V0Q29udGVudFNpemUiLCJ3aWR0aCIsInRyYW5zZm9ybU5hbWVCeVNlcnYiLCJuYW1lIiwic3J2X2lkIiwicG93ZXIiLCJsYWJlbF9zaXplIiwiYWN0aXZlIiwieCIsImF0dGtfbGFiZWwiLCJyb2xlX3NwaW5lIiwibG9vayIsInR5cGUiLCJyb2xlIiwiUGxheWVyQWN0aW9uIiwic2hvdyIsInNldFBhcmVudCIsInBvc19yb2xlIiwic2V0UG9zaXRpb24iLCJzZXRBbmNob3JQb2ludCIsInJlc19wYXRoIiwiZ2V0Um9sZUJveFJlc1BhdGgiLCJsb2FkUmVzIiwic3AiLCJzcHJpdGVGcmFtZSIsImJveF9jb25maWciLCJyb2xlX2JveCIsImluZGV4IiwidmFsIiwiayIsInYiLCJnZXRVSUljb25QYXRoIiwib25IaWRlIiwib25EZWxldGUiLCJkZWxldGVNZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlDLGdCQUFnQixHQUFHRCxPQUFPLENBQUMsbUJBQUQsQ0FBOUI7O0FBQ0EsSUFBSUUsUUFBUSxHQUFHRixPQUFPLENBQUMsVUFBRCxDQUF0Qjs7QUFFQSxJQUFJRyxxQkFBcUIsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDakMsYUFBU0MsU0FEd0I7QUFFakNDLEVBQUFBLElBQUksRUFBRSxnQkFBWTtBQUNkLFNBQUtDLFVBQUwsR0FBa0JULFFBQVEsQ0FBQ1UsYUFBVCxDQUF1QixRQUF2QixFQUFpQyxrQkFBakMsQ0FBbEI7QUFDSCxHQUpnQztBQU1qQztBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVk7QUFDcEIsU0FBS0MsSUFBTCxHQUFZVixnQkFBZ0IsQ0FBQ1csV0FBakIsRUFBWjtBQUNBLFNBQUtDLEtBQUwsR0FBYSxLQUFLRixJQUFMLENBQVVHLFFBQVYsRUFBYjtBQUNILEdBVmdDO0FBWWpDO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxxQkFBWTtBQUNuQixTQUFLQyxJQUFMLEdBQVlaLEVBQUUsQ0FBQ1ksSUFBSCxDQUFRLEdBQVIsRUFBYSxHQUFiLENBQVo7QUFFQSxTQUFLQyxTQUFMLEdBQWlCLEtBQUtDLFNBQUwsQ0FBZSxXQUFmLENBQWpCO0FB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QWpDLENBQVg7QUFDSCxLQUZNLE1BRUEsSUFBSUosS0FBSyxJQUFJLENBQWIsRUFBZ0I7QUFDbkJQLE1BQUFBLFFBQVEsR0FBRzdFLFFBQVEsQ0FBQ3dGLGFBQVQsQ0FBdUIsUUFBdkIsRUFBaUMsYUFBakMsQ0FBWDtBQUNIOztBQUVELFdBQU9YLFFBQVA7QUFDSCxHQS9IZ0M7QUFpSWpDO0FBQ0FZLEVBQUFBLE1BQU0sRUFBRSxrQkFBWSxDQUVuQixDQXBJZ0M7QUFzSWpDO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxvQkFBWTtBQUNsQixRQUFJLEtBQUt2QixVQUFULEVBQXFCO0FBQ2pCLFdBQUtBLFVBQUwsQ0FBZ0J3QixRQUFoQjtBQUNBLFdBQUt4QixVQUFMLEdBQWtCLElBQWxCO0FBQ0g7QUFDSjtBQTVJZ0MsQ0FBVCxDQUE1QiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgIOWkqeair+S4u+eVjOmdouWNleS4quiLsembhFxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDctMjUgMTY6MjQ6MjVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG52YXIgTGFkZGVyQ29udHJvbGxlciA9IHJlcXVpcmUoXCJsYWRkZXJfY29udHJvbGxlclwiKTtcbnZhciBCYXNlUm9sZSA9IHJlcXVpcmUoXCJiYXNlcm9sZVwiKTtcblxudmFyIExhZGRlcl9yb2xlX2l0ZW1QYW5lbCA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwibGFkZGVyXCIsIFwibGFkZGVyX3JvbGVfaXRlbVwiKTtcbiAgICB9LFxuXG4gICAgLy8g5Y+v5Lul5Yid5aeL5YyW5aOw5piO5LiA5Lqb5Y+Y6YeP55qEXG4gICAgaW5pdENvbmZpZzogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmN0cmwgPSBMYWRkZXJDb250cm9sbGVyLmdldEluc3RhbmNlKCk7XG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmN0cmwuZ2V0TW9kZWwoKTtcbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRQYW5lbDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnNpemUgPSBjYy5zaXplKDI0MywgMjgwKTtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKFwiY29udGFpbmVyXCIpO1xuICAgICAgICB0aGlzLnRvdWNoX2xheWVyID0gdGhpcy5zZWVrQ2hpbGQoXCJ0b3VjaF9sYXllclwiKTtcbiAgICAgICAgdGhpcy5pbWFnZV9saW5lX3NwID0gdGhpcy5zZWVrQ2hpbGQoXCJpbWFnZV9saW5lXCIsIGNjLlNwcml0ZSk7XG4gICAgICAgIHRoaXMucmFua19sYWJlbF9sYiA9IHRoaXMuc2Vla0NoaWxkKFwicmFua19sYWJlbFwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMubmFtZV9sYWJlbF9sYiA9IHRoaXMuc2Vla0NoaWxkKFwibmFtZV9sYWJlbFwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMuYXR0a19sYWJlbF9sYiA9IHRoaXMuc2Vla0NoaWxkKFwiYXR0a19sYWJlbFwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMuYXRrX2ljb25fbmQgPSB0aGlzLnNlZWtDaGlsZChcImF0a19pY29uXCIpO1xuICAgICAgICB0aGlzLnBvc19yb2xlX25kID0gdGhpcy5zZWVrQ2hpbGQoXCJwb3Nfcm9sZVwiKTtcbiAgICAgICAgdGhpcy5hdHRrX2ltYWdlID0gdGhpcy5zZWVrQ2hpbGQoXCJhdHRrX2ltYWdlXCIpO1xuICAgICAgICB0aGlzLnJhbmtfYmcgPSB0aGlzLnNlZWtDaGlsZChcInJhbmtfYmdcIik7XG4gICAgfSxcblxuICAgIC8vIOazqOWGjOS6i+S7tuebkeWQrOeahOaOpeWPoyzkuI3pnIDopoHmiYvliqjosIPnlKgs5aaC5p6c5piv5L2/55SoZ2NvcmUuR2xvYmFsRXZlbnTnm5HlkKws5Y+v5Lul55u05o6l6LCD55SoYWRkR2xvYmFsRXZlbnRcbiAgICByZWdpc3RlckV2ZW50OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIFV0aWxzLm9uVG91Y2hFbmQodGhpcy50b3VjaF9sYXllciwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgbGV0IGlzX29wZW4gPSB0aGlzLm1vZGVsLmdldExhZGRlcklzT3BlbigpO1xuICAgICAgICAgICAgaWYgKGlzX29wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN0cmwub3BlbkxhZGRlclJvbGVJbmZvV2luZG93KHRydWUsIHRoaXMuZGF0YSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCB0eHRfY2ZnID0gQ29uZmlnLnNreV9sYWRkZXJfZGF0YS5kYXRhX2NvbnN0W1wiY2xvc2VfdGV4dFwiXTtcbiAgICAgICAgICAgICAgICBpZiAodHh0X2NmZykge1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKGNjLmpzLmZvcm1hdFN0cihVdGlscy5USTE4TihcIuavjyVz5aSp5qKv5LqJ6Zy4XCIpLCB0eHRfY2ZnLmRlc2MpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSwgMSlcbiAgICB9LFxuXG4gICAgc2V0RGF0YTogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgaWYgKHRoaXMucm9vdF93bmQpIHtcbiAgICAgICAgICAgIHRoaXMub25TaG93KCk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g6aKE5Yi25L2T5Yqg6L295a6M5oiQ5LmL5ZCOLOa3u+WKoOWIsOWvueW6lOS4u+iKgueCueS5i+WQjueahOWbnuiwg+WPr+S7peiuvue9ruS4gOS6m+aVsOaNruS6hlxuICAgIG9uU2hvdzogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhID09IG51bGwpIHJldHVyblxuICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZGF0YTtcbiAgICAgICAgbGV0IGlzX29wZW4gPSB0aGlzLm1vZGVsLmdldExhZGRlcklzT3BlbigpO1xuICAgICAgICBpZiAoIWRhdGEucmFuayB8fCBkYXRhLnJhbmsgPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5yYW5rX2xhYmVsX2xiLnN0cmluZyA9IFV0aWxzLlRJMThOKFwi5pyq5LiK5qacXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yYW5rX2xhYmVsX2xiLnN0cmluZyA9IGNjLmpzLmZvcm1hdFN0cihVdGlscy5USTE4TihcIuesrCVz5ZCNXCIpLCBkYXRhLnJhbmspO1xuICAgICAgICB9XG4gICAgICAgIGxldCByYW5rX3NpemUgPSB0aGlzLnJhbmtfbGFiZWxfbGIubm9kZS5nZXRDb250ZW50U2l6ZSgpO1xuICAgICAgICB0aGlzLnJhbmtfbGFiZWxfbGIuX3VwZGF0ZVJlbmRlckRhdGEodHJ1ZSk7XG4gICAgICAgIHRoaXMucmFua19iZy5zZXRDb250ZW50U2l6ZShjYy5zaXplKHJhbmtfc2l6ZS53aWR0aCArIDEwLCAzMCkpO1xuXG4gICAgICAgIGlmIChpc19vcGVuKSB7XG4gICAgICAgICAgICB0aGlzLm5hbWVfbGFiZWxfbGIuc3RyaW5nID0gVXRpbHMudHJhbnNmb3JtTmFtZUJ5U2VydihkYXRhLm5hbWUsIGRhdGEuc3J2X2lkKTtcbiAgICAgICAgICAgIHRoaXMuYXR0a19sYWJlbF9sYi5zdHJpbmcgPSBkYXRhLnBvd2VyIHx8IDA7XG4gICAgICAgICAgICB0aGlzLmF0dGtfbGFiZWxfbGIuX3VwZGF0ZVJlbmRlckRhdGEodHJ1ZSk7XG4gICAgICAgICAgICBsZXQgbGFiZWxfc2l6ZSA9IHRoaXMuYXR0a19sYWJlbF9sYi5ub2RlLmdldENvbnRlbnRTaXplKCk7XG4gICAgICAgICAgICB0aGlzLmF0dGtfaW1hZ2UuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYXRrX2ljb25fbmQuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYXRrX2ljb25fbmQueCA9IDEyMSAtIGxhYmVsX3NpemUud2lkdGggLyAyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uYW1lX2xhYmVsX2xiLnN0cmluZyA9IFV0aWxzLlRJMThOKFwi6Jma5L2N5Lul5b6FXCIpO1xuICAgICAgICAgICAgbGV0IHR4dF9jZmcgPSBDb25maWcuc2t5X2xhZGRlcl9kYXRhLmRhdGFfY29uc3RbXCJjbG9zZV90ZXh0XCJdO1xuICAgICAgICAgICAgaWYgKHR4dF9jZmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmF0dGtfbGFiZWwuc3RyaW5nID0gdHh0X2NmZy5kZXNjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hdHRrX2ltYWdlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5hdGtfaWNvbl9uZC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yb2xlX3NwaW5lICYmIGRhdGEubG9vaykge1xuICAgICAgICAgICAgdGhpcy5yb2xlX3NwaW5lLnNldERhdGEoQmFzZVJvbGUudHlwZS5yb2xlLCBkYXRhLmxvb2ssIFBsYXllckFjdGlvbi5zaG93LCB0cnVlLCAwLjcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhLmxvb2sgJiYgdGhpcy5yb2xlX3NwaW5lID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMucm9sZV9zcGluZSA9IG5ldyBCYXNlUm9sZSgpO1xuICAgICAgICAgICAgdGhpcy5yb2xlX3NwaW5lLnNldFBhcmVudCh0aGlzLnBvc19yb2xlKTtcbiAgICAgICAgICAgIHRoaXMucm9sZV9zcGluZS5zZXRQb3NpdGlvbigwLCAxMzApO1xuICAgICAgICAgICAgdGhpcy5yb2xlX3NwaW5lLnNldEFuY2hvclBvaW50KDAuNSwgMCk7XG4gICAgICAgICAgICB0aGlzLnJvbGVfc3BpbmUuc2V0RGF0YShCYXNlUm9sZS50eXBlLnJvbGUsIGRhdGEubG9vaywgUGxheWVyQWN0aW9uLnNob3csIHRydWUsIDAuNyk7XG4gICAgICAgIH1cblxuICAgICAgICAvL+iuvue9ruW6leahhlxuICAgICAgICBsZXQgcmVzX3BhdGggPSB0aGlzLmdldFJvbGVCb3hSZXNQYXRoKGRhdGEucmFuayk7XG4gICAgICAgIGlmIChyZXNfcGF0aCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkUmVzKHJlc19wYXRoLCBmdW5jdGlvbiAoc3ApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlX2xpbmVfc3Auc3ByaXRlRnJhbWUgPSBzcDtcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSlcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbGluZV9zcC5ub2RlLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlX2xpbmVfc3Aubm9kZS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBnZXRSb2xlQm94UmVzUGF0aDogZnVuY3Rpb24gKHJhbmspIHtcbiAgICAgICAgbGV0IHJlc19wYXRoID0gbnVsbDtcbiAgICAgICAgbGV0IGJveF9jb25maWcgPSBDb25maWcuc2t5X2xhZGRlcl9kYXRhLmRhdGFfY29uc3Qucm9sZV9ib3g7XG4gICAgICAgIGxldCBpbmRleCA9IDA7XG4gICAgICAgIGlmIChib3hfY29uZmlnICYmIGJveF9jb25maWcudmFsICE9IG51bGwpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGsgaW4gYm94X2NvbmZpZy52YWwpIHtcbiAgICAgICAgICAgICAgICBsZXQgdiA9IGJveF9jb25maWcudmFsW2tdO1xuICAgICAgICAgICAgICAgIGlmIChyYW5rID49IHZbMF0gJiYgKHJhbmsgPD0gdlswXSB8fCB2WzFdID09IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09IDEpIHtcbiAgICAgICAgICAgIHJlc19wYXRoID0gUGF0aFRvb2wuZ2V0VUlJY29uUGF0aChcImxhZGRlclwiLCBcImxhZGRlcl8xMDE5XCIpO1xuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IDIpIHtcbiAgICAgICAgICAgIHJlc19wYXRoID0gUGF0aFRvb2wuZ2V0VUlJY29uUGF0aChcImxhZGRlclwiLCBcImxhZGRlcl8xMDE4XCIpO1xuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IDMpIHtcbiAgICAgICAgICAgIHJlc19wYXRoID0gUGF0aFRvb2wuZ2V0VUlJY29uUGF0aChcImxhZGRlclwiLCBcImxhZGRlcl8xMDE3XCIpO1xuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IDQpIHtcbiAgICAgICAgICAgIHJlc19wYXRoID0gUGF0aFRvb2wuZ2V0VUlJY29uUGF0aChcImxhZGRlclwiLCBcImxhZGRlcl8xMDE2XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc19wYXRoXG4gICAgfSxcblxuICAgIC8vIOmdouadv+iuvue9ruS4jeWPr+ingeeahOWbnuiwgyzov5nph4zlgZrkuIDkupvkuI3lj6/op4HnmoTlsY/olL3lpITnkIZcbiAgICBvbkhpZGU6IGZ1bmN0aW9uICgpIHtcblxuICAgIH0sXG5cbiAgICAvLyDlvZPpnaLmnb/ku47kuLvoioLngrnph4rmlL7mjonnmoTosIPnlKjmjqXlj6Ms6ZyA6KaB5omL5Yqo6LCD55SoLOiAjOS4lOS5n+S4gOWumuimgeiwg+eUqFxuICAgIG9uRGVsZXRlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLnJvbGVfc3BpbmUpIHtcbiAgICAgICAgICAgIHRoaXMucm9sZV9zcGluZS5kZWxldGVNZSgpO1xuICAgICAgICAgICAgdGhpcy5yb2xlX3NwaW5lID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH0sXG59KSJdfQ==
|