(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/primus/primus_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, '37b0araJRtEkKK/cygIgYP6', 'primus_controller'); // Scripts/mod/primus/primus_controller.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里填写详细说明,主要填写该模块的功能简要 //
Create: 2019-03-16 10:23:00 // -------------------------------------------------------------------- var PrimusController = cc.Class({ "extends": BaseController, ctor: function ctor() {}, // 初始化配置数据 initConfig: function initConfig() { var PrimusModel = require("primus_model"); this.model = new PrimusModel(); this.model.initConfig(); }, // 返回当前的model getModel: function getModel() { return this.model; }, // 注册监听事件 registerEvents: function registerEvents() {}, // 注册协议接受事件 registerProtocals: function registerProtocals() { // this.RegisterProtocal(1110, this.on1110); this.RegisterProtocal(20700, this.handle20700); //请求玩家挑战次数 this.RegisterProtocal(20701, this.handle20701); //请求挑战位置信息 this.RegisterProtocal(20702, this.handle20702); //请求发起挑战 this.RegisterProtocal(20703, this.handle20703); //请求挑战记录 this.RegisterProtocal(20705, this.handle20705); //请求挑战结束 }, // 请求玩家挑战次数 requestPrimusChallengeCount: function requestPrimusChallengeCount() { var protocal = {}; this.SendProtocal(20700, protocal); }, handle20700: function handle20700(data) { this.model.recordChallengeCount(data); var PrimusEvent = require("primus_event"); gcore.GlobalEvent.fire(PrimusEvent.Updata_Primus_RedPoint); }, // 请求挑战位置信息 sender20701: function sender20701() { var protocal = {}; this.SendProtocal(20701, protocal); }, handle20701: function handle20701(data) { if (data && this.primus_main_window) { this.primus_main_window.setData(data); } }, // 请求发起挑战 sender20702: function sender20702(pos, num) { var protocal = {}; protocal.pos = pos; protocal.num = num; this.SendProtocal(20702, protocal); }, handle20702: function handle20702(data) { message(data.msg); if (data.code == true) { this.openPrimusChallengePanel(false); } }, // 请求挑战记录 sender20703: function sender20703(pos) { var protocal = {}; protocal.pos = pos; this.SendProtocal(20703, protocal); }, handle20703: function handle20703(data) { // -- message(data.msg) this.openPrimusChallengeRecordPanel(true, data); }, // 战斗结果 handle20705: function handle20705(data) { // -- message(data.msg) this.openPrimusChallengeResultWindow(true, data); }, // 打开荣耀神殿主角界面 openPrimusMainWindow: function openPrimusMainWindow(status) { if (status == false) { if (this.primus_main_window != null) { this.primus_main_window.close(); this.primus_main_window = null; } } else { var EsecsiceConst = require("esecsice_const"); var open_data = Config.dailyplay_data.data_exerciseactivity[EsecsiceConst.execsice_index.honourfane]; if (open_data == null) { message(Utils.TI18N("星河神殿数据异常")); return; } var MainuiController = require("mainui_controller"); var bool = MainuiController.getInstance().checkIsOpenByActivate(open_data.activate); if (bool == false) { message(open_data.lock_desc); return; } this.model.is_show_redpoint = false; if (this.primus_main_window == null) { this.primus_main_window = Utils.createClass("primus_main_window", this); } if (this.primus_main_window && this.primus_main_window.isOpen() == false) { this.primus_main_window.open(); } } }, // 打开荣耀神殿挑战界面 openPrimusChallengePanel: function openPrimusChallengePanel(status, data, is_have_title) { if (status == false) { if (this.primus_challenge_panel != null) { this.primus_challenge_panel.close(); this.primus_challenge_panel = null; } } else { if (this.primus_challenge_panel == null) { this.primus_challenge_panel = Utils.createClass("primus_challenge_window", this); if (this.primus_challenge_panel && this.primus_challenge_panel.isOpen() == false) { this.primus_challenge_panel.open([data, is_have_title]); } } } }, // 打开荣耀神殿挑战界面 openPrimusChallengeRecordPanel: function openPrimusChallengeRecordPanel(status, data) { if (status == false) { if (this.primus_challenge_record_panel != null) { this.primus_challenge_record_panel.close(); this.primus_challenge_record_panel = null; } } else { if (this.primus_challenge_record_panel == null) { this.primus_challenge_record_panel = Utils.createClass("primus_challenge_record_window", this); } if (this.primus_challenge_record_panel && this.primus_challenge_record_panel.isOpen() == false) { this.primus_challenge_record_panel.open(data); } } }, // 打开荣耀神殿挑战结果 openPrimusChallengeResultWindow: function openPrimusChallengeResultWindow(status, data) { if (status == false) { if (this.primus_challenge_result_window != null) { this.primus_challenge_result_window.close(); this.primus_challenge_result_window = null; } } else { if (this.primus_challenge_result_window == null) { this.primus_challenge_result_window = Utils.createClass("primus_challenge_result_window", this); } if (this.primus_challenge_result_window && this.primus_challenge_result_window.isOpen() == false) { this.primus_challenge_result_window.open(data); } } }, // 判断是否开启星河神殿 checkIsCanOpenPrimusWindow: function checkIsCanOpenPrimusWindow() { var RoleController = require("role_controller"); var role_vo = RoleController.getInstance().getRoleVo(); var lev = role_vo && role_vo.lev || 0; var limit_lev = Config.primus_data.data_const.open_lev.val; if (lev < limit_lev) { message(cc.js.formatStr(Utils.TI18N("等级达到%s级开启\"星河神殿\"玩法"), limit_lev)); return false; } return true; }, __delete: function __delete() { if (this.model != null) { this.model.DeleteMe(); this.model = null; } } }); module.exports = PrimusController; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxwcmltdXNcXHByaW11c19jb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbIlByaW11c0NvbnRyb2xsZXIiLCJjYyIsIkNsYXNzIiwiQmFzZUNvbnRyb2xsZXIiLCJjdG9yIiwiaW5pdENvbmZpZyIsIlByaW11c01vZGVsIiwicmVxdWlyZSIsIm1vZGVsIiwiZ2V0TW9kZWwiLCJyZWdpc3RlckV2ZW50cyIsInJlZ2lzdGVyUHJvdG9jYWxzIiwiUmVnaXN0ZXJQcm90b2NhbCIsImhhbmRsZTIwNzAwIiwiaGFuZGxlMjA3MDEiLCJoYW5kbGUyMDcwMiIsImhhbmRsZTIwNzAzIiwiaGFuZGxlMjA3MDUiLCJyZXF1ZXN0UHJpbXVzQ2hhbGxlbmdlQ291bnQiLCJwcm90b2NhbCIsIlNlbmRQcm90b2NhbCIsImRhdGEiLCJyZWNvcmRDaGFsbGVuZ2VDb3VudCIsIlByaW11c0V2ZW50IiwiZ2NvcmUiLCJHbG9iYWxFdmVudCIsImZpcmUiLCJVcGRhdGFfUHJpbXVzX1JlZFBvaW50Iiwic2VuZGVyMjA3MDEiLCJwcmltdXNfbWFpbl93aW5kb3ciLCJzZXREYXRhIiwic2VuZGVyMjA3MDIiLCJwb3MiLCJudW0iLCJtZXNzYWdlIiwibXNnIiwiY29kZSIsIm9wZW5QcmltdXNDaGFsbGVuZ2VQYW5lbCIsInNlbmRlcjIwNzAzIiwib3BlblByaW11c0NoYWxsZW5nZVJlY29yZFBhbmVsIiwib3BlblByaW11c0NoYWxsZW5nZVJlc3VsdFdpbmRvdyIsIm9wZW5QcmltdXNNYWluV2luZG93Iiwic3RhdHVzIiwiY2xvc2UiLCJFc2Vjc2ljZUNvbnN0Iiwib3Blbl9kYXRhIiwiQ29uZmlnIiwiZGFpbHlwbGF5X2RhdGEiLCJkYXRhX2V4ZXJjaXNlYWN0aXZpdHkiLCJleGVjc2ljZV9pbmRleCIsImhvbm91cmZhbmUiLCJVdGlscyIsIlRJMThOIiwiTWFpbnVpQ29udHJvbGxlciIsImJvb2wiLCJnZXRJbnN0YW5jZSIsImNoZWNrSXNPcGVuQnlBY3RpdmF0ZSIsImFjdGl2YXRlIiwibG9ja19kZXNjIiwiaXNfc2hvd19yZWRwb2ludCIsImNyZWF0ZUNsYXNzIiwiaXNPcGVuIiwib3BlbiIsImlzX2hhdmVfdGl0bGUiLCJwcmltdXNfY2hhbGxlbmdlX3BhbmVsIiwicHJpbXVzX2NoYWxsZW5nZV9yZWNvcmRfcGFuZWwiLCJwcmltdXNfY2hhbGxlbmdlX3Jlc3VsdF93aW5kb3ciLCJjaGVja0lzQ2FuT3BlblByaW11c1dpbmRvdyIsIlJvbGVDb250cm9sbGVyIiwicm9sZV92byIsImdldFJvbGVWbyIsImxldiIsImxpbWl0X2xldiIsInByaW11c19kYXRhIiwiZGF0YV9jb25zdCIsIm9wZW5fbGV2IiwidmFsIiwianMiLCJmb3JtYXRTdHIiLCJfX2RlbGV0ZSIsIkRlbGV0ZU1lIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxnQkFBZ0IsR0FBR0MsRUFBRSxDQUFDQyxLQUFILENBQVM7QUFDNUIsYUFBU0MsY0FEbUI7QUFFNUJDLEVBQUFBLElBQUksRUFBRSxnQkFBWSxDQUNqQixDQUgyQjtBQUs1QjtBQUNBQyxFQUFBQSxVQUFVLEVBQUUsc0JBQVk7QUFDcEIsUUFBSUMsV0FBVyxHQUFHQyxPQUFPLENBQUMsY0FBRCxDQUF6Qjs7QUFFQSxTQUFLQyxLQUFMLEdBQWEsSUFBSUYsV0FBSixFQUFiO0FBQ0EsU0FBS0UsS0FBTCxDQUFXSCxVQUFYO0FBQ0gsR0FYMkI7QUFhNUI7QUFDQUksRUFBQUEsUUFBUSxFQUFFLG9CQUFZO0FBQ2xCLFdBQU8sS0FBS0QsS0FBWjtBQUNILEdBaEIyQjtBQWtCNUI7QUFDQUUsRUFBQUEsY0FBYyxFQUFFLDBCQUFZLENBQzNCLENBcEIyQjtBQXNCNUI7QUFDQUMsRUFBQUEsaUJBQWlCLEVBQUUsNkJBQVk7QUFDM0I7QUFDQSxTQUFLQyxnQkFBTCxDQUFzQixLQUF0QixFQUE2QixLQUFLQyxXQUFsQyxF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O0FBQ0g7O0FBQ0QsV0FBTyxJQUFQO0FBQ0gsR0EzTDJCO0FBNkw1Qk8sRUFBQUEsUUFBUSxFQUFDLG9CQUFVO0FBQ2YsUUFBRyxLQUFLdkUsS0FBTCxJQUFZLElBQWYsRUFBb0I7QUFDaEIsV0FBS0EsS0FBTCxDQUFXd0UsUUFBWDtBQUNBLFdBQUt4RSxLQUFMLEdBQWEsSUFBYjtBQUNIO0FBQ0o7QUFsTTJCLENBQVQsQ0FBdkI7QUFzTUF5RSxNQUFNLENBQUNDLE9BQVAsR0FBaUJsRixnQkFBakIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiB4eHhAc3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICAg6L+Z6YeM5aGr5YaZ6K+m57uG6K+05piOLOS4u+imgeWhq+WGmeivpeaooeWdl+eahOWKn+iDveeugOimgVxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDMtMTYgMTA6MjM6MDBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUHJpbXVzQ29udHJvbGxlciA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlQ29udHJvbGxlcixcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XG4gICAgfSxcblxuICAgIC8vIOWIneWni+WMlumFjee9ruaVsOaNrlxuICAgIGluaXRDb25maWc6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIFByaW11c01vZGVsID0gcmVxdWlyZShcInByaW11c19tb2RlbFwiKTtcblxuICAgICAgICB0aGlzLm1vZGVsID0gbmV3IFByaW11c01vZGVsKCk7XG4gICAgICAgIHRoaXMubW9kZWwuaW5pdENvbmZpZygpO1xuICAgIH0sXG5cbiAgICAvLyDov5Tlm57lvZPliY3nmoRtb2RlbFxuICAgIGdldE1vZGVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICAgIH0sXG5cbiAgICAvLyDms6jlhoznm5HlkKzkuovku7ZcbiAgICByZWdpc3RlckV2ZW50czogZnVuY3Rpb24gKCkge1xuICAgIH0sXG5cbiAgICAvLyDms6jlhozljY/orq7mjqXlj5fkuovku7ZcbiAgICByZWdpc3RlclByb3RvY2FsczogZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMTExMCwgdGhpcy5vbjExMTApO1xuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjA3MDAsIHRoaXMuaGFuZGxlMjA3MDApICAgICAvL+ivt+axgueOqeWutuaMkeaImOasoeaVsFxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjA3MDEsIHRoaXMuaGFuZGxlMjA3MDEpICAgICAvL+ivt+axguaMkeaImOS9jee9ruS/oeaBr1xuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjA3MDIsIHRoaXMuaGFuZGxlMjA3MDIpICAgICAvL+ivt+axguWPkei1t+aMkeaImFxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjA3MDMsIHRoaXMuaGFuZGxlMjA3MDMpICAgICAvL+ivt+axguaMkeaImOiusOW9lVxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjA3MDUsIHRoaXMuaGFuZGxlMjA3MDUpICAgICAvL+ivt+axguaMkeaImOe7k+adn1xuICAgIH0sXG5cbiAgICAvLyDor7fmsYLnjqnlrrbmjJHmiJjmrKHmlbBcbiAgICByZXF1ZXN0UHJpbXVzQ2hhbGxlbmdlQ291bnQ6ZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIHByb3RvY2FsID17fVxuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgyMDcwMCxwcm90b2NhbCk7XG4gICAgfSxcbiAgICBcbiAgICBoYW5kbGUyMDcwMDpmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgdGhpcy5tb2RlbC5yZWNvcmRDaGFsbGVuZ2VDb3VudChkYXRhKTtcbiAgICAgICAgdmFyIFByaW11c0V2ZW50ID0gcmVxdWlyZShcInByaW11c19ldmVudFwiKTtcbiAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQuZmlyZShQcmltdXNFdmVudC5VcGRhdGFfUHJpbXVzX1JlZFBvaW50KTtcbiAgICB9LFxuXG4gICAgLy8g6K+35rGC5oyR5oiY5L2N572u5L+h5oGvXG4gICAgc2VuZGVyMjA3MDE6ZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIHByb3RvY2FsID17fVxuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgyMDcwMSxwcm90b2NhbClcbiAgICB9LFxuXG4gICAgaGFuZGxlMjA3MDE6ZnVuY3Rpb24oZGF0YSl7XG4gICAgICAgIGlmKGRhdGEgJiYgdGhpcy5wcmltdXNfbWFpbl93aW5kb3cpe1xuICAgICAgICAgICAgdGhpcy5wcmltdXNfbWFpbl93aW5kb3cuc2V0RGF0YShkYXRhKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDor7fmsYLlj5HotbfmjJHmiJhcbiAgICBzZW5kZXIyMDcwMjpmdW5jdGlvbihwb3MsIG51bSl7XG4gICAgICAgIHZhciBwcm90b2NhbCA9e307XG4gICAgICAgIHByb3RvY2FsLnBvcyA9IHBvcztcbiAgICAgICAgcHJvdG9jYWwubnVtID0gbnVtO1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgyMDcwMiwgcHJvdG9jYWwpO1xuICAgIH0sXG5cbiAgICBoYW5kbGUyMDcwMjpmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgbWVzc2FnZShkYXRhLm1zZyk7XG4gICAgICAgIGlmKGRhdGEuY29kZSA9PSB0cnVlKXtcbiAgICAgICAgICAgIHRoaXMub3BlblByaW11c0NoYWxsZW5nZVBhbmVsKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDor7fmsYLmjJHmiJjorrDlvZVcbiAgICBzZW5kZXIyMDcwMzpmdW5jdGlvbihwb3Mpe1xuICAgICAgICB2YXIgcHJvdG9jYWwgPXt9O1xuICAgICAgICBwcm90b2NhbC5wb3MgPSBwb3M7XG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDIwNzAzLCBwcm90b2NhbCk7XG4gICAgfSxcblxuICAgIGhhbmRsZTIwNzAzOmZ1bmN0aW9uKGRhdGEpe1xuICAgICAgICAvLyAtLSBtZXNzYWdlKGRhdGEubXNnKVxuICAgICAgICB0aGlzLm9wZW5QcmltdXNDaGFsbGVuZ2VSZWNvcmRQYW5lbCh0cnVlLCBkYXRhKTtcbiAgICB9LFxuXG4gICAgLy8g5oiY5paX57uT5p6cXG4gICAgaGFuZGxlMjA3MDU6ZnVuY3Rpb24oZGF0YSl7XG4gICAgICAgIC8vIC0tIG1lc3NhZ2UoZGF0YS5tc2cpXG4gICAgICAgIHRoaXMub3BlblByaW11c0NoYWxsZW5nZVJlc3VsdFdpbmRvdyh0cnVlLCBkYXRhKTtcbiAgICB9LFxuXG4gICAgLy8gIOaJk+W8gOiNo+iAgOelnuauv+S4u+inkueVjOmdolxuICAgIG9wZW5QcmltdXNNYWluV2luZG93OmZ1bmN0aW9uKHN0YXR1cyl7XG4gICAgICAgIGlmKHN0YXR1cyA9PSBmYWxzZSl7XG4gICAgICAgICAgICBpZih0aGlzLnByaW11c19tYWluX3dpbmRvdyAhPSBudWxsKXtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW11c19tYWluX3dpbmRvdy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbXVzX21haW5fd2luZG93ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICB2YXIgRXNlY3NpY2VDb25zdCA9IHJlcXVpcmUoXCJlc2Vjc2ljZV9jb25zdFwiKTtcbiAgICAgICAgICAgIHZhciBvcGVuX2RhdGEgPSBDb25maWcuZGFpbHlwbGF5X2RhdGEuZGF0YV9leGVyY2lzZWFjdGl2aXR5W0VzZWNzaWNlQ29uc3QuZXhlY3NpY2VfaW5kZXguaG9ub3VyZmFuZV07XG4gICAgICAgICAgICBpZihvcGVuX2RhdGEgPT0gbnVsbCl7XG4gICAgICAgICAgICAgICAgbWVzc2FnZShVdGlscy5USTE4TihcIuaYn+ays+elnuauv+aVsOaNruW8guW4uFwiKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIE1haW51aUNvbnRyb2xsZXIgPSByZXF1aXJlKFwibWFpbnVpX2NvbnRyb2xsZXJcIik7XG4gICAgICAgICAgICB2YXIgYm9vbCA9IE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5jaGVja0lzT3BlbkJ5QWN0aXZhdGUob3Blbl9kYXRhLmFjdGl2YXRlKTtcbiAgICAgICAgICAgIGlmKGJvb2wgPT0gZmFsc2Upe1xuICAgICAgICAgICAgICAgIG1lc3NhZ2Uob3Blbl9kYXRhLmxvY2tfZGVzYyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5tb2RlbC5pc19zaG93X3JlZHBvaW50ID0gZmFsc2U7XG4gICAgICAgICAgICBpZih0aGlzLnByaW11c19tYWluX3dpbmRvdyA9PSBudWxsKXtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW11c19tYWluX3dpbmRvdyA9IFV0aWxzLmNyZWF0ZUNsYXNzKFwicHJpbXVzX21haW5fd2luZG93XCIsdGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZih0aGlzLnByaW11c19tYWluX3dpbmRvdyAmJiB0aGlzLnByaW11c19tYWluX3dpbmRvdy5pc09wZW4oKSA9PSBmYWxzZSl7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltdXNfbWFpbl93aW5kb3cub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG5cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyAg5omT5byA6I2j6ICA56We5q6/5oyR5oiY55WM6Z2iXG4gICAgb3BlblByaW11c0NoYWxsZW5nZVBhbmVsOmZ1bmN0aW9uKHN0YXR1cywgZGF0YSwgaXNfaGF2ZV90aXRsZSl7XG4gICAgICAgIGlmKHN0YXR1cyA9PSBmYWxzZSl7XG4gICAgICAgICAgICBpZih0aGlzLnByaW11c19jaGFsbGVuZ2VfcGFuZWwhPW51bGwpe1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbXVzX2NoYWxsZW5nZV9wYW5lbC5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbXVzX2NoYWxsZW5nZV9wYW5lbCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgaWYodGhpcy5wcmltdXNfY2hhbGxlbmdlX3BhbmVsID09IG51bGwpe1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbXVzX2NoYWxsZW5nZV9wYW5lbCA9IFV0aWxzLmNyZWF0ZUNsYXNzKFwicHJpbXVzX2NoYWxsZW5nZV93aW5kb3dcIix0aGlzKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLnByaW11c19jaGFsbGVuZ2VfcGFuZWwgJiYgdGhpcy5wcmltdXNfY2hhbGxlbmdlX3BhbmVsLmlzT3BlbigpID09IGZhbHNlKXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmltdXNfY2hhbGxlbmdlX3BhbmVsLm9wZW4oW2RhdGEsIGlzX2hhdmVfdGl0bGVdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyAg5omT5byA6I2j6ICA56We5q6/5oyR5oiY55WM6Z2iXG4gICAgb3BlblByaW11c0NoYWxsZW5nZVJlY29yZFBhbmVsOmZ1bmN0aW9uKHN0YXR1cywgZGF0YSl7XG4gICAgICAgIGlmKHN0YXR1cyA9PSBmYWxzZSl7XG4gICAgICAgICAgICBpZih0aGlzLnByaW11c19jaGFsbGVuZ2VfcmVjb3JkX3BhbmVsIT1udWxsKXtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW11c19jaGFsbGVuZ2VfcmVjb3JkX3BhbmVsLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltdXNfY2hhbGxlbmdlX3JlY29yZF9wYW5lbCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgaWYodGhpcy5wcmltdXNfY2hhbGxlbmdlX3JlY29yZF9wYW5lbCA9PSBudWxsKXtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW11c19jaGFsbGVuZ2VfcmVjb3JkX3BhbmVsID0gVXRpbHMuY3JlYXRlQ2xhc3MoXCJwcmltdXNfY2hhbGxlbmdlX3JlY29yZF93aW5kb3dcIix0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmKHRoaXMucHJpbXVzX2NoYWxsZW5nZV9yZWNvcmRfcGFuZWwgJiYgdGhpcy5wcmltdXNfY2hhbGxlbmdlX3JlY29yZF9wYW5lbC5pc09wZW4oKSA9PSBmYWxzZSl7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltdXNfY2hhbGxlbmdlX3JlY29yZF9wYW5lbC5vcGVuKGRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8gIOaJk+W8gOiNo+iAgOelnuauv+aMkeaImOe7k+aenFxuICAgIG9wZW5QcmltdXNDaGFsbGVuZ2VSZXN1bHRXaW5kb3c6ZnVuY3Rpb24oc3RhdHVzLCBkYXRhKXtcbiAgICAgICAgaWYoc3RhdHVzID09IGZhbHNlKXtcbiAgICAgICAgICAgIGlmKHRoaXMucHJpbXVzX2NoYWxsZW5nZV9yZXN1bHRfd2luZG93IT1udWxsKXtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW11c19jaGFsbGVuZ2VfcmVzdWx0X3dpbmRvdy5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJpbXVzX2NoYWxsZW5nZV9yZXN1bHRfd2luZG93ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBpZih0aGlzLnByaW11c19jaGFsbGVuZ2VfcmVzdWx0X3dpbmRvdyA9PSBudWxsKXtcbiAgICAgICAgICAgICAgICB0aGlzLnByaW11c19jaGFsbGVuZ2VfcmVzdWx0X3dpbmRvdyA9IFV0aWxzLmNyZWF0ZUNsYXNzKFwicHJpbXVzX2NoYWxsZW5nZV9yZXN1bHRfd2luZG93XCIsdGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZih0aGlzLnByaW11c19jaGFsbGVuZ2VfcmVzdWx0X3dpbmRvdyAmJiB0aGlzLnByaW11c19jaGFsbGVuZ2VfcmVzdWx0X3dpbmRvdy5pc09wZW4oKSA9PSBmYWxzZSl7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmltdXNfY2hhbGxlbmdlX3Jlc3VsdF93aW5kb3cub3BlbihkYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8vICDliKTmlq3mmK/lkKblvIDlkK/mmJ/msrPnpZ7mrr9cbiAgICBjaGVja0lzQ2FuT3BlblByaW11c1dpbmRvdzpmdW5jdGlvbiggICl7XG4gICAgICAgIHZhciBSb2xlQ29udHJvbGxlciA9IHJlcXVpcmUoXCJyb2xlX2NvbnRyb2xsZXJcIik7XG4gICAgICAgIHZhciByb2xlX3ZvID0gUm9sZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRSb2xlVm8oKTtcbiAgICAgICAgdmFyIGxldiA9IHJvbGVfdm8gJiYgcm9sZV92by5sZXYgfHwgMDtcbiAgICAgICAgdmFyIGxpbWl0X2xldiA9IENvbmZpZy5wcmltdXNfZGF0YS5kYXRhX2NvbnN0Lm9wZW5fbGV2LnZhbDtcbiAgICAgICAgaWYobGV2IDwgbGltaXRfbGV2KXtcbiAgICAgICAgICAgIG1lc3NhZ2UoY2MuanMuZm9ybWF0U3RyKFV0aWxzLlRJMThOKFwi562J57qn6L6+5YiwJXPnuqflvIDlkK9cXFwi5pif5rKz56We5q6/XFxcIueOqeazlVwiKSwgbGltaXRfbGV2KSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSxcblxuICAgIF9fZGVsZXRlOmZ1bmN0aW9uKCl7XG4gICAgICAgIGlmKHRoaXMubW9kZWwhPW51bGwpe1xuICAgICAgICAgICAgdGhpcy5tb2RlbC5EZWxldGVNZSgpO1xuICAgICAgICAgICAgdGhpcy5tb2RlbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9LFxuXG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBQcmltdXNDb250cm9sbGVyOyJdfQ==