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
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/mail/view/mail_cell.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, 'f0e70yb6slG3bMwfqyKQiET', 'mail_cell');
// Scripts/mod/mail/view/mail_cell.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: shiraho@syg.com(必填, 创建模块的人员)
// @description:
//      竖版邮件单个
// <br/>Create: new Date().toISOString()
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var TimeTool = require("timetool");
 
var MailCell = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("mail", "mail_item");
    this.data = null;
  },
  initPanel: function initPanel() {
    this.main_container = this.root_wnd.getChildByName("main_container");
    this.mail_con = this.main_container.getChildByName("mail_con");
    this.icon = this.mail_con.getChildByName("icon").getComponent(cc.Sprite);
    this.mail_title = this.mail_con.getChildByName("title").getComponent(cc.Label);
    this.time = this.mail_con.getChildByName("time").getComponent(cc.Label);
    this.unread = this.mail_con.getChildByName("unread").getComponent(cc.Label);
    this.unread.string = "未读";
    this.notice_con = this.main_container.getChildByName("notice_con");
    this.notice_title = this.notice_con.getChildByName("title").getComponent(cc.Label);
    this.notice_content = this.notice_con.getChildByName("content").getComponent(cc.Label);
    this.onShow();
  },
  registerEvent: function registerEvent() {
    if (this.main_container == null) return;
    this.main_container.on(cc.Node.EventType.TOUCH_END, function () {
      if (this.data != null && this.callback != null) this.callback(this);
    }, this);
  },
  addCallBack: function addCallBack(value) {
    this.callback = value;
  },
  //必要添加的数据传入方法
  setData: function setData(data) {
    this.data = data;
    this.onShow();
  },
  onShow: function onShow() {
    if (this.data == null) return;
    if (this.root_wnd == null) return; // this.root_wnd.setPosition(this.x, this.y);
 
    if (this.data.status >= 0) {
      //邮件
      this.mail_con.active = true;
      this.notice_con.active = false;
      var show_time = TimeTool.getDayOrHour(gcore.SmartSocket.getTime() - this.data.send_time);
 
      if (show_time) {
        this.time.string = show_time + "前";
      } else {
        this.time.string = "";
      }
 
      this.changeIcon(this.data.status);
      this.mail_title.string = this.data.subject;
    } else if (this.data.flag >= 0) {
      //公告
      this.mail_con.active = false;
      this.notice_con.active = true;
      this.notice_title.string = this.data.title;
      this.notice_content.string = this.data.summary;
      this.setGray(this.data.flag == 1);
    }
  },
  //邮件的icon改变
  changeIcon: function changeIcon(status) {
    if (status != null) {
      if (status == 1) {
        //已读
        this.setGray(true);
 
        if (Utils.getArrLen(this.data.assets) > 0 || Utils.getArrLen(this.data.items) > 0) {
          this.loadRes(PathTool.getUIIconPath("mail", "mail_icon4"), function (sf_obj) {
            this.icon.spriteFrame = sf_obj;
          }.bind(this));
        } else if (Utils.getArrLen(this.data.assets) == 0 || Utils.getArrLen(this.data.items) == 0) {
          this.loadRes(PathTool.getUIIconPath("mail", "mail_icon3"), function (sf_obj) {
            this.icon.spriteFrame = sf_obj;
          }.bind(this));
        }
      } else if (status == 2) {
        //领了
        this.setGray(true);
        this.loadRes(PathTool.getUIIconPath("mail", "mail_icon3"), function (sf_obj) {
          this.icon.spriteFrame = sf_obj;
        }.bind(this));
      } else if (status == 0) {
        //未读
        this.setGray(false);
 
        if (Utils.getArrLen(this.data.assets) > 0 || Utils.getArrLen(this.data.items) > 0) {
          //有物品
          this.loadRes(PathTool.getUIIconPath("mail", "mail_icon2"), function (sf_obj) {
            this.icon.spriteFrame = sf_obj;
          }.bind(this));
        } else {
          this.loadRes(PathTool.getUIIconPath("mail", "mail_icon1"), function (sf_obj) {
            this.icon.spriteFrame = sf_obj;
          }.bind(this));
        }
      }
    }
  },
  setGray: function setGray(status) {
    if (status) {
      this.root_wnd.opacity = 178;
      this.unread.node.active = false;
    } else {
      this.root_wnd.opacity = 255;
      this.unread.node.active = true;
    }
  },
  getData: function getData() {
    return this.data;
  },
  updateIconStatus: function updateIconStatus() {
    if (this.data == null) return;
    var status = this.data.status;
    this.changeIcon(status);
  },
  onHide: function onHide() {},
  onDelete: function onDelete() {}
});
module.exports = MailCell;
 
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxtYWlsXFx2aWV3XFxtYWlsX2NlbGwuanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiVGltZVRvb2wiLCJNYWlsQ2VsbCIsImNjIiwiQ2xhc3MiLCJCYXNlUGFuZWwiLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJkYXRhIiwiaW5pdFBhbmVsIiwibWFpbl9jb250YWluZXIiLCJyb290X3duZCIsImdldENoaWxkQnlOYW1lIiwibWFpbF9jb24iLCJpY29uIiwiZ2V0Q29tcG9uZW50IiwiU3ByaXRlIiwibWFpbF90aXRsZSIsIkxhYmVsIiwidGltZSIsInVucmVhZCIsInN0cmluZyIsIm5vdGljZV9jb24iLCJub3RpY2VfdGl0bGUiLCJub3RpY2VfY29udGVudCIsIm9uU2hvdyIsInJlZ2lzdGVyRXZlbnQiLCJvbiIsIk5vZGUiLCJFdmVudFR5cGUiLCJUT1VDSF9FTkQiLCJjYWxsYmFjayIsImFkZENhbGxCYWNrIiwidmFsdWUiLCJzZXREYXRhIiwic3RhdHVzIiwiYWN0aXZlIiwic2hvd190aW1lIiwiZ2V0RGF5T3JIb3VyIiwiZ2NvcmUiLCJTbWFydFNvY2tldCIsImdldFRpbWUiLCJzZW5kX3RpbWUiLCJjaGFuZ2VJY29uIiwic3ViamVjdCIsImZsYWciLCJ0aXRsZSIsInN1bW1hcnkiLCJzZXRHcmF5IiwiVXRpbHMiLCJnZXRBcnJMZW4iLCJhc3NldHMiLCJpdGVtcyIsImxvYWRSZXMiLCJnZXRVSUljb25QYXRoIiwic2Zfb2JqIiwic3ByaXRlRnJhbWUiLCJiaW5kIiwib3BhY2l0eSIsIm5vZGUiLCJnZXREYXRhIiwidXBkYXRlSWNvblN0YXR1cyIsIm9uSGlkZSIsIm9uRGVsZXRlIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8s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TUFBakIsR0FBMEIsSUFBMUI7QUFDSDtBQUNKLEdBaEhtQjtBQWtIcEJ3QixFQUFBQSxPQUFPLEVBQUUsbUJBQVk7QUFDakIsV0FBTyxLQUFLcEQsSUFBWjtBQUNILEdBcEhtQjtBQXNIcEJxRCxFQUFBQSxnQkFBZ0IsRUFBQyw0QkFBVTtBQUN2QixRQUFHLEtBQUtyRCxJQUFMLElBQWEsSUFBaEIsRUFBcUI7QUFDckIsUUFBSTJCLE1BQU0sR0FBRyxLQUFLM0IsSUFBTCxDQUFVMkIsTUFBdkI7QUFDQSxTQUFLUSxVQUFMLENBQWdCUixNQUFoQjtBQUNILEdBMUhtQjtBQTRIcEIyQixFQUFBQSxNQUFNLEVBQUUsa0JBQVksQ0FFbkIsQ0E5SG1CO0FBZ0lwQkMsRUFBQUEsUUFBUSxFQUFFLG9CQUFZLENBRXJCO0FBbEltQixDQUFULENBQWY7QUFzSUFDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQmhFLFFBQWpCIiwic291cmNlUm9vdCI6Ii8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBAYXV0aG9yOiBzaGlyYWhvQHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXHJcbi8vIEBkZXNjcmlwdGlvbjpcclxuLy8gICAgICDnq5bniYjpgq7ku7bljZXkuKpcclxuLy8gPGJyLz5DcmVhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxudmFyIFBhdGhUb29sID0gcmVxdWlyZShcInBhdGh0b29sXCIpO1xyXG52YXIgVGltZVRvb2wgPSByZXF1aXJlKFwidGltZXRvb2xcIik7XHJcblxyXG52YXIgTWFpbENlbGwgPSBjYy5DbGFzcyh7XHJcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXHJcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5wcmVmYWJQYXRoID0gUGF0aFRvb2wuZ2V0UHJlZmFiUGF0aChcIm1haWxcIiwgXCJtYWlsX2l0ZW1cIik7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gbnVsbDtcclxuICAgIH0sXHJcblxyXG5cclxuICAgIGluaXRQYW5lbDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMubWFpbl9jb250YWluZXIgPSB0aGlzLnJvb3Rfd25kLmdldENoaWxkQnlOYW1lKFwibWFpbl9jb250YWluZXJcIik7XHJcbiAgICAgICAgdGhpcy5tYWlsX2NvbiA9IHRoaXMubWFpbl9jb250YWluZXIuZ2V0Q2hpbGRCeU5hbWUoXCJtYWlsX2NvblwiKTtcclxuICAgICAgICB0aGlzLmljb24gPSB0aGlzLm1haWxfY29uLmdldENoaWxkQnlOYW1lKFwiaWNvblwiKS5nZXRDb21wb25lbnQoY2MuU3ByaXRlKTtcclxuICAgICAgICB0aGlzLm1haWxfdGl0bGUgPSB0aGlzLm1haWxfY29uLmdldENoaWxkQnlOYW1lKFwidGl0bGVcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuICAgICAgICB0aGlzLnRpbWUgPSB0aGlzLm1haWxfY29uLmdldENoaWxkQnlOYW1lKFwidGltZVwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xyXG4gICAgICAgIHRoaXMudW5yZWFkID0gdGhpcy5tYWlsX2Nvbi5nZXRDaGlsZEJ5TmFtZShcInVucmVhZFwiKS5nZXRDb21wb25lbnQoY2MuTGFiZWwpO1xyXG4gICAgICAgIHRoaXMudW5yZWFkLnN0cmluZyA9IChcIuacquivu1wiKVxyXG5cclxuICAgICAgICB0aGlzLm5vdGljZV9jb24gPSB0aGlzLm1haW5fY29udGFpbmVyLmdldENoaWxkQnlOYW1lKFwibm90aWNlX2NvblwiKTtcclxuICAgICAgICB0aGlzLm5vdGljZV90aXRsZSA9IHRoaXMubm90aWNlX2Nvbi5nZXRDaGlsZEJ5TmFtZShcInRpdGxlXCIpLmdldENvbXBvbmVudChjYy5MYWJlbCk7XHJcbiAgICAgICAgdGhpcy5ub3RpY2VfY29udGVudCA9IHRoaXMubm90aWNlX2Nvbi5nZXRDaGlsZEJ5TmFtZShcImNvbnRlbnRcIikuZ2V0Q29tcG9uZW50KGNjLkxhYmVsKTtcclxuXHJcbiAgICAgICAgdGhpcy5vblNob3coKVxyXG4gICAgfSxcclxuXHJcblxyXG4gICAgcmVnaXN0ZXJFdmVudDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGlmICh0aGlzLm1haW5fY29udGFpbmVyID09IG51bGwpIHJldHVyblxyXG4gICAgICAgIHRoaXMubWFpbl9jb250YWluZXIub24oY2MuTm9kZS5FdmVudFR5cGUuVE9VQ0hfRU5ELCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEgIT0gbnVsbCAmJiB0aGlzLmNhbGxiYWNrICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGxiYWNrKHRoaXMpO1xyXG4gICAgICAgIH0sIHRoaXMpXHJcblxyXG4gICAgfSxcclxuXHJcbiAgICBhZGRDYWxsQmFjazogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5jYWxsYmFjayA9IHZhbHVlXHJcbiAgICB9LFxyXG5cclxuICAgIC8v5b+F6KaB5re75Yqg55qE5pWw5o2u5Lyg5YWl5pa55rOVXHJcbiAgICBzZXREYXRhOiBmdW5jdGlvbiAoZGF0YSkge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5vblNob3coKVxyXG4gICAgfSxcclxuXHJcbiAgICBvblNob3c6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhID09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIGlmICh0aGlzLnJvb3Rfd25kID09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVyblxyXG4gICAgICAgIC8vIHRoaXMucm9vdF93bmQuc2V0UG9zaXRpb24odGhpcy54LCB0aGlzLnkpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEuc3RhdHVzID49IDApIHsgLy/pgq7ku7ZcclxuICAgICAgICAgICAgdGhpcy5tYWlsX2Nvbi5hY3RpdmUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm5vdGljZV9jb24uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHZhciBzaG93X3RpbWUgPSBUaW1lVG9vbC5nZXREYXlPckhvdXIoZ2NvcmUuU21hcnRTb2NrZXQuZ2V0VGltZSgpIC0gdGhpcy5kYXRhLnNlbmRfdGltZSk7XHJcbiAgICAgICAgICAgIGlmIChzaG93X3RpbWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudGltZS5zdHJpbmcgPSBzaG93X3RpbWUgKyBcIuWJjVwiO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50aW1lLnN0cmluZyA9IFwiXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VJY29uKHRoaXMuZGF0YS5zdGF0dXMpO1xyXG4gICAgICAgICAgICB0aGlzLm1haWxfdGl0bGUuc3RyaW5nID0gdGhpcy5kYXRhLnN1YmplY3Q7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuZmxhZyA+PSAwKSB7ICAvL+WFrOWRilxyXG4gICAgICAgICAgICB0aGlzLm1haWxfY29uLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vdGljZV9jb24uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5ub3RpY2VfdGl0bGUuc3RyaW5nID0gdGhpcy5kYXRhLnRpdGxlO1xyXG4gICAgICAgICAgICB0aGlzLm5vdGljZV9jb250ZW50LnN0cmluZyA9IHRoaXMuZGF0YS5zdW1tYXJ5O1xyXG4gICAgICAgICAgICB0aGlzLnNldEdyYXkodGhpcy5kYXRhLmZsYWcgPT0gMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICAvL+mCruS7tueahGljb27mlLnlj5hcclxuICAgIGNoYW5nZUljb246IGZ1bmN0aW9uIChzdGF0dXMpIHtcclxuICAgICAgICBpZiAoc3RhdHVzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgaWYgKHN0YXR1cyA9PSAxKSB7ICAvL+W3suivu1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHcmF5KHRydWUpO1xyXG4gICAgICAgICAgICAgICAgaWYgKFV0aWxzLmdldEFyckxlbih0aGlzLmRhdGEuYXNzZXRzKSA+IDAgfHwgVXRpbHMuZ2V0QXJyTGVuKHRoaXMuZGF0YS5pdGVtcykgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUmVzKFBhdGhUb29sLmdldFVJSWNvblBhdGgoXCJtYWlsXCIsIFwibWFpbF9pY29uNFwiKSwgZnVuY3Rpb24gKHNmX29iaikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmljb24uc3ByaXRlRnJhbWUgPSBzZl9vYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChVdGlscy5nZXRBcnJMZW4odGhpcy5kYXRhLmFzc2V0cykgPT0gMCB8fCBVdGlscy5nZXRBcnJMZW4odGhpcy5kYXRhLml0ZW1zKSA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUmVzKFBhdGhUb29sLmdldFVJSWNvblBhdGgoXCJtYWlsXCIsIFwibWFpbF9pY29uM1wiKSwgZnVuY3Rpb24gKHNmX29iaikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmljb24uc3ByaXRlRnJhbWUgPSBzZl9vYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHN0YXR1cyA9PSAyKSB7ICAvL+mihuS6hlxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHcmF5KHRydWUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkUmVzKFBhdGhUb29sLmdldFVJSWNvblBhdGgoXCJtYWlsXCIsIFwibWFpbF9pY29uM1wiKSwgZnVuY3Rpb24gKHNmX29iaikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaWNvbi5zcHJpdGVGcmFtZSA9IHNmX29iajtcclxuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKSlcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT0gMCkgeyAgLy/mnKror7tcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0R3JheShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoVXRpbHMuZ2V0QXJyTGVuKHRoaXMuZGF0YS5hc3NldHMpID4gMCB8fCBVdGlscy5nZXRBcnJMZW4odGhpcy5kYXRhLml0ZW1zKSA+IDApIHsgIC8v5pyJ54mp5ZOBXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUmVzKFBhdGhUb29sLmdldFVJSWNvblBhdGgoXCJtYWlsXCIsIFwibWFpbF9pY29uMlwiKSwgZnVuY3Rpb24gKHNmX29iaikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmljb24uc3ByaXRlRnJhbWUgPSBzZl9vYmo7XHJcbiAgICAgICAgICAgICAgICAgICAgfS5iaW5kKHRoaXMpKVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRSZXMoUGF0aFRvb2wuZ2V0VUlJY29uUGF0aChcIm1haWxcIiwgXCJtYWlsX2ljb24xXCIpLCBmdW5jdGlvbiAoc2Zfb2JqKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaWNvbi5zcHJpdGVGcmFtZSA9IHNmX29iajtcclxuICAgICAgICAgICAgICAgICAgICB9LmJpbmQodGhpcykpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHNldEdyYXk6IGZ1bmN0aW9uIChzdGF0dXMpIHtcclxuICAgICAgICBpZiAoc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMucm9vdF93bmQub3BhY2l0eSA9IDE3ODtcclxuICAgICAgICAgICAgdGhpcy51bnJlYWQubm9kZS5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJvb3Rfd25kLm9wYWNpdHkgPSAyNTU7XHJcbiAgICAgICAgICAgIHRoaXMudW5yZWFkLm5vZGUuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGdldERhdGE6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhXHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZUljb25TdGF0dXM6ZnVuY3Rpb24oKXtcclxuICAgICAgICBpZih0aGlzLmRhdGEgPT0gbnVsbClyZXR1cm5cclxuICAgICAgICB2YXIgc3RhdHVzID0gdGhpcy5kYXRhLnN0YXR1cztcclxuICAgICAgICB0aGlzLmNoYW5nZUljb24oc3RhdHVzKVxyXG4gICAgfSxcclxuXHJcbiAgICBvbkhpZGU6IGZ1bmN0aW9uICgpIHtcclxuXHJcbiAgICB9LFxyXG5cclxuICAgIG9uRGVsZXRlOiBmdW5jdGlvbiAoKSB7XHJcblxyXG4gICAgfVxyXG5cclxufSk7XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IE1haWxDZWxsOyJdfQ==