ng-yunzai-mobile
Version:
1. 修改wechat.micro.ts
362 lines • 22.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: devices/yiban.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
/*
* @Author: cuihaonan
* @Email: devcui@outlook.com
* @Date: 2021-04-07 13:59:18
* @LastEditTime: 2021-06-08 15:10:01
* @LastEditors: cuihaonan
* @Description: Basic description
* @FilePath: /angular-mobile-npm-package/projects/ng-yunzai-mobile/devices/yiban.ts
* @LICENSE: NONE
*/
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 { 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 Yiban = /** @class */ (function (_super) {
tslib_1.__extends(Yiban, _super);
function Yiban(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 {?}
*/
Yiban.prototype.auth = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise((/**
* @param {?} resolve
* @param {?} reject
* @return {?}
*/
function (resolve, reject) {
// 查看有无参数
/** @type {?} */
var params = window.location.href.split("?")[1];
if (params) {
// 拿到参数键直对
/** @type {?} */
var kvs = params.split("&");
/** @type {?} */
var tokenInfo_1 = {};
// 查看有无token信息
kvs.forEach((/**
* @param {?} k
* @return {?}
*/
function (k) {
if (k.includes("_token")) {
tokenInfo_1["accessToken"] = k.split("=")[1];
tokenInfo_1["tokenType"] = "bearer";
}
}));
// 如果有token信息
if (tokenInfo_1.accessToken) {
// 设置token信息
_this.tokenService.set(tokenInfo_1);
// 请求user
_this.http
.get(_this.baseclient.gateway + "/auth/user")
.subscribe((/**
* @param {?} response
* @return {?}
*/
function (response) {
// 设置user
_this.user.set(response.principal);
// 加载结束
preloaderFinished();
resolve(true);
}));
}
else {
alert("无法获取到易班用户信息参数");
}
}
else {
alert("无法获取到易班参数");
}
}));
};
/**
* @param {?} iwindow
* @return {?}
*/
Yiban.prototype.openWindow = /**
* @param {?} iwindow
* @return {?}
*/
function (iwindow) {
window.open(iwindow.url);
};
/**
* @param {?} ititle
* @return {?}
*/
Yiban.prototype.setTitle = /**
* @param {?} ititle
* @return {?}
*/
function (ititle) {
this.title.setTitle(ititle.title);
};
/**
* @param {?} navigationBar
* @return {?}
*/
Yiban.prototype.setNavigationBar = /**
* @param {?} navigationBar
* @return {?}
*/
function (navigationBar) {
alert("易班暂不支持放置按钮,请在APP中使用此功能!");
};
/**
* @param {?} ishare
* @return {?}
*/
Yiban.prototype.share = /**
* @param {?} ishare
* @return {?}
*/
function (ishare) {
alert("易班暂不支持分享,请在APP中使用此功能!");
};
/**
* @return {?}
*/
Yiban.prototype.getToken = /**
* @return {?}
*/
function () {
return this.tokenService.get();
};
/**
* @return {?}
*/
Yiban.prototype.scanCode = /**
* @return {?}
*/
function () {
alert("易班暂不支持扫码,请在APP中使用此功能!");
return undefined;
};
/**
* @return {?}
*/
Yiban.prototype.userLocation = /**
* @return {?}
*/
function () {
alert("易班暂不支持定位,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} bssids
* @return {?}
*/
Yiban.prototype.validateInWifi = /**
* @param {?} bssids
* @return {?}
*/
function (bssids) {
alert("易班暂不支持WIFI验证,请在APP中使用此功能!");
return undefined;
};
/**
* @return {?}
*/
Yiban.prototype.getWifiMac = /**
* @return {?}
*/
function () {
alert("易班暂不支持获取MAC地址,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} count
* @return {?}
*/
Yiban.prototype.chooseContacts = /**
* @param {?} count
* @return {?}
*/
function (count) {
alert("易班暂不支持获取联系人,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} targetUserId
* @return {?}
*/
Yiban.prototype.contactDetails = /**
* @param {?} targetUserId
* @return {?}
*/
function (targetUserId) {
alert("易班暂不支持查询联系人详细信息,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} count
* @param {?} sourceType
* @return {?}
*/
Yiban.prototype.uploadImage = /**
* @param {?} count
* @param {?} sourceType
* @return {?}
*/
function (count, sourceType) {
alert("易班暂不支持图片上传,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} url
* @param {?} openType
* @param {?} title
* @param {?} id
* @param {?} type
* @return {?}
*/
Yiban.prototype.openReadWithTimer = /**
* @param {?} url
* @param {?} openType
* @param {?} title
* @param {?} id
* @param {?} type
* @return {?}
*/
function (url, openType, title, id, type) {
alert("易班暂不支持读物时间统计,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} limitMinute
* @return {?}
*/
Yiban.prototype.uploadMovie = /**
* @param {?} limitMinute
* @return {?}
*/
function (limitMinute) {
alert("易班暂不支持视频上传,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} url
* @param {?} title
* @return {?}
*/
Yiban.prototype.fileBrowser = /**
* @param {?} url
* @param {?} title
* @return {?}
*/
function (url, title) {
alert("易班暂不支持此功能,请在APP中使用此功能!");
return undefined;
};
/**
* @param {?} ticket
* @param {?} callback
* @return {?}
*/
Yiban.prototype.startSearchBeacons = /**
* @param {?} ticket
* @param {?} callback
* @return {?}
*/
function (ticket, callback) {
throw new Error("Method not implemented.");
};
/**
* @param {?} callback
* @return {?}
*/
Yiban.prototype.stopSearchBeacons = /**
* @param {?} callback
* @return {?}
*/
function (callback) {
throw new Error("Method not implemented.");
};
/**
* @param {?} callback
* @return {?}
*/
Yiban.prototype.onSearchBeacons = /**
* @param {?} callback
* @return {?}
*/
function (callback) {
throw new Error("Method not implemented.");
};
Yiban.decorators = [
{ type: Injectable, args: [{
providedIn: "root",
},] }
];
/** @nocollapse */
Yiban.ctorParameters = function () { return [
{ type: TokenService },
{ type: HttpClient },
{ type: UserService },
{ type: Title },
{ type: undefined, decorators: [{ type: Inject, args: [BASE_CLIENT,] }] }
]; };
/** @nocollapse */ Yiban.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function Yiban_Factory() { return new Yiban(i0.ɵɵinject(i1.TokenService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.UserService), i0.ɵɵinject(i4.Title), i0.ɵɵinject(i5.BASE_CLIENT)); }, token: Yiban, providedIn: "root" });
return Yiban;
}(BaseDevice));
export { Yiban };
if (false) {
/**
* @type {?}
* @private
*/
Yiban.prototype.tokenService;
/**
* @type {?}
* @private
*/
Yiban.prototype.http;
/**
* @type {?}
* @private
*/
Yiban.prototype.user;
/**
* @type {?}
* @private
*/
Yiban.prototype.title;
/**
* @type {?}
* @private
*/
Yiban.prototype.baseclient;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWliYW4uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy15dW56YWktbW9iaWxlLyIsInNvdXJjZXMiOlsiZGV2aWNlcy95aWJhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBV0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBRWxEO0lBRzJCLGlDQUFVO0lBQ25DLGVBQ1UsWUFBMEIsRUFDMUIsSUFBZ0IsRUFDaEIsSUFBaUIsRUFDakIsS0FBWSxFQUNTLFVBQXNCO1FBTHJELFlBT0UsaUJBQU8sU0FDUjtRQVBTLGtCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1MsZ0JBQVUsR0FBVixVQUFVLENBQVk7O0lBR3JELENBQUM7Ozs7SUFFRCxvQkFBSTs7O0lBQUo7UUFBQSxpQkFvQ0M7UUFuQ0MsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQU0sVUFBQyxPQUFPLEVBQUUsTUFBTTs7O2dCQUVoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENB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U0FBQyxXQUFXOzs7Z0JBaEN2QjtDQWdLQyxBQXpJRCxDQUcyQixVQUFVLEdBc0lwQztTQXRJWSxLQUFLOzs7Ozs7SUFFZCw2QkFBa0M7Ozs7O0lBQ2xDLHFCQUF3Qjs7Ozs7SUFDeEIscUJBQXlCOzs7OztJQUN6QixzQkFBb0I7Ozs7O0lBQ3BCLDJCQUFtRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBBdXRob3I6IGN1aWhhb25hblxyXG4gKiBARW1haWw6IGRldmN1aUBvdXRsb29rLmNvbVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wNyAxMzo1OToxOFxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA2LTA4IDE1OjEwOjAxXHJcbiAqIEBMYXN0RWRpdG9yczogY3VpaGFvbmFuXHJcbiAqIEBEZXNjcmlwdGlvbjogQmFzaWMgZGVzY3JpcHRpb25cclxuICogQEZpbGVQYXRoOiAvYW5ndWxhci1tb2JpbGUtbnBtLXBhY2thZ2UvcHJvamVjdHMvbmcteXVuemFpLW1vYmlsZS9kZXZpY2VzL3lpYmFuLnRzXHJcbiAqIEBMSUNFTlNFOiBOT05FXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQmFzZURldmljZSB9IGZyb20gXCIuL2Jhc2UuZGV2aWNlXCI7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuLi90b2tlbi90b2tlbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tIFwiLi4vdXNlci91c2VyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQmFzZUNsaWVudCwgQkFTRV9DTElFTlQgfSBmcm9tIFwiLi4vY2xpZW50L2Jhc2UuY2xpZW50XCI7XHJcbmltcG9ydCB7IHByZWxvYWRlckZpbmlzaGVkIH0gZnJvbSBcIi4uL2F1dGgvcHJlbG9hZGVyXCI7XHJcbmltcG9ydCB7IEl0b2tlbiB9IGZyb20gXCIuLi9hdXRoL2l0b2tlblwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSVNoYXJlLCBJVGl0bGUsIElXaW5kb3csIE5hdmlnYXRpb25CYXIsIFVzZXJMb2NhdGlvbiB9IGZyb20gXCIuL21vZGVsXCI7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFlpYmFuIGV4dGVuZHMgQmFzZURldmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRva2VuU2VydmljZTogVG9rZW5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgdGl0bGU6IFRpdGxlLFxyXG4gICAgQEluamVjdChCQVNFX0NMSUVOVCkgcHJpdmF0ZSBiYXNlY2xpZW50OiBCYXNlQ2xpZW50XHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgYXV0aCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAvLyDmn6XnnIvmnInml6Dlj4LmlbBcclxuICAgICAgY29uc3QgcGFyYW1zID0gd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoXCI/XCIpWzFdO1xyXG4gICAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgICAgLy8g5ou/5Yiw5Y+C5pWw6ZSu55u05a+5XHJcbiAgICAgICAgY29uc3Qga3ZzID0gcGFyYW1zLnNwbGl0KFwiJlwiKTtcclxuICAgICAgICBjb25zdCB0b2tlbkluZm86IGFueSA9IHt9O1xyXG4gICAgICAgIC8vIOafpeeci+acieaXoHRva2Vu5L+h5oGvXHJcbiAgICAgICAga3ZzLmZvckVhY2goKGspID0+IHtcclxuICAgICAgICAgIGlmIChrLmluY2x1ZGVzKFwiX3Rva2VuXCIpKSB7XHJcbiAgICAgICAgICAgIHRva2VuSW5mb1tcImFjY2Vzc1Rva2VuXCJdID0gay5zcGxpdChcIj1cIilbMV07XHJcbiAgICAgICAgICAgIHRva2VuSW5mb1tcInRva2VuVHlwZVwiXSA9IFwiYmVhcmVyXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8g5aaC5p6c5pyJdG9rZW7kv6Hmga9cclxuICAgICAgICBpZiAodG9rZW5JbmZvLmFjY2Vzc1Rva2VuKSB7XHJcbiAgICAgICAgICAvLyDorr7nva50b2tlbuS/oeaBr1xyXG4gICAgICAgICAgdGhpcy50b2tlblNlcnZpY2Uuc2V0KHRva2VuSW5mbyk7XHJcbiAgICAgICAgICAvLyDor7fmsYJ1c2VyXHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldChgJHt0aGlzLmJhc2VjbGllbnQuZ2F0ZXdheX0vYXV0aC91c2VyYClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIOiuvue9rnVzZXJcclxuICAgICAgICAgICAgICB0aGlzLnVzZXIuc2V0KHJlc3BvbnNlLnByaW5jaXBhbCk7XHJcbiAgICAgICAgICAgICAgLy8g5Yqg6L2957uT5p2fXHJcbiAgICAgICAgICAgICAgcHJlbG9hZGVyRmluaXNoZWQoKTtcclxuICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYWxlcnQoXCLml6Dms5Xojrflj5bliLDmmJPnj63nlKjmiLfkv6Hmga/lj4LmlbBcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGFsZXJ0KFwi5peg5rOV6I635Y+W5Yiw5piT54+t5Y+C5pWwXCIpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5XaW5kb3coaXdpbmRvdzogSVdpbmRvdyk6IHZvaWQge1xyXG4gICAgd2luZG93Lm9wZW4oaXdpbmRvdy51cmwpO1xyXG4gIH1cclxuXHJcbiAgc2V0VGl0bGUoaXRpdGxlOiBJVGl0bGUpOiB2b2lkIHtcclxuICAgIHRoaXMudGl0bGUuc2V0VGl0bGUoaXRpdGxlLnRpdGxlKTtcclxuICB9XHJcblxyXG4gIHNldE5hdmlnYXRpb25CYXIobmF2aWdhdGlvbkJhcjogTmF2aWdhdGlvbkJhcik6IHZvaWQge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHmlL7nva7mjInpkq4s6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICB9XHJcblxyXG4gIHNoYXJlKGlzaGFyZTogSVNoYXJlKTogdm9pZCB7XHJcbiAgICBhbGVydChcIuaYk+ePreaaguS4jeaUr+aMgeWIhuS6qyzor7flnKhBUFDkuK3kvb/nlKjmraTlip/og70hXCIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9rZW4oKTogSXRva2VuIHtcclxuICAgIHJldHVybiB0aGlzLnRva2VuU2VydmljZS5nZXQoKTtcclxuICB9XHJcblxyXG4gIHNjYW5Db2RlKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBhbGVydChcIuaYk+ePreaaguS4jeaUr+aMgeaJq+eggSzor7flnKhBUFDkuK3kvb/nlKjmraTlip/og70hXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHVzZXJMb2NhdGlvbigpOiBPYnNlcnZhYmxlPFVzZXJMb2NhdGlvbj4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHlrprkvY0s6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUluV2lmaShic3NpZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICBhbGVydChcIuaYk+ePreaaguS4jeaUr+aMgVdJRknpqozor4Es6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRXaWZpTWFjKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBhbGVydChcIuaYk+ePreaaguS4jeaUr+aMgeiOt+WPlk1BQ+WcsOWdgCzor7flnKhBUFDkuK3kvb/nlKjmraTlip/og70hXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGNob29zZUNvbnRhY3RzKGNvdW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHojrflj5bogZTns7vkuros6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBjb250YWN0RGV0YWlscyh0YXJnZXRVc2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBhbGVydChcIuaYk+ePreaaguS4jeaUr+aMgeafpeivouiBlOezu+S6uuivpue7huS/oeaBryzor7flnKhBUFDkuK3kvb/nlKjmraTlip/og70hXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHVwbG9hZEltYWdlKGNvdW50OiBudW1iZXIsIHNvdXJjZVR5cGU6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBhbGVydChcIuaYk+ePreaaguS4jeaUr+aMgeWbvueJh+S4iuS8oCzor7flnKhBUFDkuK3kvb/nlKjmraTlip/og70hXCIpO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG9wZW5SZWFkV2l0aFRpbWVyKFxyXG4gICAgdXJsOiBhbnksXHJcbiAgICBvcGVuVHlwZTogYW55LFxyXG4gICAgdGl0bGU6IGFueSxcclxuICAgIGlkOiBhbnksXHJcbiAgICB0eXBlOiBhbnlcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHor7vnianml7bpl7Tnu5/orqEs6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRNb3ZpZShsaW1pdE1pbnV0ZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGFsZXJ0KFwi5piT54+t5pqC5LiN5pSv5oyB6KeG6aKR5LiK5LygLOivt+WcqEFQUOS4reS9v+eUqOatpOWKn+iDvSFcIik7XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZmlsZUJyb3dzZXIodXJsOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgYWxlcnQoXCLmmJPnj63mmoLkuI3mlK/mjIHmraTlip/og70s6K+35ZyoQVBQ5Lit5L2/55So5q2k5Yqf6IO9IVwiKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBzdGFydFNlYXJjaEJlYWNvbnModGlja2V0OiBzdHJpbmcsIGNhbGxiYWNrOiAoYXJndjogYW55KSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJNZXRob2Qgbm90IGltcGxlbWVudGVkLlwiKTtcclxuICB9XHJcbiAgc3RvcFNlYXJjaEJlYWNvbnMoY2FsbGJhY2s6IChhcmd2OiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xyXG4gIH1cclxuICBvblNlYXJjaEJlYWNvbnMoY2FsbGJhY2s6IChhcmd2OiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=