|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/chat/chat_item_controller.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, '5cfb3xdItxGKKjOd3kfE5/Q', 'chat_item_controller');
|
// Scripts/mod/chat/chat_item_controller.js
|
|
"use strict";
|
|
var ChatConst = require("chat_const");
|
|
var ChatEvent = require("chat_event");
|
|
var BackPackConst = require("backpack_const");
|
|
var GoodsVo = require("goods_vo");
|
|
var HeroController = require("hero_controller");
|
|
var TipsController = require("tips_controller");
|
|
var PartnerConst = require("partner_const");
|
|
var FriendController = cc.Class({
|
"extends": BaseController,
|
ctor: function ctor() {},
|
registerProtocals: function registerProtocals() {
|
this.RegisterProtocal(12418, this.handle12418.bind(this)); // 发送任务到聊天
|
|
this.RegisterProtocal(12419, this.handle12419.bind(this)); // 点击任务返回数据
|
|
this.RegisterProtocal(11221, this.handle11221.bind(this)); // 发送伙伴到聊天
|
|
this.RegisterProtocal(11222, this.handle11222.bind(this)); // 点击伙伴返回数据
|
|
this.RegisterProtocal(10535, this.handle10535.bind(this));
|
this.RegisterProtocal(10536, this.handle10536.bind(this)); // 点击物品返回数据
|
},
|
// 生成item Text
|
buildItemMsg: function buildItemMsg(item_bid, srv_id, share_id, count) {
|
var config_data = Utils.getItemConfig(item_bid);
|
count = count || 0;
|
var item_name = config_data.name;
|
if (count > 1) item_name = item_name + "x" + count;
|
|
if (config_data) {
|
// <div fontcolor=%s href=%s|%s|%s>[%s]</div>"
|
return cc.js.formatStr("<color=%s><on click='handler' param='%s|%s|%s'>[%s]</on></color>", BackPackConst.quality_color(config_data.quality), ChatConst.Link.Item_Show, srv_id, share_id, item_name);
|
}
|
},
|
relapceFaceIconTag: function relapceFaceIconTag(text) {
|
var patt = /(#)\d+/g;
|
var result = null;
|
|
while ((result = patt.exec(text)) != null) {
|
var face_id = result[0].slice(1, result[0].length);
|
var face_cfg = Config.face_data.data_biaoqing[face_id];
|
var replace_str = "";
|
if (face_cfg) replace_str = cc.js.formatStr("<img src='emoji' emoji='%s'/>", face_cfg.name);
|
text = text.replace(new RegExp(result[0], 'i'), replace_str);
|
}
|
|
return text;
|
},
|
analyzeMessage: function analyzeMessage(message) {
|
var patt = /(src=)/g;
|
var result = null;
|
|
while ((result = patt.exec(message)) != null) {
|
message += "**";
|
}
|
|
return message;
|
},
|
getImages: function getImages(message) {
|
var img_ids = [];
|
var emojis = message.match(/src='(\S*)'/g);
|
|
for (var emoji_i in emojis) {
|
var emoji = emojis[emoji_i];
|
var emoji_info = emoji.match(/src='(\S*)'/);
|
if (emoji_info[1] !== "emoji") img_ids.push(emoji_info[1]);
|
}
|
|
return img_ids;
|
},
|
getEmojis: function getEmojis(message) {
|
var emoji_ids = [];
|
var emojis = message.match(/emoji='(\S*)'/g);
|
|
for (var emoji_i in emojis) {
|
var emoji = emojis[emoji_i];
|
var emoji_info = emoji.match(/emoji='(\S*)'/);
|
emoji_ids.push(emoji_info[1]);
|
}
|
|
return emoji_ids;
|
},
|
handle12418: function handle12418(data) {},
|
handle12419: function handle12419(data) {},
|
handle11221: function handle11221(data) {},
|
handle11222: function handle11222(data) {},
|
send10535: function send10535(type, id, partner_id, code) {
|
var protocal = {};
|
protocal.type = type;
|
protocal.id = id;
|
protocal.partner_id = partner_id;
|
protocal.code = code;
|
this.SendProtocal(10535, protocal);
|
},
|
handle10535: function handle10535(data) {
|
if (data.flag == 1) {
|
gcore.GlobalEvent.fire(ChatEvent.CHAT_SELECT_ITEM, data);
|
} else {
|
message(data.msg);
|
}
|
},
|
// 获取物品Tips
|
sender10536: function sender10536(share_id, srv_id) {
|
if (!share_id) return;
|
var protocal = {};
|
protocal.srv_id = srv_id;
|
protocal.id = share_id;
|
this.SendProtocal(10536, protocal);
|
},
|
// 显示物品Tips
|
handle10536: function handle10536(data) {
|
if (data) {
|
var item_vo = new GoodsVo();
|
item_vo.setBaseId(data.base_id);
|
item_vo.initAttrData(data);
|
|
if (!item_vo.config) {
|
message(Utils.TI18N("数据异常"));
|
return;
|
}
|
|
if (BackPackConst.checkIsEquip(item_vo.config.type)) {
|
HeroController.getInstance().openEquipTips(true, item_vo, PartnerConst.EqmTips.other);
|
} else if (BackPackConst.checkIsArtifact(item_vo.config.type)) {
|
HeroController.getInstance().openArtifactTipsWindow(true, item_vo, PartnerConst.ArtifactTips.normal);
|
} else {
|
var TipsController = require("tips_controller");
|
|
TipsController.getInstance().showGoodsTips(item_vo.config);
|
}
|
}
|
}
|
});
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxjaGF0XFxjaGF0X2l0ZW1fY29udHJvbGxlci5qcyJdLCJuYW1lcyI6WyJDaGF0Q29uc3QiLCJyZXF1aXJlIiwiQ2hhdEV2ZW50IiwiQmFja1BhY2tDb25zdCIsIkdvb2RzVm8iLCJIZXJvQ29udHJvbGxlciIsIlRpcHNDb250cm9sbGVyIiwiUGFydG5lckNvbnN0IiwiRnJpZW5kQ29udHJvbGxlciIsImNjIiwiQ2xhc3MiLCJCYXNlQ29udHJvbGxlciIsImN0b3IiLCJyZWdpc3RlclByb3RvY2FscyIsIlJlZ2lzdGVyUHJvdG9jYWwiLCJoYW5kbGUxMjQxOCIsImJpbmQiLCJoYW5kbGUxMjQxOSIsImhhbmRsZTExMjIxIiwiaGFuZGxlMTEyMjIiLCJoYW5kbGUxMDUzNSIsImhhbmRsZTEwNTM2IiwiYnVpbGRJdGVtTXNnIiwiaXRlbV9iaWQiLCJzcnZfaWQiLCJzaGFyZV9pZCIsImNvdW50IiwiY29uZmlnX2RhdGEiLCJVdGlscyIsImdldEl0ZW1Db25maWciLCJpdGVtX25hbWUiLCJuYW1lIiwianMiLCJmb3JtYXRTdHIiLCJxdWFsaXR5X2NvbG9yIiwicXVhbGl0eSIsIkxpbmsiLCJJdGVtX1Nob3ciLCJyZWxhcGNlRmFjZUljb25UYWciLCJ0ZXh0IiwicGF0dCIsInJlc3VsdCIsImV4ZWMiLCJmYWNlX2lkIiwic2xpY2UiLCJsZW5ndGgiLCJmYWNlX2NmZyIsIkNvbmZpZyIsImZhY2VfZGF0YSIsImRhdGFfYmlhb3FpbmciLCJyZXBsYWNlX3N0ciIsInJlcGxhY2UiLCJSZWdFeHAiLCJhbmFseXplTWVzc2FnZSIsIm1lc3NhZ2UiLCJnZXRJbWFnZXMiLCJpbWdfaWRzIiwiZW1vamlzIiwibWF0Y2giLCJlbW9qaV9pIiwiZW1vamkiLCJlbW9qaV9pbmZvIiwicHVzaCIsImdldEVtb2ppcyIsImVtb2ppX2lkcyIsImRhdGEiLCJzZW5kMTA1MzUiLCJ0eXBlIiwiaWQiLCJwYXJ0bmVyX2lkIiwiY29kZSIsInByb3RvY2FsIiwiU2VuZFByb3RvY2FsIiwiZmxhZyIsImdjb3JlIiwiR2xvYmFsRXZlbnQiLCJmaXJlIiwiQ0hBVF9TRUxFQ1RfSVRFTSIsIm1zZyIsInNlbmRlcjEwNTM2IiwiaXRlbV92byIsInNldEJhc2VJZCIsImJhc2VfaWQiLCJpbml0QXR0ckRhdGEiLCJjb25maWciLCJUSTE4TiIsImNoZWNrSXNFcXVpcCIsImdldEluc3RhbmNlIiwib3BlbkVxdWlwVGlwcyIsIkVxbVRpcHMiLCJvdGhlciIsImNoZWNrSXNBcnRpZmFjdCIsIm9wZW5BcnRpZmFjdFRpcHNXaW5kb3ciLCJBcnRpZmFjdFRpcHMiLCJub3JtYWwiLCJzaG93R29vZHNUaXBzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUlBLFNBQVMsR0FBR0MsT0FBTyxDQUFDLFlBQUQsQ0FBdkI7O0FBQ0EsSUFBSUMsU0FBUyxHQUFHRCxPQUFPLENBQUMsWUFBRCxDQUF2Qjs7QUFDQSxJQUFJRSxhQUFhLEdBQUdGLE9BQU8sQ0FBQyxnQkFBRCxDQUEzQjs7QUFDQSxJQUFJRyxPQUFPLEdBQUlILE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUNBLElBQUlJLGNBQWMsR0FBR0osT0FBTyxDQUFDLGlCQUFELENBQTVCOztBQUNBLElBQUlLLGNBQWMsR0FBR0wsT0FBTyxDQUFDLGlCQUFELENBQTVCOztBQUNBLElBQUlNLFlBQVksR0FBR04sT0FBTyxDQUFDLGVBQUQsQ0FBMUI7O0FBRUEsSUFBSU8sZ0JBQWdCLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQzVCLGFBQVNDLGNBRG1CO0FBRzVCQyxFQUFBQSxJQUFJLEVBQUUsZ0JBQVcsQ0FFaEIsQ0FMMkI7QUFPNUJDLEVBQUFBLGlCQUFpQixFQUFFLDZCQUFXO0FBQzdCLFNBQUtDLGdCQUFMLENBQXNCLEtBQXRCLEVBQTZCLEtBQUtDLFdBQUwsQ0FBaUJDLElBQWpCLENBQXNCLElBQXRCLENBQTdCLEVBRDZCLENBQytCOztBQUM1RCxTQUFLRixnQkFBTCxDQUFzQixLQUF0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c3QgPSByZXF1aXJlKFwiY2hhdF9jb25zdFwiKTtcclxudmFyIENoYXRFdmVudCA9IHJlcXVpcmUoXCJjaGF0X2V2ZW50XCIpO1xyXG52YXIgQmFja1BhY2tDb25zdCA9IHJlcXVpcmUoXCJiYWNrcGFja19jb25zdFwiKTtcclxudmFyIEdvb2RzVm8gID0gcmVxdWlyZShcImdvb2RzX3ZvXCIpO1xyXG52YXIgSGVyb0NvbnRyb2xsZXIgPSByZXF1aXJlKFwiaGVyb19jb250cm9sbGVyXCIpO1xyXG52YXIgVGlwc0NvbnRyb2xsZXIgPSByZXF1aXJlKFwidGlwc19jb250cm9sbGVyXCIpO1xyXG52YXIgUGFydG5lckNvbnN0ID0gcmVxdWlyZShcInBhcnRuZXJfY29uc3RcIik7XHJcblxyXG52YXIgRnJpZW5kQ29udHJvbGxlciA9IGNjLkNsYXNzKHtcclxuICAgIGV4dGVuZHM6IEJhc2VDb250cm9sbGVyLFxyXG5cclxuICAgIGN0b3I6IGZ1bmN0aW9uKCkge1xyXG5cclxuICAgIH0sXHJcblxyXG4gICAgcmVnaXN0ZXJQcm90b2NhbHM6IGZ1bmN0aW9uKCkge1xyXG5cdCAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMTI0MTgsIHRoaXMuaGFuZGxlMTI0MTguYmluZCh0aGlzKSk7ICAvLyDlj5HpgIHku7vliqHliLDogYrlpKlcclxuXHQgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDEyNDE5LCB0aGlzLmhhbmRsZTEyNDE5LmJpbmQodGhpcykpOyAgLy8g54K55Ye75Lu75Yqh6L+U5Zue5pWw5o2uXHJcblx0ICAgIHRoaXMuUmVnaXN0ZXJQcm90b2NhbCgxMTIyMSwgdGhpcy5oYW5kbGUxMTIyMS5iaW5kKHRoaXMpKTsgIC8vIOWPkemAgeS8meS8tOWIsOiBiuWkqVxyXG5cdCAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMTEyMjIsIHRoaXMuaGFuZGxlMTEyMjIuYmluZCh0aGlzKSk7ICAvLyDngrnlh7vkvJnkvLTov5Tlm57mlbDmja5cclxuXHQgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDEwNTM1LCB0aGlzLmhhbmRsZTEwNTM1LmJpbmQodGhpcykpOyAgXHJcblx0ICAgIHRoaXMuUmVnaXN0ZXJQcm90b2NhbCgxMDUzNiwgdGhpcy5oYW5kbGUxMDUzNi5iaW5kKHRoaXMpKTsgIC8vIOeCueWHu+eJqeWTgei/lOWbnuaVsOaNriAgXHJcbiAgICB9LFxyXG5cclxuICAgIC8vIOeUn+aIkGl0ZW0gVGV4dFxyXG5cdGJ1aWxkSXRlbU1zZzogZnVuY3Rpb24oaXRlbV9iaWQsIHNydl9pZCwgc2hhcmVfaWQsIGNvdW50KSB7XHJcblx0ICAgIHZhciBjb25maWdfZGF0YSA9IFV0aWxzLmdldEl0ZW1Db25maWcoaXRlbV9iaWQpO1xyXG5cdCAgICBjb3VudCA9IGNvdW50IHx8IDA7XHJcblx0ICAgIHZhciBpdGVtX25hbWUgPSBjb25maWdfZGF0YS5uYW1lO1xyXG5cdCAgICBpZiAoY291bnQgPiAxKVxyXG5cdCAgICAgICAgaXRlbV9uYW1lID0gaXRlbV9uYW1lICsgXCJ4XCIgKyBjb3VudDtcclxuXHQgICAgaWYgKGNvbmZpZ19kYXRhKSB7XHJcblx0ICAgIFx0Ly8gPGRpdiBmb250Y29sb3I9JXMgaHJlZj0lc3wlc3wlcz5bJXNdPC9kaXY+XCJcclxuXHQgICAgICAgIHJldHVybiBjYy5qcy5mb3JtYXRTdHIoXCI8Y29sb3I9JXM+PG9uIGNsaWNrPSdoYW5kbGVyJyBwYXJhbT0nJXN8JXN8JXMnPlslc108L29uPjwvY29sb3I+XCIsXHJcblx0ICAgICAgICAgICAgICAgIEJhY2tQYWNrQ29uc3QucXVhbGl0eV9jb2xvcihjb25maWdfZGF0YS5xdWFsaXR5KSxcclxuXHQgICAgICAgICAgICAgICAgQ2hhdENvbnN0LkxpbmsuSXRlbV9TaG93LFxyXG5cdCAgICAgICAgICAgICAgICBzcnZfaWQsXHJcblx0ICAgICAgICAgICAgICAgIHNoYXJlX2lkLFxyXG5cdCAgICAgICAgICAgICAgICBpdGVtX25hbWUpO1xyXG5cdCAgICB9XHJcblx0fSxcclxuXHJcblx0cmVsYXBjZUZhY2VJY29uVGFnOiBmdW5jdGlvbih0ZXh0KSB7XHJcblx0XHR2YXIgcGF0dCA9IC8oIylcXGQrL2c7XHJcblx0XHR2YXIgcmVzdWx0ID0gbnVsbDtcclxuXHRcdHdoaWxlKChyZXN1bHQgPSBwYXR0LmV4ZWModGV4dCkpICE9IG51bGwpIHtcclxuXHRcdFx0dmFyIGZhY2VfaWQgPSByZXN1bHRbMF0uc2xpY2UoMSwgcmVzdWx0WzBdLmxlbmd0aCk7XHJcblx0XHRcdHZhciBmYWNlX2NmZyA9IENvbmZpZy5mYWNlX2RhdGEuZGF0YV9iaWFvcWluZ1tmYWNlX2lkXTtcclxuXHRcdFx0dmFyIHJlcGxhY2Vfc3RyID0gXCJcIjtcclxuXHRcdFx0aWYgKGZhY2VfY2ZnKVxyXG5cdFx0XHRcdHJlcGxhY2Vfc3RyID0gY2MuanMuZm9ybWF0U3RyKFwiPGltZyBzcmM9J2Vtb2ppJyBlbW9qaT0nJXMnLz5cIiwgZmFjZV9jZmcubmFtZSk7XHJcblx0XHRcdHRleHQgPSB0ZXh0LnJlcGxhY2UobmV3IFJlZ0V4cChyZXN1bHRbMF0sICdpJyksIHJlcGxhY2Vfc3RyKVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRleHQ7XHJcblx0fSxcclxuXHJcblx0YW5hbHl6ZU1lc3NhZ2U6IGZ1bmN0aW9uKG1lc3NhZ2UpIHtcclxuXHRcdHZhciBwYXR0ID0gLyhzcmM9KS9nO1xyXG5cdFx0dmFyIHJlc3VsdCA9IG51bGw7XHJcblx0XHR3aGlsZSgocmVzdWx0ID0gcGF0dC5leGVjKG1lc3NhZ2UpKSAhPSBudWxsKSB7XHJcblx0XHRcdG1lc3NhZ2UgKz0gXCIqKlwiO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBtZXNzYWdlO1xyXG5cdH0sXHJcblxyXG5cdGdldEltYWdlczogZnVuY3Rpb24obWVzc2FnZSkge1xyXG5cdFx0dmFyIGltZ19pZHMgPSBbXTtcclxuXHRcdHZhciBlbW9qaXMgPSBtZXNzYWdlLm1hdGNoKC9zcmM9JyhcXFMqKScvZylcclxuXHRcdGZvciAodmFyIGVtb2ppX2kgaW4gZW1vamlzKSB7XHJcblx0XHRcdHZhciBlbW9qaSA9IGVtb2ppc1tlbW9qaV9pXTtcclxuXHRcdFx0dmFyIGVtb2ppX2luZm8gPSBlbW9qaS5tYXRjaCgvc3JjPScoXFxTKiknLyk7XHJcblx0XHRcdGlmIChlbW9qaV9pbmZvWzFdICE9PSBcImVtb2ppXCIpXHJcblx0XHRcdFx0aW1nX2lkcy5wdXNoKGVtb2ppX2luZm9bMV0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBpbWdfaWRzO1xyXG5cdH0sXHJcblxyXG5cdGdldEVtb2ppczogZnVuY3Rpb24obWVzc2FnZSkge1xyXG5cdFx0dmFyIGVtb2ppX2lkcyA9IFtdO1xyXG5cdFx0dmFyIGVtb2ppcyA9IG1lc3NhZ2UubWF0Y2goL2Vtb2ppPScoXFxTKiknL2cpXHJcblx0XHRmb3IgKHZhciBlbW9qaV9pIGluIGVtb2ppcykge1xyXG5cdFx0XHR2YXIgZW1vamkgPSBlbW9qaXNbZW1vamlfaV07XHJcblx0XHRcdHZhciBlbW9qaV9pbmZvID0gZW1vamkubWF0Y2goL2Vtb2ppPScoXFxTKiknLyk7XHJcblx0XHRcdGVtb2ppX2lkcy5wdXNoKGVtb2ppX2luZm9bMV0pO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBlbW9qaV9pZHM7XHJcblx0fSxcclxuXHJcbiAgICBoYW5kbGUxMjQxODogZnVuY3Rpb24oZGF0YSkge1xyXG5cclxuICAgIH0sXHJcblxyXG5cdGhhbmRsZTEyNDE5OiBmdW5jdGlvbihkYXRhKSB7XHJcblxyXG5cdH0sXHJcblxyXG5cdGhhbmRsZTExMjIxOiBmdW5jdGlvbihkYXRhKSB7XHJcblxyXG5cdH0sXHJcblxyXG5cdGhhbmRsZTExMjIyOiBmdW5jdGlvbihkYXRhKSB7XHJcblxyXG5cdH0sXHJcblxyXG5cdHNlbmQxMDUzNTogZnVuY3Rpb24odHlwZSwgaWQsIHBhcnRuZXJfaWQsIGNvZGUpIHtcclxuXHQgICAgdmFyIHByb3RvY2FsID0ge31cclxuXHQgICAgcHJvdG9jYWwudHlwZSA9IHR5cGU7XHJcblx0ICAgIHByb3RvY2FsLmlkID0gaWQ7XHJcblx0ICAgIHByb3RvY2FsLnBhcnRuZXJfaWQgPSBwYXJ0bmVyX2lkO1xyXG5cdCAgICBwcm90b2NhbC5jb2RlID0gY29kZTtcclxuXHQgICAgdGhpcy5TZW5kUHJvdG9jYWwoMTA1MzUsIHByb3RvY2FsKTtcdFxyXG5cdH0sXHJcblxyXG5cdGhhbmRsZTEwNTM1OiBmdW5jdGlvbihkYXRhKSB7XHJcblx0ICAgIGlmIChkYXRhLmZsYWcgPT0gMSkge1xyXG5cdCAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQuZmlyZShDaGF0RXZlbnQuQ0hBVF9TRUxFQ1RfSVRFTSwgZGF0YSk7XHJcblx0ICAgIH0gZWxzZSB7XHJcblx0ICAgICAgICBtZXNzYWdlKGRhdGEubXNnKVxyXG5cdCAgICB9XHJcblx0fSxcclxuXHJcblx0Ly8g6I635Y+W54mp5ZOBVGlwc1xyXG5cdHNlbmRlcjEwNTM2OiBmdW5jdGlvbihzaGFyZV9pZCwgc3J2X2lkKSB7XHJcblx0ICAgIGlmICghc2hhcmVfaWQpIHJldHVybjtcclxuXHQgICAgdmFyIHByb3RvY2FsID0ge307XHJcblx0ICAgIHByb3RvY2FsLnNydl9pZCA9IHNydl9pZDtcclxuXHQgICAgcHJvdG9jYWwuaWQgPSBzaGFyZV9pZDtcclxuXHQgICAgdGhpcy5TZW5kUHJvdG9jYWwoMTA1MzYsIHByb3RvY2FsKTtcdFx0XHJcblx0fSxcclxuXHJcblx0Ly8g5pi+56S654mp5ZOBVGlwc1xyXG5cdGhhbmRsZTEwNTM2OiBmdW5jdGlvbihkYXRhKSB7XHJcblx0XHRpZiAoZGF0YSkge1xyXG5cdFx0XHR2YXIgaXRlbV92byA9IG5ldyBHb29kc1ZvKCk7XHJcblx0XHRcdGl0ZW1fdm8uc2V0QmFzZUlkKGRhdGEuYmFzZV9pZCk7XHJcblx0XHRcdGl0ZW1fdm8uaW5pdEF0dHJEYXRhKGRhdGEpO1xyXG5cdFx0XHRpZiAoIWl0ZW1fdm8uY29uZmlnKSB7XHJcblx0XHRcdFx0bWVzc2FnZShVdGlscy5USTE4TihcIuaVsOaNruW8guW4uFwiKSk7XHJcblx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdH1cclxuXHJcblx0XHQgICAgaWYgKEJhY2tQYWNrQ29uc3QuY2hlY2tJc0VxdWlwKGl0ZW1fdm8uY29uZmlnLnR5cGUpKSB7XHJcblx0XHQgICAgICAgIEhlcm9Db250cm9sbGVyLmdldEluc3RhbmNlKCkub3BlbkVxdWlwVGlwcyh0cnVlLCBpdGVtX3ZvLCBQYXJ0bmVyQ29uc3QuRXFtVGlwcy5vdGhlcik7XHJcblx0XHQgICAgfSBlbHNlIGlmIChCYWNrUGFja0NvbnN0LmNoZWNrSXNBcnRpZmFjdChpdGVtX3ZvLmNvbmZpZy50eXBlKSkge1xyXG5cdFx0ICAgICAgICBIZXJvQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLm9wZW5BcnRpZmFjdFRpcHNXaW5kb3codHJ1ZSwgaXRlbV92bywgUGFydG5lckNvbnN0LkFydGlmYWN0VGlwcy5ub3JtYWwpO1xyXG5cdFx0ICAgIH0gZWxzZSB7XHJcblx0XHRcdFx0dmFyIFRpcHNDb250cm9sbGVyID0gcmVxdWlyZShcInRpcHNfY29udHJvbGxlclwiKTtcclxuXHRcdCAgICAgICAgVGlwc0NvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5zaG93R29vZHNUaXBzKGl0ZW1fdm8uY29uZmlnKTtcclxuXHRcdCAgICB9XHJcblx0XHR9XHJcblx0fSxcclxuXHJcbn0pIl19
|