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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/newfirstcharge/newfirstcharge_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, '966e4GnW1BIsIjuBPIZS+yw', 'newfirstcharge_controller');
// Scripts/mod/newfirstcharge/newfirstcharge_controller.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//      这里填写详细说明,主要填写该模块的功能简要
// <br/>Create: 2019-03-22 11:01:46
// --------------------------------------------------------------------
var NewfirstchargeController = cc.Class({
  "extends": BaseController,
  ctor: function ctor() {},
  // 初始化配置数据
  initConfig: function initConfig() {
    var NewfirstchargeModel = require("newfirstcharge_model");
 
    this.model = new NewfirstchargeModel();
    this.model.initConfig();
  },
  // 返回当前的model
  getModel: function getModel() {
    return this.model;
  },
  // 注册监听事件
  registerEvents: function registerEvents() {},
  // 注册协议接受事件
  registerProtocals: function registerProtocals() {
    this.RegisterProtocal(21012, this.handle21012);
    this.RegisterProtocal(21013, this.handle21013);
    this.RegisterProtocal(21014, this.handle21014);
    this.RegisterProtocal(21015, this.handle21015);
    this.RegisterProtocal(21000, this.handle21000);
    this.RegisterProtocal(21001, this.handle21001);
  },
  openNewFirstChargeView: function openNewFirstChargeView(bool) {
    if (bool == true) {
      var MainuiController = require("mainui_controller");
 
      var MainuiConst = require("mainui_const");
 
      var first_icon = MainuiController.getInstance().getFunctionIconById(MainuiConst.icon.first_charge_new1);
 
      if (first_icon) {
        if (!this.new_first_charge_window) {
          this.new_first_charge_window = Utils.createClass("newfirstcharge1_window", this);
        }
      }
 
      var first_icon1 = MainuiController.getInstance().getFunctionIconById(MainuiConst.icon.first_charge_new);
 
      if (first_icon1) {
        if (!this.new_first_charge_window) {
          this.new_first_charge_window = Utils.createClass("newfirstcharge_window", this);
        }
      }
 
      if (!this.new_first_charge_window) return;
 
      var RoleController = require("role_controller");
 
      var role_vo = RoleController.getInstance().getRoleVo();
      var index = 1;
 
      if (role_vo.vip_exp != 0) {
        index = 2;
      }
 
      if (this.new_first_get_data) {
        // 首充是否可以领取
        var first_status = false;
 
        for (var i = 1; i <= 3; i++) {
          if (this.new_first_get_data[i - 1] && this.new_first_get_data[i - 1].status == 1) {
            first_status = true;
            index = 1;
            break;
          }
        } // 累充是否可以领取
 
 
        var total_status = false;
 
        for (var i = 4; i <= 6; i++) {
          if (this.new_first_get_data[i - 1] && this.new_first_get_data[i - 1].status == 1) {
            total_status = true;
            index = 2;
            break;
          }
        }
 
        if (first_status == true && total_status == true) {
          index = 1;
        }
      }
 
      this.new_first_charge_window.open(index);
    } else {
      if (this.new_first_charge_window) {
        this.new_first_charge_window.close();
        this.new_first_charge_window = null;
      }
    }
  },
  //  信息
  sender21012: function sender21012() {
    this.SendProtocal(21012, {});
  },
  handle21012: function handle21012(data) {
    this.new_first_get_data = data.first_gift; //首充是否可领取的数据
 
    this.model.setFirstBtnStatus(data.first_gift);
 
    var NewFirstChargeEvent = require("newfirstcharge_event");
 
    gcore.GlobalEvent.fire(NewFirstChargeEvent.New_First_Charge_Event, data);
  },
  // 领取
  sender21013: function sender21013(id) {
    var proto = {};
    proto.id = id;
    this.SendProtocal(21013, proto);
  },
  handle21013: function handle21013(data) {
    message(data.msg);
  },
  // 自选英雄
  sender21014: function sender21014(id) {
    var proto = {};
    proto.id = id;
    this.SendProtocal(21014, proto);
  },
  handle21014: function handle21014(data) {
    message(data.msg);
  },
  //  每日礼包红点
  handle21015: function handle21015(data) {
    if (data.open_id && Utils.next(data.open_id) != null) {// WelfareController.getInstance().getModel().updateDailyGiftRedStatus(true)
    }
  },
  //新版首充礼包信息
  sender21000: function sender21000() {
    this.SendProtocal(21000, {});
  },
  handle21000: function handle21000(data) {
    this.new_first_get_data = data.first_gift; //--首充是否可领取的数据
 
    this.model.setFirstBtnNewStatus(data.first_gift);
 
    var NewFirstChargeEvent = require("newfirstcharge_event");
 
    gcore.GlobalEvent.fire(NewFirstChargeEvent.New_First_Charge_Event, data);
  },
  //--领取新版首冲礼包
  sender21001: function sender21001(id) {
    var protocal = {};
    protocal.id = id;
    this.SendProtocal(21001, protocal);
  },
  handle21001: function handle21001(data) {
    message(data.msg);
  },
  getNewFirstChargeView: function getNewFirstChargeView() {
    return this.new_first_charge_window;
  },
  __delete: function __delete() {// if(this.model != null){
    //     this.model.DeleteMe();
    //     this.model = null;
    // }
  }
});
module.exports = NewfirstchargeController;
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxuZXdmaXJzdGNoYXJnZVxcbmV3Zmlyc3RjaGFyZ2VfY29udHJvbGxlci5qcyJdLCJuYW1lcyI6WyJOZXdmaXJzdGNoYXJnZUNvbnRyb2xsZXIiLCJjYyIsIkNsYXNzIiwiQmFzZUNvbnRyb2xsZXIiLCJjdG9yIiwiaW5pdENvbmZpZyIsIk5ld2ZpcnN0Y2hhcmdlTW9kZWwiLCJyZXF1aXJlIiwibW9kZWwiLCJnZXRNb2RlbCIsInJlZ2lzdGVyRXZlbnRzIiwicmVnaXN0ZXJQcm90b2NhbHMiLCJSZWdpc3RlclByb3RvY2FsIiwiaGFuZGxlMjEwMTIiLCJoYW5kbGUyMTAxMyIsImhhbmRsZTIxMDE0IiwiaGFuZGxlMjEwMTUiLCJoYW5kbGUyMTAwMCIsImhhbmRsZTIxMDAxIiwib3Blbk5ld0ZpcnN0Q2hhcmdlVmlldyIsImJvb2wiLCJNYWludWlDb250cm9sbGVyIiwiTWFpbnVpQ29uc3QiLCJmaXJzdF9pY29uIiwiZ2V0SW5zdGFuY2UiLCJnZXRGdW5jdGlvbkljb25CeUlkIiwiaWNvbiIsImZpcnN0X2NoYXJnZV9uZXcxIiwibmV3X2ZpcnN0X2NoYXJnZV93aW5kb3ciLCJVdGlscyIsImNyZWF0ZUNsYXNzIiwiZmlyc3RfaWNvbjEiLCJmaXJzdF9jaGFyZ2VfbmV3IiwiUm9sZUNvbnRyb2xsZXIiLCJyb2xlX3ZvIiwiZ2V0Um9sZVZvIiwiaW5kZXgiLCJ2aXBfZXhwIiwibmV3X2ZpcnN0X2dldF9kYXRhIiwiZmlyc3Rfc3RhdHVzIiwiaSIsInN0YXR1cyIsInRvdGFsX3N0YXR1cyIsIm9wZW4iLCJjbG9zZSIsInNlbmRlcjIxMDEyIiwiU2VuZFByb3RvY2FsIiwiZGF0YSIsImZpcnN0X2dpZnQiLCJzZXRGaXJzdEJ0blN0YXR1cyIsIk5ld0ZpcnN0Q2hhcmdlRXZlbnQiLCJnY29yZSIsIkdsb2JhbEV2ZW50IiwiZmlyZSIsIk5ld19GaXJzdF9DaGFyZ2VfRXZlbnQiLCJzZW5kZXIyMTAxMyIsImlkIiwicHJvdG8iLCJtZXNzYWdlIiwibXNnIiwic2VuZGVyMjEwMTQiLCJvcGVuX2lkIiwibmV4dCIsInNlbmRlcjIxMDAwIiwic2V0Rmlyc3RCdG5OZXdTdGF0dXMiLCJzZW5kZXIyMTAwMSIsInByb3RvY2FsIiwiZ2V0TmV3Rmlyc3RDaGFyZ2VWaWV3IiwiX19kZWxldGUiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUlBLHdCQUF3QixHQUFHQyxFQUFFLENBQUNDLEtBQUgsQ0FBUztBQUNwQyxhQUFTQyxjQUQyQjtBQUVwQ0MsRUFBQUEsSUFBSSxFQUFFLGdCQUFZLENBQ2pCLENBSG1DO0FBS3BDO0FBQ0FDLEVBQUFBLFVBQVUsRUFBRSxzQkFBWTtBQUNwQixRQUFJQyxtQkFBbUIsR0FBR0MsT0FBTyxDQUFDLHNCQUFELENBQWpDOztBQUVBLFNBQUtDLEtBQUwsR0FBYSxJQUFJRixtQkFBSixFQUFiO0FBQ0EsU0FBS0UsS0FBTCxDQUFXSCxVQUFYO0FBQ0gsR0FYbUM7QUFhcEM7QUFDQUksRUFBQUEsUUFBUSxFQUFFLG9CQUFZO0FBQ2xCLFdBQU8sS0FBS0QsS0FBWjtBQUNILEdBaEJtQztBQWtCcEM7QUFDQUUsRUFBQUEsY0FBYyxFQUFFLDBCQUFZLENBQzNCLENBcEJtQztBQXNCcEM7QUFDQUMsRUFBQUEsaUJBQWlCLEVBQUUsNkJBQVk7QUFDM0IsU0FBS0MsZ0JBQUwsQ0FBc0IsS0FBdEIsRUFBNkIsS0FBS0MsV0FBbEM7QUFDQSxTQUFLRCxnQkFBTCxDQUFzQixLQUF0QixFQUE2QixLQUFLRSxXQUFsQztBQUNBLFNBQUtGLGdCQUFMLENBQXNCLEtBQXRCLEVBQTZCLEtBQUtHLFdBQWxDO0FBQ0EsU0FBS0gsZ0JBQUwsQ0FBc0IsS0FBdEIsRUFBNkIsS0FBS0ksV0FBbEM7QUFDQSxTQUFLSixnQkFBTCxDQUFzQixLQUF0QixFQUE2QixLQUFLSyxXQUFsQztBQUNBLFNBQUtMLGdCQUFMLENBQXNCLEtB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S3ZDLHVCQUFaO0FBQ0gsR0FuSm1DO0FBb0pwQ3dDLEVBQUFBLFFBQVEsRUFBQyxvQkFBVSxDQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0g7QUF6Sm1DLENBQVQsQ0FBL0I7QUE2SkFDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQnRFLHdCQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgICDov5nph4zloavlhpnor6bnu4bor7TmmI4s5Li76KaB5aGr5YaZ6K+l5qih5Z2X55qE5Yqf6IO9566A6KaBXG4vLyA8YnIvPkNyZWF0ZTogMjAxOS0wMy0yMiAxMTowMTo0NlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnZhciBOZXdmaXJzdGNoYXJnZUNvbnRyb2xsZXIgPSBjYy5DbGFzcyh7XG4gICAgZXh0ZW5kczogQmFzZUNvbnRyb2xsZXIsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgIH0sXG5cbiAgICAvLyDliJ3lp4vljJbphY3nva7mlbDmja5cbiAgICBpbml0Q29uZmlnOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBOZXdmaXJzdGNoYXJnZU1vZGVsID0gcmVxdWlyZShcIm5ld2ZpcnN0Y2hhcmdlX21vZGVsXCIpO1xuXG4gICAgICAgIHRoaXMubW9kZWwgPSBuZXcgTmV3Zmlyc3RjaGFyZ2VNb2RlbCgpO1xuICAgICAgICB0aGlzLm1vZGVsLmluaXRDb25maWcoKTtcbiAgICB9LFxuXG4gICAgLy8g6L+U5Zue5b2T5YmN55qEbW9kZWxcbiAgICBnZXRNb2RlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM55uR5ZCs5LqL5Lu2XG4gICAgcmVnaXN0ZXJFdmVudHM6IGZ1bmN0aW9uICgpIHtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5Y2P6K6u5o6l5Y+X5LqL5Lu2XG4gICAgcmVnaXN0ZXJQcm90b2NhbHM6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDEyLCB0aGlzLmhhbmRsZTIxMDEyKTtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDEzLCB0aGlzLmhhbmRsZTIxMDEzKTtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDE0LCB0aGlzLmhhbmRsZTIxMDE0KTtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDE1LCB0aGlzLmhhbmRsZTIxMDE1KTtcbiAgICAgICAgdGhpcy5SZWdpc3RlclByb3RvY2FsKDIxMDAwLCB0aGlzLmhhbmRsZTIxMDAwKVxuICAgICAgICB0aGlzLlJlZ2lzdGVyUHJvdG9jYWwoMjEwMDEsdGhpcy5oYW5kbGUyMTAwMSlcbiAgICB9LFxuXG4gICAgb3Blbk5ld0ZpcnN0Q2hhcmdlVmlldzpmdW5jdGlvbihib29sKXtcbiAgICAgICAgaWYoYm9vbCA9PSB0cnVlKXtcbiAgICAgICAgICAgIHZhciBNYWludWlDb250cm9sbGVyID0gcmVxdWlyZShcIm1haW51aV9jb250cm9sbGVyXCIpXG4gICAgICAgICAgICB2YXIgTWFpbnVpQ29uc3QgPSByZXF1aXJlKFwibWFpbnVpX2NvbnN0XCIpXG4gICAgICAgICAgICBsZXQgZmlyc3RfaWNvbiA9IE1haW51aUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRGdW5jdGlvbkljb25CeUlkKE1haW51aUNvbnN0Lmljb24uZmlyc3RfY2hhcmdlX25ldzEpXG4gICAgICAgICAgICBpZihmaXJzdF9pY29uKXtcbiAgICAgICAgICAgICAgICBpZighdGhpcy5uZXdfZmlyc3RfY2hhcmdlX3dpbmRvdyl7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3cgPSBVdGlscy5jcmVhdGVDbGFzcyhcIm5ld2ZpcnN0Y2hhcmdlMV93aW5kb3dcIix0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgZmlyc3RfaWNvbjEgPSBNYWludWlDb250cm9sbGVyLmdldEluc3RhbmNlKCkuZ2V0RnVuY3Rpb25JY29uQnlJZChNYWludWlDb25zdC5pY29uLmZpcnN0X2NoYXJnZV9uZXcpXG4gICAgICAgICAgICBpZihmaXJzdF9pY29uMSl7XG4gICAgICAgICAgICAgICAgaWYoIXRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3cpe1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ld19maXJzdF9jaGFyZ2Vfd2luZG93ID0gVXRpbHMuY3JlYXRlQ2xhc3MoXCJuZXdmaXJzdGNoYXJnZV93aW5kb3dcIix0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZighdGhpcy5uZXdfZmlyc3RfY2hhcmdlX3dpbmRvdykgcmV0dXJuXG4gICAgICAgICAgICB2YXIgUm9sZUNvbnRyb2xsZXIgPSByZXF1aXJlKFwicm9sZV9jb250cm9sbGVyXCIpO1xuICAgICAgICAgICAgdmFyIHJvbGVfdm8gPSBSb2xlQ29udHJvbGxlci5nZXRJbnN0YW5jZSgpLmdldFJvbGVWbygpO1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gMTtcbiAgICAgICAgICAgIGlmKHJvbGVfdm8udmlwX2V4cCE9MCl7XG4gICAgICAgICAgICAgICAgaW5kZXggPSAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYodGhpcy5uZXdfZmlyc3RfZ2V0X2RhdGEpe1xuICAgICAgICAgICAgICAgIC8vIOmmluWFheaYr+WQpuWPr+S7pemihuWPllxuICAgICAgICAgICAgICAgIHZhciBmaXJzdF9zdGF0dXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBmb3IodmFyIGkgPSAxO2k8PTM7aSsrKXtcbiAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5uZXdfZmlyc3RfZ2V0X2RhdGFbaS0xXSAmJiB0aGlzLm5ld19maXJzdF9nZXRfZGF0YVtpLTFdLnN0YXR1cyA9PSAxKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0X3N0YXR1cyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyDntK/lhYXmmK/lkKblj6/ku6Xpooblj5ZcbiAgICAgICAgICAgICAgICB2YXIgdG90YWxfc3RhdHVzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZm9yKHZhciBpID0gNDtpPD02O2krKyl7XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMubmV3X2ZpcnN0X2dldF9kYXRhW2ktMV0gJiYgdGhpcy5uZXdfZmlyc3RfZ2V0X2RhdGFbaS0xXS5zdGF0dXMgPT0gMSl7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9zdGF0dXMgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZihmaXJzdF9zdGF0dXMgPT0gdHJ1ZSAmJiB0b3RhbF9zdGF0dXMgPT0gdHJ1ZSl7XG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm5ld19maXJzdF9jaGFyZ2Vfd2luZG93Lm9wZW4oaW5kZXgpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGlmKHRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3cpe1xuICAgICAgICAgICAgICAgIHRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3cuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5ld19maXJzdF9jaGFyZ2Vfd2luZG93ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyAg5L+h5oGvXG4gICAgc2VuZGVyMjEwMTI6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5TZW5kUHJvdG9jYWwoMjEwMTIse30pO1xuICAgIH0sXG5cbiAgICBoYW5kbGUyMTAxMjpmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgdGhpcy5uZXdfZmlyc3RfZ2V0X2RhdGEgPSBkYXRhLmZpcnN0X2dpZnQ7IC8v6aaW5YWF5piv5ZCm5Y+v6aKG5Y+W55qE5pWw5o2uXG4gICAgICAgIHRoaXMubW9kZWwuc2V0Rmlyc3RCdG5TdGF0dXMoZGF0YS5maXJzdF9naWZ0KTtcbiAgICAgICAgdmFyIE5ld0ZpcnN0Q2hhcmdlRXZlbnQgPSByZXF1aXJlKFwibmV3Zmlyc3RjaGFyZ2VfZXZlbnRcIik7XG4gICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LmZpcmUoTmV3Rmlyc3RDaGFyZ2VFdmVudC5OZXdfRmlyc3RfQ2hhcmdlX0V2ZW50LCBkYXRhKTtcbiAgICB9LFxuXG4gICAgLy8g6aKG5Y+WXG4gICAgc2VuZGVyMjEwMTM6ZnVuY3Rpb24oaWQpe1xuICAgICAgICB2YXIgcHJvdG8gPSB7fVxuICAgICAgICBwcm90by5pZCA9IGlkXG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDIxMDEzLHByb3RvKVxuICAgIH0sXG5cbiAgICBoYW5kbGUyMTAxMzpmdW5jdGlvbihkYXRhKXtcbiAgICAgICAgbWVzc2FnZShkYXRhLm1zZyk7XG4gICAgfSxcbiAgICBcbiAgICAvLyDoh6rpgInoi7Hpm4RcbiAgICBzZW5kZXIyMTAxNDpmdW5jdGlvbihpZCl7XG4gICAgICAgIHZhciBwcm90byA9IHt9O1xuICAgICAgICBwcm90by5pZCA9IGlkO1xuICAgICAgICB0aGlzLlNlbmRQcm90b2NhbCgyMTAxNCxwcm90byk7XG4gICAgfSxcblxuICAgIGhhbmRsZTIxMDE0OmZ1bmN0aW9uKGRhdGEpe1xuICAgICAgICBtZXNzYWdlKGRhdGEubXNnKVxuICAgIH0sXG4gICAgLy8gIOavj+aXpeekvOWMhee6oueCuVxuICAgIGhhbmRsZTIxMDE1OmZ1bmN0aW9uKCBkYXRhICl7XG4gICAgICAgIGlmKGRhdGEub3Blbl9pZCAmJiBVdGlscy5uZXh0KGRhdGEub3Blbl9pZCkhPW51bGwpe1xuICAgICAgICAgICAgLy8gV2VsZmFyZUNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKS5nZXRNb2RlbCgpLnVwZGF0ZURhaWx5R2lmdFJlZFN0YXR1cyh0cnVlKVxuICAgICAgICB9XG4gICAgfSxcbiAgICAvL+aWsOeJiOmmluWFheekvOWMheS/oeaBr1xuICAgIHNlbmRlcjIxMDAwKCl7XG4gICAgICAgIHRoaXMuU2VuZFByb3RvY2FsKDIxMDAwLCB7fSlcbiAgICB9LFxuICAgIGhhbmRsZTIxMDAwKGRhdGEpe1xuICAgICAgICB0aGlzLm5ld19maXJzdF9nZXRfZGF0YSA9IGRhdGEuZmlyc3RfZ2lmdCAvLy0t6aaW5YWF5piv5ZCm5Y+v6aKG5Y+W55qE5pWw5o2uXG4gICAgICAgIHRoaXMubW9kZWwuc2V0Rmlyc3RCdG5OZXdTdGF0dXMoZGF0YS5maXJzdF9naWZ0KVxuICAgICAgICB2YXIgTmV3Rmlyc3RDaGFyZ2VFdmVudCA9IHJlcXVpcmUoXCJuZXdmaXJzdGNoYXJnZV9ldmVudFwiKTtcbiAgICAgICAgZ2NvcmUuR2xvYmFsRXZlbnQuZmlyZShOZXdGaXJzdENoYXJnZUV2ZW50Lk5ld19GaXJzdF9DaGFyZ2VfRXZlbnQsZGF0YSlcbiAgICB9LFxuICAgIC8vLS3pooblj5bmlrDniYjpppblhrLnpLzljIVcbiAgICBzZW5kZXIyMTAwMShpZCl7XG4gICAgICAgIGxldCBwcm90b2NhbCA9IHt9XG4gICAgICAgIHByb3RvY2FsLmlkID0gaWRcbiAgICAgICAgdGhpcy5TZW5kUHJvdG9jYWwoMjEwMDEsIHByb3RvY2FsKVxuICAgIH0sXG4gICAgaGFuZGxlMjEwMDEoZGF0YSl7XG4gICAgICAgIG1lc3NhZ2UoZGF0YS5tc2cpXG4gICAgfSxcbiAgICBnZXROZXdGaXJzdENoYXJnZVZpZXcoKXtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV3X2ZpcnN0X2NoYXJnZV93aW5kb3dcbiAgICB9LFxuICAgIF9fZGVsZXRlOmZ1bmN0aW9uKCl7XG4gICAgICAgIC8vIGlmKHRoaXMubW9kZWwgIT0gbnVsbCl7XG4gICAgICAgIC8vICAgICB0aGlzLm1vZGVsLkRlbGV0ZU1lKCk7XG4gICAgICAgIC8vICAgICB0aGlzLm1vZGVsID0gbnVsbDtcbiAgICAgICAgLy8gfVxuICAgIH1cblxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gTmV3Zmlyc3RjaGFyZ2VDb250cm9sbGVyOyJdfQ==