提交 | 用户 | age
|
282d69
|
1 |
"use strict";
|
S |
2 |
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3 |
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4 |
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5 |
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6 |
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
7 |
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8 |
});
|
|
9 |
};
|
|
10 |
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11 |
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12 |
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13 |
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14 |
function step(op) {
|
|
15 |
if (f) throw new TypeError("Generator is already executing.");
|
|
16 |
while (_) try {
|
|
17 |
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;
|
|
18 |
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19 |
switch (op[0]) {
|
|
20 |
case 0: case 1: t = op; break;
|
|
21 |
case 4: _.label++; return { value: op[1], done: false };
|
|
22 |
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23 |
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24 |
default:
|
|
25 |
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26 |
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27 |
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28 |
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29 |
if (t[2]) _.ops.pop();
|
|
30 |
_.trys.pop(); continue;
|
|
31 |
}
|
|
32 |
op = body.call(thisArg, _);
|
|
33 |
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34 |
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35 |
}
|
|
36 |
};
|
|
37 |
Component({
|
|
38 |
options: {
|
|
39 |
addGlobalClass: true,
|
|
40 |
multipleSlots: true
|
|
41 |
},
|
|
42 |
properties: {
|
|
43 |
isMustAuthorizePhone: {
|
|
44 |
type: Boolean,
|
|
45 |
value: true
|
|
46 |
},
|
|
47 |
isMustAuthorizeAvatar: {
|
|
48 |
type: Boolean,
|
|
49 |
value: true
|
|
50 |
},
|
3fc241
|
51 |
isRefreshAuthorizeInfo: {
|
S |
52 |
type: Boolean,
|
|
53 |
value: false
|
|
54 |
},
|
282d69
|
55 |
},
|
S |
56 |
data: {
|
|
57 |
hasUserInfo: false,
|
|
58 |
hasPhone: false,
|
|
59 |
isShowMask: true
|
|
60 |
},
|
|
61 |
lifetimes: {
|
|
62 |
ready: function () {
|
|
63 |
}
|
|
64 |
},
|
|
65 |
pageLifetimes: {
|
|
66 |
show: function () {
|
|
67 |
},
|
|
68 |
hide: function () {
|
|
69 |
}
|
|
70 |
},
|
|
71 |
methods: {
|
|
72 |
getUserInfo: function (e) {
|
|
73 |
return __awaiter(this, void 0, void 0, function () {
|
3fc241
|
74 |
var _a, isMustAuthorizePhone, isMustAuthorizeAvatar, isRefreshAuthorizeInfo, loginData;
|
282d69
|
75 |
return __generator(this, function (_b) {
|
S |
76 |
switch (_b.label) {
|
|
77 |
case 0:
|
|
78 |
console.log(e);
|
3fc241
|
79 |
_a = this.data, isMustAuthorizePhone = _a.isMustAuthorizePhone, isMustAuthorizeAvatar = _a.isMustAuthorizeAvatar, isRefreshAuthorizeInfo = _a.isRefreshAuthorizeInfo;
|
282d69
|
80 |
loginData = wx.globalData.loginData;
|
S |
81 |
console.log('点击时loginData', loginData);
|
3fc241
|
82 |
if (!isRefreshAuthorizeInfo) return [3, 2];
|
S |
83 |
return [4, this.getUserProfile()];
|
|
84 |
case 1:
|
|
85 |
_b.sent();
|
|
86 |
console.log('刷新授权头像后loginData', wx.globalData.loginData);
|
|
87 |
this.completeAuthorize();
|
|
88 |
_b.label = 2;
|
|
89 |
case 2:
|
7a3e75
|
90 |
if (loginData.avatarUrl && loginData.telephone) {
|
282d69
|
91 |
this.completeAuthorize();
|
S |
92 |
}
|
|
93 |
if (!isMustAuthorizeAvatar && !isMustAuthorizeAvatar) {
|
|
94 |
this.completeAuthorize();
|
|
95 |
}
|
|
96 |
if (loginData.avatarUrl && !isMustAuthorizeAvatar) {
|
|
97 |
this.completeAuthorize();
|
|
98 |
}
|
3fc241
|
99 |
if (!(!loginData.avatarUrl && isMustAuthorizeAvatar)) return [3, 4];
|
282d69
|
100 |
return [4, this.getUserProfile()];
|
3fc241
|
101 |
case 3:
|
282d69
|
102 |
_b.sent();
|
S |
103 |
console.log('授权头像后loginData', wx.globalData.loginData);
|
|
104 |
if (!wx.globalData.loginData.avatarUrl)
|
|
105 |
return [2];
|
7a3e75
|
106 |
if (loginData.telephone || !isMustAuthorizePhone) {
|
282d69
|
107 |
this.completeAuthorize();
|
S |
108 |
}
|
3fc241
|
109 |
_b.label = 4;
|
S |
110 |
case 4:
|
7a3e75
|
111 |
if (!loginData.telephone && isMustAuthorizePhone) {
|
282d69
|
112 |
this.showGetPhoneDialog();
|
S |
113 |
}
|
|
114 |
return [2];
|
|
115 |
}
|
|
116 |
});
|
|
117 |
});
|
|
118 |
},
|
|
119 |
getUserProfile: function () {
|
|
120 |
return __awaiter(this, void 0, void 0, function () {
|
|
121 |
var _this = this;
|
|
122 |
return __generator(this, function (_a) {
|
|
123 |
switch (_a.label) {
|
|
124 |
case 0:
|
|
125 |
console.log('>>>>>>>>准备获取头像');
|
|
126 |
return [4, wx.pro.getUserProfile({
|
|
127 |
desc: '获取头像完善会员资料',
|
|
128 |
}).then(function (res) { return __awaiter(_this, void 0, void 0, function () {
|
|
129 |
return __generator(this, function (_a) {
|
|
130 |
switch (_a.label) {
|
|
131 |
case 0:
|
|
132 |
console.log(res);
|
|
133 |
return [4, this.postUserInfo(res)];
|
|
134 |
case 1:
|
|
135 |
if (!(_a.sent()))
|
|
136 |
return [2];
|
|
137 |
this.setData({
|
|
138 |
userInfo: res.userInfo,
|
|
139 |
});
|
|
140 |
return [4, wx.$commonRequest.getUserInfo()];
|
|
141 |
case 2:
|
|
142 |
if (!(_a.sent()))
|
|
143 |
return [2];
|
|
144 |
console.log('----获取头像成功!----');
|
3fc241
|
145 |
wx.showToast({ title: '授权成功' });
|
282d69
|
146 |
return [2];
|
S |
147 |
}
|
|
148 |
});
|
|
149 |
}); }).catch(function (err) {
|
|
150 |
console.log(err, '----获取头像失败!----');
|
3fc241
|
151 |
wx.showToast({ title: '授权失败', icon: 'none' });
|
282d69
|
152 |
})];
|
S |
153 |
case 1:
|
|
154 |
_a.sent();
|
|
155 |
console.log('>>>>>>获取授权头像步骤完成');
|
|
156 |
return [2];
|
|
157 |
}
|
|
158 |
});
|
|
159 |
});
|
|
160 |
},
|
|
161 |
getPhoneNumber: function (e) {
|
|
162 |
return __awaiter(this, void 0, void 0, function () {
|
|
163 |
return __generator(this, function (_a) {
|
|
164 |
switch (_a.label) {
|
|
165 |
case 0:
|
|
166 |
console.log('getPhoneNumber', e);
|
|
167 |
console.log('>>>>>>>>准备获取电话');
|
|
168 |
if (!(e.detail.errMsg == 'getPhoneNumber:ok')) return [3, 3];
|
|
169 |
return [4, this.postPhoneNumber(e)];
|
|
170 |
case 1:
|
|
171 |
if (!(_a.sent()))
|
|
172 |
return [2];
|
|
173 |
return [4, wx.$commonRequest.getUserInfo()];
|
|
174 |
case 2:
|
|
175 |
if (!(_a.sent()))
|
|
176 |
return [2];
|
|
177 |
this.completeAuthorize();
|
|
178 |
console.log('----获取电话成功!----');
|
|
179 |
return [3, 4];
|
|
180 |
case 3:
|
|
181 |
console.log('取消授权');
|
|
182 |
console.log('----获取电话失败!----');
|
|
183 |
_a.label = 4;
|
|
184 |
case 4: return [2];
|
|
185 |
}
|
|
186 |
});
|
|
187 |
});
|
|
188 |
},
|
|
189 |
postUserInfo: function (res) {
|
|
190 |
return __awaiter(this, void 0, void 0, function () {
|
|
191 |
var _a, error, result;
|
|
192 |
return __generator(this, function (_b) {
|
|
193 |
switch (_b.label) {
|
|
194 |
case 0: return [4, wx.$utils.to(wx.$http.request({
|
|
195 |
url: "/wx/miniapp/user/panicBuyingInfo.do",
|
|
196 |
data: {
|
|
197 |
signature: res.signature,
|
|
198 |
rawData: res.rawData,
|
|
199 |
encryptedData: res.encryptedData,
|
|
200 |
iv: res.iv
|
|
201 |
}
|
|
202 |
}))];
|
|
203 |
case 1:
|
|
204 |
_a = _b.sent(), error = _a[0], result = _a[1];
|
|
205 |
if (error) {
|
|
206 |
console.log(error);
|
|
207 |
return [2, false];
|
|
208 |
}
|
|
209 |
console.log(result);
|
|
210 |
return [2, true];
|
|
211 |
}
|
|
212 |
});
|
|
213 |
});
|
|
214 |
},
|
|
215 |
postPhoneNumber: function (e) {
|
|
216 |
return __awaiter(this, void 0, void 0, function () {
|
|
217 |
var _a, error, result;
|
|
218 |
return __generator(this, function (_b) {
|
|
219 |
switch (_b.label) {
|
|
220 |
case 0: return [4, wx.$utils.to(wx.$http.request({
|
|
221 |
url: "/shopping/account.do?m=telRegByAutoReg",
|
|
222 |
data: {
|
|
223 |
ReferralsCode: '',
|
|
224 |
ReferralsName: '',
|
|
225 |
encryptedData: e.detail.encryptedData,
|
|
226 |
iv: e.detail.iv,
|
|
227 |
}
|
|
228 |
}))];
|
|
229 |
case 1:
|
|
230 |
_a = _b.sent(), error = _a[0], result = _a[1];
|
|
231 |
if (error) {
|
|
232 |
console.log(error);
|
|
233 |
return [2, false];
|
|
234 |
}
|
|
235 |
console.log(result);
|
|
236 |
return [2, true];
|
|
237 |
}
|
|
238 |
});
|
|
239 |
});
|
|
240 |
},
|
|
241 |
showGetPhoneDialog: function () {
|
|
242 |
this.setData({
|
|
243 |
isShowPhoneDialog: true
|
|
244 |
});
|
|
245 |
},
|
|
246 |
hideGetPhoneDialog: function () {
|
|
247 |
this.setData({
|
|
248 |
isShowPhoneDialog: false
|
|
249 |
});
|
|
250 |
},
|
|
251 |
completeAuthorize: function () {
|
|
252 |
console.log('--完成所有授权--');
|
|
253 |
this.triggerEvent('authorize', {
|
|
254 |
isAuthorize: true
|
|
255 |
});
|
|
256 |
},
|
|
257 |
onDialogClose: function () {
|
|
258 |
},
|
|
259 |
}
|
|
260 |
});
|
3fc241
|
261 |
//# 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 |