difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/login/view/enter_panel.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, 'c66eczs8r5P96fOzGCMI9xt', 'enter_panel');
// Scripts/mod/login/view/enter_panel.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: shiraho@syg.com(必填, 创建模块的人员)
// @description:
//      游戏登录界面
// <br/>Create: new Date().toISOString()
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var LoginController = require("login_controller");
 
var LoginEvent = require("login_event");
 
var LoaderManager = require("loadermanager");
 
var EnterPanel = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("login", "enter_panel");
    this.model = LoginController.getInstance().getModel();
    this.ctrl = LoginController.getInstance();
  },
  initPanel: function initPanel() {
    var container = this.root_wnd.getChildByName("container");
    this.btn_enter = container.getChildByName("btn_enter");
    this.btn_notice = this.seekChild("btn_notice");
    this.logo = container.getChildByName("logo");
    this.btn_login_server = container.getChildByName("btn_login_server");
    this.btn_user_center = this.seekChild("btn_user_center");
    this.txt_cur_server = this.btn_login_server.getChildByName("txt_cur_server").getComponent(cc.Label);
    this.icon_state_sp = this.btn_login_server.getChildByName("icon_state").getComponent(cc.Sprite);
    this.stateIcon_nd = this.btn_login_server.getChildByName("stateIcon");
    this.usert_account_eb = this.seekChild("usert_account", cc.EditBox);
 
    if (PLATFORM_TYPR == "WX_SDK") {
      this.usert_account_eb.node.active = true;
    } else {
      this.usert_account_eb.node.active = false;
    } // 加载log,这里也是需要根据包体去判断
    // LoaderManager.getInstance().loadRes("res/login/app/txt_cn_logo.png", (function (res_object) {
    //     var frame = this.logo.addComponent(cc.Sprite);
    //     frame.spriteFrame = res_object;
    //     // this.logo.getComponent(cc.Sprite).spriteFrame = res_object;
    // }).bind(this));
    // this.loadRes(PathTool.getUIIconPath("login", "txt_cn_logo"), function(sf_obj){
    //     var frame = this.logo.addComponent(cc.Sprite);
    //     frame.spriteFrame = sf_obj;
    // }.bind(this));
 
 
    var info = LoginController.getInstance().getModel().getLoginInfo();
 
    if (info.srv_name) {
      this.setMainInfo();
    } //深海融合特殊处理
 
 
    if (PLATFORM_TYPR == "SH_RH") {
      this.btn_user_center.active = false;
      this.btn_notice.y = 1220;
    }
  },
  registerEvent: function registerEvent() {
    var self = this;
    this.btn_login_server.on("touchend", function () {
      // -- 选择打开服务器面板的时候,优先判断全部服务器列表是否加载完成,如果服务器列表没有加载完成,这里做一些判断  E60557
      if (self.model.getServerList().length <= 0) {
        message("服务器列表正在加载中...");
        return;
      }
 
      this.ctrl.openServerList(true, self.model.getServerList(), function () {
        self.btn_enter.active = true;
        self.btn_login_server.active = true;
      });
      this.btn_enter.active = false;
      this.btn_login_server.active = false;
    }, this);
    this.btn_enter.on(cc.Node.EventType.TOUCH_END, function (event) {
      if (this.downtime != null && this.downtime == true) {
        message(Utils.TI18N("停服维护中"));
        this.ctrl.getModel().checkReloadServerData();
        return;
      }
 
      if (USE_SDK == true && PLATFORM_TYPR == "SH_SDK") {
        SDK.dataPlacement(80000);
      }
 
      Utils.playButtonSound(1);
      LoginController.getInstance().getModel().setIsSocket(false);
 
      if (IS_SUBMIT || PLATFORM_TYPR == "SH_RH") {
        SDK.sdkSubmitUserData(1);
      }
 
      LoginController.getInstance().connectServer();
 
      if (IS_RESET == true) {
        IS_RESET = false;
        LoginController.getInstance().openLoginWindow(false);
      }
    }, this);
    this.btn_notice.on(cc.Node.EventType.TOUCH_END, function (event) {
      require("notice_controller").getInstance().openNocticeWindow(true);
    }, this);
    gcore.GlobalEvent.bind(LoginEvent.LOGIN_EVENT_CUR_SERVER_UPDATE, function () {
      this.setMainInfo();
    }.bind(this));
  },
  onShow: function onShow() {
    if (USE_SDK == true && PLATFORM_TYPR == "SH_SDK") {
      SDK.dataPlacement(75000);
    }
  },
  onHide: function onHide() {},
  setMainInfo: function setMainInfo() {
    var data = LoginController.getInstance().getModel().getLoginInfo();
    this.txt_cur_server.string = data.srv_name;
    this.stateIcon_nd.active = true;
    var path;
    this.downtime = false;
 
    if (data.is_close) {
      this.downtime = true;
      path = PathTool.getUIIconPath("login2", "login2_1002");
    } else {
      if (data.is_new) {
        path = PathTool.getUIIconPath("login2", "login2_1000");
      } else {
        path = PathTool.getUIIconPath("login2", "login2_1001"); //红色不推荐
 
        this.stateIcon_nd.active = false;
      }
    }
 
    this.loadRes(path, function (res) {
      this.icon_state_sp.spriteFrame = res;
    }.bind(this));
  },
  onDelete: function onDelete() {
    LoaderManager.getInstance().deleteRes("res/login/app/txt_cn_logo");
  },
  getTestAccount: function getTestAccount() {
    if (this.usert_account_eb) return this.usert_account_eb.string;
  }
});
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxsb2dpblxcdmlld1xcZW50ZXJfcGFuZWwuanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiTG9naW5Db250cm9sbGVyIiwiTG9naW5FdmVudCIsIkxvYWRlck1hbmFnZXIiLCJFbnRlclBhbmVsIiwiY2MiLCJDbGFzcyIsIkJhc2VQYW5lbCIsImN0b3IiLCJwcmVmYWJQYXRoIiwiZ2V0UHJlZmFiUGF0aCIsIm1vZGVsIiwiZ2V0SW5zdGFuY2UiLCJnZXRNb2RlbCIsImN0cmwiLCJpbml0UGFuZWwiLCJjb250YWluZXIiLCJyb290X3duZCIsImdldENoaWxkQnlOYW1lIiwiYnRuX2VudGVyIiwiYnRuX25vdGljZSIsInNlZWtDaGlsZCIsImxvZ28iLCJidG5fbG9naW5fc2VydmVyIiwiYnRuX3VzZXJfY2VudGVyIiwidHh0X2N1cl9zZXJ2ZXIiLCJnZXRDb21wb25lbnQiLCJMYWJlbCIsImljb25fc3RhdGVfc3AiLCJTcHJpdGUiLCJzdGF0ZUljb25fbmQiLCJ1c2VydF9hY2NvdW50X2ViIiwiRWRpdEJveCIsIlBMQVRGT1JNX1RZUFIiLCJub2RlIiwiYWN0aXZlIiwiaW5mbyIsImdldExvZ2luSW5mbyIsInNydl9uYW1lIiwic2V0TWFpbkluZm8iLCJ5IiwicmVnaXN0ZXJFdmVudCIsInNlbGYiLCJvbiIsImdldFNlcnZlckxpc3QiLCJsZW5ndGgiLCJtZXNzYWdlIiwib3BlblNlcnZlckxpc3QiLCJOb2RlIiwiRXZlbnRUeXBlIiwiVE9VQ0hfRU5EIiwiZXZlbnQiLCJkb3dudGltZSIsIlV0aWxzIiwiVEkxOE4iLCJjaGVja1JlbG9hZFNlcnZlckRhdGEiLCJVU0VfU0RLIiwiU0RLIiwiZGF0YVBsYWNlbWVudCIsInBsYXlCdXR0b25Tb3VuZCIsInNldElzU29ja2V0IiwiSVNfU1VCTUlUIiwic2RrU3VibWl0VXNlckRhdGEiLCJjb25uZWN0U2VydmVyIiwiSVNfUkVTRVQiLCJvcGVuTG9naW5XaW5kb3ciLCJvcGVuTm9jdGljZVdpbmRvdyIsImdjb3JlIiwiR2xvYmFsRXZlbnQiLCJiaW5kIiwiTE9HSU5fRVZFTlRfQ1VSX1NFUlZFUl9VUERBVEUiLCJvblNob3ciLCJvbkhpZGUiLCJkYXRhIiwic3RyaW5nIiwicGF0aCIsImlzX2Nsb3NlIiwiZ2V0VUlJY29uUGF0aCIsImlzX25ldyIsImxvYWRSZXMiLCJyZXMiLCJzcHJpdGVGcmFtZSIsIm9uRGVsZXRlIiwiZGVsZXRlUmVzIiwiZ2V0VGVzdEFjY291bnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsUUFBUSxHQUFHQyxPQUFPLENBQUMsVUFBRCxDQUF0Qjs7QUFDQSxJQUFJQyxlQUFlLEdBQUdELE9BQU8sQ0FBQyxrQkFBRCxDQUE3Qjs7QUFDQSxJQUFJRSxVQUFVLEdBQUdGLE9BQU8sQ0FBQyxhQUFELENBQXhCOztBQUNBLElBQUlHLGFBQWEsR0FBR0gsT0FBTyxDQUFDLGVBQUQsQ0FBM0I7O0FBRUEsSUFBSUksVUFBVSxHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUN0QixhQUFTQyxTQURhO0FBRXRCQyxFQUFBQSxJQUFJLEVBQUMsZ0JBQVU7QUFDWCxTQUFLQyxVQUFMLEdBQWtCVixRQUFRLENBQUNXLGFBQVQsQ0FBdUIsT0FBdkIsRUFBZ0MsYUFBaEMsQ0FBbEI7QUFDQSxTQUFLQyxLQUFMLEdBQWFWLGVBQWUsQ0FBQ1csV0FBaEIsR0FBOEJDLFFBQTlCLEVBQWI7QUFDQSxTQUFLQyxJQUFMLEdBQVliLGVBQWUsQ0FBQ1csV0FBaEIsRUFBWjtBQUNILEdBTnFCO0FBUXRCRyxFQUFBQSxTQUFTLEVBQUUscUJBQVk7QUFDbkIsUUFBSUMsU0FBUyxHQUFHLEtBQUtDLFFBQUwsQ0FBY0MsY0FBZCxDQUE2QixXQUE3QixDQUFoQjtBQUVBLFNBQUtDLFNBQUwsR0FBaUJILFNBQVMsQ0FBQ0UsY0FBVixDQUF5QixXQUF6QixDQUFqQjtBQUNBLFNBQUtFLFVB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LFVBQVNLLEdBQVQsRUFBYTtBQUMzQixXQUFLcEQsYUFBTCxDQUFtQnFELFdBQW5CLEdBQWlDRCxHQUFqQztBQUNILEtBRmlCLENBRWhCWCxJQUZnQixDQUVYLElBRlcsQ0FBbEI7QUFHSCxHQTNIcUI7QUE0SHRCYSxFQUFBQSxRQUFRLEVBQUUsb0JBQVk7QUFDbEIvRSxJQUFBQSxhQUFhLENBQUNTLFdBQWQsR0FBNEJ1RSxTQUE1QixDQUFzQywyQkFBdEM7QUFDSCxHQTlIcUI7QUFnSXRCQyxFQUFBQSxjQUFjLEVBQUUsMEJBQVc7QUFDdkIsUUFBSSxLQUFLckQsZ0JBQVQsRUFDSSxPQUFPLEtBQUtBLGdCQUFMLENBQXNCMkMsTUFBN0I7QUFDUDtBQW5JcUIsQ0FBVCxDQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHNoaXJhaG9Ac3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICAg5ri45oiP55m75b2V55WM6Z2iXG4vLyA8YnIvPkNyZWF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIFBhdGhUb29sID0gcmVxdWlyZShcInBhdGh0b29sXCIpO1xudmFyIExvZ2luQ29udHJvbGxlciA9IHJlcXVpcmUoXCJsb2dpbl9jb250cm9sbGVyXCIpO1xudmFyIExvZ2luRXZlbnQgPSByZXF1aXJlKFwibG9naW5fZXZlbnRcIik7XG52YXIgTG9hZGVyTWFuYWdlciA9IHJlcXVpcmUoXCJsb2FkZXJtYW5hZ2VyXCIpO1xuXG52YXIgRW50ZXJQYW5lbCA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXG4gICAgY3RvcjpmdW5jdGlvbigpe1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwibG9naW5cIiwgXCJlbnRlcl9wYW5lbFwiKTtcbiAgICAgICAgdGhpcy5tb2RlbCA9IExvZ2luQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmdldE1vZGVsKClcbiAgICAgICAgdGhpcy5jdHJsID0gTG9naW5Db250cm9sbGVyLmdldEluc3RhbmNlKClcbiAgICB9LFxuXG4gICAgaW5pdFBhbmVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLnJvb3Rfd25kLmdldENoaWxkQnlOYW1lKFwiY29udGFpbmVyXCIpO1xuXG4gICAgICAgIHRoaXMuYnRuX2VudGVyID0gY29udGFpbmVyLmdldENoaWxkQnlOYW1lKFwiYnRuX2VudGVyXCIpO1xuICAgICAgICB0aGlzLmJ0bl9ub3RpY2UgPSB0aGlzLnNlZWtDaGlsZChcImJ0bl9ub3RpY2VcIik7XG4gICAgICAgIHRoaXMubG9nbyA9IGNvbnRhaW5lci5nZXRDaGlsZEJ5TmFtZShcImxvZ29cIik7XG4gICAgICAgIHRoaXMuYnRuX2xvZ2luX3NlcnZlciA9IGNvbnRhaW5lci5nZXRDaGlsZEJ5TmFtZShcImJ0bl9sb2dpbl9zZXJ2ZXJcIik7XG4gICAgICAgIHRoaXMuYnRuX3VzZXJfY2VudGVyID0gdGhpcy5zZWVrQ2hpbGQoXCJidG5fdXNlcl9jZW50ZXJcIik7XG4gICAgICAgIHRoaXMudHh0X2N1cl9zZXJ2ZXIgPSB0aGlzLmJ0bl9sb2dpbl9zZXJ2ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJ0eHRfY3VyX3NlcnZlclwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLmljb25fc3RhdGVfc3AgPSAgdGhpcy5idG5fbG9naW5fc2VydmVyLmdldENoaWxkQnlOYW1lKFwiaWNvbl9zdGF0ZVwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcbiAgICAgICAgdGhpcy5zdGF0ZUljb25fbmQgPSB0aGlzLmJ0bl9sb2dpbl9zZXJ2ZXIuZ2V0Q2hpbGRCeU5hbWUoXCJzdGF0ZUljb25cIik7XG4gICAgICAgIHRoaXMudXNlcnRfYWNjb3VudF9lYiA9IHRoaXMuc2Vla0NoaWxkKFwidXNlcnRfYWNjb3VudFwiLCBjYy5FZGl0Qm94KTtcblxuICAgICAgICBpZiAoUExBVEZPUk1fVFlQUiA9PSBcIldYX1NES1wiKSB7XG4gICAgICAgICAgICB0aGlzLnVzZXJ0X2FjY291bnRfZWIubm9kZS5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51c2VydF9hY2NvdW50X2ViLm5vZGUuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDliqDovb1sb2cs6L+Z6YeM5Lmf5piv6ZyA6KaB5qC55o2u5YyF5L2T5Y675Yik5patXG4gICAgICAgIC8vIExvYWRlck1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5sb2FkUmVzKFwicmVzL2xvZ2luL2FwcC90eHRfY25fbG9nby5wbmdcIiwgKGZ1bmN0aW9uIChyZXNfb2JqZWN0KSB7XG4gICAgICAgIC8vICAgICB2YXIgZnJhbWUgPSB0aGlzLmxvZ28uYWRkQ29tcG9uZW50KGNjLlNwcml0ZSk7XG4gICAgICAgIC8vICAgICBmcmFtZS5zcHJpdGVGcmFtZSA9IHJlc19vYmplY3Q7XG4gICAgICAgIC8vICAgICAvLyB0aGlzLmxvZ28uZ2V0Q29tcG9uZW50KGNjLlNwcml0ZSkuc3ByaXRlRnJhbWUgPSByZXNfb2JqZWN0O1xuICAgICAgICAvLyB9KS5iaW5kKHRoaXMpKTtcbiAgICAgICAgLy8gdGhpcy5sb2FkUmVzKFBhdGhUb29sLmdldFVJSWNvblBhdGgoXCJsb2dpblwiLCBcInR4dF9jbl9sb2dvXCIpLCBmdW5jdGlvbihzZl9vYmope1xuICAgICAgICAvLyAgICAgdmFyIGZyYW1lID0gdGhpcy5sb2dvLmFkZENvbXBvbmVudChjYy5TcHJpdGUpO1xuICAgICAgICAvLyAgICAgZnJhbWUuc3ByaXRlRnJhbWUgPSBzZl9vYmo7XG4gICAgICAgIC8vIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIGxldCBpbmZvID0gTG9naW5Db250cm9sbGVyLmdldEluc3RhbmNlKCkuZ2V0TW9kZWwoKS5nZXRMb2dpbkluZm8oKVxuICAgICAgICBpZihpbmZvLnNydl9uYW1lKXtcbiAgICAgICAgICAgIHRoaXMuc2V0TWFpbkluZm8oKVxuICAgICAgICB9XG5cbiAgICAgICAgLy/mt7Hmtbfono3lkIjnibnmrorlpITnkIZcbiAgICAgICAgaWYoUExBVEZPUk1fVFlQUiA9PSBcIlNIX1JIXCIpe1xuICAgICAgICAgICAgdGhpcy5idG5fdXNlcl9jZW50ZXIuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmJ0bl9ub3RpY2UueSA9IDEyMjA7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgcmVnaXN0ZXJFdmVudDogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgc2VsZiA9IHRoaXNcbiAgICAgICAgdGhpcy5idG5fbG9naW5fc2VydmVyLm9uKFwidG91Y2hlbmRcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgLy8gLS0g6YCJ5oup5omT5byA5pyN5Yqh5Zmo6Z2i5p2/55qE5pe25YCZLOS8mOWFiOWIpOaWreWFqOmDqOacjeWKoeWZqOWIl+ihqOaYr+WQpuWKoOi9veWujOaIkCzlpoLmnpzmnI3liqHlmajliJfooajmsqHmnInliqDovb3lrozmiJAs6L+Z6YeM5YGa5LiA5Lqb5Yik5patICBFNjA1NTdcblx0ICAgIFx0aWYgKHNlbGYubW9kZWwuZ2V0U2VydmVyTGlzdCgpLmxlbmd0aDw9IDAgKXtcblx0ICAgIFx0XHRtZXNzYWdlKFwi5pyN5Yqh5Zmo5YiX6KGo5q2j5Zyo5Yqg6L295LitLi4uXCIpXG5cdCAgICBcdFx0cmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY3RybC5vcGVuU2VydmVyTGlzdCh0cnVlLHNlbGYubW9kZWwuZ2V0U2VydmVyTGlzdCgpLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICAgICAgc2VsZi5idG5fZW50ZXIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzZWxmLmJ0bl9sb2dpbl9zZXJ2ZXIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLmJ0bl9lbnRlci5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYnRuX2xvZ2luX3NlcnZlci5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSx0aGlzKSBcbiAgICAgICAgdGhpcy5idG5fZW50ZXIub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmKHRoaXMuZG93bnRpbWUgIT0gbnVsbCAmJiB0aGlzLmRvd250aW1lID09IHRydWUpe1xuICAgICAgICAgICAgICAgIG1lc3NhZ2UoVXRpbHMuVEkxOE4oXCLlgZzmnI3nu7TmiqTkuK1cIikpXG4gICAgICAgICAgICAgICAgdGhpcy5jdHJsLmdldE1vZGVsKCkuY2hlY2tSZWxvYWRTZXJ2ZXJEYXRhKClcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmKFVTRV9TREsgPT0gdHJ1ZSAmJiBQTEFURk9STV9UWVBSID09IFwiU0hfU0RLXCIpe1xuICAgICAgICAgICAgICAgIFNESy5kYXRhUGxhY2VtZW50KDgwMDAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgVXRpbHMucGxheUJ1dHRvblNvdW5kKDEpXG4gICAgICAgICAgICBMb2dpbkNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRNb2RlbCgpLnNldElzU29ja2V0KGZhbHNlKTtcbiAgICAgICAgICAgIGlmKElTX1NVQk1JVCB8fCBQTEFURk9STV9UWVBSID09IFwiU0hfUkhcIil7XG4gICAgICAgICAgICAgICAgU0RLLnNka1N1Ym1pdFVzZXJEYXRhKDEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBMb2dpbkNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5jb25uZWN0U2VydmVyKCk7XG4gICAgICAgICAgICBpZihJU19SRVNFVCA9PSB0cnVlKXtcbiAgICAgICAgICAgICAgICBJU19SRVNFVCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIExvZ2luQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLm9wZW5Mb2dpbldpbmRvdyhmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sdGhpcylcbiAgICAgICAgdGhpcy5idG5fbm90aWNlLm9uKGNjLk5vZGUuRXZlbnRUeXBlLlRPVUNIX0VORCwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICByZXF1aXJlKFwibm90aWNlX2NvbnRyb2xsZXJcIikuZ2V0SW5zdGFuY2UoKS5vcGVuTm9jdGljZVdpbmRvdyh0cnVlKTtcbiAgICAgICAgfSx0aGlzKVxuICAgICAgICBnY29yZS5HbG9iYWxFdmVudC5iaW5kKExvZ2luRXZlbnQuTE9HSU5fRVZFTlRfQ1VSX1NFUlZFUl9VUERBVEUsIChmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGhpcy5zZXRNYWluSW5mbygpXG4gICAgICAgIH0pLmJpbmQodGhpcykpO1xuICAgIH0sXG5cbiAgICBvblNob3c6ZnVuY3Rpb24oKXtcbiAgICAgICAgaWYoVVNFX1NESyA9PSB0cnVlICYmIFBMQVRGT1JNX1RZUFIgPT0gXCJTSF9TREtcIil7XG4gICAgICAgICAgICBTREsuZGF0YVBsYWNlbWVudCg3NTAwMCk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XG4gICAgfSxcbiAgICBzZXRNYWluSW5mbygpe1xuICAgICAgICBsZXQgZGF0YSA9IExvZ2luQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmdldE1vZGVsKCkuZ2V0TG9naW5JbmZvKCk7XG4gICAgICAgIHRoaXMudHh0X2N1cl9zZXJ2ZXIuc3RyaW5nID0gZGF0YS5zcnZfbmFtZTtcbiAgICAgICAgdGhpcy5zdGF0ZUljb25fbmQuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgbGV0IHBhdGggO1xuICAgICAgICB0aGlzLmRvd250aW1lID0gZmFsc2U7XG4gICAgICAgIGlmKGRhdGEuaXNfY2xvc2Upe1xuICAgICAgICAgICAgdGhpcy5kb3dudGltZSA9IHRydWU7XG4gICAgICAgICAgICBwYXRoID0gUGF0aFRvb2wuZ2V0VUlJY29uUGF0aChcImxvZ2luMlwiLFwibG9naW4yXzEwMDJcIik7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgaWYoZGF0YS5pc19uZXcpe1xuICAgICAgICAgICAgICAgIHBhdGggPSBQYXRoVG9vbC5nZXRVSUljb25QYXRoKFwibG9naW4yXCIsXCJsb2dpbjJfMTAwMFwiKTtcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIHBhdGggPSBQYXRoVG9vbC5nZXRVSUljb25QYXRoKFwibG9naW4yXCIsXCJsb2dpbjJfMTAwMVwiKTtcbiAgICAgICAgICAgICAgICAvL+e6ouiJsuS4jeaOqOiNkFxuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVJY29uX25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9hZFJlcyhwYXRoLGZ1bmN0aW9uKHJlcyl7XG4gICAgICAgICAgICB0aGlzLmljb25fc3RhdGVfc3Auc3ByaXRlRnJhbWUgPSByZXM7XG4gICAgICAgIH0uYmluZCh0aGlzKSlcbiAgICB9LFxuICAgIG9uRGVsZXRlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIExvYWRlck1hbmFnZXIuZ2V0SW5zdGFuY2UoKS5kZWxldGVSZXMoXCJyZXMvbG9naW4vYXBwL3R4dF9jbl9sb2dvXCIpO1xuICAgIH0sXG5cbiAgICBnZXRUZXN0QWNjb3VudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLnVzZXJ0X2FjY291bnRfZWIpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy51c2VydF9hY2NvdW50X2ViLnN0cmluZztcbiAgICB9LFxufSk7Il19