"use strict";
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
});
|
};
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
function step(op) {
|
if (f) throw new TypeError("Generator is already executing.");
|
while (_) try {
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
switch (op[0]) {
|
case 0: case 1: t = op; break;
|
case 4: _.label++; return { value: op[1], done: false };
|
case 5: _.label++; y = op[1]; op = [0]; continue;
|
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
default:
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
if (t[2]) _.ops.pop();
|
_.trys.pop(); continue;
|
}
|
op = body.call(thisArg, _);
|
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
}
|
};
|
Component({
|
options: {
|
addGlobalClass: true,
|
multipleSlots: true
|
},
|
properties: {
|
isMustAuthorizePhone: {
|
type: Boolean,
|
value: true
|
},
|
isMustAuthorizeAvatar: {
|
type: Boolean,
|
value: true
|
},
|
isRefreshAuthorizeInfo: {
|
type: Boolean,
|
value: false
|
},
|
},
|
data: {
|
hasUserInfo: false,
|
hasPhone: false,
|
isShowMask: true
|
},
|
lifetimes: {
|
ready: function () {
|
}
|
},
|
pageLifetimes: {
|
show: function () {
|
},
|
hide: function () {
|
}
|
},
|
methods: {
|
getUserInfo: function (e) {
|
return __awaiter(this, void 0, void 0, function () {
|
var _a, isMustAuthorizePhone, isMustAuthorizeAvatar, isRefreshAuthorizeInfo, loginData;
|
return __generator(this, function (_b) {
|
switch (_b.label) {
|
case 0:
|
console.log(e);
|
_a = this.data, isMustAuthorizePhone = _a.isMustAuthorizePhone, isMustAuthorizeAvatar = _a.isMustAuthorizeAvatar, isRefreshAuthorizeInfo = _a.isRefreshAuthorizeInfo;
|
loginData = wx.globalData.loginData;
|
console.log('点击时loginData', loginData);
|
if (!isRefreshAuthorizeInfo) return [3, 2];
|
return [4, this.getUserProfile()];
|
case 1:
|
_b.sent();
|
console.log('刷新授权头像后loginData', wx.globalData.loginData);
|
this.completeAuthorize();
|
_b.label = 2;
|
case 2:
|
if (loginData.avatarUrl && loginData.telephone) {
|
this.completeAuthorize();
|
}
|
if (!isMustAuthorizeAvatar && !isMustAuthorizeAvatar) {
|
this.completeAuthorize();
|
}
|
if (loginData.avatarUrl && !isMustAuthorizeAvatar) {
|
this.completeAuthorize();
|
}
|
if (!(!loginData.avatarUrl && isMustAuthorizeAvatar)) return [3, 4];
|
return [4, this.getUserProfile()];
|
case 3:
|
_b.sent();
|
console.log('授权头像后loginData', wx.globalData.loginData);
|
if (!wx.globalData.loginData.avatarUrl)
|
return [2];
|
if (loginData.telephone || !isMustAuthorizePhone) {
|
this.completeAuthorize();
|
}
|
_b.label = 4;
|
case 4:
|
if (!loginData.telephone && isMustAuthorizePhone) {
|
this.showGetPhoneDialog();
|
}
|
return [2];
|
}
|
});
|
});
|
},
|
getUserProfile: function () {
|
return __awaiter(this, void 0, void 0, function () {
|
var _this = this;
|
return __generator(this, function (_a) {
|
switch (_a.label) {
|
case 0:
|
console.log('>>>>>>>>准备获取头像');
|
return [4, wx.pro.getUserProfile({
|
desc: '获取头像完善会员资料',
|
}).then(function (res) { return __awaiter(_this, void 0, void 0, function () {
|
return __generator(this, function (_a) {
|
switch (_a.label) {
|
case 0:
|
console.log(res);
|
return [4, this.postUserInfo(res)];
|
case 1:
|
if (!(_a.sent()))
|
return [2];
|
this.setData({
|
userInfo: res.userInfo,
|
});
|
return [4, wx.$commonRequest.getUserInfo()];
|
case 2:
|
if (!(_a.sent()))
|
return [2];
|
console.log('----获取头像成功!----');
|
wx.showToast({ title: '授权成功' });
|
return [2];
|
}
|
});
|
}); }).catch(function (err) {
|
console.log(err, '----获取头像失败!----');
|
wx.showToast({ title: '授权失败', icon: 'none' });
|
})];
|
case 1:
|
_a.sent();
|
console.log('>>>>>>获取授权头像步骤完成');
|
return [2];
|
}
|
});
|
});
|
},
|
getPhoneNumber: function (e) {
|
return __awaiter(this, void 0, void 0, function () {
|
return __generator(this, function (_a) {
|
switch (_a.label) {
|
case 0:
|
console.log('getPhoneNumber', e);
|
console.log('>>>>>>>>准备获取电话');
|
if (!(e.detail.errMsg == 'getPhoneNumber:ok')) return [3, 3];
|
return [4, this.postPhoneNumber(e)];
|
case 1:
|
if (!(_a.sent()))
|
return [2];
|
return [4, wx.$commonRequest.getUserInfo()];
|
case 2:
|
if (!(_a.sent()))
|
return [2];
|
this.completeAuthorize();
|
console.log('----获取电话成功!----');
|
return [3, 4];
|
case 3:
|
console.log('取消授权');
|
console.log('----获取电话失败!----');
|
_a.label = 4;
|
case 4: return [2];
|
}
|
});
|
});
|
},
|
postUserInfo: function (res) {
|
return __awaiter(this, void 0, void 0, function () {
|
var _a, error, result;
|
return __generator(this, function (_b) {
|
switch (_b.label) {
|
case 0: return [4, wx.$utils.to(wx.$http.request({
|
url: "/wx/miniapp/user/panicBuyingInfo.do",
|
data: {
|
signature: res.signature,
|
rawData: res.rawData,
|
encryptedData: res.encryptedData,
|
iv: res.iv
|
}
|
}))];
|
case 1:
|
_a = _b.sent(), error = _a[0], result = _a[1];
|
if (error) {
|
console.log(error);
|
return [2, false];
|
}
|
console.log(result);
|
return [2, true];
|
}
|
});
|
});
|
},
|
postPhoneNumber: function (e) {
|
return __awaiter(this, void 0, void 0, function () {
|
var _a, error, result;
|
return __generator(this, function (_b) {
|
switch (_b.label) {
|
case 0: return [4, wx.$utils.to(wx.$http.request({
|
url: "/shopping/account.do?m=telRegByAutoReg",
|
data: {
|
ReferralsCode: '',
|
ReferralsName: '',
|
encryptedData: e.detail.encryptedData,
|
iv: e.detail.iv,
|
}
|
}))];
|
case 1:
|
_a = _b.sent(), error = _a[0], result = _a[1];
|
if (error) {
|
console.log(error);
|
return [2, false];
|
}
|
console.log(result);
|
return [2, true];
|
}
|
});
|
});
|
},
|
showGetPhoneDialog: function () {
|
this.setData({
|
isShowPhoneDialog: true
|
});
|
},
|
hideGetPhoneDialog: function () {
|
this.setData({
|
isShowPhoneDialog: false
|
});
|
},
|
completeAuthorize: function () {
|
console.log('--完成所有授权--');
|
this.triggerEvent('authorize', {
|
isAuthorize: true
|
});
|
},
|
onDialogClose: function () {
|
},
|
}
|
});
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxTQUFTLENBQUM7SUFJUixPQUFPLEVBQUU7UUFDUCxjQUFjLEVBQUMsSUFBSTtRQUNuQixhQUFhLEVBQUUsSUFBSTtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNWLG9CQUFvQixFQUFDO1lBQ25CLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNELHFCQUFxQixFQUFDO1lBQ3BCLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNELHNCQUFzQixFQUFDO1lBQ3JCLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLEtBQUs7U0FDYjtLQUNGO0lBS0QsSUFBSSxFQUFFO1FBRUosV0FBVyxFQUFDLEtBQUs7UUFDakIsUUFBUSxFQUFDLEtBQUs7UUFDZCxVQUFVLEVBQUMsSUFBSTtLQUNoQjtJQUNELFNBQVMsRUFBQztRQUNSLEtBQUs7UUFVTCxDQUFDO0tBQ0Y7SUFDRCxhQUFhLEVBQUU7UUFDYixJQUFJLEVBQUU7UUFHTixDQUFDO1FBQ0QsSUFBSTtRQUVKLENBQUM7S0FDRjtJQUlELE9BQU8sRUFBRTtRQUNELFdBQVcsWUFBQyxDQUFLOzs7Ozs7NEJBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ1gsS0FBc0UsSUFBSSxDQUFDLElBQUksRUFBOUUsb0JBQW9CLDBCQUFBLEVBQUMscUJBQXFCLDJCQUFBLEVBQUMsc0JBQXNCLDRCQUFBLENBQWM7NEJBQ2hGLFNBQVMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQzs0QkFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUMsU0FBUyxDQUFDLENBQUM7aUNBU25DLHNCQUFzQixFQUF0QixjQUFzQjs0QkFD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RixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy8gY29uc3QgYXBwID0gZ2V0QXBwPElBcHBPcHRpb24+KCk7XHJcbkNvbXBvbmVudCh7XHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5bGe5oCn5YiX6KGoXHJcbiAgICovXHJcbiAgb3B0aW9uczoge1xyXG4gICAgYWRkR2xvYmFsQ2xhc3M6dHJ1ZSxcclxuICAgIG11bHRpcGxlU2xvdHM6IHRydWUgLy8g5Zyo57uE5Lu25a6a5LmJ5pe255qE6YCJ6aG55Lit5ZCv55So5aSac2xvdOaUr+aMgVxyXG4gIH0sXHJcbiAgcHJvcGVydGllczoge1xyXG4gICAgaXNNdXN0QXV0aG9yaXplUGhvbmU6e1xyXG4gICAgICB0eXBlOiBCb29sZWFuLFxyXG4gICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGlzTXVzdEF1dGhvcml6ZUF2YXRhcjp7XHJcbiAgICAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgaXNSZWZyZXNoQXV0aG9yaXplSW5mbzp7XHJcbiAgICAgIHR5cGU6IEJvb2xlYW4sXHJcbiAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgfSxcclxuICB9LFxyXG5cclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTliJ3lp4vmlbDmja5cclxuICAgKi9cclxuICBkYXRhOiB7XHJcbiAgICAvLyBsb2NhdGlvbjogdW5kZWZpbmVkLFxyXG4gICAgaGFzVXNlckluZm86ZmFsc2UsXHJcbiAgICBoYXNQaG9uZTpmYWxzZSxcclxuICAgIGlzU2hvd01hc2s6dHJ1ZVxyXG4gIH0sXHJcbiAgbGlmZXRpbWVzOntcclxuICAgIHJlYWR5KCl7XHJcbiAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyAgIC8vIHd4Lmdsb2JhbERhdGEubG9naW5EYXRhLmF2YXRhclVybCA9ICcnO1xyXG4gICAgICAvLyAgIC8vIHd4Lmdsb2JhbERhdGEubG9naW5EYXRhLmNsdGNvZGUgPSAnJztcclxuICAgICAgLy8gICB3eC5nbG9iYWxEYXRhLmxvZ2luRGF0YSA9IHt9XHJcbiAgICAgIC8vICAgICAvLyBjbHRjb2RlOjExMSxcclxuICAgICAgLy8gICAgIC8vIGF2YXRhclVybDonMzMzJ1xyXG4gICAgICAvL1xyXG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCc156eS5ZCO77yM5pu05paw5LqGbG9naW5EYXRhJyk7XHJcbiAgICAgIC8vIH0sNTAwMClcclxuICAgIH1cclxuICB9LFxyXG4gIHBhZ2VMaWZldGltZXM6IHtcclxuICAgIHNob3c6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAvLyDpobXpnaLooqvlsZXnpLpcclxuXHJcbiAgICB9LFxyXG4gICAgaGlkZSgpIHtcclxuXHJcbiAgICB9XHJcbiAgfSxcclxuICAvKipcclxuICAgKiDnu4Tku7bnmoTmlrnms5XliJfooahcclxuICAgKi9cclxuICBtZXRob2RzOiB7XHJcbiAgICBhc3luYyBnZXRVc2VySW5mbyhlOmFueSl7XHJcbiAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICBsZXQge2lzTXVzdEF1dGhvcml6ZVBob25lLGlzTXVzdEF1dGhvcml6ZUF2YXRhcixpc1JlZnJlc2hBdXRob3JpemVJbmZvfSA9IHRoaXMuZGF0YTtcclxuICAgICAgbGV0IGxvZ2luRGF0YSA9IHd4Lmdsb2JhbERhdGEubG9naW5EYXRhO1xyXG4gICAgICBjb25zb2xlLmxvZygn54K55Ye75pe2bG9naW5EYXRhJyxsb2dpbkRhdGEpO1xyXG4gICAgICAvLyBpZiAobG9naW5EYXRhLmF2YXRhclVybCkge1xyXG4gICAgICAvLyAgIHRoaXMuc2V0RGF0YSh7aGFzVXNlckluZm86dHJ1ZX0pXHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gaWYgKGxvZ2luRGF0YS5jbHRjb2RlKSB7XHJcbiAgICAgIC8vICAgdGhpcy5zZXREYXRhKHtoYXNQaG9uZTp0cnVlfSlcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLy8g5Yi35paw5aS05YOP5pi156ewXHJcbiAgICAgIGlmKGlzUmVmcmVzaEF1dGhvcml6ZUluZm8pe1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0VXNlclByb2ZpbGUoKTtcclxuICAgICAgICBjb25zb2xlLmxvZygn5Yi35paw5o6I5p2D5aS05YOP5ZCObG9naW5EYXRhJyx3eC5nbG9iYWxEYXRhLmxvZ2luRGF0YSk7XHJcbiAgICAgICAgdGhpcy5jb21wbGV0ZUF1dGhvcml6ZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL+W3suaOiOadg+WktOWDj++8jOW3suaOiOadg+eUteivnVxyXG4gICAgICBpZiAobG9naW5EYXRhLmF2YXRhclVybCYmbG9naW5EYXRhLnRlbGVwaG9uZSkge1xyXG4gICAgICAgIHRoaXMuY29tcGxldGVBdXRob3JpemUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8g55S16K+d5LiO5aS05YOP6YO95LiN6ZyA6KaB5o6I5p2DXHJcbiAgICAgIGlmICghaXNNdXN0QXV0aG9yaXplQXZhdGFyJiYhaXNNdXN0QXV0aG9yaXplQXZhdGFyKSB7XHJcbiAgICAgICAgdGhpcy5jb21wbGV0ZUF1dGhvcml6ZSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvL+W3suaOiOadg+WktOWDj++8jOS9huS4jemcgOimgeaOiOadg+eUteivnVxyXG4gICAgICBpZiAobG9naW5EYXRhLmF2YXRhclVybCYmIWlzTXVzdEF1dGhvcml6ZUF2YXRhcikge1xyXG4gICAgICAgIHRoaXMuY29tcGxldGVBdXRob3JpemUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gbGV0IHtoYXNVc2VySW5mbyxoYXNQaG9uZX0gPSB0aGlzLmRhdGE7XHJcbiAgICAgICAgLy8g5pyq5o6I5p2D5aS05YOP77yM5LiU5b+F6aG75o6I5p2D5aS05YOPXHJcbiAgICAgIGlmICghbG9naW5EYXRhLmF2YXRhclVybCYmaXNNdXN0QXV0aG9yaXplQXZhdGFyKXtcclxuICAgICAgICBhd2FpdCB0aGlzLmdldFVzZXJQcm9maWxlKCk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+aOiOadg+WktOWDj+WQjmxvZ2luRGF0YScsd3guZ2xvYmFsRGF0YS5sb2dpbkRhdGEpO1xyXG4gICAgICAgIGlmICghd3guZ2xvYmFsRGF0YS5sb2dpbkRhdGEuYXZhdGFyVXJsKSByZXR1cm47XHJcbiAgICAgICAgaWYgKGxvZ2luRGF0YS50ZWxlcGhvbmV8fCFpc011c3RBdXRob3JpemVQaG9uZSl7XHJcbiAgICAgICAgICB0aGlzLmNvbXBsZXRlQXV0aG9yaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyDmnKrmjojmnYPnlLXor53vvIzkuJTlv4XpobvmjojmnYPnlLXor51cclxuICAgICAgaWYgKCFsb2dpbkRhdGEudGVsZXBob25lJiZpc011c3RBdXRob3JpemVQaG9uZSl7XHJcbiAgICAgICAgLy8g5o6I5p2D55S16K+dXHJcbiAgICAgICAgdGhpcy5zaG93R2V0UGhvbmVEaWFsb2coKTtcclxuICAgICAgICAvLyBpZiAoIWxvZ2luRGF0YS5jbHRjb2RlKSByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgYXN5bmMgZ2V0VXNlclByb2ZpbGUoKXtcclxuICAgICAgLy8g5o6o6I2Q5L2/55Sod3guZ2V0VXNlclByb2ZpbGXojrflj5bnlKjmiLfkv6Hmga/vvIzlvIDlj5HogIXmr4/mrKHpgJrov4for6XmjqXlj6Pojrflj5bnlKjmiLfkuKrkurrkv6Hmga/lnYfpnIDnlKjmiLfnoa7orqRcclxuICAgICAgLy8g5byA5Y+R6ICF5aal5ZaE5L+d566h55So5oi35b+r6YCf5aGr5YaZ55qE5aS05YOP5pi156ew77yM6YG/5YWN6YeN5aSN5by556qXXHJcbiAgICAgIGNvbnNvbGUubG9nKCc+Pj4+Pj4+PuWHhuWkh+iOt+WPluWktOWDjycpO1xyXG4gICAgICBhd2FpdCB3eC5wcm8uZ2V0VXNlclByb2ZpbGUoe1xyXG4gICAgICAgIGRlc2M6ICfojrflj5blpLTlg4/lrozlloTkvJrlkZjotYTmlpknLCAvLyDlo7DmmI7ojrflj5bnlKjmiLfkuKrkurrkv6Hmga/lkI7nmoTnlKjpgJTvvIzlkI7nu63kvJrlsZXnpLrlnKjlvLnnqpfkuK3vvIzor7fosKjmhY7loavlhplcclxuICAgICAgfSkudGhlbihhc3luYyhyZXM6YW55KT0+e1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgaWYgKCFhd2FpdCB0aGlzLnBvc3RVc2VySW5mbyhyZXMpKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIHVzZXJJbmZvOiByZXMudXNlckluZm8sXHJcbiAgICAgICAgICAvLyBoYXNVc2VySW5mbzp0cnVlXHJcbiAgICAgICAgfSlcclxuICAgICAgICBpZiAoIWF3YWl0IHd4LiRjb21tb25SZXF1ZXN0LmdldFVzZXJJbmZvKCkpIHJldHVybjtcclxuICAgICAgICBjb25zb2xlLmxvZygnLS0tLeiOt+WPluWktOWDj+aIkOWKn++8gS0tLS0nKTtcclxuICAgICAgICB3eC5zaG93VG9hc3Qoe3RpdGxlOiAn5o6I5p2D5oiQ5YqfJ30pXHJcbiAgICAgIH0pLmNhdGNoKChlcnI6YW55KSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyLCctLS0t6I635Y+W5aS05YOP5aSx6LSl77yBLS0tLScpO1xyXG4gICAgICAgIHd4LnNob3dUb2FzdCh7dGl0bGU6ICfmjojmnYPlpLHotKUnLGljb246J25vbmUnfSlcclxuICAgICAgICAvLyB0aGlzLnNldERhdGEoe2hhc1VzZXJJbmZvOmZhbHNlfSlcclxuICAgICAgfSlcclxuICAgICAgY29uc29sZS5sb2coJz4+Pj4+PuiOt+WPluaOiOadg+WktOWDj+atpemqpOWujOaIkCcpO1xyXG4gICAgfSxcclxuXHJcblxyXG5cclxuICAgIGFzeW5jIGdldFBob25lTnVtYmVyKGUpe1xyXG4gICAgICBjb25zb2xlLmxvZygnZ2V0UGhvbmVOdW1iZXInLCBlKTtcclxuICAgICAgY29uc29sZS5sb2coJz4+Pj4+Pj4+5YeG5aSH6I635Y+W55S16K+dJyk7XHJcbiAgICAgIGlmIChlLmRldGFpbC5lcnJNc2cgPT0gJ2dldFBob25lTnVtYmVyOm9rJykge1xyXG4gICAgICAgIGlmICghYXdhaXQgdGhpcy5wb3N0UGhvbmVOdW1iZXIoZSkpIHJldHVybjtcclxuICAgICAgICBpZiAoIWF3YWl0IHd4LiRjb21tb25SZXF1ZXN0LmdldFVzZXJJbmZvKCkpIHJldHVybjtcclxuICAgICAgICAvLyB0aGlzLnNldERhdGEoe2hhc1Bob25lOnRydWV9KTtcclxuICAgICAgICB0aGlzLmNvbXBsZXRlQXV0aG9yaXplKCk7XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKCctLS0t6I635Y+W55S16K+d5oiQ5Yqf77yBLS0tLScpO1xyXG4gICAgICB9IGVsc2V7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ+WPlua2iOaOiOadgycpO1xyXG4gICAgICAgIC8vIHRoaXMuc2hvd0dldFBob25lRGlhbG9nKCk7XHJcbiAgICAgICAgLy8gdGhpcy5zZXREYXRhKHtoYXNQaG9uZTpmYWxzZX0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCctLS0t6I635Y+W55S16K+d5aSx6LSl77yBLS0tLScpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGFzeW5jIHBvc3RVc2VySW5mbyhyZXM6YW55KXtcclxuICAgICAgbGV0IFtlcnJvciwgcmVzdWx0XSA9IGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgICAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDpgL3d4L21pbmlhcHAvdXNlci9wYW5pY0J1eWluZ0luZm8uZG9gLFxyXG4gICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgIHNpZ25hdHVyZTogcmVzLnNpZ25hdHVyZSxcclxuICAgICAgICAgICAgcmF3RGF0YTogcmVzLnJhd0RhdGEsXHJcbiAgICAgICAgICAgIGVuY3J5cHRlZERhdGE6IHJlcy5lbmNyeXB0ZWREYXRhLFxyXG4gICAgICAgICAgICBpdjogcmVzLml2XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICBpZiAoZXJyb3Ipe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgY29uc29sZS5sb2cocmVzdWx0KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LFxyXG5cclxuICAgIGFzeW5jIHBvc3RQaG9uZU51bWJlcihlKXtcclxuICAgICAgbGV0IFtlcnJvciwgcmVzdWx0XSA9IGF3YWl0IHd4LiR1dGlscy50byhcclxuICAgICAgICB3eC4kaHR0cC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDpgL3Nob3BwaW5nL2FjY291bnQuZG8/bT10ZWxSZWdCeUF1dG9SZWdgLFxyXG4gICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgIFJlZmVycmFsc0NvZGU6ICcnLFxyXG4gICAgICAgICAgICBSZWZlcnJhbHNOYW1lOiAnJyxcclxuICAgICAgICAgICAgZW5jcnlwdGVkRGF0YTogZS5kZXRhaWwuZW5jcnlwdGVkRGF0YSxcclxuICAgICAgICAgICAgaXY6IGUuZGV0YWlsLml2LFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgaWYgKGVycm9yKXtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSxcclxuXHJcbiAgICBzaG93R2V0UGhvbmVEaWFsb2coKXtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBpc1Nob3dQaG9uZURpYWxvZzp0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgaGlkZUdldFBob25lRGlhbG9nKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgaXNTaG93UGhvbmVEaWFsb2c6ZmFsc2VcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBjb21wbGV0ZUF1dGhvcml6ZSgpe1xyXG4gICAgICBjb25zb2xlLmxvZygnLS3lrozmiJDmiYDmnInmjojmnYMtLScpO1xyXG4gICAgICB0aGlzLnRyaWdnZXJFdmVudCgnYXV0aG9yaXplJywge1xyXG4gICAgICAgIGlzQXV0aG9yaXplOiB0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25EaWFsb2dDbG9zZSgpe1xyXG4gICAgICAvLyB3eC5zaG93VG9hc3Qoe1xyXG4gICAgICAvLyAgIHRpdGxlOiAn5Y+W5raI5o6I5p2DJyxcclxuICAgICAgLy8gICBpY29uOiAnbm9uZScsXHJcbiAgICAgIC8vICAgZHVyYXRpb246IDEwMDBcclxuICAgICAgLy8gfSk7XHJcbiAgICB9LFxyXG4gIH1cclxufSlcclxuIl19
|