|
(function() {
|
var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
|
var __module = nodeEnv ? module : {exports:{}};
|
var __filename = 'preview-scripts/assets/Scripts/mod/redbag/view/redbag_get_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, '15396kjHj1NibLl/U70p8HI', 'redbag_get_panel');
|
// Scripts/mod/redbag/view/redbag_get_panel.js
|
|
"use strict";
|
|
// --------------------------------------------------------------------
|
// @author: @syg.com(必填, 创建模块的人员)
|
// @description:
|
// 抢红包
|
// <br/>Create: new Date().toISOString()
|
// --------------------------------------------------------------------
|
var PathTool = require("pathtool");
|
|
var RedbagController = require("redbag_controller");
|
|
var RedbagEvent = require("redbag_event");
|
|
var RedBagItem = require("redbag_item");
|
|
var CommonScrollView = require("common_scrollview");
|
|
var RedBagGetPanel = cc.Class({
|
"extends": BasePanel,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("redbag", "redbag_get");
|
this.ctrl = RedbagController.getInstance();
|
this.size = cc.v2(644, 740);
|
this.bool = false;
|
},
|
initPanel: function initPanel() {
|
this.main_panel = this.seekChild("main_panel");
|
|
if (this.empty_con) {
|
this.showEmptyIcon(this.bool);
|
}
|
|
this.updateBagList();
|
|
if (this.is_event != null) {
|
this.updateBagList(this.is_event);
|
}
|
},
|
registerEvent: function registerEvent(status) {
|
// if (!status) {
|
// if (this.update_data_event) {
|
// gcore.GlobalEvent.unbind(this.update_data_event);
|
// this.update_data_event = null;
|
// }
|
// } else {
|
// if (!this.update_data_event) {
|
// this.update_data_event = gcore.GlobalEvent.bind(RedbagEvent.Get_Data_Event, function () {
|
// this.updateBagList(true);
|
// }.bind(this))
|
// }
|
// }
|
if (!this.update_data_event) {
|
this.update_data_event = gcore.GlobalEvent.bind(RedbagEvent.Get_Data_Event, function () {
|
this.updateBagList(true);
|
}.bind(this));
|
}
|
},
|
updateBagList: function updateBagList(is_event) {
|
if (this.root_wnd == null) {
|
this.is_event = is_event;
|
return;
|
}
|
|
var red_bag_list = this.ctrl.getModel().getRedBagList() || [];
|
var list = Utils.deepCopy(red_bag_list);
|
|
if (!list || Utils.next(list) == null) {
|
this.showEmptyIcon(true);
|
|
if (this.scroll_view) {
|
this.scroll_view.setRootVisible(false);
|
}
|
} else {
|
this.showEmptyIcon(false);
|
var sort_func = Utils.tableUpperSorter(["order"]);
|
list.sort(sort_func);
|
|
if (!this.scroll_view) {
|
var scroll_view_size = cc.size(570, 790);
|
var setting = {
|
item_class: RedBagItem,
|
// 单元类
|
start_x: 10,
|
// 第一个单元的X起点
|
space_x: 23,
|
// x方向的间隔
|
start_y: 5,
|
// 第一个单元的Y起点
|
space_y: 10,
|
// y方向的间隔
|
item_width: 262,
|
// 单元的尺寸width
|
item_height: 327,
|
// 单元的尺寸height
|
row: 2,
|
// 行数,作用于水平滚动类型
|
col: 2,
|
// 列数,作用于垂直滚动类型
|
need_dynamic: true
|
};
|
this.scroll_view = new CommonScrollView();
|
this.scroll_view.createScroll(this.main_panel, cc.v2(0, 0), ScrollViewDir.vertical, ScrollViewStartPos.top, scroll_view_size, setting, cc.v2(0.5, 0.5));
|
}
|
|
this.scroll_view.setRootVisible(true); // if (is_event == true) {
|
// this.scroll_view.resetAddPosition(list);
|
// } else {
|
|
var call_back = function (item, vo) {
|
if (vo && Utils.next(vo) != null) {
|
var is_can_get = item.getIsCanGet();
|
|
if (is_can_get == true) {
|
this.ctrl.sender13536(vo.id);
|
this.ctrl.setRedBagVo(vo);
|
} else {
|
this.ctrl.openLookWindow(true, vo);
|
}
|
}
|
}.bind(this);
|
|
this.scroll_view.setData(list, call_back); // }
|
}
|
},
|
setVisibleStatus: function setVisibleStatus(bool) {
|
this.setVisible(bool);
|
this.registerEvent(bool); //这里做一次处理是因为可能切换了标签页之后,自己发了红包没更新
|
|
if (bool == true && this.root_wnd) this.updateBagList();
|
},
|
//仅仅更新,不全部重新创建
|
updateListData: function updateListData(red_bag_list) {
|
var list = this.scroll_view.getItemList();
|
var index = 1;
|
|
for (var i in red_bag_list) {
|
var v = red_bag_list[i];
|
|
if (list[index]) {
|
list[index].setData(v);
|
}
|
|
index = index + 1;
|
}
|
},
|
showEmptyIcon: function showEmptyIcon(bool) {
|
if (!this.empty_con && bool == false || this.main_panel == null) return;
|
this.bool = bool;
|
|
if (!this.empty_con) {
|
var size = cc.size(200, 200);
|
this.empty_con = new cc.Node();
|
this.empty_con.setContentSize(size);
|
this.empty_con.setAnchorPoint(cc.v2(0.5, 0.5));
|
this.empty_con.setPosition(cc.v2(0, 0));
|
this.main_panel.addChild(this.empty_con);
|
var res = PathTool.getBigBg("bigbg_3");
|
this.empty_bg = Utils.createImage(this.empty_con, null, 0, 0, cc.v2(0.5, 0.5), false);
|
this.loadRes(res, function (sf_obj) {
|
this.empty_bg.spriteFrame = sf_obj;
|
}.bind(this));
|
this.empty_label = Utils.createLabel(26, new cc.Color(0x68, 0x45, 0x2a, 0xff), null, 0, -100, "", this.empty_con, 0, cc.v2(0.5, 0.5));
|
}
|
|
var str = Utils.TI18N("当前没有可以抢的红包,不来一发吗?");
|
this.empty_label.string = str;
|
this.empty_con.active = bool;
|
},
|
openRootWnd: function openRootWnd() {},
|
onShow: function onShow() {},
|
setData: function setData(data) {},
|
onDelete: function onDelete() {
|
if (this.empty_con) {
|
this.empty_con.destroy();
|
this.empty_label.destroy();
|
this.empty_bg.destroy();
|
this.empty_con = null;
|
this.empty_bg = null;
|
this.empty_label = null;
|
}
|
|
if (this.scroll_view) {
|
this.scroll_view.DeleteMe();
|
this.scroll_view = null;
|
}
|
|
if (this.update_data_event) {
|
gcore.GlobalEvent.unbind(this.update_data_event);
|
this.update_data_event = null;
|
}
|
}
|
});
|
module.exports = RedBagGetPanel;
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxyZWRiYWdcXHZpZXdcXHJlZGJhZ19nZXRfcGFuZWwuanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiUmVkYmFnQ29udHJvbGxlciIsIlJlZGJhZ0V2ZW50IiwiUmVkQmFnSXRlbSIsIkNvbW1vblNjcm9sbFZpZXciLCJSZWRCYWdHZXRQYW5lbCIsImNjIiwiQ2xhc3MiLCJCYXNlUGFuZWwiLCJjdG9yIiwicHJlZmFiUGF0aCIsImdldFByZWZhYlBhdGgiLCJjdHJsIiwiZ2V0SW5zdGFuY2UiLCJzaXplIiwidjIiLCJib29sIiwiaW5pdFBhbmVsIiwibWFpbl9wYW5lbCIsInNlZWtDaGlsZCIsImVtcHR5X2NvbiIsInNob3dFbXB0eUljb24iLCJ1cGRhdGVCYWdMaXN0IiwiaXNfZXZlbnQiLCJyZWdpc3RlckV2ZW50Iiwic3RhdHVzIiwidXBkYXRlX2RhdGFfZXZlbnQiLCJnY29yZSIsIkdsb2JhbEV2ZW50IiwiYmluZCIsIkdldF9EYXRhX0V2ZW50Iiwicm9vdF93bmQiLCJyZWRfYmFnX2xpc3QiLCJnZXRNb2RlbCIsImdldFJlZEJhZ0xpc3QiLCJsaXN0IiwiVXRpbHMiLCJkZWVwQ29weSIsIm5leHQiLCJzY3JvbGxfdmlldyIsInNldFJvb3RWaXNpYmxlIiwic29ydF9mdW5jIiwidGFibGVVcHBlclNvcnRlciIsInNvcnQiLCJzY3JvbGxfdmlld19zaXplIiwic2V0dGluZyIsIml0ZW1fY2xhc3MiLCJzdGFydF94Iiwic3BhY2VfeCIsInN0YXJ0X3kiLCJzcGFjZV95IiwiaXRlbV93aWR0aCIsIml0ZW1faGVpZ2h0Iiwicm93IiwiY29sIiwibmVlZF9keW5hbWljIiwiY3JlYXRlU2Nyb2xsIiwiU2Nyb2xsVmlld0RpciIsInZlcnRpY2FsIiwiU2Nyb2xsVmlld1N0YXJ0UG9zIiwidG9wIiwiY2FsbF9iYWNrIiwiaXRlbSIsInZvIiwiaXNfY2FuX2dldCIsImdldElzQ2FuR2V0Iiwic2VuZGVyMTM1MzYiLCJpZCIsInNldFJlZEJhZ1ZvIiwib3Blbkxvb2tXaW5kb3ciLCJzZXREYXRhIiwic2V0VmlzaWJsZVN0YXR1cyIsInNldFZpc2libGUiLCJ1cGRhdGVMaXN0RGF0YSIsImdldEl0ZW1MaXN0IiwiaW5kZXgiLCJpIiwidiIsIk5vZGUiLCJzZXRDb250ZW50U2l6ZSIsInNldEFuY2hvclBvaW50Iiwic2V0UG9zaXRpb24iLCJhZGRDaGlsZCIsInJlcyIsImdldEJpZ0JnIiwiZW1wdHlfYmciLCJjcmVhdGVJbWFnZSIsImxvYWRSZXMiLCJzZl9vYmoiLCJzcHJpdGVGcmFtZSIsImVtcHR5X2xhYmVsIiwiY3JlYXRlTGFiZWwiLCJDb2xvciIsInN0ciIsIlRJMThOIiwic3RyaW5nIiwiYWN0aXZlIiwib3BlblJvb3RXbmQiLCJvblNob3ciLCJkYXRhIiwib25EZWxldGUiLCJkZXN0cm95IiwiRGVsZXRlTWUiLCJ1bmJpbmQiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQUlBLFFBQVEsR0FBR0MsT0FBTyxDQUFDLFVBQUQsQ0FBdEI7O0FBQ0EsSUFBSUMsZ0JBQWdCLEdBQUdELE9BQU8sQ0FBQyxtQkFBRCxDQUE5Qjs7QUFDQSxJQUFJRSxXQUFXLEdBQUdGLE9BQU8sQ0FBQyxjQUFELENBQXpCOztBQUNBLElBQUlHLFVBQVUsR0FBR0gsT0FBTyxDQUFDLGFBQUQsQ0FBeEI7O0FBQ0EsSUFBSUksZ0JBQWdCLEdBQUdKLE9BQU8sQ0FBQyxtQkFBRCxDQUE5Qjs7QUFFQSxJQUFJSyxjQUFjLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQzFCLGFBQVNDLFNBRGlCO0FBRTFCQyxFQUFBQSxJQUFJLEVBQUUsZ0JBQVk7QUFDZCxTQUFLQyxVQUFMLEdBQWtCWCxRQUFRLENBQUNZLGFBQVQsQ0FBdUIsUUFBdkIsRUFBaUMsWUFBakMsQ0FBbEI7QUFDQSxTQUFLQyxJQUFMLEdBQVlYLGdCQUFn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RUFBQUEsV0FBVyxFQUFFLHVCQUFZLENBRXhCLENBN0l5QjtBQStJMUJDLEVBQUFBLE1BQU0sRUFBRSxrQkFBWSxDQUNuQixDQWhKeUI7QUFrSjFCNUIsRUFBQUEsT0FBTyxFQUFFLGlCQUFVNkIsSUFBVixFQUFnQixDQUV4QixDQXBKeUI7QUFzSjFCQyxFQUFBQSxRQUFRLEVBQUUsb0JBQVk7QUFDbEIsUUFBSSxLQUFLaEYsU0FBVCxFQUFvQjtBQUNoQixXQUFLQSxTQUFMLENBQWVpRixPQUFmO0FBQ0EsV0FBS1gsV0FBTCxDQUFpQlcsT0FBakI7QUFDQSxXQUFLaEIsUUFBTCxDQUFjZ0IsT0FBZDtBQUNBLFdBQUtqRixTQUFMLEdBQWlCLElBQWpCO0FBQ0EsV0FBS2lFLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQSxXQUFLSyxXQUFMLEdBQW1CLElBQW5CO0FBQ0g7O0FBQ0QsUUFBSSxLQUFLbkQsV0FBVCxFQUFzQjtBQUNsQixXQUFLQSxXQUFMLENBQWlCK0QsUUFBakI7QUFDQSxXQUFLL0QsV0FBTCxHQUFtQixJQUFuQjtBQUNIOztBQUNELFFBQUksS0FBS2IsaUJBQVQsRUFBNEI7QUFDeEJDLE1BQUFBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQjJFLE1BQWxCLENBQXlCLEtBQUs3RSxpQkFBOUI7QUFDQSxXQUFLQSxpQkFBTCxHQUF5QixJQUF6QjtBQUNIO0FBQ0o7QUF2S3lCLENBQVQsQ0FBckI7QUEwS0E4RSxNQUFNLENBQUNDLE9BQVAsR0FBaUJwRyxjQUFqQiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gQGF1dGhvcjogQHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXHJcbi8vIEBkZXNjcmlwdGlvbjpcclxuLy8gICAgICDmiqLnuqLljIVcclxuLy8gPGJyLz5DcmVhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxudmFyIFBhdGhUb29sID0gcmVxdWlyZShcInBhdGh0b29sXCIpO1xyXG52YXIgUmVkYmFnQ29udHJvbGxlciA9IHJlcXVpcmUoXCJyZWRiYWdfY29udHJvbGxlclwiKTtcclxudmFyIFJlZGJhZ0V2ZW50ID0gcmVxdWlyZShcInJlZGJhZ19ldmVudFwiKTtcclxudmFyIFJlZEJhZ0l0ZW0gPSByZXF1aXJlKFwicmVkYmFnX2l0ZW1cIik7XHJcbnZhciBDb21tb25TY3JvbGxWaWV3ID0gcmVxdWlyZShcImNvbW1vbl9zY3JvbGx2aWV3XCIpO1xyXG5cclxudmFyIFJlZEJhZ0dldFBhbmVsID0gY2MuQ2xhc3Moe1xyXG4gICAgZXh0ZW5kczogQmFzZVBhbmVsLFxyXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJyZWRiYWdcIiwgXCJyZWRiYWdfZ2V0XCIpO1xyXG4gICAgICAgIHRoaXMuY3RybCA9IFJlZGJhZ0NvbnRyb2xsZXIuZ2V0SW5zdGFuY2UoKTtcclxuICAgICAgICB0aGlzLnNpemUgPSBjYy52Mig2NDQsIDc0MCk7XHJcbiAgICAgICAgdGhpcy5ib29sID0gZmFsc2U7XHJcbiAgICB9LFxyXG5cclxuICAgIGluaXRQYW5lbDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMubWFpbl9wYW5lbCA9IHRoaXMuc2Vla0NoaWxkKFwibWFpbl9wYW5lbFwiKTtcclxuICAgICAgICBpZiAodGhpcy5lbXB0eV9jb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zaG93RW1wdHlJY29uKHRoaXMuYm9vbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlQmFnTGlzdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmlzX2V2ZW50ICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVCYWdMaXN0KHRoaXMuaXNfZXZlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgcmVnaXN0ZXJFdmVudDogZnVuY3Rpb24gKHN0YXR1cykge1xyXG4gICAgICAgIC8vIGlmICghc3RhdHVzKSB7XHJcbiAgICAgICAgLy8gICAgIGlmICh0aGlzLnVwZGF0ZV9kYXRhX2V2ZW50KSB7XHJcbiAgICAgICAgLy8gICAgICAgICBnY29yZS5HbG9iYWxFdmVudC51bmJpbmQodGhpcy51cGRhdGVfZGF0YV9ldmVudCk7XHJcbiAgICAgICAgLy8gICAgICAgICB0aGlzLnVwZGF0ZV9kYXRhX2V2ZW50ID0gbnVsbDtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gICAgIGlmICghdGhpcy51cGRhdGVfZGF0YV9ldmVudCkge1xyXG4gICAgICAgIC8vICAgICAgICAgdGhpcy51cGRhdGVfZGF0YV9ldmVudCA9IGdjb3JlLkdsb2JhbEV2ZW50LmJpbmQoUmVkYmFnRXZlbnQuR2V0X0RhdGFfRXZlbnQsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLnVwZGF0ZUJhZ0xpc3QodHJ1ZSk7XHJcbiAgICAgICAgLy8gICAgICAgICB9LmJpbmQodGhpcykpXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaWYgKCF0aGlzLnVwZGF0ZV9kYXRhX2V2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlX2RhdGFfZXZlbnQgPSBnY29yZS5HbG9iYWxFdmVudC5iaW5kKFJlZGJhZ0V2ZW50LkdldF9EYXRhX0V2ZW50LCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUJhZ0xpc3QodHJ1ZSk7XHJcbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSlcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIHVwZGF0ZUJhZ0xpc3Q6IGZ1bmN0aW9uIChpc19ldmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLnJvb3Rfd25kID09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5pc19ldmVudCA9IGlzX2V2ZW50O1xyXG4gICAgICAgICAgICByZXR1cm5cclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHJlZF9iYWdfbGlzdCA9IHRoaXMuY3RybC5nZXRNb2RlbCgpLmdldFJlZEJhZ0xpc3QoKSB8fCBbXTtcclxuICAgICAgICB2YXIgbGlzdCA9IFV0aWxzLmRlZXBDb3B5KHJlZF9iYWdfbGlzdCk7XHJcbiAgICAgICAgaWYgKCFsaXN0IHx8IFV0aWxzLm5leHQobGlzdCkgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dFbXB0eUljb24odHJ1ZSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNjcm9sbF92aWV3KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbF92aWV3LnNldFJvb3RWaXNpYmxlKGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0VtcHR5SWNvbihmYWxzZSk7XHJcbiAgICAgICAgICAgIHZhciBzb3J0X2Z1bmMgPSBVdGlscy50YWJsZVVwcGVyU29ydGVyKFtcIm9yZGVyXCJdKTtcclxuICAgICAgICAgICAgbGlzdC5zb3J0KHNvcnRfZnVuYyk7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zY3JvbGxfdmlldykge1xyXG4gICAgICAgICAgICAgICAgdmFyIHNjcm9sbF92aWV3X3NpemUgPSBjYy5zaXplKDU3MCwgNzkwKTtcclxuICAgICAgICAgICAgICAgIHZhciBzZXR0aW5nID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1fY2xhc3M6IFJlZEJhZ0l0ZW0sICAgICAgLy8g5Y2V5YWD57G7XHJcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRfeDogMTAsICAgICAgICAgICAgICAgICAgICAvLyDnrKzkuIDkuKrljZXlhYPnmoRY6LW354K5XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhY2VfeDogMjMsICAgICAgICAgICAgICAgICAgICAvLyB45pa55ZCR55qE6Ze06ZqUXHJcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRfeTogNSwgICAgICAgICAgICAgICAgICAgIC8vIOesrOS4gOS4quWNleWFg+eahFnotbfngrlcclxuICAgICAgICAgICAgICAgICAgICBzcGFjZV95OiAxMCwgICAgICAgICAgICAgICAgICAgLy8geeaWueWQkeeahOmXtOmalFxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1fd2lkdGg6IDI2MiwgICAgICAgICAgICAgICAvLyDljZXlhYPnmoTlsLrlr7h3aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1faGVpZ2h0OiAzMjcsICAgICAgICAgICAgICAvLyDljZXlhYPnmoTlsLrlr7hoZWlnaHRcclxuICAgICAgICAgICAgICAgICAgICByb3c6IDIsICAgICAgICAgICAgICAgICAgICAgICAgLy8g6KGM5pWw77yM5L2c55So5LqO5rC05bmz5rua5Yqo57G75Z6LXHJcbiAgICAgICAgICAgICAgICAgICAgY29sOiAyLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWIl+aVsO+8jOS9nOeUqOS6juWeguebtOa7muWKqOexu+Wei1xyXG4gICAgICAgICAgICAgICAgICAgIG5lZWRfZHluYW1pYzogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxfdmlldyA9IG5ldyBDb21tb25TY3JvbGxWaWV3KClcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsX3ZpZXcuY3JlYXRlU2Nyb2xsKHRoaXMubWFpbl9wYW5lbCwgY2MudjIoMCwgMCksIFNjcm9sbFZpZXdEaXIudmVydGljYWwsIFNjcm9sbFZpZXdTdGFydFBvcy50b3AsIHNjcm9sbF92aWV3X3NpemUsIHNldHRpbmcsIGNjLnYyKDAuNSwgMC41KSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNjcm9sbF92aWV3LnNldFJvb3RWaXNpYmxlKHRydWUpO1xyXG4gICAgICAgICAgICAvLyBpZiAoaXNfZXZlbnQgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5zY3JvbGxfdmlldy5yZXNldEFkZFBvc2l0aW9uKGxpc3QpO1xyXG4gICAgICAgICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAgICAgICB2YXIgY2FsbF9iYWNrID0gZnVuY3Rpb24gKGl0ZW0sIHZvKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodm8gJiYgVXRpbHMubmV4dCh2bykgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBpc19jYW5fZ2V0ID0gaXRlbS5nZXRJc0NhbkdldCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc19jYW5fZ2V0ID09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdHJsLnNlbmRlcjEzNTM2KHZvLmlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdHJsLnNldFJlZEJhZ1ZvKHZvKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN0cmwub3Blbkxvb2tXaW5kb3codHJ1ZSwgdm8pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfS5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsX3ZpZXcuc2V0RGF0YShsaXN0LCBjYWxsX2JhY2spO1xyXG5cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgc2V0VmlzaWJsZVN0YXR1czogZnVuY3Rpb24gKGJvb2wpIHtcclxuICAgICAgICB0aGlzLnNldFZpc2libGUoYm9vbCk7XHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50KGJvb2wpO1xyXG5cclxuICAgICAgICAvL+i/memHjOWBmuS4gOasoeWkhOeQhuaYr+WboOS4uuWPr+iDveWIh+aNouS6huagh+etvumhteS5i+WQjizoh6rlt7Hlj5HkuobnuqLljIXmsqHmm7TmlrBcclxuICAgICAgICBpZiAoYm9vbCA9PSB0cnVlICYmIHRoaXMucm9vdF93bmQpXHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQmFnTGlzdCgpO1xyXG4gICAgfSxcclxuXHJcbiAgICAvL+S7heS7heabtOaWsO+8jOS4jeWFqOmDqOmHjeaWsOWIm+W7ulxyXG4gICAgdXBkYXRlTGlzdERhdGE6IGZ1bmN0aW9uIChyZWRfYmFnX2xpc3QpIHtcclxuICAgICAgICB2YXIgbGlzdCA9IHRoaXMuc2Nyb2xsX3ZpZXcuZ2V0SXRlbUxpc3QoKTtcclxuICAgICAgICB2YXIgaW5kZXggPSAxO1xyXG4gICAgICAgIGZvciAodmFyIGkgaW4gcmVkX2JhZ19saXN0KSB7XHJcbiAgICAgICAgICAgIHZhciB2ID0gcmVkX2JhZ19saXN0W2ldO1xyXG4gICAgICAgICAgICBpZiAobGlzdFtpbmRleF0pIHtcclxuICAgICAgICAgICAgICAgIGxpc3RbaW5kZXhdLnNldERhdGEodik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5kZXggPSBpbmRleCArIDE7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBzaG93RW1wdHlJY29uOiBmdW5jdGlvbiAoYm9vbCkge1xyXG4gICAgICAgIGlmICghdGhpcy5lbXB0eV9jb24gJiYgYm9vbCA9PSBmYWxzZSB8fCB0aGlzLm1haW5fcGFuZWwgPT0gbnVsbCkgcmV0dXJuXHJcbiAgICAgICAgdGhpcy5ib29sID0gYm9vbDtcclxuICAgICAgICBpZiAoIXRoaXMuZW1wdHlfY29uKSB7XHJcbiAgICAgICAgICAgIHZhciBzaXplID0gY2Muc2l6ZSgyMDAsIDIwMCk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1wdHlfY29uID0gbmV3IGNjLk5vZGUoKTtcclxuICAgICAgICAgICAgdGhpcy5lbXB0eV9jb24uc2V0Q29udGVudFNpemUoc2l6ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1wdHlfY29uLnNldEFuY2hvclBvaW50KGNjLnYyKDAuNSwgMC41KSk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1wdHlfY29uLnNldFBvc2l0aW9uKGNjLnYyKDAsIDApKTtcclxuICAgICAgICAgICAgdGhpcy5tYWluX3BhbmVsLmFkZENoaWxkKHRoaXMuZW1wdHlfY29uKTtcclxuICAgICAgICAgICAgdmFyIHJlcyA9IFBhdGhUb29sLmdldEJpZ0JnKFwiYmlnYmdfM1wiKTtcclxuICAgICAgICAgICAgdGhpcy5lbXB0eV9iZyA9IFV0aWxzLmNyZWF0ZUltYWdlKHRoaXMuZW1wdHlfY29uLCBudWxsLCAwLCAwLCBjYy52MigwLjUsIDAuNSksIGZhbHNlKVxyXG4gICAgICAgICAgICB0aGlzLmxvYWRSZXMocmVzLCBmdW5jdGlvbiAoc2Zfb2JqKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVtcHR5X2JnLnNwcml0ZUZyYW1lID0gc2Zfb2JqO1xyXG4gICAgICAgICAgICB9LmJpbmQodGhpcykpXHJcbiAgICAgICAgICAgIHRoaXMuZW1wdHlfbGFiZWwgPSBVdGlscy5jcmVhdGVMYWJlbCgyNiwgbmV3IGNjLkNvbG9yKDB4NjgsIDB4NDUsIDB4MmEsIDB4ZmYpLCBudWxsLCAwLCAtMTAwLCBcIlwiLCB0aGlzLmVtcHR5X2NvbiwgMCwgY2MudjIoMC41LCAwLjUpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHN0ciA9IFV0aWxzLlRJMThOKFwi5b2T5YmN5rKh5pyJ5Y+v5Lul5oqi55qE57qi5YyF77yM5LiN5p2l5LiA5Y+R5ZCX77yfXCIpO1xyXG4gICAgICAgIHRoaXMuZW1wdHlfbGFiZWwuc3RyaW5nID0gc3RyO1xyXG4gICAgICAgIHRoaXMuZW1wdHlfY29uLmFjdGl2ZSA9IGJvb2w7XHJcblxyXG4gICAgfSxcclxuXHJcbiAgICBvcGVuUm9vdFduZDogZnVuY3Rpb24gKCkge1xyXG5cclxuICAgIH0sXHJcblxyXG4gICAgb25TaG93OiBmdW5jdGlvbiAoKSB7XHJcbiAgICB9LFxyXG5cclxuICAgIHNldERhdGE6IGZ1bmN0aW9uIChkYXRhKSB7XHJcblxyXG4gICAgfSxcclxuXHJcbiAgICBvbkRlbGV0ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmVtcHR5X2Nvbikge1xyXG4gICAgICAgICAgICB0aGlzLmVtcHR5X2Nvbi5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1wdHlfbGFiZWwuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB0aGlzLmVtcHR5X2JnLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgdGhpcy5lbXB0eV9jb24gPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLmVtcHR5X2JnID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5lbXB0eV9sYWJlbCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNjcm9sbF92aWV3KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsX3ZpZXcuRGVsZXRlTWUoKTtcclxuICAgICAgICAgICAgdGhpcy5zY3JvbGxfdmlldyA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZV9kYXRhX2V2ZW50KSB7XHJcbiAgICAgICAgICAgIGdjb3JlLkdsb2JhbEV2ZW50LnVuYmluZCh0aGlzLnVwZGF0ZV9kYXRhX2V2ZW50KTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVfZGF0YV9ldmVudCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59KTtcclxuXHJcbm1vZHVsZS5leHBvcnRzID0gUmVkQmFnR2V0UGFuZWw7Il19
|