@cloudbase/oauth 2.5.44-beta.0 → 2.5.46-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { GetVerificationRequest, GetVerificationResponse, UserProfile, UserInfo, SignInRequest, SignUpRequest, VerifyRequest, VerifyResponse, GenProviderRedirectUriRequest, GenProviderRedirectUriResponse, GrantProviderTokenRequest, GrantProviderTokenResponse, PatchProviderTokenRequest, PatchProviderTokenResponse, SignInWithProviderRequest, BindWithProviderRequest, TransByProviderRequest, GrantTokenRequest, UserProfileProvider, UnbindProviderRequest, CheckPasswordrRequest, BindPhoneRequest, BindEmailRequest, SetPasswordRequest, ChangeBindedProviderRequest, ChangeBindedProviderResponse, UpdatePasswordRequest, SudoResponse, SudoRequest, GetCustomSignTicketFn, QueryUserProfileRequest, QueryUserProfileResponse, ResetPasswordRequest, DeviceAuthorizeRequest, DeviceAuthorizeResponse, CheckUsernameRequest, CheckIfUserExistRequest, CheckIfUserExistResponse, WithSudoRequest, PublicKey, EncryptParams, ProviderSubType } from './models';
1
+ import { GetVerificationRequest, GetVerificationResponse, UserProfile, UserInfo, SignInRequest, SignUpRequest, VerifyRequest, VerifyResponse, GenProviderRedirectUriRequest, GenProviderRedirectUriResponse, GrantProviderTokenRequest, GrantProviderTokenResponse, PatchProviderTokenRequest, PatchProviderTokenResponse, SignInWithProviderRequest, BindWithProviderRequest, TransByProviderRequest, GrantTokenRequest, UserProfileProvider, UnbindProviderRequest, CheckPasswordrRequest, BindPhoneRequest, BindEmailRequest, SetPasswordRequest, ChangeBindedProviderRequest, ChangeBindedProviderResponse, UpdatePasswordRequest, SudoResponse, SudoRequest, GetCustomSignTicketFn, QueryUserProfileRequest, QueryUserProfileResponse, ResetPasswordRequest, DeviceAuthorizeRequest, DeviceAuthorizeResponse, CheckUsernameRequest, CheckIfUserExistRequest, CheckIfUserExistResponse, WithSudoRequest, PublicKey, EncryptParams, ProviderSubType, GetMiniProgramQrCodeRequest, GetMiniProgramQrCodeStatusRequest, GetMiniProgramQrCodeResponse, GetMiniProgramQrCodeStatusResponse, ModifyUserBasicInfoRequest } from './models';
2
2
  import { SimpleStorage, RequestFunction } from '../oauth2client/interface';
3
3
  import { OAuth2Client } from '../oauth2client/oauth2client';
4
4
  import { Credentials } from '../oauth2client/models';
