(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/vip/view/charge_item.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, 'ba1f3Rd+mxBKbCDqZ7N7cCb', 'charge_item'); // Scripts/mod/vip/view/charge_item.js "use strict"; // -------------------------------------------------------------------- // @author: xxx@syg.com(必填, 创建模块的人员) // @description: // 这里是描述这个窗体的作用的 //
Create: 2019-04-19 16:38:43 // -------------------------------------------------------------------- var PathTool = require("pathtool"); var Charge_itemPanel = cc.Class({ "extends": BasePanel, ctor: function ctor() { this.prefabPath = PathTool.getPrefabPath("vip", "charge_item"); }, // 可以初始化声明一些变量的 initConfig: function initConfig() {}, // 初始化一些配置数据,可以用于声明一些变量之类的 initPanel: function initPanel() { this.main_container = this.seekChild("main_container"); this.price_container = this.seekChild("price_container"); this.coin_sp = this.seekChild(this.price_container, "coin", cc.Sprite); this.price_lb = this.seekChild(this.price_container, "price", cc.Label); this.icon_sp = this.seekChild(this.main_container, "icon", cc.Sprite); this.loadRes(PathTool.getItemRes(3), function (sp) { this.coin_sp.spriteFrame = sp; }.bind(this)); this.charge_price_lb = this.seekChild("charge_price", cc.Label); this.extra_bg_nd = this.seekChild("extra_bg"); this.extra_bg_nd.active = false; this.extra_desc_lb = this.seekChild(this.extra_bg_nd, "give", cc.Label); this.extra_rt = this.seekChild("extra_label", cc.RichText); this.confirm_bg_nd = this.seekChild("confirm_bg"); this.confirm_bg_nd.active = false; this.confirm_tips_nd = this.seekChild("confirm_tips"); this.confirm_tips_nd.active = false; this.first_bg_nd = this.seekChild("first_bg"); this.first_bg_nd.active = false; this.first_lb = this.seekChild(this.first_bg_nd, "first_label", cc.Label); }, // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent registerEvent: function registerEvent() { this.root_wnd.on(cc.Node.EventType.TOUCH_END, function () { if (this.callback) { this.callback(this); } if (this.confirm_tips_nd.active) { SDK.pay(this.data.need_rmb / 100, null, this.data.id, this.data.name, null, null, null); this.confirm_tips_nd.active = false; this.confirm_bg_nd.active = false; } else { this.confirm_tips_nd.active = true; this.confirm_bg_nd.active = true; } }, this); }, setData: function setData(data) { this.data = data; if (this.root_wnd) this.onShow(); }, // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了 onShow: function onShow() { if (this.data == null) return; var data = this.data; this.charge_price_lb.string = data.need_rmb / 100; this.price_lb.string = data.get_gold; if (data.is_first == 1) { this.first_bg_nd.active = true; } else { this.first_bg_nd.active = false; } if (data.add_gold > 0) { this.extra_bg_nd.active = true; this.extra_desc_lb.string = Utils.TI18N("赠"); var res = PathTool.getItemRes(Utils.getItemConfig(4).icon); this.extra_rt.string = cc.js.formatStr(Utils.TI18N("%s"), Utils.getItemConfig(4).icon, data.add_gold); this.loadRes(res, function (resObject) { this.extra_rt.addSpriteFrame(resObject); }.bind(this)); } else if (data.id == 1 || data.id == 2) { this.coin_sp.node.active = false; this.price_lb.string = data.name; this.extra_bg_nd.active = true; this.extra_desc_lb.string = Utils.TI18N("即得"); var res = PathTool.getItemRes(Utils.getItemConfig(Config.item_data.data_assets_label2id.gold).icon); this.extra_rt.string = cc.js.formatStr(TI18N("%s"), Utils.getItemConfig(Config.item_data.data_assets_label2id.gold).icon, data.get_gold); this.loadRes(res, function (resObject) { this.extra_rt.addSpriteFrame(resObject); }.bind(this)); this.icon_sp.node.scale = 0.8; this.updateYuekaInfoData(data); } this.loadRes(PathTool.getUIIconPath("vip", "vip_icon" + data.pic), function (sp) { this.icon_sp.spriteFrame = sp; }.bind(this)); }, updateYuekaInfoData: function updateYuekaInfoData(data) {}, getData: function getData() { return this.data; }, setSelect: function setSelect(status) { this.confirm_tips_nd.active = status; this.confirm_bg_nd.active = status; }, addCallBack: function addCallBack(value) { this.callback = value; }, // 面板设置不可见的回调,这里做一些不可见的屏蔽处理 onHide: function onHide() {}, // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用 onDelete: function onDelete() {} }); 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFx2aXBcXHZpZXdcXGNoYXJnZV9pdGVtLmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkNoYXJnZV9pdGVtUGFuZWwiLCJjYyIsIkNsYXNzIiwiQmFzZVBhbmVsIiwiY3RvciIsInByZWZhYlBhdGgiLCJnZXRQcmVmYWJQYXRoIiwiaW5pdENvbmZpZyIsImluaXRQYW5lbCIsIm1haW5fY29udGFpbmVyIiwic2Vla0NoaWxkIiwicHJpY2VfY29udGFpbmVyIiwiY29pbl9zcCIsIlNwcml0ZSIsInByaWNlX2xiIiwiTGFiZWwiLCJpY29uX3NwIiwibG9hZFJlcyIsImdldEl0ZW1SZXMiLCJzcCIsInNwcml0ZUZyYW1lIiwiYmluZCIsImNoYXJnZV9wcmljZV9sYiIsImV4dHJhX2JnX25kIiwiYWN0aXZlIiwiZXh0cmFfZGVzY19sYiIsImV4dHJhX3J0IiwiUmljaFRleHQiLCJjb25maXJtX2JnX25kIiwiY29uZmlybV90aXBzX25kIiwiZmlyc3RfYmdfbmQiLCJmaXJzdF9sYiIsInJlZ2lzdGVyRXZlbnQiLCJyb290X3duZCIsIm9uIiwiTm9kZSIsIkV2ZW50VHlwZSIsIlRPVUNIX0VORCIsImNhbGxiYWNrIiwiU0RLIiwicGF5IiwiZGF0YSIsIm5lZWRfcm1iIiwiaWQiLCJuYW1lIiwic2V0RGF0YSIsIm9uU2hvdyIsInN0cmluZyIsImdldF9nb2xkIiwiaXNfZmlyc3QiLCJhZGRfZ29sZCIsIlV0aWxzIiwiVEkxOE4iLCJyZXMiLCJnZXRJdGVtQ29uZmlnIiwiaWNvbiIsImpzIiwiZm9ybWF0U3RyIiwicmVzT2JqZWN0IiwiYWRkU3ByaXRlRnJhbWUiLCJub2RlIiwiQ29uZmlnIiwiaXRlbV9kYXRhIiwiZGF0YV9hc3NldHNfbGFiZWwyaWQiLCJnb2xkIiwic2NhbGUiLCJ1cGRhdGVZdWVrYUluZm9EYXRhIiwiZ2V0VUlJY29uUGF0aCIsInBpYyIsImdldERhdGEiLCJzZXRTZWxlY3QiLCJzdGF0dXMi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QUNqQixXQUFPLEtBQUs1QixJQUFaO0FBQ0gsR0EzRzJCO0FBNkc1QjZCLEVBQUFBLFNBQVMsRUFBRSxtQkFBVUMsTUFBVixFQUFrQjtBQUN6QixTQUFLMUMsZUFBTCxDQUFxQkwsTUFBckIsR0FBOEIrQyxNQUE5QjtBQUNBLFNBQUszQyxhQUFMLENBQW1CSixNQUFuQixHQUE0QitDLE1BQTVCO0FBQ0gsR0FoSDJCO0FBa0g1QkMsRUFBQUEsV0FBVyxFQUFFLHFCQUFVQyxLQUFWLEVBQWlCO0FBQzFCLFNBQUtuQyxRQUFMLEdBQWdCbUMsS0FBaEI7QUFDSCxHQXBIMkI7QUFzSDVCO0FBQ0FDLEVBQUFBLE1BQU0sRUFBRSxrQkFBWSxDQUVuQixDQXpIMkI7QUEySDVCO0FBQ0FDLEVBQUFBLFFBQVEsRUFBRSxvQkFBWSxDQUVyQjtBQTlIMkIsQ0FBVCxDQUF2QiIsInNvdXJjZVJvb3QiOiIvIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgIOi/memHjOaYr+aPj+i/sOi/meS4queql+S9k+eahOS9nOeUqOeahFxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDQtMTkgMTY6Mzg6NDNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG52YXIgQ2hhcmdlX2l0ZW1QYW5lbCA9IGNjLkNsYXNzKHtcbiAgICBleHRlbmRzOiBCYXNlUGFuZWwsXG4gICAgY3RvcjogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnByZWZhYlBhdGggPSBQYXRoVG9vbC5nZXRQcmVmYWJQYXRoKFwidmlwXCIsIFwiY2hhcmdlX2l0ZW1cIik7XG4gICAgfSxcblxuICAgIC8vIOWPr+S7peWIneWni+WMluWjsOaYjuS4gOS6m+WPmOmHj+eahFxuICAgIGluaXRDb25maWc6IGZ1bmN0aW9uICgpIHtcbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRQYW5lbDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLm1haW5fY29udGFpbmVyID0gdGhpcy5zZWVrQ2hpbGQoXCJtYWluX2NvbnRhaW5lclwiKTtcblxuICAgICAgICB0aGlzLnByaWNlX2NvbnRhaW5lciA9IHRoaXMuc2Vla0NoaWxkKFwicHJpY2VfY29udGFpbmVyXCIpO1xuICAgICAgICB0aGlzLmNvaW5fc3AgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLnByaWNlX2NvbnRhaW5lciwgXCJjb2luXCIsIGNjLlNwcml0ZSk7XG4gICAgICAgIHRoaXMucHJpY2VfbGIgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLnByaWNlX2NvbnRhaW5lciwgXCJwcmljZVwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMuaWNvbl9zcCA9IHRoaXMuc2Vla0NoaWxkKHRoaXMubWFpbl9jb250YWluZXIsIFwiaWNvblwiLCBjYy5TcHJpdGUpO1xuXG4gICAgICAgIHRoaXMubG9hZFJlcyhQYXRoVG9vbC5nZXRJdGVtUmVzKDMpLCBmdW5jdGlvbiAoc3ApIHtcbiAgICAgICAgICAgIHRoaXMuY29pbl9zcC5zcHJpdGVGcmFtZSA9IHNwO1xuICAgICAgICB9LmJpbmQodGhpcykpXG5cbiAgICAgICAgdGhpcy5jaGFyZ2VfcHJpY2VfbGIgPSB0aGlzLnNlZWtDaGlsZChcImNoYXJnZV9wcmljZVwiLCBjYy5MYWJlbCk7XG4gICAgICAgIHRoaXMuZXh0cmFfYmdfbmQgPSB0aGlzLnNlZWtDaGlsZChcImV4dHJhX2JnXCIpO1xuICAgICAgICB0aGlzLmV4dHJhX2JnX25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4dHJhX2Rlc2NfbGIgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLmV4dHJhX2JnX25kLCBcImdpdmVcIiwgY2MuTGFiZWwpO1xuXG4gICAgICAgIHRoaXMuZXh0cmFfcnQgPSB0aGlzLnNlZWtDaGlsZChcImV4dHJhX2xhYmVsXCIsIGNjLlJpY2hUZXh0KTtcblxuICAgICAgICB0aGlzLmNvbmZpcm1fYmdfbmQgPSB0aGlzLnNlZWtDaGlsZChcImNvbmZpcm1fYmdcIik7XG4gICAgICAgIHRoaXMuY29uZmlybV9iZ19uZC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb25maXJtX3RpcHNfbmQgPSB0aGlzLnNlZWtDaGlsZChcImNvbmZpcm1fdGlwc1wiKTtcbiAgICAgICAgdGhpcy5jb25maXJtX3RpcHNfbmQuYWN0aXZlID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5maXJzdF9iZ19uZCA9IHRoaXMuc2Vla0NoaWxkKFwiZmlyc3RfYmdcIik7XG4gICAgICAgIHRoaXMuZmlyc3RfYmdfbmQuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmlyc3RfbGIgPSB0aGlzLnNlZWtDaGlsZCh0aGlzLmZpcnN0X2JnX25kLCBcImZpcnN0X2xhYmVsXCIsIGNjLkxhYmVsKTtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5LqL5Lu255uR5ZCs55qE5o6l5Y+jLOS4jemcgOimgeaJi+WKqOiwg+eUqCzlpoLmnpzmmK/kvb/nlKhnY29yZS5HbG9iYWxFdmVudOebkeWQrCzlj6/ku6Xnm7TmjqXosIPnlKhhZGRHbG9iYWxFdmVudFxuICAgIHJlZ2lzdGVyRXZlbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5yb290X3duZC5vbihjYy5Ob2RlLkV2ZW50VHlwZS5UT1VDSF9FTkQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxsYmFjayh0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpcm1fdGlwc19uZC5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBTREsucGF5KHRoaXMuZGF0YS5uZWVkX3JtYiAvIDEwMCwgbnVsbCwgdGhpcy5kYXRhLmlkLCB0aGlzLmRhdGEubmFtZSxudWxsLG51bGwsbnVsbCkgXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtX3RpcHNfbmQuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25maXJtX2JnX25kLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1fdGlwc19uZC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlybV9iZ19uZC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCB0aGlzKVxuICAgIH0sXG5cbiAgICBzZXREYXRhOiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICBpZiAodGhpcy5yb290X3duZClcbiAgICAgICAgICAgIHRoaXMub25TaG93KCk7XG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIPlj6/ku6Xorr7nva7kuIDkupvmlbDmja7kuoZcbiAgICBvblNob3c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSA9PSBudWxsKSByZXR1cm5cbiAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgIHRoaXMuY2hhcmdlX3ByaWNlX2xiLnN0cmluZyA9IGRhdGEubmVlZF9ybWIgLyAxMDA7XG4gICAgICAgIHRoaXMucHJpY2VfbGIuc3RyaW5nID0gZGF0YS5nZXRfZ29sZDtcbiAgICAgICAgaWYgKGRhdGEuaXNfZmlyc3QgPT0gMSkge1xuICAgICAgICAgICAgdGhpcy5maXJzdF9iZ19uZC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maXJzdF9iZ19uZC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkYXRhLmFkZF9nb2xkID4gMCkge1xuICAgICAgICAgICAgdGhpcy5leHRyYV9iZ19uZC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5leHRyYV9kZXNjX2xiLnN0cmluZyA9IFV0aWxzLlRJMThOKFwi6LWgXCIpO1xuICAgICAgICAgICAgdmFyIHJlcyA9IFBhdGhUb29sLmdldEl0ZW1SZXMoVXRpbHMuZ2V0SXRlbUNvbmZpZyg0KS5pY29uKVxuICAgICAgICAgICAgdGhpcy5leHRyYV9ydC5zdHJpbmcgPSBjYy5qcy5mb3JtYXRTdHIoVXRpbHMuVEkxOE4oXCI8aW1nIHNyYz0nJXMnIHNjYWxlPTAuMyAvPjxvdXRsaW5lIHdpZHRoPTIgY29sb3I9IzViMmMwNj4lczwvb3V0bGluZT5cIiksIFV0aWxzLmdldEl0ZW1Db25maWcoNCkuaWNvbiwgZGF0YS5hZGRfZ29sZCk7XG4gICAgICAgICAgICB0aGlzLmxvYWRSZXMocmVzLCAoZnVuY3Rpb24gKHJlc09iamVjdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXh0cmFfcnQuYWRkU3ByaXRlRnJhbWUocmVzT2JqZWN0KTtcbiAgICAgICAgICAgIH0pLmJpbmQodGhpcykpO1xuICAgICAgICB9IGVsc2UgaWYgKGRhdGEuaWQgPT0gMSB8fCBkYXRhLmlkID09IDIpIHtcbiAgICAgICAgICAgIHRoaXMuY29pbl9zcC5ub2RlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5wcmljZV9sYi5zdHJpbmcgPSBkYXRhLm5hbWU7XG4gICAgICAgICAgICB0aGlzLmV4dHJhX2JnX25kLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmV4dHJhX2Rlc2NfbGIuc3RyaW5nID0gVXRpbHMuVEkxOE4oXCLljbPlvpdcIik7XG4gICAgICAgICAgICB2YXIgcmVzID0gUGF0aFRvb2wuZ2V0SXRlbVJlcyhVdGlscy5nZXRJdGVtQ29uZmlnKENvbmZpZy5pdGVtX2RhdGEuZGF0YV9hc3NldHNfbGFiZWwyaWQuZ29sZCkuaWNvbilcbiAgICAgICAgICAgIHRoaXMuZXh0cmFfcnQuc3RyaW5nID0gY2MuanMuZm9ybWF0U3RyKFRJMThOKFwiPGltZyBzcmM9JyVzJyBzY2FsZT0wLjMgLz48b3V0bGluZSB3aWR0aD0yIGNvbG9yPSM1YjJjMDY+JXM8L291dGxpbmU+XCIpLCBVdGlscy5nZXRJdGVtQ29uZmlnKENvbmZpZy5pdGVtX2RhdGEuZGF0YV9hc3NldHNfbGFiZWwyaWQuZ29sZCkuaWNvbiwgZGF0YS5nZXRfZ29sZCk7XG4gICAgICAgICAgICB0aGlzLmxvYWRSZXMocmVzLCAoZnVuY3Rpb24gKHJlc09iamVjdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXh0cmFfcnQuYWRkU3ByaXRlRnJhbWUocmVzT2JqZWN0KTtcbiAgICAgICAgICAgIH0pLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5pY29uX3NwLm5vZGUuc2NhbGUgPSAwLjg7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVl1ZWthSW5mb0RhdGEoZGF0YSlcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRSZXMoUGF0aFRvb2wuZ2V0VUlJY29uUGF0aChcInZpcFwiLCBcInZpcF9pY29uXCIgKyBkYXRhLnBpYyksIGZ1bmN0aW9uIChzcCkge1xuICAgICAgICAgICAgdGhpcy5pY29uX3NwLnNwcml0ZUZyYW1lID0gc3A7XG4gICAgICAgIH0uYmluZCh0aGlzKSlcbiAgICB9LFxuXG4gICAgdXBkYXRlWXVla2FJbmZvRGF0YTogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgXG4gICAgfSxcblxuICAgIGdldERhdGE6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVxuICAgIH0sXG5cbiAgICBzZXRTZWxlY3Q6IGZ1bmN0aW9uIChzdGF0dXMpIHtcbiAgICAgICAgdGhpcy5jb25maXJtX3RpcHNfbmQuYWN0aXZlID0gc3RhdHVzO1xuICAgICAgICB0aGlzLmNvbmZpcm1fYmdfbmQuYWN0aXZlID0gc3RhdHVzO1xuICAgIH0sXG5cbiAgICBhZGRDYWxsQmFjazogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuY2FsbGJhY2sgPSB2YWx1ZTtcbiAgICB9LFxuXG4gICAgLy8g6Z2i5p2/6K6+572u5LiN5Y+v6KeB55qE5Zue6LCDLOi/memHjOWBmuS4gOS6m+S4jeWPr+ingeeahOWxj+iUveWkhOeQhlxuICAgIG9uSGlkZTogZnVuY3Rpb24gKCkge1xuXG4gICAgfSxcblxuICAgIC8vIOW9k+mdouadv+S7juS4u+iKgueCuemHiuaUvuaOieeahOiwg+eUqOaOpeWPoyzpnIDopoHmiYvliqjosIPnlKgs6ICM5LiU5Lmf5LiA5a6a6KaB6LCD55SoXG4gICAgb25EZWxldGU6IGZ1bmN0aW9uICgpIHtcblxuICAgIH0sXG59KSJdfQ==