|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/activity/activity_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, '0a0ef13dQdBuLYQG/euicni', 'activity_controller');
|
// Scripts/mod/activity/activity_controller.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: xxx@syg.com(必填, 创建模块的人员)
|
// @description:
|
// 这里填写详细说明,主要填写该模块的功能简要
|
// <br/>Create: 2019-05-06 14:29:17
|
// --------------------------------------------------------------------
|
var GuildbossEvent = require("guildboss_event");
|
|
var MainuiController = require("mainui_controller");
|
|
var BattleConst = require("battle_const");
|
|
var ActivityConst = require("activity_const");
|
|
var MainuiConst = require("mainui_const");
|
|
var ActivityController = cc.Class({
|
"extends": BaseController,
|
ctor: function ctor() {},
|
// 初始化配置数据
|
initConfig: function initConfig() {
|
var ActivityModel = require("activity_model");
|
|
this.model = new ActivityModel();
|
this.model.initConfig();
|
},
|
// 返回当前的model
|
getModel: function getModel() {
|
return this.model;
|
},
|
// 注册监听事件
|
registerEvents: function registerEvents() {
|
if (this.init_role_event == null) {
|
this.init_role_event = gcore.GlobalEvent.bind(EventId.EVT_ROLE_CREATE_SUCCESS, function () {
|
gcore.GlobalEvent.unbind(this.init_role_event);
|
this.init_role_event = null;
|
|
var RoleController = require("role_controller");
|
|
this._roleVo = RoleController.getInstance().getRoleVo();
|
|
if (this._roleVo != null) {
|
if (this.role_assets_event == null) {
|
var RoleEvent = require("role_event");
|
|
this.role_assets_event = this.role_vo.bind(EventId.UPDATE_ROLE_ATTRIBUTE, function (key, value) {
|
if (key == "lev") {
|
this.requestInitProtocal();
|
}
|
}.bind(this));
|
}
|
}
|
}.bind(this));
|
}
|
|
if (!this.re_link_game_event) {
|
this.re_link_game_event = gcore.GlobalEvent.bind(EventId.EVT_RE_LINK_GAME, function () {
|
this.requestInitProtocal();
|
}.bind(this));
|
}
|
},
|
requestInitProtocal: function requestInitProtocal() {
|
// --暂时没用到
|
var config = Config.dailyplay_data.data_limitactivity;
|
|
if (config[2].is_open == 1 && this._roleVo) {
|
if (this._roleVo.lev >= config[2].activate[0][1]) {
|
this.SendProtocal(21322, {});
|
}
|
}
|
},
|
// 注册协议接受事件
|
registerProtocals: function registerProtocals() {
|
this.RegisterProtocal(21322, this.handle21322); // 公会副本双倍时间
|
},
|
handle21322: function handle21322(data) {
|
if (!data) return;
|
|
if (data.code == 0) {
|
this._doubleTime = false;
|
} else if (data.code == 1) {
|
this._doubleTime = true;
|
}
|
|
this._firstComein = this._doubleTime;
|
var limitRed = false;
|
|
var GuildBossController = require("guildboss_controller");
|
|
var base_info = GuildBossController.getInstance().getModel().getBaseInfo();
|
|
if (this._doubleTime == true) {
|
if (base_info && base_info.count) {
|
if (base_info.count > 0) {
|
limitRed = true;
|
}
|
}
|
}
|
|
gcore.GlobalEvent.fire(GuildbossEvent.BossActivityDoubleTime, this._doubleTime);
|
},
|
setFirstComeGuild: function setFirstComeGuild(status) {
|
this._firstComein = status;
|
},
|
getFirstComeGuild: function getFirstComeGuild() {
|
return this._firstComein;
|
},
|
getBossActivityDoubleTime: function getBossActivityDoubleTime() {
|
return this._doubleTime;
|
},
|
openActivityView: function openActivityView(bool) {
|
if (bool == true) {
|
if (!this.activityView) {
|
this.activityView = Utils.createClass("activity_window", this);
|
}
|
|
if (this.activityView && this.activityView.isOpen() == false) {
|
this.activityView.open();
|
}
|
} else {
|
if (this.activityView) {
|
this.activityView.close();
|
this.activityView = null;
|
}
|
}
|
},
|
// 通用报名面板
|
openSignView: function openSignView(value, id, data) {
|
if (value == false) {
|
if (this.activity_sign_view != null) {
|
this.activity_sign_view.close();
|
this.activity_sign_view = null;
|
}
|
} else {
|
if (this.activity_sign_view == null) {
|
this.activity_sign_view = Utils.createClass("activity_sign_window", this);
|
}
|
|
if (this.activity_sign_view && this.activity_sign_view.isOpen() == false) {
|
this.activity_sign_view.open([id, data]);
|
}
|
}
|
},
|
// 进入活动名称(1:萌兽寻宝 2:公会Boss狂欢 3:首席争霸 4:众神战场 5:公会战 6:冠军赛)
|
switchLimitActivityView: function switchLimitActivityView(_type) {
|
if (_type == ActivityConst.limit_index.escort) {
|
MainuiController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.Escort);
|
} else if (_type == ActivityConst.limit_index.union) {
|
if (this.getBossActivityDoubleTime() == false) {
|
message(Utils.TI18N("当前不处于活动时段,请在活动开启后再来哦"));
|
} else {
|
MainuiController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.GuildDun);
|
}
|
} else if (_type == ActivityConst.limit_index.fightFirst) {} else if (_type == ActivityConst.limit_index.allGod) {
|
MainuiController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.Godbattle);
|
} else if (_type == ActivityConst.limit_index.guildwar) {// var is_open = GuildwarController:getInstance():checkIsCanOpenGuildWarWindow();
|
// if(is_open == true){
|
// MainuiController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.GuildWar);;
|
// }
|
} else if (_type == ActivityConst.limit_index.champion) {
|
MainuiController.getInstance().changeMainUIStatus(MainuiConst.btn_index.main_scene, MainuiConst.sub_type.champion_call);
|
} else if (_type == ActivityConst.limit_index.ladder) {// var is_open = LadderController:getInstance():getModel():getLadderOpenStatus();
|
// if(is_open == true){
|
// MainuiController.getInstance().requestOpenBattleRelevanceWindow(BattleConst.Fight_Type.LadderWar)
|
// }
|
}
|
},
|
// 引导使用
|
getActivityRoot: function getActivityRoot() {
|
if (this.activityView) {
|
return this.activityView.root_wnd;
|
}
|
}
|
});
|
module.exports = ActivityController;
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxhY3Rpdml0eVxcYWN0aXZpdHlfY29udHJvbGxlci5qcyJdLCJuYW1lcyI6WyJHdWlsZGJvc3NFdmVudCIsInJlcXVpcmUiLCJNYWludWlDb250cm9sbGVyIiwiQmF0dGxlQ29uc3QiLCJBY3Rpdml0eUNvbnN0IiwiTWFpbnVpQ29uc3QiLCJBY3Rpdml0eUNvbnRyb2xsZXIiLCJjYyIsIkNsYXNzIiwiQmFzZUNvbnRyb2xsZXIiLCJjdG9yIiwiaW5pdENvbmZpZyIsIkFjdGl2aXR5TW9kZWwiLCJtb2RlbCIsImdldE1vZGVsIiwicmVnaXN0ZXJFdmVudHMiLCJpbml0X3JvbGVfZXZlbnQiLCJnY29yZSIsIkdsb2JhbEV2ZW50IiwiYmluZCIsIkV2ZW50SWQiLCJFVlRfUk9MRV9DUkVBVEVfU1VDQ0VTUyIsInVuYmluZCIsIlJvbGVDb250cm9sbGVyIiwiX3JvbGVWbyIsImdldEluc3RhbmNlIiwiZ2V0Um9sZVZvIiwicm9sZV9hc3NldHNfZXZlbnQiLCJSb2xlRXZlbnQiLCJyb2xlX3ZvIiwiVVBEQVRFX1JPTEVfQVRUUklCVVRFIiwia2V5IiwidmFsdWUiLCJyZXF1ZXN0SW5pdFByb3RvY2FsIiwicmVfbGlua19nYW1lX2V2ZW50IiwiRVZUX1JFX0xJTktfR0FNRSIsImNvbmZpZyIsIkNvbmZpZyIsImRhaWx5cGxheV9kYXRhIiwiZGF0YV9saW1pdGFjdGl2aXR5IiwiaXNfb3BlbiIsImxldiIsImFjdGl2YXRlIiwiU2VuZFByb3RvY2FsIiwicmVnaXN0ZXJQcm90b2NhbHMiLCJSZWdpc3RlclByb3RvY2FsIiwiaGFuZGxlMjEzMjIiLCJkYXRhIiwiY29kZSIsIl9kb3VibGVUaW1lIiwiX2ZpcnN0Q29tZWluIiwibGltaXRSZWQiLCJHdWlsZEJvc3NDb250cm9sbGVyIiwiYmFzZV9pbmZvIiwiZ2V0QmFzZUluZm8iLCJjb3VudCIsImZpcmUiLCJCb3NzQWN0aXZpdHlEb3VibGVUaW1lIiwic2V0Rmlyc3RDb21lR3VpbGQiLCJzdGF0dXMiLCJnZXRGaXJzdENvbWVHdWlsZCIsImdldEJvc3NBY3Rpdml0eURvdWJsZVRpbWUiLCJvcGVuQWN0aXZpdHlWaWV3IiwiYm9vbCIsImFjdGl2aXR5VmlldyIsIlV0aWxzIiwiY3JlYXRlQ2xhc3MiLCJpc09wZW4iLCJvcGVuIiwiY2xvc2UiLCJvcGVuU2lnblZpZXciLCJpZCIsImFjdGl2aXR5X3NpZ25fdmlldyIsInN3aXRjaExpbWl0QWN0aXZpdHlWaWV3IiwiX3R5cGUiLCJsaW1pdF9pbmRleCIsImVzY29ydCIsInJlcXVlc3RPcGVuQmF0dGxlUmVsZXZhbmNlV2luZG93IiwiRmlnaHRfVHlwZSIsIkVzY29ydCIsInVuaW9uIiwibWVzc2FnZSIsIlRJMThOIiwiR3VpbGREdW4iLCJmaWdodEZpcnN0IiwiYWxsR29kIiwiR29kYmF0dGxlIiwiZ3VpbGR3YXIiLCJjaGFtcGlvbiIsImNoYW5nZU1haW5VSVN0YXR1cyIsImJ0bl9pbmRleCIsIm1haW5fc2NlbmUiLCJzdWJfdHlwZSIsImNoYW1waW9uX2NhbGwiLCJsYWRkZXIiLCJnZXRBY3Rpdml0eVJvb3QiLCJyb290X3duZCIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsY0FBYyxHQUFHQyxPQUFPLENBQUMsaUJBQUQsQ0FBNUI7O0FBQ0EsSUFBSUMsZ0JBQWdCLEdBQUdELE9BQU8sQ0FBQyxtQkFBRCxDQUE5Qjs7QUFDQSxJQUFJRSxXQUFXLEdBQVdGLE9BQU8sQ0FBQyxjQUFELENBQWpDOztBQUNBLElBQUlHLGFBQWEsR0FBR0gsT0FBTyxDQUFDLGdCQUFELENBQTNCOztBQUNBLElBQUlJLFdBQVcsR0FBR0osT0FBTyxDQUFDLGNBQUQsQ0FBekI7O0FBRUEsSUFBSUssa0JBQWtCLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQzlCLGFBQVNDLGNBRHFCO0FBRTlCQyxFQUFBQSxJQUFJLEVBQUUsZ0JB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YUFBYSxDQUFDdUUsV0FBZCxDQUEwQm1CLE1BQXRDLEVBQTZDLENBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0g7QUFDSixHQTVKNkI7QUE4SjlCO0FBQ0FDLEVBQUFBLGVBQWUsRUFBQywyQkFBVTtBQUN0QixRQUFHLEtBQUsvQixZQUFSLEVBQXFCO0FBQ2pCLGFBQU8sS0FBS0EsWUFBTCxDQUFrQmdDLFFBQXpCO0FBQ0g7QUFDSjtBQW5LNkIsQ0FBVCxDQUF6QjtBQXNLQUMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCNUYsa0JBQWpCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQGF1dGhvcjogeHh4QHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXG4vLyBAZGVzY3JpcHRpb246XG4vLyAgICAgIOi/memHjOWhq+WGmeivpue7huivtOaYjizkuLvopoHloavlhpnor6XmqKHlnZfnmoTlip/og73nroDopoFcbi8vIDxici8+Q3JlYXRlOiAyMDE5LTA1LTA2IDE0OjI5OjE3XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIEd1aWxkYm9zc0V2ZW50ID0gcmVxdWlyZShcImd1aWxkYm9zc19ldmVudFwiKTtcbnZhciBNYWludWlDb250cm9sbGVyID0gcmVxdWlyZShcIm1haW51aV9jb250cm9sbGVyXCIpXG52YXIgQmF0dGxlQ29uc3QgICAgICAgICA9IHJlcXVpcmUoXCJiYXR0bGVfY29uc3RcIik7XG52YXIgQWN0aXZpdHlDb25zdCA9IHJlcXVpcmUoXCJhY3Rpdml0eV9jb25zdFwiKTtcbnZhciBNYWludWlDb25zdCA9IHJlcXVpcmUoXCJtYWludWlfY29uc3RcIik7XG5cbnZhciBBY3Rpdml0eUNvbnRyb2xsZXIgPSBjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogQmFzZUNvbnRyb2xsZXIsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgIH0sXG5cbiAgICAvLyDliJ3lp4vljJbphY3nva7mlbDmja5cbiAgICBpbml0Q29uZmlnOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBBY3Rpdml0eU1vZGVsID0gcmVxdWlyZShcImFjdGl2aXR5X21vZGVsXCIpO1xuXG4gICAgICAgIHRoaXMubW9kZWwgPSBuZXcgQWN0aXZpdHlNb2RlbCgpO1xuICAgICAgICB0aGlzLm1vZGVsLmluaXRDb25maWcoKTtcbiAgICB9LFxuXG4gICAgLy8g6L+U5Zue5b2T5YmN55qEbW9kZWxcbiAgICBnZXRNb2RlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM55uR5ZCs5LqL5Lu2XG4gICAgcmVnaXN0ZXJFdmVudHM6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYodGhpcy5pbml0X3JvbGVfZXZlbnQgPT0gbnVsbCl7XG4gICAgICAgICAgICB0aGlzLmluaXRfcm9sZV9ldmVudCA9IGdjb3JlLkdsb2JhbEV2ZW50LmJpbmQoRXZlbnRJZC5FVlRfUk9MRV9DUkVBVEVfU1VDQ0VTUywgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQudW5iaW5kKHRoaXMuaW5pdF9yb2xlX2V2ZW50KVxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdF9yb2xlX2V2ZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICB2YXIgUm9sZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwicm9sZV9jb250cm9sbGVyXCIpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JvbGVWbyA9IFJvbGVDb250cm9sbGVyLmdldEluc3RhbmNlKCkuZ2V0Um9sZVZvKCk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5fcm9sZVZvIT1udWxsKXtcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5yb2xlX2Fzc2V0c19ldmVudCA9PSBudWxsKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBSb2xlRXZlbnQgPSByZXF1aXJlKFwicm9sZV9ldmVudFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm9sZV9hc3NldHNfZXZlbnQgPSB0aGlzLnJvbGVfdm8uYmluZChFdmVudElkLlVQREFURV9ST0xFX0FUVFJJQlVURSwgZnVuY3Rpb24oa2V5LCB2YWx1ZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoa2V5ID09IFwibGV2XCIpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RJbml0UHJvdG9jYWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpXG4gICAgICAgIH1cblxuXG4gICAgICAgIGlmICghdGhpcy5yZV9saW5rX2dhbWVfZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVfbGlua19nYW1lX2V2ZW50ID0gZ2NvcmUuR2xvYmFsRXZlbnQuYmluZChFdmVudElkLkVWVF9SRV9MSU5LX0dBTUUsIGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0SW5pdFByb3RvY2FsKCk7XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9XG5cbiAgICB9LFxuICAgIHJlcXVlc3RJbml0UHJvdG9jYWwoKXtcbiAgICAgICAgLy8gLS3mmoLml7bmsqHnlKjliLBcbiAgICAgICAgbGV0IGNvbmZpZyA9IENvbmZpZy5kYWlseXBsYXlfZGF0YS5kYXRhX2xpbWl0YWN0aXZpdHlcbiAgICAgICAgaWYoY29uZmlnWzJdLmlzX29wZW4gPT0gMSAmJiB0aGlzLl9yb2xlVm8pe1xuICAgICAgICAgICAgaWYodGhpcy5fcm9sZVZvLmxldiA+PSBjb25maWdbMl0uYWN0aXZhdGVbMF1bMV0pe1xuICAgICAgICAgICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDIxMzIyLCB7fSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAgLy8g5rOo5YaM5Y2P6K6u5o6l5Y+X5LqL5Lu2XG4gICAgcmVnaXN0ZXJQcm90b2NhbHM6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMzIyLCB0aGlzLmhhbmRsZTIxMzIyKSAgIC8vIOWFrOS8muWJr+acrOWPjOWAjeaXtumXtFxuICAgIH0sXG5cbiAgICBoYW5kbGUyMTMyMjpmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgaWYoIWRhdGEpcmV0dXJuO1xuICAgICAgICBpZihkYXRhLmNvZGUgPT0gMCl7XG4gICAgICAgICAgICB0aGlzLl9kb3VibGVUaW1lID0gZmFsc2U7XG4gICAgICAgIH1lbHNlIGlmKGRhdGEuY29kZSA9PSAxKXtcbiAgICAgICAgICAgIHRoaXMuX2RvdWJsZVRpbWUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2ZpcnN0Q29tZWluID0gdGhpcy5fZG91YmxlVGltZTtcbiAgICAgICAgdmFyIGxpbWl0UmVkID0gZmFsc2U7XG4gICAgICAgIHZhciBHdWlsZEJvc3NDb250cm9sbGVyID0gcmVxdWlyZShcImd1aWxkYm9zc19jb250cm9sbGVyXCIpO1xuICAgICAgICB2YXIgYmFzZV9pbmZvID0gR3VpbGRCb3NzQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmdldE1vZGVsKCkuZ2V0QmFzZUluZm8oKTtcblxuICAgICAgICBpZih0aGlzLl9kb3VibGVUaW1lID09IHRydWUpe1xuICAgICAgICAgICAgaWYoYmFzZV9pbmZvICYmIGJhc2VfaW5mby5jb3VudCl7XG4gICAgICAgICAgICAgICAgaWYoYmFzZV9pbmZvLmNvdW50ID4gMCl7XG4gICAgICAgICAgICAgICAgICAgIGxpbWl0UmVkID0gdHJ1ZTsgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LmZpcmUoR3VpbGRib3NzRXZlbnQuQm9zc0FjdGl2aXR5RG91YmxlVGltZSwgdGhpcy5fZG91YmxlVGltZSk7XG4gICAgfSxcblxuICAgIHNldEZpcnN0Q29tZUd1aWxkOmZ1bmN0aW9uKHN0YXR1cyl7XG4gICAgICAgIHRoaXMuX2ZpcnN0Q29tZWluID0gc3RhdHVzO1xuICAgIH0sXG5cbiAgICBnZXRGaXJzdENvbWVHdWlsZDpmdW5jdGlvbigpe1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlyc3RDb21laW47XG4gICAgfSxcblxuICAgIGdldEJvc3NBY3Rpdml0eURvdWJsZVRpbWU6ZnVuY3Rpb24oKXtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RvdWJsZVRpbWU7XG4gICAgfSxcblxuICAgIG9wZW5BY3Rpdml0eVZpZXc6ZnVuY3Rpb24oYm9vbCl7XG4gICAgICAgIGlmKGJvb2wgPT0gdHJ1ZSl7XG4gICAgICAgICAgICBpZighdGhpcy5hY3Rpdml0eVZpZXcpe1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZpdHlWaWV3ID0gVXRpbHMuY3JlYXRlQ2xhc3MoXCJhY3Rpdml0eV93aW5kb3dcIix0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmKHRoaXMuYWN0aXZpdHlWaWV3ICYmIHRoaXMuYWN0aXZpdHlWaWV3LmlzT3BlbigpID09IGZhbHNlKXtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2aXR5Vmlldy5vcGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBpZih0aGlzLmFjdGl2aXR5Vmlldyl7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpdml0eVZpZXcuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2aXR5VmlldyA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8gIOmAmueUqOaKpeWQjemdouadv1xuICAgIG9wZW5TaWduVmlldzpmdW5jdGlvbih2YWx1ZSwgaWQsIGRhdGEpe1xuICAgICAgICBpZih2YWx1ZSA9PSBmYWxzZSl7XG4gICAgICAgICAgICBpZih0aGlzLmFjdGl2aXR5X3NpZ25fdmlldyE9bnVsbCl7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpdml0eV9zaWduX3ZpZXcuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2aXR5X3NpZ25fdmlldyA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgaWYodGhpcy5hY3Rpdml0eV9zaWduX3ZpZXcgPT0gbnVsbCl7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpdml0eV9zaWduX3ZpZXcgPSBVdGlscy5jcmVhdGVDbGFzcyhcImFjdGl2aXR5X3NpZ25fd2luZG93XCIsdGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZih0aGlzLmFjdGl2aXR5X3NpZ25fdmlldyAmJiB0aGlzLmFjdGl2aXR5X3NpZ25fdmlldy5pc09wZW4oKSA9PSBmYWxzZSl7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3Rpdml0eV9zaWduX3ZpZXcub3BlbihbaWQsIGRhdGFdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDov5vlhaXmtLvliqjlkI3np7AoMTrokIzlhb3lr7vlrp0gMjrlhazkvJpCb3Nz54uC5qyiIDM66aaW5bit5LqJ6Zy4IDQ65LyX56We5oiY5Zy6IDU65YWs5Lya5oiYIDY65Yag5Yab6LWbKVxuICAgIHN3aXRjaExpbWl0QWN0aXZpdHlWaWV3OmZ1bmN0aW9uKF90eXBlKXtcbiAgICAgICAgaWYoX3R5cGUgPT0gQWN0aXZpdHlDb25zdC5saW1pdF9pbmRleC5lc2NvcnQpe1xuICAgICAgICAgICAgTWFpbnVpQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLnJlcXVlc3RPcGVuQmF0dGxlUmVsZXZhbmNlV2luZG93KEJhdHRsZUNvbnN0LkZpZ2h0X1R5cGUuRXNjb3J0KTtcbiAgICAgICAgfWVsc2UgaWYoX3R5cGUgPT0gQWN0aXZpdHlDb25zdC5saW1pdF9pbmRleC51bmlvbil7XG4gICAgICAgICAgICBpZih0aGlzLmdldEJvc3NBY3Rpdml0eURvdWJsZVRpbWUoKSA9PSBmYWxzZSl7XG4gICAgICAgICAgICAgICAgbWVzc2FnZShVdGlscy5USTE4TihcIuW9k+WJjeS4jeWkhOS6jua0u+WKqOaXtuaute+8jOivt+WcqOa0u+WKqOW8gOWQr+WQjuWGjeadpeWTplwiKSk7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBNYWludWlDb250cm9sbGVyLmdldEluc3RhbmNlKCkucmVxdWVzdE9wZW5CYXR0bGVSZWxldmFuY2VXaW5kb3coQmF0dGxlQ29uc3QuRmlnaHRfVHlwZS5HdWlsZER1bikgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9ZWxzZSBpZihfdHlwZSA9PSBBY3Rpdml0eUNvbnN0LmxpbWl0X2luZGV4LmZpZ2h0Rmlyc3Qpe1xuICAgICAgICAgICAgXG4gICAgICAgIH1lbHNlIGlmKF90eXBlID09IEFjdGl2aXR5Q29uc3QubGltaXRfaW5kZXguYWxsR29kKXtcbiAgICAgICAgICAgIE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5yZXF1ZXN0T3BlbkJhdHRsZVJlbGV2YW5jZVdpbmRvdyhCYXR0bGVDb25zdC5GaWdodF9UeXBlLkdvZGJhdHRsZSk7XG4gICAgICAgIH1lbHNlIGlmKF90eXBlID09IEFjdGl2aXR5Q29uc3QubGltaXRfaW5kZXguZ3VpbGR3YXIpe1xuICAgICAgICAgICAgLy8gdmFyIGlzX29wZW4gPSBHdWlsZHdhckNvbnRyb2xsZXI6Z2V0SW5zdGFuY2UoKTpjaGVja0lzQ2FuT3Blbkd1aWxkV2FyV2luZG93KCk7XG4gICAgICAgICAgICAvLyBpZihpc19vcGVuID09IHRydWUpe1xuICAgICAgICAgICAgLy8gICAgIE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5yZXF1ZXN0T3BlbkJhdHRsZVJlbGV2YW5jZVdpbmRvdyhCYXR0bGVDb25zdC5GaWdodF9UeXBlLkd1aWxkV2FyKTs7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH1lbHNlIGlmKF90eXBlID09IEFjdGl2aXR5Q29uc3QubGltaXRfaW5kZXguY2hhbXBpb24pe1xuICAgICAgICAgICAgTWFpbnVpQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmNoYW5nZU1haW5VSVN0YXR1cyhNYWludWlDb25zdC5idG5faW5kZXgubWFpbl9zY2VuZSwgTWFpbnVpQ29uc3Quc3ViX3R5cGUuY2hhbXBpb25fY2FsbCk7XG4gICAgICAgIH1lbHNlIGlmKF90eXBlID09IEFjdGl2aXR5Q29uc3QubGltaXRfaW5kZXgubGFkZGVyKXtcbiAgICAgICAgICAgIC8vIHZhciBpc19vcGVuID0gTGFkZGVyQ29udHJvbGxlcjpnZXRJbnN0YW5jZSgpOmdldE1vZGVsKCk6Z2V0TGFkZGVyT3BlblN0YXR1cygpO1xuICAgICAgICAgICAgLy8gaWYoaXNfb3BlbiA9PSB0cnVlKXtcbiAgICAgICAgICAgIC8vICAgICBNYWludWlDb250cm9sbGVyLmdldEluc3RhbmNlKCkucmVxdWVzdE9wZW5CYXR0bGVSZWxldmFuY2VXaW5kb3coQmF0dGxlQ29uc3QuRmlnaHRfVHlwZS5MYWRkZXJXYXIpXG4gICAgICAgICAgICAvLyB9XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8gIOW8leWvvOS9v+eUqFxuICAgIGdldEFjdGl2aXR5Um9vdDpmdW5jdGlvbigpe1xuICAgICAgICBpZih0aGlzLmFjdGl2aXR5Vmlldyl7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVZpZXcucm9vdF93bmQ7XG4gICAgICAgIH1cbiAgICB9LFxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gQWN0aXZpdHlDb250cm9sbGVyOyJdfQ==
|