ng-yunzai-mobile
Version:
1. 修改wechat.micro.ts
382 lines • 24 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: devices/yunzai.im.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { BaseDevice } from "./base.device";
import { Inject, Injectable } from "@angular/core";
import { TokenService } from "../token/token.service";
import { HttpClient } from "@angular/common/http";
import { UserService } from "../user/user.service";
import { BASE_CLIENT } from "../client/base.client";
import { preloaderFinished } from "../auth/preloader";
import { from } from "rxjs";
import { Title } from "@angular/platform-browser";
import * as i0 from "@angular/core";
import * as i1 from "../token/token.service";
import * as i2 from "@angular/common/http";
import * as i3 from "../user/user.service";
import * as i4 from "@angular/platform-browser";
import * as i5 from "../client/base.client";
var YunzaiIm = /** @class */ (function (_super) {
tslib_1.__extends(YunzaiIm, _super);
function YunzaiIm(tokenService, http, user, title, baseclient) {
var _this = _super.call(this) || this;
_this.tokenService = tokenService;
_this.http = http;
_this.user = user;
_this.title = title;
_this.baseclient = baseclient;
return _this;
}
/**
* @return {?}
*/
YunzaiIm.prototype.auth = /**
* @return {?}
*/
function () {
var _this = this;
if (this.baseclient.yunzaiIm && this.baseclient.yunzaiIm.auth === false) {
return new Promise((/**
* @param {?} resolve
* @param {?} reject
* @return {?}
*/
function (resolve, reject) {
preloaderFinished();
resolve(true);
}));
}
return new Promise((/**
* @param {?} resolve
* @param {?} reject
* @return {?}
*/
function (resolve, reject) {
UniJsBridge.callHandler("getToken", {}, (/**
* @param {?} res
* @return {?}
*/
function (res) {
// res:就是上面的callbackFunction的参数
// 注意:如果uni-app不调用callbackFunction,那么这个回调函数是不会执行
console.log('getToken response:', JSON.stringify(res));
/** @type {?} */
var token = {};
token.tokenType = res.data.token_type;
token.accessToken = res.data.access_token;
token.scope = res.data.scope;
token.tokenDateLine = res.data.expires_in;
// 设置token
_this.tokenService.set(token);
// 发送/user请求
_this.http
.get(_this.baseclient.gateway + "/auth/user")
.subscribe((/**
* @param {?} response
* @return {?}
*/
function (response) {
// 设置user
_this.user.set(response.principal);
// 加载结束
preloaderFinished();
resolve(true);
}));
}));
}));
};
/**
* @param {?} iwindow
* @return {?}
*/
YunzaiIm.prototype.openWindow = /**
* @param {?} iwindow
* @return {?}
*/
function (iwindow) {
window.open(iwindow.url, '_self');
};
/**
* @param {?} ititle
* @return {?}
*/
YunzaiIm.prototype.setTitle = /**
* @param {?} ititle
* @return {?}
*/
function (ititle) {
this.title.setTitle(ititle.title);
};
/**
* @param {?} navigationBar
* @return {?}
*/
YunzaiIm.prototype.setNavigationBar = /**
* @param {?} navigationBar
* @return {?}
*/
function (navigationBar) {
alert("Yunzai_IM暂不支持放置按钮!");
};
/**
* @param {?} ishare
* @return {?}
*/
YunzaiIm.prototype.share = /**
* @param {?} ishare
* @return {?}
*/
function (ishare) {
alert("Yunzai_IM暂不支持分享!");
};
/**
* @return {?}
*/
YunzaiIm.prototype.getToken = /**
* @return {?}
*/
function () {
return this.tokenService.get();
};
/**
* @return {?}
*/
YunzaiIm.prototype.scanCode = /**
* @return {?}
*/
function () {
/** @type {?} */
var p = new Promise((/**
* @param {?} resolve
* @return {?}
*/
function (resolve) {
UniJsBridge.callHandler("clickScan", {}, (/**
* @param {?} res
* @return {?}
*/
function (res) {
console.log('clickScan response:', JSON.stringify(res));
var result = res.data.result;
resolve(result);
}));
}));
return from(p);
};
/**
* @return {?}
*/
YunzaiIm.prototype.userLocation = /**
* @return {?}
*/
function () {
/** @type {?} */
var p = new Promise((/**
* @param {?} resolve
* @return {?}
*/
function (resolve) {
// type参数支持 wgs84和 gcj02
UniJsBridge.callHandler("userLocation", { type: 'wgs84', }, (/**
* @param {?} res
* @return {?}
*/
function (res) {
console.log('userLocation response:', JSON.stringify(res));
var _a = res.data, latitude = _a.latitude, longitude = _a.longitude;
/** @type {?} */
var address = '暂无address';
resolve({ latitude: latitude, longitude: longitude, address: address });
}));
}));
return from(p);
};
/**
* @param {?} bssids
* @return {?}
*/
YunzaiIm.prototype.validateInWifi = /**
* @param {?} bssids
* @return {?}
*/
function (bssids) {
alert("Yunzai_IM暂不支持WIFI验证!");
return undefined;
};
/**
* @return {?}
*/
YunzaiIm.prototype.getWifiMac = /**
* @return {?}
*/
function () {
alert("Yunzai_IM暂不支持获取MAC地址!");
return undefined;
};
/**
* @param {?} count
* @return {?}
*/
YunzaiIm.prototype.chooseContacts = /**
* @param {?} count
* @return {?}
*/
function (count) {
alert("Yunzai_IM暂不支持获取联系人!");
return undefined;
};
/**
* @param {?} targetUserId
* @return {?}
*/
YunzaiIm.prototype.contactDetails = /**
* @param {?} targetUserId
* @return {?}
*/
function (targetUserId) {
alert("Yunzai_IM暂不支持查询联系人详细信息!");
return undefined;
};
/**
* @param {?} count
* @param {?} sourceType
* @return {?}
*/
YunzaiIm.prototype.uploadImage = /**
* @param {?} count
* @param {?} sourceType
* @return {?}
*/
function (count, sourceType) {
alert("Yunzai_IM暂不支持图片上传!");
return undefined;
};
/**
* @param {?} url
* @param {?} openType
* @param {?} title
* @param {?} id
* @param {?} type
* @return {?}
*/
YunzaiIm.prototype.openReadWithTimer = /**
* @param {?} url
* @param {?} openType
* @param {?} title
* @param {?} id
* @param {?} type
* @return {?}
*/
function (url, openType, title, id, type) {
alert("Yunzai_IM暂不支持读物时间统计!");
return undefined;
};
/**
* @param {?} limitMinute
* @return {?}
*/
YunzaiIm.prototype.uploadMovie = /**
* @param {?} limitMinute
* @return {?}
*/
function (limitMinute) {
alert("Yunzai_IM暂不支持视频上传!");
return undefined;
};
/**
* @param {?} url
* @param {?} title
* @return {?}
*/
YunzaiIm.prototype.fileBrowser = /**
* @param {?} url
* @param {?} title
* @return {?}
*/
function (url, title) {
alert("Yunzai_IM暂不支持此功能!");
return undefined;
};
/**
* @param {?} ticket
* @param {?} callback
* @return {?}
*/
YunzaiIm.prototype.startSearchBeacons = /**
* @param {?} ticket
* @param {?} callback
* @return {?}
*/
function (ticket, callback) {
throw new Error("Method not implemented.");
};
/**
* @param {?} callback
* @return {?}
*/
YunzaiIm.prototype.stopSearchBeacons = /**
* @param {?} callback
* @return {?}
*/
function (callback) {
throw new Error("Method not implemented.");
};
/**
* @param {?} callback
* @return {?}
*/
YunzaiIm.prototype.onSearchBeacons = /**
* @param {?} callback
* @return {?}
*/
function (callback) {
throw new Error("Method not implemented.");
};
YunzaiIm.decorators = [
{ type: Injectable, args: [{
providedIn: "root",
},] }
];
/** @nocollapse */
YunzaiIm.ctorParameters = function () { return [
{ type: TokenService },
{ type: HttpClient },
{ type: UserService },
{ type: Title },
{ type: undefined, decorators: [{ type: Inject, args: [BASE_CLIENT,] }] }
]; };
/** @nocollapse */ YunzaiIm.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function YunzaiIm_Factory() { return new YunzaiIm(i0.ɵɵinject(i1.TokenService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.UserService), i0.ɵɵinject(i4.Title), i0.ɵɵinject(i5.BASE_CLIENT)); }, token: YunzaiIm, providedIn: "root" });
return YunzaiIm;
}(BaseDevice));
export { YunzaiIm };
if (false) {
/**
* @type {?}
* @private
*/
YunzaiIm.prototype.tokenService;
/**
* @type {?}
* @private
*/
YunzaiIm.prototype.http;
/**
* @type {?}
* @private
*/
YunzaiIm.prototype.user;
/**
* @type {?}
* @private
*/
YunzaiIm.prototype.title;
/**
* @type {?}
* @private
*/
YunzaiIm.prototype.baseclient;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLmltLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmcteXVuemFpLW1vYmlsZS8iLCJzb3VyY2VzIjpbImRldmljZXMveXVuemFpLmltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBYSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBQyxJQUFJLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBSWhEO0lBRzhCLG9DQUFVO0lBQ3RDLGtCQUNVLFlBQTBCLEVBQzFCLElBQWdCLEVBQ2hCLElBQWlCLEVBQ2pCLEtBQVksRUFDUyxVQUFzQjtRQUxyRCxZQU9FLGlCQUFPLFNBQ1I7UUFQUyxrQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFVBQUksR0FBSixJQUFJLENBQWE7UUFDakIsV0FBSyxHQUFMLEtBQUssQ0FBTztRQUNTLGdCQUFVLEdBQVYsVUFBVSxDQUFZOztJQUdyRCxDQUFDOzs7O0lBRUQsdUJBQUk7OztJQUFKO1FBQUEsaUJBK0JDO1FBOUJDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLEtBQUss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O0lBQ3BCLDhCQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmFzZURldmljZX0gZnJvbSBcIi4vYmFzZS5kZXZpY2VcIjtcclxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VG9rZW5TZXJ2aWNlfSBmcm9tIFwiLi4vdG9rZW4vdG9rZW4uc2VydmljZVwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge1VzZXJTZXJ2aWNlfSBmcm9tIFwiLi4vdXNlci91c2VyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtCQVNFX0NMSUVOVCwgQmFzZUNsaWVudH0gZnJvbSBcIi4uL2NsaWVudC9iYXNlLmNsaWVudFwiO1xyXG5pbXBvcnQge3ByZWxvYWRlckZpbmlzaGVkfSBmcm9tIFwiLi4vYXV0aC9wcmVsb2FkZXJcIjtcclxuaW1wb3J0IHtJdG9rZW59IGZyb20gXCIuLi9hdXRoL2l0b2tlblwiO1xyXG5pbXBvcnQge2Zyb20sIE9ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7SVNoYXJlLCBJVGl0bGUsIElXaW5kb3csIE5hdmlnYXRpb25CYXIsIFVzZXJMb2NhdGlvbn0gZnJvbSBcIi4vbW9kZWxcIjtcclxuaW1wb3J0IHtUaXRsZX0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbmRlY2xhcmUgdmFyIFVuaUpzQnJpZGdlO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWXVuemFpSW0gZXh0ZW5kcyBCYXNlRGV2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBUb2tlblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHVzZXI6IFVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0aXRsZTogVGl0bGUsXHJcbiAgICBASW5qZWN0KEJBU0VfQ0xJRU5UKSBwcml2YXRlIGJhc2VjbGllbnQ6IEJhc2VDbGllbnRcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBhdXRoKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICBpZiAodGhpcy5iYXNlY2xpZW50Lnl1bnphaUltICYmIHRoaXMuYmFzZWNsaWVudC55dW56YWlJbS5hdXRoID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgcHJlbG9hZGVyRmluaXNoZWQoKTtcclxuICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgVW5pSnNCcmlkZ2UuY2FsbEhhbmRsZXIoXCJnZXRUb2tlblwiLCB7fSwgcmVzID0+IHtcclxuICAgICAgICAvLyByZXM65bCx5piv5LiK6Z2i55qEY2FsbGJhY2tGdW5jdGlvbueahOWPguaVsFxyXG4gICAgICAgIC8vIOazqOaEj++8muWmguaenHVuaS1hcHDkuI3osIPnlKhjYWxsYmFja0Z1bmN0aW9uLOmCo+S5iOi/meS4quWbnuiwg+WHveaVsOaYr+S4jeS8muaJp+ihjFxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdnZXRUb2tlbiByZXNwb25zZTonLCBKU09OLnN0cmluZ2lmeShyZXMpKTtcclxuICAgICAgICBjb25zdCB0b2tlbjogYW55ID0ge307XHJcbiAgICAgICAgdG9rZW4udG9rZW5UeXBlID0gcmVzLmRhdGEudG9rZW5fdHlwZTtcclxuICAgICAgICB0b2tlbi5hY2Nlc3NUb2tlbiA9IHJlcy5kYXRhLmFjY2Vzc190b2tlbjtcclxuICAgICAgICB0b2tlbi5zY29wZSA9IHJlcy5kYXRhLnNjb3BlO1xyXG4gICAgICAgIHRva2VuLnRva2VuRGF0ZUxpbmUgPSByZXMuZGF0YS5leHBpcmVzX2luO1xyXG4gICAgICAgIC8vIOiuvue9rnRva2VuXHJcbiAgICAgICAgdGhpcy50b2tlblNlcnZpY2Uuc2V0KHRva2VuKTtcclxuICAgICAgICAvLyDlj5HpgIEvdXNlcuivt+axglxyXG4gICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLmdldChgJHt0aGlzLmJhc2VjbGllbnQuZ2F0ZXdheX0vYXV0aC91c2VyYClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLy8g6K6+572udXNlclxyXG4gICAgICAgICAgICB0aGlzLnVzZXIuc2V0KHJlc3BvbnNlLnByaW5jaXBhbCk7XHJcbiAgICAgICAgICAgIC8vIOWKoOi9vee7k+adn1xyXG4gICAgICAgICAgICBwcmVsb2FkZXJGaW5pc2hlZCgpO1xyXG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuV2luZG93KGl3aW5kb3c6IElXaW5kb3cpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5vcGVuKGl3aW5kb3cudXJsLCAnX3NlbGYnKTtcclxuICB9XHJcblxyXG4gIHNldFRpdGxlKGl0aXRsZTogSVRpdGxlKTogdm9pZCB7XHJcbiAgICB0aGlzLnRpdGxlLnNldFRpdGxlKGl0aXRsZS50aXRsZSk7XHJcbiAgfVxyXG5cclxuICBzZXROYXZpZ2F0aW9uQmFyKG5hdmlnYXRpb25CYXI6IE5hdmlnYXRpb25CYXIpOiB2b2lkIHtcclxuICAgIGFsZXJ0KFwiWXVuemFpX0lN5pqC5LiN5pSv5oyB5pS+572u5oyJ6ZKuIVwiKTtcclxuICB9XHJcblxyXG4gIHNoYXJlKGlzaGFyZTogSVNoYXJlKTogdm9pZCB7XHJcbiAgICBhbGVydChcIll1bnphaV9JTeaaguS4jeaUr+aMgeWIhuS6qyFcIik7XHJcbiAgfVxyXG5cclxuICBnZXRUb2tlbigpOiBJdG9rZW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudG9rZW5TZXJ2aWNlLmdldCgpO1xyXG4gIH1cclxuXHJcbiAgc2NhbkNvZGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IHAgPSBuZXcgUHJvbWlzZTxzdHJpbmc+KHJlc29sdmUgPT4ge1xyXG4gICAgICBVbmlKc0JyaWRnZS5jYWxsSGFuZGxlcihcImNsaWNrU2NhblwiLCB7fSwgcmVzID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnY2xpY2tTY2FuIHJlc3BvbnNlOicsIEpTT04uc3RyaW5naWZ5KHJlcykpO1xyXG4gICAgICAgIGNvbnN0IHtyZXN1bHR9ID0gcmVzLmRhdGE7XHJcbiAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZnJvbShwKTtcclxuICB9XHJcblxyXG4gIHVzZXJMb2NhdGlvbigpOiBPYnNlcnZhYmxlPFVzZXJMb2NhdGlvbj4ge1xyXG4gICAgY29uc3QgcCA9IG5ldyBQcm9taXNlPFVzZXJMb2NhdGlvbj4ocmVzb2x2ZSA9PiB7XHJcbiAgICAgIC8vIHR5cGXlj4LmlbDmlK/mjIEgd2dzODTlkowgZ2NqMDJcclxuICAgICAgVW5pSnNCcmlkZ2UuY2FsbEhhbmRsZXIoXCJ1c2VyTG9jYXRpb25cIiwge3R5cGU6ICd3Z3M4NCcsfSwgcmVzID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygndXNlckxvY2F0aW9uIHJlc3BvbnNlOicsIEpTT04uc3RyaW5naWZ5KHJlcykpO1xyXG4gICAgICAgIGNvbnN0IHtsYXRpdHVkZSwgbG9uZ2l0dWRlfSA9IHJlcy5kYXRhO1xyXG4gICAgICAgIGNvbnN0IGFkZHJlc3MgPSAn5pqC5pegYWRkcmVzcyc7XHJcbiAgICAgICAgcmVzb2x2ZSh7bGF0aXR1ZGUsIGxvbmdpdHVkZSwgYWRkcmVzc30pO1xyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZnJvbShwKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlSW5XaWZpKGJzc2lkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGFsZXJ0KFwiWXVuemFpX0lN5pqC5LiN5pSv5oyBV0lGSemqjOivgSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2lmaU1hYygpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgYWxlcnQoXCJZdW56YWlfSU3mmoLkuI3mlK/mjIHojrflj5ZNQUPlnLDlnYAhXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGNob29zZUNvbnRhY3RzKGNvdW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCJZdW56YWlfSU3mmoLkuI3mlK/mjIHojrflj5bogZTns7vkurohXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGNvbnRhY3REZXRhaWxzKHRhcmdldFVzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwiWXVuemFpX0lN5pqC5LiN5pSv5oyB5p+l6K+i6IGU57O75Lq66K+m57uG5L+h5oGvIVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRJbWFnZShjb3VudDogbnVtYmVyLCBzb3VyY2VUeXBlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCJZdW56YWlfSU3mmoLkuI3mlK/mjIHlm77niYfkuIrkvKAhXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG9wZW5SZWFkV2l0aFRpbWVyKFxyXG4gICAgdXJsOiBhbnksXHJcbiAgICBvcGVuVHlwZTogYW55LFxyXG4gICAgdGl0bGU6IGFueSxcclxuICAgIGlkOiBhbnksXHJcbiAgICB0eXBlOiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCJZdW56YWlfSU3mmoLkuI3mlK/mjIHor7vnianml7bpl7Tnu5/orqEhXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHVwbG9hZE1vdmllKGxpbWl0TWludXRlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCJZdW56YWlfSU3mmoLkuI3mlK/mjIHop4bpopHkuIrkvKAhXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGZpbGVCcm93c2VyKHVybDogc3RyaW5nLCB0aXRsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwiWXVuemFpX0lN5pqC5LiN5pSv5oyB5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBzdGFydFNlYXJjaEJlYWNvbnModGlja2V0OiBzdHJpbmcsIGNhbGxiYWNrOiAoYXJndjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcclxuICB9XHJcblxyXG4gIHN0b3BTZWFyY2hCZWFjb25zKGNhbGxiYWNrOiAoYXJndjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoQmVhY29ucyhjYWxsYmFjazogKGFyZ3Y6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XHJcbiAgfVxyXG59XHJcbiJdfQ==