(function() { var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined'; var __module = nodeEnv ? module : {exports:{}}; var __filename = 'preview-scripts/assets/Scripts/mod/backpack/backpack_const.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, 'db1e5MGeN1HQqhX41nowxKA', 'backpack_const'); // Scripts/mod/backpack/backpack_const.js "use strict"; var _BackPackConst$tips_b; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // -------------------------------------------------------------------- // @author: shiraho@syg.com(必填, 创建模块的人员) // @description: // 背包通用常量 //
Create: new Date().toISOString() // -------------------------------------------------------------------- var BackPackConst = { Bag_Code: { BACKPACK: 1, // 背包 STORAGE: 2, // 仓库 EQUIPS: 3 // 装备 }, item_tab_type: { OTHERS: 0, // 其他 EQUIPS: 1, // 装备 PROPS: 2, // 道具 HERO: 3, // 英雄 SPECIAL: 4, // 特殊 HOLYEQUIPMENT: 5 // 神装 }, quality: { white: 0, // 白 green: 1, // 绿 blue: 2, // 蓝 purple: 3, // 紫 orange: 4, // 橙 red: 5 // 红 }, item_type: { NORMAL: 0, // 普通 WEAPON: 1, // 武器 SHOE: 2, // 鞋子 CLOTHES: 3, // 衣服 HAT: 4, // 头盔 ASSET: 7, // 资产 MATERIALS: 9, // 材料 ARTIFACTCHIPS: 10, // 神器(现在叫 符文) GOD_EARRING: 23, // 神装_耳环 GOD_RING: 24, // 神装_戒指 GOD_NECKLACE: 25, // 神装_项链 GOD_BANGLE: 26, // 神装_手镯 GIFT: 100, // 礼包 FREE_GIFT: 101, // 自选礼包 PARTNER_DEBRIS: 102, // 伙伴碎片 STAR_SOUL: 105, // 星命 WEEK_CARD: 27, // 周卡 HERO_SKIN: 28 // 英雄皮肤 }, // 背包中物品的使用类型,只区分消耗和非消耗类 item_use_type: { NO_DIRECT_USE: 0, // 不能直接使用 CONSUM: 1, // 消耗,直接使用的 NO_CONSUM: 2, // 不消耗 EQUIP: 3, // 穿戴 BATCH_USE: 4 // 批量使用 }, // 物品tips按钮需要枚举 tips_btn_type: { source: 1, //来源 goods_use: 2, //普通物品使用 boss_source: 3, //跳转世界boss界面 drama_new_source: 4, //跳转剧情副本最新的关卡页面 drama_source: 5, //跳转剧情副本界面 hero_source: 6, //跳转英雄信息界面 skill_source: 7, //跳转英雄技能界面 form_source: 8, //跳转编队阵法界面 call_source: 9, //跳转召唤界面 artifact_source: 10, //跳转神器重铸界面 redbag: 11, //红包 head: 12, //个人设置头像 chenghao: 13, //个人设置称号 stone_upgrade: 14, //跳转宝石升级界面 partner_character: 15, //跳转形象设置 arena_source: 16, //跳转竞技场 low_treasure: 17, //跳转幸运探宝 high_treasure: 18, //跳转高级探宝 seerpalace_summon: 19, // 先知殿 seerpalace_change: 20, // 先知召唤 tanwei: 20, //摆摊 sell: 21, //出售 sell2: 22, //按物品表填的价值出售 fenjie: 30, //分解 hecheng: 31, //英雄碎片合成 hecheng2: 32, //神器合成 upgrade_star: 33, // 伙伴直升卡,升星的 halidom: 34, // 跳转到圣物 heaven_book: 35, /// 神装图鉴 item_sell: 37 //道具出售 }, // 物品消耗使用还是出售 ItemConsumeType: { use: 1, sell: 2, resolve: 3, special: 4 }, // 监测是否为装备 checkIsEquip: function checkIsEquip(type) { return type == this.item_type.WEAPON || type == this.item_type.SHOE || type == this.item_type.CLOTHES || type == this.item_type.HAT; }, checkIsArtifact: function checkIsArtifact(type) { return type == BackPackConst.item_type.ARTIFACTCHIPS; }, // 获取品质色 quality_color: function quality_color(quality) { if (quality == this.quality.green) { return gdata("color_data", "data_color16", 178); } else if (quality == this.quality.blue) { return gdata("color_data", "data_color16", 203); } else if (quality == this.quality.purple) { return gdata("color_data", "data_color16", 185); } else if (quality == this.quality.orange) { return gdata("color_data", "data_color16", 184); } else if (quality == this.quality.red) { return gdata("color_data", "data_color16", 206); } else { return gdata("color_data", "data_color16", 1); } }, // 通用获取属性值 getAttrValue: function getAttrValue(attr_key, attr_val) { if (attr_key == null || attr_key == "" || attr_val == null || attr_val == 0) { return 0; } var val_type = gdata("attr_data", "data_type", attr_key); if (val_type == null || val_type == 1) { return attr_val; } return attr_val * 0.1 + "%"; }, getEquipTipsColor: function getEquipTipsColor(quality) { quality = quality || 0; if (quality == this.quality.red) { return new cc.Color(0xff, 0x9c, 0x97, 0xff); } else if (quality == this.quality.orange) { return new cc.Color(0xff, 0xed, 0x8b, 0xff); } else if (quality == this.quality.purple) { return new cc.Color(0xd4, 0xae, 0xff, 0xff); } else if (quality == this.quality.blue) { return new cc.Color(0x98, 0xfb, 0xff, 0xff); } else if (quality == this.quality.green) { return new cc.Color(0x8b, 0xff, 0x8e, 0xff); } else return new cc.Color(0xd9, 0xd9, 0xd9, 0xff); } }; BackPackConst.tips_btn_title = (_BackPackConst$tips_b = {}, _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.source, "来源"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.goods_use, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.boss_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.drama_new_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.drama_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.hero_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.skill_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.form_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.call_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.artifact_source, "重铸"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.redbag, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.head, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.chenghao, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.stone_upgrade, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.partner_character, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.arena_source, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.low_treasure, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.high_treasure, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.tanwei, "摆摊"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.sell, "出售"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.sell2, "出售"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.fenjie, "分解"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.hecheng, "合成"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.hecheng2, "合成"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.upgrade_star, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.seerpalace_summon, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.seerpalace_change, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.halidom, "使用"), _defineProperty(_BackPackConst$tips_b, BackPackConst.tips_btn_type.item_sell, "出售"), _BackPackConst$tips_b), // -- 物品的使用效果,使用这个物品可以获得 BackPackConst.item_effect_type = { GOLD: 1, // -- 使用这类物品可以获得钻石 COIN: 2, EXP: 3, PARTNER_EXP: 4, // -- 获得伙伴经验 PARTNER_DEBRIS: 5, //-- 伙伴碎片 BUFF: 6, // -- buff PARTNER: 7, //-- 获得伙伴 GIFT: 8 //-- 商城特惠礼包时效 }; BackPackConst.getWhiteQualityColorStr = function (quality) { quality = quality || 0; if (quality == BackPackConst.quality.red) { return Config.color_data.data_color16[206]; } else if (quality == BackPackConst.quality.orange) { return Config.color_data.data_color16[184]; } else if (quality == BackPackConst.quality.purple) { return Config.color_data.data_color16[185]; } else if (quality == BackPackConst.quality.blue) { return Config.color_data.data_color16[203]; } else if (quality == BackPackConst.quality.green) { return Config.color_data.data_color16[178]; } else { return Config.color_data.data_color16[274]; } }; //是否周卡 BackPackConst.checkoutIsWeekCard = function (data_type) { if (data_type) { if (data_type == BackPackConst.item_type.WEEK_CARD) { return true; } else { return false; } } return false; }, //是否皮肤 BackPackConst.checkIsHeroSkin = function (_type) { if (!_type) return false; if (_type == BackPackConst.item_type.HERO_SKIN) { return true; } return false; }, module.exports = BackPackConst; 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxiYWNrcGFja1xcYmFja3BhY2tfY29uc3QuanMiXSwibmFtZXMiOlsiQmFja1BhY2tDb25zdCIsIkJhZ19Db2RlIiwiQkFDS1BBQ0siLCJTVE9SQUdFIiwiRVFVSVBTIiwiaXRlbV90YWJfdHlwZSIsIk9USEVSUyIsIlBST1BTIiwiSEVSTyIsIlNQRUNJQUwiLCJIT0xZRVFVSVBNRU5UIiwicXVhbGl0eSIsIndoaXRlIiwiZ3JlZW4iLCJibHVlIiwicHVycGxlIiwib3JhbmdlIiwicmVkIiwiaXRlbV90eXBlIiwiTk9STUFMIiwiV0VBUE9OIiwiU0hPRSIsIkNMT1RIRVMiLCJIQVQiLCJBU1NFVCIsIk1BVEVSSUFMUyIsIkFSVElGQUNUQ0hJUFMiLCJHT0RfRUFSUklORyIsIkdPRF9SSU5HIiwiR09EX05FQ0tMQUNFIiwiR09EX0JBTkdMRSIsIkdJRlQiLCJGUkVFX0dJRlQiLCJQQVJUTkVSX0RFQlJJUyIsIlNUQVJfU09VTCIsIldFRUtfQ0FSRCIsIkhFUk9fU0tJTiIsIml0ZW1fdXNlX3R5cGUiLCJOT19ESVJFQ1RfVVNFIiwiQ09OU1VNIiwiTk9fQ09OU1VNIiwiRVFVSVAiLCJCQVRDSF9VU0UiLCJ0aXBzX2J0bl90eXBlIiwic291cmNlIiwiZ29vZHNfdXNlIiwiYm9zc19zb3VyY2UiLCJkcmFtYV9uZXdfc291cmNlIiwiZHJhbWFfc291cmNlIiwiaGVyb19zb3VyY2UiLCJza2lsbF9zb3VyY2UiLCJmb3JtX3NvdXJjZSIsImNhbGxfc291cmNlIiwiYXJ0aWZhY3Rfc291cmNlIiwicmVkYmFnIiwiaGVhZCIsImNoZW5naGFvIiwic3RvbmVfdXBncmFkZSIsInBhcnRuZXJfY2hhcmFjdGVyIiwiYXJlbmFfc291cmNlIiwibG93X3RyZWFzdXJlIiwiaGlnaF90cmVhc3VyZSIsInNlZXJwYWxhY2Vfc3VtbW9uIiwic2VlcnBhbGFjZV9jaGFuZ2UiLCJ0YW53ZWkiLCJzZWxsIiwic2VsbDIiLCJmZW5qaWUiLCJoZWNoZW5nIiwiaGVjaGVuZzIiLCJ1cGdyYWRlX3N0YXIiLCJoYWxpZG9tIiwiaGVhdmVuX2Jvb2siLCJpdGVtX3NlbGwiLCJJdGVtQ29uc3VtZVR5cGUiLCJ1c2UiLCJyZXNvbHZlIiwic3BlY2lhbCIsImNoZWNrSXNFcXVpcCIsInR5cGUiLCJjaGVja0lzQXJ0aWZhY3QiLCJxdWFsaXR5X2NvbG9yIiwiZ2RhdGEiLCJnZXRBdHRyVmFsdWUiLCJhdHRyX2tleSIsImF0dHJfdmFsIiwidmFsX3R5cGUiLCJnZXRFcXVpcFRpcHNDb2xvciIsImNjIiwiQ29sb3IiLCJ0aXBzX2J0bl90aXRsZSIsIml0ZW1fZWZmZWN0X3R5cGUiLCJHT0xEIiwiQ09JTiIsIkVYUCIsIlBBUlRORVJfRVhQIiwiQlVGRiIsIlBBUlRORVIiLCJnZXRXaGl0ZVF1YWxpdHlDb2xvclN0ciIsIkNvbmZpZyIsImNvbG9yX2RhdGEiLCJkYXRhX2NvbG9yMTYiLCJjaGVja291dElzV2Vla0NhcmQiLCJkYXRhX3R5cGUiLCJjaGVja0lzSGVyb1NraW4iLCJfdHlwZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLElBQUlBLGFBQWEsR0FBRztBQUNoQkMsRUFBQUEsUUFBUSxFQUFDO0FBQ0xDLElBQUFBLFFBQVEsRUFBRSxDQURMO0FBQ1c7QUFDaEJDLElBQUFBLE9BQU8sRUFBRSxDQUZKO0FBRVc7QUFDaEJDLElBQUFBLE1BQU0sRUFBRSxDQUhILENBR1c7O0FBSFgsR0FETztBQU9oQkMsRUFBQUEsYUFBYSxFQUFDO0FBQ1ZDLElBQUFBLE1BQU0sRUFBRSxDQURFO0FBQ007QUFDaEJGLElBQUFBLE1BQU0sRUFBRSxDQUZFO0FBRU07QUFDaEJHLElBQUFBLEtBQUssRUFBRSxDQUhHO0FBR007QUFDaEJDLElBQUFBLElBQUksRUFBQyxDQUpLO0FBSU07QUFDaEJDLElBQUFBLE9BQU8sRUFBRSxDQUxDO0FBS007QUFDaEJDLElBQUFB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QU9zRixNQUFNLENBQUNDLFVBQVAsQ0FBa0JDLFlBQWxCLENBQStCLEdBQS9CLENBQVA7QUFDSCxHQUZLLE1BRUQ7QUFDRCxXQUFPRixNQUFNLENBQUNDLFVBQVAsQ0FBa0JDLFlBQWxCLENBQStCLEdBQS9CLENBQVA7QUFDSDtBQUNKLENBZkQsRUFnQkE7OztBQUNBckcsYUFBYSxDQUFDc0csa0JBQWQsR0FBbUMsVUFBU0MsU0FBVCxFQUFtQjtBQUNsRCxNQUFHQSxTQUFILEVBQWE7QUFDVCxRQUFHQSxTQUFTLElBQUl2RyxhQUFhLENBQUNrQixTQUFkLENBQXdCaUIsU0FBeEMsRUFBa0Q7QUFDOUMsYUFBTyxJQUFQO0FBQ0gsS0FGRCxNQUVLO0FBQ0QsYUFBTyxLQUFQO0FBQ0g7QUFDSjs7QUFDRCxTQUFPLEtBQVA7QUFDSCxDQVRELEVBVUE7QUFDQW5DLGFBQWEsQ0FBQ3dHLGVBQWQsR0FBZ0MsVUFBU0MsS0FBVCxFQUFlO0FBQzNDLE1BQUcsQ0FBQ0EsS0FBSixFQUFXLE9BQU8sS0FBUDs7QUFDWCxNQUFJQSxLQUFLLElBQUl6RyxhQUFhLENBQUNrQixTQUFkLENBQXdCa0IsU0FBckMsRUFBK0M7QUFDM0MsV0FBTyxJQUFQO0FBQ0g7O0FBQ0QsU0FBTyxLQUFQO0FBQ0gsQ0FqQkQsRUFrQkFzRSxNQUFNLENBQUNDLE9BQVAsR0FBaUIzRyxhQWxCakIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiBzaGlyYWhvQHN5Zy5jb20o5b+F5aGrLCDliJvlu7rmqKHlnZfnmoTkurrlkZgpXG4vLyBAZGVzY3JpcHRpb246XG4vLyAgICAgIOiDjOWMhemAmueUqOW4uOmHjyBcbi8vIDxici8+Q3JlYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnZhciBCYWNrUGFja0NvbnN0ID0ge1xuICAgIEJhZ19Db2RlOntcbiAgICAgICAgQkFDS1BBQ0s6IDEsICAgIC8vIOiDjOWMhVxuICAgICAgICBTVE9SQUdFOiAyLCAgICAgLy8g5LuT5bqTXG4gICAgICAgIEVRVUlQUzogMywgICAgICAvLyDoo4XlpIdcbiAgICB9LFxuXG4gICAgaXRlbV90YWJfdHlwZTp7XG4gICAgICAgIE9USEVSUzogMCwgICAgICAvLyDlhbbku5ZcbiAgICAgICAgRVFVSVBTOiAxLCAgICAgIC8vIOijheWkh1xuICAgICAgICBQUk9QUzogMiwgICAgICAgLy8g6YGT5YW3XG4gICAgICAgIEhFUk86MywgICAgICAgICAvLyDoi7Hpm4RcbiAgICAgICAgU1BFQ0lBTDogNCwgICAgIC8vIOeJueauilxuICAgICAgICBIT0xZRVFVSVBNRU5UOjUsLy8g56We6KOFXG4gICAgfSxcblxuICAgIHF1YWxpdHk6e1xuICAgICAgICB3aGl0ZTogMCwgICAgICAgICAgLy8g55m9XG4gICAgICAgIGdyZWVuOiAxLCAgICAgICAgICAvLyDnu79cbiAgICAgICAgYmx1ZTogMiwgICAgICAgICAgIC8vIOiTnVxuICAgICAgICBwdXJwbGU6IDMsICAgICAgICAgLy8g57SrXG4gICAgICAgIG9yYW5nZTogNCwgICAgICAgICAvLyDmqZlcbiAgICAgICAgcmVkOiA1ICAgICAgICAgICAgIC8vIOe6olxuICAgIH0sXG5cbiAgICBpdGVtX3R5cGU6IHtcbiAgICAgICAgTk9STUFMOiAwLCAgICAgICAgICAgICAgICAgIC8vIOaZrumAmlxuICAgICAgICBXRUFQT046IDEsICAgICAgICAgICAgICAgICAgLy8g5q2m5ZmoXG4gICAgICAgIFNIT0U6IDIsICAgICAgICAgICAgICAgICAgICAvLyDpnovlrZBcbiAgICAgICAgQ0xPVEhFUzogMywgICAgICAgICAgICAgICAgIC8vIOiho+acjVxuICAgICAgICBIQVQ6IDQsICAgICAgICAgICAgICAgICAgICAgLy8g5aS055uUXG4gICAgICAgIEFTU0VUOiA3LCAgICAgICAgICAgICAgICAgICAvLyDotYTkuqdcbiAgICAgICAgTUFURVJJQUxTOiA5LCAgICAgICAgICAgICAgIC8vIOadkOaWmVxuICAgICAgICBBUlRJRkFDVENISVBTOiAxMCwgICAgICAgICAgLy8g56We5ZmoKOeOsOWcqOWPqyDnrKbmlocpXG4gICAgICAgIEdPRF9FQVJSSU5HOiAyMywgICAgICAgICAgICAvLyDnpZ7oo4Vf6ICz546vXG4gICAgICAgIEdPRF9SSU5HOiAyNCwgICAgICAgICAgICAgICAvLyDnpZ7oo4Vf5oiS5oyHXG4gICAgICAgIEdPRF9ORUNLTEFDRTogMjUsICAgICAgICAgICAvLyDnpZ7oo4Vf6aG56ZO+XG4gICAgICAgIEdPRF9CQU5HTEUgOiAyNiwgICAgICAgICAgICAvLyDnpZ7oo4Vf5omL6ZWvXG4gICAgICAgIEdJRlQ6IDEwMCwgICAgICAgICAgICAgICAgICAvLyDnpLzljIVcbiAgICAgICAgRlJFRV9HSUZUOiAxMDEsICAgICAgICAgICAgIC8vIOiHqumAieekvOWMhVxuICAgICAgICBQQVJUTkVSX0RFQlJJUzogMTAyLCAgICAgICAgLy8g5LyZ5Ly056KO54mHXG4gICAgICAgIFNUQVJfU09VTDogMTA1LCAgICAgICAgICAgICAvLyDmmJ/lkb1cbiAgICAgICAgV0VFS19DQVJEOiAyNywgICAgICAgICAgICAgIC8vIOWRqOWNoVxuICAgICAgICBIRVJPX1NLSU46IDI4LCAgICAgICAgICAgICAgLy8g6Iux6ZuE55qu6IKkXG4gICAgfSxcblxuICAgIC8vICDog4zljIXkuK3nianlk4HnmoTkvb/nlKjnsbvlnoss5Y+q5Yy65YiG5raI6ICX5ZKM6Z2e5raI6ICX57G7XG4gICAgaXRlbV91c2VfdHlwZToge1xuICAgICAgICBOT19ESVJFQ1RfVVNFOiAwLCAgICAgICAgICAgICAgICAvLyDkuI3og73nm7TmjqXkvb/nlKhcbiAgICAgICAgQ09OU1VNOiAxLCAgICAgICAgICAgICAgICAvLyDmtojogJcs55u05o6l5L2/55So55qEXG4gICAgICAgIE5PX0NPTlNVTTogMiwgICAgICAgICAgICAgICAgLy8g5LiN5raI6ICXXG4gICAgICAgIEVRVUlQOiAzLCAgICAgICAgICAgICAgICAvLyDnqb/miLRcbiAgICAgICAgQkFUQ0hfVVNFOiA0LCAgICAgICAgICAgICAgICAvLyDmibnph4/kvb/nlKhcbiAgICB9LFxuICAgIFxuICAgIC8vIOeJqeWTgXRpcHPmjInpkq7pnIDopoHmnprkuL5cblxuICAgIHRpcHNfYnRuX3R5cGU6IHtcbiAgICAgICAgc291cmNlOiAxLCAgICAgICAgICAgICAgLy/mnaXmupBcbiAgICAgICAgZ29vZHNfdXNlOiAyLCAgICAgICAgICAgLy/mma7pgJrnianlk4Hkvb/nlKhcbiAgICAgICAgYm9zc19zb3VyY2U6IDMsICAgICAgICAgLy/ot7PovazkuJbnlYxib3Nz55WM6Z2iXG4gICAgICAgIGRyYW1hX25ld19zb3VyY2U6IDQsICAgIC8v6Lez6L2s5Ymn5oOF5Ymv5pys5pyA5paw55qE5YWz5Y2h6aG16Z2iXG4gICAgICAgIGRyYW1hX3NvdXJjZTogNSwgICAgICAgIC8v6Lez6L2s5Ymn5oOF5Ymv5pys55WM6Z2iXG4gICAgICAgIGhlcm9fc291cmNlOiA2LCAgICAgICAgIC8v6Lez6L2s6Iux6ZuE5L+h5oGv55WM6Z2iXG4gICAgICAgIHNraWxsX3NvdXJjZTogNywgICAgICAgIC8v6Lez6L2s6Iux6ZuE5oqA6IO955WM6Z2iXG4gICAgICAgIGZvcm1fc291cmNlOiA4LCAgICAgICAgIC8v6Lez6L2s57yW6Zif6Zi15rOV55WM6Z2iXG4gICAgICAgIGNhbGxfc291cmNlOiA5LCAgICAgICAgIC8v6Lez6L2s5Y+s5ZSk55WM6Z2iXG4gICAgICAgIGFydGlmYWN0X3NvdXJjZTogMTAsICAgIC8v6Lez6L2s56We5Zmo6YeN6ZO455WM6Z2iXG4gICAgICAgIHJlZGJhZzogMTEsICAgICAgICAgICAgIC8v57qi5YyFXG4gICAgICAgIGhlYWQ6IDEyLCAgICAgICAgICAgICAgIC8v5Liq5Lq66K6+572u5aS05YOPXG4gICAgICAgIGNoZW5naGFvOiAxMywgICAgICAgICAgIC8v5Liq5Lq66K6+572u56ew5Y+3XG4gICAgICAgIHN0b25lX3VwZ3JhZGU6IDE0LCAgICAgIC8v6Lez6L2s5a6d55+z5Y2H57qn55WM6Z2iXG4gICAgICAgIHBhcnRuZXJfY2hhcmFjdGVyOiAxNSwgIC8v6Lez6L2s5b2i6LGh6K6+572uXG4gICAgICAgIGFyZW5hX3NvdXJjZSAgICAgOiAxNiwgIC8v6Lez6L2s56ue5oqA5Zy6XG4gICAgICAgIGxvd190cmVhc3VyZSAgICAgOiAxNywgIC8v6Lez6L2s5bm46L+Q5o6i5a6dXG4gICAgICAgIGhpZ2hfdHJlYXN1cmUgICAgIDogMTgsICAvL+i3s+i9rOmrmOe6p+aOouWunVxuICAgICAgICBzZWVycGFsYWNlX3N1bW1vbjogMTksICAvLyDlhYjnn6Xmrr9cbiAgICAgICAgc2VlcnBhbGFjZV9jaGFuZ2U6IDIwLCAgLy8g5YWI55+l5Y+s5ZSkXG4gICAgICAgIHRhbndlaTogMjAsICAgICAgICAgICAgIC8v5pGG5pGKXG4gICAgICAgIHNlbGw6IDIxLCAgICAgICAgICAgICAgIC8v5Ye65ZSuXG4gICAgICAgIHNlbGwyOiAyMiwgICAgICAgICAgICAgIC8v5oyJ54mp5ZOB6KGo5aGr55qE5Lu35YC85Ye65ZSuXG4gICAgICAgIGZlbmppZTogMzAsICAgICAgICAgICAgIC8v5YiG6KejXG4gICAgICAgIGhlY2hlbmc6IDMxLCAgICAgICAgICAgIC8v6Iux6ZuE56KO54mH5ZCI5oiQXG4gICAgICAgIGhlY2hlbmcyOiAzMiwgICAgICAgICAgIC8v56We5Zmo5ZCI5oiQXG4gICAgICAgIHVwZ3JhZGVfc3RhcjogMzMsICAgICAgIC8vIOS8meS8tOebtOWNh+WNoSzljYfmmJ/nmoRcbiAgICAgICAgaGFsaWRvbTogMzQsICAgICAgICAgICAgLy8g6Lez6L2s5Yiw5Zyj54mpXG4gICAgICAgIGhlYXZlbl9ib29rIDogMzUsICAgICAgIC8vLyDnpZ7oo4Xlm77pibRcbiAgICAgICAgaXRlbV9zZWxsICA6ICAzNywgICAgICAgLy/pgZPlhbflh7rllK4gXG4gICAgfSxcblxuICAgIC8vIOeJqeWTgea2iOiAl+S9v+eUqOi/mOaYr+WHuuWUrlxuICAgIEl0ZW1Db25zdW1lVHlwZTp7XG4gICAgICAgIHVzZTogMSxcbiAgICAgICAgc2VsbDogMixcbiAgICAgICAgcmVzb2x2ZTogMyxcbiAgICAgICAgc3BlY2lhbDogNCxcbiAgICB9LFxuXG4gICAgLy8g55uR5rWL5piv5ZCm5Li66KOF5aSHXG4gICAgY2hlY2tJc0VxdWlwOmZ1bmN0aW9uKHR5cGUpe1xuICAgICAgICByZXR1cm4gdHlwZSA9PSB0aGlzLml0ZW1fdHlwZS5XRUFQT04gfHwgdHlwZSA9PSB0aGlzLml0ZW1fdHlwZS5TSE9FIHx8IHR5cGUgPT0gdGhpcy5pdGVtX3R5cGUuQ0xPVEhFUyB8fCB0eXBlID09IHRoaXMuaXRlbV90eXBlLkhBVFxuICAgIH0sXG5cbiAgICBjaGVja0lzQXJ0aWZhY3Q6IGZ1bmN0aW9uKHR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT0gQmFja1BhY2tDb25zdC5pdGVtX3R5cGUuQVJUSUZBQ1RDSElQU1xuICAgIH0sXG5cbiAgICAvLyDojrflj5blk4HotKjoibJcbiAgICBxdWFsaXR5X2NvbG9yOmZ1bmN0aW9uKHF1YWxpdHkpe1xuICAgICAgICBpZihxdWFsaXR5ID09IHRoaXMucXVhbGl0eS5ncmVlbil7XG4gICAgICAgICAgICByZXR1cm4gZ2RhdGEoXCJjb2xvcl9kYXRhXCIsIFwiZGF0YV9jb2xvcjE2XCIsIDE3OClcbiAgICAgICAgfWVsc2UgaWYocXVhbGl0eSA9PSB0aGlzLnF1YWxpdHkuYmx1ZSl7XG4gICAgICAgICAgICByZXR1cm4gZ2RhdGEoXCJjb2xvcl9kYXRhXCIsIFwiZGF0YV9jb2xvcjE2XCIsIDIwMylcbiAgICAgICAgfWVsc2UgaWYocXVhbGl0eSA9PSB0aGlzLnF1YWxpdHkucHVycGxlKXtcbiAgICAgICAgICAgIHJldHVybiBnZGF0YShcImNvbG9yX2RhdGFcIiwgXCJkYXRhX2NvbG9yMTZcIiwgMTg1KVxuICAgICAgICB9ZWxzZSBpZihxdWFsaXR5ID09IHRoaXMucXVhbGl0eS5vcmFuZ2Upe1xuICAgICAgICAgICAgcmV0dXJuIGdkYXRhKFwiY29sb3JfZGF0YVwiLCBcImRhdGFfY29sb3IxNlwiLCAxODQpXG4gICAgICAgIH1lbHNlIGlmKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5LnJlZCl7XG4gICAgICAgICAgICByZXR1cm4gZ2RhdGEoXCJjb2xvcl9kYXRhXCIsIFwiZGF0YV9jb2xvcjE2XCIsIDIwNilcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICByZXR1cm4gZ2RhdGEoXCJjb2xvcl9kYXRhXCIsIFwiZGF0YV9jb2xvcjE2XCIsIDEpXG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLy8g6YCa55So6I635Y+W5bGe5oCn5YC8XG4gICAgZ2V0QXR0clZhbHVlOmZ1bmN0aW9uKGF0dHJfa2V5LCBhdHRyX3ZhbCl7XG4gICAgICAgIGlmIChhdHRyX2tleSA9PSBudWxsIHx8IGF0dHJfa2V5ID09IFwiXCIgfHwgYXR0cl92YWwgPT0gbnVsbCB8fCBhdHRyX3ZhbCA9PSAwKXtcbiAgICAgICAgICAgIHJldHVybiAwXG4gICAgICAgIH1cbiAgICAgICAgdmFyIHZhbF90eXBlID0gZ2RhdGEoXCJhdHRyX2RhdGFcIiwgXCJkYXRhX3R5cGVcIiwgYXR0cl9rZXkpXG4gICAgICAgIGlmICh2YWxfdHlwZSA9PSBudWxsIHx8IHZhbF90eXBlID09IDEpe1xuICAgICAgICAgICAgcmV0dXJuIGF0dHJfdmFsXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGF0dHJfdmFsKjAuMStcIiVcIlxuICAgIH0sXG5cbiAgICBnZXRFcXVpcFRpcHNDb2xvcjogZnVuY3Rpb24gKHF1YWxpdHkpIHtcbiAgICAgICAgcXVhbGl0eSA9IHF1YWxpdHkgfHwgMDtcbiAgICAgICAgaWYgKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5LnJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBjYy5Db2xvcigweGZmLCAweDljLCAweDk3LCAweGZmKVxuICAgICAgICB9IGVsc2UgaWYgKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5Lm9yYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBjYy5Db2xvcigweGZmLCAweGVkLCAweDhiLCAweGZmKVxuICAgICAgICB9IGVsc2UgaWYgKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5LnB1cnBsZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBjYy5Db2xvcigweGQ0LCAweGFlLCAweGZmLCAweGZmKVxuICAgICAgICB9IGVsc2UgaWYgKHF1YWxpdHkgPT0gdGhpcy5xdWFsaXR5LmJsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgY2MuQ29sb3IoMHg5OCwgMHhmYiwgMHhmZiwgMHhmZilcbiAgICAgICAgfSBlbHNlIGlmIChxdWFsaXR5ID09IHRoaXMucXVhbGl0eS5ncmVlbikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBjYy5Db2xvcigweDhiLCAweGZmLCAweDhlLCAweGZmKVxuICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgIHJldHVybiBuZXcgY2MuQ29sb3IoMHhkOSwgMHhkOSwgMHhkOSwgMHhmZilcbiAgICB9LFxufTtcblxuQmFja1BhY2tDb25zdC50aXBzX2J0bl90aXRsZSA9IHtcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLnNvdXJjZV0gICAgICAgICAgICA6IFwi5p2l5rqQXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5nb29kc191c2VdICAgICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuYm9zc19zb3VyY2VdICAgICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmRyYW1hX25ld19zb3VyY2VdICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5kcmFtYV9zb3VyY2VdICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuaGVyb19zb3VyY2VdICAgICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLnNraWxsX3NvdXJjZV0gICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5mb3JtX3NvdXJjZV0gICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuY2FsbF9zb3VyY2VdICAgICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmFydGlmYWN0X3NvdXJjZV0gICA6IFwi6YeN6ZO4XCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5yZWRiYWddICAgICAgICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuaGVhZF0gICAgICAgICAgICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmNoZW5naGFvXSAgICAgICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5zdG9uZV91cGdyYWRlXSAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUucGFydG5lcl9jaGFyYWN0ZXJdIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmFyZW5hX3NvdXJjZV0gICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5sb3dfdHJlYXN1cmVdICAgICAgOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuaGlnaF90cmVhc3VyZV0gICAgIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLnRhbndlaV0gICAgICAgICAgICA6IFwi5pGG5pGKXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5zZWxsXSAgICAgICAgICAgICAgOiBcIuWHuuWUrlwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuc2VsbDJdICAgICAgICAgICAgIDogXCLlh7rllK5cIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmZlbmppZV0gICAgICAgICAgICA6IFwi5YiG6KejXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5oZWNoZW5nXSAgICAgICAgICAgOiBcIuWQiOaIkFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuaGVjaGVuZzJdICAgICAgICAgIDogXCLlkIjmiJBcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLnVwZ3JhZGVfc3Rhcl0gICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5zZWVycGFsYWNlX3N1bW1vbl0gOiBcIuS9v+eUqFwiLFxuICAgIFtCYWNrUGFja0NvbnN0LnRpcHNfYnRuX3R5cGUuc2VlcnBhbGFjZV9jaGFuZ2VdIDogXCLkvb/nlKhcIixcbiAgICBbQmFja1BhY2tDb25zdC50aXBzX2J0bl90eXBlLmhhbGlkb21dICAgICAgICAgICA6IFwi5L2/55SoXCIsXG4gICAgW0JhY2tQYWNrQ29uc3QudGlwc19idG5fdHlwZS5pdGVtX3NlbGxdICAgICAgICAgOiBcIuWHuuWUrlwiLFxufSxcbi8vIC0tIOeJqeWTgeeahOS9v+eUqOaViOaenCzkvb/nlKjov5nkuKrnianlk4Hlj6/ku6XojrflvpdcbkJhY2tQYWNrQ29uc3QuaXRlbV9lZmZlY3RfdHlwZSA9IHtcbiAgICBHT0xEIDogMSwgICAgICAgICAgICAgICAgICAvLyAtLSDkvb/nlKjov5nnsbvnianlk4Hlj6/ku6Xojrflvpfpkrvnn7NcbiAgICBDT0lOIDogMixcbiAgICBFWFAgOiAzLFxuICAgIFBBUlRORVJfRVhQIDogNCwgICAgICAgICAgIC8vIC0tIOiOt+W+l+S8meS8tOe7j+mqjFxuICAgIFBBUlRORVJfREVCUklTIDogNSwgICAgICAgIC8vLS0g5LyZ5Ly056KO54mHXG4gICAgQlVGRiA6IDYsICAgICAgICAgICAgICAgICAgLy8gLS0gYnVmZlxuICAgIFBBUlRORVIgOiA3LCAgICAgICAgICAgICAgIC8vLS0g6I635b6X5LyZ5Ly0XG4gICAgR0lGVCA6IDggICAgICAgICAgICAgICAgICAgIC8vLS0g5ZWG5Z+O54m55oOg56S85YyF5pe25pWIXG59XG5CYWNrUGFja0NvbnN0LmdldFdoaXRlUXVhbGl0eUNvbG9yU3RyID0gZnVuY3Rpb24ocXVhbGl0eSl7XG4gICAgcXVhbGl0eSA9IHF1YWxpdHkgfHwgMFxuICAgIGlmKHF1YWxpdHkgPT0gQmFja1BhY2tDb25zdC5xdWFsaXR5LnJlZCl7XG4gICAgICAgIHJldHVybiBDb25maWcuY29sb3JfZGF0YS5kYXRhX2NvbG9yMTZbMjA2XSBcbiAgICB9ZWxzZSBpZihxdWFsaXR5ID09IEJhY2tQYWNrQ29uc3QucXVhbGl0eS5vcmFuZ2UpeyBcbiAgICAgICAgcmV0dXJuIENvbmZpZy5jb2xvcl9kYXRhLmRhdGFfY29sb3IxNlsxODRdIFxuICAgIH1lbHNlIGlmKHF1YWxpdHkgPT0gQmFja1BhY2tDb25zdC5xdWFsaXR5LnB1cnBsZSl7IFxuICAgICAgICByZXR1cm4gQ29uZmlnLmNvbG9yX2RhdGEuZGF0YV9jb2xvcjE2WzE4NV0gXG4gICAgfWVsc2UgaWYocXVhbGl0eSA9PSBCYWNrUGFja0NvbnN0LnF1YWxpdHkuYmx1ZSl7IFxuICAgICAgICByZXR1cm4gQ29uZmlnLmNvbG9yX2RhdGEuZGF0YV9jb2xvcjE2WzIwM10gXG4gICAgfWVsc2UgaWYocXVhbGl0eSA9PSBCYWNrUGFja0NvbnN0LnF1YWxpdHkuZ3JlZW4peyBcbiAgICAgICAgcmV0dXJuIENvbmZpZy5jb2xvcl9kYXRhLmRhdGFfY29sb3IxNlsxNzhdIFxuICAgIH1lbHNle1xuICAgICAgICByZXR1cm4gQ29uZmlnLmNvbG9yX2RhdGEuZGF0YV9jb2xvcjE2WzI3NF0gXG4gICAgfVxufVxuLy/mmK/lkKblkajljaFcbkJhY2tQYWNrQ29uc3QuY2hlY2tvdXRJc1dlZWtDYXJkID0gZnVuY3Rpb24oZGF0YV90eXBlKXtcbiAgICBpZihkYXRhX3R5cGUpe1xuICAgICAgICBpZihkYXRhX3R5cGUgPT0gQmFja1BhY2tDb25zdC5pdGVtX3R5cGUuV0VFS19DQVJEKXtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG59LFxuLy/mmK/lkKbnmq7ogqRcbkJhY2tQYWNrQ29uc3QuY2hlY2tJc0hlcm9Ta2luID0gZnVuY3Rpb24oX3R5cGUpe1xuICAgIGlmKCFfdHlwZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChfdHlwZSA9PSBCYWNrUGFja0NvbnN0Lml0ZW1fdHlwZS5IRVJPX1NLSU4pe1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2Vcbn0sXG5tb2R1bGUuZXhwb3J0cyA9IEJhY2tQYWNrQ29uc3Q7Il19