@uengage.io/platform-sdk 3.0.0 → 3.1.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.
- package/README.md +2 -0
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.js +6 -2
- package/dist/auth/upsell-token.d.ts +45 -0
- package/dist/auth/upsell-token.js +79 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/upsell/client.d.ts +1 -0
- package/dist/upsell/client.js +8 -3
- package/dist/upsell/schema.d.ts +7 -3
- package/dist/upsell/schema.js +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @uengage.io/platform-sdk
|
|
2
2
|
|
|
3
|
+
Backend-issued public/private suggestion tokens and outlet, brand or global admin tokens: [upsell token guide](../../services/upsell/TOKENS.md).
|
|
4
|
+
|
|
3
5
|
Client SDK for uEngage platform services. One factory (`createClient`) returns a `PlatformClient` exposing `business`, `audit`, `zones`, `wallet`, and `auth`. No singletons, no module-level state - each consumer constructs its own client with explicit config.
|
|
4
6
|
|
|
5
7
|
## Restricted realtime channels
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* OAuth clients (dashboard, mobile, BFFs) can share one SDK install.
|
|
6
6
|
*/
|
|
7
7
|
export { mintRealtimeToken, type MintRealtimeTokenInput, type RealtimeToken, } from './realtime-token';
|
|
8
|
+
export { mintUpsellToken, type MintUpsellTokenInput, type UpsellToken } from './upsell-token';
|
|
8
9
|
export { generatePKCE, type PkcePair } from './pkce';
|
|
9
10
|
export { createAuthorizeUrl, type AuthorizeUrlInput } from './authorize-url';
|
|
10
11
|
export { exchangeCode, parseTokenResponse, type ExchangeCodeInput, type TokenPair, } from './exchange-code';
|
|
@@ -14,6 +15,7 @@ export { getIssuer, getExpiry } from './issuer';
|
|
|
14
15
|
export { loginWithPassword, type LoginWithPasswordInput } from './login';
|
|
15
16
|
export { requestOtp, verifyOtp, type RequestOtpInput, type RequestOtpResult, type VerifyOtpInput, } from './otp';
|
|
16
17
|
import { mintRealtimeToken } from './realtime-token';
|
|
18
|
+
import { mintUpsellToken } from './upsell-token';
|
|
17
19
|
import { generatePKCE } from './pkce';
|
|
18
20
|
import { createAuthorizeUrl } from './authorize-url';
|
|
19
21
|
import { exchangeCode } from './exchange-code';
|
|
@@ -32,6 +34,7 @@ import { requestOtp, verifyOtp } from './otp';
|
|
|
32
34
|
*/
|
|
33
35
|
export declare const auth: {
|
|
34
36
|
mintRealtimeToken: typeof mintRealtimeToken;
|
|
37
|
+
mintUpsellToken: typeof mintUpsellToken;
|
|
35
38
|
generatePKCE: typeof generatePKCE;
|
|
36
39
|
createAuthorizeUrl: typeof createAuthorizeUrl;
|
|
37
40
|
exchangeCode: typeof exchangeCode;
|
package/dist/auth/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.auth = exports.verifyOtp = exports.requestOtp = exports.loginWithPassword = exports.getExpiry = exports.getIssuer = exports.verifyAccessToken = exports.refresh = exports.parseTokenResponse = exports.exchangeCode = exports.createAuthorizeUrl = exports.generatePKCE = exports.mintRealtimeToken = void 0;
|
|
3
|
+
exports.auth = exports.verifyOtp = exports.requestOtp = exports.loginWithPassword = exports.getExpiry = exports.getIssuer = exports.verifyAccessToken = exports.refresh = exports.parseTokenResponse = exports.exchangeCode = exports.createAuthorizeUrl = exports.generatePKCE = exports.mintUpsellToken = exports.mintRealtimeToken = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auth namespace: helpers for OAuth2 flows against the platform's
|
|
6
6
|
* `/auth/business/*` surface. Consumers don't bake a `client_id` into
|
|
@@ -9,6 +9,8 @@ exports.auth = exports.verifyOtp = exports.requestOtp = exports.loginWithPasswor
|
|
|
9
9
|
*/
|
|
10
10
|
var realtime_token_1 = require("./realtime-token");
|
|
11
11
|
Object.defineProperty(exports, "mintRealtimeToken", { enumerable: true, get: function () { return realtime_token_1.mintRealtimeToken; } });
|
|
12
|
+
var upsell_token_1 = require("./upsell-token");
|
|
13
|
+
Object.defineProperty(exports, "mintUpsellToken", { enumerable: true, get: function () { return upsell_token_1.mintUpsellToken; } });
|
|
12
14
|
var pkce_1 = require("./pkce");
|
|
13
15
|
Object.defineProperty(exports, "generatePKCE", { enumerable: true, get: function () { return pkce_1.generatePKCE; } });
|
|
14
16
|
var authorize_url_1 = require("./authorize-url");
|
|
@@ -29,6 +31,7 @@ var otp_1 = require("./otp");
|
|
|
29
31
|
Object.defineProperty(exports, "requestOtp", { enumerable: true, get: function () { return otp_1.requestOtp; } });
|
|
30
32
|
Object.defineProperty(exports, "verifyOtp", { enumerable: true, get: function () { return otp_1.verifyOtp; } });
|
|
31
33
|
const realtime_token_2 = require("./realtime-token");
|
|
34
|
+
const upsell_token_2 = require("./upsell-token");
|
|
32
35
|
const pkce_2 = require("./pkce");
|
|
33
36
|
const authorize_url_2 = require("./authorize-url");
|
|
34
37
|
const exchange_code_2 = require("./exchange-code");
|
|
@@ -47,6 +50,7 @@ const otp_2 = require("./otp");
|
|
|
47
50
|
*/
|
|
48
51
|
exports.auth = {
|
|
49
52
|
mintRealtimeToken: realtime_token_2.mintRealtimeToken,
|
|
53
|
+
mintUpsellToken: upsell_token_2.mintUpsellToken,
|
|
50
54
|
generatePKCE: pkce_2.generatePKCE,
|
|
51
55
|
createAuthorizeUrl: authorize_url_2.createAuthorizeUrl,
|
|
52
56
|
exchangeCode: exchange_code_2.exchangeCode,
|
|
@@ -58,4 +62,4 @@ exports.auth = {
|
|
|
58
62
|
requestOtp: otp_2.requestOtp,
|
|
59
63
|
verifyOtp: otp_2.verifyOtp,
|
|
60
64
|
};
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7R0FLRztBQUNILG1EQUkwQjtBQUh4QixtSEFBQSxpQkFBaUIsT0FBQTtBQUluQiwrQ0FBOEY7QUFBckYsK0dBQUEsZUFBZSxPQUFBO0FBQ3hCLCtCQUFxRDtBQUE1QyxvR0FBQSxZQUFZLE9BQUE7QUFDckIsaURBQTZFO0FBQXBFLG1IQUFBLGtCQUFrQixPQUFBO0FBQzNCLGlEQUt5QjtBQUp2Qiw2R0FBQSxZQUFZLE9BQUE7QUFDWixtSEFBQSxrQkFBa0IsT0FBQTtBQUlwQixxQ0FBdUQ7QUFBOUMsa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLG1DQUE2QztBQUFwQywyR0FBQSxpQkFBaUIsT0FBQTtBQUMxQixtQ0FBZ0Q7QUFBdkMsbUdBQUEsU0FBUyxPQUFBO0FBQUUsbUdBQUEsU0FBUyxPQUFBO0FBQzdCLGlDQUF5RTtBQUFoRSwwR0FBQSxpQkFBaUIsT0FBQTtBQUMxQiw2QkFNZTtBQUxiLGlHQUFBLFVBQVUsT0FBQTtBQUNWLGdHQUFBLFNBQVMsT0FBQTtBQU1YLHFEQUFxRDtBQUNyRCxpREFBaUQ7QUFDakQsaUNBQXNDO0FBQ3RDLG1EQUFxRDtBQUNyRCxtREFBK0M7QUFDL0MsdUNBQW9DO0FBQ3BDLHFDQUE2QztBQUM3QyxxQ0FBZ0Q7QUFDaEQsbUNBQTRDO0FBQzVDLCtCQUE4QztBQUU5Qzs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxJQUFJLEdBQUc7SUFDbEIsaUJBQWlCLEVBQWpCLGtDQUFpQjtJQUNqQixlQUFlLEVBQWYsOEJBQWU7SUFDZixZQUFZLEVBQVosbUJBQVk7SUFDWixrQkFBa0IsRUFBbEIsa0NBQWtCO0lBQ2xCLFlBQVksRUFBWiw0QkFBWTtJQUNaLE9BQU8sRUFBUCxpQkFBTztJQUNQLGlCQUFpQixFQUFqQiwwQkFBaUI7SUFDakIsU0FBUyxFQUFULGtCQUFTO0lBQ1QsU0FBUyxFQUFULGtCQUFTO0lBQ1QsaUJBQWlCLEVBQWpCLHlCQUFpQjtJQUNqQixVQUFVLEVBQVYsZ0JBQVU7SUFDVixTQUFTLEVBQVQsZUFBUztDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF1dGggbmFtZXNwYWNlOiBoZWxwZXJzIGZvciBPQXV0aDIgZmxvd3MgYWdhaW5zdCB0aGUgcGxhdGZvcm0nc1xuICogYC9hdXRoL2J1c2luZXNzLypgIHN1cmZhY2UuIENvbnN1bWVycyBkb24ndCBiYWtlIGEgYGNsaWVudF9pZGAgaW50b1xuICogdGhlIFNESyBpdHNlbGYg4oCUIGV2ZXJ5IGhlbHBlciB0YWtlcyBwYXJhbWV0ZXJzIGV4cGxpY2l0bHkgc28gbXVsdGlwbGVcbiAqIE9BdXRoIGNsaWVudHMgKGRhc2hib2FyZCwgbW9iaWxlLCBCRkZzKSBjYW4gc2hhcmUgb25lIFNESyBpbnN0YWxsLlxuICovXG5leHBvcnQge1xuICBtaW50UmVhbHRpbWVUb2tlbixcbiAgdHlwZSBNaW50UmVhbHRpbWVUb2tlbklucHV0LFxuICB0eXBlIFJlYWx0aW1lVG9rZW4sXG59IGZyb20gJy4vcmVhbHRpbWUtdG9rZW4nO1xuZXhwb3J0IHsgbWludFVwc2VsbFRva2VuLCB0eXBlIE1pbnRVcHNlbGxUb2tlbklucHV0LCB0eXBlIFVwc2VsbFRva2VuIH0gZnJvbSAnLi91cHNlbGwtdG9rZW4nO1xuZXhwb3J0IHsgZ2VuZXJhdGVQS0NFLCB0eXBlIFBrY2VQYWlyIH0gZnJvbSAnLi9wa2NlJztcbmV4cG9ydCB7IGNyZWF0ZUF1dGhvcml6ZVVybCwgdHlwZSBBdXRob3JpemVVcmxJbnB1dCB9IGZyb20gJy4vYXV0aG9yaXplLXVybCc7XG5leHBvcnQge1xuICBleGNoYW5nZUNvZGUsXG4gIHBhcnNlVG9rZW5SZXNwb25zZSxcbiAgdHlwZSBFeGNoYW5nZUNvZGVJbnB1dCxcbiAgdHlwZSBUb2tlblBhaXIsXG59IGZyb20gJy4vZXhjaGFuZ2UtY29kZSc7XG5leHBvcnQgeyByZWZyZXNoLCB0eXBlIFJlZnJlc2hJbnB1dCB9IGZyb20gJy4vcmVmcmVzaCc7XG5leHBvcnQgeyB2ZXJpZnlBY2Nlc3NUb2tlbiB9IGZyb20gJy4vdmVyaWZ5JztcbmV4cG9ydCB7IGdldElzc3VlciwgZ2V0RXhwaXJ5IH0gZnJvbSAnLi9pc3N1ZXInO1xuZXhwb3J0IHsgbG9naW5XaXRoUGFzc3dvcmQsIHR5cGUgTG9naW5XaXRoUGFzc3dvcmRJbnB1dCB9IGZyb20gJy4vbG9naW4nO1xuZXhwb3J0IHtcbiAgcmVxdWVzdE90cCxcbiAgdmVyaWZ5T3RwLFxuICB0eXBlIFJlcXVlc3RPdHBJbnB1dCxcbiAgdHlwZSBSZXF1ZXN0T3RwUmVzdWx0LFxuICB0eXBlIFZlcmlmeU90cElucHV0LFxufSBmcm9tICcuL290cCc7XG5cbmltcG9ydCB7IG1pbnRSZWFsdGltZVRva2VuIH0gZnJvbSAnLi9yZWFsdGltZS10b2tlbic7XG5pbXBvcnQgeyBtaW50VXBzZWxsVG9rZW4gfSBmcm9tICcuL3Vwc2VsbC10b2tlbic7XG5pbXBvcnQgeyBnZW5lcmF0ZVBLQ0UgfSBmcm9tICcuL3BrY2UnO1xuaW1wb3J0IHsgY3JlYXRlQXV0aG9yaXplVXJsIH0gZnJvbSAnLi9hdXRob3JpemUtdXJsJztcbmltcG9ydCB7IGV4Y2hhbmdlQ29kZSB9IGZyb20gJy4vZXhjaGFuZ2UtY29kZSc7XG5pbXBvcnQgeyByZWZyZXNoIH0gZnJvbSAnLi9yZWZyZXNoJztcbmltcG9ydCB7IHZlcmlmeUFjY2Vzc1Rva2VuIH0gZnJvbSAnLi92ZXJpZnknO1xuaW1wb3J0IHsgZ2V0SXNzdWVyLCBnZXRFeHBpcnkgfSBmcm9tICcuL2lzc3Vlcic7XG5pbXBvcnQgeyBsb2dpbldpdGhQYXNzd29yZCB9IGZyb20gJy4vbG9naW4nO1xuaW1wb3J0IHsgcmVxdWVzdE90cCwgdmVyaWZ5T3RwIH0gZnJvbSAnLi9vdHAnO1xuXG4vKipcbiAqIENvbnZlbmllbmNlIG5hbWVzcGFjZTogc3RhdGVsZXNzIGhlbHBlcnMgZ3JvdXBlZCB1bmRlciBvbmUgc3ltYm9sLlxuICogSWRlbnRpY2FsIHRvIHRoZSBuYW1lZCBleHBvcnRzIGFib3ZlOyBpbXBvcnRpbmcgdGhlIG5hbWVzcGFjZSBsZXRzXG4gKiBjYWxsZXJzIHdyaXRlIGBjbGllbnQuYXV0aC5yZWZyZXNoKC4uLilgIChpdCdzIGV4cG9zZWQgb24gdGhlXG4gKiBgUGxhdGZvcm1DbGllbnRgIGluc3RhbmNlIHJldHVybmVkIGJ5IGBjcmVhdGVDbGllbnQoLi4uKWApIG9yXG4gKiBgYXV0aC5nZW5lcmF0ZVBLQ0UoKWAgZnJvbSBhIHRvcC1sZXZlbCBpbXBvcnQuIE5vIG11dGFibGUgc3RhdGUsIHNvXG4gKiBzaGFyaW5nIHRoaXMgb2JqZWN0IGFjcm9zcyBjbGllbnRzIGlzIHNhZmUuXG4gKi9cbmV4cG9ydCBjb25zdCBhdXRoID0ge1xuICBtaW50UmVhbHRpbWVUb2tlbixcbiAgbWludFVwc2VsbFRva2VuLFxuICBnZW5lcmF0ZVBLQ0UsXG4gIGNyZWF0ZUF1dGhvcml6ZVVybCxcbiAgZXhjaGFuZ2VDb2RlLFxuICByZWZyZXNoLFxuICB2ZXJpZnlBY2Nlc3NUb2tlbixcbiAgZ2V0SXNzdWVyLFxuICBnZXRFeHBpcnksXG4gIGxvZ2luV2l0aFBhc3N3b3JkLFxuICByZXF1ZXN0T3RwLFxuICB2ZXJpZnlPdHAsXG59O1xuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
type UpsellOutlet = {
|
|
2
|
+
parentId: number;
|
|
3
|
+
businessId: number;
|
|
4
|
+
};
|
|
5
|
+
export type MintUpsellTokenInput = {
|
|
6
|
+
clientId: string;
|
|
7
|
+
clientSecret: string;
|
|
8
|
+
/** 60-900 seconds; defaults to 300. */
|
|
9
|
+
expiresIn?: number;
|
|
10
|
+
authBaseUrl?: string;
|
|
11
|
+
fetchFn?: typeof fetch;
|
|
12
|
+
} & ((UpsellOutlet & {
|
|
13
|
+
access: 'public';
|
|
14
|
+
contactMappingId?: never;
|
|
15
|
+
adminScope?: never;
|
|
16
|
+
}) | (UpsellOutlet & {
|
|
17
|
+
access: 'private';
|
|
18
|
+
contactMappingId: number;
|
|
19
|
+
adminScope?: never;
|
|
20
|
+
}) | ({
|
|
21
|
+
access: 'admin';
|
|
22
|
+
contactMappingId?: never;
|
|
23
|
+
} & ((UpsellOutlet & {
|
|
24
|
+
adminScope?: 'outlet';
|
|
25
|
+
}) | {
|
|
26
|
+
adminScope: 'brand';
|
|
27
|
+
parentId: number;
|
|
28
|
+
businessId?: never;
|
|
29
|
+
} | {
|
|
30
|
+
adminScope: 'global';
|
|
31
|
+
parentId?: never;
|
|
32
|
+
businessId?: never;
|
|
33
|
+
})));
|
|
34
|
+
export interface UpsellToken {
|
|
35
|
+
token: string;
|
|
36
|
+
expiresIn: number;
|
|
37
|
+
parentId?: number;
|
|
38
|
+
businessId?: number;
|
|
39
|
+
access: 'public' | 'private' | 'admin';
|
|
40
|
+
contactMappingId?: number;
|
|
41
|
+
adminScope?: 'outlet' | 'brand' | 'global';
|
|
42
|
+
}
|
|
43
|
+
/** Backend only: verify the caller's entitlement to the outlet and mapping first. No token cache. */
|
|
44
|
+
export declare function mintUpsellToken(input: MintUpsellTokenInput): Promise<UpsellToken>;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mintUpsellToken = mintUpsellToken;
|
|
4
|
+
const config_1 = require("../config");
|
|
5
|
+
const errors_1 = require("../errors");
|
|
6
|
+
/** Backend only: verify the caller's entitlement to the outlet and mapping first. No token cache. */
|
|
7
|
+
async function mintUpsellToken(input) {
|
|
8
|
+
const validId = (value) => typeof value === 'number' && Number.isSafeInteger(value) && value > 0;
|
|
9
|
+
const expiresIn = input.expiresIn ?? 300;
|
|
10
|
+
if (!input.clientId || !input.clientSecret)
|
|
11
|
+
throw new errors_1.ConfigError('Backend client credentials are required');
|
|
12
|
+
const adminScope = input.access === 'admin' ? (input.adminScope ?? 'outlet') : undefined;
|
|
13
|
+
if ((input.access !== 'admin' && input.adminScope !== undefined) ||
|
|
14
|
+
(input.access === 'admin' && !['outlet', 'brand', 'global'].includes(adminScope)) ||
|
|
15
|
+
(adminScope === 'global'
|
|
16
|
+
? input.parentId !== undefined || input.businessId !== undefined
|
|
17
|
+
: !validId(input.parentId)) ||
|
|
18
|
+
(adminScope === 'global' || adminScope === 'brand'
|
|
19
|
+
? input.businessId !== undefined
|
|
20
|
+
: !validId(input.businessId))) {
|
|
21
|
+
throw new errors_1.ConfigError('Invalid tenant IDs for the requested upsell/admin scope');
|
|
22
|
+
}
|
|
23
|
+
if ((input.access !== 'public' && input.access !== 'private' && input.access !== 'admin') ||
|
|
24
|
+
(input.access !== 'private' && input.contactMappingId !== undefined) ||
|
|
25
|
+
(input.access === 'private' && !validId(input.contactMappingId))) {
|
|
26
|
+
throw new errors_1.ConfigError('Use public/admin access without a contactMappingId or private access with a positive contactMappingId');
|
|
27
|
+
}
|
|
28
|
+
if (!Number.isInteger(expiresIn) || expiresIn < 60 || expiresIn > 900)
|
|
29
|
+
throw new errors_1.ConfigError('expiresIn must be an integer between 60 and 900 seconds');
|
|
30
|
+
const response = await (input.fetchFn ?? globalThis.fetch)(`${(input.authBaseUrl ?? `${config_1.DEFAULT_BASE_URL}/auth/business`).replace(/\/$/, '')}/oauth/token`, {
|
|
31
|
+
method: 'POST',
|
|
32
|
+
headers: {
|
|
33
|
+
'content-type': 'application/x-www-form-urlencoded',
|
|
34
|
+
authorization: `Basic ${Buffer.from(`${input.clientId}:${input.clientSecret}`).toString('base64')}`,
|
|
35
|
+
},
|
|
36
|
+
body: new URLSearchParams({
|
|
37
|
+
grant_type: 'urn:uengage:params:oauth:grant-type:upsell',
|
|
38
|
+
...(input.parentId === undefined ? {} : { parent_id: String(input.parentId) }),
|
|
39
|
+
...(input.businessId === undefined ? {} : { business_id: String(input.businessId) }),
|
|
40
|
+
...(adminScope === undefined ? {} : { admin_scope: adminScope }),
|
|
41
|
+
access: input.access,
|
|
42
|
+
expires_in: String(expiresIn),
|
|
43
|
+
...(input.access === 'private'
|
|
44
|
+
? { contact_mapping_id: String(input.contactMappingId) }
|
|
45
|
+
: {}),
|
|
46
|
+
}).toString(),
|
|
47
|
+
});
|
|
48
|
+
if (!response.ok)
|
|
49
|
+
throw new errors_1.AuthenticationError(`Upsell token mint failed: HTTP ${response.status}`);
|
|
50
|
+
const expectedScope = input.access === 'admin'
|
|
51
|
+
? 'upsell.placements:read upsell.placements:write' +
|
|
52
|
+
(adminScope === 'outlet' ? '' : ' upsell.touchpoints:read upsell.touchpoints:write')
|
|
53
|
+
: `upsell.suggestions:${input.access}`;
|
|
54
|
+
const body = (await response.json());
|
|
55
|
+
if (typeof body.access_token !== 'string' ||
|
|
56
|
+
!body.access_token ||
|
|
57
|
+
body.token_type !== 'Bearer' ||
|
|
58
|
+
body.parent_id !== input.parentId ||
|
|
59
|
+
body.business_id !== input.businessId ||
|
|
60
|
+
body.access !== input.access ||
|
|
61
|
+
body.contact_mapping_id !== input.contactMappingId ||
|
|
62
|
+
body.admin_scope !== adminScope ||
|
|
63
|
+
body.scope !== expectedScope ||
|
|
64
|
+
!Number.isInteger(body.expires_in) ||
|
|
65
|
+
Number(body.expires_in) < 60 ||
|
|
66
|
+
Number(body.expires_in) > expiresIn) {
|
|
67
|
+
throw new errors_1.AuthenticationError('Invalid upsell token response');
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
token: body.access_token,
|
|
71
|
+
expiresIn: Number(body.expires_in),
|
|
72
|
+
parentId: input.parentId,
|
|
73
|
+
businessId: input.businessId,
|
|
74
|
+
access: input.access,
|
|
75
|
+
...(adminScope === undefined ? {} : { adminScope }),
|
|
76
|
+
...(input.access === 'private' ? { contactMappingId: input.contactMappingId } : {}),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZWxsLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvdXBzZWxsLXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0JBLDBDQW9GQztBQW5IRCxzQ0FBNkM7QUFDN0Msc0NBQTZEO0FBNkI3RCxxR0FBcUc7QUFDOUYsS0FBSyxVQUFVLGVBQWUsQ0FBQyxLQUEyQjtJQUMvRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQ2pDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDeEUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUM7SUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTtRQUN4QyxNQUFNLElBQUksb0JBQVcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN6RixJQUNFLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUM7UUFDNUQsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVyxDQUFDLENBQUM7UUFDbEYsQ0FBQyxVQUFVLEtBQUssUUFBUTtZQUN0QixDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxTQUFTO1lBQ2hFLENB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UUFDbEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUM1QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07UUFDcEIsR0FBRyxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUNuRCxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNwRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFRkFVTFRfQkFTRV9VUkwgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25FcnJvciwgQ29uZmlnRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuXG50eXBlIFVwc2VsbE91dGxldCA9IHsgcGFyZW50SWQ6IG51bWJlcjsgYnVzaW5lc3NJZDogbnVtYmVyIH07XG5leHBvcnQgdHlwZSBNaW50VXBzZWxsVG9rZW5JbnB1dCA9IHtcbiAgY2xpZW50SWQ6IHN0cmluZztcbiAgY2xpZW50U2VjcmV0OiBzdHJpbmc7XG4gIC8qKiA2MC05MDAgc2Vjb25kczsgZGVmYXVsdHMgdG8gMzAwLiAqL1xuICBleHBpcmVzSW4/OiBudW1iZXI7XG4gIGF1dGhCYXNlVXJsPzogc3RyaW5nO1xuICBmZXRjaEZuPzogdHlwZW9mIGZldGNoO1xufSAmIChcbiAgfCAoVXBzZWxsT3V0bGV0ICYgeyBhY2Nlc3M6ICdwdWJsaWMnOyBjb250YWN0TWFwcGluZ0lkPzogbmV2ZXI7IGFkbWluU2NvcGU/OiBuZXZlciB9KVxuICB8IChVcHNlbGxPdXRsZXQgJiB7IGFjY2VzczogJ3ByaXZhdGUnOyBjb250YWN0TWFwcGluZ0lkOiBudW1iZXI7IGFkbWluU2NvcGU/OiBuZXZlciB9KVxuICB8ICh7IGFjY2VzczogJ2FkbWluJzsgY29udGFjdE1hcHBpbmdJZD86IG5ldmVyIH0gJiAoXG4gICAgICB8IChVcHNlbGxPdXRsZXQgJiB7IGFkbWluU2NvcGU/OiAnb3V0bGV0JyB9KVxuICAgICAgfCB7IGFkbWluU2NvcGU6ICdicmFuZCc7IHBhcmVudElkOiBudW1iZXI7IGJ1c2luZXNzSWQ/OiBuZXZlciB9XG4gICAgICB8IHsgYWRtaW5TY29wZTogJ2dsb2JhbCc7IHBhcmVudElkPzogbmV2ZXI7IGJ1c2luZXNzSWQ/OiBuZXZlciB9XG4gICAgKSlcbik7XG5leHBvcnQgaW50ZXJmYWNlIFVwc2VsbFRva2VuIHtcbiAgdG9rZW46IHN0cmluZztcbiAgZXhwaXJlc0luOiBudW1iZXI7XG4gIHBhcmVudElkPzogbnVtYmVyO1xuICBidXNpbmVzc0lkPzogbnVtYmVyO1xuICBhY2Nlc3M6ICdwdWJsaWMnIHwgJ3ByaXZhdGUnIHwgJ2FkbWluJztcbiAgY29udGFjdE1hcHBpbmdJZD86IG51bWJlcjtcbiAgYWRtaW5TY29wZT86ICdvdXRsZXQnIHwgJ2JyYW5kJyB8ICdnbG9iYWwnO1xufVxuXG4vKiogQmFja2VuZCBvbmx5OiB2ZXJpZnkgdGhlIGNhbGxlcidzIGVudGl0bGVtZW50IHRvIHRoZSBvdXRsZXQgYW5kIG1hcHBpbmcgZmlyc3QuIE5vIHRva2VuIGNhY2hlLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pbnRVcHNlbGxUb2tlbihpbnB1dDogTWludFVwc2VsbFRva2VuSW5wdXQpOiBQcm9taXNlPFVwc2VsbFRva2VuPiB7XG4gIGNvbnN0IHZhbGlkSWQgPSAodmFsdWU6IHVua25vd24pID0+XG4gICAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNTYWZlSW50ZWdlcih2YWx1ZSkgJiYgdmFsdWUgPiAwO1xuICBjb25zdCBleHBpcmVzSW4gPSBpbnB1dC5leHBpcmVzSW4gPz8gMzAwO1xuICBpZiAoIWlucHV0LmNsaWVudElkIHx8ICFpbnB1dC5jbGllbnRTZWNyZXQpXG4gICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKCdCYWNrZW5kIGNsaWVudCBjcmVkZW50aWFscyBhcmUgcmVxdWlyZWQnKTtcbiAgY29uc3QgYWRtaW5TY29wZSA9IGlucHV0LmFjY2VzcyA9PT0gJ2FkbWluJyA/IChpbnB1dC5hZG1pblNjb3BlID8/ICdvdXRsZXQnKSA6IHVuZGVmaW5lZDtcbiAgaWYgKFxuICAgIChpbnB1dC5hY2Nlc3MgIT09ICdhZG1pbicgJiYgaW5wdXQuYWRtaW5TY29wZSAhPT0gdW5kZWZpbmVkKSB8fFxuICAgIChpbnB1dC5hY2Nlc3MgPT09ICdhZG1pbicgJiYgIVsnb3V0bGV0JywgJ2JyYW5kJywgJ2dsb2JhbCddLmluY2x1ZGVzKGFkbWluU2NvcGUhKSkgfHxcbiAgICAoYWRtaW5TY29wZSA9PT0gJ2dsb2JhbCdcbiAgICAgID8gaW5wdXQucGFyZW50SWQgIT09IHVuZGVmaW5lZCB8fCBpbnB1dC5idXNpbmVzc0lkICE9PSB1bmRlZmluZWRcbiAgICAgIDogIXZhbGlkSWQoaW5wdXQucGFyZW50SWQpKSB8fFxuICAgIChhZG1pblNjb3BlID09PSAnZ2xvYmFsJyB8fCBhZG1pblNjb3BlID09PSAnYnJhbmQnXG4gICAgICA/IGlucHV0LmJ1c2luZXNzSWQgIT09IHVuZGVmaW5lZFxuICAgICAgOiAhdmFsaWRJZChpbnB1dC5idXNpbmVzc0lkKSlcbiAgKSB7XG4gICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKCdJbnZhbGlkIHRlbmFudCBJRHMgZm9yIHRoZSByZXF1ZXN0ZWQgdXBzZWxsL2FkbWluIHNjb3BlJyk7XG4gIH1cbiAgaWYgKFxuICAgIChpbnB1dC5hY2Nlc3MgIT09ICdwdWJsaWMnICYmIGlucHV0LmFjY2VzcyAhPT0gJ3ByaXZhdGUnICYmIGlucHV0LmFjY2VzcyAhPT0gJ2FkbWluJykgfHxcbiAgICAoaW5wdXQuYWNjZXNzICE9PSAncHJpdmF0ZScgJiYgaW5wdXQuY29udGFjdE1hcHBpbmdJZCAhPT0gdW5kZWZpbmVkKSB8fFxuICAgIChpbnB1dC5hY2Nlc3MgPT09ICdwcml2YXRlJyAmJiAhdmFsaWRJZChpbnB1dC5jb250YWN0TWFwcGluZ0lkKSlcbiAgKSB7XG4gICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKFxuICAgICAgJ1VzZSBwdWJsaWMvYWRtaW4gYWNjZXNzIHdpdGhvdXQgYSBjb250YWN0TWFwcGluZ0lkIG9yIHByaXZhdGUgYWNjZXNzIHdpdGggYSBwb3NpdGl2ZSBjb250YWN0TWFwcGluZ0lkJyxcbiAgICApO1xuICB9XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcihleHBpcmVzSW4pIHx8IGV4cGlyZXNJbiA8IDYwIHx8IGV4cGlyZXNJbiA+IDkwMClcbiAgICB0aHJvdyBuZXcgQ29uZmlnRXJyb3IoJ2V4cGlyZXNJbiBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiA2MCBhbmQgOTAwIHNlY29uZHMnKTtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCAoaW5wdXQuZmV0Y2hGbiA/PyBnbG9iYWxUaGlzLmZldGNoKShcbiAgICBgJHsoaW5wdXQuYXV0aEJhc2VVcmwgPz8gYCR7REVGQVVMVF9CQVNFX1VSTH0vYXV0aC9idXNpbmVzc2ApLnJlcGxhY2UoL1xcLyQvLCAnJyl9L29hdXRoL3Rva2VuYCxcbiAgICB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLFxuICAgICAgICBhdXRob3JpemF0aW9uOiBgQmFzaWMgJHtCdWZmZXIuZnJvbShgJHtpbnB1dC5jbGllbnRJZH06JHtpbnB1dC5jbGllbnRTZWNyZXR9YCkudG9TdHJpbmcoJ2Jhc2U2NCcpfWAsXG4gICAgICB9LFxuICAgICAgYm9keTogbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAgIGdyYW50X3R5cGU6ICd1cm46dWVuZ2FnZTpwYXJhbXM6b2F1dGg6Z3JhbnQtdHlwZTp1cHNlbGwnLFxuICAgICAgICAuLi4oaW5wdXQucGFyZW50SWQgPT09IHVuZGVmaW5lZCA/IHt9IDogeyBwYXJlbnRfaWQ6IFN0cmluZyhpbnB1dC5wYXJlbnRJZCkgfSksXG4gICAgICAgIC4uLihpbnB1dC5idXNpbmVzc0lkID09PSB1bmRlZmluZWQgPyB7fSA6IHsgYnVzaW5lc3NfaWQ6IFN0cmluZyhpbnB1dC5idXNpbmVzc0lkKSB9KSxcbiAgICAgICAgLi4uKGFkbWluU2NvcGUgPT09IHVuZGVmaW5lZCA/IHt9IDogeyBhZG1pbl9zY29wZTogYWRtaW5TY29wZSB9KSxcbiAgICAgICAgYWNjZXNzOiBpbnB1dC5hY2Nlc3MsXG4gICAgICAgIGV4cGlyZXNfaW46IFN0cmluZyhleHBpcmVzSW4pLFxuICAgICAgICAuLi4oaW5wdXQuYWNjZXNzID09PSAncHJpdmF0ZSdcbiAgICAgICAgICA/IHsgY29udGFjdF9tYXBwaW5nX2lkOiBTdHJpbmcoaW5wdXQuY29udGFjdE1hcHBpbmdJZCkgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSkudG9TdHJpbmcoKSxcbiAgICB9LFxuICApO1xuICBpZiAoIXJlc3BvbnNlLm9rKVxuICAgIHRocm93IG5ldyBBdXRoZW50aWNhdGlvbkVycm9yKGBVcHNlbGwgdG9rZW4gbWludCBmYWlsZWQ6IEhUVFAgJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gIGNvbnN0IGV4cGVjdGVkU2NvcGUgPVxuICAgIGlucHV0LmFjY2VzcyA9PT0gJ2FkbWluJ1xuICAgICAgPyAndXBzZWxsLnBsYWNlbWVudHM6cmVhZCB1cHNlbGwucGxhY2VtZW50czp3cml0ZScgK1xuICAgICAgICAoYWRtaW5TY29wZSA9PT0gJ291dGxldCcgPyAnJyA6ICcgdXBzZWxsLnRvdWNocG9pbnRzOnJlYWQgdXBzZWxsLnRvdWNocG9pbnRzOndyaXRlJylcbiAgICAgIDogYHVwc2VsbC5zdWdnZXN0aW9uczoke2lucHV0LmFjY2Vzc31gO1xuICBjb25zdCBib2R5ID0gKGF3YWl0IHJlc3BvbnNlLmpzb24oKSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGlmIChcbiAgICB0eXBlb2YgYm9keS5hY2Nlc3NfdG9rZW4gIT09ICdzdHJpbmcnIHx8XG4gICAgIWJvZHkuYWNjZXNzX3Rva2VuIHx8XG4gICAgYm9keS50b2tlbl90eXBlICE9PSAnQmVhcmVyJyB8fFxuICAgIGJvZHkucGFyZW50X2lkICE9PSBpbnB1dC5wYXJlbnRJZCB8fFxuICAgIGJvZHkuYnVzaW5lc3NfaWQgIT09IGlucHV0LmJ1c2luZXNzSWQgfHxcbiAgICBib2R5LmFjY2VzcyAhPT0gaW5wdXQuYWNjZXNzIHx8XG4gICAgYm9keS5jb250YWN0X21hcHBpbmdfaWQgIT09IGlucHV0LmNvbnRhY3RNYXBwaW5nSWQgfHxcbiAgICBib2R5LmFkbWluX3Njb3BlICE9PSBhZG1pblNjb3BlIHx8XG4gICAgYm9keS5zY29wZSAhPT0gZXhwZWN0ZWRTY29wZSB8fFxuICAgICFOdW1iZXIuaXNJbnRlZ2VyKGJvZHkuZXhwaXJlc19pbikgfHxcbiAgICBOdW1iZXIoYm9keS5leHBpcmVzX2luKSA8IDYwIHx8XG4gICAgTnVtYmVyKGJvZHkuZXhwaXJlc19pbikgPiBleHBpcmVzSW5cbiAgKSB7XG4gICAgdGhyb3cgbmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IoJ0ludmFsaWQgdXBzZWxsIHRva2VuIHJlc3BvbnNlJyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB0b2tlbjogYm9keS5hY2Nlc3NfdG9rZW4sXG4gICAgZXhwaXJlc0luOiBOdW1iZXIoYm9keS5leHBpcmVzX2luKSxcbiAgICBwYXJlbnRJZDogaW5wdXQucGFyZW50SWQsXG4gICAgYnVzaW5lc3NJZDogaW5wdXQuYnVzaW5lc3NJZCxcbiAgICBhY2Nlc3M6IGlucHV0LmFjY2VzcyxcbiAgICAuLi4oYWRtaW5TY29wZSA9PT0gdW5kZWZpbmVkID8ge30gOiB7IGFkbWluU2NvcGUgfSksXG4gICAgLi4uKGlucHV0LmFjY2VzcyA9PT0gJ3ByaXZhdGUnID8geyBjb250YWN0TWFwcGluZ0lkOiBpbnB1dC5jb250YWN0TWFwcGluZ0lkIH0gOiB7fSksXG4gIH07XG59XG4iXX0=
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ export * from './wallet';
|
|
|
5
5
|
export * from './upsell';
|
|
6
6
|
export * from './errors';
|
|
7
7
|
export { auth } from './auth';
|
|
8
|
-
export type { PkcePair, AuthorizeUrlInput, ExchangeCodeInput, RefreshInput, TokenPair, } from './auth';
|
|
8
|
+
export type { PkcePair, AuthorizeUrlInput, ExchangeCodeInput, RefreshInput, TokenPair, MintUpsellTokenInput, UpsellToken, } from './auth';
|
|
9
9
|
export { type PlatformAuth, type PlatformAuthInput, type PlatformConfig, type PlatformConfigInput, DEFAULT_BASE_URL, } from './config';
|
|
10
10
|
export { createClient, type ClientConfig, type PlatformClient } from './client';
|
package/dist/index.js
CHANGED
|
@@ -27,4 +27,4 @@ var config_1 = require("./config");
|
|
|
27
27
|
Object.defineProperty(exports, "DEFAULT_BASE_URL", { enumerable: true, get: function () { return config_1.DEFAULT_BASE_URL; } });
|
|
28
28
|
var client_1 = require("./client");
|
|
29
29
|
Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return client_1.createClient; } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwQ0FBd0I7QUFDeEIsNkNBQTJCO0FBQzNCLDBDQUF3QjtBQUN4QiwyQ0FBeUI7QUFDekIsMkNBQXlCO0FBQ3pCLDJDQUF5QjtBQUN6QiwrQkFBOEI7QUFBckIsNEZBQUEsSUFBSSxPQUFBO0FBVWIsbUNBTWtCO0FBRGhCLDBHQUFBLGdCQUFnQixPQUFBO0FBRWxCLG1DQUFnRjtBQUF2RSxzR0FBQSxZQUFZLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1ZGl0JztcbmV4cG9ydCAqIGZyb20gJy4vYnVzaW5lc3MnO1xuZXhwb3J0ICogZnJvbSAnLi96b25lcyc7XG5leHBvcnQgKiBmcm9tICcuL3dhbGxldCc7XG5leHBvcnQgKiBmcm9tICcuL3Vwc2VsbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycyc7XG5leHBvcnQgeyBhdXRoIH0gZnJvbSAnLi9hdXRoJztcbmV4cG9ydCB0eXBlIHtcbiAgUGtjZVBhaXIsXG4gIEF1dGhvcml6ZVVybElucHV0LFxuICBFeGNoYW5nZUNvZGVJbnB1dCxcbiAgUmVmcmVzaElucHV0LFxuICBUb2tlblBhaXIsXG4gIE1pbnRVcHNlbGxUb2tlbklucHV0LFxuICBVcHNlbGxUb2tlbixcbn0gZnJvbSAnLi9hdXRoJztcbmV4cG9ydCB7XG4gIHR5cGUgUGxhdGZvcm1BdXRoLFxuICB0eXBlIFBsYXRmb3JtQXV0aElucHV0LFxuICB0eXBlIFBsYXRmb3JtQ29uZmlnLFxuICB0eXBlIFBsYXRmb3JtQ29uZmlnSW5wdXQsXG4gIERFRkFVTFRfQkFTRV9VUkwsXG59IGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCB7IGNyZWF0ZUNsaWVudCwgdHlwZSBDbGllbnRDb25maWcsIHR5cGUgUGxhdGZvcm1DbGllbnQgfSBmcm9tICcuL2NsaWVudCc7XG4iXX0=
|
package/dist/upsell/client.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export interface UpsellClient {
|
|
|
18
18
|
/** GET /v1/upsell/admin/placements - raw config rows (service-actor only). */
|
|
19
19
|
adminListPlacements(opts?: {
|
|
20
20
|
parentId?: number;
|
|
21
|
+
businessId?: number;
|
|
21
22
|
}): Promise<PlacementRecord[]>;
|
|
22
23
|
/** PUT /v1/upsell/admin/placements - create/replace a config row (service-actor only). */
|
|
23
24
|
adminUpsertPlacement(input: PlacementUpsertInput): Promise<PlacementRecord>;
|
package/dist/upsell/client.js
CHANGED
|
@@ -174,9 +174,14 @@ function createUpsellClientInternal(input = {}) {
|
|
|
174
174
|
return expectJson(res);
|
|
175
175
|
},
|
|
176
176
|
async adminListPlacements(opts = {}) {
|
|
177
|
+
assertTenantIds('adminListPlacements', opts);
|
|
178
|
+
const params = new URLSearchParams();
|
|
177
179
|
if (opts.parentId !== undefined)
|
|
178
|
-
|
|
179
|
-
|
|
180
|
+
params.set('parentId', String(opts.parentId));
|
|
181
|
+
if (opts.businessId !== undefined)
|
|
182
|
+
params.set('businessId', String(opts.businessId));
|
|
183
|
+
const query = params.toString();
|
|
184
|
+
const qs = query ? `?${query}` : undefined;
|
|
180
185
|
const res = await send('GET', '/v1/upsell/admin/placements', qs);
|
|
181
186
|
const body = await expectJson(res);
|
|
182
187
|
return body.placements;
|
|
@@ -208,4 +213,4 @@ function createUpsellClientInternal(input = {}) {
|
|
|
208
213
|
};
|
|
209
214
|
return client;
|
|
210
215
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Vwc2VsbC9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa01BLGdEQUVDO0FBcE1ELHNDQUttQjtBQUNuQixzQ0FBd0M7QUFDeEMsa0NBQTRDO0FBQzVDLGtEQUF1RDtBQW1DdkQsTUFBYSxjQUFlLFNBQVEsS0FBSztJQUM5QixNQUFNLENBQVM7SUFDZixJQUFJLENBQVM7SUFFdEIsWUFBWSxNQUFjLEVBQUUsSUFBWTtRQUN0QyxLQUFLLENBQUMsY0FBYyxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQVZELHdDQVVDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsS0FBYTtJQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssc0NBQXNDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsS0FBYSxFQUFFLEtBQWlEO0lBQ3ZGLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTO1FBQUUsaUJBQWlCLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekYsSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ25DLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxhQUFhLEVBQUUsS0FBSyxDQUFD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QkFBb0I7Z0JBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzRSxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pGLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHO2dCQUFFLE9BQU87WUFDL0IsTUFBTSxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztLQUNGLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29uZmlnU3RhdGUsXG4gIHR5cGUgUGxhdGZvcm1BdXRoLFxuICB0eXBlIFBsYXRmb3JtQXV0aElucHV0LFxuICB0eXBlIFBsYXRmb3JtQ29uZmlnSW5wdXQsXG59IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBDb25maWdFcnJvciB9IGZyb20gJy4uL2Vycm9ycyc7XG5pbXBvcnQgeyBzZW5kV2l0aEF1dGhSZXRyeSB9IGZyb20gJy4uL2h0dHAnO1xuaW1wb3J0IHsgbWFrZVRva2VuU291cmNlU3RhdGUgfSBmcm9tICcuLi90b2tlbi1zb3VyY2UnO1xuaW1wb3J0IHR5cGUge1xuICBQbGFjZW1lbnQsXG4gIFBsYWNlbWVudERlbGV0ZUlucHV0LFxuICBQbGFjZW1lbnRSZWNvcmQsXG4gIFBsYWNlbWVudFVwc2VydElucHV0LFxuICBQbGFjZW1lbnRzUXVlcnksXG4gIFN1Z2dlc3Rpb25zSW5wdXQsXG4gIFN1Z2dlc3Rpb25zUmVzdWx0LFxuICBVcHNlbGxFdmVudHNJbnB1dCxcbn0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VsbENsaWVudCB7XG4gIGNvbmZpZyhpbnB1dDogUGxhdGZvcm1Db25maWdJbnB1dCk6IFVwc2VsbENsaWVudDtcbiAgYXV0aChpbnB1dDogUGxhdGZvcm1BdXRoSW5wdXQgfCBQbGF0Zm9ybUF1dGgpOiBVcHNlbGxDbGllbnQ7XG5cbiAgLyoqIEdFVCAvdjEvdXBzZWxsL3BsYWNlbWVudHMgLSByZXNvbHZlZCBwbGFjZW1lbnRzIGZvciBhIGNoYW5uZWwgKyB0ZW5hbnQuICovXG4gIHBsYWNlbWVudHMocXVlcnk6IFBsYWNlbWVudHNRdWVyeSk6IFByb21pc2U8UGxhY2VtZW50W10+O1xuICAvKiogUE9TVCAvdjEvdXBzZWxsL3N1Z2dlc3Rpb25zIC0gaXRlbXMgZm9yIG9uZSBwbGFjZW1lbnQgZ2l2ZW4gdGhlIGxpdmUgY2FydC4gKi9cbiAgc3VnZ2VzdChpbnB1dDogU3VnZ2VzdGlvbnNJbnB1dCk6IFByb21pc2U8U3VnZ2VzdGlvbnNSZXN1bHQ+O1xuICAvKipcbiAgICogUE9TVCAvdjEvdXBzZWxsL2V2ZW50cyAtIHJlcG9ydCBzaG93biAvIGFkZGVkIC8gaWdub3JlZCBmb3IgYVxuICAgKiByZW5kZXJlZCBwbGFjZW1lbnQuIEZpcmUtYW5kLWZvcmdldDsgZmVlZHMgYXR0YWNoLXJhdGUgbWVhc3VyZW1lbnRcbiAgICogYW5kIHRoZSB3ZWlnaHQgdHVuaW5nIHRoYXQgZm9sbG93cyBpdC5cbiAgICovXG4gIHJlcG9ydEV2ZW50cyhpbnB1dDogVXBzZWxsRXZlbnRzSW5wdXQpOiBQcm9taXNlPHsgYWNjZXB0ZWQ6IG51bWJlciB9PjtcblxuICAvKiogR0VUIC92MS91cHNlbGwvYWRtaW4vcGxhY2VtZW50cyAtIHJhdyBjb25maWcgcm93cyAoc2VydmljZS1hY3RvciBvbmx5KS4gKi9cbiAgYWRtaW5MaXN0UGxhY2VtZW50cyhvcHRzPzogeyBwYXJlbnRJZD86IG51bWJlciB9KTogUHJvbWlzZTxQbGFjZW1lbnRSZWNvcmRbXT47XG4gIC8qKiBQVVQgL3YxL3Vwc2VsbC9hZG1pbi9wbGFjZW1lbnRzIC0gY3JlYXRlL3JlcGxhY2UgYSBjb25maWcgcm93IChzZXJ2aWNlLWFjdG9yIG9ubHkpLiAqL1xuICBhZG1pblVwc2VydFBsYWNlbWVudChpbnB1dDogUGxhY2VtZW50VXBzZXJ0SW5wdXQpOiBQcm9taXNlPFBsYWNlbWVudFJlY29yZD47XG4gIC8qKiBERUxFVEUgL3YxL3Vwc2VsbC9hZG1pbi9wbGFjZW1lbnRzIC0gdGhyb3dzIFVwc2VsbEFwaUVycm9yKDQwNCkgaWYgYWJzZW50LiAqL1xuICBhZG1pbkRlbGV0ZVBsYWNlbWVudChpbnB1dDogUGxhY2VtZW50RGVsZXRlSW5wdXQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG5leHBvcnQgY2xhc3MgVXBzZWxsQXBpRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IHN0YXR1czogbnVtYmVyO1xuICByZWFkb25seSBib2R5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc3RhdHVzOiBudW1iZXIsIGJvZHk6IHN0cmluZykge1xuICAgIHN1cGVyKGB1cHNlbGwgQVBJICR7c3RhdHVzfTogJHtib2R5fWApO1xuICAgIHRoaXMubmFtZSA9ICdVcHNlbGxBcGlFcnJvcic7XG4gICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7XG4gICAgdGhpcy5ib2R5ID0gYm9keTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnRQb3NpdGl2ZUludChsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkgfHwgdmFsdWUgPD0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgdXBzZWxsLiR7bGFiZWx9OiBleHBlY3RlZCBhIHBvc2l0aXZlIGludGVnZXIgKGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0pYCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzZXJ0VGVuYW50SWRzKGxhYmVsOiBzdHJpbmcsIGlucHV0OiB7IHBhcmVudElkPzogbnVtYmVyOyBidXNpbmVzc0lkPzogbnVtYmVyIH0pOiB2b2lkIHtcbiAgaWYgKGlucHV0LnBhcmVudElkICE9PSB1bmRlZmluZWQpIGFzc2VydFBvc2l0aXZlSW50KGAke2xhYmVsfS5wYXJlbnRJZGAsIGlucHV0LnBhcmVudElkKTtcbiAgaWYgKGlucHV0LmJ1c2luZXNzSWQgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydFBvc2l0aXZlSW50KGAke2xhYmVsfS5idXNpbmVzc0lkYCwgaW5wdXQuYnVzaW5lc3NJZCk7XG4gICAgaWYgKGlucHV0LnBhcmVudElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdXBzZWxsLiR7bGFiZWx9OiBidXNpbmVzc0lkIHJlcXVpcmVzIHBhcmVudElkYCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQnVpbGQgdGhlIGB1cHNlbGxgIG5hbWVzcGFjZS5cbiAqXG4gKiBTaGFwZSBhbmQgY29udHJhY3QgbWlycm9yIHtAbGluayBjcmVhdGVab25lc0NsaWVudH0gLSBsYXp5IGNvbmZpZ1xuICogcmVzb2x1dGlvbiB2aWEge0BsaW5rIENvbmZpZ1N0YXRlfSwgc2hhcmVkIDQwMS1yZXRyeSB2aWFcbiAqIHtAbGluayBzZW5kV2l0aEF1dGhSZXRyeX0sIGltbXV0YWJsZSBwZXItY2FsbCBjb25maWc7IG5vIGdsb2JhbHMuXG4gKlxuICogUmVhZHMgKGBwbGFjZW1lbnRzYCwgYHN1Z2dlc3RgKSBhY2NlcHQgdXNlciBvciBzZXJ2aWNlIHRva2VucyDigJRcbiAqIGNoYW5uZWwgYXBwcyBjYWxsIHRoZW0gd2l0aCBjdXN0b21lciBzZXNzaW9uIEpXVHMuIEFkbWluIG1ldGhvZHNcbiAqIHJlcXVpcmUgYSBzZXJ2aWNlLWFjdG9yIHRva2VuOyB0aGUgc2VydmVyIGFuc3dlcnMgNDAzIG90aGVyd2lzZSBhbmRcbiAqIHdlIHN1cmZhY2UgaXQgYXMge0BsaW5rIFVwc2VsbEFwaUVycm9yfS5cbiAqL1xuLyoqXG4gKiBFbnZpcm9ubWVudHMgdGhlIFNESyBrbm93cywgbWlycm9yaW5nIHRoZSByZWFsdGltZSBTREsncyBgZW52YCBvcHRpb24uXG4gKiBgYXBpQmFzZWAgb3ZlcnJpZGVzIHRoZXNlIGZvciBhIGNhbGxlciBwb2ludGluZyBhdCBzb21ldGhpbmcgZWxzZS5cbiAqL1xuY29uc3QgRU5WX0JBU0VTID0ge1xuICBwcm9kOiAnaHR0cHM6Ly9hcGkucGxhdGZvcm0udWVuZ2FnZS5pbycsXG4gIHVhdDogJ2h0dHBzOi8vYXBpLnVhdC5wbGF0Zm9ybS51ZW5nYWdlLmlvJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFVwc2VsbEVudiA9IGtleW9mIHR5cGVvZiBFTlZfQkFTRVM7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYHVwc2VsbC5jcmVhdGVDbGllbnQoLi4uKWAuXG4gKlxuICogRGVsaWJlcmF0ZWx5IHRoZSBTQU1FIG9wdGlvbiBuYW1lcyBhcyB0aGUgcmVhbHRpbWUgYnJvd3NlciBTREtcbiAqIChgVWVuZ2FnZS5yZWFsdGltZS5jcmVhdGVDbGllbnRgKSwgc28gYW4gZW5naW5lZXIgd2hvIGhhcyBpbnRlZ3JhdGVkXG4gKiByZWFsdGltZSBkb2VzIG5vdCBoYXZlIHRvIGxlYXJuIGEgc2Vjb25kIHNoYXBlOlxuICpcbiAqICAgZW52ICAgICAgICAgICAgJ3Byb2QnIHwgJ3VhdCcgICAgICAgICAgICAgICAgICDigJQgd2hpY2ggc2VydmVycyB0byB0YWxrIHRvXG4gKiAgIHNlcnZpY2VJZCAgICAgICsgc2VydmljZVNlY3JldCAgICAgICAgICAgICAgICAg4oCUIHBsYXRmb3JtIGNyZWRlbnRpYWxzXG4gKiAgIHRva2VuVXJsICAgICAgIGEgcm91dGUgb24gWU9VUiBzZXJ2ZXIgICAgICAgICAg4oCUIHJldHVybnMgeyB0b2tlbiwgZXhwaXJlc0luIH1cbiAqICAgYXBpQmFzZSAgICAgICAgb3ZlcnJpZGUgdGhlIHNlcnZlcnMgZGlyZWN0bHlcbiAqXG4gKiBQYXNzIGNyZWRlbnRpYWxzIE9SIHRva2VuVXJsLCBuZXZlciBib3RoLiBUb2tlbiBtaW50aW5nIGlzIGxhenk6IG5vdGhpbmcgaXNcbiAqIGZldGNoZWQgdW50aWwgdGhlIGZpcnN0IGNhbGwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZWxsQ2xpZW50T3B0aW9ucyB7XG4gIGVudj86IFVwc2VsbEVudjtcbiAgc2VydmljZUlkPzogc3RyaW5nO1xuICBzZXJ2aWNlU2VjcmV0Pzogc3RyaW5nO1xuICAvKiogU3BhY2Utc2VwYXJhdGVkIHNjb3BlcyB0byByZXF1ZXN0IHdoZW4gbWludGluZyB3aXRoIGNyZWRlbnRpYWxzLiAqL1xuICBzY29wZT86IHN0cmluZztcbiAgLyoqIEEgcm91dGUgb24gdGhlIGNhbGxlcidzIG93biBzZXJ2ZXIgcmV0dXJuaW5nIGB7IHRva2VuLCBleHBpcmVzSW4gfWAuICovXG4gIHRva2VuVXJsPzogc3RyaW5nO1xuICAvKiogT3ZlcnJpZGUgdGhlIHJlc29sdmVkIGVudmlyb25tZW50IGhvc3QuICovXG4gIGFwaUJhc2U/OiBzdHJpbmc7XG4gIGZldGNoRm4/OiB0eXBlb2YgZmV0Y2g7XG4gIGxvZ2dlcj86IFBsYXRmb3JtQ29uZmlnSW5wdXRbJ2xvZ2dlciddO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIHJlYWx0aW1lLXNoYXBlZCBvcHRpb25zIGludG8gdGhlIGludGVybmFsIGNvbmZpZy5cbiAqXG4gKiBFdmVyeSByZWplY3Rpb24gaGVyZSBoYXBwZW5zIGF0IENPTlNUUlVDVElPTiByYXRoZXIgdGhhbiBvbiB0aGUgZmlyc3RcbiAqIHJlcXVlc3QsIG1hdGNoaW5nIHJlYWx0aW1lOiBhIG1pc2NvbmZpZ3VyZWQgY2xpZW50IHNob3VsZCBmYWlsIHdoZXJlIHRoZVxuICogbWlzdGFrZSBpcywgbm90IGxhdGVyIGluc2lkZSBhIGNhcnQgcmVuZGVyLlxuICovXG5mdW5jdGlvbiByZXNvbHZlT3B0aW9ucyhvcHRpb25zOiBVcHNlbGxDbGllbnRPcHRpb25zKTogUGxhdGZvcm1Db25maWdJbnB1dCB7XG4gIGNvbnN0IHsgZW52LCBhcGlCYXNlLCBzZXJ2aWNlSWQsIHNlcnZpY2VTZWNyZXQsIHRva2VuVXJsLCBzY29wZSwgZmV0Y2hGbiwgbG9nZ2VyIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IGJhc2VVcmwgPSBhcGlCYXNlID8/IChlbnYgPyBFTlZfQkFTRVNbZW52XSA6IHVuZGVmaW5lZCk7XG4gIGlmICghYmFzZVVybCkge1xuICAgIHRocm93IG5ldyBDb25maWdFcnJvcihcImNyZWF0ZUNsaWVudDogZW52IGlzIHJlcXVpcmVkICgncHJvZCcgb3IgJ3VhdCcpLCBvciBwYXNzIGFwaUJhc2VcIik7XG4gIH1cbiAgaWYgKGVudiAhPT0gdW5kZWZpbmVkICYmIEVOVl9CQVNFU1tlbnZdID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgQ29uZmlnRXJyb3IoYGNyZWF0ZUNsaWVudDogdW5rbm93biBlbnYgJyR7ZW52fScg4oCUIGV4cGVjdGVkICdwcm9kJyBvciAndWF0J2ApO1xuICB9XG5cbiAgY29uc3QgaGFzQ3JlZGVudGlhbHMgPSBzZXJ2aWNlSWQgIT09IHVuZGVmaW5lZCB8fCBzZXJ2aWNlU2VjcmV0ICE9PSB1bmRlZmluZWQ7XG4gIGlmIChoYXNDcmVkZW50aWFscyAmJiB0b2tlblVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKCdjcmVhdGVDbGllbnQ6IHBhc3Mgc2VydmljZUlkICsgc2VydmljZVNlY3JldCwgb3IgdG9rZW5Vcmwg4oCUIG5vdCBib3RoJyk7XG4gIH1cbiAgaWYgKGhhc0NyZWRlbnRpYWxzICYmIChzZXJ2aWNlSWQgPT09IHVuZGVmaW5lZCB8fCBzZXJ2aWNlU2VjcmV0ID09PSB1bmRlZmluZWQpKSB7XG4gICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKCdjcmVhdGVDbGllbnQ6IHNlcnZpY2VJZCBhbmQgc2VydmljZVNlY3JldCBtdXN0IGJlIHBhc3NlZCB0b2dldGhlcicpO1xuICB9XG5cbiAgY29uc3QgcmVzb2x2ZWQ6IFBsYXRmb3JtQ29uZmlnSW5wdXQgPSB7IGJhc2VVcmwsIGZldGNoRm4sIGxvZ2dlciB9O1xuXG4gIGlmIChzZXJ2aWNlSWQgIT09IHVuZGVmaW5lZCAmJiBzZXJ2aWNlU2VjcmV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXNvbHZlZC5hdXRoID0ge1xuICAgICAgdHlwZTogJ3Rva2VuLXNvdXJjZScsXG4gICAgICBzdGF0ZTogbWFrZVRva2VuU291cmNlU3RhdGUoXG4gICAgICAgIHtcbiAgICAgICAgICBraW5kOiAnc2VydmljZS1jcmVkZW50aWFscycsXG4gICAgICAgICAgY2xpZW50SWQ6IHNlcnZpY2VJZCxcbiAgICAgICAgICBjbGllbnRTZWNyZXQ6IHNlcnZpY2VTZWNyZXQsXG4gICAgICAgICAgYXV0aEJhc2VVcmw6IGAke2Jhc2VVcmx9L2F1dGgvYnVzaW5lc3NgLFxuICAgICAgICAgIHNjb3BlLFxuICAgICAgICB9LFxuICAgICAgICB7IGZldGNoRm4gfSxcbiAgICAgICksXG4gICAgfTtcbiAgfSBlbHNlIGlmICh0b2tlblVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmVzb2x2ZWQuYXV0aCA9IHtcbiAgICAgIHR5cGU6ICd0b2tlbi1zb3VyY2UnLFxuICAgICAgc3RhdGU6IG1ha2VUb2tlblNvdXJjZVN0YXRlKHsga2luZDogJ3Rva2VuLXVybCcsIHRva2VuVXJsIH0sIHsgZmV0Y2hGbiB9KSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVkO1xufVxuXG4vKipcbiAqIFRoZSB1cHNlbGwgbmFtZXNwYWNlLCBtaXJyb3JpbmcgYFVlbmdhZ2UucmVhbHRpbWVgLlxuICpcbiAqICAgdXBzZWxsLmNyZWF0ZUNsaWVudCh7IGVudjogJ3Byb2QnLCBzZXJ2aWNlSWQsIHNlcnZpY2VTZWNyZXQgfSlcbiAqICAgdXBzZWxsLmNyZWF0ZUNsaWVudCh7IGVudjogJ3Byb2QnLCB0b2tlblVybDogJy9hcGkvdXBzZWxsLXRva2VuJyB9KVxuICovXG5leHBvcnQgY29uc3QgdXBzZWxsID0ge1xuICBjcmVhdGVDbGllbnQob3B0aW9uczogVXBzZWxsQ2xpZW50T3B0aW9ucyA9IHt9KTogVXBzZWxsQ2xpZW50IHtcbiAgICByZXR1cm4gY3JlYXRlVXBzZWxsQ2xpZW50SW50ZXJuYWwocmVzb2x2ZU9wdGlvbnMob3B0aW9ucykpO1xuICB9LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYHVwc2VsbC5jcmVhdGVDbGllbnQoeyBlbnYsIHNlcnZpY2VJZCwgc2VydmljZVNlY3JldCB9KWAuXG4gKlxuICogUHVibGlzaGVkIGluIDIuMC4wIGFuZCAyLjEuMCwgc28gaXQgc3RheXMgYXMgYSB0aGluIGFsaWFzIHJhdGhlciB0aGFuIGFcbiAqIGJyZWFraW5nIHJlbW92YWwuIEl0IHRha2VzIHRoZSByYXcgaW50ZXJuYWwgY29uZmlnIChgYmFzZVVybGAsIGBhdXRoYCkgYW5kXG4gKiBkb2VzIG5vIGVudiByZXNvbHV0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVXBzZWxsQ2xpZW50KGlucHV0OiBQbGF0Zm9ybUNvbmZpZ0lucHV0ID0ge30pOiBVcHNlbGxDbGllbnQge1xuICByZXR1cm4gY3JlYXRlVXBzZWxsQ2xpZW50SW50ZXJuYWwoaW5wdXQpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVVcHNlbGxDbGllbnRJbnRlcm5hbChpbnB1dDogUGxhdGZvcm1Db25maWdJbnB1dCA9IHt9KTogVXBzZWxsQ2xpZW50IHtcbiAgY29uc3Qgc3RhdGUgPSBuZXcgQ29uZmlnU3RhdGUoKTtcbiAgc3RhdGUuYXBwbHkoaW5wdXQpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHNlbmQoXG4gICAgbWV0aG9kOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHF1ZXJ5Pzogc3RyaW5nLFxuICAgIGJvZHk/OiB1bmtub3duLFxuICApOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgY29uZmlnID0gc3RhdGUucmVzb2x2ZSgpO1xuICAgIGNvbnN0IHVybCA9IGAke2NvbmZpZy5iYXNlVXJsfSR7cGF0aH0ke3F1ZXJ5ID8/ICcnfWA7XG4gICAgY29uc3QgcGF5bG9hZCA9IGJvZHkgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICAgIHJldHVybiBzZW5kV2l0aEF1dGhSZXRyeShjb25maWcsIHsgbWV0aG9kLCBwYXRoLCB1cmwsIGJvZHk6IHBheWxvYWQgfSk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBleHBlY3RKc29uPFQ+KHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAoIXJlcy5vaykgdGhyb3cgbmV3IFVwc2VsbEFwaUVycm9yKHJlcy5zdGF0dXMsIGF3YWl0IHJlcy50ZXh0KCkpO1xuICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgVDtcbiAgfVxuXG4gIGNvbnN0IGNsaWVudDogVXBzZWxsQ2xpZW50ID0ge1xuICAgIGNvbmZpZyhvcHRzKSB7XG4gICAgICBzdGF0ZS5hcHBseShvcHRzKTtcbiAgICAgIHJldHVybiBjbGllbnQ7XG4gICAgfSxcbiAgICBhdXRoKG9wdHMpIHtcbiAgICAgIHN0YXRlLnNldEF1dGgob3B0cyk7XG4gICAgICByZXR1cm4gY2xpZW50O1xuICAgIH0sXG5cbiAgICBhc3luYyBwbGFjZW1lbnRzKHF1ZXJ5KSB7XG4gICAgICBhc3NlcnRQb3NpdGl2ZUludCgncGxhY2VtZW50cy5wYXJlbnRJZCcsIHF1ZXJ5LnBhcmVudElkKTtcbiAgICAgIGFzc2VydFBvc2l0aXZlSW50KCdwbGFjZW1lbnRzLmJ1c2luZXNzSWQnLCBxdWVyeS5idXNpbmVzc0lkKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgICBjaGFubmVsOiBxdWVyeS5jaGFubmVsLFxuICAgICAgICBwYXJlbnRJZDogU3RyaW5nKHF1ZXJ5LnBhcmVudElkKSxcbiAgICAgICAgYnVzaW5lc3NJZDogU3RyaW5nKHF1ZXJ5LmJ1c2luZXNzSWQpLFxuICAgICAgfSk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBzZW5kKCdHRVQnLCAnL3YxL3Vwc2VsbC9wbGFjZW1lbnRzJywgYD8ke3BhcmFtcy50b1N0cmluZygpfWApO1xuICAgICAgY29uc3QgYm9keSA9IGF3YWl0IGV4cGVjdEpzb248eyBwbGFjZW1lbnRzOiBQbGFjZW1lbnRbXSB9PihyZXMpO1xuICAgICAgcmV0dXJuIGJvZHkucGxhY2VtZW50cztcbiAgICB9LFxuXG4gICAgYXN5bmMgc3VnZ2VzdChpbnB1dCkge1xuICAgICAgaWYgKCFpbnB1dCB8fCB0eXBlb2YgaW5wdXQgIT09ICdvYmplY3QnIHx8ICFpbnB1dC50ZW5hbnQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1cHNlbGwuc3VnZ2VzdDogaW5wdXQgbXVzdCBpbmNsdWRlIGB0ZW5hbnRgIGFuZCBgY29udGV4dC5jYXJ0YCcpO1xuICAgICAgfVxuICAgICAgYXNzZXJ0UG9zaXRpdmVJbnQoJ3N1Z2dlc3QudGVuYW50LnBhcmVudElkJywgaW5wdXQudGVuYW50LnBhcmVudElkKTtcbiAgICAgIGFzc2VydFBvc2l0aXZlSW50KCdzdWdnZXN0LnRlbmFudC5idXNpbmVzc0lkJywgaW5wdXQudGVuYW50LmJ1c2luZXNzSWQpO1xuICAgICAgaWYgKCFpbnB1dC5jb250ZXh0Py5jYXJ0IHx8ICFBcnJheS5pc0FycmF5KGlucHV0LmNvbnRleHQuY2FydC5pdGVtcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1cHNlbGwuc3VnZ2VzdDogY29udGV4dC5jYXJ0Lml0ZW1zIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmQoJ1BPU1QnLCAnL3YxL3Vwc2VsbC9zdWdnZXN0aW9ucycsIHVuZGVmaW5lZCwgaW5wdXQpO1xuICAgICAgcmV0dXJuIGV4cGVjdEpzb248U3VnZ2VzdGlvbnNSZXN1bHQ+KHJlcyk7XG4gICAgfSxcblxuICAgIGFzeW5jIHJlcG9ydEV2ZW50cyhpbnB1dCkge1xuICAgICAgaWYgKCFpbnB1dD8uZXZlbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1cHNlbGwucmVwb3J0RXZlbnRzOiBldmVudHMgbXVzdCBiZSBhIG5vbi1lbXB0eSBhcnJheScpO1xuICAgICAgfVxuICAgICAgYXNzZXJ0UG9zaXRpdmVJbnQoJ3JlcG9ydEV2ZW50cy50ZW5hbnQucGFyZW50SWQnLCBpbnB1dC50ZW5hbnQucGFyZW50SWQpO1xuICAgICAgYXNzZXJ0UG9zaXRpdmVJbnQoJ3JlcG9ydEV2ZW50cy50ZW5hbnQuYnVzaW5lc3NJZCcsIGlucHV0LnRlbmFudC5idXNpbmVzc0lkKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmQoJ1BPU1QnLCAnL3YxL3Vwc2VsbC9ldmVudHMnLCB1bmRlZmluZWQsIGlucHV0KTtcbiAgICAgIHJldHVybiBleHBlY3RKc29uPHsgYWNjZXB0ZWQ6IG51bWJlciB9PihyZXMpO1xuICAgIH0sXG5cbiAgICBhc3luYyBhZG1pbkxpc3RQbGFjZW1lbnRzKG9wdHMgPSB7fSkge1xuICAgICAgaWYgKG9wdHMucGFyZW50SWQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgYXNzZXJ0UG9zaXRpdmVJbnQoJ2FkbWluTGlzdFBsYWNlbWVudHMucGFyZW50SWQnLCBvcHRzLnBhcmVudElkKTtcbiAgICAgIGNvbnN0IHFzID0gb3B0cy5wYXJlbnRJZCAhPT0gdW5kZWZpbmVkID8gYD9wYXJlbnRJZD0ke29wdHMucGFyZW50SWR9YCA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmQoJ0dFVCcsICcvdjEvdXBzZWxsL2FkbWluL3BsYWNlbWVudHMnLCBxcyk7XG4gICAgICBjb25zdCBib2R5ID0gYXdhaXQgZXhwZWN0SnNvbjx7IHBsYWNlbWVudHM6IFBsYWNlbWVudFJlY29yZFtdIH0+KHJlcyk7XG4gICAgICByZXR1cm4gYm9keS5wbGFjZW1lbnRzO1xuICAgIH0sXG5cbiAgICBhc3luYyBhZG1pblVwc2VydFBsYWNlbWVudChpbnB1dCkge1xuICAgICAgYXNzZXJ0VGVuYW50SWRzKCdhZG1pblVwc2VydFBsYWNlbWVudCcsIGlucHV0KTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmQoJ1BVVCcsICcvdjEvdXBzZWxsL2FkbWluL3BsYWNlbWVudHMnLCB1bmRlZmluZWQsIGlucHV0KTtcbiAgICAgIHJldHVybiBleHBlY3RKc29uPFBsYWNlbWVudFJlY29yZD4ocmVzKTtcbiAgICB9LFxuXG4gICAgYXN5bmMgYWRtaW5EZWxldGVQbGFjZW1lbnQoaW5wdXQpIHtcbiAgICAgIGFzc2VydFRlbmFudElkcygnYWRtaW5EZWxldGVQbGFjZW1lbnQnLCBpbnB1dCk7XG4gICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgY2hhbm5lbDogaW5wdXQuY2hhbm5lbCwga2V5OiBpbnB1dC5rZXkgfSk7XG4gICAgICBpZiAoaW5wdXQucGFyZW50SWQgIT09IHVuZGVmaW5lZCkgcGFyYW1zLnNldCgncGFyZW50SWQnLCBTdHJpbmcoaW5wdXQucGFyZW50SWQpKTtcbiAgICAgIGlmIChpbnB1dC5idXNpbmVzc0lkICE9PSB1bmRlZmluZWQpIHBhcmFtcy5zZXQoJ2J1c2luZXNzSWQnLCBTdHJpbmcoaW5wdXQuYnVzaW5lc3NJZCkpO1xuICAgICAgLy8gT21pdHRpbmcgcGFyZW50SWQgdGFyZ2V0cyB0aGUgcGxhdGZvcm0gZGVmYXVsdCByb3csIHdoaWNoIHRoZVxuICAgICAgLy8gc2VydmVyIHJlZnVzZXMgdG8gZGVsZXRlIHdpdGhvdXQgYW4gZXhwbGljaXQgY29uZmlybWF0aW9uLiBTZW5kXG4gICAgICAvLyB0aGUgZmxhZyB0aHJvdWdoIHJhdGhlciB0aGFuIGluZmVycmluZyBpdCwgc28gYSBjYWxsZXIgdGhhdCBtZWFudFxuICAgICAgLy8gdG8gc2NvcGUgdGhlIGRlbGV0ZSBzdGlsbCBnZXRzIHRoZSA0MDAgaW5zdGVhZCBvZiBzaWxlbnRseVxuICAgICAgLy8gd2lwaW5nIHRoZSBkZWZhdWx0IGZvciBldmVyeSB0ZW5hbnQuXG4gICAgICBpZiAoaW5wdXQuY29uZmlybURlbGV0ZURlZmF1bHQpIHBhcmFtcy5zZXQoJ2NvbmZpcm1EZWxldGVEZWZhdWx0JywgJ3RydWUnKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmQoJ0RFTEVURScsICcvdjEvdXBzZWxsL2FkbWluL3BsYWNlbWVudHMnLCBgPyR7cGFyYW1zLnRvU3RyaW5nKCl9YCk7XG4gICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjA0KSByZXR1cm47XG4gICAgICB0aHJvdyBuZXcgVXBzZWxsQXBpRXJyb3IocmVzLnN0YXR1cywgYXdhaXQgcmVzLnRleHQoKSk7XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gY2xpZW50O1xufVxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Vwc2VsbC9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcU1BLGdEQUVDO0FBdk1ELHNDQUttQjtBQUNuQixzQ0FBd0M7QUFDeEMsa0NBQTRDO0FBQzVDLGtEQUF1RDtBQXNDdkQsTUFBYSxjQUFlLFNBQVEsS0FBSztJQUM5QixNQUFNLENBQVM7SUFDZixJQUFJLENBQVM7SUFFdEIsWUFBWSxNQUFjLEVBQUUsSUFBWTtRQUN0QyxLQUFLLENBQUMsY0FBYyxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQVZELHdDQVVDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsS0FBYTtJQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssc0NBQXNDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsS0FBYSxFQUFFLEtBQWlEO0lBQ3ZGLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTO1FBQUUsaUJBQWlCLENBQUMsR0FBRyxLQUFLLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekYsSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ25DLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxhQUFhLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0g7OztHQUdHO0FBQ0gsTUFBTSxTQUFTLEdBQUc7SUFDaEIsSUFBSSxFQUFFLGlDQUFpQztJQUN2QyxHQUFHLEVBQUUscUNBQXFDO0NBQ2xDLENBQUM7QUFpQ1g7Ozs7OztHQU1HO0FBQ0gsU0FBUyxjQUFjLENBQUMsT0FBNEI7SUFDbEQsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFN0YsTUFBTSxPQUFPLEdBQUcsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxvQkFBVyxDQUFDLGtFQUFrRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUNELElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEQsTUFBTSxJQUFJLG9CQUFXLENBQUMsOEJBQThCLEdBQUcsOEJBQThCLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsU0FBUyxLQUFLLFNBQVMsSUFBSSxhQUFhLEtBQUssU0FBUyxDQUFDO0lBQzlFLElBQUksY0FBYyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksb0JBQVcsQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFDRCxJQUFJLGNBQWMsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksYUFBYSxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDL0UsTUFBTSxJQUFJLG9CQUFXLENBQUMsbUVBQW1FLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQXdCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUVuRSxJQUFJLFNBQVMsS0FBSyxTQUFTLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNELFFBQVEsQ0FBQyxJQUFJLEdBQUc7WUFDZCxJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLLEVBQUUsSUFBQSxtQ0FBb0IsRUFDekI7Z0JBQ0UsSUFBSSxFQUFFLHFCQUFxQjtnQkFDM0IsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFlBQVksRUFBRSxhQUFhO2dCQUMzQixXQUFXLEVBQUUsR0FBRyxPQUFPLGdCQUFnQjtnQkFDdkMsS0FBSzthQUNOLEVBQ0QsRUFBRSxPQUFPLEVBQUUsQ0FDWjtTQUNGLENBQUM7SUFDSixDQUFDO1NBQU0sSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDbEMsUUFBUSxDQUFDLElBQUksR0FBRztZQUNkLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRSxJQUFBLG1DQUFvQixFQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ1UsUUFBQSxNQUFNLEdBQUc7SUFDcEIsWUFBWSxDQUFDLFVBQStCLEVBQUU7UUFDNUMsT0FBTywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLFFBQTZCLEVBQUU7SUFDaEUsT0FBTywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxRQUE2QixFQUFFO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLElBQUksb0JBQVcsRUFBRSxDQUFDO0lBQ2hDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbkIsS0FBSyxVQUFVLElBQUksQ0FDakIsTUFBYyxFQUNkLElBQVksRUFDWixLQUFjLEVBQ2QsSUFBYztRQUVkLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFBLHdCQUFpQixFQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxLQUFLLFVBQVUsVUFBVSxDQUFJLEdBQWE7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQUUsTUFBTSxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFpQjtRQUMzQixNQUFNLENBQUMsSUFBSTtZQUNULEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJO1lBQ1AsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ3BCLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxpQkFBaUIsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2dCQUNoQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7YUFDckMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLHVCQUF1QixFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNoRixNQUFNLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBOEIsR0FBRyxDQUFDLENBQUM7WUFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUs7WUFDakIsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3pELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztZQUNwRixDQUFDO1lBQ0QsaUJBQWlCLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxpQkFBaUIsQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDckUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7WUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzNFLE9BQU8sVUFBVSxDQUFvQixHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7WUFDM0UsQ0FBQztZQUNELGlCQUFpQixDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekUsaUJBQWlCLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3RSxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sVUFBVSxDQUF1QixHQUFHLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLElBQUksR0FBRyxFQUFFO1lBQ2pDLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3JDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO2dCQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMvRSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUztnQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDckYsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzNDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRSxNQUFNLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBb0MsR0FBRyxDQUFDLENBQUM7WUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBSztZQUM5QixlQUFlLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDL0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLDZCQUE2QixFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvRSxPQUFPLFVBQVUsQ0FBa0IsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLO1lBQzlCLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMvRSxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssU0FBUztnQkFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDakYsSUFBSSxLQUFLLENBQUMsVUFBVSxLQUFLLFNBQVM7Z0JBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3ZGLGdFQUFnRTtZQUNoRSxrRUFBa0U7WUFDbEUsb0VBQW9FO1lBQ3BFLDZEQUE2RDtZQUM3RCx1Q0FBdUM7WUFDdkMsSUFBSSxLQUFLLENBQUMsb0JBQW9CO2dCQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDM0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLDZCQUE2QixFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6RixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRztnQkFBRSxPQUFPO1lBQy9CLE1BQU0sSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7S0FDRixDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbmZpZ1N0YXRlLFxuICB0eXBlIFBsYXRmb3JtQXV0aCxcbiAgdHlwZSBQbGF0Zm9ybUF1dGhJbnB1dCxcbiAgdHlwZSBQbGF0Zm9ybUNvbmZpZ0lucHV0LFxufSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgQ29uZmlnRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnO1xuaW1wb3J0IHsgc2VuZFdpdGhBdXRoUmV0cnkgfSBmcm9tICcuLi9odHRwJztcbmltcG9ydCB7IG1ha2VUb2tlblNvdXJjZVN0YXRlIH0gZnJvbSAnLi4vdG9rZW4tc291cmNlJztcbmltcG9ydCB0eXBlIHtcbiAgUGxhY2VtZW50LFxuICBQbGFjZW1lbnREZWxldGVJbnB1dCxcbiAgUGxhY2VtZW50UmVjb3JkLFxuICBQbGFjZW1lbnRVcHNlcnRJbnB1dCxcbiAgUGxhY2VtZW50c1F1ZXJ5LFxuICBTdWdnZXN0aW9uc0lucHV0LFxuICBTdWdnZXN0aW9uc1Jlc3VsdCxcbiAgVXBzZWxsRXZlbnRzSW5wdXQsXG59IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGludGVyZmFjZSBVcHNlbGxDbGllbnQge1xuICBjb25maWcoaW5wdXQ6IFBsYXRmb3JtQ29uZmlnSW5wdXQpOiBVcHNlbGxDbGllbnQ7XG4gIGF1dGgoaW5wdXQ6IFBsYXRmb3JtQXV0aElucHV0IHwgUGxhdGZvcm1BdXRoKTogVXBzZWxsQ2xpZW50O1xuXG4gIC8qKiBHRVQgL3YxL3Vwc2VsbC9wbGFjZW1lbnRzIC0gcmVzb2x2ZWQgcGxhY2VtZW50cyBmb3IgYSBjaGFubmVsICsgdGVuYW50LiAqL1xuICBwbGFjZW1lbnRzKHF1ZXJ5OiBQbGFjZW1lbnRzUXVlcnkpOiBQcm9taXNlPFBsYWNlbWVudFtdPjtcbiAgLyoqIFBPU1QgL3YxL3Vwc2VsbC9zdWdnZXN0aW9ucyAtIGl0ZW1zIGZvciBvbmUgcGxhY2VtZW50IGdpdmVuIHRoZSBsaXZlIGNhcnQuICovXG4gIHN1Z2dlc3QoaW5wdXQ6IFN1Z2dlc3Rpb25zSW5wdXQpOiBQcm9taXNlPFN1Z2dlc3Rpb25zUmVzdWx0PjtcbiAgLyoqXG4gICAqIFBPU1QgL3YxL3Vwc2VsbC9ldmVudHMgLSByZXBvcnQgc2hvd24gLyBhZGRlZCAvIGlnbm9yZWQgZm9yIGFcbiAgICogcmVuZGVyZWQgcGxhY2VtZW50LiBGaXJlLWFuZC1mb3JnZXQ7IGZlZWRzIGF0dGFjaC1yYXRlIG1lYXN1cmVtZW50XG4gICAqIGFuZCB0aGUgd2VpZ2h0IHR1bmluZyB0aGF0IGZvbGxvd3MgaXQuXG4gICAqL1xuICByZXBvcnRFdmVudHMoaW5wdXQ6IFVwc2VsbEV2ZW50c0lucHV0KTogUHJvbWlzZTx7IGFjY2VwdGVkOiBudW1iZXIgfT47XG5cbiAgLyoqIEdFVCAvdjEvdXBzZWxsL2FkbWluL3BsYWNlbWVudHMgLSByYXcgY29uZmlnIHJvd3MgKHNlcnZpY2UtYWN0b3Igb25seSkuICovXG4gIGFkbWluTGlzdFBsYWNlbWVudHMob3B0cz86IHtcbiAgICBwYXJlbnRJZD86IG51bWJlcjtcbiAgICBidXNpbmVzc0lkPzogbnVtYmVyO1xuICB9KTogUHJvbWlzZTxQbGFjZW1lbnRSZWNvcmRbXT47XG4gIC8qKiBQVVQgL3YxL3Vwc2VsbC9hZG1pbi9wbGFjZW1lbnRzIC0gY3JlYXRlL3JlcGxhY2UgYSBjb25maWcgcm93IChzZXJ2aWNlLWFjdG9yIG9ubHkpLiAqL1xuICBhZG1pblVwc2VydFBsYWNlbWVudChpbnB1dDogUGxhY2VtZW50VXBzZXJ0SW5wdXQpOiBQcm9taXNlPFBsYWNlbWVudFJlY29yZD47XG4gIC8qKiBERUxFVEUgL3YxL3Vwc2VsbC9hZG1pbi9wbGFjZW1lbnRzIC0gdGhyb3dzIFVwc2VsbEFwaUVycm9yKDQwNCkgaWYgYWJzZW50LiAqL1xuICBhZG1pbkRlbGV0ZVBsYWNlbWVudChpbnB1dDogUGxhY2VtZW50RGVsZXRlSW5wdXQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG5leHBvcnQgY2xhc3MgVXBzZWxsQXBpRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IHN0YXR1czogbnVtYmVyO1xuICByZWFkb25seSBib2R5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc3RhdHVzOiBudW1iZXIsIGJvZHk6IHN0cmluZykge1xuICAgIHN1cGVyKGB1cHNlbGwgQVBJICR7c3RhdHVzfTogJHtib2R5fWApO1xuICAgIHRoaXMubmFtZSA9ICdVcHNlbGxBcGlFcnJvcic7XG4gICAgdGhpcy5zdGF0dXMgPSBzdGF0dXM7XG4gICAgdGhpcy5ib2R5ID0gYm9keTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhc3NlcnRQb3NpdGl2ZUludChsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gIGlmICghTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkgfHwgdmFsdWUgPD0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgdXBzZWxsLiR7bGFiZWx9OiBleHBlY3RlZCBhIHBvc2l0aXZlIGludGVnZXIgKGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0pYCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzZXJ0VGVuYW50SWRzKGxhYmVsOiBzdHJpbmcsIGlucHV0OiB7IHBhcmVudElkPzogbnVtYmVyOyBidXNpbmVzc0lkPzogbnVtYmVyIH0pOiB2b2lkIHtcbiAgaWYgKGlucHV0LnBhcmVudElkICE9PSB1bmRlZmluZWQpIGFzc2VydFBvc2l0aXZlSW50KGAke2xhYmVsfS5wYXJlbnRJZGAsIGlucHV0LnBhcmVudElkKTtcbiAgaWYgKGlucHV0LmJ1c2luZXNzSWQgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydFBvc2l0aXZlSW50KGAke2xhYmVsfS5idXNpbmVzc0lkYCwgaW5wdXQuYnVzaW5lc3NJZCk7XG4gICAgaWYgKGlucHV0LnBhcmVudElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdXBzZWxsLiR7bGFiZWx9OiBidXNpbmVzc0lkIHJlcXVpcmVzIHBhcmVudElkYCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQnVpbGQgdGhlIGB1cHNlbGxgIG5hbWVzcGFjZS5cbiAqXG4gKiBTaGFwZSBhbmQgY29udHJhY3QgbWlycm9yIHtAbGluayBjcmVhdGVab25lc0NsaWVudH0gLSBsYXp5IGNvbmZpZ1xuICogcmVzb2x1dGlvbiB2aWEge0BsaW5rIENvbmZpZ1N0YXRlfSwgc2hhcmVkIDQwMS1yZXRyeSB2aWFcbiAqIHtAbGluayBzZW5kV2l0aEF1dGhSZXRyeX0sIGltbXV0YWJsZSBwZXItY2FsbCBjb25maWc7IG5vIGdsb2JhbHMuXG4gKlxuICogUmVhZHMgKGBwbGFjZW1lbnRzYCwgYHN1Z2dlc3RgKSBhY2NlcHQgdXNlciBvciBzZXJ2aWNlIHRva2VucyDigJRcbiAqIGNoYW5uZWwgYXBwcyBjYWxsIHRoZW0gd2l0aCBjdXN0b21lciBzZXNzaW9uIEpXVHMuIEFkbWluIG1ldGhvZHNcbiAqIHJlcXVpcmUgYSBzZXJ2aWNlLWFjdG9yIHRva2VuOyB0aGUgc2VydmVyIGFuc3dlcnMgNDAzIG90aGVyd2lzZSBhbmRcbiAqIHdlIHN1cmZhY2UgaXQgYXMge0BsaW5rIFVwc2VsbEFwaUVycm9yfS5cbiAqL1xuLyoqXG4gKiBFbnZpcm9ubWVudHMgdGhlIFNESyBrbm93cywgbWlycm9yaW5nIHRoZSByZWFsdGltZSBTREsncyBgZW52YCBvcHRpb24uXG4gKiBgYXBpQmFzZWAgb3ZlcnJpZGVzIHRoZXNlIGZvciBhIGNhbGxlciBwb2ludGluZyBhdCBzb21ldGhpbmcgZWxzZS5cbiAqL1xuY29uc3QgRU5WX0JBU0VTID0ge1xuICBwcm9kOiAnaHR0cHM6Ly9hcGkucGxhdGZvcm0udWVuZ2FnZS5pbycsXG4gIHVhdDogJ2h0dHBzOi8vYXBpLnVhdC5wbGF0Zm9ybS51ZW5nYWdlLmlvJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFVwc2VsbEVudiA9IGtleW9mIHR5cGVvZiBFTlZfQkFTRVM7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYHVwc2VsbC5jcmVhdGVDbGllbnQoLi4uKWAuXG4gKlxuICogRGVsaWJlcmF0ZWx5IHRoZSBTQU1FIG9wdGlvbiBuYW1lcyBhcyB0aGUgcmVhbHRpbWUgYnJvd3NlciBTREtcbiAqIChgVWVuZ2FnZS5yZWFsdGltZS5jcmVhdGVDbGllbnRgKSwgc28gYW4gZW5naW5lZXIgd2hvIGhhcyBpbnRlZ3JhdGVkXG4gKiByZWFsdGltZSBkb2VzIG5vdCBoYXZlIHRvIGxlYXJuIGEgc2Vjb25kIHNoYXBlOlxuICpcbiAqICAgZW52ICAgICAgICAgICAgJ3Byb2QnIHwgJ3VhdCcgICAgICAgICAgICAgICAgICDigJQgd2hpY2ggc2VydmVycyB0byB0YWxrIHRvXG4gKiAgIHNlcnZpY2VJZCAgICAgICsgc2VydmljZVNlY3JldCAgICAgICAgICAgICAgICAg4oCUIHBsYXRmb3JtIGNyZWRlbnRpYWxzXG4gKiAgIHRva2VuVXJsICAgICAgIGEgcm91dGUgb24gWU9VUiBzZXJ2ZXIgICAgICAgICAg4oCUIHJldHVybnMgeyB0b2tlbiwgZXhwaXJlc0luIH1cbiAqICAgYXBpQmFzZSAgICAgICAgb3ZlcnJpZGUgdGhlIHNlcnZlcnMgZGlyZWN0bHlcbiAqXG4gKiBQYXNzIGNyZWRlbnRpYWxzIE9SIHRva2VuVXJsLCBuZXZlciBib3RoLiBUb2tlbiBtaW50aW5nIGlzIGxhenk6IG5vdGhpbmcgaXNcbiAqIGZldGNoZWQgdW50aWwgdGhlIGZpcnN0IGNhbGwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZWxsQ2xpZW50T3B0aW9ucyB7XG4gIGVudj86IFVwc2VsbEVudjtcbiAgc2VydmljZUlkPzogc3RyaW5nO1xuICBzZXJ2aWNlU2VjcmV0Pzogc3RyaW5nO1xuICAvKiogU3BhY2Utc2VwYXJhdGVkIHNjb3BlcyB0byByZXF1ZXN0IHdoZW4gbWludGluZyB3aXRoIGNyZWRlbnRpYWxzLiAqL1xuICBzY29wZT86IHN0cmluZztcbiAgLyoqIEEgcm91dGUgb24gdGhlIGNhbGxlcidzIG93biBzZXJ2ZXIgcmV0dXJuaW5nIGB7IHRva2VuLCBleHBpcmVzSW4gfWAuICovXG4gIHRva2VuVXJsPzogc3RyaW5nO1xuICAvKiogT3ZlcnJpZGUgdGhlIHJlc29sdmVkIGVudmlyb25tZW50IGhvc3QuICovXG4gIGFwaUJhc2U/OiBzdHJpbmc7XG4gIGZldGNoRm4/OiB0eXBlb2YgZmV0Y2g7XG4gIGxvZ2dlcj86IFBsYXRmb3JtQ29uZmlnSW5wdXRbJ2xvZ2dlciddO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIHJlYWx0aW1lLXNoYXBlZCBvcHRpb25zIGludG8gdGhlIGludGVybmFsIGNvbmZpZy5cbiAqXG4gKiBFdmVyeSByZWplY3Rpb24gaGVyZSBoYXBwZW5zIGF0IENPTlNUUlVDVElPTiByYXRoZXIgdGhhbiBvbiB0aGUgZmlyc3RcbiAqIHJlcXVlc3QsIG1hdGNoaW5nIHJlYWx0aW1lOiBhIG1pc2NvbmZpZ3VyZWQgY2xpZW50IHNob3VsZCBmYWlsIHdoZXJlIHRoZVxuICogbWlzdGFrZSBpcywgbm90IGxhdGVyIGluc2lkZSBhIGNhcnQgcmVuZGVyLlxuICovXG5mdW5jdGlvbiByZXNvbHZlT3B0aW9ucyhvcHRpb25zOiBVcHNlbGxDbGllbnRPcHRpb25zKTogUGxhdGZvcm1Db25maWdJbnB1dCB7XG4gIGNvbnN0IHsgZW52LCBhcGlCYXNlLCBzZXJ2aWNlSWQsIHNlcnZpY2VTZWNyZXQsIHRva2VuVXJsLCBzY29wZSwgZmV0Y2hGbiwgbG9nZ2VyIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IGJhc2VVcmwgPSBhcGlCYXNlID8/IChlbnYgPyBFTlZfQkFTRVNbZW52XSA6IHVuZGVmaW5lZCk7XG4gIGlmICghYmFzZVVybCkge1xuICAgIHRocm93IG5ldyBDb25maWdFcnJvcihcImNyZWF0ZUNsaWVudDogZW52IGlzIHJlcXVpcmVkICgncHJvZCcgb3IgJ3VhdCcpLCBvciBwYXNzIGFwaUJhc2VcIik7XG4gIH1cbiAgaWYgKGVudiAhPT0gdW5kZWZpbmVkICYmIEVOVl9CQVNFU1tlbnZdID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgQ29uZmlnRXJyb3IoYGNyZWF0ZUNsaWVudDogdW5rbm93biBlbnYgJyR7ZW52fScg4oCUIGV4cGVjdGVkICdwcm9kJyBvciAndWF0J2ApO1xuICB9XG5cbiAgY29uc3QgaGFzQ3JlZGVudGlhbHMgPSBzZXJ2aWNlSWQgIT09IHVuZGVmaW5lZCB8fCBzZXJ2aWNlU2VjcmV0ICE9PSB1bmRlZmluZWQ7XG4gIGlmIChoYXNDcmVkZW50aWFscyAmJiB0b2tlblVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKCdjcmVhdGVDbGllbnQ6IHBhc3Mgc2VydmljZUlkICsgc2VydmljZVNlY3JldCwgb3IgdG9rZW5Vcmwg4oCUIG5vdCBib3RoJyk7XG4gIH1cbiAgaWYgKGhhc0NyZWRlbnRpYWxzICYmIChzZXJ2aWNlSWQgPT09IHVuZGVmaW5lZCB8fCBzZXJ2aWNlU2VjcmV0ID09PSB1bmRlZmluZWQpKSB7XG4gICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKCdjcmVhdGVDbGllbnQ6IHNlcnZpY2VJZCBhbmQgc2VydmljZVNlY3JldCBtdXN0IGJlIHBhc3NlZCB0b2dldGhlcicpO1xuICB9XG5cbiAgY29uc3QgcmVzb2x2ZWQ6IFBsYXRmb3JtQ29uZmlnSW5wdXQgPSB7IGJhc2VVcmwsIGZldGNoRm4sIGxvZ2dlciB9O1xuXG4gIGlmIChzZXJ2aWNlSWQgIT09IHVuZGVmaW5lZCAmJiBzZXJ2aWNlU2VjcmV0ICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXNvbHZlZC5hdXRoID0ge1xuICAgICAgdHlwZTogJ3Rva2VuLXNvdXJjZScsXG4gICAgICBzdGF0ZTogbWFrZVRva2VuU291cmNlU3RhdGUoXG4gICAgICAgIHtcbiAgICAgICAgICBraW5kOiAnc2VydmljZS1jcmVkZW50aWFscycsXG4gICAgICAgICAgY2xpZW50SWQ6IHNlcnZpY2VJZCxcbiAgICAgICAgICBjbGllbnRTZWNyZXQ6IHNlcnZpY2VTZWNyZXQsXG4gICAgICAgICAgYXV0aEJhc2VVcmw6IGAke2Jhc2VVcmx9L2F1dGgvYnVzaW5lc3NgLFxuICAgICAgICAgIHNjb3BlLFxuICAgICAgICB9LFxuICAgICAgICB7IGZldGNoRm4gfSxcbiAgICAgICksXG4gICAgfTtcbiAgfSBlbHNlIGlmICh0b2tlblVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmVzb2x2ZWQuYXV0aCA9IHtcbiAgICAgIHR5cGU6ICd0b2tlbi1zb3VyY2UnLFxuICAgICAgc3RhdGU6IG1ha2VUb2tlblNvdXJjZVN0YXRlKHsga2luZDogJ3Rva2VuLXVybCcsIHRva2VuVXJsIH0sIHsgZmV0Y2hGbiB9KSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVkO1xufVxuXG4vKipcbiAqIFRoZSB1cHNlbGwgbmFtZXNwYWNlLCBtaXJyb3JpbmcgYFVlbmdhZ2UucmVhbHRpbWVgLlxuICpcbiAqICAgdXBzZWxsLmNyZWF0ZUNsaWVudCh7IGVudjogJ3Byb2QnLCBzZXJ2aWNlSWQsIHNlcnZpY2VTZWNyZXQgfSlcbiAqICAgdXBzZWxsLmNyZWF0ZUNsaWVudCh7IGVudjogJ3Byb2QnLCB0b2tlblVybDogJy9hcGkvdXBzZWxsLXRva2VuJyB9KVxuICovXG5leHBvcnQgY29uc3QgdXBzZWxsID0ge1xuICBjcmVhdGVDbGllbnQob3B0aW9uczogVXBzZWxsQ2xpZW50T3B0aW9ucyA9IHt9KTogVXBzZWxsQ2xpZW50IHtcbiAgICByZXR1cm4gY3JlYXRlVXBzZWxsQ2xpZW50SW50ZXJuYWwocmVzb2x2ZU9wdGlvbnMob3B0aW9ucykpO1xuICB9LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYHVwc2VsbC5jcmVhdGVDbGllbnQoeyBlbnYsIHNlcnZpY2VJZCwgc2VydmljZVNlY3JldCB9KWAuXG4gKlxuICogUHVibGlzaGVkIGluIDIuMC4wIGFuZCAyLjEuMCwgc28gaXQgc3RheXMgYXMgYSB0aGluIGFsaWFzIHJhdGhlciB0aGFuIGFcbiAqIGJyZWFraW5nIHJlbW92YWwuIEl0IHRha2VzIHRoZSByYXcgaW50ZXJuYWwgY29uZmlnIChgYmFzZVVybGAsIGBhdXRoYCkgYW5kXG4gKiBkb2VzIG5vIGVudiByZXNvbHV0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVXBzZWxsQ2xpZW50KGlucHV0OiBQbGF0Zm9ybUNvbmZpZ0lucHV0ID0ge30pOiBVcHNlbGxDbGllbnQge1xuICByZXR1cm4gY3JlYXRlVXBzZWxsQ2xpZW50SW50ZXJuYWwoaW5wdXQpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVVcHNlbGxDbGllbnRJbnRlcm5hbChpbnB1dDogUGxhdGZvcm1Db25maWdJbnB1dCA9IHt9KTogVXBzZWxsQ2xpZW50IHtcbiAgY29uc3Qgc3RhdGUgPSBuZXcgQ29uZmlnU3RhdGUoKTtcbiAgc3RhdGUuYXBwbHkoaW5wdXQpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHNlbmQoXG4gICAgbWV0aG9kOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHF1ZXJ5Pzogc3RyaW5nLFxuICAgIGJvZHk/OiB1bmtub3duLFxuICApOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgY29uZmlnID0gc3RhdGUucmVzb2x2ZSgpO1xuICAgIGNvbnN0IHVybCA9IGAke2NvbmZpZy5iYXNlVXJsfSR7cGF0aH0ke3F1ZXJ5ID8/ICcnfWA7XG4gICAgY29uc3QgcGF5bG9hZCA9IGJvZHkgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IEpTT04uc3RyaW5naWZ5KGJvZHkpO1xuICAgIHJldHVybiBzZW5kV2l0aEF1dGhSZXRyeShjb25maWcsIHsgbWV0aG9kLCBwYXRoLCB1cmwsIGJvZHk6IHBheWxvYWQgfSk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBleHBlY3RKc29uPFQ+KHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAoIXJlcy5vaykgdGhyb3cgbmV3IFVwc2VsbEFwaUVycm9yKHJlcy5zdGF0dXMsIGF3YWl0IHJlcy50ZXh0KCkpO1xuICAgIHJldHVybiAoYXdhaXQgcmVzLmpzb24oKSkgYXMgVDtcbiAgfVxuXG4gIGNvbnN0IGNsaWVudDogVXBzZWxsQ2xpZW50ID0ge1xuICAgIGNvbmZpZyhvcHRzKSB7XG4gICAgICBzdGF0ZS5hcHBseShvcHRzKTtcbiAgICAgIHJldHVybiBjbGllbnQ7XG4gICAgfSxcbiAgICBhdXRoKG9wdHMpIHtcbiAgICAgIHN0YXRlLnNldEF1dGgob3B0cyk7XG4gICAgICByZXR1cm4gY2xpZW50O1xuICAgIH0sXG5cbiAgICBhc3luYyBwbGFjZW1lbnRzKHF1ZXJ5KSB7XG4gICAgICBhc3NlcnRQb3NpdGl2ZUludCgncGxhY2VtZW50cy5wYXJlbnRJZCcsIHF1ZXJ5LnBhcmVudElkKTtcbiAgICAgIGFzc2VydFBvc2l0aXZlSW50KCdwbGFjZW1lbnRzLmJ1c2luZXNzSWQnLCBxdWVyeS5idXNpbmVzc0lkKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgICBjaGFubmVsOiBxdWVyeS5jaGFubmVsLFxuICAgICAgICBwYXJlbnRJZDogU3RyaW5nKHF1ZXJ5LnBhcmVudElkKSxcbiAgICAgICAgYnVzaW5lc3NJZDogU3RyaW5nKHF1ZXJ5LmJ1c2luZXNzSWQpLFxuICAgICAgfSk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBzZW5kKCdHRVQnLCAnL3YxL3Vwc2VsbC9wbGFjZW1lbnRzJywgYD8ke3BhcmFtcy50b1N0cmluZygpfWApO1xuICAgICAgY29uc3QgYm9keSA9IGF3YWl0IGV4cGVjdEpzb248eyBwbGFjZW1lbnRzOiBQbGFjZW1lbnRbXSB9PihyZXMpO1xuICAgICAgcmV0dXJuIGJvZHkucGxhY2VtZW50cztcbiAgICB9LFxuXG4gICAgYXN5bmMgc3VnZ2VzdChpbnB1dCkge1xuICAgICAgaWYgKCFpbnB1dCB8fCB0eXBlb2YgaW5wdXQgIT09ICdvYmplY3QnIHx8ICFpbnB1dC50ZW5hbnQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1cHNlbGwuc3VnZ2VzdDogaW5wdXQgbXVzdCBpbmNsdWRlIGB0ZW5hbnRgIGFuZCBgY29udGV4dC5jYXJ0YCcpO1xuICAgICAgfVxuICAgICAgYXNzZXJ0UG9zaXRpdmVJbnQoJ3N1Z2dlc3QudGVuYW50LnBhcmVudElkJywgaW5wdXQudGVuYW50LnBhcmVudElkKTtcbiAgICAgIGFzc2VydFBvc2l0aXZlSW50KCdzdWdnZXN0LnRlbmFudC5idXNpbmVzc0lkJywgaW5wdXQudGVuYW50LmJ1c2luZXNzSWQpO1xuICAgICAgaWYgKCFpbnB1dC5jb250ZXh0Py5jYXJ0IHx8ICFBcnJheS5pc0FycmF5KGlucHV0LmNvbnRleHQuY2FydC5pdGVtcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1cHNlbGwuc3VnZ2VzdDogY29udGV4dC5jYXJ0Lml0ZW1zIG11c3QgYmUgYW4gYXJyYXknKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmQoJ1BPU1QnLCAnL3YxL3Vwc2VsbC9zdWdnZXN0aW9ucycsIHVuZGVmaW5lZCwgaW5wdXQpO1xuICAgICAgcmV0dXJuIGV4cGVjdEpzb248U3VnZ2VzdGlvbnNSZXN1bHQ+KHJlcyk7XG4gICAgfSxcblxuICAgIGFzeW5jIHJlcG9ydEV2ZW50cyhpbnB1dCkge1xuICAgICAgaWYgKCFpbnB1dD8uZXZlbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1cHNlbGwucmVwb3J0RXZlbnRzOiBldmVudHMgbXVzdCBiZSBhIG5vbi1lbXB0eSBhcnJheScpO1xuICAgICAgfVxuICAgICAgYXNzZXJ0UG9zaXRpdmVJbnQoJ3JlcG9ydEV2ZW50cy50ZW5hbnQucGFyZW50SWQnLCBpbnB1dC50ZW5hbnQucGFyZW50SWQpO1xuICAgICAgYXNzZXJ0UG9zaXRpdmVJbnQoJ3JlcG9ydEV2ZW50cy50ZW5hbnQuYnVzaW5lc3NJZCcsIGlucHV0LnRlbmFudC5idXNpbmVzc0lkKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbmQoJ1BPU1QnLCAnL3YxL3Vwc2VsbC9ldmVudHMnLCB1bmRlZmluZWQsIGlucHV0KTtcbiAgICAgIHJldHVybiBleHBlY3RKc29uPHsgYWNjZXB0ZWQ6IG51bWJlciB9PihyZXMpO1xuICAgIH0sXG5cbiAgICBhc3luYyBhZG1pbkxpc3RQbGFjZW1lbnRzKG9wdHMgPSB7fSkge1xuICAgICAgYXNzZXJ0VGVuYW50SWRzKCdhZG1pbkxpc3RQbGFjZW1lbnRzJywgb3B0cyk7XG4gICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgICBpZiAob3B0cy5wYXJlbnRJZCAhPT0gdW5kZWZpbmVkKSBwYXJhbXMuc2V0KCdwYXJlbnRJZCcsIFN0cmluZyhvcHRzLnBhcmVudElkKSk7XG4gICAgICBpZiAob3B0cy5idXNpbmVzc0lkICE9PSB1bmRlZmluZWQpIHBhcmFtcy5zZXQoJ2J1c2luZXNzSWQnLCBTdHJpbmcob3B0cy5idXNpbmVzc0lkKSk7XG4gICAgICBjb25zdCBxdWVyeSA9IHBhcmFtcy50b1N0cmluZygpO1xuICAgICAgY29uc3QgcXMgPSBxdWVyeSA/IGA/JHtxdWVyeX1gIDogdW5kZWZpbmVkO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VuZCgnR0VUJywgJy92MS91cHNlbGwvYWRtaW4vcGxhY2VtZW50cycsIHFzKTtcbiAgICAgIGNvbnN0IGJvZHkgPSBhd2FpdCBleHBlY3RKc29uPHsgcGxhY2VtZW50czogUGxhY2VtZW50UmVjb3JkW10gfT4ocmVzKTtcbiAgICAgIHJldHVybiBib2R5LnBsYWNlbWVudHM7XG4gICAgfSxcblxuICAgIGFzeW5jIGFkbWluVXBzZXJ0UGxhY2VtZW50KGlucHV0KSB7XG4gICAgICBhc3NlcnRUZW5hbnRJZHMoJ2FkbWluVXBzZXJ0UGxhY2VtZW50JywgaW5wdXQpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VuZCgnUFVUJywgJy92MS91cHNlbGwvYWRtaW4vcGxhY2VtZW50cycsIHVuZGVmaW5lZCwgaW5wdXQpO1xuICAgICAgcmV0dXJuIGV4cGVjdEpzb248UGxhY2VtZW50UmVjb3JkPihyZXMpO1xuICAgIH0sXG5cbiAgICBhc3luYyBhZG1pbkRlbGV0ZVBsYWNlbWVudChpbnB1dCkge1xuICAgICAgYXNzZXJ0VGVuYW50SWRzKCdhZG1pbkRlbGV0ZVBsYWNlbWVudCcsIGlucHV0KTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoeyBjaGFubmVsOiBpbnB1dC5jaGFubmVsLCBrZXk6IGlucHV0LmtleSB9KTtcbiAgICAgIGlmIChpbnB1dC5wYXJlbnRJZCAhPT0gdW5kZWZpbmVkKSBwYXJhbXMuc2V0KCdwYXJlbnRJZCcsIFN0cmluZyhpbnB1dC5wYXJlbnRJZCkpO1xuICAgICAgaWYgKGlucHV0LmJ1c2luZXNzSWQgIT09IHVuZGVmaW5lZCkgcGFyYW1zLnNldCgnYnVzaW5lc3NJZCcsIFN0cmluZyhpbnB1dC5idXNpbmVzc0lkKSk7XG4gICAgICAvLyBPbWl0dGluZyBwYXJlbnRJZCB0YXJnZXRzIHRoZSBwbGF0Zm9ybSBkZWZhdWx0IHJvdywgd2hpY2ggdGhlXG4gICAgICAvLyBzZXJ2ZXIgcmVmdXNlcyB0byBkZWxldGUgd2l0aG91dCBhbiBleHBsaWNpdCBjb25maXJtYXRpb24uIFNlbmRcbiAgICAgIC8vIHRoZSBmbGFnIHRocm91Z2ggcmF0aGVyIHRoYW4gaW5mZXJyaW5nIGl0LCBzbyBhIGNhbGxlciB0aGF0IG1lYW50XG4gICAgICAvLyB0byBzY29wZSB0aGUgZGVsZXRlIHN0aWxsIGdldHMgdGhlIDQwMCBpbnN0ZWFkIG9mIHNpbGVudGx5XG4gICAgICAvLyB3aXBpbmcgdGhlIGRlZmF1bHQgZm9yIGV2ZXJ5IHRlbmFudC5cbiAgICAgIGlmIChpbnB1dC5jb25maXJtRGVsZXRlRGVmYXVsdCkgcGFyYW1zLnNldCgnY29uZmlybURlbGV0ZURlZmF1bHQnLCAndHJ1ZScpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgc2VuZCgnREVMRVRFJywgJy92MS91cHNlbGwvYWRtaW4vcGxhY2VtZW50cycsIGA/JHtwYXJhbXMudG9TdHJpbmcoKX1gKTtcbiAgICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDQpIHJldHVybjtcbiAgICAgIHRocm93IG5ldyBVcHNlbGxBcGlFcnJvcihyZXMuc3RhdHVzLCBhd2FpdCByZXMudGV4dCgpKTtcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBjbGllbnQ7XG59XG4iXX0=
|
package/dist/upsell/schema.d.ts
CHANGED
|
@@ -86,12 +86,16 @@ export interface SuggestionsInput {
|
|
|
86
86
|
cart: Cart;
|
|
87
87
|
fulfilmentMode?: 'delivery' | 'pickup' | 'dine_in';
|
|
88
88
|
/**
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
89
|
+
* Private upsell tokens supply this identity when omitted; any supplied ID must match.
|
|
90
|
+
* `id` is the internal contact ID; contactMappingId is the per-outlet mapping PK.
|
|
91
|
+
* Neither field accepts a mobile number.
|
|
92
92
|
*/
|
|
93
93
|
customer?: {
|
|
94
94
|
id: string;
|
|
95
|
+
contactMappingId?: number;
|
|
96
|
+
} | {
|
|
97
|
+
contactMappingId: number;
|
|
98
|
+
id?: string;
|
|
95
99
|
};
|
|
96
100
|
/**
|
|
97
101
|
* Optional; not yet acted on. Impression fatigue is session-scoped
|
package/dist/upsell/schema.js
CHANGED
|
@@ -9,4 +9,4 @@
|
|
|
9
9
|
* admin methods.
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Vwc2VsbC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUeXBlIHN1cmZhY2UgZm9yIHRoZSBwbGF0Zm9ybSBVcHNlbGwgQVBJLlxuICpcbiAqIFR3byBjb25zdW1lci1mYWNpbmcgY2FsbHM6IGBwbGFjZW1lbnRzKC4uLilgICh3aGljaCB1cHNlbGwgc3VyZmFjZXMgYVxuICogY2hhbm5lbCBzaG91bGQgcmVuZGVyIGZvciBhIHRlbmFudCkgYW5kIGBzdWdnZXN0KC4uLilgIChpdGVtcyBmb3Igb25lXG4gKiBwbGFjZW1lbnQgZ2l2ZW4gdGhlIGxpdmUgY2FydCkuIGByZXBvcnRFdmVudHMoLi4uKWAgZmVlZHMgYXR0YWNoLXJhdGVcbiAqIHRlbGVtZXRyeS4gUGxhY2VtZW50IGNvbmZpZyBpcyBtYW5hZ2VkIHZpYSB0aGUgc2VydmljZS1hY3Rvci1vbmx5XG4gKiBhZG1pbiBtZXRob2RzLlxuICovXG5cbmV4cG9ydCB0eXBlIENoYW5uZWwgPSAnbW9iaWxlX2FwcCcgfCAna2lvc2snIHwgJ3doaXRlbGFiZWxfd2ViJyB8ICd3aGF0c2FwcCcgfCAndm9pY2UnO1xuXG4vKipcbiAqIEEgbW9tZW50IGluIHRoZSBjdXN0b21lciBqb3VybmV5IOKAlCB0aGUgdW5pdCBvZiBwbGF0Zm9ybSBwb2xpY3lcbiAqIChwcmljZSBiYW5kLCBtYXggaXRlbXMsIGFuZCBsYXRlciB0aGUgc2lnbmFsIHdlaWdodCBwcm9maWxlKS4gQVxuICogcGxhY2VtZW50IGlzIGEgY2hhbm5lbCdzIGpvdXJuZXkgbGFiZWwgcG9pbnRpbmcgYXQgb25lIG9mIHRoZXNlLlxuICovXG5leHBvcnQgdHlwZSBUb3VjaHBvaW50ID1cbiAgfCAnaG9tZSdcbiAgfCAnbWVudV9icm93c2luZydcbiAgfCAnbWVudV9jb21wb3NpbmcnXG4gIHwgJ3NlYXJjaF9ub19yZXN1bHQnXG4gIHwgJ2NhcnQnXG4gIHwgJ3ByZV9jaGVja291dCdcbiAgfCAncG9zdF9vcmRlcic7XG5cbi8qKlxuICogUmVuZGVyaW5nIGhpbnQsIG93bmVkIGJ5IHRoZSBjaGFubmVsIGZyb250ZW5kIOKAlCB0aGUgcGxhdGZvcm0gbmV2ZXJcbiAqIGludGVycHJldHMgaXQuIEtub3duIHZhbHVlcyBhcmUgbGlzdGVkIGZvciBlZGl0b3IgY29tcGxldGlvbiwgYnV0IGFueVxuICogbG93ZXJjYXNlIGlkZW50aWZpZXIgaXMgdmFsaWQgc28gbmV3IGxheW91dHMgbmVlZCBubyBTREsgcmVsZWFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgS25vd25MYXlvdXQgPVxuICB8ICdjYXJvdXNlbF8ydXAnXG4gIHwgJ2hvcml6b250YWxfY2Fyb3VzZWwnXG4gIHwgJ2dyaWRfMnhuX21vZGFsJ1xuICB8ICdjYXJvdXNlbF8xdXAnXG4gIHwgJ3ZlcnRpY2FsX2xpc3QnXG4gIHwgJ2dyaWRfM3huJ1xuICB8ICdjb21wYWN0X2xpc3QnXG4gIHwgJ2hlcm9fYmFubmVyJztcblxuZXhwb3J0IHR5cGUgTGF5b3V0ID0gS25vd25MYXlvdXQgfCAoc3RyaW5nICYge30pO1xuXG4vKiogV2h5IGFuIGl0ZW0gd2FzIHJlY29tbWVuZGVkLiBDaGFubmVscyByZW5kZXIgdGhlc2UgaW4gY3VzdG9tZXIgbGFuZ3VhZ2UuICovXG5leHBvcnQgdHlwZSBSZWFzb25Db2RlID1cbiAgfCAncG9wdWxhcl9ub3cnXG4gIHwgJ2NvbXBsZXRlc19tZWFsJ1xuICB8ICdvZnRlbl9vcmRlcmVkX3RvZ2V0aGVyJ1xuICB8ICd5b3VyX3VzdWFsJ1xuICB8ICdjaGVmc19waWNrJztcblxuLyoqXG4gKiBXaGljaCBsYXllciBwcm9kdWNlZCBhbiBpdGVtLlxuICpcbiAqIFNlcGFyYXRlIGZyb20gYHJlYXNvbkNvZGVgIG9uIHB1cnBvc2U6IGByZWFzb25Db2RlYCBpcyBjdXN0b21lci1mYWNpbmdcbiAqIGNvcHkgdGhlIGNoYW5uZWwgcmVuZGVycyAoXCJQb3B1bGFyIHJpZ2h0IG5vd1wiKSwgc28gb3ZlcmxvYWRpbmcgaXQgd2l0aFxuICogcHJvdmVuYW5jZSB3b3VsZCBjaGFuZ2UgdGhlIGN1c3RvbWVyJ3MgdmlzaWJsZSBsYWJlbCB3aGVuZXZlciB0aGVcbiAqIHNvdXJjZSBjaGFuZ2VkLlxuICpcbiAqICAgYWxnb3JpdGhtICAgICDigJQgc2NvcmVkIGJ5IHRoZSBlbmdpbmUsIHByaW9yaXR5IHBpbnMgaW5jbHVkZWRcbiAqICAgbWVyY2hhbnRfbGlzdCDigJQgdGhlIG1lcmNoYW50J3Mgb3duIGxpc3QgcmVwbGFjZWQgdGhlIGFsZ29yaXRobVxuICogICBmYWxsYmFjayAgICAgIOKAlCB0b3BwZWQgdXAgZnJvbSB0aGUgYmFja3VwIGxpc3QsIHNhZmV0eSBydWxlcyBvbmx5XG4gKi9cbmV4cG9ydCB0eXBlIEl0ZW1Tb3VyY2UgPSAnYWxnb3JpdGhtJyB8ICdtZXJjaGFudF9saXN0JyB8ICdmYWxsYmFjayc7XG5cbi8qKiBXaGljaCBydW5nIG9mIHRoZSByZXNvbHV0aW9uIGxhZGRlciBhbnN3ZXJlZCB0aGUgcmVxdWVzdC4gKi9cbmV4cG9ydCB0eXBlIExhZGRlclJ1bmcgPVxuICB8ICdmdWxsX2VuZ2luZSdcbiAgfCAnYmFuZF9yZWxheGF0aW9uJ1xuICB8ICdwb3B1bGFyaXR5X2Zsb29yJ1xuICB8ICdiYWNrdXBfc3VnZ2VzdGlvbnMnXG4gIHwgJ2VtcHR5X2RlZ3JhZGVkJztcblxuZXhwb3J0IHR5cGUgVXBzZWxsU3RyYXRlZ3kgPVxuICB8ICdtZW51LW9yZGVyLXBvcHVsYXJpdHknXG4gIHwgJ2xlZ2FjeS1jYXRhbG9nLXNhbXBsZSdcbiAgLyoqXG4gICAqIFRoZSBtZXJjaGFudCdzIG93biBsaXN0IHJlcGxhY2VzIHRoZSBhbGdvcml0aG0gYXQgdGhpcyBwbGFjZW1lbnQuXG4gICAqIFJlcXVpcmVzIGBzdHJhdGVneVBhcmFtcy5tZXJjaGFudExpc3RJdGVtU2x1Z3NgOyBhbiBlbXB0eSBsaXN0IGZhbGxzXG4gICAqIGJhY2sgdG8gYG1lbnUtb3JkZXItcG9wdWxhcml0eWAgcmF0aGVyIHRoYW4gc2VydmluZyBub3RoaW5nLlxuICAgKi9cbiAgfCAnbWVyY2hhbnQtbGlzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50RGlzcGxheSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIC8qKiBSZXF1ZXN0ZWQgY291bnQuIFRvdWNocG9pbnQgcG9saWN5IG1heSBjYXAgaXQgbG93ZXIg4oCUIHNlZSBgbWV0YS5tYXhJdGVtc2AuICovXG4gIG1heEl0ZW1zOiBudW1iZXI7XG4gIGxheW91dDogTGF5b3V0O1xufVxuXG4vKiogUmVzb2x2ZWQgcHVibGljIHBsYWNlbWVudCAoYnVzaW5lc3Mgb3ZlcnJpZGUgPiBicmFuZCA+IHBsYXRmb3JtIGRlZmF1bHQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnQge1xuICBrZXk6IHN0cmluZztcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAgdG91Y2hwb2ludDogVG91Y2hwb2ludDtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlzcGxheTogUGxhY2VtZW50RGlzcGxheTtcbiAgY29uZmlnVmVyc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbmFudCB7XG4gIHBhcmVudElkOiBudW1iZXI7XG4gIGJ1c2luZXNzSWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0SXRlbSB7XG4gIGl0ZW1JZDogbnVtYmVyO1xuICBxdHk6IG51bWJlcjtcbiAgdW5pdFByaWNlOiBudW1iZXI7XG4gIC8qKiBPcHRpb25hbDsgbGV0cyB0aGUgZGlldGFyeSBnYXRlIGFuZCBjYXRlZ29yeSBuby1yZXBlYXQgc2VlIGNhcnQgY29udGVudHMuICovXG4gIGl0ZW1TbHVnPzogc3RyaW5nO1xuICBzZWN0aW9uTmFtZT86IHN0cmluZztcbiAgLyoqIExlZ2FjeSB2ZWdOb252ZWdCb3RoIGZsYWc6IDEgdmVnLCAyIG5vbi12ZWcsIDMgYm90aC9lZ2cuICovXG4gIHZlZz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0IHtcbiAgaXRlbXM6IENhcnRJdGVtW107XG4gIHN1YnRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbnNJbnB1dCB7XG4gIGNoYW5uZWw6IENoYW5uZWw7XG4gIHBsYWNlbWVudDogc3RyaW5nO1xuICB0ZW5hbnQ6IFRlbmFudDtcbiAgY29udGV4dDoge1xuICAgIGNhcnQ6IENhcnQ7XG4gICAgZnVsZmlsbWVudE1vZGU/OiAnZGVsaXZlcnknIHwgJ3BpY2t1cCcgfCAnZGluZV9pbic7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWw7IHVudXNlZCBieSB0aGUgdjEgc2NvcmVycy4gSW4gdGhlIGNvbnRyYWN0IGZyb20gZGF5IG9uZVxuICAgICAqIHNvIHBlcnNvbmFsaXphdGlvbiBsYW5kcyB3aXRob3V0IGEgYnJlYWsuIGBpZGAgTVVTVCBiZSB0aGUgb3BhcXVlXG4gICAgICogcGxhdGZvcm0gY3VzdG9tZXIgaWQsIG5ldmVyIGEgbW9iaWxlIG51bWJlci5cbiAgICAgKi9cbiAgICBjdXN0b21lcj86IHsgaWQ6IHN0cmluZyB9O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsOyBub3QgeWV0IGFjdGVkIG9uLiBJbXByZXNzaW9uIGZhdGlndWUgaXMgc2Vzc2lvbi1zY29wZWRcbiAgICAgKiBhbmQgc2hhcmVkIGFjcm9zcyB0b3VjaHBvaW50cyDigJQgc2VuZCBpdCBub3cgc28gY2hhbm5lbHNcbiAgICAgKiBpbnN0cnVtZW50IG9uY2UgcmF0aGVyIHRoYW4gdHdpY2UuXG4gICAgICovXG4gICAgc2Vzc2lvbklkPzogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIE9uZSBjaG9vc2FibGUgc2l6ZSBvZiBhbiBpdGVtIHdpdGggdmFyaWFudHMg4oCUIHdoYXQgYSBwaWNrZXIgbGlzdHMuXG4gKlxuICogYGl0ZW1JZGAgaGVyZSBpcyB3aGF0IGdvZXMgaW50byB0aGUgY2FydCBsaW5lIG9uY2UgdGhlIGN1c3RvbWVyXG4gKiBjaG9vc2VzLiBSZXBvcnQgaXQgYmFjayB0byBgL2V2ZW50c2AgYXMgYHZhcmlhbnRJdGVtSWRgLCBrZWVwaW5nIHRoZVxuICogZXZlbnQncyBvd24gYGl0ZW1JZGAgYXMgdGhlIERJU0gg4oCUIG90aGVyd2lzZSB0aGUgYGFkZGVkYCBldmVudCBuZXZlclxuICogam9pbnMgdG8gdGhlIGBzaG93bmAgdGhhdCBwcmVjZWRlZCBpdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcHNlbGxWYXJpYW50IHtcbiAgaXRlbUlkOiBudW1iZXI7XG4gIGl0ZW1OYW1lOiBzdHJpbmc7XG4gIGl0ZW1TbHVnOiBzdHJpbmcgfCBudWxsO1xuICAvKiogU2VsbGluZyBwcmljZSBvZiBUSElTIHNpemUgKElOUikuICovXG4gIHByaWNlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZWxsSXRlbSB7XG4gIGl0ZW1JZDogbnVtYmVyO1xuICBpdGVtTmFtZTogc3RyaW5nO1xuICBpdGVtU2x1Zzogc3RyaW5nIHwgbnVsbDtcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGw7XG4gIHNlY3Rpb25JZDogbnVtYmVyIHwgbnVsbDtcbiAgc2VjdGlvbk5hbWU6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBTZWxsaW5nIHByaWNlIChJTlIpLiAqL1xuICBwcmljZTogbnVtYmVyO1xuICBpbWFnZTogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFJhdyBsZWdhY3kgYHZlZ05vbnZlZ0JvdGhgIGZsYWcsIHBhc3NlZCB0aHJvdWdoIHVudHJhbnNsYXRlZC4gKi9cbiAgdmVnOiBudW1iZXIgfCBudWxsO1xuICBicmFuZElkOiBudW1iZXIgfCBudWxsO1xuICAvKipcbiAgICogVHJ1ZSB3aGVuIGBwcmljZWAgaXMgYSBGUk9NIHByaWNlIGFuZCB0aGUgY3VzdG9tZXIgbXVzdCBjaG9vc2UgYVxuICAgKiBzaXplIGJlZm9yZSB0aGlzIGNhbiBiZSBhZGRlZC4gT3BlbiB5b3VyIHNpemUgcGlja2VyIG92ZXJcbiAgICogYHZhcmlhbnRzYCBpbnN0ZWFkIG9mIGFkZGluZyBgaXRlbUlkYCB0byB0aGUgY2FydCDigJQgYGl0ZW1JZGAgaXMgdGhlXG4gICAqIGRpc2gsIHdoaWNoIGNhcnJpZXMgbm8gcHJpY2Ugb2YgaXRzIG93biBhbmQgaXMgbm90IG9yZGVyYWJsZS5cbiAgICpcbiAgICogT25seSBldmVyIHRydWUgb24gYSBjaGFubmVsICsgdG91Y2hwb2ludCB0aGUgcGxhdGZvcm0gaGFzIG9wZW5lZFxuICAgKiBmb3IgdmFyaWFudCBwaWNrZXJzLCBzbyBhIHN1cmZhY2UgdGhhdCBjYW5ub3QgcmVuZGVyIG9uZSBuZXZlciBzZWVzXG4gICAqIGl0IHNldCBhbmQgbmVlZHMgbm8gY29kZSBmb3IgaXQuXG4gICAqXG4gICAqIE9wdGlvbmFsIGZvciB0aGUgc2FtZSByZWFzb24gYXMgYHNvdXJjZWAgYmVsb3c6IGFuIFNESyBpcyByb3V0aW5lbHlcbiAgICogbmV3ZXIgdGhhbiB0aGUgZGVwbG95bWVudCBpdCB0YWxrcyB0by5cbiAgICovXG4gIGhhc1ZhcmlhbnRzPzogYm9vbGVhbjtcbiAgLyoqIFRoZSBjaG9vc2FibGUgc2l6ZXMsIGluIHRoZSBtZXJjaGFudCdzIG9yZGVyLiBFbXB0eSB1bmxlc3MgYGhhc1ZhcmlhbnRzYC4gKi9cbiAgdmFyaWFudHM/OiBVcHNlbGxWYXJpYW50W107XG4gIHJlYXNvbkNvZGU6IFJlYXNvbkNvZGU7XG4gIC8qKlxuICAgKiBXaGljaCBsYXllciBwcm9kdWNlZCB0aGlzIGl0ZW0uXG4gICAqXG4gICAqIE9wdGlvbmFsIG9uIHB1cnBvc2UsIGFuZCBpdCBzdGF5cyBvcHRpb25hbC4gVGhlIHNlcnZpY2UgYWx3YXlzIHNldHNcbiAgICogaXQsIGJ1dCBhbiBTREsgaXMgcm91dGluZWx5IG5ld2VyIHRoYW4gdGhlIGRlcGxveW1lbnQgaXQgdGFsa3MgdG8g4oCUXG4gICAqIHR5cGluZyBpdCBhcyByZXF1aXJlZCB3b3VsZCBsZXQgVHlwZVNjcmlwdCBwcm9taXNlIGEgc3RyaW5nIHRoYXQgaXNcbiAgICogYHVuZGVmaW5lZGAgYXQgcnVudGltZSBhZ2FpbnN0IGFueSBzZXJ2aWNlIG9sZGVyIHRoYW4gdGhlIHJlbGVhc2VcbiAgICogdGhhdCBhZGRlZCBpdC4gTmFycm93IGl0IHlvdXJzZWxmIGlmIHlvdSBoYXZlIHBpbm5lZCBib3RoLlxuICAgKi9cbiAgc291cmNlPzogSXRlbVNvdXJjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uc1Jlc3VsdCB7XG4gIHBsYWNlbWVudDogc3RyaW5nO1xuICB0b3VjaHBvaW50OiBUb3VjaHBvaW50O1xuICBpdGVtczogVXBzZWxsSXRlbVtdO1xuICBtZXRhOiB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBzdHJhdGVneTogVXBzZWxsU3RyYXRlZ3k7XG4gICAgY29uZmlnVmVyc2lvbjogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBzdGVwIHRoYXQgUFJJTUFSSUxZIGFuc3dlcmVkIOKAlCB0aGUgZmlyc3Qgb25lIHRvIGNvbnRyaWJ1dGUuXG4gICAgICpcbiAgICAgKiBTaW5jZSB0aGUgbGFkZGVyIGJlY2FtZSBhIGZpbGwgbG9vcCwgc2V2ZXJhbCBzdGVwcyBjYW4gY29udHJpYnV0ZVxuICAgICAqIHRvIG9uZSByZXNwb25zZTsgYHJ1bmdgIG5hbWVzIHRoZSBvbmUgdGhhdCBhbnN3ZXJlZCBmaXJzdCwgc28gYVxuICAgICAqIGhlYWx0aHkgY2FyZCB0aGF0IG1lcmVseSB0b3BwZWQgdXAgaXRzIGxhc3Qgc2xvdCBkb2VzIG5vdCByZWFkIGFzXG4gICAgICogZnVsbHkgZGVncmFkZWQuIFJlYWQgYHN0ZXBzYCBmb3IgaG93IGZhciBkb3duIGl0IHdlbnQuXG4gICAgICovXG4gICAgcnVuZzogTGFkZGVyUnVuZztcbiAgICAvKipcbiAgICAgKiBFdmVyeSBzdGVwIHRoYXQgY29udHJpYnV0ZWQgYXQgbGVhc3Qgb25lIGl0ZW0sIGluIHRoZSBvcmRlciB0aGV5XG4gICAgICogcmFuLiBPcHRpb25hbCBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIGBVcHNlbGxJdGVtLnNvdXJjZWA6IGFuIG9sZGVyXG4gICAgICogc2VydmljZSBkb2VzIG5vdCBzZW5kIGl0LlxuICAgICAqL1xuICAgIHN0ZXBzPzogTGFkZGVyUnVuZ1tdO1xuICAgIC8qKiBFZmZlY3RpdmUgY2FwIGFwcGxpZWQ6IG1pbihkaXNwbGF5Lm1heEl0ZW1zLCB0b3VjaHBvaW50IHBvbGljeSkuICovXG4gICAgbWF4SXRlbXM6IG51bWJlcjtcbiAgICAvKiogSG93IGxvbmcgdGhlIGNsaWVudCBtYXkgcmV1c2UgdGhpcyByZXNwb25zZSwgaW4gc2Vjb25kcy4gKi9cbiAgICAvKiogU2Vjb25kcyB0aGlzIHJlc3BvbnNlIG1heSBiZSByZXVzZWQuIFpFUk8gbWVhbnMgZG8gbm90IHJldXNlIGl0LiAqL1xuICAgIHR0bFNlY29uZHM6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBUcnVlIHdoZW4gdGhpcyBjdXN0b21lcidzIG93biBvcmRlciBoaXN0b3J5IHNoYXBlZCB0aGUgcmFua2luZywgc29cbiAgICAgKiB0aGUgcmVzcG9uc2UgYmVsb25ncyB0byBPTkUgcGVyc29uLlxuICAgICAqXG4gICAgICogYHR0bFNlY29uZHNgIGlzIDAgd2hlbmV2ZXIgdGhpcyBpcyBzZXQsIHNvIGEgY2xpZW50IHRoYXQgY2FjaGVzIG9uXG4gICAgICogdGhlIFRUTCBpcyBhbHJlYWR5IGNvcnJlY3QuIFJlYWQgdGhpcyBvbmx5IGlmIHlvdSB3YW50IHRvIGNhY2hlXG4gICAgICogcGVyIGN1c3RvbWVyIGluc3RlYWQgb2Ygbm90IGNhY2hpbmcg4oCUIGluIHdoaWNoIGNhc2UgdGhlIGN1c3RvbWVyXG4gICAgICogTVVTVCBiZSBwYXJ0IG9mIHlvdXIgY2FjaGUga2V5LlxuICAgICAqXG4gICAgICogT3B0aW9uYWwgZm9yIHRoZSBzYW1lIHJlYXNvbiBhcyBgc291cmNlYDogYW4gU0RLIGlzIHJvdXRpbmVseVxuICAgICAqIG5ld2VyIHRoYW4gdGhlIGRlcGxveW1lbnQgaXQgdGFsa3MgdG8uXG4gICAgICovXG4gICAgcGVyc29uYWxpc2VkPzogYm9vbGVhbjtcbiAgICAvKiogVHJ1ZSB3aGVuIHRoZSBjYW5kaWRhdGUgc291cmNlIGZhaWxlZCBhbmQgdGhlIHNlcnZpY2UgZGVncmFkZWQgdG8gZW1wdHkuICovXG4gICAgZGVncmFkZWQ/OiBib29sZWFuO1xuICB9O1xufVxuXG4vKiogTWVyY2hhbnQtY29udHJvbGxlZCBzZWxlY3Rpb24gaW5wdXRzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJhdGVneVBhcmFtcyB7XG4gIGluY2x1ZGVkSXRlbVNsdWdzPzogc3RyaW5nW107XG4gIGluY2x1ZGVkU2VjdGlvbnM/OiBzdHJpbmdbXTtcbiAgZXhjbHVkZWRTZWN0aW9ucz86IHN0cmluZ1tdO1xuICAvKiogXCJOZXZlciBTdWdnZXN0IFRoZXNlXCIg4oCUIGFic29sdXRlLCBvdmVycmlkZXMgdGhlIHByaW9yaXR5IGxpc3QuICovXG4gIG5ldmVyU3VnZ2VzdEl0ZW1TbHVncz86IHN0cmluZ1tdO1xuICAvKiogXCJNeSBQcmlvcml0eSBJdGVtc1wiIOKAlCBvY2N1cHkgcmVzZXJ2ZWQgc2xvdHMgYWhlYWQgb2Ygc2NvcmVkIGl0ZW1zLiAqL1xuICBwcmlvcml0eUl0ZW1TbHVncz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogXCJCYWNrdXAgU3VnZ2VzdGlvbnNcIiDigJQgdXAgdG8gNiBpdGVtcy4gU2tpcHMgdGhlIHByaWNlIGJhbmQgKHRoZSBiYW5kXG4gICAqIGlzIHVzdWFsbHkgd2hhdCBlbXB0aWVkIHRoZSBwb29sKSBidXQgc3RpbGwgcmVzcGVjdHMgc3RvY2ssIGNhcnQsXG4gICAqIGV4Y2x1c2lvbnMsIGRpZXQgYW5kIGBtYXhQcmljZWAuIEl0IFRPUFMgVVAgYSBzaG9ydCBsaXN0IHJhdGhlciB0aGFuXG4gICAqIG9ubHkgZmlyaW5nIHdoZW4gZXZlcnl0aGluZyBlbHNlIHJldHVybmVkIG5vdGhpbmcsIHNvIG9uZSBzY29yZWRcbiAgICogaXRlbSBwbHVzIHR3byBiYWNrdXAgaXRlbXMgaXMgYSB2YWxpZCByZXNwb25zZS5cbiAgICovXG4gIGJhY2t1cEl0ZW1TbHVncz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogVGhlIG1lcmNoYW50J3Mgb3duIGxpc3QgZm9yIHRoaXMgcGxhY2VtZW50LCB1cCB0byAxMiBpdGVtcy4gT25seSByZWFkXG4gICAqIHdoZW4gYHN0cmF0ZWd5YCBpcyBgbWVyY2hhbnQtbGlzdGAuXG4gICAqXG4gICAqIERpc3RpbmN0IGZyb20gYGluY2x1ZGVkSXRlbVNsdWdzYCwgd2hpY2ggaXMgYSBGSUxURVIgb3ZlciB0aGUgd2hvbGVcbiAgICogbWVudSDigJQgaXRlbXMgc3RpbGwgZ2V0IHJhbmtlZCBieSB0aGUgc3RyYXRlZ3kgYW5kIHN0aWxsIHJlcG9ydCBhc1xuICAgKiBgc291cmNlOiAnYWxnb3JpdGhtJ2AuIFRoaXMgUkVQTEFDRVMgdGhlIHBvb2wsIHJvdGF0ZXMgd2l0aGluIGl0IHNvIGFcbiAgICogMTAtaXRlbSBsaXN0IG9uIGEgMy1zbG90IGNhcmQgc2hvd3MgYWxsIHRlbiBvdmVyIHRpbWUsIGFuZCByZXBvcnRzIGFzXG4gICAqIGBzb3VyY2U6ICdtZXJjaGFudF9saXN0J2AuXG4gICAqL1xuICBtZXJjaGFudExpc3RJdGVtU2x1Z3M/OiBzdHJpbmdbXTtcbiAgZXhjbHVkZUNhcnRJdGVtcz86IGJvb2xlYW47XG4gIG1heFByaWNlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBQbGFjZW1lbnRTY29wZSA9ICdkZWZhdWx0JyB8ICd0ZW5hbnQnIHwgJ2J1c2luZXNzJztcblxuLyoqIFJhdyBhZG1pbi1wbGFuZSBjb25maWcgcm93IChubyBwcmVjZWRlbmNlIG1lcmdlIGFwcGxpZWQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnRSZWNvcmQge1xuICBzY29wZTogUGxhY2VtZW50U2NvcGU7XG4gIHBhcmVudElkPzogbnVtYmVyO1xuICBidXNpbmVzc0lkPzogbnVtYmVyO1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBrZXk6IHN0cmluZztcbiAgdG91Y2hwb2ludDogVG91Y2hwb2ludDtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlzcGxheTogUGxhY2VtZW50RGlzcGxheTtcbiAgc3RyYXRlZ3k6IFVwc2VsbFN0cmF0ZWd5O1xuICBzdHJhdGVneVBhcmFtczogU3RyYXRlZ3lQYXJhbXM7XG4gIGNvbmZpZ1ZlcnNpb246IHN0cmluZztcbiAgdXBkYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRCeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFkbWluIHVwc2VydC4gU2NvcGUgaXMgZGVyaXZlZDogbm8gcGFyZW50SWQg4oaSIHBsYXRmb3JtIGRlZmF1bHQ7XG4gKiBwYXJlbnRJZCBvbmx5IOKGkiBicmFuZCByb3c7IHBhcmVudElkICsgYnVzaW5lc3NJZCDihpIgYnVzaW5lc3Mgb3ZlcnJpZGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50VXBzZXJ0SW5wdXQge1xuICBwYXJlbnRJZD86IG51bWJlcjtcbiAgYnVzaW5lc3NJZD86IG51bWJlcjtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAga2V5OiBzdHJpbmc7XG4gIHRvdWNocG9pbnQ6IFRvdWNocG9pbnQ7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGRpc3BsYXk6IFBsYWNlbWVudERpc3BsYXk7XG4gIHN0cmF0ZWd5PzogVXBzZWxsU3RyYXRlZ3k7XG4gIHN0cmF0ZWd5UGFyYW1zPzogU3RyYXRlZ3lQYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50RGVsZXRlSW5wdXQge1xuICBwYXJlbnRJZD86IG51bWJlcjtcbiAgYnVzaW5lc3NJZD86IG51bWJlcjtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAga2V5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXF1aXJlZCBieSB0aGUgc2VydmVyIHdoZW4gYHBhcmVudElkYCBpcyBvbWl0dGVkLCBiZWNhdXNlIHRoYXQgY2FsbFxuICAgKiB0YXJnZXRzIHRoZSBQTEFURk9STSBERUZBVUxUIHJvdyBhbmQgc28gcmVtb3ZlcyB0aGUgcGxhY2VtZW50IGZvclxuICAgKiBldmVyeSB0ZW5hbnQgdGhhdCBoYXMgbm90IG92ZXJyaWRkZW4gaXQuIFdpdGhvdXQgdGhpcyB0aGUgc2VydmVyXG4gICAqIHJlamVjdHMgdGhlIHJlcXVlc3Qgd2l0aCA0MDAgcmF0aGVyIHRoYW4gZ3Vlc3NpbmcgdGhhdCBhIG1pc3NpbmdcbiAgICogcGFyZW50SWQgd2FzIGRlbGliZXJhdGUuXG4gICAqXG4gICAqIERlbGliZXJhdGVseSBub3QgZGVmYXVsdGVkIHRvIGB0cnVlYCBoZXJlOiB0aGUgd2hvbGUgcG9pbnQgb2YgdGhlXG4gICAqIGZsYWcgaXMgdGhhdCBkZWxldGluZyBhIGRlZmF1bHQgbXVzdCBiZSBzdGF0ZWQsIG5vdCBpbmZlcnJlZCBmcm9tXG4gICAqIHRoZSBzaGFwZSBvZiB0aGUgY2FsbC5cbiAgICovXG4gIGNvbmZpcm1EZWxldGVEZWZhdWx0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnRzUXVlcnkge1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBwYXJlbnRJZDogbnVtYmVyO1xuICBidXNpbmVzc0lkOiBudW1iZXI7XG59XG5cbi8vIOKUgOKUgOKUgCBBdHRhY2gtcmF0ZSB0ZWxlbWV0cnkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmV4cG9ydCB0eXBlIFVwc2VsbEV2ZW50VHlwZSA9ICdzaG93bicgfCAnYWRkZWQnIHwgJ2lnbm9yZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VsbEV2ZW50IHtcbiAgdHlwZTogVXBzZWxsRXZlbnRUeXBlO1xuICAvKipcbiAgICogRWNobyB0aGUgaXRlbSdzIGBzb3VyY2VgLiBUaGlzIGlzIHdoYXQgbWFrZXMgXCJpcyBteSBsaXN0IHBlcmZvcm1pbmdcbiAgICogYmV0dGVyIHRoYW4geW91ciBhbGdvcml0aG0/XCIgYW5zd2VyYWJsZSDigJQgYXR0YWNoIHJhdGUgaXMgb25seVxuICAgKiBjb21wYXJhYmxlIGJ5IGxheWVyIGlmIHRoZSBsYXllciBpcyByZWNvcmRlZCBvbiB0aGUgZXZlbnQuXG4gICAqL1xuICBzb3VyY2U/OiBJdGVtU291cmNlO1xuICAvKipcbiAgICogQUxXQVlTIHRoZSBpZCB0aGUgc3VnZ2VzdGlvbiB3YXMgc2VydmVkIHVuZGVyLiBGb3IgYW4gaXRlbSB3aXRoXG4gICAqIGBoYXNWYXJpYW50c2AgdGhhdCBpcyB0aGUgRElTSCwgbm90IHRoZSBzaXplIHRoZSBjdXN0b21lciBjaG9zZSDigJRcbiAgICogc2VuZGluZyB0aGUgc2l6ZSBpZCBsZWF2ZXMgdGhpcyBldmVudCB1bmpvaW5hYmxlIHRvIHRoZSBgc2hvd25gXG4gICAqIHRoYXQgcHJlY2VkZWQgaXQsIHNvIGF0dGFjaCByYXRlIGZvciBldmVyeSBwaWNrZXIgY2FyZCByZWFkcyB6ZXJvLlxuICAgKi9cbiAgaXRlbUlkOiBudW1iZXI7XG4gIC8qKlxuICAgKiBXaGljaCBzaXplIHdhcyBjaG9zZW4sIHdoZW4gYGl0ZW1JZGAgaXMgYW4gaXRlbSB3aXRoIHZhcmlhbnRzLlxuICAgKiBBbnN3ZXJzIHdoZXRoZXIgYSBcImZyb20gMTQ1XCIgY2FyZCBzZWxscyBSZWd1bGFycyBvciBMYXJnZXMsIHdoaWNoXG4gICAqIGNhbm5vdCBiZSByZWNvdmVyZWQgbGF0ZXIgZnJvbSBhIGRhdGFzZXQgdGhhdCBuZXZlciBjYXJyaWVkIGl0LlxuICAgKi9cbiAgdmFyaWFudEl0ZW1JZD86IG51bWJlcjtcbiAgcmVhc29uQ29kZT86IFJlYXNvbkNvZGU7XG4gIC8qKiBJU08tODYwMS4gRGVmYXVsdHMgdG8gc2VydmVyIHJlY2VpdmUgdGltZSB3aGVuIG9taXR0ZWQuICovXG4gIG9jY3VycmVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZWxsRXZlbnRzSW5wdXQge1xuICBjaGFubmVsOiBDaGFubmVsO1xuICBwbGFjZW1lbnQ6IHN0cmluZztcbiAgdGVuYW50OiBUZW5hbnQ7XG4gIHNlc3Npb25JZD86IHN0cmluZztcbiAgLyoqIEVjaG8gYG1ldGEuY29uZmlnVmVyc2lvbmAgZnJvbSB0aGUgcmVzcG9uc2UgYmVpbmcgcmVwb3J0ZWQgb24uICovXG4gIGNvbmZpZ1ZlcnNpb24/OiBzdHJpbmc7XG4gIGV2ZW50czogVXBzZWxsRXZlbnRbXTtcbn1cbiJdfQ==
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Vwc2VsbC9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUeXBlIHN1cmZhY2UgZm9yIHRoZSBwbGF0Zm9ybSBVcHNlbGwgQVBJLlxuICpcbiAqIFR3byBjb25zdW1lci1mYWNpbmcgY2FsbHM6IGBwbGFjZW1lbnRzKC4uLilgICh3aGljaCB1cHNlbGwgc3VyZmFjZXMgYVxuICogY2hhbm5lbCBzaG91bGQgcmVuZGVyIGZvciBhIHRlbmFudCkgYW5kIGBzdWdnZXN0KC4uLilgIChpdGVtcyBmb3Igb25lXG4gKiBwbGFjZW1lbnQgZ2l2ZW4gdGhlIGxpdmUgY2FydCkuIGByZXBvcnRFdmVudHMoLi4uKWAgZmVlZHMgYXR0YWNoLXJhdGVcbiAqIHRlbGVtZXRyeS4gUGxhY2VtZW50IGNvbmZpZyBpcyBtYW5hZ2VkIHZpYSB0aGUgc2VydmljZS1hY3Rvci1vbmx5XG4gKiBhZG1pbiBtZXRob2RzLlxuICovXG5cbmV4cG9ydCB0eXBlIENoYW5uZWwgPSAnbW9iaWxlX2FwcCcgfCAna2lvc2snIHwgJ3doaXRlbGFiZWxfd2ViJyB8ICd3aGF0c2FwcCcgfCAndm9pY2UnO1xuXG4vKipcbiAqIEEgbW9tZW50IGluIHRoZSBjdXN0b21lciBqb3VybmV5IOKAlCB0aGUgdW5pdCBvZiBwbGF0Zm9ybSBwb2xpY3lcbiAqIChwcmljZSBiYW5kLCBtYXggaXRlbXMsIGFuZCBsYXRlciB0aGUgc2lnbmFsIHdlaWdodCBwcm9maWxlKS4gQVxuICogcGxhY2VtZW50IGlzIGEgY2hhbm5lbCdzIGpvdXJuZXkgbGFiZWwgcG9pbnRpbmcgYXQgb25lIG9mIHRoZXNlLlxuICovXG5leHBvcnQgdHlwZSBUb3VjaHBvaW50ID1cbiAgfCAnaG9tZSdcbiAgfCAnbWVudV9icm93c2luZydcbiAgfCAnbWVudV9jb21wb3NpbmcnXG4gIHwgJ3NlYXJjaF9ub19yZXN1bHQnXG4gIHwgJ2NhcnQnXG4gIHwgJ3ByZV9jaGVja291dCdcbiAgfCAncG9zdF9vcmRlcic7XG5cbi8qKlxuICogUmVuZGVyaW5nIGhpbnQsIG93bmVkIGJ5IHRoZSBjaGFubmVsIGZyb250ZW5kIOKAlCB0aGUgcGxhdGZvcm0gbmV2ZXJcbiAqIGludGVycHJldHMgaXQuIEtub3duIHZhbHVlcyBhcmUgbGlzdGVkIGZvciBlZGl0b3IgY29tcGxldGlvbiwgYnV0IGFueVxuICogbG93ZXJjYXNlIGlkZW50aWZpZXIgaXMgdmFsaWQgc28gbmV3IGxheW91dHMgbmVlZCBubyBTREsgcmVsZWFzZS5cbiAqL1xuZXhwb3J0IHR5cGUgS25vd25MYXlvdXQgPVxuICB8ICdjYXJvdXNlbF8ydXAnXG4gIHwgJ2hvcml6b250YWxfY2Fyb3VzZWwnXG4gIHwgJ2dyaWRfMnhuX21vZGFsJ1xuICB8ICdjYXJvdXNlbF8xdXAnXG4gIHwgJ3ZlcnRpY2FsX2xpc3QnXG4gIHwgJ2dyaWRfM3huJ1xuICB8ICdjb21wYWN0X2xpc3QnXG4gIHwgJ2hlcm9fYmFubmVyJztcblxuZXhwb3J0IHR5cGUgTGF5b3V0ID0gS25vd25MYXlvdXQgfCAoc3RyaW5nICYge30pO1xuXG4vKiogV2h5IGFuIGl0ZW0gd2FzIHJlY29tbWVuZGVkLiBDaGFubmVscyByZW5kZXIgdGhlc2UgaW4gY3VzdG9tZXIgbGFuZ3VhZ2UuICovXG5leHBvcnQgdHlwZSBSZWFzb25Db2RlID1cbiAgfCAncG9wdWxhcl9ub3cnXG4gIHwgJ2NvbXBsZXRlc19tZWFsJ1xuICB8ICdvZnRlbl9vcmRlcmVkX3RvZ2V0aGVyJ1xuICB8ICd5b3VyX3VzdWFsJ1xuICB8ICdjaGVmc19waWNrJztcblxuLyoqXG4gKiBXaGljaCBsYXllciBwcm9kdWNlZCBhbiBpdGVtLlxuICpcbiAqIFNlcGFyYXRlIGZyb20gYHJlYXNvbkNvZGVgIG9uIHB1cnBvc2U6IGByZWFzb25Db2RlYCBpcyBjdXN0b21lci1mYWNpbmdcbiAqIGNvcHkgdGhlIGNoYW5uZWwgcmVuZGVycyAoXCJQb3B1bGFyIHJpZ2h0IG5vd1wiKSwgc28gb3ZlcmxvYWRpbmcgaXQgd2l0aFxuICogcHJvdmVuYW5jZSB3b3VsZCBjaGFuZ2UgdGhlIGN1c3RvbWVyJ3MgdmlzaWJsZSBsYWJlbCB3aGVuZXZlciB0aGVcbiAqIHNvdXJjZSBjaGFuZ2VkLlxuICpcbiAqICAgYWxnb3JpdGhtICAgICDigJQgc2NvcmVkIGJ5IHRoZSBlbmdpbmUsIHByaW9yaXR5IHBpbnMgaW5jbHVkZWRcbiAqICAgbWVyY2hhbnRfbGlzdCDigJQgdGhlIG1lcmNoYW50J3Mgb3duIGxpc3QgcmVwbGFjZWQgdGhlIGFsZ29yaXRobVxuICogICBmYWxsYmFjayAgICAgIOKAlCB0b3BwZWQgdXAgZnJvbSB0aGUgYmFja3VwIGxpc3QsIHNhZmV0eSBydWxlcyBvbmx5XG4gKi9cbmV4cG9ydCB0eXBlIEl0ZW1Tb3VyY2UgPSAnYWxnb3JpdGhtJyB8ICdtZXJjaGFudF9saXN0JyB8ICdmYWxsYmFjayc7XG5cbi8qKiBXaGljaCBydW5nIG9mIHRoZSByZXNvbHV0aW9uIGxhZGRlciBhbnN3ZXJlZCB0aGUgcmVxdWVzdC4gKi9cbmV4cG9ydCB0eXBlIExhZGRlclJ1bmcgPVxuICB8ICdmdWxsX2VuZ2luZSdcbiAgfCAnYmFuZF9yZWxheGF0aW9uJ1xuICB8ICdwb3B1bGFyaXR5X2Zsb29yJ1xuICB8ICdiYWNrdXBfc3VnZ2VzdGlvbnMnXG4gIHwgJ2VtcHR5X2RlZ3JhZGVkJztcblxuZXhwb3J0IHR5cGUgVXBzZWxsU3RyYXRlZ3kgPVxuICB8ICdtZW51LW9yZGVyLXBvcHVsYXJpdHknXG4gIHwgJ2xlZ2FjeS1jYXRhbG9nLXNhbXBsZSdcbiAgLyoqXG4gICAqIFRoZSBtZXJjaGFudCdzIG93biBsaXN0IHJlcGxhY2VzIHRoZSBhbGdvcml0aG0gYXQgdGhpcyBwbGFjZW1lbnQuXG4gICAqIFJlcXVpcmVzIGBzdHJhdGVneVBhcmFtcy5tZXJjaGFudExpc3RJdGVtU2x1Z3NgOyBhbiBlbXB0eSBsaXN0IGZhbGxzXG4gICAqIGJhY2sgdG8gYG1lbnUtb3JkZXItcG9wdWxhcml0eWAgcmF0aGVyIHRoYW4gc2VydmluZyBub3RoaW5nLlxuICAgKi9cbiAgfCAnbWVyY2hhbnQtbGlzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50RGlzcGxheSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIC8qKiBSZXF1ZXN0ZWQgY291bnQuIFRvdWNocG9pbnQgcG9saWN5IG1heSBjYXAgaXQgbG93ZXIg4oCUIHNlZSBgbWV0YS5tYXhJdGVtc2AuICovXG4gIG1heEl0ZW1zOiBudW1iZXI7XG4gIGxheW91dDogTGF5b3V0O1xufVxuXG4vKiogUmVzb2x2ZWQgcHVibGljIHBsYWNlbWVudCAoYnVzaW5lc3Mgb3ZlcnJpZGUgPiBicmFuZCA+IHBsYXRmb3JtIGRlZmF1bHQpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbGFjZW1lbnQge1xuICBrZXk6IHN0cmluZztcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAgdG91Y2hwb2ludDogVG91Y2hwb2ludDtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZGlzcGxheTogUGxhY2VtZW50RGlzcGxheTtcbiAgY29uZmlnVmVyc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlbmFudCB7XG4gIHBhcmVudElkOiBudW1iZXI7XG4gIGJ1c2luZXNzSWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0SXRlbSB7XG4gIGl0ZW1JZDogbnVtYmVyO1xuICBxdHk6IG51bWJlcjtcbiAgdW5pdFByaWNlOiBudW1iZXI7XG4gIC8qKiBPcHRpb25hbDsgbGV0cyB0aGUgZGlldGFyeSBnYXRlIGFuZCBjYXRlZ29yeSBuby1yZXBlYXQgc2VlIGNhcnQgY29udGVudHMuICovXG4gIGl0ZW1TbHVnPzogc3RyaW5nO1xuICBzZWN0aW9uTmFtZT86IHN0cmluZztcbiAgLyoqIExlZ2FjeSB2ZWdOb252ZWdCb3RoIGZsYWc6IDEgdmVnLCAyIG5vbi12ZWcsIDMgYm90aC9lZ2cuICovXG4gIHZlZz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0IHtcbiAgaXRlbXM6IENhcnRJdGVtW107XG4gIHN1YnRvdGFsOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbnNJbnB1dCB7XG4gIGNoYW5uZWw6IENoYW5uZWw7XG4gIHBsYWNlbWVudDogc3RyaW5nO1xuICB0ZW5hbnQ6IFRlbmFudDtcbiAgY29udGV4dDoge1xuICAgIGNhcnQ6IENhcnQ7XG4gICAgZnVsZmlsbWVudE1vZGU/OiAnZGVsaXZlcnknIHwgJ3BpY2t1cCcgfCAnZGluZV9pbic7XG4gICAgLyoqXG4gICAgICogUHJpdmF0ZSB1cHNlbGwgdG9rZW5zIHN1cHBseSB0aGlzIGlkZW50aXR5IHdoZW4gb21pdHRlZDsgYW55IHN1cHBsaWVkIElEIG11c3QgbWF0Y2guXG4gICAgICogYGlkYCBpcyB0aGUgaW50ZXJuYWwgY29udGFjdCBJRDsgY29udGFjdE1hcHBpbmdJZCBpcyB0aGUgcGVyLW91dGxldCBtYXBwaW5nIFBLLlxuICAgICAqIE5laXRoZXIgZmllbGQgYWNjZXB0cyBhIG1vYmlsZSBudW1iZXIuXG4gICAgICovXG4gICAgY3VzdG9tZXI/OlxuICAgICAgfCB7IGlkOiBzdHJpbmc7IGNvbnRhY3RNYXBwaW5nSWQ/OiBudW1iZXIgfVxuICAgICAgfCB7IGNvbnRhY3RNYXBwaW5nSWQ6IG51bWJlcjsgaWQ/OiBzdHJpbmcgfTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDsgbm90IHlldCBhY3RlZCBvbi4gSW1wcmVzc2lvbiBmYXRpZ3VlIGlzIHNlc3Npb24tc2NvcGVkXG4gICAgICogYW5kIHNoYXJlZCBhY3Jvc3MgdG91Y2hwb2ludHMg4oCUIHNlbmQgaXQgbm93IHNvIGNoYW5uZWxzXG4gICAgICogaW5zdHJ1bWVudCBvbmNlIHJhdGhlciB0aGFuIHR3aWNlLlxuICAgICAqL1xuICAgIHNlc3Npb25JZD86IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBPbmUgY2hvb3NhYmxlIHNpemUgb2YgYW4gaXRlbSB3aXRoIHZhcmlhbnRzIOKAlCB3aGF0IGEgcGlja2VyIGxpc3RzLlxuICpcbiAqIGBpdGVtSWRgIGhlcmUgaXMgd2hhdCBnb2VzIGludG8gdGhlIGNhcnQgbGluZSBvbmNlIHRoZSBjdXN0b21lclxuICogY2hvb3Nlcy4gUmVwb3J0IGl0IGJhY2sgdG8gYC9ldmVudHNgIGFzIGB2YXJpYW50SXRlbUlkYCwga2VlcGluZyB0aGVcbiAqIGV2ZW50J3Mgb3duIGBpdGVtSWRgIGFzIHRoZSBESVNIIOKAlCBvdGhlcndpc2UgdGhlIGBhZGRlZGAgZXZlbnQgbmV2ZXJcbiAqIGpvaW5zIHRvIHRoZSBgc2hvd25gIHRoYXQgcHJlY2VkZWQgaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZWxsVmFyaWFudCB7XG4gIGl0ZW1JZDogbnVtYmVyO1xuICBpdGVtTmFtZTogc3RyaW5nO1xuICBpdGVtU2x1Zzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFNlbGxpbmcgcHJpY2Ugb2YgVEhJUyBzaXplIChJTlIpLiAqL1xuICBwcmljZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VsbEl0ZW0ge1xuICBpdGVtSWQ6IG51bWJlcjtcbiAgaXRlbU5hbWU6IHN0cmluZztcbiAgaXRlbVNsdWc6IHN0cmluZyB8IG51bGw7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xuICBzZWN0aW9uSWQ6IG51bWJlciB8IG51bGw7XG4gIHNlY3Rpb25OYW1lOiBzdHJpbmcgfCBudWxsO1xuICAvKiogU2VsbGluZyBwcmljZSAoSU5SKS4gKi9cbiAgcHJpY2U6IG51bWJlcjtcbiAgaW1hZ2U6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBSYXcgbGVnYWN5IGB2ZWdOb252ZWdCb3RoYCBmbGFnLCBwYXNzZWQgdGhyb3VnaCB1bnRyYW5zbGF0ZWQuICovXG4gIHZlZzogbnVtYmVyIHwgbnVsbDtcbiAgYnJhbmRJZDogbnVtYmVyIHwgbnVsbDtcbiAgLyoqXG4gICAqIFRydWUgd2hlbiBgcHJpY2VgIGlzIGEgRlJPTSBwcmljZSBhbmQgdGhlIGN1c3RvbWVyIG11c3QgY2hvb3NlIGFcbiAgICogc2l6ZSBiZWZvcmUgdGhpcyBjYW4gYmUgYWRkZWQuIE9wZW4geW91ciBzaXplIHBpY2tlciBvdmVyXG4gICAqIGB2YXJpYW50c2AgaW5zdGVhZCBvZiBhZGRpbmcgYGl0ZW1JZGAgdG8gdGhlIGNhcnQg4oCUIGBpdGVtSWRgIGlzIHRoZVxuICAgKiBkaXNoLCB3aGljaCBjYXJyaWVzIG5vIHByaWNlIG9mIGl0cyBvd24gYW5kIGlzIG5vdCBvcmRlcmFibGUuXG4gICAqXG4gICAqIE9ubHkgZXZlciB0cnVlIG9uIGEgY2hhbm5lbCArIHRvdWNocG9pbnQgdGhlIHBsYXRmb3JtIGhhcyBvcGVuZWRcbiAgICogZm9yIHZhcmlhbnQgcGlja2Vycywgc28gYSBzdXJmYWNlIHRoYXQgY2Fubm90IHJlbmRlciBvbmUgbmV2ZXIgc2Vlc1xuICAgKiBpdCBzZXQgYW5kIG5lZWRzIG5vIGNvZGUgZm9yIGl0LlxuICAgKlxuICAgKiBPcHRpb25hbCBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIGBzb3VyY2VgIGJlbG93OiBhbiBTREsgaXMgcm91dGluZWx5XG4gICAqIG5ld2VyIHRoYW4gdGhlIGRlcGxveW1lbnQgaXQgdGFsa3MgdG8uXG4gICAqL1xuICBoYXNWYXJpYW50cz86IGJvb2xlYW47XG4gIC8qKiBUaGUgY2hvb3NhYmxlIHNpemVzLCBpbiB0aGUgbWVyY2hhbnQncyBvcmRlci4gRW1wdHkgdW5sZXNzIGBoYXNWYXJpYW50c2AuICovXG4gIHZhcmlhbnRzPzogVXBzZWxsVmFyaWFudFtdO1xuICByZWFzb25Db2RlOiBSZWFzb25Db2RlO1xuICAvKipcbiAgICogV2hpY2ggbGF5ZXIgcHJvZHVjZWQgdGhpcyBpdGVtLlxuICAgKlxuICAgKiBPcHRpb25hbCBvbiBwdXJwb3NlLCBhbmQgaXQgc3RheXMgb3B0aW9uYWwuIFRoZSBzZXJ2aWNlIGFsd2F5cyBzZXRzXG4gICAqIGl0LCBidXQgYW4gU0RLIGlzIHJvdXRpbmVseSBuZXdlciB0aGFuIHRoZSBkZXBsb3ltZW50IGl0IHRhbGtzIHRvIOKAlFxuICAgKiB0eXBpbmcgaXQgYXMgcmVxdWlyZWQgd291bGQgbGV0IFR5cGVTY3JpcHQgcHJvbWlzZSBhIHN0cmluZyB0aGF0IGlzXG4gICAqIGB1bmRlZmluZWRgIGF0IHJ1bnRpbWUgYWdhaW5zdCBhbnkgc2VydmljZSBvbGRlciB0aGFuIHRoZSByZWxlYXNlXG4gICAqIHRoYXQgYWRkZWQgaXQuIE5hcnJvdyBpdCB5b3Vyc2VsZiBpZiB5b3UgaGF2ZSBwaW5uZWQgYm90aC5cbiAgICovXG4gIHNvdXJjZT86IEl0ZW1Tb3VyY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbnNSZXN1bHQge1xuICBwbGFjZW1lbnQ6IHN0cmluZztcbiAgdG91Y2hwb2ludDogVG91Y2hwb2ludDtcbiAgaXRlbXM6IFVwc2VsbEl0ZW1bXTtcbiAgbWV0YToge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgc3RyYXRlZ3k6IFVwc2VsbFN0cmF0ZWd5O1xuICAgIGNvbmZpZ1ZlcnNpb246IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgc3RlcCB0aGF0IFBSSU1BUklMWSBhbnN3ZXJlZCDigJQgdGhlIGZpcnN0IG9uZSB0byBjb250cmlidXRlLlxuICAgICAqXG4gICAgICogU2luY2UgdGhlIGxhZGRlciBiZWNhbWUgYSBmaWxsIGxvb3AsIHNldmVyYWwgc3RlcHMgY2FuIGNvbnRyaWJ1dGVcbiAgICAgKiB0byBvbmUgcmVzcG9uc2U7IGBydW5nYCBuYW1lcyB0aGUgb25lIHRoYXQgYW5zd2VyZWQgZmlyc3QsIHNvIGFcbiAgICAgKiBoZWFsdGh5IGNhcmQgdGhhdCBtZXJlbHkgdG9wcGVkIHVwIGl0cyBsYXN0IHNsb3QgZG9lcyBub3QgcmVhZCBhc1xuICAgICAqIGZ1bGx5IGRlZ3JhZGVkLiBSZWFkIGBzdGVwc2AgZm9yIGhvdyBmYXIgZG93biBpdCB3ZW50LlxuICAgICAqL1xuICAgIHJ1bmc6IExhZGRlclJ1bmc7XG4gICAgLyoqXG4gICAgICogRXZlcnkgc3RlcCB0aGF0IGNvbnRyaWJ1dGVkIGF0IGxlYXN0IG9uZSBpdGVtLCBpbiB0aGUgb3JkZXIgdGhleVxuICAgICAqIHJhbi4gT3B0aW9uYWwgZm9yIHRoZSBzYW1lIHJlYXNvbiBhcyBgVXBzZWxsSXRlbS5zb3VyY2VgOiBhbiBvbGRlclxuICAgICAqIHNlcnZpY2UgZG9lcyBub3Qgc2VuZCBpdC5cbiAgICAgKi9cbiAgICBzdGVwcz86IExhZGRlclJ1bmdbXTtcbiAgICAvKiogRWZmZWN0aXZlIGNhcCBhcHBsaWVkOiBtaW4oZGlzcGxheS5tYXhJdGVtcywgdG91Y2hwb2ludCBwb2xpY3kpLiAqL1xuICAgIG1heEl0ZW1zOiBudW1iZXI7XG4gICAgLyoqIEhvdyBsb25nIHRoZSBjbGllbnQgbWF5IHJldXNlIHRoaXMgcmVzcG9uc2UsIGluIHNlY29uZHMuICovXG4gICAgLyoqIFNlY29uZHMgdGhpcyByZXNwb25zZSBtYXkgYmUgcmV1c2VkLiBaRVJPIG1lYW5zIGRvIG5vdCByZXVzZSBpdC4gKi9cbiAgICB0dGxTZWNvbmRzOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogVHJ1ZSB3aGVuIHRoaXMgY3VzdG9tZXIncyBvd24gb3JkZXIgaGlzdG9yeSBzaGFwZWQgdGhlIHJhbmtpbmcsIHNvXG4gICAgICogdGhlIHJlc3BvbnNlIGJlbG9uZ3MgdG8gT05FIHBlcnNvbi5cbiAgICAgKlxuICAgICAqIGB0dGxTZWNvbmRzYCBpcyAwIHdoZW5ldmVyIHRoaXMgaXMgc2V0LCBzbyBhIGNsaWVudCB0aGF0IGNhY2hlcyBvblxuICAgICAqIHRoZSBUVEwgaXMgYWxyZWFkeSBjb3JyZWN0LiBSZWFkIHRoaXMgb25seSBpZiB5b3Ugd2FudCB0byBjYWNoZVxuICAgICAqIHBlciBjdXN0b21lciBpbnN0ZWFkIG9mIG5vdCBjYWNoaW5nIOKAlCBpbiB3aGljaCBjYXNlIHRoZSBjdXN0b21lclxuICAgICAqIE1VU1QgYmUgcGFydCBvZiB5b3VyIGNhY2hlIGtleS5cbiAgICAgKlxuICAgICAqIE9wdGlvbmFsIGZvciB0aGUgc2FtZSByZWFzb24gYXMgYHNvdXJjZWA6IGFuIFNESyBpcyByb3V0aW5lbHlcbiAgICAgKiBuZXdlciB0aGFuIHRoZSBkZXBsb3ltZW50IGl0IHRhbGtzIHRvLlxuICAgICAqL1xuICAgIHBlcnNvbmFsaXNlZD86IGJvb2xlYW47XG4gICAgLyoqIFRydWUgd2hlbiB0aGUgY2FuZGlkYXRlIHNvdXJjZSBmYWlsZWQgYW5kIHRoZSBzZXJ2aWNlIGRlZ3JhZGVkIHRvIGVtcHR5LiAqL1xuICAgIGRlZ3JhZGVkPzogYm9vbGVhbjtcbiAgfTtcbn1cblxuLyoqIE1lcmNoYW50LWNvbnRyb2xsZWQgc2VsZWN0aW9uIGlucHV0cy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RyYXRlZ3lQYXJhbXMge1xuICBpbmNsdWRlZEl0ZW1TbHVncz86IHN0cmluZ1tdO1xuICBpbmNsdWRlZFNlY3Rpb25zPzogc3RyaW5nW107XG4gIGV4Y2x1ZGVkU2VjdGlvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIFwiTmV2ZXIgU3VnZ2VzdCBUaGVzZVwiIOKAlCBhYnNvbHV0ZSwgb3ZlcnJpZGVzIHRoZSBwcmlvcml0eSBsaXN0LiAqL1xuICBuZXZlclN1Z2dlc3RJdGVtU2x1Z3M/OiBzdHJpbmdbXTtcbiAgLyoqIFwiTXkgUHJpb3JpdHkgSXRlbXNcIiDigJQgb2NjdXB5IHJlc2VydmVkIHNsb3RzIGFoZWFkIG9mIHNjb3JlZCBpdGVtcy4gKi9cbiAgcHJpb3JpdHlJdGVtU2x1Z3M/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFwiQmFja3VwIFN1Z2dlc3Rpb25zXCIg4oCUIHVwIHRvIDYgaXRlbXMuIFNraXBzIHRoZSBwcmljZSBiYW5kICh0aGUgYmFuZFxuICAgKiBpcyB1c3VhbGx5IHdoYXQgZW1wdGllZCB0aGUgcG9vbCkgYnV0IHN0aWxsIHJlc3BlY3RzIHN0b2NrLCBjYXJ0LFxuICAgKiBleGNsdXNpb25zLCBkaWV0IGFuZCBgbWF4UHJpY2VgLiBJdCBUT1BTIFVQIGEgc2hvcnQgbGlzdCByYXRoZXIgdGhhblxuICAgKiBvbmx5IGZpcmluZyB3aGVuIGV2ZXJ5dGhpbmcgZWxzZSByZXR1cm5lZCBub3RoaW5nLCBzbyBvbmUgc2NvcmVkXG4gICAqIGl0ZW0gcGx1cyB0d28gYmFja3VwIGl0ZW1zIGlzIGEgdmFsaWQgcmVzcG9uc2UuXG4gICAqL1xuICBiYWNrdXBJdGVtU2x1Z3M/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFRoZSBtZXJjaGFudCdzIG93biBsaXN0IGZvciB0aGlzIHBsYWNlbWVudCwgdXAgdG8gMTIgaXRlbXMuIE9ubHkgcmVhZFxuICAgKiB3aGVuIGBzdHJhdGVneWAgaXMgYG1lcmNoYW50LWxpc3RgLlxuICAgKlxuICAgKiBEaXN0aW5jdCBmcm9tIGBpbmNsdWRlZEl0ZW1TbHVnc2AsIHdoaWNoIGlzIGEgRklMVEVSIG92ZXIgdGhlIHdob2xlXG4gICAqIG1lbnUg4oCUIGl0ZW1zIHN0aWxsIGdldCByYW5rZWQgYnkgdGhlIHN0cmF0ZWd5IGFuZCBzdGlsbCByZXBvcnQgYXNcbiAgICogYHNvdXJjZTogJ2FsZ29yaXRobSdgLiBUaGlzIFJFUExBQ0VTIHRoZSBwb29sLCByb3RhdGVzIHdpdGhpbiBpdCBzbyBhXG4gICAqIDEwLWl0ZW0gbGlzdCBvbiBhIDMtc2xvdCBjYXJkIHNob3dzIGFsbCB0ZW4gb3ZlciB0aW1lLCBhbmQgcmVwb3J0cyBhc1xuICAgKiBgc291cmNlOiAnbWVyY2hhbnRfbGlzdCdgLlxuICAgKi9cbiAgbWVyY2hhbnRMaXN0SXRlbVNsdWdzPzogc3RyaW5nW107XG4gIGV4Y2x1ZGVDYXJ0SXRlbXM/OiBib29sZWFuO1xuICBtYXhQcmljZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgUGxhY2VtZW50U2NvcGUgPSAnZGVmYXVsdCcgfCAndGVuYW50JyB8ICdidXNpbmVzcyc7XG5cbi8qKiBSYXcgYWRtaW4tcGxhbmUgY29uZmlnIHJvdyAobm8gcHJlY2VkZW5jZSBtZXJnZSBhcHBsaWVkKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50UmVjb3JkIHtcbiAgc2NvcGU6IFBsYWNlbWVudFNjb3BlO1xuICBwYXJlbnRJZD86IG51bWJlcjtcbiAgYnVzaW5lc3NJZD86IG51bWJlcjtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAga2V5OiBzdHJpbmc7XG4gIHRvdWNocG9pbnQ6IFRvdWNocG9pbnQ7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGRpc3BsYXk6IFBsYWNlbWVudERpc3BsYXk7XG4gIHN0cmF0ZWd5OiBVcHNlbGxTdHJhdGVneTtcbiAgc3RyYXRlZ3lQYXJhbXM6IFN0cmF0ZWd5UGFyYW1zO1xuICBjb25maWdWZXJzaW9uOiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQnk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBZG1pbiB1cHNlcnQuIFNjb3BlIGlzIGRlcml2ZWQ6IG5vIHBhcmVudElkIOKGkiBwbGF0Zm9ybSBkZWZhdWx0O1xuICogcGFyZW50SWQgb25seSDihpIgYnJhbmQgcm93OyBwYXJlbnRJZCArIGJ1c2luZXNzSWQg4oaSIGJ1c2luZXNzIG92ZXJyaWRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlbWVudFVwc2VydElucHV0IHtcbiAgcGFyZW50SWQ/OiBudW1iZXI7XG4gIGJ1c2luZXNzSWQ/OiBudW1iZXI7XG4gIGNoYW5uZWw6IENoYW5uZWw7XG4gIGtleTogc3RyaW5nO1xuICB0b3VjaHBvaW50OiBUb3VjaHBvaW50O1xuICBlbmFibGVkOiBib29sZWFuO1xuICBkaXNwbGF5OiBQbGFjZW1lbnREaXNwbGF5O1xuICBzdHJhdGVneT86IFVwc2VsbFN0cmF0ZWd5O1xuICBzdHJhdGVneVBhcmFtcz86IFN0cmF0ZWd5UGFyYW1zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlbWVudERlbGV0ZUlucHV0IHtcbiAgcGFyZW50SWQ/OiBudW1iZXI7XG4gIGJ1c2luZXNzSWQ/OiBudW1iZXI7XG4gIGNoYW5uZWw6IENoYW5uZWw7XG4gIGtleTogc3RyaW5nO1xuICAvKipcbiAgICogUmVxdWlyZWQgYnkgdGhlIHNlcnZlciB3aGVuIGBwYXJlbnRJZGAgaXMgb21pdHRlZCwgYmVjYXVzZSB0aGF0IGNhbGxcbiAgICogdGFyZ2V0cyB0aGUgUExBVEZPUk0gREVGQVVMVCByb3cgYW5kIHNvIHJlbW92ZXMgdGhlIHBsYWNlbWVudCBmb3JcbiAgICogZXZlcnkgdGVuYW50IHRoYXQgaGFzIG5vdCBvdmVycmlkZGVuIGl0LiBXaXRob3V0IHRoaXMgdGhlIHNlcnZlclxuICAgKiByZWplY3RzIHRoZSByZXF1ZXN0IHdpdGggNDAwIHJhdGhlciB0aGFuIGd1ZXNzaW5nIHRoYXQgYSBtaXNzaW5nXG4gICAqIHBhcmVudElkIHdhcyBkZWxpYmVyYXRlLlxuICAgKlxuICAgKiBEZWxpYmVyYXRlbHkgbm90IGRlZmF1bHRlZCB0byBgdHJ1ZWAgaGVyZTogdGhlIHdob2xlIHBvaW50IG9mIHRoZVxuICAgKiBmbGFnIGlzIHRoYXQgZGVsZXRpbmcgYSBkZWZhdWx0IG11c3QgYmUgc3RhdGVkLCBub3QgaW5mZXJyZWQgZnJvbVxuICAgKiB0aGUgc2hhcGUgb2YgdGhlIGNhbGwuXG4gICAqL1xuICBjb25maXJtRGVsZXRlRGVmYXVsdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhY2VtZW50c1F1ZXJ5IHtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAgcGFyZW50SWQ6IG51bWJlcjtcbiAgYnVzaW5lc3NJZDogbnVtYmVyO1xufVxuXG4vLyDilIDilIDilIAgQXR0YWNoLXJhdGUgdGVsZW1ldHJ5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgdHlwZSBVcHNlbGxFdmVudFR5cGUgPSAnc2hvd24nIHwgJ2FkZGVkJyB8ICdpZ25vcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBVcHNlbGxFdmVudCB7XG4gIHR5cGU6IFVwc2VsbEV2ZW50VHlwZTtcbiAgLyoqXG4gICAqIEVjaG8gdGhlIGl0ZW0ncyBgc291cmNlYC4gVGhpcyBpcyB3aGF0IG1ha2VzIFwiaXMgbXkgbGlzdCBwZXJmb3JtaW5nXG4gICAqIGJldHRlciB0aGFuIHlvdXIgYWxnb3JpdGhtP1wiIGFuc3dlcmFibGUg4oCUIGF0dGFjaCByYXRlIGlzIG9ubHlcbiAgICogY29tcGFyYWJsZSBieSBsYXllciBpZiB0aGUgbGF5ZXIgaXMgcmVjb3JkZWQgb24gdGhlIGV2ZW50LlxuICAgKi9cbiAgc291cmNlPzogSXRlbVNvdXJjZTtcbiAgLyoqXG4gICAqIEFMV0FZUyB0aGUgaWQgdGhlIHN1Z2dlc3Rpb24gd2FzIHNlcnZlZCB1bmRlci4gRm9yIGFuIGl0ZW0gd2l0aFxuICAgKiBgaGFzVmFyaWFudHNgIHRoYXQgaXMgdGhlIERJU0gsIG5vdCB0aGUgc2l6ZSB0aGUgY3VzdG9tZXIgY2hvc2Ug4oCUXG4gICAqIHNlbmRpbmcgdGhlIHNpemUgaWQgbGVhdmVzIHRoaXMgZXZlbnQgdW5qb2luYWJsZSB0byB0aGUgYHNob3duYFxuICAgKiB0aGF0IHByZWNlZGVkIGl0LCBzbyBhdHRhY2ggcmF0ZSBmb3IgZXZlcnkgcGlja2VyIGNhcmQgcmVhZHMgemVyby5cbiAgICovXG4gIGl0ZW1JZDogbnVtYmVyO1xuICAvKipcbiAgICogV2hpY2ggc2l6ZSB3YXMgY2hvc2VuLCB3aGVuIGBpdGVtSWRgIGlzIGFuIGl0ZW0gd2l0aCB2YXJpYW50cy5cbiAgICogQW5zd2VycyB3aGV0aGVyIGEgXCJmcm9tIDE0NVwiIGNhcmQgc2VsbHMgUmVndWxhcnMgb3IgTGFyZ2VzLCB3aGljaFxuICAgKiBjYW5ub3QgYmUgcmVjb3ZlcmVkIGxhdGVyIGZyb20gYSBkYXRhc2V0IHRoYXQgbmV2ZXIgY2FycmllZCBpdC5cbiAgICovXG4gIHZhcmlhbnRJdGVtSWQ/OiBudW1iZXI7XG4gIHJlYXNvbkNvZGU/OiBSZWFzb25Db2RlO1xuICAvKiogSVNPLTg2MDEuIERlZmF1bHRzIHRvIHNlcnZlciByZWNlaXZlIHRpbWUgd2hlbiBvbWl0dGVkLiAqL1xuICBvY2N1cnJlZEF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VsbEV2ZW50c0lucHV0IHtcbiAgY2hhbm5lbDogQ2hhbm5lbDtcbiAgcGxhY2VtZW50OiBzdHJpbmc7XG4gIHRlbmFudDogVGVuYW50O1xuICBzZXNzaW9uSWQ/OiBzdHJpbmc7XG4gIC8qKiBFY2hvIGBtZXRhLmNvbmZpZ1ZlcnNpb25gIGZyb20gdGhlIHJlc3BvbnNlIGJlaW5nIHJlcG9ydGVkIG9uLiAqL1xuICBjb25maWdWZXJzaW9uPzogc3RyaW5nO1xuICBldmVudHM6IFVwc2VsbEV2ZW50W107XG59XG4iXX0=
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -16,5 +16,5 @@ exports.SDK_VERSION = void 0;
|
|
|
16
16
|
* namespace suite, so a later split or trim of one namespace cannot take
|
|
17
17
|
* the release guard with it.
|
|
18
18
|
*/
|
|
19
|
-
exports.SDK_VERSION = '3.
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
exports.SDK_VERSION = '3.1.0';
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYW51YWxseS1tYWludGFpbmVkIHZlcnNpb24gc3RyaW5nIHN1cmZhY2VkIHZpYSB0aGUgYFVzZXItQWdlbnRgXG4gKiBoZWFkZXIuIEtlcHQgaW4gc3luYyB3aXRoIGBwYWNrYWdlLmpzb25gIGJ5IGhhbmQgYmVjYXVzZSBwdWxsaW5nIHRoZVxuICogdmFsdWUgZnJvbSBwYWNrYWdlLmpzb24gYXQgcnVudGltZSB3b3VsZCByZXF1aXJlIGVpdGhlciBhIEpTT04gaW1wb3J0XG4gKiAoVFMgbGliIHNldHRpbmdzIGRlcGVuZGVudCkgb3IgYSBidWlsZC10aW1lIHJlcGxhY2VtZW50LCBhbmQgdGhlXG4gKiBjb3N0IG9mIG9uZSBidW1wLWluLXR3by1wbGFjZXMgcGVyIHJlbGVhc2UgaXMgc21hbGwuXG4gKlxuICogVGhhdCBjb3N0IHdhcyB1bmRlcmVzdGltYXRlZCBvbmNlOiB0aGUgcHVibGlzaCBqb2IgdmVyaWZpZXNcbiAqIHBhY2thZ2UuanNvbiBhZ2FpbnN0IHRoZSByZWxlYXNlIHRhZyBidXQgbmV2ZXIgcmVhZHMgdGhpcyBmaWxlLCBzbyB0aGVcbiAqIHR3byBkcmlmdGVkIGFuZCAxLjAuMCBzaGlwcGVkIHJlcG9ydGluZyAwLjkuMS4gQSB0ZXN0IG5vdyBwaW5zIHRoZW1cbiAqIHRvZ2V0aGVyIChgdGVzdC92ZXJzaW9uLnRlc3QudHNgKSwgc28gZm9yZ2V0dGluZyB0aGlzIGJ1bXAgZmFpbHMgdGhlXG4gKiBidWlsZCBpbnN0ZWFkIG9mIHRoZSBVc2VyLUFnZW50LiBJdCBsaXZlcyBhdCB0aGUgdG9wIGxldmVsLCBub3QgdW5kZXIgYVxuICogbmFtZXNwYWNlIHN1aXRlLCBzbyBhIGxhdGVyIHNwbGl0IG9yIHRyaW0gb2Ygb25lIG5hbWVzcGFjZSBjYW5ub3QgdGFrZVxuICogdGhlIHJlbGVhc2UgZ3VhcmQgd2l0aCBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNES19WRVJTSU9OID0gJzMuMS4wJztcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uengage.io/platform-sdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "Client SDK for the uEngage platform API (audit, business, zones, wallet, upsell, auth, events). Single createClient(...) factory; OAuth2 client_credentials, static Bearer, or legacy session-token auth modes. Browser-safe realtime client at the /realtime subpath.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|