@@ -34,6 +34,7 @@ export declare class Auth {
34
34
  grantProviderToken(params: GrantProviderTokenRequest): Promise<GrantProviderTokenResponse>;
35
35
  patchProviderToken(params: PatchProviderTokenRequest): Promise<PatchProviderTokenResponse>;
36
36
  signInWithProvider(params: SignInWithProviderRequest): Promise<Credentials>;
37
+ signInWithWechat(params?: any): Promise<Credentials>;
37
38
  bindWithProvider(params: BindWithProviderRequest): Promise<void>;
38
39
  getUserProfile(params: {
39
40
  version?: string;
@@ -60,6 +61,7 @@ export declare class Auth {
60
61
  getCurUserVerification(params: GetVerificationRequest): Promise<GetVerificationResponse>;
61
62
  changeBindedProvider(params: ChangeBindedProviderRequest): Promise<ChangeBindedProviderResponse>;
62
63
  setUserProfile(params: UserProfile): Promise<UserProfile>;
64
+ updateUserBasicInfo(params: ModifyUserBasicInfoRequest): Promise<void>;
63
65
  queryUserProfile(params: QueryUserProfileRequest): Promise<QueryUserProfileResponse>;
64
66
  setCustomSignFunc(getTickFn: GetCustomSignTicketFn): void;
65
67
  signInWithCustomTicket(params?: {
@@ -78,7 +80,7 @@ export declare class Auth {
78
80
  getPublicKey(): Promise<PublicKey>;
79
81
  getEncryptParams(params: Record<any, any>): Promise<EncryptParams>;
80
82
  getProviderSubType(): Promise<ProviderSubType>;
81
- varifyCaptchaData({ token, key }: {
83
+ verifyCaptchaData({ token, key }: {
82
84
  token: string;
83
85
  key: string;
84
86
  }): Promise<{
@@ -92,4 +94,6 @@ export declare class Auth {
92
94
  captcha_token: string;
93
95
  expires_in: number;
94
96
  }>;
97
+ getMiniProgramCode(params: GetMiniProgramQrCodeRequest): Promise<GetMiniProgramQrCodeResponse>;
98
+ checkMiniProgramCode(params: GetMiniProgramQrCodeStatusRequest): Promise<GetMiniProgramQrCodeStatusResponse>;
95
99
  }
@@ -295,6 +295,26 @@ var Auth = (function () {
295
295
  });
296
296
  });
297
297
  };
298
+ Auth.prototype.signInWithWechat = function (params) {
299
+ if (params === void 0) { params = {}; }
300
+ return __awaiter(this, void 0, void 0, function () {
301
+ var credentials;
302
+ return __generator(this, function (_a) {
303
+ switch (_a.label) {
304
+ case 0: return [4, this.config.request(consts_1.ApiUrls.AUTH_SIGN_IN_WITH_WECHAT_URL, {
305
+ method: 'POST',
306
+ body: params,
307
+ })];
308
+ case 1:
309
+ credentials = _a.sent();
310
+ return [4, this.config.credentialsClient.setCredentials(credentials)];
311
+ case 2:
312
+ _a.sent();
313
+ return [2, Promise.resolve(credentials)];
314
+ }
315
+ });
316
+ });
317
+ };
298
318
  Auth.prototype.bindWithProvider = function (params) {
299
319
  return __awaiter(this, void 0, void 0, function () {
300
320
  return __generator(this, function (_a) {
@@ -550,6 +570,17 @@ var Auth = (function () {
550
570
  });
551
571
  });
552
572
  };
573
+ Auth.prototype.updateUserBasicInfo = function (params) {
574
+ return __awaiter(this, void 0, void 0, function () {
575
+ return __generator(this, function (_a) {
576
+ return [2, this.config.request(consts_1.ApiUrls.USER_BASIC_EDIT_URL, {
577
+ method: 'POST',
578
+ withCredentials: true,
579
+ body: params,
580
+ })];
581
+ });
582
+ });
583
+ };
553
584
  Auth.prototype.queryUserProfile = function (params) {
554
585
  return __awaiter(this, void 0, void 0, function () {
555
586
  var searchParams;
@@ -715,11 +746,11 @@ var Auth = (function () {
715
746
  });
716
747
  });
717
748
  };
718
- Auth.prototype.varifyCaptchaData = function (_a) {
749
+ Auth.prototype.verifyCaptchaData = function (_a) {
719
750
  var token = _a.token, key = _a.key;
720
751
  return __awaiter(this, void 0, void 0, function () {
721
752
  return __generator(this, function (_b) {
722
- return [2, this.config.request(consts_1.ApiUrls.VARIFY_CAPTCHA_DATA_URL, {
753
+ return [2, this.config.request(consts_1.ApiUrls.VERIFY_CAPTCHA_DATA_URL, {
723
754
  method: 'POST',
724
755
  body: { token: token, key: key },
725
756
  withCredentials: false,
@@ -739,7 +770,27 @@ var Auth = (function () {
739
770
  });
740
771
  });
741
772
  };
773
+ Auth.prototype.getMiniProgramCode = function (params) {
774
+ return __awaiter(this, void 0, void 0, function () {
775
+ return __generator(this, function (_a) {
776
+ return [2, this.config.request(consts_1.ApiUrls.GET_MINIPROGRAM_QRCODE, {
777
+ method: 'POST',
778
+ body: params,
779
+ })];
780
+ });
781
+ });
782
+ };
783
+ Auth.prototype.checkMiniProgramCode = function (params) {
784
+ return __awaiter(this, void 0, void 0, function () {
785
+ return __generator(this, function (_a) {
786
+ return [2, this.config.request(consts_1.ApiUrls.GET_MINIPROGRAM_QRCODE_STATUS, {
787
+ method: 'POST',
788
+ body: params,
789
+ })];
790
+ });
791
+ });
792
+ };
742
793
  return Auth;
743
794
  }());
744
795
  exports.Auth = Auth;
745
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2FwaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVaLG1DQUE2QztBQThDN0MsNkRBQTJFO0FBRTNFLDhDQUE0RDtBQUM1RCxrQ0FBb0M7QUFDcEMsNENBQWlEO0FBZ0JqRDtJQWtCRSxjQUFZLElBQWlCO1FBQ3JCLElBQUEsT0FBTyxHQUFLLElBQUksUUFBVCxDQUFTO1FBQ3RCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQTtRQUN6QyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLElBQU0sV0FBVyxHQUFHO2dCQUNsQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUE7WUFDRCxZQUFZLEdBQUcsSUFBSSwyQkFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLElBQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQzNELElBQU0sT0FBTyxHQUFHLElBQUksaUJBQU8sWUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUNsQixJQUFJLENBQUMsY0FBYyxFQUN0QixDQUFBO1lBQ0YsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLFNBQVMsRUFBRSxJQUFJLENBQUMs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QU0sRUFBRSxNQUFNO3dCQUNkLElBQUksRUFBRTs0QkFDSixXQUFXLEVBQUUsTUFBTTt5QkFDcEI7cUJBQ0YsQ0FBQyxFQUFBOzs7S0FDSDtJQU1ZLGdDQUFpQixHQUE5QixVQUErQixFQUE4QztZQUE1QyxLQUFLLFdBQUEsRUFBRSxHQUFHLFNBQUE7OztnQkFDekMsV0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBZ0QsZ0JBQU8sQ0FBQyx1QkFBdUIsRUFBRTt3QkFDekcsTUFBTSxFQUFFLE1BQU07d0JBQ2QsSUFBSSxFQUFFLEVBQUUsS0FBSyxPQUFBLEVBQUUsR0FBRyxLQUFBLEVBQUU7d0JBQ3BCLGVBQWUsRUFBRSxLQUFLO3FCQUN2QixDQUFDLEVBQUE7OztLQUNIO0lBRVksZ0NBQWlCLEdBQTlCLFVBQStCLEVBQW1DO1lBQWpDLEtBQUssV0FBQSxFQUFFLG9CQUF3QixFQUF4QixZQUFZLG1CQUFHLFNBQVMsS0FBQTs7O2dCQUM5RCxXQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFnRCxnQkFBTyxDQUFDLGdCQUFnQixFQUFFO3dCQUNsRyxNQUFNLEVBQUUsTUFBTTt3QkFDZCxJQUFJLEVBQUUsRUFBRSxLQUFLLE9BQUEsRUFBRSxZQUFZLGNBQUEsRUFBRTt3QkFDN0IsZUFBZSxFQUFFLEtBQUs7cUJBQ3ZCLENBQUMsRUFBQTs7O0tBQ0g7SUFDSCxXQUFDO0FBQUQsQ0FBQyxBQXhxQkQsSUF3cUJDO0FBeHFCWSxvQkFBSSIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0J1xuXG5pbXBvcnQgeyBBcGlVcmxzLCBBcGlVcmxzVjIgfSBmcm9tICcuL2NvbnN0cydcbmltcG9ydCB7XG4gIEdldFZlcmlmaWNhdGlvblJlcXVlc3QsXG4gIEdldFZlcmlmaWNhdGlvblJlc3BvbnNlLFxuICBVc2VyUHJvZmlsZSxcbiAgVXNlckluZm8sXG4gIFNpZ25JblJlcXVlc3QsXG4gIFNpZ25VcFJlcXVlc3QsXG4gIFZlcmlmeVJlcXVlc3QsXG4gIFZlcmlmeVJlc3BvbnNlLFxuICBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCxcbiAgR2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlc3BvbnNlLFxuICBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0LFxuICBHcmFudFByb3ZpZGVyVG9rZW5SZXNwb25zZSxcbiAgUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCxcbiAgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2UsXG4gIFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3QsXG4gIEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0LFxuICBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0LFxuICBHcmFudFRva2VuUmVxdWVzdCxcbiAgVXNlclByb2ZpbGVQcm92aWRlcixcbiAgVW5iaW5kUHJvdmlkZXJSZXF1ZXN0LFxuICBDaGVja1Bhc3N3b3JkclJlcXVlc3QsXG4gIEJpbmRQaG9uZVJlcXVlc3QsXG4gIEJpbmRFbWFpbFJlcXVlc3QsXG4gIFNldFBhc3N3b3JkUmVxdWVzdCxcbiAgQ2hhbmdlQmluZGVkUHJvdmlkZXJSZXF1ZXN0LFxuICBDaGFuZ2VCaW5kZWRQcm92aWRlclJlc3BvbnNlLFxuICBVcGRhdGVQYXNzd29yZFJlcXVlc3QsXG4gIFN1ZG9SZXNwb25zZSxcbiAgU3Vkb1JlcXVlc3QsXG4gIEdldEN1c3RvbVNpZ25UaWNrZXRGbixcbiAgUXVlcnlVc2VyUHJvZmlsZVJlcXVlc3QsXG4gIFF1ZXJ5VXNlclByb2ZpbGVSZXNwb25zZSxcbiAgUmVzZXRQYXNzd29yZFJlcXVlc3QsXG4gIERldmljZUF1dGhvcml6ZVJlcXVlc3QsXG4gIERldmljZUF1dGhvcml6ZVJlc3BvbnNlLFxuICBDaGVja1VzZXJuYW1lUmVxdWVzdCxcbiAgQ2hlY2tJZlVzZXJFeGlzdFJlcXVlc3QsXG4gIENoZWNrSWZVc2VyRXhpc3RSZXNwb25zZSxcbiAgV2l0aFN1ZG9SZXF1ZXN0LFxuICBQdWJsaWNLZXksXG4gIEVuY3J5cHRQYXJhbXMsXG4gIFByb3ZpZGVyU3ViVHlwZSxcbn0gZnJvbSAnLi9tb2RlbHMnXG5pbXBvcnQgeyBTaW1wbGVTdG9yYWdlLCBSZXF1ZXN0RnVuY3Rpb24gfSBmcm9tICcuLi9vYXV0aDJjbGllbnQvaW50ZXJmYWNlJ1xuaW1wb3J0IHsgT0F1dGgyQ2xpZW50LCBkZWZhdWx0U3RvcmFnZSB9IGZyb20gJy4uL29hdXRoMmNsaWVudC9vYXV0aDJjbGllbnQnXG5pbXBvcnQgeyBDcmVkZW50aWFscyB9IGZyb20gJy4uL29hdXRoMmNsaWVudC9tb2RlbHMnXG5pbXBvcnQgeyBDYXB0Y2hhLCBDYXB0Y2hhT3B0aW9ucyB9IGZyb20gJy4uL2NhcHRjaGEvY2FwdGNoYSdcbmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgZ2V0RW5jcnlwdEluZm8gfSBmcm9tICcuLi91dGlscy9lbmNyeXB0J1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhPcHRpb25zIHtcbiAgYXBpT3JpZ2luOiBzdHJpbmdcbiAgY2xpZW50SWQ6IHN0cmluZ1xuICBjcmVkZW50aWFsc0NsaWVudD86IE9BdXRoMkNsaWVudFxuICByZXF1ZXN0PzogUmVxdWVzdEZ1bmN0aW9uXG4gIGJhc2VSZXF1ZXN0PzogUmVxdWVzdEZ1bmN0aW9uXG4gIHN0b3JhZ2U/OiBTaW1wbGVTdG9yYWdlXG4gIGFub255bW91c1NpZ25JbkZ1bmM/OiAoQ3JlZGVudGlhbHMpID0+IFByb21pc2U8Q3JlZGVudGlhbHMgfCB2b2lkPlxuICBjYXB0Y2hhT3B0aW9ucz86IFBhcnRpYWw8Q2FwdGNoYU9wdGlvbnM+XG59XG5cbi8qKlxuICogQXV0aFxuICovXG5leHBvcnQgY2xhc3MgQXV0aCB7XG4gIHByaXZhdGUgc3RhdGljIHBhcnNlUGFyYW1zVG9TZWFyY2gocGFyYW1zOiBhbnkpOiBzdHJpbmcge1xuICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoIXBhcmFtc1trZXldKSB7XG4gICAgICAgIGRlbGV0ZSBwYXJhbXNba2V5XVxuICAgICAgfVxuICAgIH0pXG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJhbXMgYXMgYW55KVxuICAgIHJldHVybiBzZWFyY2hQYXJhbXMudG9TdHJpbmcoKVxuICB9XG5cbiAgcHJpdmF0ZSBjb25maWc6IEF1dGhPcHRpb25zXG4gIHByaXZhdGUgZ2V0Q3VzdG9tU2lnblRpY2tldEZuPzogR2V0Q3VzdG9tU2lnblRpY2tldEZuXG5cbiAgLyoqXG4gICAqIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7QXV0aE9wdGlvbnN9IG9wdHNcbiAgICovXG4gIGNvbnN0cnVjdG9yKG9wdHM6IEF1dGhPcHRpb25zKSB7XG4gICAgbGV0IHsgcmVxdWVzdCB9ID0gb3B0c1xuICAgIGxldCBvQXV0aDJDbGllbnQgPSBvcHRzLmNyZWRlbnRpYWxzQ2xpZW50XG4gICAgaWYgKCFvQXV0aDJDbGllbnQpIHtcbiAgICAgIGNvbnN0IGluaXRPcHRpb25zID0ge1xuICAgICAgICBhcGlPcmlnaW46IG9wdHMuYXBpT3JpZ2luLFxuICAgICAgICBjbGllbnRJZDogb3B0cy5jbGllbnRJZCxcbiAgICAgICAgc3RvcmFnZTogb3B0cy5zdG9yYWdlLFxuICAgICAgfVxuICAgICAgb0F1dGgyQ2xpZW50ID0gbmV3IE9BdXRoMkNsaWVudChpbml0T3B0aW9ucylcbiAgICB9XG4gICAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgICBjb25zdCBiYXNlUmVxdWVzdCA9IG9BdXRoMkNsaWVudC5yZXF1ZXN0LmJpbmQob0F1dGgyQ2xpZW50KVxuICAgICAgY29uc3QgY2FwdGNoYSA9IG5ldyBDYXB0Y2hhKHtcbiAgICAgICAgY2xpZW50SWQ6IG9wdHMuY2xpZW50SWQsXG4gICAgICAgIHJlcXVlc3Q6IGJhc2VSZXF1ZXN0LFxuICAgICAgICBzdG9yYWdlOiBvcHRzLnN0b3JhZ2UsXG4gICAgICAgIC4uLm9wdHMuY2FwdGNoYU9wdGlvbnMsXG4gICAgICB9KVxuICAgICAgcmVxdWVzdCA9IGNhcHRjaGEucmVxdWVzdC5iaW5kKGNhcHRjaGEpXG4gICAgfVxuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgYXBpT3JpZ2luOiBvcHRzLmFwaU9yaWdpbixcbiAgICAgIGNsaWVudElkOiBvcHRzLmNsaWVudElkLFxuICAgICAgcmVxdWVzdCxcbiAgICAgIGNyZWRlbnRpYWxzQ2xpZW50OiBvQXV0aDJDbGllbnQsXG4gICAgICBzdG9yYWdlOiBvcHRzLnN0b3JhZ2UgfHwgZGVmYXVsdFN0b3JhZ2UsXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOagueaNrueJiOacrOagh+ivhu+8jOWkhOeQhuW+heivt+axgueahHVybOWSjHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBnZXRQYXJhbXNCeVZlcnNpb24ocGFyYW1zOiBhbnksIGtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyYW1zVGVtcCA9IGRlZXBDbG9uZShwYXJhbXMpXG4gICAgY29uc3QgdXJsID0geyB2MjogQXBpVXJsc1YyIH1bcGFyYW1zVGVtcD8udmVyc2lvbl0/LltrZXldIHx8IEFwaVVybHNba2V5XVxuXG4gICAgaWYgKHBhcmFtc1RlbXApIHtcbiAgICAgIGRlbGV0ZSBwYXJhbXNUZW1wLnZlcnNpb25cbiAgICB9XG5cbiAgICByZXR1cm4geyBwYXJhbXM6IHBhcmFtc1RlbXAsIHVybCB9XG4gIH1cblxuICAvKipcbiAgICogU2lnbiBpbi5cbiAgICogQHBhcmFtIHtTaWduSW5SZXF1ZXN0fSBwYXJhbXMgQSBTaWduSW5SZXF1ZXN0IE9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNpZ25JbihwYXJhbXM6IFNpZ25JblJlcXVlc3QpOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgY29uc3QgdmVyc2lvbiA9IHBhcmFtcy52ZXJzaW9uIHx8ICd2MSdcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdBVVRIX1NJR05fSU5fVVJMJylcbiAgICBpZiAocmVzLnBhcmFtcy5xdWVyeSkge1xuICAgICAgZGVsZXRlIHJlcy5wYXJhbXMucXVlcnlcbiAgICB9XG5cbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5nZXRFbmNyeXB0UGFyYW1zKHJlcy5wYXJhbXMpXG4gICAgY29uc3QgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jb25maWcucmVxdWVzdDxDcmVkZW50aWFscz4ocmVzLnVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5LFxuICAgIH0pXG4gICAgYXdhaXQgdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuc2V0Q3JlZGVudGlhbHMoe1xuICAgICAgLi4uY3JlZGVudGlhbHMsXG4gICAgICB2ZXJzaW9uLFxuICAgIH0pXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVkZW50aWFscylcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIGluIEFub255bW91c2x5XG4gICAqIEByZXR1cm4ge1Byb21pc2U8Q3JlZGVudGlhbHM+fSBBIFByb21pc2U8Q3JlZGVudGlhbHM+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduSW5Bbm9ueW1vdXNseShkYXRhOiB7XG4gICAgcHJvdmlkZXJfdG9rZW4/OiBzdHJpbmdcbiAgfSA9IHt9LCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICBjb25zdCBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLmNvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihBcGlVcmxzLkFVVEhfU0lHTl9JTl9BTk9OWU1PVVNMWV9VUkwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogZGF0YSxcbiAgICB9KVxuICAgIGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnNldENyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpXG4gIH1cblxuICAvKipcbiAgICogU2lnbiB1cC5cbiAgICogQHBhcmFtIHtTaWduVXBSZXF1ZXN0fSBwYXJhbXMgQSBTaWduVXBSZXF1ZXN0IE9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNpZ25VcChwYXJhbXM6IFNpZ25VcFJlcXVlc3QpOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgY29uc3QgZGF0YTogQ3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLmNvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihBcGlVcmxzLkFVVEhfU0lHTl9VUF9VUkwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgIH0pXG4gICAgYXdhaXQgdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuc2V0Q3JlZGVudGlhbHMoZGF0YSlcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGRhdGEpXG4gIH1cblxuICAvKipcbiAgICogU2lnbiBvdXQuXG4gICAqIEByZXR1cm4ge09iamVjdH0gQSBQcm9taXNlPHZvaWQ+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduT3V0KCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgYWNjZXNzVG9rZW46IHN0cmluZyA9IGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LmdldEFjY2Vzc1Rva2VuKClcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jb25maWcucmVxdWVzdChBcGlVcmxzLkFVVEhfUkVWT0tFX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHRva2VuOiBhY2Nlc3NUb2tlbixcbiAgICAgIH0sXG4gICAgfSlcbiAgICBhd2FpdCB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5zZXRDcmVkZW50aWFscygpXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShkYXRhKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmVyaWZpY2F0aW9uLlxuICAgKiBAcGFyYW0ge0dldFZlcmlmaWNhdGlvblJlcXVlc3R9IHBhcmFtcyBBIEdldFZlcmlmaWNhdGlvblJlcXVlc3QgT2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPn0gQSBQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VmVyaWZpY2F0aW9uKHBhcmFtczogR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCk6IFByb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+IHtcbiAgICBsZXQgd2l0aENyZWRlbnRpYWxzID0gZmFsc2VcbiAgICAvLyDlj5HpgIHnn63kv6Hml7bvvIzlpoLmnpzml7bnu5nlvZPliY3nlKjmiLflj5HvvIzliJnpnIDopoHluKbkuIrpibTmnYPkv6Hmga9cbiAgICBpZiAocGFyYW1zLnRhcmdldCA9PT0gJ0NVUl9VU0VSJykge1xuICAgICAgd2l0aENyZWRlbnRpYWxzID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBoYXNMb2dpbiA9IGF3YWl0IHRoaXMuaGFzTG9naW5TdGF0ZSgpXG4gICAgICBpZiAoaGFzTG9naW4pIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzID0gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4oQXBpVXJscy5WRVJJRklDQVRJT05fVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIHdpdGhDYXB0Y2hhOiB0cnVlLFxuICAgICAgd2l0aENyZWRlbnRpYWxzLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogIFZlcmlmeSB0aGUgY29kZVxuICAgKiBAcGFyYW0ge1ZlcmlmeVJlcXVlc3R9IHBhcmFtcyBBIFZlcmlmeVJlcXVlc3QgT2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFZlcmlmeVJlc3BvbnNlPn0gQSBQcm9taXNlPFZlcmlmeVJlc3BvbnNlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdmVyaWZ5KHBhcmFtczogVmVyaWZ5UmVxdWVzdCk6IFByb21pc2U8VmVyaWZ5UmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdWRVJJRllfVVJMJylcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jb25maWcucmVxdWVzdDxWZXJpZnlSZXNwb25zZT4ocmVzLnVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiByZXMucGFyYW1zLFxuICAgIH0pXG5cbiAgICBpZiAocGFyYW1zPy52ZXJzaW9uID09PSAndjInKSB7XG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5zZXRDcmVkZW50aWFscyh7XG4gICAgICAgIC4uLmRhdGEsXG4gICAgICAgIHZlcnNpb246ICd2MicsXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBkYXRhXG4gIH1cblxuICAvKipcbiAgICogR2VuIHByb3ZpZGVyIHJlZGlyZWN0IHVyaS5cbiAgICogQHBhcmFtIHtHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdH0gcGFyYW1zIEEgR2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZT59IEEgUHJvbWlzZTxHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVzcG9uc2U+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZW5Qcm92aWRlclJlZGlyZWN0VXJpKHBhcmFtczogR2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlcXVlc3QpOiBQcm9taXNlPEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZT4ge1xuICAgIGxldCB1cmwgPSBgJHtBcGlVcmxzLlBST1ZJREVSX1VSSV9VUkx9P2NsaWVudF9pZD0ke3RoaXMuY29uZmlnLmNsaWVudElkfSZwcm92aWRlcl9pZD0ke1xuICAgICAgcGFyYW1zLnByb3ZpZGVyX2lkXG4gICAgfSZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQocGFyYW1zLnByb3ZpZGVyX3JlZGlyZWN0X3VyaSl9JnN0YXRlPSR7cGFyYW1zLnN0YXRlfWBcbiAgICBjb25zdCB7IG90aGVyX3BhcmFtczogb3RoZXJQYXJhbXMgfSA9IHBhcmFtc1xuICAgIGlmIChvdGhlclBhcmFtcykge1xuICAgICAgaWYgKHR5cGVvZiBvdGhlclBhcmFtcy5zaWduX291dF91cmkgPT09ICdzdHJpbmcnICYmIG90aGVyUGFyYW1zLnNpZ25fb3V0X3VyaS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHVybCArPSBgJm90aGVyX3BhcmFtc1tzaWduX291dF91cmldPSR7b3RoZXJQYXJhbXMuc2lnbl9vdXRfdXJpfWBcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8R2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlc3BvbnNlPih1cmwsIHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCBwcm92aWRlciB0b2tlbi5cbiAgICogQHBhcmFtIHtHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0fSBwYXJhbXMgQSBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxHcmFudFByb3ZpZGVyVG9rZW5SZXNwb25zZT59IEEgUHJvbWlzZTxHcmFudFByb3ZpZGVyVG9rZW5SZXNwb25zZT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdyYW50UHJvdmlkZXJUb2tlbihwYXJhbXM6IEdyYW50UHJvdmlkZXJUb2tlblJlcXVlc3QpOiBQcm9taXNlPEdyYW50UHJvdmlkZXJUb2tlblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8R3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+KEFwaVVybHMuUFJPVklERVJfVE9LRU5fVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHByb3ZpZGVyIHRva2VuLlxuICAgKiBAcGFyYW0ge1BhdGNoUHJvdmlkZXJUb2tlblJlcXVlc3R9IHBhcmFtcyBBIFBhdGNoUHJvdmlkZXJUb2tlblJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFBhdGNoUHJvdmlkZXJUb2tlblJlc3BvbnNlPn0gQSBQcm9taXNlPFBhdGNoUHJvdmlkZXJUb2tlblJlc3BvbnNlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcGF0Y2hQcm92aWRlclRva2VuKHBhcmFtczogUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCk6IFByb21pc2U8UGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxQYXRjaFByb3ZpZGVyVG9rZW5SZXNwb25zZT4oQXBpVXJscy5QUk9WSURFUl9UT0tFTl9VUkwsIHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFNpZ25pbiB3aXRoIHByb3ZpZGVyIHJlcXVlc3QuXG4gICAqIEBwYXJhbSB7U2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdH0gcGFyYW1zIEEgU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCBvYmplY3QuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Q3JlZGVudGlhbHM+fSBBIFByb21pc2U8Q3JlZGVudGlhbHM+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduSW5XaXRoUHJvdmlkZXIocGFyYW1zOiBTaWduSW5XaXRoUHJvdmlkZXJSZXF1ZXN0KTogUHJvbWlzZTxDcmVkZW50aWFscz4ge1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuZ2V0UGFyYW1zQnlWZXJzaW9uKHBhcmFtcywgJ0FVVEhfU0lHTl9JTl9XSVRIX1BST1ZJREVSX1VSTCcpXG4gICAgY29uc3QgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jb25maWcucmVxdWVzdDxDcmVkZW50aWFscz4ocmVzLnVybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiByZXMucGFyYW1zLFxuICAgIH0pXG4gICAgYXdhaXQgdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuc2V0Q3JlZGVudGlhbHMoe1xuICAgICAgLi4uY3JlZGVudGlhbHMsXG4gICAgICB2ZXJzaW9uOiBwYXJhbXM/LnZlcnNpb24gfHwgJ3YxJyxcbiAgICB9KVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpXG4gIH1cblxuICAvKipcbiAgICogQmluZCB3aXRoIHByb3ZpZGVyXG4gICAqIEBwYXJhbSB7QmluZFdpdGhQcm92aWRlclJlcXVlc3R9IHBhcmFtcyBBIEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBQcm9taXNlPGFueT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJpbmRXaXRoUHJvdmlkZXIocGFyYW1zOiBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PGFueT4oQXBpVXJscy5QUk9WSURFUl9CSU5EX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVzZXIgcHJvZmlsZS5cbiAgICogQHJldHVybiB7UHJvbWlzZTxVc2VyUHJvZmlsZT59IEEgUHJvbWlzZTxVc2VyUHJvZmlsZT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFVzZXJQcm9maWxlKHBhcmFtczogeyB2ZXJzaW9uPzogc3RyaW5nIH0pOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlckluZm8ocGFyYW1zKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdXNlciBpbmZvLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJJbmZvPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VXNlckluZm8ocGFyYW1zOiB7IHZlcnNpb24/OiBzdHJpbmc7IHF1ZXJ5Pzogc3RyaW5nIH0gPSB7fSk6IFByb21pc2U8VXNlckluZm8+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdVU0VSX01FX1VSTCcpXG5cbiAgICBpZiAocmVzLnBhcmFtcz8ucXVlcnkpIHtcbiAgICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocmVzLnBhcmFtcy5xdWVyeSBhcyBhbnkpXG4gICAgICByZXMudXJsICs9IGA/JHtzZWFyY2hQYXJhbXMudG9TdHJpbmcoKX1gXG4gICAgfVxuXG4gICAgY29uc3QgdXNlckluZm8gPSBhd2FpdCB0aGlzLmNvbmZpZy5yZXF1ZXN0PFVzZXJJbmZvPihyZXMudXJsLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG5cbiAgICBpZiAodXNlckluZm8uc3ViKSB7XG4gICAgICB1c2VySW5mby51aWQgPSB1c2VySW5mby5zdWJcbiAgICB9XG5cbiAgICByZXR1cm4gdXNlckluZm9cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVzZXIgaW5mbyBieSB3ZWRhIHBsdWdpbi5cbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fSBBIFByb21pc2U8YW55PiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0V2VkYVVzZXJJbmZvKCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdXNlckluZm8gPSBhd2FpdCB0aGlzLmNvbmZpZy5yZXF1ZXN0PGFueT4oQXBpVXJscy5XRURBX1VTRVJfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gICAgcmV0dXJuIHVzZXJJbmZvXG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIG1lXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVNZShwYXJhbXM6IFdpdGhTdWRvUmVxdWVzdCk6IFByb21pc2U8VXNlclByb2ZpbGU+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdVU0VSX01FX1VSTCcpXG4gICAgY29uc3QgdXJsID0gYCR7cmVzLnVybH0/JHtBdXRoLnBhcnNlUGFyYW1zVG9TZWFyY2gocmVzLnBhcmFtcyl9YFxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PFVzZXJQcm9maWxlPih1cmwsIHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBoYXNMb2dpblN0YXRlIGNoZWNrIGlmIGhhcyBsb2dpbiBzdGF0ZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPGJvb2xlYW4+fSBBIFByb21pc2U8Ym9vbGVhbj4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0xvZ2luU3RhdGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LmdldEFjY2Vzc1Rva2VuKClcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNMb2dpblN0YXRlU3luYygpOiBDcmVkZW50aWFscyB8IG51bGwge1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuZ2V0Q3JlZGVudGlhbHNTeW5jKClcbiAgICByZXR1cm4gY3JlZGVudGlhbHNcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRMb2dpblN0YXRlKCk6IFByb21pc2U8Q3JlZGVudGlhbHMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LmdldENyZWRlbnRpYWxzQXN5bmMoKVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zIGJ5IHByb3ZpZGVyLlxuICAgKiBAcGFyYW0ge1RyYW5zQnlQcm92aWRlclJlcXVlc3R9IHBhcmFtcyBBIFRyYW5zQnlQcm92aWRlclJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdHJhbnNCeVByb3ZpZGVyKHBhcmFtczogVHJhbnNCeVByb3ZpZGVyUmVxdWVzdCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxDcmVkZW50aWFscz4oQXBpVXJscy5VU0VSX1RSQU5TX0JZX1BST1ZJREVSX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdG9rZW4uXG4gICAqIEBwYXJhbSB7R3JhbnRUb2tlblJlcXVlc3R9IHBhcmFtcyBBIEdyYW50VG9rZW5SZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdyYW50VG9rZW4ocGFyYW1zOiBHcmFudFRva2VuUmVxdWVzdCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdBVVRIX1RPS0VOX1VSTCcpXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8Q3JlZGVudGlhbHM+KHJlcy51cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcmVzLnBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJvdmlkZSBsaXN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlUHJvdmlkZXI+fSBBIFByb21pc2U8VXNlclByb2ZpbGVQcm92aWRlcj4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFByb3ZpZGVycygpOiBQcm9taXNlPFVzZXJQcm9maWxlUHJvdmlkZXI+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxVc2VyUHJvZmlsZVByb3ZpZGVyPihBcGlVcmxzLlBST1ZJREVSX0xJU1QsIHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB1bmJpbmQgcHJvdmlkZXIuXG4gICAqIEBwYXJhbSB7VW5iaW5kUHJvdmlkZXJSZXF1ZXN0fSBwYXJhbXNcbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHVuYmluZFByb3ZpZGVyKHBhcmFtczogVW5iaW5kUHJvdmlkZXJSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8YW55PihgJHtBcGlVcmxzLlBST1ZJREVSX1VOQklORF9VUkx9LyR7cGFyYW1zLnByb3ZpZGVyX2lkfWAsIHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBQYXNzd29yZC5cbiAgICogQHBhcmFtIHtDaGVja1Bhc3N3b3JkclJlcXVlc3R9IHBhcmFtc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2hlY2tQYXNzd29yZChwYXJhbXM6IENoZWNrUGFzc3dvcmRyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PGFueT4oYCR7QXBpVXJscy5DSEVDS19QV0RfVVJMfWAsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgUGFzc3dvcmQuXG4gICAqIEBwYXJhbSB7Q2hlY2tQYXNzd29yZHJSZXF1ZXN0fSBwYXJhbXNcbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJpbmRQaG9uZShwYXJhbXM6IEJpbmRQaG9uZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxhbnk+KGAke0FwaVVybHMuQklORF9DT05UQUNUX1VSTH1gLCB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBQYXNzd29yZC5cbiAgICogQHBhcmFtIHtDaGVja1Bhc3N3b3JkclJlcXVlc3R9IHBhcmFtc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYmluZEVtYWlsKHBhcmFtczogQmluZEVtYWlsUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PGFueT4oYCR7QXBpVXJscy5CSU5EX0NPTlRBQ1RfVVJMfWAsIHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBQYXNzd29yZC5cbiAgICogQHBhcmFtIHtTZXRQYXNzd29yZHJSZXF1ZXN0fSBwYXJhbXNcbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNldFBhc3N3b3JkKHBhcmFtczogU2V0UGFzc3dvcmRSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8YW55PihgJHtBcGlVcmxzLkFVVEhfU0VUX1BBU1NXT1JEfWAsIHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZVBhc3N3b3JkQnlPbGQg5L2/55So5pen5a+G56CB5L+u5pS55a+G56CB77yM5aaC5p6c5bey57uP57uR5a6a5omL5py65Y+377yM6K+35YWI77yac3Vkb++8jOWGjeS/ruaUueWvhueggVxuICAgKiBAcGFyYW0ge1NldFBhc3N3b3JkclJlcXVlc3R9IHBhcmFtc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdXBkYXRlUGFzc3dvcmRCeU9sZChwYXJhbXM6IFVwZGF0ZVBhc3N3b3JkUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN1ZG9Ub2tlbiA9IGF3YWl0IHRoaXMuc3Vkbyh7IHBhc3N3b3JkOiBwYXJhbXMub2xkX3Bhc3N3b3JkIH0pXG4gICAgcmV0dXJuIHRoaXMuc2V0UGFzc3dvcmQoe1xuICAgICAgc3Vkb190b2tlbjogc3Vkb1Rva2VuLnN1ZG9fdG9rZW4sXG4gICAgICBuZXdfcGFzc3dvcmQ6IHBhcmFtcy5uZXdfcGFzc3dvcmQsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBzdWRvXG4gICAqIEBwYXJhbSB7c3Vkb30gcGFyYW1zXG4gICAqIEByZXR1cm4ge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzdWRvKHBhcmFtczogU3Vkb1JlcXVlc3QpOiBQcm9taXNlPFN1ZG9SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PFN1ZG9SZXNwb25zZT4oYCR7QXBpVXJscy5TVURPX1VSTH1gLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCB1c2VyIHZlcmlmaWNhdGlvbi5cbiAgICogQHBhcmFtIHtHZXRWZXJpZmljYXRpb25SZXF1ZXN0fSBwYXJhbXMgQSBHZXRWZXJpZmljYXRpb25SZXF1ZXN0IE9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT59IEEgUHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1clVzZXJWZXJpZmljYXRpb24ocGFyYW1zOiBHZXRWZXJpZmljYXRpb25SZXF1ZXN0KTogUHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4ge1xuICAgIHBhcmFtcy50YXJnZXQgPSAnQ1VSX1VTRVInXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+KEFwaVVybHMuVkVSSUZJQ0FUSU9OX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICB3aXRoQ2FwdGNoYTogdHJ1ZSxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIGNoYW5nZSBiaW5kZWQgcHJvdmlkZXIuXG4gICAqIEBwYXJhbSB7R2V0VmVyaWZpY2F0aW9uUmVxdWVzdH0gcGFyYW1zIEEgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCBPYmplY3QuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+fSBBIFByb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VCaW5kZWRQcm92aWRlcihwYXJhbXM6IENoYW5nZUJpbmRlZFByb3ZpZGVyUmVxdWVzdCk6IFByb21pc2U8Q2hhbmdlQmluZGVkUHJvdmlkZXJSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PENoYW5nZUJpbmRlZFByb3ZpZGVyUmVzcG9uc2U+KGAke0FwaVVybHMuUFJPVklERVJfTElTVH0vJHtwYXJhbXMucHJvdmlkZXJfaWR9L3RyYW5zYCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHByb3ZpZGVyX3RyYW5zX3Rva2VuOiBwYXJhbXMudHJhbnNfdG9rZW4sXG4gICAgICB9LFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUGF0Y2ggdGhlIHVzZXIgcHJvZmlsZS5cbiAgICogQHBhcmFtIHtVc2VyUHJvZmlsZX0gcGFyYW1zIEEgVXNlclByb2ZpbGUgT2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2V0VXNlclByb2ZpbGUocGFyYW1zOiBVc2VyUHJvZmlsZSk6IFByb21pc2U8VXNlclByb2ZpbGU+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxVc2VyUHJvZmlsZT4oQXBpVXJscy5VU0VSX1BSSUZJTEVfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXRjaCB0aGUgdXNlciBwcm9maWxlLlxuICAgKiBAcGFyYW0ge1F1ZXJ5VXNlclByb2ZpbGVSZXF9IGFwcGVuZGVkX3BhcmFtcyBBIFF1ZXJ5VXNlclByb2ZpbGVSZXEgT2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcXVlcnlVc2VyUHJvZmlsZShwYXJhbXM6IFF1ZXJ5VXNlclByb2ZpbGVSZXF1ZXN0KTogUHJvbWlzZTxRdWVyeVVzZXJQcm9maWxlUmVzcG9uc2U+IHtcbiAgICAvLyBsZXQgdXJsID0gbmV3IFVSTChBcGlVcmxzLlVTRVJfUVVFUllfVVJMKTtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHBhcmFtcyBhcyBhbnkpXG4gICAgLy8gdXJsLnNlYXJjaCA9IHNlYXJjaFBhcmFtcy50b1N0cmluZygpO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PFF1ZXJ5VXNlclByb2ZpbGVSZXNwb25zZT4oYCR7QXBpVXJscy5VU0VSX1FVRVJZX1VSTH0/JHtzZWFyY2hQYXJhbXMudG9TdHJpbmcoKX1gLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogc2V0Q3VzdG9tU2lnbkZ1bmMgc2V0IHRoZSBnZXQgdGlja2V0IGZ1bmN0aW9uXG4gICAqIEBwYXJhbSBnZXRUaWNrRm5cbiAgICovXG4gIHB1YmxpYyBzZXRDdXN0b21TaWduRnVuYyhnZXRUaWNrRm46IEdldEN1c3RvbVNpZ25UaWNrZXRGbikge1xuICAgIHRoaXMuZ2V0Q3VzdG9tU2lnblRpY2tldEZuID0gZ2V0VGlja0ZuXG4gIH1cblxuICAvKipcbiAgICogU2lnbkluV2l0aEN1c3RvbVRpY2tldCBjdXN0b20gc2lnbkluXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNpZ25JbldpdGhDdXN0b21UaWNrZXQocGFyYW1zPzogeyB2ZXJzaW9uPzogc3RyaW5nIH0pOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgY29uc3QgY3VzdG9tVGlja2V0ID0gYXdhaXQgdGhpcy5nZXRDdXN0b21TaWduVGlja2V0Rm4oKVxuICAgIHJldHVybiB0aGlzLnNpZ25JbldpdGhQcm92aWRlcih7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwcm92aWRlcl9pZDogJ2N1c3RvbScsXG4gICAgICBwcm92aWRlcl90b2tlbjogY3VzdG9tVGlja2V0LFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgcGFzc3dvcmRcbiAgICogQHBhcmFtIHtSZXNldFBhc3N3b3JkUmVxdWVzdH0gcGFyYW1zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fVxuICAgKiBAbWVtYmVyb2YgQXV0aFxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlc2V0UGFzc3dvcmQocGFyYW1zOiBSZXNldFBhc3N3b3JkUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0KEFwaVVybHMuQVVUSF9SRVNFVF9QQVNTV09SRCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICAvLyB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIGRldmljZSBhdXRob3JpemF0aW9uXG4gICAqIEBwYXJhbSB7RGV2aWNlQXV0aG9yaXplUmVxdWVzdH0gcGFyYW1zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERldmljZUF1dGhvcml6ZVJlc3BvbnNlPn1cbiAgICogQG1lbWJlcm9mIEF1dGhcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZXZpY2VBdXRob3JpemUocGFyYW1zOiBEZXZpY2VBdXRob3JpemVSZXF1ZXN0KTogUHJvbWlzZTxEZXZpY2VBdXRob3JpemVSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0KEFwaVVybHMuQVVUSF9HRVRfREVWSUNFX0NPREUsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2hlY2tVc2VybmFtZShwYXJhbXM6IENoZWNrVXNlcm5hbWVSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3QoQXBpVXJscy5DSEVDS19VU0VSTkFNRSwge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGNoZWNrSWZVc2VyRXhpc3QocGFyYW1zOiBDaGVja0lmVXNlckV4aXN0UmVxdWVzdCk6IFByb21pc2U8Q2hlY2tJZlVzZXJFeGlzdFJlc3BvbnNlPiB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJhbXMgYXMgYW55KVxuXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8Q2hlY2tJZlVzZXJFeGlzdFJlc3BvbnNlPihgJHtBcGlVcmxzLkNIRUNLX0lGX1VTRVJfRVhJU1R9PyR7c2VhcmNoUGFyYW1zLnRvU3RyaW5nKCl9YCwge1xuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvZ2luU2NvcGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuZ2V0U2NvcGUoKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGxvZ2luR3JvdXBzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuZ2V0R3JvdXBzKClcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZWZyZXNoVG9rZW5Gb3JjZShwYXJhbXM6IHsgdmVyc2lvbj86IHN0cmluZyB9KSB7XG4gICAgY29uc3QgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuZ2V0Q3JlZGVudGlhbHMoKVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5yZWZyZXNoVG9rZW4oe1xuICAgICAgLi4uY3JlZGVudGlhbHMsXG4gICAgICB2ZXJzaW9uOiBwYXJhbXM/LnZlcnNpb24gfHwgJ3YxJyxcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENyZWRlbnRpYWxzKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5nZXRDcmVkZW50aWFscygpXG4gIH1cblxuICAvKipcbiAgICogZ2V0IHB1YmxpYyBrZXkgZm9yIHJlcXVlc3QgcGFyYW1zIGVuY3J5cHRpb25cbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQdWJsaWNLZXkoKTogUHJvbWlzZTxQdWJsaWNLZXk+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxQdWJsaWNLZXk+KEFwaVVybHNWMi5BVVRIX1BVQkxJQ19LRVksIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keToge30sXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBlbmNyeXB0IHJlcXVlc3QgcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRFbmNyeXB0UGFyYW1zKHBhcmFtczogUmVjb3JkPGFueSwgYW55Pik6IFByb21pc2U8RW5jcnlwdFBhcmFtcz4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBkZWVwQ2xvbmUocGFyYW1zKVxuXG4gICAgaWYgKCFwYXlsb2FkLmlzRW5jcnlwdCkge1xuICAgICAgcmV0dXJuIHBhcmFtc1xuICAgIH1cblxuICAgIGxldCBwdWJsaWNLZXkgPSAnJ1xuICAgIGxldCBwdWJsaWNfa2V5X3RodW1icHJpbnQgPSAnJ1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuZ2V0UHVibGljS2V5KClcbiAgICAgIHB1YmxpY0tleSA9IHJlcy5wdWJsaWNfa2V5XG4gICAgICBwdWJsaWNfa2V5X3RodW1icHJpbnQgPSByZXMucHVibGljX2tleV90aHVtYnByaW50XG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XG5cbiAgICBpZiAoIXB1YmxpY0tleSB8fCAhcHVibGljX2tleV90aHVtYnByaW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3B1YmxpY19rZXkgb3IgcHVibGljX2tleV90aHVtYnByaW50IGlzIGVtcHR5JylcbiAgICB9XG5cbiAgICBkZWxldGUgcGF5bG9hZC5pc0VuY3J5cHRcblxuICAgIHJldHVybiB7XG4gICAgICBwYXJhbXM6IGdldEVuY3J5cHRJbmZvKHsgcHVibGljS2V5LCBwYXlsb2FkIH0pLFxuICAgICAgcHVibGljX2tleV90aHVtYnByaW50LFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgcHJvdmlkZXIgc3ViIHR5cGVcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRQcm92aWRlclN1YlR5cGUoKTogUHJvbWlzZTxQcm92aWRlclN1YlR5cGU+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxQcm92aWRlclN1YlR5cGU+KEFwaVVybHMuR0VUX1BST1ZJREVSX1RZUEUsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keToge1xuICAgICAgICBwcm92aWRlcl9pZDogJ3dlZGEnLFxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIGdldCBwcm92aWRlciBzdWIgdHlwZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGFzeW5jIHZhcmlmeUNhcHRjaGFEYXRhKHsgdG9rZW4sIGtleSB9OiB7IHRva2VuOiBzdHJpbmc7IGtleTogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDx7IGNhcHRjaGFfdG9rZW46IHN0cmluZzsgZXhwaXJlc19pbjogbnVtYmVyIH0+KEFwaVVybHMuVkFSSUZZX0NBUFRDSEFfREFUQV9VUkwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogeyB0b2tlbiwga2V5IH0sXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IGZhbHNlLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlQ2FwdGNoYURhdGEoeyBzdGF0ZSwgcmVkaXJlY3RfdXJpID0gdW5kZWZpbmVkIH0pIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDx7IGNhcHRjaGFfdG9rZW46IHN0cmluZzsgZXhwaXJlc19pbjogbnVtYmVyIH0+KEFwaVVybHMuQ0FQVENIQV9EQVRBX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiB7IHN0YXRlLCByZWRpcmVjdF91cmkgfSxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogZmFsc2UsXG4gICAgfSlcbiAgfVxufVxuIl19
796
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2FwaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVaLG1DQUE2QztBQW1EN0MsNkRBQTJFO0FBRTNFLDhDQUE0RDtBQUM1RCxrQ0FBb0M7QUFDcEMsNENBQWlEO0FBZ0JqRDtJQWtCRSxjQUFZLElBQWlCO1FBQ3JCLElBQUEsT0FBTyxHQUFLLElBQUksUUFBVCxDQUFTO1FBQ3RCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQTtRQUN6QyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLElBQU0sV0FBVyxHQUFHO2dCQUNsQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUE7WUFDRCxZQUFZLEdBQUcsSUFBSSwyQkFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLElBQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQzNELElBQU0sT0FBTyxHQUFHLElBQUksaUJBQU8sWUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUNsQixJQUFJLENBQUMsY0FBYyxFQUN0QixDQUFBO1lBQ0YsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLFNBQVMsRUFBRSxJQUFJLENBQUMs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LFdBQUEsRUFBRSxvQkFBd0IsRUFBeEIsWUFBWSxtQkFBRyxTQUFTLEtBQUE7OztnQkFDOUQsV0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBZ0QsZ0JBQU8sQ0FBQyxnQkFBZ0IsRUFBRTt3QkFDbEcsTUFBTSxFQUFFLE1BQU07d0JBQ2QsSUFBSSxFQUFFLEVBQUUsS0FBSyxPQUFBLEVBQUUsWUFBWSxjQUFBLEVBQUU7d0JBQzdCLGVBQWUsRUFBRSxLQUFLO3FCQUN2QixDQUFDLEVBQUE7OztLQUNIO0lBTVksaUNBQWtCLEdBQS9CLFVBQWdDLE1BQW1DOzs7Z0JBQ2pFLFdBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQStCLGdCQUFPLENBQUMsc0JBQXNCLEVBQUU7d0JBQ3ZGLE1BQU0sRUFBRSxNQUFNO3dCQUNkLElBQUksRUFBRSxNQUFNO3FCQUNiLENBQUMsRUFBQTs7O0tBQ0g7SUFNWSxtQ0FBb0IsR0FBakMsVUFBa0MsTUFBeUM7OztnQkFDekUsV0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBcUMsZ0JBQU8sQ0FBQyw2QkFBNkIsRUFBRTt3QkFDcEcsTUFBTSxFQUFFLE1BQU07d0JBQ2QsSUFBSSxFQUFFLE1BQU07cUJBQ2IsQ0FBQyxFQUFBOzs7S0FDSDtJQUNILFdBQUM7QUFBRCxDQUFDLEFBdnRCRCxJQXV0QkM7QUF2dEJZLG9CQUFJIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnXG5cbmltcG9ydCB7IEFwaVVybHMsIEFwaVVybHNWMiB9IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHtcbiAgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCxcbiAgR2V0VmVyaWZpY2F0aW9uUmVzcG9uc2UsXG4gIFVzZXJQcm9maWxlLFxuICBVc2VySW5mbyxcbiAgU2lnbkluUmVxdWVzdCxcbiAgU2lnblVwUmVxdWVzdCxcbiAgVmVyaWZ5UmVxdWVzdCxcbiAgVmVyaWZ5UmVzcG9uc2UsXG4gIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXF1ZXN0LFxuICBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVzcG9uc2UsXG4gIEdyYW50UHJvdmlkZXJUb2tlblJlcXVlc3QsXG4gIEdyYW50UHJvdmlkZXJUb2tlblJlc3BvbnNlLFxuICBQYXRjaFByb3ZpZGVyVG9rZW5SZXF1ZXN0LFxuICBQYXRjaFByb3ZpZGVyVG9rZW5SZXNwb25zZSxcbiAgU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCxcbiAgQmluZFdpdGhQcm92aWRlclJlcXVlc3QsXG4gIFRyYW5zQnlQcm92aWRlclJlcXVlc3QsXG4gIEdyYW50VG9rZW5SZXF1ZXN0LFxuICBVc2VyUHJvZmlsZVByb3ZpZGVyLFxuICBVbmJpbmRQcm92aWRlclJlcXVlc3QsXG4gIENoZWNrUGFzc3dvcmRyUmVxdWVzdCxcbiAgQmluZFBob25lUmVxdWVzdCxcbiAgQmluZEVtYWlsUmVxdWVzdCxcbiAgU2V0UGFzc3dvcmRSZXF1ZXN0LFxuICBDaGFuZ2VCaW5kZWRQcm92aWRlclJlcXVlc3QsXG4gIENoYW5nZUJpbmRlZFByb3ZpZGVyUmVzcG9uc2UsXG4gIFVwZGF0ZVBhc3N3b3JkUmVxdWVzdCxcbiAgU3Vkb1Jlc3BvbnNlLFxuICBTdWRvUmVxdWVzdCxcbiAgR2V0Q3VzdG9tU2lnblRpY2tldEZuLFxuICBRdWVyeVVzZXJQcm9maWxlUmVxdWVzdCxcbiAgUXVlcnlVc2VyUHJvZmlsZVJlc3BvbnNlLFxuICBSZXNldFBhc3N3b3JkUmVxdWVzdCxcbiAgRGV2aWNlQXV0aG9yaXplUmVxdWVzdCxcbiAgRGV2aWNlQXV0aG9yaXplUmVzcG9uc2UsXG4gIENoZWNrVXNlcm5hbWVSZXF1ZXN0LFxuICBDaGVja0lmVXNlckV4aXN0UmVxdWVzdCxcbiAgQ2hlY2tJZlVzZXJFeGlzdFJlc3BvbnNlLFxuICBXaXRoU3Vkb1JlcXVlc3QsXG4gIFB1YmxpY0tleSxcbiAgRW5jcnlwdFBhcmFtcyxcbiAgUHJvdmlkZXJTdWJUeXBlLFxuICBHZXRNaW5pUHJvZ3JhbVFyQ29kZVJlcXVlc3QsXG4gIEdldE1pbmlQcm9ncmFtUXJDb2RlU3RhdHVzUmVxdWVzdCxcbiAgR2V0TWluaVByb2dyYW1RckNvZGVSZXNwb25zZSxcbiAgR2V0TWluaVByb2dyYW1RckNvZGVTdGF0dXNSZXNwb25zZSxcbiAgTW9kaWZ5VXNlckJhc2ljSW5mb1JlcXVlc3QsXG59IGZyb20gJy4vbW9kZWxzJ1xuaW1wb3J0IHsgU2ltcGxlU3RvcmFnZSwgUmVxdWVzdEZ1bmN0aW9uIH0gZnJvbSAnLi4vb2F1dGgyY2xpZW50L2ludGVyZmFjZSdcbmltcG9ydCB7IE9BdXRoMkNsaWVudCwgZGVmYXVsdFN0b3JhZ2UgfSBmcm9tICcuLi9vYXV0aDJjbGllbnQvb2F1dGgyY2xpZW50J1xuaW1wb3J0IHsgQ3JlZGVudGlhbHMgfSBmcm9tICcuLi9vYXV0aDJjbGllbnQvbW9kZWxzJ1xuaW1wb3J0IHsgQ2FwdGNoYSwgQ2FwdGNoYU9wdGlvbnMgfSBmcm9tICcuLi9jYXB0Y2hhL2NhcHRjaGEnXG5pbXBvcnQgeyBkZWVwQ2xvbmUgfSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IGdldEVuY3J5cHRJbmZvIH0gZnJvbSAnLi4vdXRpbHMvZW5jcnlwdCdcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoT3B0aW9ucyB7XG4gIGFwaU9yaWdpbjogc3RyaW5nXG4gIGNsaWVudElkOiBzdHJpbmdcbiAgY3JlZGVudGlhbHNDbGllbnQ/OiBPQXV0aDJDbGllbnRcbiAgcmVxdWVzdD86IFJlcXVlc3RGdW5jdGlvblxuICBiYXNlUmVxdWVzdD86IFJlcXVlc3RGdW5jdGlvblxuICBzdG9yYWdlPzogU2ltcGxlU3RvcmFnZVxuICBhbm9ueW1vdXNTaWduSW5GdW5jPzogKENyZWRlbnRpYWxzKSA9PiBQcm9taXNlPENyZWRlbnRpYWxzIHwgdm9pZD5cbiAgY2FwdGNoYU9wdGlvbnM/OiBQYXJ0aWFsPENhcHRjaGFPcHRpb25zPlxufVxuXG4vKipcbiAqIEF1dGhcbiAqL1xuZXhwb3J0IGNsYXNzIEF1dGgge1xuICBwcml2YXRlIHN0YXRpYyBwYXJzZVBhcmFtc1RvU2VhcmNoKHBhcmFtczogYW55KTogc3RyaW5nIHtcbiAgICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFwYXJhbXNba2V5XSkge1xuICAgICAgICBkZWxldGUgcGFyYW1zW2tleV1cbiAgICAgIH1cbiAgICB9KVxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocGFyYW1zIGFzIGFueSlcbiAgICByZXR1cm4gc2VhcmNoUGFyYW1zLnRvU3RyaW5nKClcbiAgfVxuXG4gIHByaXZhdGUgY29uZmlnOiBBdXRoT3B0aW9uc1xuICBwcml2YXRlIGdldEN1c3RvbVNpZ25UaWNrZXRGbj86IEdldEN1c3RvbVNpZ25UaWNrZXRGblxuXG4gIC8qKlxuICAgKiBjb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0ge0F1dGhPcHRpb25zfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihvcHRzOiBBdXRoT3B0aW9ucykge1xuICAgIGxldCB7IHJlcXVlc3QgfSA9IG9wdHNcbiAgICBsZXQgb0F1dGgyQ2xpZW50ID0gb3B0cy5jcmVkZW50aWFsc0NsaWVudFxuICAgIGlmICghb0F1dGgyQ2xpZW50KSB7XG4gICAgICBjb25zdCBpbml0T3B0aW9ucyA9IHtcbiAgICAgICAgYXBpT3JpZ2luOiBvcHRzLmFwaU9yaWdpbixcbiAgICAgICAgY2xpZW50SWQ6IG9wdHMuY2xpZW50SWQsXG4gICAgICAgIHN0b3JhZ2U6IG9wdHMuc3RvcmFnZSxcbiAgICAgIH1cbiAgICAgIG9BdXRoMkNsaWVudCA9IG5ldyBPQXV0aDJDbGllbnQoaW5pdE9wdGlvbnMpXG4gICAgfVxuICAgIGlmICghcmVxdWVzdCkge1xuICAgICAgY29uc3QgYmFzZVJlcXVlc3QgPSBvQXV0aDJDbGllbnQucmVxdWVzdC5iaW5kKG9BdXRoMkNsaWVudClcbiAgICAgIGNvbnN0IGNhcHRjaGEgPSBuZXcgQ2FwdGNoYSh7XG4gICAgICAgIGNsaWVudElkOiBvcHRzLmNsaWVudElkLFxuICAgICAgICByZXF1ZXN0OiBiYXNlUmVxdWVzdCxcbiAgICAgICAgc3RvcmFnZTogb3B0cy5zdG9yYWdlLFxuICAgICAgICAuLi5vcHRzLmNhcHRjaGFPcHRpb25zLFxuICAgICAgfSlcbiAgICAgIHJlcXVlc3QgPSBjYXB0Y2hhLnJlcXVlc3QuYmluZChjYXB0Y2hhKVxuICAgIH1cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGFwaU9yaWdpbjogb3B0cy5hcGlPcmlnaW4sXG4gICAgICBjbGllbnRJZDogb3B0cy5jbGllbnRJZCxcbiAgICAgIHJlcXVlc3QsXG4gICAgICBjcmVkZW50aWFsc0NsaWVudDogb0F1dGgyQ2xpZW50LFxuICAgICAgc3RvcmFnZTogb3B0cy5zdG9yYWdlIHx8IGRlZmF1bHRTdG9yYWdlLFxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDmoLnmja7niYjmnKzmoIfor4bvvIzlpITnkIblvoXor7fmsYLnmoR1cmzlkoxwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcGFyYW0ga2V5XG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwdWJsaWMgZ2V0UGFyYW1zQnlWZXJzaW9uKHBhcmFtczogYW55LCBrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHBhcmFtc1RlbXAgPSBkZWVwQ2xvbmUocGFyYW1zKVxuICAgIGNvbnN0IHVybCA9IHsgdjI6IEFwaVVybHNWMiB9W3BhcmFtc1RlbXA/LnZlcnNpb25dPy5ba2V5XSB8fCBBcGlVcmxzW2tleV1cblxuICAgIGlmIChwYXJhbXNUZW1wKSB7XG4gICAgICBkZWxldGUgcGFyYW1zVGVtcC52ZXJzaW9uXG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcGFyYW1zOiBwYXJhbXNUZW1wLCB1cmwgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gaW4uXG4gICAqIEBwYXJhbSB7U2lnbkluUmVxdWVzdH0gcGFyYW1zIEEgU2lnbkluUmVxdWVzdCBPYmplY3QuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Q3JlZGVudGlhbHM+fSBBIFByb21pc2U8Q3JlZGVudGlhbHM+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduSW4ocGFyYW1zOiBTaWduSW5SZXF1ZXN0KTogUHJvbWlzZTxDcmVkZW50aWFscz4ge1xuICAgIGNvbnN0IHZlcnNpb24gPSBwYXJhbXMudmVyc2lvbiB8fCAndjEnXG4gICAgY29uc3QgcmVzID0gdGhpcy5nZXRQYXJhbXNCeVZlcnNpb24ocGFyYW1zLCAnQVVUSF9TSUdOX0lOX1VSTCcpXG4gICAgaWYgKHJlcy5wYXJhbXMucXVlcnkpIHtcbiAgICAgIGRlbGV0ZSByZXMucGFyYW1zLnF1ZXJ5XG4gICAgfVxuXG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuZ2V0RW5jcnlwdFBhcmFtcyhyZXMucGFyYW1zKVxuICAgIGNvbnN0IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuY29uZmlnLnJlcXVlc3Q8Q3JlZGVudGlhbHM+KHJlcy51cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keSxcbiAgICB9KVxuICAgIGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnNldENyZWRlbnRpYWxzKHtcbiAgICAgIC4uLmNyZWRlbnRpYWxzLFxuICAgICAgdmVyc2lvbixcbiAgICB9KVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpXG4gIH1cblxuICAvKipcbiAgICogU2lnbiBpbiBBbm9ueW1vdXNseVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluQW5vbnltb3VzbHkoZGF0YToge1xuICAgIHByb3ZpZGVyX3Rva2VuPzogc3RyaW5nXG4gIH0gPSB7fSwpOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgY29uc3QgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jb25maWcucmVxdWVzdDxDcmVkZW50aWFscz4oQXBpVXJscy5BVVRIX1NJR05fSU5fQU5PTllNT1VTTFlfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IGRhdGEsXG4gICAgfSlcbiAgICBhd2FpdCB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5zZXRDcmVkZW50aWFscyhjcmVkZW50aWFscylcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWRlbnRpYWxzKVxuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gdXAuXG4gICAqIEBwYXJhbSB7U2lnblVwUmVxdWVzdH0gcGFyYW1zIEEgU2lnblVwUmVxdWVzdCBPYmplY3QuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8Q3JlZGVudGlhbHM+fSBBIFByb21pc2U8Q3JlZGVudGlhbHM+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduVXAocGFyYW1zOiBTaWduVXBSZXF1ZXN0KTogUHJvbWlzZTxDcmVkZW50aWFscz4ge1xuICAgIGNvbnN0IGRhdGE6IENyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jb25maWcucmVxdWVzdDxDcmVkZW50aWFscz4oQXBpVXJscy5BVVRIX1NJR05fVVBfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICAgIGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnNldENyZWRlbnRpYWxzKGRhdGEpXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShkYXRhKVxuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gb3V0LlxuICAgKiBAcmV0dXJuIHtPYmplY3R9IEEgUHJvbWlzZTx2b2lkPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbk91dCgpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGFjY2Vzc1Rva2VuOiBzdHJpbmcgPSBhd2FpdCB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5nZXRBY2Nlc3NUb2tlbigpXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY29uZmlnLnJlcXVlc3QoQXBpVXJscy5BVVRIX1JFVk9LRV9VUkwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keToge1xuICAgICAgICB0b2tlbjogYWNjZXNzVG9rZW4sXG4gICAgICB9LFxuICAgIH0pXG4gICAgYXdhaXQgdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuc2V0Q3JlZGVudGlhbHMoKVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZGF0YSlcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZlcmlmaWNhdGlvbi5cbiAgICogQHBhcmFtIHtHZXRWZXJpZmljYXRpb25SZXF1ZXN0fSBwYXJhbXMgQSBHZXRWZXJpZmljYXRpb25SZXF1ZXN0IE9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT59IEEgUHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFZlcmlmaWNhdGlvbihwYXJhbXM6IEdldFZlcmlmaWNhdGlvblJlcXVlc3QpOiBQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPiB7XG4gICAgbGV0IHdpdGhDcmVkZW50aWFscyA9IGZhbHNlXG4gICAgLy8g5Y+R6YCB55+t5L+h5pe277yM5aaC5p6c5pe257uZ5b2T5YmN55So5oi35Y+R77yM5YiZ6ZyA6KaB5bim5LiK6Ym05p2D5L+h5oGvXG4gICAgaWYgKHBhcmFtcy50YXJnZXQgPT09ICdDVVJfVVNFUicpIHtcbiAgICAgIHdpdGhDcmVkZW50aWFscyA9IHRydWVcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaGFzTG9naW4gPSBhd2FpdCB0aGlzLmhhc0xvZ2luU3RhdGUoKVxuICAgICAgaWYgKGhhc0xvZ2luKSB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFscyA9IHRydWVcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+KEFwaVVybHMuVkVSSUZJQ0FUSU9OX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB3aXRoQ2FwdGNoYTogdHJ1ZSxcbiAgICAgIHdpdGhDcmVkZW50aWFscyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqICBWZXJpZnkgdGhlIGNvZGVcbiAgICogQHBhcmFtIHtWZXJpZnlSZXF1ZXN0fSBwYXJhbXMgQSBWZXJpZnlSZXF1ZXN0IE9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxWZXJpZnlSZXNwb25zZT59IEEgUHJvbWlzZTxWZXJpZnlSZXNwb25zZT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHZlcmlmeShwYXJhbXM6IFZlcmlmeVJlcXVlc3QpOiBQcm9taXNlPFZlcmlmeVJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzID0gdGhpcy5nZXRQYXJhbXNCeVZlcnNpb24ocGFyYW1zLCAnVkVSSUZZX1VSTCcpXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY29uZmlnLnJlcXVlc3Q8VmVyaWZ5UmVzcG9uc2U+KHJlcy51cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcmVzLnBhcmFtcyxcbiAgICB9KVxuXG4gICAgaWYgKHBhcmFtcz8udmVyc2lvbiA9PT0gJ3YyJykge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuc2V0Q3JlZGVudGlhbHMoe1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICB2ZXJzaW9uOiAndjInLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbiBwcm92aWRlciByZWRpcmVjdCB1cmkuXG4gICAqIEBwYXJhbSB7R2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlcXVlc3R9IHBhcmFtcyBBIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVzcG9uc2U+fSBBIFByb21pc2U8R2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlc3BvbnNlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2VuUHJvdmlkZXJSZWRpcmVjdFVyaShwYXJhbXM6IEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXF1ZXN0KTogUHJvbWlzZTxHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVzcG9uc2U+IHtcbiAgICBsZXQgdXJsID0gYCR7QXBpVXJscy5QUk9WSURFUl9VUklfVVJMfT9jbGllbnRfaWQ9JHt0aGlzLmNvbmZpZy5jbGllbnRJZH0mcHJvdmlkZXJfaWQ9JHtcbiAgICAgIHBhcmFtcy5wcm92aWRlcl9pZFxuICAgIH0mcmVkaXJlY3RfdXJpPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtcy5wcm92aWRlcl9yZWRpcmVjdF91cmkpfSZzdGF0ZT0ke3BhcmFtcy5zdGF0ZX1gXG4gICAgY29uc3QgeyBvdGhlcl9wYXJhbXM6IG90aGVyUGFyYW1zIH0gPSBwYXJhbXNcbiAgICBpZiAob3RoZXJQYXJhbXMpIHtcbiAgICAgIGlmICh0eXBlb2Ygb3RoZXJQYXJhbXMuc2lnbl9vdXRfdXJpID09PSAnc3RyaW5nJyAmJiBvdGhlclBhcmFtcy5zaWduX291dF91cmkubGVuZ3RoID4gMCkge1xuICAgICAgICB1cmwgKz0gYCZvdGhlcl9wYXJhbXNbc2lnbl9vdXRfdXJpXT0ke290aGVyUGFyYW1zLnNpZ25fb3V0X3VyaX1gXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZT4odXJsLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgcHJvdmlkZXIgdG9rZW4uXG4gICAqIEBwYXJhbSB7R3JhbnRQcm92aWRlclRva2VuUmVxdWVzdH0gcGFyYW1zIEEgR3JhbnRQcm92aWRlclRva2VuUmVxdWVzdCBvYmplY3QuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8R3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+fSBBIFByb21pc2U8R3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBncmFudFByb3ZpZGVyVG9rZW4ocGFyYW1zOiBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0KTogUHJvbWlzZTxHcmFudFByb3ZpZGVyVG9rZW5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PEdyYW50UHJvdmlkZXJUb2tlblJlc3BvbnNlPihBcGlVcmxzLlBST1ZJREVSX1RPS0VOX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCBwcm92aWRlciB0b2tlbi5cbiAgICogQHBhcmFtIHtQYXRjaFByb3ZpZGVyVG9rZW5SZXF1ZXN0fSBwYXJhbXMgQSBQYXRjaFByb3ZpZGVyVG9rZW5SZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxQYXRjaFByb3ZpZGVyVG9rZW5SZXNwb25zZT59IEEgUHJvbWlzZTxQYXRjaFByb3ZpZGVyVG9rZW5SZXNwb25zZT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHBhdGNoUHJvdmlkZXJUb2tlbihwYXJhbXM6IFBhdGNoUHJvdmlkZXJUb2tlblJlcXVlc3QpOiBQcm9taXNlPFBhdGNoUHJvdmlkZXJUb2tlblJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8UGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2U+KEFwaVVybHMuUFJPVklERVJfVE9LRU5fVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduaW4gd2l0aCBwcm92aWRlciByZXF1ZXN0LlxuICAgKiBAcGFyYW0ge1NpZ25JbldpdGhQcm92aWRlclJlcXVlc3R9IHBhcmFtcyBBIFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluV2l0aFByb3ZpZGVyKHBhcmFtczogU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdBVVRIX1NJR05fSU5fV0lUSF9QUk9WSURFUl9VUkwnKVxuICAgIGNvbnN0IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuY29uZmlnLnJlcXVlc3Q8Q3JlZGVudGlhbHM+KHJlcy51cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcmVzLnBhcmFtcyxcbiAgICB9KVxuICAgIGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnNldENyZWRlbnRpYWxzKHtcbiAgICAgIC4uLmNyZWRlbnRpYWxzLFxuICAgICAgdmVyc2lvbjogcGFyYW1zPy52ZXJzaW9uIHx8ICd2MScsXG4gICAgfSlcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWRlbnRpYWxzKVxuICB9XG5cbiAgLyoqXG4gICAqIHNpZ24gaW4gd2l0aCB3ZWNoYXQgaWRlbmRpZnlcbiAgICog6ZyA6KaB57uT5ZCIIGh0dHAgb3ZlcmNhbGxGdW5jdGlvbiDkvb/nlKhcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduSW5XaXRoV2VjaGF0KHBhcmFtczogYW55ID0ge30pOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgY29uc3QgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jb25maWcucmVxdWVzdDxDcmVkZW50aWFscz4oQXBpVXJscy5BVVRIX1NJR05fSU5fV0lUSF9XRUNIQVRfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICAgIGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnNldENyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpXG4gIH1cblxuICAvKipcbiAgICogQmluZCB3aXRoIHByb3ZpZGVyXG4gICAqIEBwYXJhbSB7QmluZFdpdGhQcm92aWRlclJlcXVlc3R9IHBhcmFtcyBBIEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBQcm9taXNlPGFueT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJpbmRXaXRoUHJvdmlkZXIocGFyYW1zOiBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PGFueT4oQXBpVXJscy5QUk9WSURFUl9CSU5EX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVzZXIgcHJvZmlsZS5cbiAgICogQHJldHVybiB7UHJvbWlzZTxVc2VyUHJvZmlsZT59IEEgUHJvbWlzZTxVc2VyUHJvZmlsZT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFVzZXJQcm9maWxlKHBhcmFtczogeyB2ZXJzaW9uPzogc3RyaW5nIH0pOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlckluZm8ocGFyYW1zKVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdXNlciBpbmZvLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJJbmZvPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0VXNlckluZm8ocGFyYW1zOiB7IHZlcnNpb24/OiBzdHJpbmc7IHF1ZXJ5Pzogc3RyaW5nIH0gPSB7fSk6IFByb21pc2U8VXNlckluZm8+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdVU0VSX01FX1VSTCcpXG5cbiAgICBpZiAocmVzLnBhcmFtcz8ucXVlcnkpIHtcbiAgICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocmVzLnBhcmFtcy5xdWVyeSBhcyBhbnkpXG4gICAgICByZXMudXJsICs9IGA/JHtzZWFyY2hQYXJhbXMudG9TdHJpbmcoKX1gXG4gICAgfVxuXG4gICAgY29uc3QgdXNlckluZm8gPSBhd2FpdCB0aGlzLmNvbmZpZy5yZXF1ZXN0PFVzZXJJbmZvPihyZXMudXJsLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG5cbiAgICBpZiAodXNlckluZm8uc3ViKSB7XG4gICAgICB1c2VySW5mby51aWQgPSB1c2VySW5mby5zdWJcbiAgICB9XG5cbiAgICByZXR1cm4gdXNlckluZm9cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVzZXIgaW5mbyBieSB3ZWRhIHBsdWdpbi5cbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fSBBIFByb21pc2U8YW55PiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0V2VkYVVzZXJJbmZvKCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdXNlckluZm8gPSBhd2FpdCB0aGlzLmNvbmZpZy5yZXF1ZXN0PGFueT4oQXBpVXJscy5XRURBX1VTRVJfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gICAgcmV0dXJuIHVzZXJJbmZvXG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIG1lXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVNZShwYXJhbXM6IFdpdGhTdWRvUmVxdWVzdCk6IFByb21pc2U8VXNlclByb2ZpbGU+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdVU0VSX01FX1VSTCcpXG4gICAgY29uc3QgdXJsID0gYCR7cmVzLnVybH0/JHtBdXRoLnBhcnNlUGFyYW1zVG9TZWFyY2gocmVzLnBhcmFtcyl9YFxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PFVzZXJQcm9maWxlPih1cmwsIHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBoYXNMb2dpblN0YXRlIGNoZWNrIGlmIGhhcyBsb2dpbiBzdGF0ZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPGJvb2xlYW4+fSBBIFByb21pc2U8Ym9vbGVhbj4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGhhc0xvZ2luU3RhdGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LmdldEFjY2Vzc1Rva2VuKClcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNMb2dpblN0YXRlU3luYygpOiBDcmVkZW50aWFscyB8IG51bGwge1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gdGhpcy5jb25maWcuY3JlZGVudGlhbHNDbGllbnQuZ2V0Q3JlZGVudGlhbHNTeW5jKClcbiAgICByZXR1cm4gY3JlZGVudGlhbHNcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRMb2dpblN0YXRlKCk6IFByb21pc2U8Q3JlZGVudGlhbHMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LmdldENyZWRlbnRpYWxzQXN5bmMoKVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zIGJ5IHByb3ZpZGVyLlxuICAgKiBAcGFyYW0ge1RyYW5zQnlQcm92aWRlclJlcXVlc3R9IHBhcmFtcyBBIFRyYW5zQnlQcm92aWRlclJlcXVlc3Qgb2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdHJhbnNCeVByb3ZpZGVyKHBhcmFtczogVHJhbnNCeVByb3ZpZGVyUmVxdWVzdCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxDcmVkZW50aWFscz4oQXBpVXJscy5VU0VSX1RSQU5TX0JZX1BST1ZJREVSX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdG9rZW4uXG4gICAqIEBwYXJhbSB7R3JhbnRUb2tlblJlcXVlc3R9IHBhcmFtcyBBIEdyYW50VG9rZW5SZXF1ZXN0IG9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdyYW50VG9rZW4ocGFyYW1zOiBHcmFudFRva2VuUmVxdWVzdCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmdldFBhcmFtc0J5VmVyc2lvbihwYXJhbXMsICdBVVRIX1RPS0VOX1VSTCcpXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8Q3JlZGVudGlhbHM+KHJlcy51cmwsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcmVzLnBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJvdmlkZSBsaXN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlUHJvdmlkZXI+fSBBIFByb21pc2U8VXNlclByb2ZpbGVQcm92aWRlcj4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFByb3ZpZGVycygpOiBQcm9taXNlPFVzZXJQcm9maWxlUHJvdmlkZXI+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxVc2VyUHJvZmlsZVByb3ZpZGVyPihBcGlVcmxzLlBST1ZJREVSX0xJU1QsIHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB1bmJpbmQgcHJvdmlkZXIuXG4gICAqIEBwYXJhbSB7VW5iaW5kUHJvdmlkZXJSZXF1ZXN0fSBwYXJhbXNcbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHVuYmluZFByb3ZpZGVyKHBhcmFtczogVW5iaW5kUHJvdmlkZXJSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8YW55PihgJHtBcGlVcmxzLlBST1ZJREVSX1VOQklORF9VUkx9LyR7cGFyYW1zLnByb3ZpZGVyX2lkfWAsIHtcbiAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBQYXNzd29yZC5cbiAgICogQHBhcmFtIHtDaGVja1Bhc3N3b3JkclJlcXVlc3R9IHBhcmFtc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2hlY2tQYXNzd29yZChwYXJhbXM6IENoZWNrUGFzc3dvcmRyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PGFueT4oYCR7QXBpVXJscy5DSEVDS19QV0RfVVJMfWAsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgUGFzc3dvcmQuXG4gICAqIEBwYXJhbSB7Q2hlY2tQYXNzd29yZHJSZXF1ZXN0fSBwYXJhbXNcbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJpbmRQaG9uZShwYXJhbXM6IEJpbmRQaG9uZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxhbnk+KGAke0FwaVVybHMuQklORF9DT05UQUNUX1VSTH1gLCB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBQYXNzd29yZC5cbiAgICogQHBhcmFtIHtDaGVja1Bhc3N3b3JkclJlcXVlc3R9IHBhcmFtc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYmluZEVtYWlsKHBhcmFtczogQmluZEVtYWlsUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PGFueT4oYCR7QXBpVXJscy5CSU5EX0NPTlRBQ1RfVVJMfWAsIHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCBQYXNzd29yZC5cbiAgICogQHBhcmFtIHtTZXRQYXNzd29yZHJSZXF1ZXN0fSBwYXJhbXNcbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNldFBhc3N3b3JkKHBhcmFtczogU2V0UGFzc3dvcmRSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8YW55PihgJHtBcGlVcmxzLkFVVEhfU0VUX1BBU1NXT1JEfWAsIHtcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZVBhc3N3b3JkQnlPbGQg5L2/55So5pen5a+G56CB5L+u5pS55a+G56CB77yM5aaC5p6c5bey57uP57uR5a6a5omL5py65Y+377yM6K+35YWI77yac3Vkb++8jOWGjeS/ruaUueWvhueggVxuICAgKiBAcGFyYW0ge1NldFBhc3N3b3JkclJlcXVlc3R9IHBhcmFtc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdXBkYXRlUGFzc3dvcmRCeU9sZChwYXJhbXM6IFVwZGF0ZVBhc3N3b3JkUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN1ZG9Ub2tlbiA9IGF3YWl0IHRoaXMuc3Vkbyh7IHBhc3N3b3JkOiBwYXJhbXMub2xkX3Bhc3N3b3JkIH0pXG4gICAgcmV0dXJuIHRoaXMuc2V0UGFzc3dvcmQoe1xuICAgICAgc3Vkb190b2tlbjogc3Vkb1Rva2VuLnN1ZG9fdG9rZW4sXG4gICAgICBuZXdfcGFzc3dvcmQ6IHBhcmFtcy5uZXdfcGFzc3dvcmQsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBzdWRvXG4gICAqIEBwYXJhbSB7c3Vkb30gcGFyYW1zXG4gICAqIEByZXR1cm4ge1Byb21pc2U8YW55Pn1cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzdWRvKHBhcmFtczogU3Vkb1JlcXVlc3QpOiBQcm9taXNlPFN1ZG9SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PFN1ZG9SZXNwb25zZT4oYCR7QXBpVXJscy5TVURPX1VSTH1gLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCB1c2VyIHZlcmlmaWNhdGlvbi5cbiAgICogQHBhcmFtIHtHZXRWZXJpZmljYXRpb25SZXF1ZXN0fSBwYXJhbXMgQSBHZXRWZXJpZmljYXRpb25SZXF1ZXN0IE9iamVjdC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT59IEEgUHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEN1clVzZXJWZXJpZmljYXRpb24ocGFyYW1zOiBHZXRWZXJpZmljYXRpb25SZXF1ZXN0KTogUHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4ge1xuICAgIHBhcmFtcy50YXJnZXQgPSAnQ1VSX1VTRVInXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+KEFwaVVybHMuVkVSSUZJQ0FUSU9OX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICB3aXRoQ2FwdGNoYTogdHJ1ZSxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIGNoYW5nZSBiaW5kZWQgcHJvdmlkZXIuXG4gICAqIEBwYXJhbSB7R2V0VmVyaWZpY2F0aW9uUmVxdWVzdH0gcGFyYW1zIEEgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCBPYmplY3QuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+fSBBIFByb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjaGFuZ2VCaW5kZWRQcm92aWRlcihwYXJhbXM6IENoYW5nZUJpbmRlZFByb3ZpZGVyUmVxdWVzdCk6IFByb21pc2U8Q2hhbmdlQmluZGVkUHJvdmlkZXJSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PENoYW5nZUJpbmRlZFByb3ZpZGVyUmVzcG9uc2U+KGAke0FwaVVybHMuUFJPVklERVJfTElTVH0vJHtwYXJhbXMucHJvdmlkZXJfaWR9L3RyYW5zYCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHByb3ZpZGVyX3RyYW5zX3Rva2VuOiBwYXJhbXMudHJhbnNfdG9rZW4sXG4gICAgICB9LFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUGF0Y2ggdGhlIHVzZXIgcHJvZmlsZS5cbiAgICogQHBhcmFtIHtVc2VyUHJvZmlsZX0gcGFyYW1zIEEgVXNlclByb2ZpbGUgT2JqZWN0LlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2V0VXNlclByb2ZpbGUocGFyYW1zOiBVc2VyUHJvZmlsZSk6IFByb21pc2U8VXNlclByb2ZpbGU+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxVc2VyUHJvZmlsZT4oQXBpVXJscy5VU0VSX1BSSUZJTEVfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdXNlciBiYXNpYyBpbmZvXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdXBkYXRlVXNlckJhc2ljSW5mbyhwYXJhbXM6IE1vZGlmeVVzZXJCYXNpY0luZm9SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3QoQXBpVXJscy5VU0VSX0JBU0lDX0VESVRfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFBhdGNoIHRoZSB1c2VyIHByb2ZpbGUuXG4gICAqIEBwYXJhbSB7UXVlcnlVc2VyUHJvZmlsZVJlcX0gYXBwZW5kZWRfcGFyYW1zIEEgUXVlcnlVc2VyUHJvZmlsZVJlcSBPYmplY3QuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8VXNlclByb2ZpbGU+fSBBIFByb21pc2U8VXNlclByb2ZpbGU+IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBxdWVyeVVzZXJQcm9maWxlKHBhcmFtczogUXVlcnlVc2VyUHJvZmlsZVJlcXVlc3QpOiBQcm9taXNlPFF1ZXJ5VXNlclByb2ZpbGVSZXNwb25zZT4ge1xuICAgIC8vIGxldCB1cmwgPSBuZXcgVVJMKEFwaVVybHMuVVNFUl9RVUVSWV9VUkwpO1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMocGFyYW1zIGFzIGFueSlcbiAgICAvLyB1cmwuc2VhcmNoID0gc2VhcmNoUGFyYW1zLnRvU3RyaW5nKCk7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3Q8UXVlcnlVc2VyUHJvZmlsZVJlc3BvbnNlPihgJHtBcGlVcmxzLlVTRVJfUVVFUllfVVJMfT8ke3NlYXJjaFBhcmFtcy50b1N0cmluZygpfWAsIHtcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXRDdXN0b21TaWduRnVuYyBzZXQgdGhlIGdldCB0aWNrZXQgZnVuY3Rpb25cbiAgICogQHBhcmFtIGdldFRpY2tGblxuICAgKi9cbiAgcHVibGljIHNldEN1c3RvbVNpZ25GdW5jKGdldFRpY2tGbjogR2V0Q3VzdG9tU2lnblRpY2tldEZuKSB7XG4gICAgdGhpcy5nZXRDdXN0b21TaWduVGlja2V0Rm4gPSBnZXRUaWNrRm5cbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduSW5XaXRoQ3VzdG9tVGlja2V0IGN1c3RvbSBzaWduSW5cbiAgICogQGNvbnN0cnVjdG9yXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluV2l0aEN1c3RvbVRpY2tldChwYXJhbXM/OiB7IHZlcnNpb24/OiBzdHJpbmcgfSk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICBjb25zdCBjdXN0b21UaWNrZXQgPSBhd2FpdCB0aGlzLmdldEN1c3RvbVNpZ25UaWNrZXRGbigpXG4gICAgcmV0dXJuIHRoaXMuc2lnbkluV2l0aFByb3ZpZGVyKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByb3ZpZGVyX2lkOiAnY3VzdG9tJyxcbiAgICAgIHByb3ZpZGVyX3Rva2VuOiBjdXN0b21UaWNrZXQsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBwYXNzd29yZFxuICAgKiBAcGFyYW0ge1Jlc2V0UGFzc3dvcmRSZXF1ZXN0fSBwYXJhbXNcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gICAqIEBtZW1iZXJvZiBBdXRoXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVzZXRQYXNzd29yZChwYXJhbXM6IFJlc2V0UGFzc3dvcmRSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3QoQXBpVXJscy5BVVRIX1JFU0VUX1BBU1NXT1JELCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIC8vIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogZGV2aWNlIGF1dGhvcml6YXRpb25cbiAgICogQHBhcmFtIHtEZXZpY2VBdXRob3JpemVSZXF1ZXN0fSBwYXJhbXNcbiAgICogQHJldHVybnMge1Byb21pc2U8RGV2aWNlQXV0aG9yaXplUmVzcG9uc2U+fVxuICAgKiBAbWVtYmVyb2YgQXV0aFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRldmljZUF1dGhvcml6ZShwYXJhbXM6IERldmljZUF1dGhvcml6ZVJlcXVlc3QpOiBQcm9taXNlPERldmljZUF1dGhvcml6ZVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnJlcXVlc3QoQXBpVXJscy5BVVRIX0dFVF9ERVZJQ0VfQ09ERSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjaGVja1VzZXJuYW1lKHBhcmFtczogQ2hlY2tVc2VybmFtZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdChBcGlVcmxzLkNIRUNLX1VTRVJOQU1FLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY2hlY2tJZlVzZXJFeGlzdChwYXJhbXM6IENoZWNrSWZVc2VyRXhpc3RSZXF1ZXN0KTogUHJvbWlzZTxDaGVja0lmVXNlckV4aXN0UmVzcG9uc2U+IHtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHBhcmFtcyBhcyBhbnkpXG5cbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxDaGVja0lmVXNlckV4aXN0UmVzcG9uc2U+KGAke0FwaVVybHMuQ0hFQ0tfSUZfVVNFUl9FWElTVH0/JHtzZWFyY2hQYXJhbXMudG9TdHJpbmcoKX1gLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9naW5TY29wZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5nZXRTY29wZSgpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9naW5Hcm91cHMoKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5nZXRHcm91cHMoKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlZnJlc2hUb2tlbkZvcmNlKHBhcmFtczogeyB2ZXJzaW9uPzogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLmNvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5nZXRDcmVkZW50aWFscygpXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnJlZnJlc2hUb2tlbih7XG4gICAgICAuLi5jcmVkZW50aWFscyxcbiAgICAgIHZlcnNpb246IHBhcmFtcz8udmVyc2lvbiB8fCAndjEnLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Q3JlZGVudGlhbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LmdldENyZWRlbnRpYWxzKClcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgcHVibGljIGtleSBmb3IgcmVxdWVzdCBwYXJhbXMgZW5jcnlwdGlvblxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFB1YmxpY0tleSgpOiBQcm9taXNlPFB1YmxpY0tleT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PFB1YmxpY0tleT4oQXBpVXJsc1YyLkFVVEhfUFVCTElDX0tFWSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiB7fSxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIGVuY3J5cHQgcmVxdWVzdCBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEVuY3J5cHRQYXJhbXMocGFyYW1zOiBSZWNvcmQ8YW55LCBhbnk+KTogUHJvbWlzZTxFbmNyeXB0UGFyYW1zPiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGRlZXBDbG9uZShwYXJhbXMpXG5cbiAgICBpZiAoIXBheWxvYWQuaXNFbmNyeXB0KSB7XG4gICAgICByZXR1cm4gcGFyYW1zXG4gICAgfVxuXG4gICAgbGV0IHB1YmxpY0tleSA9ICcnXG4gICAgbGV0IHB1YmxpY19rZXlfdGh1bWJwcmludCA9ICcnXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5nZXRQdWJsaWNLZXkoKVxuICAgICAgcHVibGljS2V5ID0gcmVzLnB1YmxpY19rZXlcbiAgICAgIHB1YmxpY19rZXlfdGh1bWJwcmludCA9IHJlcy5wdWJsaWNfa2V5X3RodW1icHJpbnRcbiAgICB9IGNhdGNoIChlcnJvcikge31cblxuICAgIGlmICghcHVibGljS2V5IHx8ICFwdWJsaWNfa2V5X3RodW1icHJpbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncHVibGljX2tleSBvciBwdWJsaWNfa2V5X3RodW1icHJpbnQgaXMgZW1wdHknKVxuICAgIH1cblxuICAgIGRlbGV0ZSBwYXlsb2FkLmlzRW5jcnlwdFxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmFtczogZ2V0RW5jcnlwdEluZm8oeyBwdWJsaWNLZXksIHBheWxvYWQgfSksXG4gICAgICBwdWJsaWNfa2V5X3RodW1icHJpbnQsXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGdldCBwcm92aWRlciBzdWIgdHlwZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFByb3ZpZGVyU3ViVHlwZSgpOiBQcm9taXNlPFByb3ZpZGVyU3ViVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PFByb3ZpZGVyU3ViVHlwZT4oQXBpVXJscy5HRVRfUFJPVklERVJfVFlQRSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiB7XG4gICAgICAgIHByb3ZpZGVyX2lkOiAnd2VkYScsXG4gICAgICB9LFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogZ2V0IHByb3ZpZGVyIHN1YiB0eXBlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdmVyaWZ5Q2FwdGNoYURhdGEoeyB0b2tlbiwga2V5IH06IHsgdG9rZW46IHN0cmluZzsga2V5OiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PHsgY2FwdGNoYV90b2tlbjogc3RyaW5nOyBleHBpcmVzX2luOiBudW1iZXIgfT4oQXBpVXJscy5WRVJJRllfQ0FQVENIQV9EQVRBX1VSTCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiB7IHRva2VuLCBrZXkgfSxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogZmFsc2UsXG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVDYXB0Y2hhRGF0YSh7IHN0YXRlLCByZWRpcmVjdF91cmkgPSB1bmRlZmluZWQgfSkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5yZXF1ZXN0PHsgY2FwdGNoYV90b2tlbjogc3RyaW5nOyBleHBpcmVzX2luOiBudW1iZXIgfT4oQXBpVXJscy5DQVBUQ0hBX0RBVEFfVVJMLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IHsgc3RhdGUsIHJlZGlyZWN0X3VyaSB9LFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiBmYWxzZSxcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIG1pbmktcHJvZ3JhbSBzY2FuIGNvZGVcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRNaW5pUHJvZ3JhbUNvZGUocGFyYW1zOiBHZXRNaW5pUHJvZ3JhbVFyQ29kZVJlcXVlc3QpOiBQcm9taXNlPEdldE1pbmlQcm9ncmFtUXJDb2RlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxHZXRNaW5pUHJvZ3JhbVFyQ29kZVJlc3BvbnNlPihBcGlVcmxzLkdFVF9NSU5JUFJPR1JBTV9RUkNPREUsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgYm9keTogcGFyYW1zLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogbWluaS1wcm9ncmFtIHNjYW4gY29kZSBzdGF0dXNcbiAgICogQHJldHVybnNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBjaGVja01pbmlQcm9ncmFtQ29kZShwYXJhbXM6IEdldE1pbmlQcm9ncmFtUXJDb2RlU3RhdHVzUmVxdWVzdCwpOiBQcm9taXNlPEdldE1pbmlQcm9ncmFtUXJDb2RlU3RhdHVzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmVxdWVzdDxHZXRNaW5pUHJvZ3JhbVFyQ29kZVN0YXR1c1Jlc3BvbnNlPihBcGlVcmxzLkdFVF9NSU5JUFJPR1JBTV9RUkNPREVfU1RBVFVTLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -2,6 +2,7 @@ export declare enum ApiUrls {
2
2
  AUTH_SIGN_IN_URL = "/auth/v1/signin",
3
3
  AUTH_SIGN_IN_ANONYMOUSLY_URL = "/auth/v1/signin/anonymously",
4
4
  AUTH_SIGN_IN_WITH_PROVIDER_URL = "/auth/v1/signin/with/provider",
5
+ AUTH_SIGN_IN_WITH_WECHAT_URL = "/auth/v1/signin/wechat/noauth",
5
6
  AUTH_SIGN_UP_URL = "/auth/v1/signup",
6
7
  AUTH_TOKEN_URL = "/auth/v1/token",
7
8
  AUTH_REVOKE_URL = "/auth/v1/revoke",
@@ -12,11 +13,12 @@ export declare enum ApiUrls {
12
13
  WEDA_USER_URL = "/auth/v1/plugin/weda/userinfo",
13
14
  USER_QUERY_URL = "/auth/v1/user/query",
14
15
  USER_PRIFILE_URL = "/auth/v1/user/profile",
16
+ USER_BASIC_EDIT_URL = "/auth/v1/user/basic/edit",
15
17
  USER_TRANS_BY_PROVIDER_URL = "/auth/v1/user/trans/by/provider",
16
18
  VERIFICATION_URL = "/auth/v1/verification",
17
19
  VERIFY_URL = "/auth/v1/verification/verify",
18
20
  CAPTCHA_DATA_URL = "/auth/v1/captcha/data",
19
- VARIFY_CAPTCHA_DATA_URL = "/auth/v1/captcha/data/verify",
21
+ VERIFY_CAPTCHA_DATA_URL = "/auth/v1/captcha/data/verify",
20
22
  GET_CAPTCHA_URL = "/auth/v1/captcha/init",
21
23
  PROVIDER_LIST = "/auth/v1/user/provider",
22
24
  PROVIDER_UNBIND_URL = "/auth/v1/user/provider",
@@ -28,7 +30,9 @@ export declare enum ApiUrls {
28
30
  AUTH_GET_DEVICE_CODE = "/auth/v1/device/code",
29
31
  CHECK_USERNAME = "/auth/v1/checkUsername",
30
32
  CHECK_IF_USER_EXIST = "/auth/v1/checkIfUserExist",
31
- GET_PROVIDER_TYPE = "/auth/v1/mgr/provider/providerSubType"
33
+ GET_PROVIDER_TYPE = "/auth/v1/mgr/provider/providerSubType",
34
+ GET_MINIPROGRAM_QRCODE = "/auth/v1/qrcode/generate",
35
+ GET_MINIPROGRAM_QRCODE_STATUS = "/auth/v1/qrcode/get/status"
32
36
  }
33
37
  export declare enum ApiUrlsV2 {
34
38
  AUTH_SIGN_IN_URL = "/auth/v2/signin/username",
@@ -6,6 +6,7 @@ var ApiUrls;
6
6
  ApiUrls["AUTH_SIGN_IN_URL"] = "/auth/v1/signin";
7
7
  ApiUrls["AUTH_SIGN_IN_ANONYMOUSLY_URL"] = "/auth/v1/signin/anonymously";
8
8
  ApiUrls["AUTH_SIGN_IN_WITH_PROVIDER_URL"] = "/auth/v1/signin/with/provider";
9
+ ApiUrls["AUTH_SIGN_IN_WITH_WECHAT_URL"] = "/auth/v1/signin/wechat/noauth";
9
10
  ApiUrls["AUTH_SIGN_UP_URL"] = "/auth/v1/signup";
10
11
  ApiUrls["AUTH_TOKEN_URL"] = "/auth/v1/token";
11
12
  ApiUrls["AUTH_REVOKE_URL"] = "/auth/v1/revoke";
@@ -16,11 +17,12 @@ var ApiUrls;
16
17
  ApiUrls["WEDA_USER_URL"] = "/auth/v1/plugin/weda/userinfo";
17
18
  ApiUrls["USER_QUERY_URL"] = "/auth/v1/user/query";
18
19
  ApiUrls["USER_PRIFILE_URL"] = "/auth/v1/user/profile";
20
+ ApiUrls["USER_BASIC_EDIT_URL"] = "/auth/v1/user/basic/edit";
19
21
  ApiUrls["USER_TRANS_BY_PROVIDER_URL"] = "/auth/v1/user/trans/by/provider";
20
22
  ApiUrls["VERIFICATION_URL"] = "/auth/v1/verification";
21
23
  ApiUrls["VERIFY_URL"] = "/auth/v1/verification/verify";
22
24
  ApiUrls["CAPTCHA_DATA_URL"] = "/auth/v1/captcha/data";
23
- ApiUrls["VARIFY_CAPTCHA_DATA_URL"] = "/auth/v1/captcha/data/verify";
25
+ ApiUrls["VERIFY_CAPTCHA_DATA_URL"] = "/auth/v1/captcha/data/verify";
24
26
  ApiUrls["GET_CAPTCHA_URL"] = "/auth/v1/captcha/init";
25
27
  ApiUrls["PROVIDER_LIST"] = "/auth/v1/user/provider";
26
28
  ApiUrls["PROVIDER_UNBIND_URL"] = "/auth/v1/user/provider";
@@ -33,6 +35,8 @@ var ApiUrls;
33
35
  ApiUrls["CHECK_USERNAME"] = "/auth/v1/checkUsername";
34
36
  ApiUrls["CHECK_IF_USER_EXIST"] = "/auth/v1/checkIfUserExist";
35
37
  ApiUrls["GET_PROVIDER_TYPE"] = "/auth/v1/mgr/provider/providerSubType";
38
+ ApiUrls["GET_MINIPROGRAM_QRCODE"] = "/auth/v1/qrcode/generate";
39
+ ApiUrls["GET_MINIPROGRAM_QRCODE_STATUS"] = "/auth/v1/qrcode/get/status";
36
40
  })(ApiUrls = exports.ApiUrls || (exports.ApiUrls = {}));
37
41
  var ApiUrlsV2;
38
42
  (function (ApiUrlsV2) {
@@ -72,4 +76,4 @@ var ErrorType;
72
76
  ErrorType["USER_PENDING"] = "user_pending";
73
77
  ErrorType["USER_BLOCKED"] = "user_blocked";
74
78
  })(ErrorType = exports.ErrorType || (exports.ErrorType = {}));
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksT0FnQ1g7QUFoQ0QsV0FBWSxPQUFPO0lBQ2pCLCtDQUFvQyxDQUFBO0lBQ3BDLHVFQUE0RCxDQUFBO0lBQzVELDJFQUFnRSxDQUFBO0lBQ2hFLCtDQUFvQyxDQUFBO0lBQ3BDLDRDQUFpQyxDQUFBO0lBQ2pDLDhDQUFtQyxDQUFBO0lBQ25DLDREQUFpRCxDQUFBO0lBQ2pELHlEQUE4QyxDQUFBO0lBQzlDLHFEQUEwQyxDQUFBO0lBQzFDLDJDQUFnQyxDQUFBO0lBQ2hDLDBEQUErQyxDQUFBO0lBQy9DLGlEQUFzQyxDQUFBO0lBQ3RDLHFEQUEwQyxDQUFBO0lBQzFDLHlFQUE4RCxDQUFBO0lBQzlELHFEQUEwQyxDQUFBO0lBQzFDLHNEQUEyQyxDQUFBO0lBQzNDLHFEQUEwQyxDQUFBO0lBQzFDLG1FQUF3RCxDQUFBO0lBQ3hELG9EQUF5QyxDQUFBO0lBRXpDLG1EQUF3QyxDQUFBO0lBQ3hDLHlEQUE4QyxDQUFBO0lBQzlDLCtDQUFvQyxDQUFBO0lBQ3BDLDBDQUErQixDQUFBO0lBQy9CLHFEQUEwQyxDQUFBO0lBQzFDLHVEQUE0QyxDQUFBO0lBQzVDLGlEQUFzQyxDQUFBO0lBQ3RDLHdEQUE2QyxDQUFBO0lBQzdDLG9EQUF5QyxDQUFBO0lBQ3pDLDREQUFpRCxDQUFBO0lBQ2pELHNFQUEyRCxDQUFBO0FBQzdELENBQUMsRUFoQ1csT0FBTyxHQUFQLGVBQU8sS0FBUCxlQUFPLFFBZ0NsQjtBQUVELElBQVksU0FPWDtBQVBELFdBQVksU0FBUztJQUNuQiwwREFBNkMsQ0FBQTtJQUM3Qyw4Q0FBaUMsQ0FBQTtJQUNqQyw2Q0FBZ0MsQ0FBQTtJQUNoQyw0REFBK0MsQ0FBQTtJQUMvQyw2RUFBZ0UsQ0FBQTtJQUNoRSwyREFBOEMsQ0FBQTtBQUNoRCxDQUFDLEVBUFcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFPcEI7QUFFRCxJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIsMkNBQXFCLENBQUE7SUFDckIseUNBQW1CLENBQUE7SUFDbkIsdURBQWlDLENBQUE7SUFDakMsbUVBQTZDLENBQUE7SUFDN0MsaUVBQTJDLENBQUE7QUFDN0MsQ0FBQyxFQU5XLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBTTdCO0FBRUQsSUFBWSxTQW9CWDtBQXBCRCxXQUFZLFNBQVM7SUFDbkIsa0RBQXFDLENBQUE7SUFDckMsb0RBQXVDLENBQUE7SUFDdkMsb0NBQXVCLENBQUE7SUFDdkIsOENBQWlDLENBQUE7SUFDakMsb0RBQXVDLENBQUE7SUFDdkMsZ0NBQW1CLENBQUE7SUFDbkIsMENBQTZCLENBQUE7SUFDN0IsNENBQStCLENBQUE7SUFDL0Isa0NBQXFCLENBQUE7SUFDckIsd0NBQTJCLENBQUE7SUFDM0Isb0NBQXVCLENBQUE7SUFFdkIsa0RBQXFDLENBQUE7SUFDckMsZ0RBQW1DLENBQUE7SUFDbkMsa0RBQXFDLENBQUE7SUFDckMsa0RBQXFDLENBQUE7SUFDckMsOENBQWlDLENBQUE7SUFDakMsMENBQTZCLENBQUE7SUFDN0IsMENBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQXBCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQW9CcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBcGlVcmxzIHtcbiAgQVVUSF9TSUdOX0lOX1VSTCA9ICcvYXV0aC92MS9zaWduaW4nLFxuICBBVVRIX1NJR05fSU5fQU5PTllNT1VTTFlfVVJMID0gJy9hdXRoL3YxL3NpZ25pbi9hbm9ueW1vdXNseScsXG4gIEFVVEhfU0lHTl9JTl9XSVRIX1BST1ZJREVSX1VSTCA9ICcvYXV0aC92MS9zaWduaW4vd2l0aC9wcm92aWRlcicsXG4gIEFVVEhfU0lHTl9VUF9VUkwgPSAnL2F1dGgvdjEvc2lnbnVwJyxcbiAgQVVUSF9UT0tFTl9VUkwgPSAnL2F1dGgvdjEvdG9rZW4nLFxuICBBVVRIX1JFVk9LRV9VUkwgPSAnL2F1dGgvdjEvcmV2b2tlJyxcbiAgUFJPVklERVJfQklORF9VUkwgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlci9iaW5kJyxcbiAgUFJPVklERVJfVE9LRU5fVVJMID0gJy9hdXRoL3YxL3Byb3ZpZGVyL3Rva2VuJyxcbiAgUFJPVklERVJfVVJJX1VSTCA9ICcvYXV0aC92MS9wcm92aWRlci91cmknLFxuICBVU0VSX01FX1VSTCA9ICcvYXV0aC92MS91c2VyL21lJyxcbiAgV0VEQV9VU0VSX1VSTCA9ICcvYXV0aC92MS9wbHVnaW4vd2VkYS91c2VyaW5mbycsXG4gIFVTRVJfUVVFUllfVVJMID0gJy9hdXRoL3YxL3VzZXIvcXVlcnknLFxuICBVU0VSX1BSSUZJTEVfVVJMID0gJy9hdXRoL3YxL3VzZXIvcHJvZmlsZScsXG4gIFVTRVJfVFJBTlNfQllfUFJPVklERVJfVVJMID0gJy9hdXRoL3YxL3VzZXIvdHJhbnMvYnkvcHJvdmlkZXInLFxuICBWRVJJRklDQVRJT05fVVJMID0gJy9hdXRoL3YxL3ZlcmlmaWNhdGlvbicsXG4gIFZFUklGWV9VUkwgPSAnL2F1dGgvdjEvdmVyaWZpY2F0aW9uL3ZlcmlmeScsXG4gIENBUFRDSEFfREFUQV9VUkwgPSAnL2F1dGgvdjEvY2FwdGNoYS9kYXRhJyxcbiAgVkFSSUZZX0NBUFRDSEFfREFUQV9VUkwgPSAnL2F1dGgvdjEvY2FwdGNoYS9kYXRhL3ZlcmlmeScsXG4gIEdFVF9DQVBUQ0hBX1VSTCA9ICcvYXV0aC92MS9jYXB0Y2hhL2luaXQnLFxuXG4gIFBST1ZJREVSX0xJU1QgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlcicsXG4gIFBST1ZJREVSX1VOQklORF9VUkwgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlcicsXG4gIENIRUNLX1BXRF9VUkwgPSAnL2F1dGgvdjEvdXNlci9zdWRvJyxcbiAgU1VET19VUkwgPSAnL2F1dGgvdjEvdXNlci9zdWRvJyxcbiAgQklORF9DT05UQUNUX1VSTCA9ICcvYXV0aC92MS91c2VyL2NvbnRhY3QnLFxuICBBVVRIX1NFVF9QQVNTV09SRCA9ICcvYXV0aC92MS91c2VyL3Bhc3N3b3JkJyxcbiAgQVVUSF9SRVNFVF9QQVNTV09SRCA9ICcvYXV0aC92MS9yZXNldCcsXG4gIEFVVEhfR0VUX0RFVklDRV9DT0RFID0gJy9hdXRoL3YxL2RldmljZS9jb2RlJyxcbiAgQ0hFQ0tfVVNFUk5BTUUgPSAnL2F1dGgvdjEvY2hlY2tVc2VybmFtZScsXG4gIENIRUNLX0lGX1VTRVJfRVhJU1QgPSAnL2F1dGgvdjEvY2hlY2tJZlVzZXJFeGlzdCcsXG4gIEdFVF9QUk9WSURFUl9UWVBFID0gJy9hdXRoL3YxL21nci9wcm92aWRlci9wcm92aWRlclN1YlR5cGUnLFxufVxuXG5leHBvcnQgZW51bSBBcGlVcmxzVjIge1xuICBBVVRIX1NJR05fSU5fVVJMID0gJy9hdXRoL3YyL3NpZ25pbi91c2VybmFtZScsXG4gIEFVVEhfVE9LRU5fVVJMID0gJy9hdXRoL3YyL3Rva2VuJyxcbiAgVVNFUl9NRV9VUkwgPSAnL2F1dGgvdjIvdXNlci9tZScsXG4gIFZFUklGWV9VUkwgPSAnL2F1dGgvdjIvc2lnbmluL3ZlcmlmaWNhdGlvbmNvZGUnLFxuICBBVVRIX1NJR05fSU5fV0lUSF9QUk9WSURFUl9VUkwgPSAnL2F1dGgvdjIvc2lnbmluL3dpdGgvcHJvdmlkZXInLFxuICBBVVRIX1BVQkxJQ19LRVkgPSAnL2F1dGgvdjIvc2lnbmluL3B1YmxpY2hrZXknLFxufVxuXG5leHBvcnQgZW51bSBWZXJpZmljYXRpb25Vc2FnZXMge1xuICBSRUdJU1RFUiA9ICdSRUdJU1RFUicsXG4gIFNJR05fSU4gPSAnU0lHTl9JTicsXG4gIFBBU1NXT1JEX1JFU0VUID0gJ1BBU1NXT1JEX1JFU0VUJyxcbiAgRU1BSUxfQUREUkVTU19DSEFOR0UgPSAnRU1BSUxfQUREUkVTU19DSEFOR0UnLFxuICBQSE9ORV9OVU1CRVJfQ0hBTkdFID0gJ1BIT05FX05VTUJFUl9DSEFOR0UnLFxufVxuXG5leHBvcnQgZW51bSBFcnJvclR5cGUge1xuICBJTlZBTElEX0FSR1VNRU5UID0gJ2ludmFsaWRfYXJndW1lbnQnLFxuICBERUFETElORV9FWENFRURFRCA9ICdkZWFkbGluZV9leGNlZWRlZCcsXG4gIE5PVF9GT1VORCA9ICdub3RfZm91bmQnLFxuICBBTFJFQURZX0VYSVNUUyA9ICdhbHJlYWR5X2V4aXN0cycsXG4gIFBFUk1JU1NJT05fREVOSUVEID0gJ3Blcm1pc3Npb25fZGVuaWVkJyxcbiAgQUJPUlRFRCA9ICdhYm9ydGVkJyxcbiAgT1VUX09GX1JBTkdFID0gJ291dF9vZl9yYW5nZScsXG4gIFVOSU1QTEVNRU5URUQgPSAndW5pbXBsZW1lbnRlZCcsXG4gIElOVEVSTkFMID0gJ2ludGVybmFsJyxcbiAgVU5BVkFJTEFCTEUgPSAndW5hdmFpbGFibGUnLFxuICBEQVRBX0xPU1MgPSAnZGF0YV9sb3NzJyxcbiAgLy8gQ29tbW9uRXJyb3JcbiAgQ0FQVENIQV9SRVFVSVJFRCA9ICdjYXB0Y2hhX3JlcXVpcmVkJyxcbiAgQ0FQVENIQV9JTlZBTElEID0gJ2NhcHRjaGFfaW52YWxpZCcsXG4gIElOVkFMSURfUEFTU1dPUkQgPSAnaW52YWxpZF9wYXNzd29yZCcsXG4gIFBBU1NXT1JEX05PVF9TRVQgPSAncGFzc3dvcmRfbm90X3NldCcsXG4gIElOVkFMSURfU1RBVFVTID0gJ2ludmFsaWRfc3RhdHVzJyxcbiAgVVNFUl9QRU5ESU5HID0gJ3VzZXJfcGVuZGluZycsXG4gIFVTRVJfQkxPQ0tFRCA9ICd1c2VyX2Jsb2NrZWQnLFxufVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksT0FxQ1g7QUFyQ0QsV0FBWSxPQUFPO0lBQ2pCLCtDQUFvQyxDQUFBO0lBQ3BDLHVFQUE0RCxDQUFBO0lBQzVELDJFQUFnRSxDQUFBO0lBQ2hFLHlFQUE4RCxDQUFBO0lBQzlELCtDQUFvQyxDQUFBO0lBQ3BDLDRDQUFpQyxDQUFBO0lBQ2pDLDhDQUFtQyxDQUFBO0lBQ25DLDREQUFpRCxDQUFBO0lBQ2pELHlEQUE4QyxDQUFBO0lBQzlDLHFEQUEwQyxDQUFBO0lBQzFDLDJDQUFnQyxDQUFBO0lBQ2hDLDBEQUErQyxDQUFBO0lBQy9DLGlEQUFzQyxDQUFBO0lBQ3RDLHFEQUEwQyxDQUFBO0lBQzFDLDJEQUFnRCxDQUFBO0lBQ2hELHlFQUE4RCxDQUFBO0lBQzlELHFEQUEwQyxDQUFBO0lBQzFDLHNEQUEyQyxDQUFBO0lBQzNDLHFEQUEwQyxDQUFBO0lBQzFDLG1FQUF3RCxDQUFBO0lBQ3hELG9EQUF5QyxDQUFBO0lBRXpDLG1EQUF3QyxDQUFBO0lBQ3hDLHlEQUE4QyxDQUFBO0lBQzlDLCtDQUFvQyxDQUFBO0lBQ3BDLDBDQUErQixDQUFBO0lBQy9CLHFEQUEwQyxDQUFBO0lBQzFDLHVEQUE0QyxDQUFBO0lBQzVDLGlEQUFzQyxDQUFBO0lBQ3RDLHdEQUE2QyxDQUFBO0lBQzdDLG9EQUF5QyxDQUFBO0lBQ3pDLDREQUFpRCxDQUFBO0lBQ2pELHNFQUEyRCxDQUFBO0lBRTNELDhEQUFtRCxDQUFBO0lBQ25ELHVFQUE0RCxDQUFBO0FBQzlELENBQUMsRUFyQ1csT0FBTyxHQUFQLGVBQU8sS0FBUCxlQUFPLFFBcUNsQjtBQUVELElBQVksU0FPWDtBQVBELFdBQVksU0FBUztJQUNuQiwwREFBNkMsQ0FBQTtJQUM3Qyw4Q0FBaUMsQ0FBQTtJQUNqQyw2Q0FBZ0MsQ0FBQTtJQUNoQyw0REFBK0MsQ0FBQTtJQUMvQyw2RUFBZ0UsQ0FBQTtJQUNoRSwyREFBOEMsQ0FBQTtBQUNoRCxDQUFDLEVBUFcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFPcEI7QUFFRCxJQUFZLGtCQU1YO0FBTkQsV0FBWSxrQkFBa0I7SUFDNUIsMkNBQXFCLENBQUE7SUFDckIseUNBQW1CLENBQUE7SUFDbkIsdURBQWlDLENBQUE7SUFDakMsbUVBQTZDLENBQUE7SUFDN0MsaUVBQTJDLENBQUE7QUFDN0MsQ0FBQyxFQU5XLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBTTdCO0FBRUQsSUFBWSxTQW9CWDtBQXBCRCxXQUFZLFNBQVM7SUFDbkIsa0RBQXFDLENBQUE7SUFDckMsb0RBQXVDLENBQUE7SUFDdkMsb0NBQXVCLENBQUE7SUFDdkIsOENBQWlDLENBQUE7SUFDakMsb0RBQXVDLENBQUE7SUFDdkMsZ0NBQW1CLENBQUE7SUFDbkIsMENBQTZCLENBQUE7SUFDN0IsNENBQStCLENBQUE7SUFDL0Isa0NBQXFCLENBQUE7SUFDckIsd0NBQTJCLENBQUE7SUFDM0Isb0NBQXVCLENBQUE7SUFFdkIsa0RBQXFDLENBQUE7SUFDckMsZ0RBQW1DLENBQUE7SUFDbkMsa0RBQXFDLENBQUE7SUFDckMsa0RBQXFDLENBQUE7SUFDckMsOENBQWlDLENBQUE7SUFDakMsMENBQTZCLENBQUE7SUFDN0IsMENBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQXBCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQW9CcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBcGlVcmxzIHtcbiAgQVVUSF9TSUdOX0lOX1VSTCA9ICcvYXV0aC92MS9zaWduaW4nLFxuICBBVVRIX1NJR05fSU5fQU5PTllNT1VTTFlfVVJMID0gJy9hdXRoL3YxL3NpZ25pbi9hbm9ueW1vdXNseScsXG4gIEFVVEhfU0lHTl9JTl9XSVRIX1BST1ZJREVSX1VSTCA9ICcvYXV0aC92MS9zaWduaW4vd2l0aC9wcm92aWRlcicsXG4gIEFVVEhfU0lHTl9JTl9XSVRIX1dFQ0hBVF9VUkwgPSAnL2F1dGgvdjEvc2lnbmluL3dlY2hhdC9ub2F1dGgnLFxuICBBVVRIX1NJR05fVVBfVVJMID0gJy9hdXRoL3YxL3NpZ251cCcsXG4gIEFVVEhfVE9LRU5fVVJMID0gJy9hdXRoL3YxL3Rva2VuJyxcbiAgQVVUSF9SRVZPS0VfVVJMID0gJy9hdXRoL3YxL3Jldm9rZScsXG4gIFBST1ZJREVSX0JJTkRfVVJMID0gJy9hdXRoL3YxL3VzZXIvcHJvdmlkZXIvYmluZCcsXG4gIFBST1ZJREVSX1RPS0VOX1VSTCA9ICcvYXV0aC92MS9wcm92aWRlci90b2tlbicsXG4gIFBST1ZJREVSX1VSSV9VUkwgPSAnL2F1dGgvdjEvcHJvdmlkZXIvdXJpJyxcbiAgVVNFUl9NRV9VUkwgPSAnL2F1dGgvdjEvdXNlci9tZScsXG4gIFdFREFfVVNFUl9VUkwgPSAnL2F1dGgvdjEvcGx1Z2luL3dlZGEvdXNlcmluZm8nLFxuICBVU0VSX1FVRVJZX1VSTCA9ICcvYXV0aC92MS91c2VyL3F1ZXJ5JyxcbiAgVVNFUl9QUklGSUxFX1VSTCA9ICcvYXV0aC92MS91c2VyL3Byb2ZpbGUnLFxuICBVU0VSX0JBU0lDX0VESVRfVVJMID0gJy9hdXRoL3YxL3VzZXIvYmFzaWMvZWRpdCcsXG4gIFVTRVJfVFJBTlNfQllfUFJPVklERVJfVVJMID0gJy9hdXRoL3YxL3VzZXIvdHJhbnMvYnkvcHJvdmlkZXInLFxuICBWRVJJRklDQVRJT05fVVJMID0gJy9hdXRoL3YxL3ZlcmlmaWNhdGlvbicsXG4gIFZFUklGWV9VUkwgPSAnL2F1dGgvdjEvdmVyaWZpY2F0aW9uL3ZlcmlmeScsXG4gIENBUFRDSEFfREFUQV9VUkwgPSAnL2F1dGgvdjEvY2FwdGNoYS9kYXRhJyxcbiAgVkVSSUZZX0NBUFRDSEFfREFUQV9VUkwgPSAnL2F1dGgvdjEvY2FwdGNoYS9kYXRhL3ZlcmlmeScsXG4gIEdFVF9DQVBUQ0hBX1VSTCA9ICcvYXV0aC92MS9jYXB0Y2hhL2luaXQnLFxuXG4gIFBST1ZJREVSX0xJU1QgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlcicsXG4gIFBST1ZJREVSX1VOQklORF9VUkwgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlcicsXG4gIENIRUNLX1BXRF9VUkwgPSAnL2F1dGgvdjEvdXNlci9zdWRvJyxcbiAgU1VET19VUkwgPSAnL2F1dGgvdjEvdXNlci9zdWRvJyxcbiAgQklORF9DT05UQUNUX1VSTCA9ICcvYXV0aC92MS91c2VyL2NvbnRhY3QnLFxuICBBVVRIX1NFVF9QQVNTV09SRCA9ICcvYXV0aC92MS91c2VyL3Bhc3N3b3JkJyxcbiAgQVVUSF9SRVNFVF9QQVNTV09SRCA9ICcvYXV0aC92MS9yZXNldCcsXG4gIEFVVEhfR0VUX0RFVklDRV9DT0RFID0gJy9hdXRoL3YxL2RldmljZS9jb2RlJyxcbiAgQ0hFQ0tfVVNFUk5BTUUgPSAnL2F1dGgvdjEvY2hlY2tVc2VybmFtZScsXG4gIENIRUNLX0lGX1VTRVJfRVhJU1QgPSAnL2F1dGgvdjEvY2hlY2tJZlVzZXJFeGlzdCcsXG4gIEdFVF9QUk9WSURFUl9UWVBFID0gJy9hdXRoL3YxL21nci9wcm92aWRlci9wcm92aWRlclN1YlR5cGUnLFxuXG4gIEdFVF9NSU5JUFJPR1JBTV9RUkNPREUgPSAnL2F1dGgvdjEvcXJjb2RlL2dlbmVyYXRlJyxcbiAgR0VUX01JTklQUk9HUkFNX1FSQ09ERV9TVEFUVVMgPSAnL2F1dGgvdjEvcXJjb2RlL2dldC9zdGF0dXMnLFxufVxuXG5leHBvcnQgZW51bSBBcGlVcmxzVjIge1xuICBBVVRIX1NJR05fSU5fVVJMID0gJy9hdXRoL3YyL3NpZ25pbi91c2VybmFtZScsXG4gIEFVVEhfVE9LRU5fVVJMID0gJy9hdXRoL3YyL3Rva2VuJyxcbiAgVVNFUl9NRV9VUkwgPSAnL2F1dGgvdjIvdXNlci9tZScsXG4gIFZFUklGWV9VUkwgPSAnL2F1dGgvdjIvc2lnbmluL3ZlcmlmaWNhdGlvbmNvZGUnLFxuICBBVVRIX1NJR05fSU5fV0lUSF9QUk9WSURFUl9VUkwgPSAnL2F1dGgvdjIvc2lnbmluL3dpdGgvcHJvdmlkZXInLFxuICBBVVRIX1BVQkxJQ19LRVkgPSAnL2F1dGgvdjIvc2lnbmluL3B1YmxpY2hrZXknLFxufVxuXG5leHBvcnQgZW51bSBWZXJpZmljYXRpb25Vc2FnZXMge1xuICBSRUdJU1RFUiA9ICdSRUdJU1RFUicsXG4gIFNJR05fSU4gPSAnU0lHTl9JTicsXG4gIFBBU1NXT1JEX1JFU0VUID0gJ1BBU1NXT1JEX1JFU0VUJyxcbiAgRU1BSUxfQUREUkVTU19DSEFOR0UgPSAnRU1BSUxfQUREUkVTU19DSEFOR0UnLFxuICBQSE9ORV9OVU1CRVJfQ0hBTkdFID0gJ1BIT05FX05VTUJFUl9DSEFOR0UnLFxufVxuXG5leHBvcnQgZW51bSBFcnJvclR5cGUge1xuICBJTlZBTElEX0FSR1VNRU5UID0gJ2ludmFsaWRfYXJndW1lbnQnLFxuICBERUFETElORV9FWENFRURFRCA9ICdkZWFkbGluZV9leGNlZWRlZCcsXG4gIE5PVF9GT1VORCA9ICdub3RfZm91bmQnLFxuICBBTFJFQURZX0VYSVNUUyA9ICdhbHJlYWR5X2V4aXN0cycsXG4gIFBFUk1JU1NJT05fREVOSUVEID0gJ3Blcm1pc3Npb25fZGVuaWVkJyxcbiAgQUJPUlRFRCA9ICdhYm9ydGVkJyxcbiAgT1VUX09GX1JBTkdFID0gJ291dF9vZl9yYW5nZScsXG4gIFVOSU1QTEVNRU5URUQgPSAndW5pbXBsZW1lbnRlZCcsXG4gIElOVEVSTkFMID0gJ2ludGVybmFsJyxcbiAgVU5BVkFJTEFCTEUgPSAndW5hdmFpbGFibGUnLFxuICBEQVRBX0xPU1MgPSAnZGF0YV9sb3NzJyxcbiAgLy8gQ29tbW9uRXJyb3JcbiAgQ0FQVENIQV9SRVFVSVJFRCA9ICdjYXB0Y2hhX3JlcXVpcmVkJyxcbiAgQ0FQVENIQV9JTlZBTElEID0gJ2NhcHRjaGFfaW52YWxpZCcsXG4gIElOVkFMSURfUEFTU1dPUkQgPSAnaW52YWxpZF9wYXNzd29yZCcsXG4gIFBBU1NXT1JEX05PVF9TRVQgPSAncGFzc3dvcmRfbm90X3NldCcsXG4gIElOVkFMSURfU1RBVFVTID0gJ2ludmFsaWRfc3RhdHVzJyxcbiAgVVNFUl9QRU5ESU5HID0gJ3VzZXJfcGVuZGluZycsXG4gIFVTRVJfQkxPQ0tFRCA9ICd1c2VyX2Jsb2NrZWQnLFxufVxuIl19
@@ -375,4 +375,30 @@ export interface ProviderSubType {
375
375
  id: string;
376
376
  provider_sub_type: 'NO_AUTH_LOGIN' | '';
377
377
  }
378
+ export interface GetMiniProgramQrCodeRequest {
379
+ envId: string;
380
+ wxAppId: string;
381
+ }
382
+ export interface GetMiniProgramQrCodeResponse {
383
+ qr_code: string;
384
+ qr_code_id: string;
385
+ expires_in: number;
386
+ }
387
+ export interface GetMiniProgramQrCodeStatusRequest {
388
+ qrCodeId: string;
389
+ envId: string;
390
+ wxAppId: string;
391
+ }
392
+ export interface GetMiniProgramQrCodeStatusResponse {
393
+ status: string;
394
+ provider_token: string;
395
+ expires_in: number;
396
+ }
397
+ export interface ModifyUserBasicInfoRequest {
398
+ user_id: string;
399
+ nickname: string;
400
+ username: string;
401
+ description: string;
402
+ avatar_url: string;
403
+ }
378
404
  export {};
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgQmFzZVJlcXVlc3Qge1xuICBjbGllbnRfaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEdldEN1c3RvbVNpZ25UaWNrZXRGbiA9ICgpID0+IFByb21pc2U8c3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBTaWduSW5SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3QsIEVuY3J5cHRQYXJhbXMgIHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduVXBSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwaG9uZV9udW1iZXI/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuXG4gIHZlcmlmaWNhdGlvbl9jb2RlPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX3Rva2VuPzogc3RyaW5nO1xuXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIHBpY3R1cmU/OiBzdHJpbmc7XG4gIGxvY2FsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRWZXJpZmljYXRpb25SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwaG9uZV9udW1iZXI/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBzdHJpbmcgfCAnQU5ZJztcbiAgdXNhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVzcG9uc2Uge1xuICB2ZXJpZmljYXRpb25faWQ/OiBzdHJpbmc7XG4gIGlzX3VzZXI/OiBib29sZWFuIHwgZmFsc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVzcG9uc2Uge1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgdmVyaWZpY2F0aW9uX2NvZGU6IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX2lkPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJCaW5kUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRQcm92aWRlclRva2VuUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfaWQ6IHN0cmluZztcbiAgcHJvdmlkZXJfcmVkaXJlY3RfdXJpPzogc3RyaW5nO1xuICBwcm92aWRlcl9jb2RlPzogc3RyaW5nO1xuICBwcm92aWRlcl9hY2Nlc3NfdG9rZW4/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2lkX3Rva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYW50UHJvdmlkZXJUb2tlblJlc3BvbnNlIHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbiAgZXhwaXJlc19pbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoUHJvdmlkZXJUb2tlblJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkPzogc3RyaW5nO1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBwcm92aWRlcl9wYXJhbXM6IHtcbiAgICBlbmNyeXB0ZWREYXRhPzogc3RyaW5nO1xuICAgIGl2Pzogc3RyaW5nO1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHByb3ZpZGVyX3Byb2ZpbGU6IFByb3ZpZGVyUHJvZmlsZTtcbn1cblxuLy8gZXhwb3J0IGludGVyZmFjZSBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCB7XG4vLyAgIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4vLyAgIHByb3ZpZGVyX3JlZGlyZWN0X3VyaTogc3RyaW5nO1xuLy8gICBzdGF0ZTogc3RyaW5nO1xuLy8gICBvdGhlcl9wYXJhbXM/OiB7XG4vLyAgICAgc2lnbl9vdXRfdXJpPzogc3RyaW5nO1xuLy8gICB9O1xuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZSB7XG4gIHVyaTogc3RyaW5nO1xuICBzaWdub3V0X3VyaT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpbGVQcm92aWRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBwcm92aWRlcl91c2VyX2lkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQcm9maWxlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogW1VzZXJQcm9maWxlUHJvdmlkZXJdO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGJpcnRoZGF0ZT86IHN0cmluZztcbiAgem9uZWluZm8/OiBzdHJpbmc7XG4gIGxvY2FsZT86IHN0cmluZztcbiAgY3JlYXRlZF9mcm9tPzogc3RyaW5nO1xuICBzdWI/OiBzdHJpbmdcbiAgdWlkPzogc3RyaW5nXG4gIGFkZHJlc3M/OiB7XG4gICAgZm9ybWF0dGVkPzogc3RyaW5nLFxuICAgIHN0cmVldF9hZGRyZXNzPzogc3RyaW5nLFxuICAgIGxvY2FsaXR5Pzogc3RyaW5nLFxuICAgIHJlZ2lvbj86IHN0cmluZyxcbiAgICBwb3N0YWxfY29kZT86IHN0cmluZyxcbiAgICBjb3VudHJ5Pzogc3RyaW5nXG4gIH1cbiAgbmlja05hbWU/OiBzdHJpbmcgLy8gVE9ETzpcbiAgcHJvdmluY2U/OiBzdHJpbmcgLy8gVE9ETzpcbiAgY291bnRyeT86IHN0cmluZyAvLyBUT0RPOlxuICBjaXR5Pzogc3RyaW5nIC8vIFRPRE86XG59XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0gVXNlclByb2ZpbGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJQcm9maWxlIHtcbiAgcHJvdmlkZXJfaWQ6IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zQnlQcm92aWRlclJlcXVlc3Qge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYW50VG9rZW5SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBjbGllbnRfc2VjcmV0Pzogc3RyaW5nO1xuICBjb2RlPzogc3RyaW5nO1xuICBncmFudF90eXBlPzogc3RyaW5nO1xuICByZWRpcmVjdF91cmk/OiBzdHJpbmc7XG4gIG5vbmNlPzogc3RyaW5nO1xuICByZWZyZXNoX3Rva2VuPzogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbmJpbmRQcm92aWRlclJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tQYXNzd29yZHJSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRQaG9uZVJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHBob25lX251bWJlcjogc3RyaW5nO1xuICBzdWRvX3Rva2VuOiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl90b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldFBhc3N3b3JkUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgbmV3X3Bhc3N3b3JkOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VCaW5kZWRQcm92aWRlclJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHRyYW5zX3Rva2VuOiBzdHJpbmc7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENoYW5nZUJpbmRlZFByb3ZpZGVyUmVzcG9uc2UgPSBCYXNlUmVxdWVzdFxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VXNlclByb2ZpbGVSZXEgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIGFwcGVuZGVkX3BhcmFtczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3Qge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBwcm92aWRlcl9pZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduVXBSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcblxuICB2ZXJpZmljYXRpb25fY29kZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xuICBwcm92aWRlcl90b2tlbj86IHN0cmluZztcblxuICBwYXNzd29yZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZ2VuZGVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBsb2NhbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCB7XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIC8vIOWPr+mAiSBBTlnvvIxVU0VS77yMTk9UX1VTRVIsIENVUl9VU0VSO1xuICB0YXJnZXQ/OiBzdHJpbmcgfCAnQU5ZJztcbiAgdXNhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVzcG9uc2Uge1xuICB2ZXJpZmljYXRpb25faWQ/OiBzdHJpbmc7XG4gIGlzX3VzZXI/OiBib29sZWFuIHwgZmFsc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVzcG9uc2Uge1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVxdWVzdCB7XG4gIHZlcmlmaWNhdGlvbl9jb2RlOiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl9pZD86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyQmluZFJlcXVlc3Qge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYW50UHJvdmlkZXJUb2tlblJlcXVlc3Qge1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xuICBwcm92aWRlcl9yZWRpcmVjdF91cmk/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2NvZGU/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2FjY2Vzc190b2tlbj86IHN0cmluZztcbiAgcHJvdmlkZXJfaWRfdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG4gIHByb3ZpZGVyX2lkPzogc3RyaW5nO1xuICBwcm92aWRlcl9wYXJhbXM6IHtcbiAgICBlbmNyeXB0ZWREYXRhPzogc3RyaW5nO1xuICAgIGl2Pzogc3RyaW5nO1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHByb3ZpZGVyX3Byb2ZpbGU6IFByb3ZpZGVyUHJvZmlsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHByb3ZpZGVyX3JlZGlyZWN0X3VyaTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBvdGhlcl9wYXJhbXM/OiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlc3BvbnNlIHtcbiAgdXJpOiBzdHJpbmc7XG4gIHNpZ25vdXRfdXJpPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpbGVQcm92aWRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBwcm92aWRlcl91c2VyX2lkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQcm9maWxlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogW1VzZXJQcm9maWxlUHJvdmlkZXJdO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGJpcnRoZGF0ZT86IHN0cmluZztcbiAgem9uZWluZm8/OiBzdHJpbmc7XG4gIGxvY2FsZT86IHN0cmluZztcbiAgY3JlYXRlZF9mcm9tPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyUHJvZmlsZSB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFudFRva2VuUmVxdWVzdCB7XG4gIGNsaWVudF9zZWNyZXQ/OiBzdHJpbmc7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIGdyYW50X3R5cGU/OiBzdHJpbmc7XG4gIHJlZGlyZWN0X3VyaT86IHN0cmluZztcbiAgbm9uY2U/OiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW4/OiBzdHJpbmc7XG4gIHNjb3BlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuYmluZFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tQYXNzd29yZHJSZXF1ZXN0IHtcbiAgcGFzc3dvcmQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kUGhvbmVSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuOiBzdHJpbmc7XG4gIGNvbmZsaWN0X3Jlc29sdXRpb246IHN0cmluZ1xuICAvLyAxLiBERUZBVUxUIDAsIOm7mOiupOaPkOekuueUqOaIt+aJi+acuuWPt+W3suiiq+e7keWumlxuICAvLyAyLiBERUxFVEVfQUNDT1VOVF9UUkFOU0ZFUiAxLCDmoIforrDljp/otKblj7flt7Looqvms6jplIDvvIzlubblsIbmiYvmnLrmjaLnu5Hnu5noh6rlt7FcbiAgLy8gMy4gVFJBTlNGRVIgMiwg5LuF5o2i57uR5omL5py65Y+377yM5LiN5rOo6ZSA5Y6f5pyJ6LSm5Y+377yI5o2i57uR5ZCO5Y6f6LSm5Y+35peg5rOV55m75b2V5pe277yM5YiZ6Ieq5Yqo5rOo6ZSA5Y6f6LSm5Y+377yJXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmluZEVtYWlsUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0UGFzc3dvcmRSZXF1ZXN0IHtcbiAgbmV3X3Bhc3N3b3JkOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFNldFBhc3N3b3JkUmVxdWVzdCB7XG4gIG5ld19wYXNzd29yZDogc3RyaW5nO1xuICBzdWRvX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUGFzc3dvcmRSZXF1ZXN0IHtcbiAgb2xkX3Bhc3N3b3JkOiBzdHJpbmc7XG4gIG5ld19wYXNzd29yZDogc3RyaW5nO1xufVxuXG4vLyBwYXNzd29yZCDlkowgdmVyaWZpY2F0aW9uX3Rva2VuIOiAjOmAieS4gO+8jOWmguaenOe7keWumuS6huaJi+acuuWPt++8jOWImeW/hemhu+S9v+eUqHZlcmlmaWNhdGlvbl90b2tlbiDov5vooYxzdWRvXG5leHBvcnQgaW50ZXJmYWNlIFN1ZG9SZXF1ZXN0IHtcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl90b2tlbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1ZG9SZXNwb25zZSB7XG4gIHN1ZG9fdG9rZW4/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaXRoU3Vkb1JlcXVlc3Qge1xuICBzdWRvX3Rva2VuOiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VCb3VuZFByb3ZpZGVyUmVxdWVzdCB7XG4gIHRyYW5zX3Rva2VuOiBzdHJpbmc7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlQm91bmRQcm92aWRlclJlc3BvbnNlIHtcbiAgY2xpZW50X2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlVc2VyUHJvZmlsZVJlcXVlc3Qge1xuICBpZD86IFtzdHJpbmddO1xuICB1c2VybmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVVzZXJQcm9maWxlUmVzcG9uc2Uge1xuICB0b3RhbDogc3RyaW5nO1xuICBkYXRhOiBTaW1wbGVVc2VyUHJvZmlsZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRQYXNzd29yZFJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmdcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcbiAgbmV3X3Bhc3N3b3JkOiBzdHJpbmdcbiAgdmVyaWZpY2F0aW9uX3Rva2VuOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBdXRob3JpemVSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBzY29wZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUF1dGhvcml6ZVJlc3BvbnNlIHtcbiAgZGV2aWNlX2NvZGU6IHN0cmluZ1xuICB1c2VyX2NvZGU6IHN0cmluZ1xuICBleHBpcmVzX2luOiBudW1iZXJcbiAgaW50ZXJ2YWw6IG51bWJlclxuICB2ZXJpZmljYXRpb25fdXJsOiBzdHJpbmdcbiAgdmVyaWZpY2F0aW9uX3VyaV9jb21wbGV0ZTogc3RyaW5nXG59XG5cbi8vIOeugOWMlueJiOeUqOaIt+S/oeaBr1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVVc2VyUHJvZmlsZSB7XG4gIHN1Yjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBpY3R1cmU/OiBzdHJpbmc7XG4gIGdlbmRlcj86IHN0cmluZztcbiAgbG9jYWxlPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrVXNlcm5hbWVSZXF1ZXN0IHtcbiAgdXNlcm5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrSWZVc2VyRXhpc3RSZXF1ZXN0IHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVja0lmVXNlckV4aXN0UmVzcG9uc2Uge1xuICBleGlzdDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNLZXkge1xuICBwdWJsaWNfa2V5OiBzdHJpbmc7IC8vIOWKoOWvhueahOWFrOmSpVxuICBwdWJsaWNfa2V5X3RodW1icHJpbnQ6IHN0cmluZzsgLy8g5Yqg5a+G55qE5YWs6ZKl5oyH57q5XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5jcnlwdFBhcmFtcyB7XG4gIGlzRW5jcnlwdD86IGJvb2xlYW47IC8vIOaYr+WQpumcgOimgeWKoOWvhlxuICBwdWJsaWNfa2V5X3RodW1icHJpbnQ/OiBzdHJpbmc7IC8vIOWKoOWvhueahOWFrOmSpeaMh+e6uVxuICBwYXJhbXM/OiBzdHJpbmc7IC8vIOWKoOWvhueahOaVsOaNrlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyU3ViVHlwZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHByb3ZpZGVyX3N1Yl90eXBlOiAnTk9fQVVUSF9MT0dJTicgfCAnJzsgLy8gTk9fQVVUSF9MT0dJTi3lhY3lr4bnmbvlvZVcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgQmFzZVJlcXVlc3Qge1xuICBjbGllbnRfaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEdldEN1c3RvbVNpZ25UaWNrZXRGbiA9ICgpID0+IFByb21pc2U8c3RyaW5nPjtcblxuZXhwb3J0IGludGVyZmFjZSBTaWduSW5SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3QsIEVuY3J5cHRQYXJhbXMgIHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbiAgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduVXBSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwaG9uZV9udW1iZXI/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuXG4gIHZlcmlmaWNhdGlvbl9jb2RlPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX3Rva2VuPzogc3RyaW5nO1xuXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIHBpY3R1cmU/OiBzdHJpbmc7XG4gIGxvY2FsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRWZXJpZmljYXRpb25SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwaG9uZV9udW1iZXI/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICB0YXJnZXQ/OiBzdHJpbmcgfCAnQU5ZJztcbiAgdXNhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVzcG9uc2Uge1xuICB2ZXJpZmljYXRpb25faWQ/OiBzdHJpbmc7XG4gIGlzX3VzZXI/OiBib29sZWFuIHwgZmFsc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVzcG9uc2Uge1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgdmVyaWZpY2F0aW9uX2NvZGU6IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX2lkPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJCaW5kUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRQcm92aWRlclRva2VuUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfaWQ6IHN0cmluZztcbiAgcHJvdmlkZXJfcmVkaXJlY3RfdXJpPzogc3RyaW5nO1xuICBwcm92aWRlcl9jb2RlPzogc3RyaW5nO1xuICBwcm92aWRlcl9hY2Nlc3NfdG9rZW4/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2lkX3Rva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYW50UHJvdmlkZXJUb2tlblJlc3BvbnNlIHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbiAgZXhwaXJlc19pbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoUHJvdmlkZXJUb2tlblJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkPzogc3RyaW5nO1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBwcm92aWRlcl9wYXJhbXM6IHtcbiAgICBlbmNyeXB0ZWREYXRhPzogc3RyaW5nO1xuICAgIGl2Pzogc3RyaW5nO1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHByb3ZpZGVyX3Byb2ZpbGU6IFByb3ZpZGVyUHJvZmlsZTtcbn1cblxuLy8gZXhwb3J0IGludGVyZmFjZSBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCB7XG4vLyAgIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4vLyAgIHByb3ZpZGVyX3JlZGlyZWN0X3VyaTogc3RyaW5nO1xuLy8gICBzdGF0ZTogc3RyaW5nO1xuLy8gICBvdGhlcl9wYXJhbXM/OiB7XG4vLyAgICAgc2lnbl9vdXRfdXJpPzogc3RyaW5nO1xuLy8gICB9O1xuLy8gfVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZSB7XG4gIHVyaTogc3RyaW5nO1xuICBzaWdub3V0X3VyaT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpbGVQcm92aWRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBwcm92aWRlcl91c2VyX2lkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQcm9maWxlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogW1VzZXJQcm9maWxlUHJvdmlkZXJdO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGJpcnRoZGF0ZT86IHN0cmluZztcbiAgem9uZWluZm8/OiBzdHJpbmc7XG4gIGxvY2FsZT86IHN0cmluZztcbiAgY3JlYXRlZF9mcm9tPzogc3RyaW5nO1xuICBzdWI/OiBzdHJpbmdcbiAgdWlkPzogc3RyaW5nXG4gIGFkZHJlc3M/OiB7XG4gICAgZm9ybWF0dGVkPzogc3RyaW5nLFxuICAgIHN0cmVldF9hZGRyZXNzPzogc3RyaW5nLFxuICAgIGxvY2FsaXR5Pzogc3RyaW5nLFxuICAgIHJlZ2lvbj86IHN0cmluZyxcbiAgICBwb3N0YWxfY29kZT86IHN0cmluZyxcbiAgICBjb3VudHJ5Pzogc3RyaW5nXG4gIH1cbiAgbmlja05hbWU/OiBzdHJpbmcgLy8gVE9ETzpcbiAgcHJvdmluY2U/OiBzdHJpbmcgLy8gVE9ETzpcbiAgY291bnRyeT86IHN0cmluZyAvLyBUT0RPOlxuICBjaXR5Pzogc3RyaW5nIC8vIFRPRE86XG59XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0gVXNlclByb2ZpbGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlkZXJQcm9maWxlIHtcbiAgcHJvdmlkZXJfaWQ6IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zQnlQcm92aWRlclJlcXVlc3Qge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYW50VG9rZW5SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBjbGllbnRfc2VjcmV0Pzogc3RyaW5nO1xuICBjb2RlPzogc3RyaW5nO1xuICBncmFudF90eXBlPzogc3RyaW5nO1xuICByZWRpcmVjdF91cmk/OiBzdHJpbmc7XG4gIG5vbmNlPzogc3RyaW5nO1xuICByZWZyZXNoX3Rva2VuPzogc3RyaW5nO1xuICBzY29wZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbmJpbmRQcm92aWRlclJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tQYXNzd29yZHJSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRQaG9uZVJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHBob25lX251bWJlcjogc3RyaW5nO1xuICBzdWRvX3Rva2VuOiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl90b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldFBhc3N3b3JkUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgbmV3X3Bhc3N3b3JkOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VCaW5kZWRQcm92aWRlclJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHRyYW5zX3Rva2VuOiBzdHJpbmc7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIENoYW5nZUJpbmRlZFByb3ZpZGVyUmVzcG9uc2UgPSBCYXNlUmVxdWVzdFxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VXNlclByb2ZpbGVSZXEgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIGFwcGVuZGVkX3BhcmFtczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3Qge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBwcm92aWRlcl9pZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduVXBSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcblxuICB2ZXJpZmljYXRpb25fY29kZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xuICBwcm92aWRlcl90b2tlbj86IHN0cmluZztcblxuICBwYXNzd29yZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZ2VuZGVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBsb2NhbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCB7XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIC8vIOWPr+mAiSBBTlnvvIxVU0VS77yMTk9UX1VTRVIsIENVUl9VU0VSO1xuICB0YXJnZXQ/OiBzdHJpbmcgfCAnQU5ZJztcbiAgdXNhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVzcG9uc2Uge1xuICB2ZXJpZmljYXRpb25faWQ/OiBzdHJpbmc7XG4gIGlzX3VzZXI/OiBib29sZWFuIHwgZmFsc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVzcG9uc2Uge1xuICB2ZXJpZmljYXRpb25fdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVxdWVzdCB7XG4gIHZlcmlmaWNhdGlvbl9jb2RlOiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl9pZD86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyQmluZFJlcXVlc3Qge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYW50UHJvdmlkZXJUb2tlblJlcXVlc3Qge1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xuICBwcm92aWRlcl9yZWRpcmVjdF91cmk/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2NvZGU/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2FjY2Vzc190b2tlbj86IHN0cmluZztcbiAgcHJvdmlkZXJfaWRfdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG4gIHByb3ZpZGVyX2lkPzogc3RyaW5nO1xuICBwcm92aWRlcl9wYXJhbXM6IHtcbiAgICBlbmNyeXB0ZWREYXRhPzogc3RyaW5nO1xuICAgIGl2Pzogc3RyaW5nO1xuICAgIGNvZGU/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHByb3ZpZGVyX3Byb2ZpbGU6IFByb3ZpZGVyUHJvZmlsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHByb3ZpZGVyX3JlZGlyZWN0X3VyaTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBvdGhlcl9wYXJhbXM/OiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlc3BvbnNlIHtcbiAgdXJpOiBzdHJpbmc7XG4gIHNpZ25vdXRfdXJpPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpbGVQcm92aWRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBwcm92aWRlcl91c2VyX2lkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQcm9maWxlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogW1VzZXJQcm9maWxlUHJvdmlkZXJdO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGJpcnRoZGF0ZT86IHN0cmluZztcbiAgem9uZWluZm8/OiBzdHJpbmc7XG4gIGxvY2FsZT86IHN0cmluZztcbiAgY3JlYXRlZF9mcm9tPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyUHJvZmlsZSB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFudFRva2VuUmVxdWVzdCB7XG4gIGNsaWVudF9zZWNyZXQ/OiBzdHJpbmc7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIGdyYW50X3R5cGU/OiBzdHJpbmc7XG4gIHJlZGlyZWN0X3VyaT86IHN0cmluZztcbiAgbm9uY2U/OiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW4/OiBzdHJpbmc7XG4gIHNjb3BlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuYmluZFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tQYXNzd29yZHJSZXF1ZXN0IHtcbiAgcGFzc3dvcmQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kUGhvbmVSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuOiBzdHJpbmc7XG4gIGNvbmZsaWN0X3Jlc29sdXRpb246IHN0cmluZ1xuICAvLyAxLiBERUZBVUxUIDAsIOm7mOiupOaPkOekuueUqOaIt+aJi+acuuWPt+W3suiiq+e7keWumlxuICAvLyAyLiBERUxFVEVfQUNDT1VOVF9UUkFOU0ZFUiAxLCDmoIforrDljp/otKblj7flt7Looqvms6jplIDvvIzlubblsIbmiYvmnLrmjaLnu5Hnu5noh6rlt7FcbiAgLy8gMy4gVFJBTlNGRVIgMiwg5LuF5o2i57uR5omL5py65Y+377yM5LiN5rOo6ZSA5Y6f5pyJ6LSm5Y+377yI5o2i57uR5ZCO5Y6f6LSm5Y+35peg5rOV55m75b2V5pe277yM5YiZ6Ieq5Yqo5rOo6ZSA5Y6f6LSm5Y+377yJXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmluZEVtYWlsUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0UGFzc3dvcmRSZXF1ZXN0IHtcbiAgbmV3X3Bhc3N3b3JkOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIFNldFBhc3N3b3JkUmVxdWVzdCB7XG4gIG5ld19wYXNzd29yZDogc3RyaW5nO1xuICBzdWRvX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUGFzc3dvcmRSZXF1ZXN0IHtcbiAgb2xkX3Bhc3N3b3JkOiBzdHJpbmc7XG4gIG5ld19wYXNzd29yZDogc3RyaW5nO1xufVxuXG4vLyBwYXNzd29yZCDlkowgdmVyaWZpY2F0aW9uX3Rva2VuIOiAjOmAieS4gO+8jOWmguaenOe7keWumuS6huaJi+acuuWPt++8jOWImeW/hemhu+S9v+eUqHZlcmlmaWNhdGlvbl90b2tlbiDov5vooYxzdWRvXG5leHBvcnQgaW50ZXJmYWNlIFN1ZG9SZXF1ZXN0IHtcbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl90b2tlbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1ZG9SZXNwb25zZSB7XG4gIHN1ZG9fdG9rZW4/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaXRoU3Vkb1JlcXVlc3Qge1xuICBzdWRvX3Rva2VuOiBzdHJpbmc7XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VCb3VuZFByb3ZpZGVyUmVxdWVzdCB7XG4gIHRyYW5zX3Rva2VuOiBzdHJpbmc7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlQm91bmRQcm92aWRlclJlc3BvbnNlIHtcbiAgY2xpZW50X2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlVc2VyUHJvZmlsZVJlcXVlc3Qge1xuICBpZD86IFtzdHJpbmddO1xuICB1c2VybmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVVzZXJQcm9maWxlUmVzcG9uc2Uge1xuICB0b3RhbDogc3RyaW5nO1xuICBkYXRhOiBTaW1wbGVVc2VyUHJvZmlsZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRQYXNzd29yZFJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmdcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmdcbiAgbmV3X3Bhc3N3b3JkOiBzdHJpbmdcbiAgdmVyaWZpY2F0aW9uX3Rva2VuOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBdXRob3JpemVSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBzY29wZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUF1dGhvcml6ZVJlc3BvbnNlIHtcbiAgZGV2aWNlX2NvZGU6IHN0cmluZ1xuICB1c2VyX2NvZGU6IHN0cmluZ1xuICBleHBpcmVzX2luOiBudW1iZXJcbiAgaW50ZXJ2YWw6IG51bWJlclxuICB2ZXJpZmljYXRpb25fdXJsOiBzdHJpbmdcbiAgdmVyaWZpY2F0aW9uX3VyaV9jb21wbGV0ZTogc3RyaW5nXG59XG5cbi8vIOeugOWMlueJiOeUqOaIt+S/oeaBr1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVVc2VyUHJvZmlsZSB7XG4gIHN1Yjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBpY3R1cmU/OiBzdHJpbmc7XG4gIGdlbmRlcj86IHN0cmluZztcbiAgbG9jYWxlPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrVXNlcm5hbWVSZXF1ZXN0IHtcbiAgdXNlcm5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrSWZVc2VyRXhpc3RSZXF1ZXN0IHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVja0lmVXNlckV4aXN0UmVzcG9uc2Uge1xuICBleGlzdDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNLZXkge1xuICBwdWJsaWNfa2V5OiBzdHJpbmc7IC8vIOWKoOWvhueahOWFrOmSpVxuICBwdWJsaWNfa2V5X3RodW1icHJpbnQ6IHN0cmluZzsgLy8g5Yqg5a+G55qE5YWs6ZKl5oyH57q5XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5jcnlwdFBhcmFtcyB7XG4gIGlzRW5jcnlwdD86IGJvb2xlYW47IC8vIOaYr+WQpumcgOimgeWKoOWvhlxuICBwdWJsaWNfa2V5X3RodW1icHJpbnQ/OiBzdHJpbmc7IC8vIOWKoOWvhueahOWFrOmSpeaMh+e6uVxuICBwYXJhbXM/OiBzdHJpbmc7IC8vIOWKoOWvhueahOaVsOaNrlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyU3ViVHlwZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHByb3ZpZGVyX3N1Yl90eXBlOiAnTk9fQVVUSF9MT0dJTicgfCAnJzsgLy8gTk9fQVVUSF9MT0dJTi3lhY3lr4bnmbvlvZVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNaW5pUHJvZ3JhbVFyQ29kZVJlcXVlc3Qge1xuICBlbnZJZDogc3RyaW5nO1xuICB3eEFwcElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWluaVByb2dyYW1RckNvZGVSZXNwb25zZSB7XG4gIHFyX2NvZGU6IHN0cmluZztcbiAgcXJfY29kZV9pZDogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWluaVByb2dyYW1RckNvZGVTdGF0dXNSZXF1ZXN0IHtcbiAgcXJDb2RlSWQ6IHN0cmluZztcbiAgZW52SWQ6IHN0cmluZztcbiAgd3hBcHBJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1pbmlQcm9ncmFtUXJDb2RlU3RhdHVzUmVzcG9uc2Uge1xuICBzdGF0dXM6IHN0cmluZztcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbiAgZXhwaXJlc19pbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGlmeVVzZXJCYXNpY0luZm9SZXF1ZXN0IHtcbiAgdXNlcl9pZDogc3RyaW5nO1xuICBuaWNrbmFtZTogc3RyaW5nO1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBhdmF0YXJfdXJsOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.isInMpWebView = exports.isMp = void 0;
5
4
  function isMp() {
@@ -39,20 +38,26 @@ function isMp() {
39
38
  return true;
40
39
  }
41
40
  exports.isMp = isMp;
42
- var IS_IN_MP_WEBVIEW = !!navigator.userAgent.match(/miniprogram/i) || window.__wxjs_environment === 'miniprogram';
41
+ var IS_IN_MP_WEBVIEW = false;
43
42
  function ready() {
44
43
  IS_IN_MP_WEBVIEW = IS_IN_MP_WEBVIEW || (typeof window !== undefined && window.__wxjs_environment === 'miniprogram');
45
44
  }
46
- if (!isMp()) {
47
- if ((_a = window === null || window === void 0 ? void 0 : window.WeixinJSBridge) === null || _a === void 0 ? void 0 : _a.invoke) {
48
- ready();
49
- }
50
- else if (typeof document !== 'undefined') {
51
- (_b = document.addEventListener) === null || _b === void 0 ? void 0 : _b.call(document, 'WeixinJSBridgeReady', ready, false);
45
+ try {
46
+ if (!isMp()) {
47
+ IS_IN_MP_WEBVIEW = IS_IN_MP_WEBVIEW
48
+ || !!navigator.userAgent.match(/miniprogram/i)
49
+ || window.__wxjs_environment === 'miniprogram';
50
+ if (window && window.WeixinJSBridge && window.WeixinJSBridge.invoke) {
51
+ ready();
52
+ }
53
+ else if (typeof document !== 'undefined') {
54
+ document.addEventListener('WeixinJSBridgeReady', ready, false);
55
+ }
52
56
  }
53
57
  }
58
+ catch (e) { }
54
59
  function isInMpWebView() {
55
60
  return IS_IN_MP_WEBVIEW;
56
61
  }
57
62
  exports.isInMpWebView = isInMpWebView;
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQWdCLElBQUk7SUFDVixJQUFBLEVBQUUsR0FBSyxVQUFpQixHQUF0QixDQUFzQjtJQUNoQyxJQUFJLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQTtLQUNiO0lBQ0QsSUFBSyxVQUFrQixDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDMUMsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUNELElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUU7UUFDekIsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUNELElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRTtRQUN0QixPQUFPLEtBQUssQ0FBQTtLQUNiO0lBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUU7UUFDckIsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUNELElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFO1FBQ2YsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUVELElBQUk7UUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDM0IsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUVELElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRTtZQUMvQyxPQUFPLEtBQUssQ0FBQTtTQUNiO0tBQ0Y7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFyQ0Qsb0JBcUNDO0FBRUQsSUFBSSxnQkFBZ0IsR0FBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUssTUFBYyxDQUFDLGtCQUFrQixLQUFLLGFBQWEsQ0FBQTtBQUMzSCxTQUFTLEtBQUs7SUFDWixnQkFBZ0IsR0FBTSxnQkFBZ0IsSUFBSSxDQUFDLE9BQU8sTUFBTSxLQUFLLFNBQVMsSUFBSyxNQUFjLENBQUMsa0JBQWtCLEtBQUssYUFBYSxDQUFDLENBQUE7QUFDakksQ0FBQztBQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUNYLElBQUksTUFBQyxNQUFjLGFBQWQsTUFBTSx1QkFBTixNQUFNLENBQVUsY0FBYywwQ0FBRSxNQUFNLEVBQUU7UUFDM0MsS0FBSyxFQUFFLENBQUE7S0FDUjtTQUFNLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1FBQzFDLE1BQUEsUUFBUSxDQUFDLGdCQUFnQix5REFBRyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7S0FDakU7Q0FDRjtBQUNELFNBQWdCLGFBQWE7SUFDM0IsT0FBTyxnQkFBZ0IsQ0FBQTtBQUN6QixDQUFDO0FBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNNcCgpIHtcbiAgY29uc3QgeyB3eCB9ID0gZ2xvYmFsVGhpcyBhcyBhbnlcbiAgaWYgKHR5cGVvZiB3eCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5QYWdlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoIXd4LmdldFN5c3RlbUluZm9TeW5jKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgaWYgKCF3eC5nZXRTdG9yYWdlU3luYykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGlmICghd3guc2V0U3RvcmFnZVN5bmMpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoIXd4LmNvbm5lY3RTb2NrZXQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoIXd4LnJlcXVlc3QpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKCF3eC5nZXRTeXN0ZW1JbmZvU3luYygpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAod3guZ2V0U3lzdGVtSW5mb1N5bmMoKS5BcHBQbGF0Zm9ybSA9PT0gJ3FxJykge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5sZXQgSVNfSU5fTVBfV0VCVklFVyA9ICAhIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21pbmlwcm9ncmFtL2kpIHx8ICh3aW5kb3cgYXMgYW55KS5fX3d4anNfZW52aXJvbm1lbnQgPT09ICdtaW5pcHJvZ3JhbSdcbmZ1bmN0aW9uIHJlYWR5KCkge1xuICBJU19JTl9NUF9XRUJWSUVXID0gICAgSVNfSU5fTVBfV0VCVklFVyB8fCAodHlwZW9mIHdpbmRvdyAhPT0gdW5kZWZpbmVkICYmICh3aW5kb3cgYXMgYW55KS5fX3d4anNfZW52aXJvbm1lbnQgPT09ICdtaW5pcHJvZ3JhbScpXG59XG5pZiAoIWlzTXAoKSkge1xuICBpZiAoKHdpbmRvdyBhcyBhbnkpPy5XZWl4aW5KU0JyaWRnZT8uaW52b2tlKSB7XG4gICAgcmVhZHkoKVxuICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyPy4oJ1dlaXhpbkpTQnJpZGdlUmVhZHknLCByZWFkeSwgZmFsc2UpXG4gIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0luTXBXZWJWaWV3KCkge1xuICByZXR1cm4gSVNfSU5fTVBfV0VCVklFV1xufVxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsSUFBSTtJQUNWLElBQUEsRUFBRSxHQUFLLFVBQWlCLEdBQXRCLENBQXNCO0lBQ2hDLElBQUksT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFDRCxJQUFLLFVBQWtCLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUMxQyxPQUFPLEtBQUssQ0FBQTtLQUNiO0lBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtRQUN6QixPQUFPLEtBQUssQ0FBQTtLQUNiO0lBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUU7UUFDdEIsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUNELElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtRQUNyQixPQUFPLEtBQUssQ0FBQTtLQUNiO0lBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUU7UUFDZixPQUFPLEtBQUssQ0FBQTtLQUNiO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQTtTQUNiO1FBRUQsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQy9DLE9BQU8sS0FBSyxDQUFBO1NBQ2I7S0FDRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUE7S0FDYjtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQXJDRCxvQkFxQ0M7QUFFRCxJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQTtBQUM1QixTQUFTLEtBQUs7SUFDWixnQkFBZ0IsR0FBTSxnQkFBZ0IsSUFBSSxDQUFDLE9BQU8sTUFBTSxLQUFLLFNBQVMsSUFBSyxNQUFjLENBQUMsa0JBQWtCLEtBQUssYUFBYSxDQUFDLENBQUE7QUFDakksQ0FBQztBQUNELElBQUk7SUFDRixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDWCxnQkFBZ0IsR0FBUSxnQkFBZ0I7ZUFDbkMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztlQUMxQyxNQUFjLENBQUMsa0JBQWtCLEtBQUssYUFBYSxDQUFBO1FBQ3pELElBQUssTUFBYyxJQUFLLE1BQWMsQ0FBQyxjQUFjLElBQUssTUFBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDOUYsS0FBSyxFQUFFLENBQUE7U0FDUjthQUFNLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1lBQzFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7U0FDL0Q7S0FDRjtDQUNGO0FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtBQUNkLFNBQWdCLGFBQWE7SUFDM0IsT0FBTyxnQkFBZ0IsQ0FBQTtBQUN6QixDQUFDO0FBRkQsc0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNNcCgpIHtcbiAgY29uc3QgeyB3eCB9ID0gZ2xvYmFsVGhpcyBhcyBhbnlcbiAgaWYgKHR5cGVvZiB3eCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5QYWdlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoIXd4LmdldFN5c3RlbUluZm9TeW5jKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgaWYgKCF3eC5nZXRTdG9yYWdlU3luYykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGlmICghd3guc2V0U3RvcmFnZVN5bmMpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoIXd4LmNvbm5lY3RTb2NrZXQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBpZiAoIXd4LnJlcXVlc3QpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKCF3eC5nZXRTeXN0ZW1JbmZvU3luYygpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAod3guZ2V0U3lzdGVtSW5mb1N5bmMoKS5BcHBQbGF0Zm9ybSA9PT0gJ3FxJykge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5sZXQgSVNfSU5fTVBfV0VCVklFVyA9IGZhbHNlXG5mdW5jdGlvbiByZWFkeSgpIHtcbiAgSVNfSU5fTVBfV0VCVklFVyA9ICAgIElTX0lOX01QX1dFQlZJRVcgfHwgKHR5cGVvZiB3aW5kb3cgIT09IHVuZGVmaW5lZCAmJiAod2luZG93IGFzIGFueSkuX193eGpzX2Vudmlyb25tZW50ID09PSAnbWluaXByb2dyYW0nKVxufVxudHJ5IHtcbiAgaWYgKCFpc01wKCkpIHtcbiAgICBJU19JTl9NUF9XRUJWSUVXID0gICAgICBJU19JTl9NUF9XRUJWSUVXXG4gICAgICB8fCAhIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21pbmlwcm9ncmFtL2kpXG4gICAgICB8fCAod2luZG93IGFzIGFueSkuX193eGpzX2Vudmlyb25tZW50ID09PSAnbWluaXByb2dyYW0nXG4gICAgaWYgKCh3aW5kb3cgYXMgYW55KSAmJiAod2luZG93IGFzIGFueSkuV2VpeGluSlNCcmlkZ2UgJiYgKHdpbmRvdyBhcyBhbnkpLldlaXhpbkpTQnJpZGdlLmludm9rZSkge1xuICAgICAgcmVhZHkoKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignV2VpeGluSlNCcmlkZ2VSZWFkeScsIHJlYWR5LCBmYWxzZSlcbiAgICB9XG4gIH1cbn0gY2F0Y2ggKGUpIHt9XG5leHBvcnQgZnVuY3Rpb24gaXNJbk1wV2ViVmlldygpIHtcbiAgcmV0dXJuIElTX0lOX01QX1dFQlZJRVdcbn1cbiJdfQ==