"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 };
|
}
|
};
|
var _this_1 = this;
|
Object.defineProperty(exports, "__esModule", { value: true });
|
var dayjs = require("dayjs");
|
var formatTime = function (dateString, format) {
|
if (format === void 0) { format = 'YYYY-MM-DD HH:mm'; }
|
return dayjs(dateString).format(format);
|
};
|
var to = function (promise) {
|
return promise.then(function (res) {
|
return [null, res];
|
}).catch(function (error) {
|
return [error];
|
});
|
};
|
var getUrl = function (url, params) {
|
url = wx.globalData.reqBase + url;
|
if (params != null) {
|
url = url + (url.indexOf('?') >= 0 ? "&" : "?") + params;
|
}
|
if (wx.globalData.AppId != null && url.indexOf('AppId=') < 0) {
|
url = url + (url.indexOf('?') >= 0 ? "&" : "?") + "AppId=" + wx.globalData.AppId;
|
}
|
if (url.indexOf('wx=3') < 0) {
|
url = url + (url.indexOf('?') >= 0 ? "&" : "?") + 'wx=3';
|
}
|
return url;
|
};
|
var makePhoneCall = function (mobile) {
|
wx.pro.showModal({
|
title: '提示',
|
content: "\u5373\u5C06\u62E8\u6253\u7535\u8BDD " + mobile,
|
}).then(function (res) {
|
console.log(res);
|
if (res.confirm) {
|
console.log('确认');
|
wx.makePhoneCall({
|
phoneNumber: mobile,
|
});
|
}
|
});
|
};
|
var debounce = function (fn, delay) {
|
if (delay === void 0) { delay = 200; }
|
var timer = null;
|
return function () {
|
var _this_1 = this;
|
if (timer)
|
clearTimeout(timer);
|
timer = setTimeout(function () {
|
if (typeof fn === "function") {
|
fn.apply(_this_1, arguments);
|
}
|
timer = null;
|
}, delay);
|
};
|
};
|
var setLoginData = function (_this) {
|
var loginData = wx.globalData.loginData;
|
console.log('<<<<<<<<<获取loginData', loginData);
|
_this.setData({
|
loginData: loginData,
|
});
|
};
|
var getSingleUploadImageList = function (data, type) {
|
var _a = data[type].split(";"), unid = _a[0], seq = _a[1];
|
return [{
|
url: data[type + "Url"] || '',
|
unid: unid,
|
seq: seq
|
}];
|
};
|
var getLocation = function () { return __awaiter(_this_1, void 0, void 0, function () {
|
var isAuthorize, _a, error_1, result_1, _b, error, result;
|
return __generator(this, function (_c) {
|
switch (_c.label) {
|
case 0: return [4, getAuthorizeInfo('scope.userLocation')];
|
case 1:
|
isAuthorize = _c.sent();
|
if (!!isAuthorize) return [3, 3];
|
return [4, wx.$utils.to(wx.pro.authorize({ scope: 'scope.userLocation' }))];
|
case 2:
|
_a = _c.sent(), error_1 = _a[0], result_1 = _a[1];
|
if (error_1) {
|
console.log(error_1);
|
return [2, false];
|
}
|
console.log('授权弹窗信息', result_1);
|
return [2];
|
case 3: return [4, wx.$utils.to(wx.pro.getLocation())];
|
case 4:
|
_b = _c.sent(), error = _b[0], result = _b[1];
|
if (error) {
|
console.log(error);
|
return [2, false];
|
}
|
console.log('获取定位信息', result);
|
wx.globalData.location = {
|
latitude: result.latitude,
|
longitude: result.longitude
|
};
|
return [2, true];
|
}
|
});
|
}); };
|
var getAuthorizeInfo = function (scope) {
|
if (scope === void 0) { scope = "scope.writePhotosAlbum"; }
|
return __awaiter(_this_1, void 0, void 0, function () {
|
var _a, err, res;
|
return __generator(this, function (_b) {
|
switch (_b.label) {
|
case 0: return [4, wx.$utils.to(wx.pro.getSetting())];
|
case 1:
|
_a = _b.sent(), err = _a[0], res = _a[1];
|
if (err) {
|
return [2, false];
|
}
|
console.log("getSetting", res);
|
return [2, res.authSetting[scope] !== false];
|
}
|
});
|
});
|
};
|
var setShopName = function (_this) {
|
var settings = wx.globalData.settings;
|
console.log('<<<<<<<<<获取settings.name', settings.name);
|
_this.setData({
|
shopName: settings.name,
|
helpUrl: settings.helpUrl,
|
});
|
wx.setNavigationBarTitle({
|
title: settings.name
|
});
|
};
|
var watchObj = function (target, callback) {
|
var handler = {
|
get: function (target, key, receiver) {
|
console.log('>>>>>>...get', key);
|
return Reflect.get(target, key, receiver);
|
},
|
set: function (target, key, value, receiver) {
|
console.log('>>>>>...set', key, value);
|
typeof callback === 'function' && callback(key, value);
|
return Reflect.set(target, key, value, receiver);
|
}
|
};
|
return new Proxy(target, handler);
|
};
|
var scrollToError = function (selector, errorMsg, duration) {
|
if (duration === void 0) { duration = 3000; }
|
wx.pageScrollTo({
|
selector: selector,
|
duration: 300
|
});
|
wx.showToast({
|
title: errorMsg,
|
icon: 'none',
|
duration: duration
|
});
|
};
|
exports.default = {
|
formatTime: formatTime,
|
to: to,
|
getUrl: getUrl,
|
makePhoneCall: makePhoneCall,
|
debounce: debounce,
|
setLoginData: setLoginData,
|
getSingleUploadImageList: getSingleUploadImageList,
|
getLocation: getLocation,
|
getAuthorizeInfo: getAuthorizeInfo,
|
setShopName: setShopName,
|
watchObj: watchObj,
|
scrollToError: scrollToError
|
};
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUJBaU5BOztBQWpOQSw2QkFBK0I7QUFDL0IsSUFBTSxVQUFVLEdBQUcsVUFBQyxVQUFnQixFQUFDLE1BQWtDO0lBQWxDLHVCQUFBLEVBQUEsMkJBQWtDO0lBQ3JFLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUE7QUF1QkQsSUFBTSxFQUFFLEdBQUcsVUFBQyxPQUFvQjtJQUM5QixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFPO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLEVBQUMsR0FBRyxDQUFDLENBQUE7SUFDbkIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUMsS0FBUztRQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEIsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRCxJQUFNLE1BQU0sR0FBRyxVQUFDLEdBQVUsRUFBQyxNQUFhO0lBRXRDLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDbEMsSUFBRyxNQUFNLElBQUksSUFBSSxFQUFDO1FBQ2hCLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7S0FDMUQ7SUFDRCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUM1RCxHQUFHLEdBQUcsR0FBRyxH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LE9BQU8sQ0FBQyxDQUFBO0FBRW5DLENBQUMsQ0FBQTtBQUVELElBQU0sYUFBYSxHQUFHLFVBQUMsUUFBZSxFQUFFLFFBQWUsRUFBRSxRQUFzQjtJQUF0Qix5QkFBQSxFQUFBLGVBQXNCO0lBQzdFLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDZCxRQUFRLFVBQUE7UUFDUixRQUFRLEVBQUUsR0FBRztLQUNkLENBQUMsQ0FBQTtJQUNGLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDWCxLQUFLLEVBQUUsUUFBUTtRQUNmLElBQUksRUFBRSxNQUFNO1FBQ1osUUFBUSxVQUFBO0tBQ1QsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBQ0Qsa0JBQWM7SUFDWixVQUFVLFlBQUE7SUFDVixFQUFFLElBQUE7SUFDRixNQUFNLFFBQUE7SUFDTixhQUFhLGVBQUE7SUFDYixRQUFRLFVBQUE7SUFDUixZQUFZLGNBQUE7SUFDWix3QkFBd0IsMEJBQUE7SUFDeEIsV0FBVyxhQUFBO0lBQ1gsZ0JBQWdCLGtCQUFBO0lBQ2hCLFdBQVcsYUFBQTtJQUNYLFFBQVEsVUFBQTtJQUNSLGFBQWEsZUFBQTtDQUNkLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbmNvbnN0IGZvcm1hdFRpbWUgPSAoZGF0ZVN0cmluZzogRGF0ZSxmb3JtYXQ6IHN0cmluZyA9J1lZWVktTU0tREQgSEg6bW0nKSA9PiB7XG4gIHJldHVybiBkYXlqcyhkYXRlU3RyaW5nKS5mb3JtYXQoZm9ybWF0KTtcbn1cblxuLy8gY29uc3QgZm9ybWF0VGltZTIgPSAoZGF0ZVN0cmluZzogRGF0ZSkgPT4ge1xuLy8gICBsZXQgZGF0ZSA9IG5ldyBEYXRlKGRhdGVTdHJpbmcpO1xuLy8gICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpXG4vLyAgIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgMVxuLy8gICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKVxuLy8gICBjb25zdCBob3VyID0gZGF0ZS5nZXRIb3VycygpXG4vLyAgIGNvbnN0IG1pbnV0ZSA9IGRhdGUuZ2V0TWludXRlcygpXG4vLyAgIGNvbnN0IHNlY29uZCA9IGRhdGUuZ2V0U2Vjb25kcygpXG4vL1xuLy8gICByZXR1cm4gKFxuLy8gICAgIFt5ZWFyLCBtb250aCwgZGF5XS5tYXAoZm9ybWF0TnVtYmVyKS5qb2luKCctJykgK1xuLy8gICAgICcgJyArXG4vLyAgICAgW2hvdXIsIG1pbnV0ZSwgc2Vjb25kXS5tYXAoZm9ybWF0TnVtYmVyKS5qb2luKCc6Jylcbi8vICAgKVxuLy8gfVxuLy9cbi8vIGNvbnN0IGZvcm1hdE51bWJlciA9IChuOiBudW1iZXIpID0+IHtcbi8vICAgY29uc3QgcyA9IG4udG9TdHJpbmcoKVxuLy8gICByZXR1cm4gc1sxXSA/IHMgOiAnMCcgKyBzXG4vLyB9XG5cbmNvbnN0IHRvID0gKHByb21pc2U6UHJvbWlzZTxhbnk+KT0+e1xuICByZXR1cm4gcHJvbWlzZS50aGVuKChyZXM6YW55KT0+e1xuICAgIHJldHVybiBbbnVsbCxyZXNdXG4gIH0pLmNhdGNoKChlcnJvcjphbnkpPT57XG4gICAgcmV0dXJuIFtlcnJvcl1cbiAgfSlcbn1cblxuY29uc3QgZ2V0VXJsID0gKHVybDpzdHJpbmcscGFyYW1zOnN0cmluZyk9PntcbiAgLy8gQXBwSWQ6IGFwcC5nbG9iYWxEYXRhLkFwcElkXG4gIHVybCA9IHd4Lmdsb2JhbERhdGEucmVxQmFzZSArIHVybDtcbiAgaWYocGFyYW1zICE9IG51bGwpe1xuICAgIHVybCA9IHVybCArICh1cmwuaW5kZXhPZignPycpID49IDAgPyBcIiZcIiA6IFwiP1wiKSArIHBhcmFtcztcbiAgfVxuICBpZiAod3guZ2xvYmFsRGF0YS5BcHBJZCAhPSBudWxsICYmIHVybC5pbmRleE9mKCdBcHBJZD0nKSA8IDApIHtcbiAgICB1cmwgPSB1cmwgKyAodXJsLmluZGV4T2YoJz8nKSA+PSAwID8gXCImXCIgOiBcIj9cIikgKyBcIkFwcElkPVwiICsgd3guZ2xvYmFsRGF0YS5BcHBJZDtcbiAgfVxuICBpZiAodXJsLmluZGV4T2YoJ3d4PTMnKSA8IDApIHtcbiAgICB1cmwgPSB1cmwgKyAodXJsLmluZGV4T2YoJz8nKSA+PSAwID8gXCImXCIgOiBcIj9cIikgICsnd3g9Myc7XG4gIH1cbiAgLy8gaWYgKHVybC5pbmRleE9mKCdGcm9tVXNlcklkPScpIDwgMCkge1xuICAvLyAgIHVybCA9IHVybCArICh1cmwuaW5kZXhPZignPycpID49IDAgPyBcIiZcIiA6IFwiP1wiKSAgKydGcm9tVXNlcklkPScgKyB3eC5nbG9iYWxEYXRhLkZyb21Vc2VySWQ7XG4gIC8vIH1cblxuICByZXR1cm4gdXJsIDtcbn1cblxuY29uc3QgbWFrZVBob25lQ2FsbCA9IChtb2JpbGU6c3RyaW5nKT0+e1xuICB3eC5wcm8uc2hvd01vZGFsKHtcbiAgICB0aXRsZTogJ+aPkOekuicsXG4gICAgY29udGVudDogYOWNs+WwhuaLqOaJk+eUteivnSAke21vYmlsZX1gLFxuICB9KS50aGVuKChyZXM6YW55KSA9PiB7XG4gICAgLy8gb24gY2xvc2VcbiAgICBjb25zb2xlLmxvZyhyZXMpO1xuICAgIGlmIChyZXMuY29uZmlybSl7XG4gICAgICBjb25zb2xlLmxvZygn56Gu6K6kJyk7XG4gICAgICB3eC5tYWtlUGhvbmVDYWxsKHtcbiAgICAgICAgcGhvbmVOdW1iZXI6IG1vYmlsZSxcbiAgICAgIH0pXG4gICAgfVxuICB9KTtcbn1cblxuY29uc3QgZGVib3VuY2UgPSAoZm46KCk9Pnt9LGRlbGF5Om51bWJlciA9IDIwMCk9PntcbiAgbGV0IHRpbWVyOmFueSA9IG51bGw7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHRpbWVyKSBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyh0aGlzKTtcbiAgICAgIGlmICh0eXBlb2YgZm4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGZuLmFwcGx5KHRoaXMsYXJndW1lbnRzKVxuICAgICAgfVxuICAgICAgdGltZXIgPSBudWxsO1xuICAgIH0sIGRlbGF5KTtcbiAgfVxufVxuXG5jb25zdCAgc2V0TG9naW5EYXRhID0gKF90aGlzOmFueSk9PntcbiAgbGV0IGxvZ2luRGF0YSA9IHd4Lmdsb2JhbERhdGEubG9naW5EYXRhO1xuICBjb25zb2xlLmxvZygnPDw8PDw8PDw86I635Y+WbG9naW5EYXRhJyxsb2dpbkRhdGEpO1xuICBfdGhpcy5zZXREYXRhKHtcbiAgICBsb2dpbkRhdGEsXG4gIH0pXG59XG5cbmNvbnN0IGdldFNpbmdsZVVwbG9hZEltYWdlTGlzdCA9IChkYXRhOmFueSx0eXBlOnN0cmluZyk9PntcbiAgbGV0IFt1bmlkLHNlcV0gPSBkYXRhW3R5cGVdLnNwbGl0KFwiO1wiKTtcbiAgcmV0dXJuIFt7XG4gICAgdXJsOiBkYXRhW2Ake3R5cGV9VXJsYF18fCcnLFxuICAgIHVuaWQsXG4gICAgc2VxXG4gIH1dXG59XG5cbi8v6I635Y+W5b6u5L+h5a6a5L2NXG5jb25zdCBnZXRMb2NhdGlvbiA9ICBhc3luYyAoKT0+e1xuICBsZXQgaXNBdXRob3JpemUgPSBhd2FpdCBnZXRBdXRob3JpemVJbmZvKCdzY29wZS51c2VyTG9jYXRpb24nKTtcbiAgaWYgKCFpc0F1dGhvcml6ZSkge1xuICAgIGxldCBbZXJyb3IsIHJlc3VsdF0gPSBhd2FpdCB3eC4kdXRpbHMudG8od3gucHJvLmF1dGhvcml6ZSh7c2NvcGU6ICdzY29wZS51c2VyTG9jYXRpb24nfSkpO1xuICAgIGlmIChlcnJvcil7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCfmjojmnYPlvLnnqpfkv6Hmga8nLHJlc3VsdCk7XG4gICAgLy8gd3guc2hvd01vZGFsKHtcbiAgICAvLyAgIHRpdGxlOiBcIuaPkOekulwiLFxuICAgIC8vICAgY29udGVudDogXCLmgqjov5jmnKrmjojmnYPlrprkvY3vvIzor7flnKjmjqXkuIvmnaXmiZPlvIDnmoTorr7nva7pobXpnaLlvIDlkK/nm7jlhozlrprkvY3vvIFcIixcbiAgICAvLyAgIHN1Y2Nlc3MocmVzKSB7XG4gICAgLy8gICAgIGlmIChyZXMuY29uZmlybSkge1xuICAgIC8vICAgICAgIGNvbnNvbGUubG9nKFwi55So5oi354K55Ye756Gu5a6aXCIpO1xuICAgIC8vICAgICAgIHd4Lm9wZW5TZXR0aW5nKCk7XG4gICAgLy8gICAgIH0gZWxzZSBpZiAocmVzLmNhbmNlbCkge1xuICAgIC8vICAgICAgIGNvbnNvbGUubG9nKFwi55So5oi354K55Ye75Y+W5raIXCIpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9LFxuICAgIC8vIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBsZXQgW2Vycm9yLCByZXN1bHRdID0gYXdhaXQgd3guJHV0aWxzLnRvKFxuICAgIHd4LnByby5nZXRMb2NhdGlvbigpXG4gIClcbiAgaWYgKGVycm9yKXtcbiAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnNvbGUubG9nKCfojrflj5blrprkvY3kv6Hmga8nLHJlc3VsdCk7XG4gIHd4Lmdsb2JhbERhdGEubG9jYXRpb24gPSB7XG4gICAgbGF0aXR1ZGU6cmVzdWx0LmxhdGl0dWRlLFxuICAgIGxvbmdpdHVkZTpyZXN1bHQubG9uZ2l0dWRlXG4gIH07XG4gIC8vIHRoaXMuc2V0RGF0YSh7XG4gIC8vICAgbGF0aXR1ZGU6cmVzdWx0LmxhdGl0dWRlLFxuICAvLyAgIGxvbmdpdHVkZTpyZXN1bHQubG9uZ2l0dWRlXG4gIC8vIH0pXG4gIHJldHVybiB0cnVlO1xufVxuXG5jb25zdCBnZXRBdXRob3JpemVJbmZvID0gYXN5bmMoc2NvcGU6c3RyaW5nPVwic2NvcGUud3JpdGVQaG90b3NBbGJ1bVwiKT0+e1xuICBsZXQgW2VyciwgcmVzXSA9IGF3YWl0IHd4LiR1dGlscy50byh3eC5wcm8uZ2V0U2V0dGluZygpKTtcbiAgaWYgKGVycikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zb2xlLmxvZyhcImdldFNldHRpbmdcIiwgcmVzKTtcbiAgcmV0dXJuIHJlcy5hdXRoU2V0dGluZ1tzY29wZV0gIT09IGZhbHNlO1xufVxuXG4vLyDorr7nva7pl6jlupflkI3np7BcbmNvbnN0IHNldFNob3BOYW1lID0gKF90aGlzOmFueSk9PntcbiAgbGV0IHNldHRpbmdzID0gd3guZ2xvYmFsRGF0YS5zZXR0aW5ncztcbiAgY29uc29sZS5sb2coJzw8PDw8PDw8POiOt+WPlnNldHRpbmdzLm5hbWUnLHNldHRpbmdzLm5hbWUpO1xuICBfdGhpcy5zZXREYXRhKHtcbiAgICBzaG9wTmFtZTpzZXR0aW5ncy5uYW1lLFxuICAgIGhlbHBVcmw6c2V0dGluZ3MuaGVscFVybCxcbiAgfSlcbiAgd3guc2V0TmF2aWdhdGlvbkJhclRpdGxlKHtcbiAgICB0aXRsZTpzZXR0aW5ncy5uYW1lXG4gIH0pXG59XG5cbmNvbnN0IHdhdGNoT2JqID0gKHRhcmdldDpvYmplY3QsY2FsbGJhY2s6RnVuY3Rpb24pPT57XG4gIGxldCBoYW5kbGVyID0ge1xuICAgIGdldCh0YXJnZXQ6b2JqZWN0LCBrZXk6c3RyaW5nLCByZWNlaXZlcjphbnkpIHtcbiAgICAgIGNvbnNvbGUubG9nKCc+Pj4+Pj4uLi5nZXQnLCBrZXkpXG4gICAgICByZXR1cm4gUmVmbGVjdC5nZXQodGFyZ2V0LCBrZXksIHJlY2VpdmVyKVxuICAgICAgLy/nrYnku7fkuo4gcmV0dXJuIHRhcmdldFtrZXldO1xuICAgIH0sXG4gICAgc2V0KHRhcmdldDpvYmplY3QsIGtleTpzdHJpbmcsIHZhbHVlOmFueSwgcmVjZWl2ZXI6YW55KSB7XG4gICAgICBjb25zb2xlLmxvZygnPj4+Pj4uLi5zZXQnLCBrZXksIHZhbHVlKTtcbiAgICAgIHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyAmJiBjYWxsYmFjayhrZXksIHZhbHVlKVxuICAgICAgcmV0dXJuIFJlZmxlY3Quc2V0KHRhcmdldCwga2V5LCB2YWx1ZSwgcmVjZWl2ZXIpXG4gICAgICAvL+etieS7t+S6jiByZXR1cm4gdGFyZ2V0W2tleV0gPSB2YWx1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ldyBQcm94eSh0YXJnZXQsIGhhbmRsZXIpXG5cbn1cblxuY29uc3Qgc2Nyb2xsVG9FcnJvciA9IChzZWxlY3RvcjpzdHJpbmcsIGVycm9yTXNnOnN0cmluZywgZHVyYXRpb246bnVtYmVyID0gMzAwMCk9PntcbiAgd3gucGFnZVNjcm9sbFRvKHtcbiAgICBzZWxlY3RvcixcbiAgICBkdXJhdGlvbjogMzAwXG4gIH0pXG4gIHd4LnNob3dUb2FzdCh7XG4gICAgdGl0bGU6IGVycm9yTXNnLFxuICAgIGljb246ICdub25lJyxcbiAgICBkdXJhdGlvblxuICB9KVxufVxuZXhwb3J0IGRlZmF1bHR7XG4gIGZvcm1hdFRpbWUsXG4gIHRvLFxuICBnZXRVcmwsXG4gIG1ha2VQaG9uZUNhbGwsXG4gIGRlYm91bmNlLFxuICBzZXRMb2dpbkRhdGEsXG4gIGdldFNpbmdsZVVwbG9hZEltYWdlTGlzdCxcbiAgZ2V0TG9jYXRpb24sXG4gIGdldEF1dGhvcml6ZUluZm8sXG4gIHNldFNob3BOYW1lLFxuICB3YXRjaE9iaixcbiAgc2Nyb2xsVG9FcnJvclxufVxuIl19
|