@gomomento/sdk-core 1.90.1 → 1.91.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/dist/src/auth/credential-provider.d.ts +15 -3
- package/dist/src/auth/credential-provider.js +17 -1
- package/dist/src/clients/IStorageClient.d.ts +13 -0
- package/dist/src/clients/IStorageClient.js +3 -0
- package/dist/src/errors/errors.d.ts +34 -2
- package/dist/src/errors/errors.js +55 -8
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.js +13 -6
- package/dist/src/internal/clients/index.d.ts +1 -0
- package/dist/src/internal/clients/index.js +2 -1
- package/dist/src/internal/clients/pubsub/AbstractPubsubClient.js +2 -2
- package/dist/src/internal/clients/storage/AbstractStorageClient.d.ts +21 -0
- package/dist/src/internal/clients/storage/AbstractStorageClient.js +48 -0
- package/dist/src/internal/clients/storage/IStorageControlClient.d.ts +7 -0
- package/dist/src/internal/clients/storage/IStorageControlClient.js +3 -0
- package/dist/src/internal/clients/storage/IStorageDataClient.d.ts +10 -0
- package/dist/src/internal/clients/storage/IStorageDataClient.js +3 -0
- package/dist/src/internal/clients/storage/index.d.ts +4 -0
- package/dist/src/internal/clients/storage/index.js +21 -0
- package/dist/src/internal/utils/auth.d.ts +2 -0
- package/dist/src/internal/utils/auth.js +7 -1
- package/dist/src/internal/utils/validators.d.ts +1 -0
- package/dist/src/internal/utils/validators.js +8 -2
- package/dist/src/messages/responses/enums/index.d.ts +1 -0
- package/dist/src/messages/responses/enums/index.js +2 -1
- package/dist/src/messages/responses/enums/store/control/index.d.ts +13 -0
- package/dist/src/messages/responses/enums/store/control/index.js +20 -0
- package/dist/src/messages/responses/enums/store/index.d.ts +2 -0
- package/dist/src/messages/responses/enums/store/index.js +19 -0
- package/dist/src/messages/responses/enums/store/scalar/index.d.ts +12 -0
- package/dist/src/messages/responses/enums/store/scalar/index.js +19 -0
- package/dist/src/messages/responses/storage/control/create-store.d.ts +34 -0
- package/dist/src/messages/responses/storage/control/create-store.js +43 -0
- package/dist/src/messages/responses/storage/control/delete-store.d.ts +28 -0
- package/dist/src/messages/responses/storage/control/delete-store.js +33 -0
- package/dist/src/messages/responses/storage/control/index.d.ts +3 -0
- package/dist/src/messages/responses/storage/control/index.js +7 -0
- package/dist/src/messages/responses/storage/control/list-stores.d.ts +37 -0
- package/dist/src/messages/responses/storage/control/list-stores.js +45 -0
- package/dist/src/messages/responses/storage/index.d.ts +2 -0
- package/dist/src/messages/responses/storage/index.js +19 -0
- package/dist/src/messages/responses/storage/scalar/index.d.ts +3 -0
- package/dist/src/messages/responses/storage/scalar/index.js +7 -0
- package/dist/src/messages/responses/storage/scalar/storage-delete.d.ts +28 -0
- package/dist/src/messages/responses/storage/scalar/storage-delete.js +33 -0
- package/dist/src/messages/responses/storage/scalar/storage-get.d.ts +71 -0
- package/dist/src/messages/responses/storage/scalar/storage-get.js +86 -0
- package/dist/src/messages/responses/storage/scalar/storage-put.d.ts +28 -0
- package/dist/src/messages/responses/storage/scalar/storage-put.js +33 -0
- package/dist/src/messages/responses/storage/scalar/storage-value.d.ts +61 -0
- package/dist/src/messages/responses/storage/scalar/storage-value.js +87 -0
- package/dist/src/messages/store-info.d.ts +16 -0
- package/dist/src/messages/store-info.js +24 -0
- package/package.json +1 -1
@@ -27,7 +27,7 @@ export declare abstract class CredentialProvider {
|
|
27
27
|
*/
|
28
28
|
abstract getControlEndpoint(): string;
|
29
29
|
/**
|
30
|
-
* @returns {boolean} true if connecting to the control plane endpoint connection
|
30
|
+
* @returns {boolean} true if connecting to the control plane endpoint connection with TLS; false if not using TLS
|
31
31
|
*/
|
32
32
|
abstract isControlEndpointSecure(): boolean;
|
33
33
|
/**
|
@@ -35,15 +35,23 @@ export declare abstract class CredentialProvider {
|
|
35
35
|
*/
|
36
36
|
abstract getCacheEndpoint(): string;
|
37
37
|
/**
|
38
|
-
* @returns {boolean} true if connecting to the data plane endpoint connection
|
38
|
+
* @returns {boolean} true if connecting to the data plane endpoint connection with TLS; false if not using TLS
|
39
39
|
*/
|
40
40
|
abstract isCacheEndpointSecure(): boolean;
|
41
|
+
/**
|
42
|
+
* @returns {string} The host which the Momento client will connect to for Momento storage operations
|
43
|
+
*/
|
44
|
+
abstract getStorageEndpoint(): string;
|
45
|
+
/**
|
46
|
+
* @returns {boolean} true if connecting to the storage endpoint connection with TLS; false if not using TLS
|
47
|
+
*/
|
48
|
+
abstract isStorageEndpointSecure(): boolean;
|
41
49
|
/**
|
42
50
|
* @returns {string} The host which the Momento client will connect to for Momento token operations
|
43
51
|
*/
|
44
52
|
abstract getTokenEndpoint(): string;
|
45
53
|
/**
|
46
|
-
* @returns {boolean} true if connecting to the token endpoint connection
|
54
|
+
* @returns {boolean} true if connecting to the token endpoint connection with TLS; false if not using TLS
|
47
55
|
*/
|
48
56
|
abstract isTokenEndpointSecure(): boolean;
|
49
57
|
/**
|
@@ -65,6 +73,8 @@ declare abstract class CredentialProviderBase implements CredentialProvider {
|
|
65
73
|
abstract isCacheEndpointSecure(): boolean;
|
66
74
|
abstract getControlEndpoint(): string;
|
67
75
|
abstract isControlEndpointSecure(): boolean;
|
76
|
+
abstract getStorageEndpoint(): string;
|
77
|
+
abstract isStorageEndpointSecure(): boolean;
|
68
78
|
abstract getTokenEndpoint(): string;
|
69
79
|
abstract isTokenEndpointSecure(): boolean;
|
70
80
|
abstract areEndpointsOverridden(): boolean;
|
@@ -104,6 +114,8 @@ export declare class StringMomentoTokenProvider extends CredentialProviderBase {
|
|
104
114
|
isControlEndpointSecure(): boolean;
|
105
115
|
getTokenEndpoint(): string;
|
106
116
|
isTokenEndpointSecure(): boolean;
|
117
|
+
getStorageEndpoint(): string;
|
118
|
+
isStorageEndpointSecure(): boolean;
|
107
119
|
areEndpointsOverridden(): boolean;
|
108
120
|
withMomentoLocal(): CredentialProvider;
|
109
121
|
}
|
@@ -74,6 +74,9 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
|
|
74
74
|
if (decodedToken.tokenEndpoint === undefined) {
|
75
75
|
throw new Error('Malformed token; unable to determine token endpoint. Depending on the type of token you are using, you may need to specify the tokenEndpoint explicitly.');
|
76
76
|
}
|
77
|
+
if (decodedToken.storageEndpoint === undefined) {
|
78
|
+
throw new Error('Malformed token; unable to determine storage endpoint. Depending on the type of token you are using, you may need to specify the storageEndpoint explicitly.');
|
79
|
+
}
|
77
80
|
this.allEndpoints = {
|
78
81
|
controlEndpoint: {
|
79
82
|
endpoint: decodedToken.controlEndpoint,
|
@@ -84,6 +87,9 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
|
|
84
87
|
tokenEndpoint: {
|
85
88
|
endpoint: decodedToken.tokenEndpoint,
|
86
89
|
},
|
90
|
+
storageEndpoint: {
|
91
|
+
endpoint: decodedToken.storageEndpoint,
|
92
|
+
},
|
87
93
|
};
|
88
94
|
}
|
89
95
|
else if (isAllEndpoints(props.endpointOverrides)) {
|
@@ -130,6 +136,15 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
|
|
130
136
|
}
|
131
137
|
return this.allEndpoints.tokenEndpoint.secureConnection;
|
132
138
|
}
|
139
|
+
getStorageEndpoint() {
|
140
|
+
return this.allEndpoints.storageEndpoint.endpoint;
|
141
|
+
}
|
142
|
+
isStorageEndpointSecure() {
|
143
|
+
if (this.allEndpoints.storageEndpoint.secureConnection === undefined) {
|
144
|
+
return true;
|
145
|
+
}
|
146
|
+
return this.allEndpoints.storageEndpoint.secureConnection;
|
147
|
+
}
|
133
148
|
areEndpointsOverridden() {
|
134
149
|
return this.endpointsOverridden;
|
135
150
|
}
|
@@ -144,6 +159,7 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
|
|
144
159
|
cacheEndpoint: momentoLocalOverride,
|
145
160
|
controlEndpoint: momentoLocalOverride,
|
146
161
|
tokenEndpoint: momentoLocalOverride,
|
162
|
+
storageEndpoint: momentoLocalOverride,
|
147
163
|
},
|
148
164
|
});
|
149
165
|
}
|
@@ -174,4 +190,4 @@ class EnvMomentoTokenProvider extends StringMomentoTokenProvider {
|
|
174
190
|
}
|
175
191
|
}
|
176
192
|
exports.EnvMomentoTokenProvider = EnvMomentoTokenProvider;
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBSzJCO0FBVTNCLFNBQVMsc0JBQXNCLENBQzdCLGlCQUFvQztJQUVwQyxPQUFRLGlCQUEwQyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUM7QUFDaEYsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixpQkFBb0M7SUFFcEMsTUFBTSxZQUFZLEdBQUcsaUJBQWlDLENBQUM7SUFDdkQsT0FBTyxDQUNMLFlBQVksQ0FBQyxhQUFhLEtBQUssU0FBUztRQUN4QyxZQUFZLENBQUMsZUFBZSxLQUFLLFNBQVM7UUFDMUMsWUFBWSxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQ3pDLENBQUM7QUFDSixDQUFDO0FBU0Q7Ozs7O0dBS0c7QUFDSCxNQUFzQixrQkFBa0I7SUErQ3RDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsS0FBNEM7UUFFNUMsT0FBTyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUNmLEtBQTRDO1FBRTVDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FDZixLQUErQztRQUUvQyxPQUFPLElBQUksMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBaEVELGdEQWdFQztBQUVELE1BQWUsc0JBQXNCO0lBbUJuQyxPQUFPO1FBQ0wsNkRBQTZEO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFD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QTBCO0lBRXJFOztPQUVHO0lBQ0gsWUFBWSxLQUE0QztRQUN0RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixLQUFLLEdBQUcsRUFBQyx1QkFBdUIsRUFBRSxLQUFLLEVBQUMsQ0FBQztTQUMxQztRQUNELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQ2IseUNBQXlDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUN6RSxDQUFDO1NBQ0g7UUFDRCxLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsU0FBUztZQUNwQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1NBQzNDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBckJELDBEQXFCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFsbEVuZHBvaW50cyxcbiAgZGVjb2RlQXV0aFRva2VuLFxuICBmcm9tRW50cmllcyxcbiAgcG9wdWxhdGVBbGxFbmRwb2ludHNGcm9tQmFzZUVuZHBvaW50LFxufSBmcm9tICcuLi9pbnRlcm5hbC91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUVuZHBvaW50T3ZlcnJpZGUge1xuICBiYXNlRW5kcG9pbnQ6IHN0cmluZztcbiAgZW5kcG9pbnRQcmVmaXg/OiBzdHJpbmc7XG4gIHNlY3VyZUNvbm5lY3Rpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBFbmRwb2ludE92ZXJyaWRlcyA9IEJhc2VFbmRwb2ludE92ZXJyaWRlIHwgQWxsRW5kcG9pbnRzO1xuXG5mdW5jdGlvbiBpc0Jhc2VFbmRwb2ludE92ZXJyaWRlKFxuICBlbmRwb2ludE92ZXJyaWRlczogRW5kcG9pbnRPdmVycmlkZXNcbik6IGVuZHBvaW50T3ZlcnJpZGVzIGlzIEJhc2VFbmRwb2ludE92ZXJyaWRlIHtcbiAgcmV0dXJuIChlbmRwb2ludE92ZXJyaWRlcyBhcyBCYXNlRW5kcG9pbnRPdmVycmlkZSkuYmFzZUVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGlzQWxsRW5kcG9pbnRzKFxuICBlbmRwb2ludE92ZXJyaWRlczogRW5kcG9pbnRPdmVycmlkZXNcbik6IGVuZHBvaW50T3ZlcnJpZGVzIGlzIEFsbEVuZHBvaW50cyB7XG4gIGNvbnN0IGFsbEVuZHBvaW50cyA9IGVuZHBvaW50T3ZlcnJpZGVzIGFzIEFsbEVuZHBvaW50cztcbiAgcmV0dXJuIChcbiAgICBhbGxFbmRwb2ludHMuY2FjaGVFbmRwb2ludCAhPT0gdW5kZWZpbmVkICYmXG4gICAgYWxsRW5kcG9pbnRzLmNvbnRyb2xFbmRwb2ludCAhPT0gdW5kZWZpbmVkICYmXG4gICAgYWxsRW5kcG9pbnRzLnRva2VuRW5kcG9pbnQgIT09IHVuZGVmaW5lZFxuICApO1xufVxuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBhcmd1bWVudHMgZm9yIGluc3RhbnRpYXRpbmcgYW4gRW52TW9tZW50b1Rva2VuUHJvdmlkZXJcbiAqL1xuaW50ZXJmYWNlIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgZW5kcG9pbnRPdmVycmlkZXM/OiBFbmRwb2ludE92ZXJyaWRlcztcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiB0aGF0IHRoZSBDYWNoZUNsaWVudCBuZWVkcyBpbiBvcmRlciB0byBlc3RhYmxpc2ggYSBjb25uZWN0aW9uIHRvIGFuZCBhdXRoZW50aWNhdGUgd2l0aFxuICogdGhlIE1vbWVudG8gc2VydmljZS5cbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgQ3JlZGVudGlhbFByb3ZpZGVyXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gQXV0aCB0b2tlbiBwcm92aWRlZCBieSB1c2VyLCByZXF1aXJlZCB0byBhdXRoZW50aWNhdGUgd2l0aCB0aGUgc2VydmljZVxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0QXV0aFRva2VuKCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byBjb250cm9sIHBsYW5lIG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIGNvbm5lY3RpbmcgdG8gdGhlIGNvbnRyb2wgcGxhbmUgZW5kcG9pbnQgY29ubmVjdGlvbiB3aXRob3V0IFRMUzsgZmFsc2UgaWYgdXNpbmcgVExTXG4gICAqL1xuICBhYnN0cmFjdCBpc0NvbnRyb2xFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgaG9zdCB3aGljaCB0aGUgTW9tZW50byBjbGllbnQgd2lsbCBjb25uZWN0IHRvIGZvciBNb21lbnRvIGRhdGEgcGxhbmUgb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIGNvbm5lY3RpbmcgdG8gdGhlIGRhdGEgcGxhbmUgZW5kcG9pbnQgY29ubmVjdGlvbiB3aXRob3V0IFRMUzsgZmFsc2UgaWYgdXNpbmcgVExTXG4gICAqL1xuICBhYnN0cmFjdCBpc0NhY2hlRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byB0b2tlbiBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgY29ubmVjdGluZyB0byB0aGUgdG9rZW4gZW5kcG9pbnQgY29ubmVjdGlvbiB3aXRob3V0IFRMUzsgZmFsc2UgaWYgdXNpbmcgVExTXG4gICAqL1xuICBhYnN0cmFjdCBpc1Rva2VuRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogTW9kaWZpZXMgdGhlIGluc3RhbmNlIG9mIHRoZSBjcmVkZW50aWFsIHByb3ZpZGVyIHRvIG92ZXJyaWRlIGVuZHBvaW50cyB0b1xuICAgKiBhbGxvdyBpbnNlY3VyZSBjb25uZWN0aW9ucyB0byB0aGUgbW9tZW50by1sb2NhbCBzZXJ2aWNlIGZvciB0ZXN0aW5nIHB1cnBvc2VzXG4gICAqL1xuICBhYnN0cmFjdCB3aXRoTW9tZW50b0xvY2FsKCk6IENyZWRlbnRpYWxQcm92aWRlcjtcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGVuZHBvaW50cyB3ZXJlIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIHN0YXRpYyBmcm9tRW52aXJvbm1lbnRWYXJpYWJsZShcbiAgICBwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyB8IHN0cmluZ1xuICApOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIocHJvcHMpO1xuICB9XG5cbiAgc3RhdGljIGZyb21FbnZWYXIoXG4gICAgcHJvcHM6IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgfCBzdHJpbmdcbiAgKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyKHByb3BzKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RyaW5nKFxuICAgIHByb3BzOiBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzIHwgc3RyaW5nXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cbn1cblxuYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyQmFzZSBpbXBsZW1lbnRzIENyZWRlbnRpYWxQcm92aWRlciB7XG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNDYWNoZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgZ2V0Q29udHJvbEVuZHBvaW50KCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBpc0NvbnRyb2xFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGdldFRva2VuRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGlzVG9rZW5FbmRwb2ludFNlY3VyZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGFyZUVuZHBvaW50c092ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCB3aXRoTW9tZW50b0xvY2FsKCk6IENyZWRlbnRpYWxQcm92aWRlcjtcblxuICB2YWx1ZU9mKCk6IG9iamVjdCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyh0aGlzKS5maWx0ZXIoKFtrXSkgPT4gayAhPT0gJ2F1dGhUb2tlbicpO1xuICAgIGNvbnN0IGNsb25lID0gZnJvbUVudHJpZXMoZW50cmllcyk7XG4gICAgcmV0dXJuIGNsb25lLnZhbHVlT2YoKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ01vbWVudG9BcGlLZXlQcm92aWRlclByb3BzXG4gIGV4dGVuZHMgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogYXBpS2V5IHRoZSBtb21lbnRvIEFQSSBrZXlcbiAgICovXG4gIGFwaUtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ01vbWVudG9BdXRoVG9rZW5Qcm92aWRlclByb3BzXG4gIGV4dGVuZHMgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogYXV0aFRva2VuIHRoZSBtb21lbnRvIGF1dGggdG9rZW5cbiAgICovXG4gIGF1dGhUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzID1cbiAgfCBTdHJpbmdNb21lbnRvQXBpS2V5UHJvdmlkZXJQcm9wc1xuICB8IFN0cmluZ01vbWVudG9BdXRoVG9rZW5Qcm92aWRlclByb3BzO1xuXG4vKipcbiAqIFJlYWRzIGFuZCBwYXJzZXMgYSBtb21lbnRvIGF1dGggdG9rZW4gc3RvcmVkIGluIGEgU3RyaW5nXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyIGV4dGVuZHMgQ3JlZGVudGlhbFByb3ZpZGVyQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWxsRW5kcG9pbnRzOiBBbGxFbmRwb2ludHM7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW5kcG9pbnRzT3ZlcnJpZGRlbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHBhcmFtIHtTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzfSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSB0b2tlbiBwcm92aWRlclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgfCBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIHByb3BzID09PSAnc3RyaW5nJykge1xuICAgICAgcHJvcHMgPSB7YXBpS2V5OiBwcm9wc307XG4gICAgfVxuICAgIHN1cGVyKCk7XG4gICAgbGV0IGtleTogc3RyaW5nO1xuICAgIGlmICgnYXV0aFRva2VuJyBpbiBwcm9wcykge1xuICAgICAga2V5ID0gcHJvcHMuYXV0aFRva2VuO1xuICAgIH0gZWxzZSBpZiAoJ2FwaUtleScgaW4gcHJvcHMpIHtcbiAgICAgIGtleSA9IHByb3BzLmFwaUtleTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHJlcXVpcmVkIHByb3BlcnR5OiBhdXRoVG9rZW4gb3IgYXBpS2V5Jyk7XG4gICAgfVxuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGRlY29kZUF1dGhUb2tlbihrZXkpO1xuICAgIHRoaXMuYXBpS2V5ID0gZGVjb2RlZFRva2VuLmF1dGhUb2tlbjtcbiAgICBpZiAocHJvcHMuZW5kcG9pbnRPdmVycmlkZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbmRwb2ludHNPdmVycmlkZGVuID0gZmFsc2U7XG4gICAgICBpZiAoZGVjb2RlZFRva2VuLmNvbnRyb2xFbmRwb2ludCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIGNvbnRyb2wgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNvbnRyb2xFbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWNvZGVkVG9rZW4uY2FjaGVFbmRwb2ludCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIGNhY2hlIGVuZHBvaW50LiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcsIHlvdSBtYXkgbmVlZCB0byBzcGVjaWZ5IHRoZSBjYWNoZUVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgdG9rZW4gZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIHRva2VuRW5kcG9pbnQgZXhwbGljaXRseS4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiB7XG4gICAgICAgICAgZW5kcG9pbnQ6IGRlY29kZWRUb2tlbi5jb250cm9sRW5kcG9pbnQsXG4gICAgICAgIH0sXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IHtcbiAgICAgICAgICBlbmRwb2ludDogZGVjb2RlZFRva2VuLmNhY2hlRW5kcG9pbnQsXG4gICAgICAgIH0sXG4gICAgICAgIHRva2VuRW5kcG9pbnQ6IHtcbiAgICAgICAgICBlbmRwb2ludDogZGVjb2RlZFRva2VuLnRva2VuRW5kcG9pbnQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAoaXNBbGxFbmRwb2ludHMocHJvcHMuZW5kcG9pbnRPdmVycmlkZXMpKSB7XG4gICAgICB0aGlzLmVuZHBvaW50c092ZXJyaWRkZW4gPSB0cnVlO1xuICAgICAgdGhpcy5hbGxFbmRwb2ludHMgPSBwcm9wcy5lbmRwb2ludE92ZXJyaWRlcztcbiAgICB9IGVsc2UgaWYgKGlzQmFzZUVuZHBvaW50T3ZlcnJpZGUocHJvcHMuZW5kcG9pbnRPdmVycmlkZXMpKSB7XG4gICAgICB0aGlzLmVuZHBvaW50c092ZXJyaWRkZW4gPSB0cnVlO1xuICAgICAgdGhpcy5hbGxFbmRwb2ludHMgPSBwb3B1bGF0ZUFsbEVuZHBvaW50c0Zyb21CYXNlRW5kcG9pbnQoXG4gICAgICAgIHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgYFVuc3VwcG9ydGVkIGVuZHBvaW50T3ZlcnJpZGVzOiAke3Byb3BzLmVuZHBvaW50T3ZlcnJpZGVzfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QXV0aFRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXBpS2V5O1xuICB9XG5cbiAgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50LmVuZHBvaW50O1xuICB9XG5cbiAgaXNDYWNoZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb247XG4gIH1cblxuICBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50LmVuZHBvaW50O1xuICB9XG5cbiAgaXNDb250cm9sRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWxsRW5kcG9pbnRzLmNvbnRyb2xFbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb247XG4gIH1cblxuICBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnRva2VuRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc1Rva2VuRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWxsRW5kcG9pbnRzLnRva2VuRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnRva2VuRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGFyZUVuZHBvaW50c092ZXJyaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbjtcbiAgfVxuXG4gIHdpdGhNb21lbnRvTG9jYWwoKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICBjb25zdCBtb21lbnRvTG9jYWxPdmVycmlkZSA9IHtcbiAgICAgIGVuZHBvaW50OiAnMTI3LjAuMC4xOjgwODAnLFxuICAgICAgc2VjdXJlQ29ubmVjdGlvbjogZmFsc2UsXG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyKHtcbiAgICAgIGF1dGhUb2tlbjogdGhpcy5hcGlLZXksXG4gICAgICBlbmRwb2ludE92ZXJyaWRlczoge1xuICAgICAgICBjYWNoZUVuZHBvaW50OiBtb21lbnRvTG9jYWxPdmVycmlkZSxcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBtb21lbnRvTG9jYWxPdmVycmlkZSxcbiAgICAgICAgdG9rZW5FbmRwb2ludDogbW9tZW50b0xvY2FsT3ZlcnJpZGUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIHdoaWNoIHRoZSBhdXRoIHRva2VuIHdpbGwgYmUgcmVhZFxuICAgKi9cbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciB7XG4gIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgcHJvcHMgPT09ICdzdHJpbmcnKSB7XG4gICAgICBwcm9wcyA9IHtlbnZpcm9ubWVudFZhcmlhYmxlTmFtZTogcHJvcHN9O1xuICAgIH1cbiAgICBjb25zdCBhdXRoVG9rZW4gPSBwcm9jZXNzLmVudltwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZV07XG4gICAgaWYgKCFhdXRoVG9rZW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE1pc3NpbmcgcmVxdWlyZWQgZW52aXJvbm1lbnQgdmFyaWFibGUgJHtwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZX1gXG4gICAgICApO1xuICAgIH1cbiAgICBzdXBlcih7XG4gICAgICBhdXRoVG9rZW46IGF1dGhUb2tlbixcbiAgICAgIGVuZHBvaW50T3ZlcnJpZGVzOiBwcm9wcy5lbmRwb2ludE92ZXJyaWRlcyxcbiAgICB9KTtcbiAgICB0aGlzLmVudmlyb25tZW50VmFyaWFibGVOYW1lID0gcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU7XG4gIH1cbn1cbiJdfQ==
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBSzJCO0FBVTNCLFNBQVMsc0JBQXNCLENBQzdCLGlCQUFvQztJQUVwQyxPQUFRLGlCQUEwQyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUM7QUFDaEYsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixpQkFBb0M7SUFFcEMsTUFBTSxZQUFZLEdBQUcsaUJBQWlDLENBQUM7SUFDdkQsT0FBTyxDQUNMLFlBQVksQ0FBQyxhQUFhLEtBQUssU0FBUztRQUN4QyxZQUFZLENBQUMsZUFBZSxLQUFLLFNBQVM7UUFDMUMsWUFBWSxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQ3pDLENBQUM7QUFDSixDQUFDO0FBU0Q7Ozs7O0dBS0c7QUFDSCxNQUFzQixrQkFBa0I7SUF5RHRDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsS0FBNEM7UUFFNUMsT0FBTyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUNmLEtBQTRDO1FBRTVDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FDZixLQUErQztRQUUvQyxPQUFPLElBQUksMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBMUVELGdEQTBFQztBQUVELE1BQWUsc0JBQXNCO0lBdUJuQyxPQUFPO1FBQ0wsNkRBQTZEO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFD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XG4gIGRlY29kZUF1dGhUb2tlbixcbiAgZnJvbUVudHJpZXMsXG4gIHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludCxcbn0gZnJvbSAnLi4vaW50ZXJuYWwvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VFbmRwb2ludE92ZXJyaWRlIHtcbiAgYmFzZUVuZHBvaW50OiBzdHJpbmc7XG4gIGVuZHBvaW50UHJlZml4Pzogc3RyaW5nO1xuICBzZWN1cmVDb25uZWN0aW9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgRW5kcG9pbnRPdmVycmlkZXMgPSBCYXNlRW5kcG9pbnRPdmVycmlkZSB8IEFsbEVuZHBvaW50cztcblxuZnVuY3Rpb24gaXNCYXNlRW5kcG9pbnRPdmVycmlkZShcbiAgZW5kcG9pbnRPdmVycmlkZXM6IEVuZHBvaW50T3ZlcnJpZGVzXG4pOiBlbmRwb2ludE92ZXJyaWRlcyBpcyBCYXNlRW5kcG9pbnRPdmVycmlkZSB7XG4gIHJldHVybiAoZW5kcG9pbnRPdmVycmlkZXMgYXMgQmFzZUVuZHBvaW50T3ZlcnJpZGUpLmJhc2VFbmRwb2ludCAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBpc0FsbEVuZHBvaW50cyhcbiAgZW5kcG9pbnRPdmVycmlkZXM6IEVuZHBvaW50T3ZlcnJpZGVzXG4pOiBlbmRwb2ludE92ZXJyaWRlcyBpcyBBbGxFbmRwb2ludHMge1xuICBjb25zdCBhbGxFbmRwb2ludHMgPSBlbmRwb2ludE92ZXJyaWRlcyBhcyBBbGxFbmRwb2ludHM7XG4gIHJldHVybiAoXG4gICAgYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFsbEVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFsbEVuZHBvaW50cy50b2tlbkVuZHBvaW50ICE9PSB1bmRlZmluZWRcbiAgKTtcbn1cblxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgYXJndW1lbnRzIGZvciBpbnN0YW50aWF0aW5nIGFuIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyXG4gKi9cbmludGVyZmFjZSBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIGVuZHBvaW50T3ZlcnJpZGVzPzogRW5kcG9pbnRPdmVycmlkZXM7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgaW5mb3JtYXRpb24gdGhhdCB0aGUgQ2FjaGVDbGllbnQgbmVlZHMgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byBhbmQgYXV0aGVudGljYXRlIHdpdGhcbiAqIHRoZSBNb21lbnRvIHNlcnZpY2UuXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIENyZWRlbnRpYWxQcm92aWRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEF1dGggdG9rZW4gcHJvdmlkZWQgYnkgdXNlciwgcmVxdWlyZWQgdG8gYXV0aGVudGljYXRlIHdpdGggdGhlIHNlcnZpY2VcbiAgICovXG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gY29udHJvbCBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiBjb25uZWN0aW5nIHRvIHRoZSBjb250cm9sIHBsYW5lIGVuZHBvaW50IGNvbm5lY3Rpb24gd2l0aCBUTFM7IGZhbHNlIGlmIG5vdCB1c2luZyBUTFNcbiAgICovXG4gIGFic3RyYWN0IGlzQ29udHJvbEVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gZGF0YSBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgY29ubmVjdGluZyB0byB0aGUgZGF0YSBwbGFuZSBlbmRwb2ludCBjb25uZWN0aW9uIHdpdGggVExTOyBmYWxzZSBpZiBub3QgdXNpbmcgVExTXG4gICAqL1xuICBhYnN0cmFjdCBpc0NhY2hlRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byBzdG9yYWdlIG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldFN0b3JhZ2VFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIGNvbm5lY3RpbmcgdG8gdGhlIHN0b3JhZ2UgZW5kcG9pbnQgY29ubmVjdGlvbiB3aXRoIFRMUzsgZmFsc2UgaWYgbm90IHVzaW5nIFRMU1xuICAgKi9cbiAgYWJzdHJhY3QgaXNTdG9yYWdlRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byB0b2tlbiBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgY29ubmVjdGluZyB0byB0aGUgdG9rZW4gZW5kcG9pbnQgY29ubmVjdGlvbiB3aXRoIFRMUzsgZmFsc2UgaWYgbm90IHVzaW5nIFRMU1xuICAgKi9cbiAgYWJzdHJhY3QgaXNUb2tlbkVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE1vZGlmaWVzIHRoZSBpbnN0YW5jZSBvZiB0aGUgY3JlZGVudGlhbCBwcm92aWRlciB0byBvdmVycmlkZSBlbmRwb2ludHMgdG9cbiAgICogYWxsb3cgaW5zZWN1cmUgY29ubmVjdGlvbnMgdG8gdGhlIG1vbWVudG8tbG9jYWwgc2VydmljZSBmb3IgdGVzdGluZyBwdXJwb3Nlc1xuICAgKi9cbiAgYWJzdHJhY3Qgd2l0aE1vbWVudG9Mb2NhbCgpOiBDcmVkZW50aWFsUHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIHRoZSBlbmRwb2ludHMgd2VyZSBtYW51YWxseSBvdmVycmlkZGVuIGF0IGNvbnN0cnVjdGlvbiB0aW1lOyBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGFyZUVuZHBvaW50c092ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICBzdGF0aWMgZnJvbUVudmlyb25tZW50VmFyaWFibGUoXG4gICAgcHJvcHM6IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgfCBzdHJpbmdcbiAgKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyKHByb3BzKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRW52VmFyKFxuICAgIHByb3BzOiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzIHwgc3RyaW5nXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZyhcbiAgICBwcm9wczogU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyB8IHN0cmluZ1xuICApOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIocHJvcHMpO1xuICB9XG59XG5cbmFic3RyYWN0IGNsYXNzIENyZWRlbnRpYWxQcm92aWRlckJhc2UgaW1wbGVtZW50cyBDcmVkZW50aWFsUHJvdmlkZXIge1xuICBhYnN0cmFjdCBnZXRBdXRoVG9rZW4oKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldENhY2hlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGlzQ2FjaGVFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNDb250cm9sRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBnZXRTdG9yYWdlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGlzU3RvcmFnZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNUb2tlbkVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IHdpdGhNb21lbnRvTG9jYWwoKTogQ3JlZGVudGlhbFByb3ZpZGVyO1xuXG4gIHZhbHVlT2YoKTogb2JqZWN0IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMpLmZpbHRlcigoW2tdKSA9PiBrICE9PSAnYXV0aFRva2VuJyk7XG4gICAgY29uc3QgY2xvbmUgPSBmcm9tRW50cmllcyhlbnRyaWVzKTtcbiAgICByZXR1cm4gY2xvbmUudmFsdWVPZigpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b0FwaUtleVByb3ZpZGVyUHJvcHNcbiAgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBhcGlLZXkgdGhlIG1vbWVudG8gQVBJIGtleVxuICAgKi9cbiAgYXBpS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b0F1dGhUb2tlblByb3ZpZGVyUHJvcHNcbiAgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBhdXRoVG9rZW4gdGhlIG1vbWVudG8gYXV0aCB0b2tlblxuICAgKi9cbiAgYXV0aFRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgPVxuICB8IFN0cmluZ01vbWVudG9BcGlLZXlQcm92aWRlclByb3BzXG4gIHwgU3RyaW5nTW9tZW50b0F1dGhUb2tlblByb3ZpZGVyUHJvcHM7XG5cbi8qKlxuICogUmVhZHMgYW5kIHBhcnNlcyBhIG1vbWVudG8gYXV0aCB0b2tlbiBzdG9yZWQgaW4gYSBTdHJpbmdcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBhbGxFbmRwb2ludHM6IEFsbEVuZHBvaW50cztcbiAgcHJpdmF0ZSByZWFkb25seSBlbmRwb2ludHNPdmVycmlkZGVuOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1N0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgcHJvcHMgPT09ICdzdHJpbmcnKSB7XG4gICAgICBwcm9wcyA9IHthcGlLZXk6IHByb3BzfTtcbiAgICB9XG4gICAgc3VwZXIoKTtcbiAgICBsZXQga2V5OiBzdHJpbmc7XG4gICAgaWYgKCdhdXRoVG9rZW4nIGluIHByb3BzKSB7XG4gICAgICBrZXkgPSBwcm9wcy5hdXRoVG9rZW47XG4gICAgfSBlbHNlIGlmICgnYXBpS2V5JyBpbiBwcm9wcykge1xuICAgICAga2V5ID0gcHJvcHMuYXBpS2V5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcHJvcGVydHk6IGF1dGhUb2tlbiBvciBhcGlLZXknKTtcbiAgICB9XG4gICAgY29uc3QgZGVjb2RlZFRva2VuID0gZGVjb2RlQXV0aFRva2VuKGtleSk7XG4gICAgdGhpcy5hcGlLZXkgPSBkZWNvZGVkVG9rZW4uYXV0aFRva2VuO1xuICAgIGlmIChwcm9wcy5lbmRwb2ludE92ZXJyaWRlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmVuZHBvaW50c092ZXJyaWRkZW4gPSBmYWxzZTtcbiAgICAgIGlmIChkZWNvZGVkVG9rZW4uY29udHJvbEVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY29udHJvbCBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgY29udHJvbEVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY2FjaGUgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNhY2hlRW5kcG9pbnQgZXhwbGljaXRseS4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoZGVjb2RlZFRva2VuLnRva2VuRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ01hbGZvcm1lZCB0b2tlbjsgdW5hYmxlIHRvIGRldGVybWluZSB0b2tlbiBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgdG9rZW5FbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWNvZGVkVG9rZW4uc3RvcmFnZUVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgc3RvcmFnZSBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgc3RvcmFnZUVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5hbGxFbmRwb2ludHMgPSB7XG4gICAgICAgIGNvbnRyb2xFbmRwb2ludDoge1xuICAgICAgICAgIGVuZHBvaW50OiBkZWNvZGVkVG9rZW4uY29udHJvbEVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICBjYWNoZUVuZHBvaW50OiB7XG4gICAgICAgICAgZW5kcG9pbnQ6IGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICB0b2tlbkVuZHBvaW50OiB7XG4gICAgICAgICAgZW5kcG9pbnQ6IGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICBzdG9yYWdlRW5kcG9pbnQ6IHtcbiAgICAgICAgICBlbmRwb2ludDogZGVjb2RlZFRva2VuLnN0b3JhZ2VFbmRwb2ludCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0FsbEVuZHBvaW50cyhwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzO1xuICAgIH0gZWxzZSBpZiAoaXNCYXNlRW5kcG9pbnRPdmVycmlkZShwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgICAgICAgcHJvcHMuZW5kcG9pbnRPdmVycmlkZXNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICBgVW5zdXBwb3J0ZWQgZW5kcG9pbnRPdmVycmlkZXM6ICR7cHJvcHMuZW5kcG9pbnRPdmVycmlkZXN9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRBdXRoVG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcGlLZXk7XG4gIH1cblxuICBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc0NhY2hlRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc0NvbnRyb2xFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGdldFRva2VuRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5lbmRwb2ludDtcbiAgfVxuXG4gIGlzVG9rZW5FbmRwb2ludFNlY3VyZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uO1xuICB9XG5cbiAgZ2V0U3RvcmFnZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnN0b3JhZ2VFbmRwb2ludC5lbmRwb2ludDtcbiAgfVxuXG4gIGlzU3RvcmFnZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFsbEVuZHBvaW50cy5zdG9yYWdlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnN0b3JhZ2VFbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uO1xuICB9XG5cbiAgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmRwb2ludHNPdmVycmlkZGVuO1xuICB9XG5cbiAgd2l0aE1vbWVudG9Mb2NhbCgpOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIGNvbnN0IG1vbWVudG9Mb2NhbE92ZXJyaWRlID0ge1xuICAgICAgZW5kcG9pbnQ6ICcxMjcuMC4wLjE6ODA4MCcsXG4gICAgICBzZWN1cmVDb25uZWN0aW9uOiBmYWxzZSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIoe1xuICAgICAgYXV0aFRva2VuOiB0aGlzLmFwaUtleSxcbiAgICAgIGVuZHBvaW50T3ZlcnJpZGVzOiB7XG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IG1vbWVudG9Mb2NhbE92ZXJyaWRlLFxuICAgICAgICBjb250cm9sRW5kcG9pbnQ6IG1vbWVudG9Mb2NhbE92ZXJyaWRlLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBtb21lbnRvTG9jYWxPdmVycmlkZSxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBtb21lbnRvTG9jYWxPdmVycmlkZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzIGV4dGVuZHMgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogdGhlIG5hbWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGZyb20gd2hpY2ggdGhlIGF1dGggdG9rZW4gd2lsbCBiZSByZWFkXG4gICAqL1xuICBlbnZpcm9ubWVudFZhcmlhYmxlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlYWRzIGFuZCBwYXJzZXMgYSBtb21lbnRvIGF1dGggdG9rZW4gc3RvcmVkIGFzIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICogQGV4cG9ydFxuICogQGNsYXNzIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlciBleHRlbmRzIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyIHtcbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEBwYXJhbSB7RW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc30gcHJvcHMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgdG9rZW4gcHJvdmlkZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzIHwgc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHByb3BzID0ge2Vudmlyb25tZW50VmFyaWFibGVOYW1lOiBwcm9wc307XG4gICAgfVxuICAgIGNvbnN0IGF1dGhUb2tlbiA9IHByb2Nlc3MuZW52W3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lXTtcbiAgICBpZiAoIWF1dGhUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAke3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhUb2tlbjogYXV0aFRva2VuLFxuICAgICAgZW5kcG9pbnRPdmVycmlkZXM6IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzLFxuICAgIH0pO1xuICAgIHRoaXMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { CreateStore, ListStores, DeleteStore, StoragePut, StorageGet, StorageDelete } from '../index';
|
2
|
+
export interface IStorageClient {
|
3
|
+
createStore(storeName: string): Promise<CreateStore.Response>;
|
4
|
+
listStores(): Promise<ListStores.Response>;
|
5
|
+
deleteStore(cache: string): Promise<DeleteStore.Response>;
|
6
|
+
get(storeName: string, key: string): Promise<StorageGet.Response>;
|
7
|
+
putInt(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
|
8
|
+
putDouble(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
|
9
|
+
putString(storeName: string, key: string, value: string): Promise<StoragePut.Response>;
|
10
|
+
putBytes(storeName: string, key: string, value: Uint8Array): Promise<StoragePut.Response>;
|
11
|
+
delete(storeName: string, key: string): Promise<StorageDelete.Response>;
|
12
|
+
close(): void;
|
13
|
+
}
|
@@ -0,0 +1,3 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVN0b3JhZ2VDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50cy9JU3RvcmFnZUNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3JlYXRlU3RvcmUsXG4gIExpc3RTdG9yZXMsXG4gIERlbGV0ZVN0b3JlLFxuICBTdG9yYWdlUHV0LFxuICBTdG9yYWdlR2V0LFxuICBTdG9yYWdlRGVsZXRlLFxufSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0b3JhZ2VDbGllbnQge1xuICBjcmVhdGVTdG9yZShzdG9yZU5hbWU6IHN0cmluZyk6IFByb21pc2U8Q3JlYXRlU3RvcmUuUmVzcG9uc2U+O1xuICBsaXN0U3RvcmVzKCk6IFByb21pc2U8TGlzdFN0b3Jlcy5SZXNwb25zZT47XG4gIGRlbGV0ZVN0b3JlKGNhY2hlOiBzdHJpbmcpOiBQcm9taXNlPERlbGV0ZVN0b3JlLlJlc3BvbnNlPjtcbiAgZ2V0KHN0b3JlTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IFByb21pc2U8U3RvcmFnZUdldC5SZXNwb25zZT47XG4gIHB1dEludChcbiAgICBzdG9yZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogbnVtYmVyXG4gICk6IFByb21pc2U8U3RvcmFnZVB1dC5SZXNwb25zZT47XG4gIHB1dERvdWJsZShcbiAgICBzdG9yZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogbnVtYmVyXG4gICk6IFByb21pc2U8U3RvcmFnZVB1dC5SZXNwb25zZT47XG4gIHB1dFN0cmluZyhcbiAgICBzdG9yZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nXG4gICk6IFByb21pc2U8U3RvcmFnZVB1dC5SZXNwb25zZT47XG4gIHB1dEJ5dGVzKFxuICAgIHN0b3JlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nLFxuICAgIHZhbHVlOiBVaW50OEFycmF5XG4gICk6IFByb21pc2U8U3RvcmFnZVB1dC5SZXNwb25zZT47XG4gIGRlbGV0ZShzdG9yZU5hbWU6IHN0cmluZywga2V5OiBzdHJpbmcpOiBQcm9taXNlPFN0b3JhZ2VEZWxldGUuUmVzcG9uc2U+O1xuXG4gIGNsb3NlKCk6IHZvaWQ7XG59XG4iXX0=
|
@@ -1,8 +1,15 @@
|
|
1
1
|
export declare enum MomentoErrorCode {
|
2
2
|
INVALID_ARGUMENT_ERROR = "INVALID_ARGUMENT_ERROR",
|
3
3
|
UNKNOWN_SERVICE_ERROR = "UNKNOWN_SERVICE_ERROR",
|
4
|
+
CACHE_ALREADY_EXISTS_ERROR = "ALREADY_EXISTS_ERROR",
|
5
|
+
/** @deprecated use CACHE_ALREADY_EXISTS_ERROR instead */
|
4
6
|
ALREADY_EXISTS_ERROR = "ALREADY_EXISTS_ERROR",
|
7
|
+
STORE_ALREADY_EXISTS_ERROR = "ALREADY_EXISTS_ERROR",
|
8
|
+
CACHE_NOT_FOUND_ERROR = "NOT_FOUND_ERROR",
|
9
|
+
/** @deprecated use CACHE_NOT_FOUND_ERROR instead */
|
5
10
|
NOT_FOUND_ERROR = "NOT_FOUND_ERROR",
|
11
|
+
STORE_NOT_FOUND_ERROR = "STORE_NOT_FOUND_ERROR",
|
12
|
+
STORE_ITEM_NOT_FOUND_ERROR = "STORE_ITEM_NOT_FOUND_ERROR",
|
6
13
|
INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR",
|
7
14
|
PERMISSION_ERROR = "PERMISSION_ERROR",
|
8
15
|
AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR",
|
@@ -43,7 +50,16 @@ export declare abstract class SdkError extends Error {
|
|
43
50
|
* either delete the existing cache and make a new one, or change the name of the cache you are trying to create to
|
44
51
|
* one that doesn't already exist
|
45
52
|
*/
|
46
|
-
export declare class
|
53
|
+
export declare class CacheAlreadyExistsError extends SdkError {
|
54
|
+
_errorCode: MomentoErrorCode;
|
55
|
+
_messageWrapper: string;
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* Error that occurs when trying to create a store with the same name as an existing cache. To resolve this error,
|
59
|
+
* either delete the existing store and make a new one, or change the name of the store you are trying to create to
|
60
|
+
* one that doesn't already exist
|
61
|
+
*/
|
62
|
+
export declare class StoreAlreadyExistsError extends SdkError {
|
47
63
|
_errorCode: MomentoErrorCode;
|
48
64
|
_messageWrapper: string;
|
49
65
|
}
|
@@ -106,7 +122,23 @@ export declare class LimitExceededError extends SdkError {
|
|
106
122
|
* Error that occurs when trying to get a cache that doesn't exist. To resolve, make sure that the cache you are trying
|
107
123
|
* to get exists. If it doesn't create it first and then try again
|
108
124
|
*/
|
109
|
-
export declare class
|
125
|
+
export declare class CacheNotFoundError extends SdkError {
|
126
|
+
_errorCode: MomentoErrorCode;
|
127
|
+
_messageWrapper: string;
|
128
|
+
}
|
129
|
+
/**
|
130
|
+
* Error that occurs when trying to get a store that doesn't exist. To resolve, make sure that the store you are trying
|
131
|
+
* to get exists. If it doesn't create it first and then try again.
|
132
|
+
*/
|
133
|
+
export declare class StoreNotFoundError extends SdkError {
|
134
|
+
_errorCode: MomentoErrorCode;
|
135
|
+
_messageWrapper: string;
|
136
|
+
}
|
137
|
+
/**
|
138
|
+
* Error that occurs when trying to get an item from store that doesn't exist. To resolve, make sure that the item you are trying
|
139
|
+
* to get exists. If it doesn't create it first and then try again.
|
140
|
+
*/
|
141
|
+
export declare class StoreItemNotFoundError extends SdkError {
|
110
142
|
_errorCode: MomentoErrorCode;
|
111
143
|
_messageWrapper: string;
|
112
144
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.UnknownServiceError = exports.UnknownError = exports.TimeoutError = exports.ServerUnavailableError = exports.PermissionError = exports.
|
3
|
+
exports.UnknownServiceError = exports.UnknownError = exports.TimeoutError = exports.ServerUnavailableError = exports.PermissionError = exports.StoreItemNotFoundError = exports.StoreNotFoundError = exports.CacheNotFoundError = exports.LimitExceededError = exports.InvalidArgumentError = exports.InternalServerError = exports.FailedPreconditionError = exports.ConnectionError = exports.CancelledError = exports.BadRequestError = exports.AuthenticationError = exports.StoreAlreadyExistsError = exports.CacheAlreadyExistsError = exports.SdkError = exports.MomentoErrorTransportDetails = exports.MomentoGrpcErrorDetails = exports.MomentoErrorCode = void 0;
|
4
4
|
var MomentoErrorCode;
|
5
5
|
(function (MomentoErrorCode) {
|
6
6
|
// Invalid argument passed to Momento client
|
@@ -8,9 +8,19 @@ var MomentoErrorCode;
|
|
8
8
|
// Service returned an unknown response
|
9
9
|
MomentoErrorCode["UNKNOWN_SERVICE_ERROR"] = "UNKNOWN_SERVICE_ERROR";
|
10
10
|
// Cache with specified name already exists
|
11
|
+
MomentoErrorCode["CACHE_ALREADY_EXISTS_ERROR"] = "ALREADY_EXISTS_ERROR";
|
12
|
+
/** @deprecated use CACHE_ALREADY_EXISTS_ERROR instead */
|
11
13
|
MomentoErrorCode["ALREADY_EXISTS_ERROR"] = "ALREADY_EXISTS_ERROR";
|
14
|
+
// Store with specified name already exists
|
15
|
+
MomentoErrorCode["STORE_ALREADY_EXISTS_ERROR"] = "ALREADY_EXISTS_ERROR";
|
12
16
|
// Cache with specified name doesn't exist
|
17
|
+
MomentoErrorCode["CACHE_NOT_FOUND_ERROR"] = "NOT_FOUND_ERROR";
|
18
|
+
/** @deprecated use CACHE_NOT_FOUND_ERROR instead */
|
13
19
|
MomentoErrorCode["NOT_FOUND_ERROR"] = "NOT_FOUND_ERROR";
|
20
|
+
// Store with specified name doesn't exist
|
21
|
+
MomentoErrorCode["STORE_NOT_FOUND_ERROR"] = "STORE_NOT_FOUND_ERROR";
|
22
|
+
// Item with specified key doesn't exist
|
23
|
+
MomentoErrorCode["STORE_ITEM_NOT_FOUND_ERROR"] = "STORE_ITEM_NOT_FOUND_ERROR";
|
14
24
|
// An unexpected error occurred while trying to fulfill the request
|
15
25
|
MomentoErrorCode["INTERNAL_SERVER_ERROR"] = "INTERNAL_SERVER_ERROR";
|
16
26
|
// Insufficient permissions to perform operation
|
@@ -76,14 +86,27 @@ exports.SdkError = SdkError;
|
|
76
86
|
* either delete the existing cache and make a new one, or change the name of the cache you are trying to create to
|
77
87
|
* one that doesn't already exist
|
78
88
|
*/
|
79
|
-
class
|
89
|
+
class CacheAlreadyExistsError extends SdkError {
|
80
90
|
constructor() {
|
81
91
|
super(...arguments);
|
82
|
-
this._errorCode = MomentoErrorCode.
|
92
|
+
this._errorCode = MomentoErrorCode.CACHE_ALREADY_EXISTS_ERROR;
|
83
93
|
this._messageWrapper = 'A cache with the specified name already exists. To resolve this error, either delete the existing cache and make a new one, or use a different name';
|
84
94
|
}
|
85
95
|
}
|
86
|
-
exports.
|
96
|
+
exports.CacheAlreadyExistsError = CacheAlreadyExistsError;
|
97
|
+
/**
|
98
|
+
* Error that occurs when trying to create a store with the same name as an existing cache. To resolve this error,
|
99
|
+
* either delete the existing store and make a new one, or change the name of the store you are trying to create to
|
100
|
+
* one that doesn't already exist
|
101
|
+
*/
|
102
|
+
class StoreAlreadyExistsError extends SdkError {
|
103
|
+
constructor() {
|
104
|
+
super(...arguments);
|
105
|
+
this._errorCode = MomentoErrorCode.STORE_ALREADY_EXISTS_ERROR;
|
106
|
+
this._messageWrapper = 'A store with the specified name already exists. To resolve this error, either delete the existing store and make a new one, or use a different name';
|
107
|
+
}
|
108
|
+
}
|
109
|
+
exports.StoreAlreadyExistsError = StoreAlreadyExistsError;
|
87
110
|
/**
|
88
111
|
* Error when authentication with Cache Service fails
|
89
112
|
*/
|
@@ -175,14 +198,38 @@ exports.LimitExceededError = LimitExceededError;
|
|
175
198
|
* Error that occurs when trying to get a cache that doesn't exist. To resolve, make sure that the cache you are trying
|
176
199
|
* to get exists. If it doesn't create it first and then try again
|
177
200
|
*/
|
178
|
-
class
|
201
|
+
class CacheNotFoundError extends SdkError {
|
179
202
|
constructor() {
|
180
203
|
super(...arguments);
|
181
|
-
this._errorCode = MomentoErrorCode.
|
204
|
+
this._errorCode = MomentoErrorCode.CACHE_NOT_FOUND_ERROR;
|
182
205
|
this._messageWrapper = 'A cache with the specified name does not exist. To resolve this error, make sure you have created the cache before attempting to use it';
|
183
206
|
}
|
184
207
|
}
|
185
|
-
exports.
|
208
|
+
exports.CacheNotFoundError = CacheNotFoundError;
|
209
|
+
/**
|
210
|
+
* Error that occurs when trying to get a store that doesn't exist. To resolve, make sure that the store you are trying
|
211
|
+
* to get exists. If it doesn't create it first and then try again.
|
212
|
+
*/
|
213
|
+
class StoreNotFoundError extends SdkError {
|
214
|
+
constructor() {
|
215
|
+
super(...arguments);
|
216
|
+
this._errorCode = MomentoErrorCode.STORE_NOT_FOUND_ERROR;
|
217
|
+
this._messageWrapper = 'A store with the specified name does not exist. To resolve this error, make sure you have created the store before attempting to use it';
|
218
|
+
}
|
219
|
+
}
|
220
|
+
exports.StoreNotFoundError = StoreNotFoundError;
|
221
|
+
/**
|
222
|
+
* Error that occurs when trying to get an item from store that doesn't exist. To resolve, make sure that the item you are trying
|
223
|
+
* to get exists. If it doesn't create it first and then try again.
|
224
|
+
*/
|
225
|
+
class StoreItemNotFoundError extends SdkError {
|
226
|
+
constructor() {
|
227
|
+
super(...arguments);
|
228
|
+
this._errorCode = MomentoErrorCode.STORE_ITEM_NOT_FOUND_ERROR;
|
229
|
+
this._messageWrapper = 'An item with the specified key does not exist';
|
230
|
+
}
|
231
|
+
}
|
232
|
+
exports.StoreItemNotFoundError = StoreItemNotFoundError;
|
186
233
|
/**
|
187
234
|
* Insufficient permissions to perform an operation on Cache Service
|
188
235
|
*/
|
@@ -238,4 +285,4 @@ class UnknownServiceError extends SdkError {
|
|
238
285
|
}
|
239
286
|
}
|
240
287
|
exports.UnknownServiceError = UnknownServiceError;
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxnQkFpQ1g7QUFqQ0QsV0FBWSxnQkFBZ0I7SUFDMUIsNENBQTRDO0lBQzVDLHFFQUFpRCxDQUFBO0lBQ2pELHVDQUF1QztJQUN2QyxtRUFBK0MsQ0FBQTtJQUMvQywyQ0FBMkM7SUFDM0MsaUVBQTZDLENBQUE7SUFDN0MsMENBQTBDO0lBQzFDLHVEQUFtQyxDQUFBO0lBQ25DLG1FQUFtRTtJQUNuRSxtRUFBK0MsQ0FBQTtJQUMvQyxnREFBZ0Q7SUFDaEQseURBQXFDLENBQUE7SUFDckMsaUVBQWlFO0lBQ2pFLGlFQUE2QyxDQUFBO0lBQzdDLHNDQUFzQztJQUN0Qyx1REFBbUMsQ0FBQTtJQUNuQyxzQ0FBc0M7SUFDdEMseURBQXFDLENBQUE7SUFDckMsOEVBQThFO0lBQzlFLGlFQUE2QyxDQUFBO0lBQzdDLHNCQUFzQjtJQUN0QiwyREFBdUMsQ0FBQTtJQUN2QywyQ0FBMkM7SUFDM0MsbURBQStCLENBQUE7SUFDL0IsMENBQTBDO0lBQzFDLDZEQUF5QyxDQUFBO0lBQ3pDLHVEQUF1RDtJQUN2RCwyRUFBdUQsQ0FBQTtJQUN2RCxrRUFBa0U7SUFDbEUsMkVBQXVELENBQUE7SUFDdkQsNkJBQTZCO0lBQzdCLG1EQUErQixDQUFBO0FBQ2pDLENBQUMsRUFqQ1csZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUFpQzNCO0FBRUQsTUFBYSx1QkFBdUI7SUFJbEMsWUFBWSxJQUFZLEVBQUUsT0FBZSxFQUFFLFFBQWlCO1FBQzFELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQVRELDBEQVNDO0FBRUQsTUFBYSw0QkFBNEI7SUFFdkMsWUFBWSxJQUE2QjtRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFMRCxvRUFLQztBQUNEOztHQUVHO0FBQ0gsTUFBc0IsUUFBUyxTQUFRLEtBQUs7SUFJMUMsWUFDRSxPQUFlLEVBQ2YsSUFBSSxHQUFHLENBQUMsRUFDUixXQUErQixTQUFTLEVBQ3hDLFFBQTRCLFNBQVM7UUFFckMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLDRCQUE0QixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksU0FBUyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBM0JELDRCQTJCQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLFFBQVE7SUFBaEQ7O1FBQ1csZUFBVSxHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO1FBQ25ELG9CQUFlLEdBQ3RCLHNKQUFzSixDQUFDO0lBQzNKLENBQUM7Q0FBQTtBQUpELGdEQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLFFBQVE7SUFBakQ7O1FBQ1csZUFBVSxHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO1FBQ25ELG9CQUFlLEdBQ3RCLGdFQUFnRSxDQUFDO0lBQ3JFLENBQUM7Q0FBQTtBQUpELGtEQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsUUFBUTtJQUE3Qzs7UUFDVyxlQUFVLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUM7UUFDaEQsb0JBQWUsR0FDdEIscUVBQXFFLENBQUM7SUFDMUUsQ0FBQztDQUFBO0FBSkQsMENBSUM7QUFFRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLFFBQVE7SUFBNUM7O1FBQ1csZUFBVSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztRQUM5QyxvQkFBZSxHQUN0QixxRkFBcUYsQ0FBQztJQUMxRixDQUFDO0NBQUE7QUFKRCx3Q0FJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLFFBQVE7SUFBN0M7O1FBQ1csZUFBVSxHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDO0lBQzFELENBQUM7Q0FBQTtBQUZELDBDQUVDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHVCQUF3QixTQUFRLFFBQVE7SUFBckQ7O1FBQ1csZUFBVSxHQUFHLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDO1FBQ3hELG9CQUFlLEdBQ3RCLGlFQUFpRSxDQUFDO0lBQ3RFLENBQUM7Q0FBQTtBQUpELDBEQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLFFBQVE7SUFBakQ7O1FBQ1csZUFBVSxHQUFHLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDO1FBQ3BELG9CQUFlLEdBQ3RCLDhHQUE4RyxDQUFDO0lBQ25ILENBQUM7Q0FBQTtBQUpELGtEQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLFFBQVE7SUFBbEQ7O1FBQ1csZUFBVSxHQUFHLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO1FBQ3JELG9CQUFlLEdBQUcsMkNBQTJDLENBQUM7SUFDekUsQ0FBQztDQUFBO0FBSEQsb0RBR0M7QUFFRDs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsUUFBUTtJQUFoRDs7UUFDVyxlQUFVLEdBQUcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7UUFDbkQsb0JBQWUsR0FDdEIsMk1BQTJNLENBQUM7SUFDaE4sQ0FBQztDQUFBO0FBSkQsZ0RBSUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLGFBQWMsU0FBUSxRQUFRO0lBQTNDOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUM7UUFDOUMsb0JBQWUsR0FDdEIsMElBQTBJLENBQUM7SUFDL0ksQ0FBQztDQUFBO0FBSkQsc0NBSUM7QUFFRDs7R0FFRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxRQUFRO0lBQTdDOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQyxvQkFBZSxHQUN0Qiw2REFBNkQsQ0FBQztJQUNsRSxDQUFDO0NBQUE7QUFKRCwwQ0FJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxRQUFRO0lBQXBEOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRCxvQkFBZSxHQUN0QixvSUFBb0ksQ0FBQztJQUN6SSxDQUFDO0NBQUE7QUFKRCx3REFJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsUUFBUTtJQUExQzs7UUFDVyxlQUFVLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1FBQzVDLG9CQUFlLEdBQ3RCLDhHQUE4RyxDQUFDO0lBQ25ILENBQUM7Q0FBQTtBQUpELG9DQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxRQUFRO0lBQTFDOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7UUFDNUMsb0JBQWUsR0FBRyw0QkFBNEIsQ0FBQztJQUMxRCxDQUFDO0NBQUE7QUFIRCxvQ0FHQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxRQUFRO0lBQWpEOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQztRQUNwRCxvQkFBZSxHQUN0QixrRkFBa0YsQ0FBQztJQUN2RixDQUFDO0NBQUE7QUFKRCxrREFJQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1vbWVudG9FcnJvckNvZGUge1xuICAvLyBJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCB0byBNb21lbnRvIGNsaWVudFxuICBJTlZBTElEX0FSR1VNRU5UX0VSUk9SID0gJ0lOVkFMSURfQVJHVU1FTlRfRVJST1InLFxuICAvLyBTZXJ2aWNlIHJldHVybmVkIGFuIHVua25vd24gcmVzcG9uc2VcbiAgVU5LTk9XTl9TRVJWSUNFX0VSUk9SID0gJ1VOS05PV05fU0VSVklDRV9FUlJPUicsXG4gIC8vIENhY2hlIHdpdGggc3BlY2lmaWVkIG5hbWUgYWxyZWFkeSBleGlzdHNcbiAgQUxSRUFEWV9FWElTVFNfRVJST1IgPSAnQUxSRUFEWV9FWElTVFNfRVJST1InLFxuICAvLyBDYWNoZSB3aXRoIHNwZWNpZmllZCBuYW1lIGRvZXNuJ3QgZXhpc3RcbiAgTk9UX0ZPVU5EX0VSUk9SID0gJ05PVF9GT1VORF9FUlJPUicsXG4gIC8vIEFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3RcbiAgSU5URVJOQUxfU0VSVkVSX0VSUk9SID0gJ0lOVEVSTkFMX1NFUlZFUl9FUlJPUicsXG4gIC8vIEluc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBwZXJmb3JtIG9wZXJhdGlvblxuICBQRVJNSVNTSU9OX0VSUk9SID0gJ1BFUk1JU1NJT05fRVJST1InLFxuICAvLyBJbnZhbGlkIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIHRvIGNvbm5lY3QgdG8gY2FjaGUgc2VydmljZVxuICBBVVRIRU5USUNBVElPTl9FUlJPUiA9ICdBVVRIRU5USUNBVElPTl9FUlJPUicsXG4gIC8vIFJlcXVlc3Qgd2FzIGNhbmNlbGxlZCBieSB0aGUgc2VydmVyXG4gIENBTkNFTExFRF9FUlJPUiA9ICdDQU5DRUxMRURfRVJST1InLFxuICAvLyBFcnJvciBjb25uZWN0aW5nIHRvIE1vbWVudG8gc2VydmVyc1xuICBDT05ORUNUSU9OX0VSUk9SID0gJ0NPTk5FQ1RJT05fRVJST1InLFxuICAvLyBSZXF1ZXN0IHJhdGUsIGJhbmR3aWR0aCwgb3Igb2JqZWN0IHNpemUgZXhjZWVkZWQgdGhlIGxpbWl0cyBmb3IgdGhlIGFjY291bnRcbiAgTElNSVRfRVhDRUVERURfRVJST1IgPSAnTElNSVRfRVhDRUVERURfRVJST1InLFxuICAvLyBSZXF1ZXN0IHdhcyBpbnZhbGlkXG4gIEJBRF9SRVFVRVNUX0VSUk9SID0gJ0JBRF9SRVFVRVNUX0VSUk9SJyxcbiAgLy8gQ2xpZW50J3MgY29uZmlndXJlZCB0aW1lb3V0IHdhcyBleGNlZWRlZFxuICBUSU1FT1VUX0VSUk9SID0gJ1RJTUVPVVRfRVJST1InLFxuICAvLyBTZXJ2ZXIgd2FzIHVuYWJsZSB0byBoYW5kbGUgdGhlIHJlcXVlc3RcbiAgU0VSVkVSX1VOQVZBSUxBQkxFID0gJ1NFUlZFUl9VTkFWQUlMQUJMRScsXG4gIC8vIEEgY2xpZW50IHJlc291cmNlIChtb3N0IGxpa2VseSBtZW1vcnkpIHdhcyBleGhhdXN0ZWRcbiAgQ0xJRU5UX1JFU09VUkNFX0VYSEFVU1RFRCA9ICdDTElFTlRfUkVTT1VSQ0VfRVhIQVVTVEVEJyxcbiAgLy8gU3lzdGVtIGlzIG5vdCBpbiBhIHN0YXRlIHJlcXVpcmVkIGZvciB0aGUgb3BlcmF0aW9uJ3MgZXhlY3V0aW9uXG4gIEZBSUxFRF9QUkVDT05ESVRJT05fRVJST1IgPSAnRkFJTEVEX1BSRUNPTkRJVElPTl9FUlJPUicsXG4gIC8vIFVua25vd24gZXJyb3IgaGFzIG9jY3VycmVkXG4gIFVOS05PV05fRVJST1IgPSAnVU5LTk9XTl9FUlJPUicsXG59XG5cbmV4cG9ydCBjbGFzcyBNb21lbnRvR3JwY0Vycm9yRGV0YWlscyB7XG4gIHB1YmxpYyByZWFkb25seSBjb2RlOiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBkZXRhaWxzOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBtZXRhZGF0YT86IG9iamVjdDtcbiAgY29uc3RydWN0b3IoY29kZTogbnVtYmVyLCBkZXRhaWxzOiBzdHJpbmcsIG1ldGFkYXRhPzogb2JqZWN0KSB7XG4gICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICB0aGlzLmRldGFpbHMgPSBkZXRhaWxzO1xuICAgIHRoaXMubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTW9tZW50b0Vycm9yVHJhbnNwb3J0RGV0YWlscyB7XG4gIHB1YmxpYyByZWFkb25seSBncnBjOiBNb21lbnRvR3JwY0Vycm9yRGV0YWlscztcbiAgY29uc3RydWN0b3IoZ3JwYzogTW9tZW50b0dycGNFcnJvckRldGFpbHMpIHtcbiAgICB0aGlzLmdycGMgPSBncnBjO1xuICB9XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFsbCBlcnJvcnMgdGhyb3duIGJ5IHRoZSBzZGtcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNka0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Vycm9yQ29kZTogTW9tZW50b0Vycm9yQ29kZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9tZXNzYWdlV3JhcHBlcjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc3BvcnREZXRhaWxzOiBNb21lbnRvRXJyb3JUcmFuc3BvcnREZXRhaWxzO1xuICBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgY29kZSA9IDAsXG4gICAgbWV0YWRhdGE6IG9iamVjdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBzdGFjazogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIGNvbnN0IGdycGNEZXRhaWxzID0gbmV3IE1vbWVudG9HcnBjRXJyb3JEZXRhaWxzKGNvZGUsIG1lc3NhZ2UsIG1ldGFkYXRhKTtcbiAgICB0aGlzLl90cmFuc3BvcnREZXRhaWxzID0gbmV3IE1vbWVudG9FcnJvclRyYW5zcG9ydERldGFpbHMoZ3JwY0RldGFpbHMpO1xuICAgIHRoaXMuc3RhY2sgPSBzdGFjayA/PyB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgd3JhcHBlZEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9tZXNzYWdlV3JhcHBlcn06ICR7dGhpcy5tZXNzYWdlfWA7XG4gIH1cblxuICBwdWJsaWMgZXJyb3JDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLl9lcnJvckNvZGU7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNwb3J0RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNwb3J0RGV0YWlscztcbiAgfVxufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIGNhY2hlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBhbiBleGlzdGluZyBjYWNoZS4gVG8gcmVzb2x2ZSB0aGlzIGVycm9yLFxuICogZWl0aGVyIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2FjaGUgYW5kIG1ha2UgYSBuZXcgb25lLCBvciBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGNhY2hlIHlvdSBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSB0b1xuICogb25lIHRoYXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBBbHJlYWR5RXhpc3RzRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkFMUkVBRFlfRVhJU1RTX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdBIGNhY2hlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGFscmVhZHkgZXhpc3RzLiAgVG8gcmVzb2x2ZSB0aGlzIGVycm9yLCBlaXRoZXIgZGVsZXRlIHRoZSBleGlzdGluZyBjYWNoZSBhbmQgbWFrZSBhIG5ldyBvbmUsIG9yIHVzZSBhIGRpZmZlcmVudCBuYW1lJztcbn1cblxuLyoqXG4gKiBFcnJvciB3aGVuIGF1dGhlbnRpY2F0aW9uIHdpdGggQ2FjaGUgU2VydmljZSBmYWlsc1xuICovXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25FcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQVVUSEVOVElDQVRJT05fRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0ludmFsaWQgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgdG8gY29ubmVjdCB0byBjYWNoZSBzZXJ2aWNlJztcbn1cblxuLyoqXG4gKiBFcnJvciByYWlzZWQgaW4gcmVzcG9uc2UgdG8gYW4gaW52YWxpZCByZXF1ZXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBCYWRSZXF1ZXN0RXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkJBRF9SRVFVRVNUX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdUaGUgcmVxdWVzdCB3YXMgaW52YWxpZDsgcGxlYXNlIGNvbnRhY3QgdXMgYXQgc3VwcG9ydEBtb21lbnRvaHEuY29tJztcbn1cblxuLyoqXG4gKiBFcnJvciB3aGVuIGFuIG9wZXJhdGlvbiB3aXRoIENhY2hlIFNlcnZpY2Ugd2FzIGNhbmNlbGxlZFxuICovXG5leHBvcnQgY2xhc3MgQ2FuY2VsbGVkRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkNBTkNFTExFRF9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnVGhlIHJlcXVlc3Qgd2FzIGNhbmNlbGxlZCBieSB0aGUgc2VydmVyOyBwbGVhc2UgY29udGFjdCB1cyBhdCBzdXBwb3J0QG1vbWVudG9ocS5jb20nO1xufVxuXG4vKipcbiAqIEVycm9yIHdoZW4gdGhlcmUncyBhIGZhaWx1cmUgdG8gY29ubmVjdCB0byBNb21lbnRvIHNlcnZlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkNPTk5FQ1RJT05fRVJST1I7XG59XG5cbi8qKlxuICogRXJyb3IgcmFpc2VkIHdoZW4gc3lzdGVtIGluIG5vdCBpbiBhIHN0YXRlIHJlcXVpcmVkIGZvciB0aGUgb3BlcmF0aW9uJ3Mgc3VjY2Vzc1xuICovXG5leHBvcnQgY2xhc3MgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkZBSUxFRF9QUkVDT05ESVRJT05fRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgXCJTeXN0ZW0gaXMgbm90IGluIGEgc3RhdGUgcmVxdWlyZWQgZm9yIHRoZSBvcGVyYXRpb24ncyBleGVjdXRpb25cIjtcbn1cblxuLyoqXG4gKiBDYWNoZSBTZXJ2aWNlIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFNlcnZlckVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5JTlRFUk5BTF9TRVJWRVJfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3Q7IHBsZWFzZSBjb250YWN0IHVzIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBlcnJvcnMgdGhyb3duIHdoZW4gaW52YWxpZCBwYXJhbWV0ZXJzIGFyZSBwYXNzZWQgdG8gdGhlIE1vbWVudG8gQ2FjaGVcbiAqL1xuZXhwb3J0IGNsYXNzIEludmFsaWRBcmd1bWVudEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5JTlZBTElEX0FSR1VNRU5UX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPSAnSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgdG8gTW9tZW50byBjbGllbnQnO1xufVxuXG4vKipcbiAqIEVycm9yIHdoZW4gY2FsbHMgYXJlIHRocm90dGxlZCBkdWUgdG8gcmVxdWVzdCBsaW1pdCByYXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBMaW1pdEV4Y2VlZGVkRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkxJTUlUX0VYQ0VFREVEX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdSZXF1ZXN0IHJhdGUsIGJhbmR3aWR0aCwgb3Igb2JqZWN0IHNpemUgZXhjZWVkZWQgdGhlIGxpbWl0cyBmb3IgdGhpcyBhY2NvdW50LiAgVG8gcmVzb2x2ZSB0aGlzIGVycm9yLCByZWR1Y2UgeW91ciB1c2FnZSBhcyBhcHByb3ByaWF0ZSBvciBjb250YWN0IHVzIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSB0byByZXF1ZXN0IGEgbGltaXQgaW5jcmVhc2UnO1xufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGdldCBhIGNhY2hlIHRoYXQgZG9lc24ndCBleGlzdC4gVG8gcmVzb2x2ZSwgbWFrZSBzdXJlIHRoYXQgdGhlIGNhY2hlIHlvdSBhcmUgdHJ5aW5nXG4gKiB0byBnZXQgZXhpc3RzLiBJZiBpdCBkb2Vzbid0IGNyZWF0ZSBpdCBmaXJzdCBhbmQgdGhlbiB0cnkgYWdhaW5cbiAqL1xuZXhwb3J0IGNsYXNzIE5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLk5PVF9GT1VORF9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnQSBjYWNoZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBkb2VzIG5vdCBleGlzdC4gIFRvIHJlc29sdmUgdGhpcyBlcnJvciwgbWFrZSBzdXJlIHlvdSBoYXZlIGNyZWF0ZWQgdGhlIGNhY2hlIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVzZSBpdCc7XG59XG5cbi8qKlxuICogSW5zdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uIG9uIENhY2hlIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25FcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuUEVSTUlTU0lPTl9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnSW5zdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uIG9uIGEgY2FjaGUnO1xufVxuXG4vKipcbiAqIFNlcnZlciB3YXMgdW5hYmxlIHRvIGhhbmRsZSB0aGUgcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlNFUlZFUl9VTkFWQUlMQUJMRTtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnVGhlIHNlcnZlciB3YXMgdW5hYmxlIHRvIGhhbmRsZSB0aGUgcmVxdWVzdDsgY29uc2lkZXIgcmV0cnlpbmcuICBJZiB0aGUgZXJyb3IgcGVyc2lzdHMsIHBsZWFzZSBjb250YWN0IHVzIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSc7XG59XG5cbi8qKlxuICogRXJyb3Igd2hlbiBhbiBvcGVyYXRpb24gZGlkIG5vdCBjb21wbGV0ZSBpbiB0aW1lXG4gKi9cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlRJTUVPVVRfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgXCJUaGUgY2xpZW50J3MgY29uZmlndXJlZCB0aW1lb3V0IHdhcyBleGNlZWRlZDsgeW91IG1heSBuZWVkIHRvIHVzZSBhIENvbmZpZ3VyYXRpb24gd2l0aCBtb3JlIGxlbmllbnQgdGltZW91dHNcIjtcbn1cblxuLyoqXG4gKiBFcnJvciByYWlzZWQgd2hlbiB0aGUgdW5kZXJseWluZyBjYXVzZSBpbiB1bmtub3duXG4gKi9cbmV4cG9ydCBjbGFzcyBVbmtub3duRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlVOS05PV05fRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9ICdVbmtub3duIGVycm9yIGhhcyBvY2N1cnJlZCc7XG59XG5cbi8qKlxuICogRXJyb3IgcmFpc2VkIHdoZW4gdGhlIHNlcnZpY2UgcmV0dXJucyBhbiB1bmtub3duIHJlc3BvbnNlXG4gKi9cbmV4cG9ydCBjbGFzcyBVbmtub3duU2VydmljZUVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5VTktOT1dOX1NFUlZJQ0VfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ1NlcnZpY2UgcmV0dXJuZWQgYW4gdW5rbm93biByZXNwb25zZTsgcGxlYXNlIGNvbnRhY3QgdXMgYXQgc3VwcG9ydEBtb21lbnRvaHEuY29tJztcbn1cbiJdfQ==
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxnQkEyQ1g7QUEzQ0QsV0FBWSxnQkFBZ0I7SUFDMUIsNENBQTRDO0lBQzVDLHFFQUFpRCxDQUFBO0lBQ2pELHVDQUF1QztJQUN2QyxtRUFBK0MsQ0FBQTtJQUMvQywyQ0FBMkM7SUFDM0MsdUVBQW1ELENBQUE7SUFDbkQseURBQXlEO0lBQ3pELGlFQUE2QyxDQUFBO0lBQzdDLDJDQUEyQztJQUMzQyx1RUFBbUQsQ0FBQTtJQUNuRCwwQ0FBMEM7SUFDMUMsNkRBQXlDLENBQUE7SUFDekMsb0RBQW9EO0lBQ3BELHVEQUFtQyxDQUFBO0lBQ25DLDBDQUEwQztJQUMxQyxtRUFBK0MsQ0FBQTtJQUMvQyx3Q0FBd0M7SUFDeEMsNkVBQXlELENBQUE7SUFDekQsbUVBQW1FO0lBQ25FLG1FQUErQyxDQUFBO0lBQy9DLGdEQUFnRDtJQUNoRCx5REFBcUMsQ0FBQTtJQUNyQyxpRUFBaUU7SUFDakUsaUVBQTZDLENBQUE7SUFDN0Msc0NBQXNDO0lBQ3RDLHVEQUFtQyxDQUFBO0lBQ25DLHNDQUFzQztJQUN0Qyx5REFBcUMsQ0FBQTtJQUNyQyw4RUFBOEU7SUFDOUUsaUVBQTZDLENBQUE7SUFDN0Msc0JBQXNCO0lBQ3RCLDJEQUF1QyxDQUFBO0lBQ3ZDLDJDQUEyQztJQUMzQyxtREFBK0IsQ0FBQTtJQUMvQiwwQ0FBMEM7SUFDMUMsNkRBQXlDLENBQUE7SUFDekMsdURBQXVEO0lBQ3ZELDJFQUF1RCxDQUFBO0lBQ3ZELGtFQUFrRTtJQUNsRSwyRUFBdUQsQ0FBQTtJQUN2RCw2QkFBNkI7SUFDN0IsbURBQStCLENBQUE7QUFDakMsQ0FBQyxFQTNDVyxnQkFBZ0IsR0FBaEIsd0JBQWdCLEtBQWhCLHdCQUFnQixRQTJDM0I7QUFFRCxNQUFhLHVCQUF1QjtJQUlsQyxZQUFZLElBQVksRUFBRSxP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QUN0Qiw2REFBNkQsQ0FBQztJQUNsRSxDQUFDO0NBQUE7QUFKRCwwQ0FJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxRQUFRO0lBQXBEOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRCxvQkFBZSxHQUN0QixvSUFBb0ksQ0FBQztJQUN6SSxDQUFDO0NBQUE7QUFKRCx3REFJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsUUFBUTtJQUExQzs7UUFDVyxlQUFVLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1FBQzVDLG9CQUFlLEdBQ3RCLDhHQUE4RyxDQUFDO0lBQ25ILENBQUM7Q0FBQTtBQUpELG9DQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxRQUFRO0lBQTFDOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7UUFDNUMsb0JBQWUsR0FBRyw0QkFBNEIsQ0FBQztJQUMxRCxDQUFDO0NBQUE7QUFIRCxvQ0FHQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxRQUFRO0lBQWpEOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQztRQUNwRCxvQkFBZSxHQUN0QixrRkFBa0YsQ0FBQztJQUN2RixDQUFDO0NBQUE7QUFKRCxrREFJQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1vbWVudG9FcnJvckNvZGUge1xuICAvLyBJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCB0byBNb21lbnRvIGNsaWVudFxuICBJTlZBTElEX0FSR1VNRU5UX0VSUk9SID0gJ0lOVkFMSURfQVJHVU1FTlRfRVJST1InLFxuICAvLyBTZXJ2aWNlIHJldHVybmVkIGFuIHVua25vd24gcmVzcG9uc2VcbiAgVU5LTk9XTl9TRVJWSUNFX0VSUk9SID0gJ1VOS05PV05fU0VSVklDRV9FUlJPUicsXG4gIC8vIENhY2hlIHdpdGggc3BlY2lmaWVkIG5hbWUgYWxyZWFkeSBleGlzdHNcbiAgQ0FDSEVfQUxSRUFEWV9FWElTVFNfRVJST1IgPSAnQUxSRUFEWV9FWElTVFNfRVJST1InLFxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIENBQ0hFX0FMUkVBRFlfRVhJU1RTX0VSUk9SIGluc3RlYWQgKi9cbiAgQUxSRUFEWV9FWElTVFNfRVJST1IgPSAnQUxSRUFEWV9FWElTVFNfRVJST1InLFxuICAvLyBTdG9yZSB3aXRoIHNwZWNpZmllZCBuYW1lIGFscmVhZHkgZXhpc3RzXG4gIFNUT1JFX0FMUkVBRFlfRVhJU1RTX0VSUk9SID0gJ0FMUkVBRFlfRVhJU1RTX0VSUk9SJyxcbiAgLy8gQ2FjaGUgd2l0aCBzcGVjaWZpZWQgbmFtZSBkb2Vzbid0IGV4aXN0XG4gIENBQ0hFX05PVF9GT1VORF9FUlJPUiA9ICdOT1RfRk9VTkRfRVJST1InLFxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIENBQ0hFX05PVF9GT1VORF9FUlJPUiBpbnN0ZWFkICovXG4gIE5PVF9GT1VORF9FUlJPUiA9ICdOT1RfRk9VTkRfRVJST1InLFxuICAvLyBTdG9yZSB3aXRoIHNwZWNpZmllZCBuYW1lIGRvZXNuJ3QgZXhpc3RcbiAgU1RPUkVfTk9UX0ZPVU5EX0VSUk9SID0gJ1NUT1JFX05PVF9GT1VORF9FUlJPUicsXG4gIC8vIEl0ZW0gd2l0aCBzcGVjaWZpZWQga2V5IGRvZXNuJ3QgZXhpc3RcbiAgU1RPUkVfSVRFTV9OT1RfRk9VTkRfRVJST1IgPSAnU1RPUkVfSVRFTV9OT1RfRk9VTkRfRVJST1InLFxuICAvLyBBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0XG4gIElOVEVSTkFMX1NFUlZFUl9FUlJPUiA9ICdJTlRFUk5BTF9TRVJWRVJfRVJST1InLFxuICAvLyBJbnN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gcGVyZm9ybSBvcGVyYXRpb25cbiAgUEVSTUlTU0lPTl9FUlJPUiA9ICdQRVJNSVNTSU9OX0VSUk9SJyxcbiAgLy8gSW52YWxpZCBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyB0byBjb25uZWN0IHRvIGNhY2hlIHNlcnZpY2VcbiAgQVVUSEVOVElDQVRJT05fRVJST1IgPSAnQVVUSEVOVElDQVRJT05fRVJST1InLFxuICAvLyBSZXF1ZXN0IHdhcyBjYW5jZWxsZWQgYnkgdGhlIHNlcnZlclxuICBDQU5DRUxMRURfRVJST1IgPSAnQ0FOQ0VMTEVEX0VSUk9SJyxcbiAgLy8gRXJyb3IgY29ubmVjdGluZyB0byBNb21lbnRvIHNlcnZlcnNcbiAgQ09OTkVDVElPTl9FUlJPUiA9ICdDT05ORUNUSU9OX0VSUk9SJyxcbiAgLy8gUmVxdWVzdCByYXRlLCBiYW5kd2lkdGgsIG9yIG9iamVjdCBzaXplIGV4Y2VlZGVkIHRoZSBsaW1pdHMgZm9yIHRoZSBhY2NvdW50XG4gIExJTUlUX0VYQ0VFREVEX0VSUk9SID0gJ0xJTUlUX0VYQ0VFREVEX0VSUk9SJyxcbiAgLy8gUmVxdWVzdCB3YXMgaW52YWxpZFxuICBCQURfUkVRVUVTVF9FUlJPUiA9ICdCQURfUkVRVUVTVF9FUlJPUicsXG4gIC8vIENsaWVudCdzIGNvbmZpZ3VyZWQgdGltZW91dCB3YXMgZXhjZWVkZWRcbiAgVElNRU9VVF9FUlJPUiA9ICdUSU1FT1VUX0VSUk9SJyxcbiAgLy8gU2VydmVyIHdhcyB1bmFibGUgdG8gaGFuZGxlIHRoZSByZXF1ZXN0XG4gIFNFUlZFUl9VTkFWQUlMQUJMRSA9ICdTRVJWRVJfVU5BVkFJTEFCTEUnLFxuICAvLyBBIGNsaWVudCByZXNvdXJjZSAobW9zdCBsaWtlbHkgbWVtb3J5KSB3YXMgZXhoYXVzdGVkXG4gIENMSUVOVF9SRVNPVVJDRV9FWEhBVVNURUQgPSAnQ0xJRU5UX1JFU09VUkNFX0VYSEFVU1RFRCcsXG4gIC8vIFN5c3RlbSBpcyBub3QgaW4gYSBzdGF0ZSByZXF1aXJlZCBmb3IgdGhlIG9wZXJhdGlvbidzIGV4ZWN1dGlvblxuICBGQUlMRURfUFJFQ09ORElUSU9OX0VSUk9SID0gJ0ZBSUxFRF9QUkVDT05ESVRJT05fRVJST1InLFxuICAvLyBVbmtub3duIGVycm9yIGhhcyBvY2N1cnJlZFxuICBVTktOT1dOX0VSUk9SID0gJ1VOS05PV05fRVJST1InLFxufVxuXG5leHBvcnQgY2xhc3MgTW9tZW50b0dycGNFcnJvckRldGFpbHMge1xuICBwdWJsaWMgcmVhZG9ubHkgY29kZTogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgZGV0YWlsczogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0YWRhdGE/OiBvYmplY3Q7XG4gIGNvbnN0cnVjdG9yKGNvZGU6IG51bWJlciwgZGV0YWlsczogc3RyaW5nLCBtZXRhZGF0YT86IG9iamVjdCkge1xuICAgIHRoaXMuY29kZSA9IGNvZGU7XG4gICAgdGhpcy5kZXRhaWxzID0gZGV0YWlscztcbiAgICB0aGlzLm1ldGFkYXRhID0gbWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1vbWVudG9FcnJvclRyYW5zcG9ydERldGFpbHMge1xuICBwdWJsaWMgcmVhZG9ubHkgZ3JwYzogTW9tZW50b0dycGNFcnJvckRldGFpbHM7XG4gIGNvbnN0cnVjdG9yKGdycGM6IE1vbWVudG9HcnBjRXJyb3JEZXRhaWxzKSB7XG4gICAgdGhpcy5ncnBjID0gZ3JwYztcbiAgfVxufVxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgZXJyb3JzIHRocm93biBieSB0aGUgc2RrXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZGtFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9lcnJvckNvZGU6IE1vbWVudG9FcnJvckNvZGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBfbWVzc2FnZVdyYXBwZXI6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNwb3J0RGV0YWlsczogTW9tZW50b0Vycm9yVHJhbnNwb3J0RGV0YWlscztcbiAgY29uc3RydWN0b3IoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGNvZGUgPSAwLFxuICAgIG1ldGFkYXRhOiBvYmplY3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgc3RhY2s6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZFxuICApIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICBjb25zdCBncnBjRGV0YWlscyA9IG5ldyBNb21lbnRvR3JwY0Vycm9yRGV0YWlscyhjb2RlLCBtZXNzYWdlLCBtZXRhZGF0YSk7XG4gICAgdGhpcy5fdHJhbnNwb3J0RGV0YWlscyA9IG5ldyBNb21lbnRvRXJyb3JUcmFuc3BvcnREZXRhaWxzKGdycGNEZXRhaWxzKTtcbiAgICB0aGlzLnN0YWNrID0gc3RhY2sgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHdyYXBwZWRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5fbWVzc2FnZVdyYXBwZXJ9OiAke3RoaXMubWVzc2FnZX1gO1xuICB9XG5cbiAgcHVibGljIGVycm9yQ29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZXJyb3JDb2RlO1xuICB9XG5cbiAgcHVibGljIHRyYW5zcG9ydERldGFpbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zcG9ydERldGFpbHM7XG4gIH1cbn1cblxuLyoqXG4gKiBFcnJvciB0aGF0IG9jY3VycyB3aGVuIHRyeWluZyB0byBjcmVhdGUgYSBjYWNoZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgYW4gZXhpc3RpbmcgY2FjaGUuIFRvIHJlc29sdmUgdGhpcyBlcnJvcixcbiAqIGVpdGhlciBkZWxldGUgdGhlIGV4aXN0aW5nIGNhY2hlIGFuZCBtYWtlIGEgbmV3IG9uZSwgb3IgY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBjYWNoZSB5b3UgYXJlIHRyeWluZyB0byBjcmVhdGUgdG9cbiAqIG9uZSB0aGF0IGRvZXNuJ3QgYWxyZWFkeSBleGlzdFxuICovXG5leHBvcnQgY2xhc3MgQ2FjaGVBbHJlYWR5RXhpc3RzRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkNBQ0hFX0FMUkVBRFlfRVhJU1RTX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdBIGNhY2hlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGFscmVhZHkgZXhpc3RzLiAgVG8gcmVzb2x2ZSB0aGlzIGVycm9yLCBlaXRoZXIgZGVsZXRlIHRoZSBleGlzdGluZyBjYWNoZSBhbmQgbWFrZSBhIG5ldyBvbmUsIG9yIHVzZSBhIGRpZmZlcmVudCBuYW1lJztcbn1cblxuLyoqXG4gKiBFcnJvciB0aGF0IG9jY3VycyB3aGVuIHRyeWluZyB0byBjcmVhdGUgYSBzdG9yZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgYW4gZXhpc3RpbmcgY2FjaGUuIFRvIHJlc29sdmUgdGhpcyBlcnJvcixcbiAqIGVpdGhlciBkZWxldGUgdGhlIGV4aXN0aW5nIHN0b3JlIGFuZCBtYWtlIGEgbmV3IG9uZSwgb3IgY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBzdG9yZSB5b3UgYXJlIHRyeWluZyB0byBjcmVhdGUgdG9cbiAqIG9uZSB0aGF0IGRvZXNuJ3QgYWxyZWFkeSBleGlzdFxuICovXG5leHBvcnQgY2xhc3MgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlNUT1JFX0FMUkVBRFlfRVhJU1RTX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdBIHN0b3JlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGFscmVhZHkgZXhpc3RzLiAgVG8gcmVzb2x2ZSB0aGlzIGVycm9yLCBlaXRoZXIgZGVsZXRlIHRoZSBleGlzdGluZyBzdG9yZSBhbmQgbWFrZSBhIG5ldyBvbmUsIG9yIHVzZSBhIGRpZmZlcmVudCBuYW1lJztcbn1cblxuLyoqXG4gKiBFcnJvciB3aGVuIGF1dGhlbnRpY2F0aW9uIHdpdGggQ2FjaGUgU2VydmljZSBmYWlsc1xuICovXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25FcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQVVUSEVOVElDQVRJT05fRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0ludmFsaWQgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgdG8gY29ubmVjdCB0byBjYWNoZSBzZXJ2aWNlJztcbn1cblxuLyoqXG4gKiBFcnJvciByYWlzZWQgaW4gcmVzcG9uc2UgdG8gYW4gaW52YWxpZCByZXF1ZXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBCYWRSZXF1ZXN0RXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkJBRF9SRVFVRVNUX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdUaGUgcmVxdWVzdCB3YXMgaW52YWxpZDsgcGxlYXNlIGNvbnRhY3QgdXMgYXQgc3VwcG9ydEBtb21lbnRvaHEuY29tJztcbn1cblxuLyoqXG4gKiBFcnJvciB3aGVuIGFuIG9wZXJhdGlvbiB3aXRoIENhY2hlIFNlcnZpY2Ugd2FzIGNhbmNlbGxlZFxuICovXG5leHBvcnQgY2xhc3MgQ2FuY2VsbGVkRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkNBTkNFTExFRF9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnVGhlIHJlcXVlc3Qgd2FzIGNhbmNlbGxlZCBieSB0aGUgc2VydmVyOyBwbGVhc2UgY29udGFjdCB1cyBhdCBzdXBwb3J0QG1vbWVudG9ocS5jb20nO1xufVxuXG4vKipcbiAqIEVycm9yIHdoZW4gdGhlcmUncyBhIGZhaWx1cmUgdG8gY29ubmVjdCB0byBNb21lbnRvIHNlcnZlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkNPTk5FQ1RJT05fRVJST1I7XG59XG5cbi8qKlxuICogRXJyb3IgcmFpc2VkIHdoZW4gc3lzdGVtIGluIG5vdCBpbiBhIHN0YXRlIHJlcXVpcmVkIGZvciB0aGUgb3BlcmF0aW9uJ3Mgc3VjY2Vzc1xuICovXG5leHBvcnQgY2xhc3MgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkZBSUxFRF9QUkVDT05ESVRJT05fRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgXCJTeXN0ZW0gaXMgbm90IGluIGEgc3RhdGUgcmVxdWlyZWQgZm9yIHRoZSBvcGVyYXRpb24ncyBleGVjdXRpb25cIjtcbn1cblxuLyoqXG4gKiBDYWNoZSBTZXJ2aWNlIGVuY291bnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFNlcnZlckVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5JTlRFUk5BTF9TRVJWRVJfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3Q7IHBsZWFzZSBjb250YWN0IHVzIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBlcnJvcnMgdGhyb3duIHdoZW4gaW52YWxpZCBwYXJhbWV0ZXJzIGFyZSBwYXNzZWQgdG8gdGhlIE1vbWVudG8gQ2FjaGVcbiAqL1xuZXhwb3J0IGNsYXNzIEludmFsaWRBcmd1bWVudEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5JTlZBTElEX0FSR1VNRU5UX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPSAnSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgdG8gTW9tZW50byBjbGllbnQnO1xufVxuXG4vKipcbiAqIEVycm9yIHdoZW4gY2FsbHMgYXJlIHRocm90dGxlZCBkdWUgdG8gcmVxdWVzdCBsaW1pdCByYXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBMaW1pdEV4Y2VlZGVkRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkxJTUlUX0VYQ0VFREVEX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdSZXF1ZXN0IHJhdGUsIGJhbmR3aWR0aCwgb3Igb2JqZWN0IHNpemUgZXhjZWVkZWQgdGhlIGxpbWl0cyBmb3IgdGhpcyBhY2NvdW50LiAgVG8gcmVzb2x2ZSB0aGlzIGVycm9yLCByZWR1Y2UgeW91ciB1c2FnZSBhcyBhcHByb3ByaWF0ZSBvciBjb250YWN0IHVzIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSB0byByZXF1ZXN0IGEgbGltaXQgaW5jcmVhc2UnO1xufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGdldCBhIGNhY2hlIHRoYXQgZG9lc24ndCBleGlzdC4gVG8gcmVzb2x2ZSwgbWFrZSBzdXJlIHRoYXQgdGhlIGNhY2hlIHlvdSBhcmUgdHJ5aW5nXG4gKiB0byBnZXQgZXhpc3RzLiBJZiBpdCBkb2Vzbid0IGNyZWF0ZSBpdCBmaXJzdCBhbmQgdGhlbiB0cnkgYWdhaW5cbiAqL1xuZXhwb3J0IGNsYXNzIENhY2hlTm90Rm91bmRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQ0FDSEVfTk9UX0ZPVU5EX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdBIGNhY2hlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGRvZXMgbm90IGV4aXN0LiAgVG8gcmVzb2x2ZSB0aGlzIGVycm9yLCBtYWtlIHN1cmUgeW91IGhhdmUgY3JlYXRlZCB0aGUgY2FjaGUgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdXNlIGl0Jztcbn1cblxuLyoqXG4gKiBFcnJvciB0aGF0IG9jY3VycyB3aGVuIHRyeWluZyB0byBnZXQgYSBzdG9yZSB0aGF0IGRvZXNuJ3QgZXhpc3QuIFRvIHJlc29sdmUsIG1ha2Ugc3VyZSB0aGF0IHRoZSBzdG9yZSB5b3UgYXJlIHRyeWluZ1xuICogdG8gZ2V0IGV4aXN0cy4gSWYgaXQgZG9lc24ndCBjcmVhdGUgaXQgZmlyc3QgYW5kIHRoZW4gdHJ5IGFnYWluLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmVOb3RGb3VuZEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5TVE9SRV9OT1RfRk9VTkRfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0Egc3RvcmUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgZG9lcyBub3QgZXhpc3QuICBUbyByZXNvbHZlIHRoaXMgZXJyb3IsIG1ha2Ugc3VyZSB5b3UgaGF2ZSBjcmVhdGVkIHRoZSBzdG9yZSBiZWZvcmUgYXR0ZW1wdGluZyB0byB1c2UgaXQnO1xufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGdldCBhbiBpdGVtIGZyb20gc3RvcmUgdGhhdCBkb2Vzbid0IGV4aXN0LiBUbyByZXNvbHZlLCBtYWtlIHN1cmUgdGhhdCB0aGUgaXRlbSB5b3UgYXJlIHRyeWluZ1xuICogdG8gZ2V0IGV4aXN0cy4gSWYgaXQgZG9lc24ndCBjcmVhdGUgaXQgZmlyc3QgYW5kIHRoZW4gdHJ5IGFnYWluLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmVJdGVtTm90Rm91bmRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuU1RPUkVfSVRFTV9OT1RfRk9VTkRfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9ICdBbiBpdGVtIHdpdGggdGhlIHNwZWNpZmllZCBrZXkgZG9lcyBub3QgZXhpc3QnO1xufVxuXG4vKipcbiAqIEluc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBwZXJmb3JtIGFuIG9wZXJhdGlvbiBvbiBDYWNoZSBTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlBFUk1JU1NJT05fRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0luc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBwZXJmb3JtIGFuIG9wZXJhdGlvbiBvbiBhIGNhY2hlJztcbn1cblxuLyoqXG4gKiBTZXJ2ZXIgd2FzIHVuYWJsZSB0byBoYW5kbGUgdGhlIHJlcXVlc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5TRVJWRVJfVU5BVkFJTEFCTEU7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ1RoZSBzZXJ2ZXIgd2FzIHVuYWJsZSB0byBoYW5kbGUgdGhlIHJlcXVlc3Q7IGNvbnNpZGVyIHJldHJ5aW5nLiAgSWYgdGhlIGVycm9yIHBlcnNpc3RzLCBwbGVhc2UgY29udGFjdCB1cyBhdCBzdXBwb3J0QG1vbWVudG9ocS5jb20nO1xufVxuXG4vKipcbiAqIEVycm9yIHdoZW4gYW4gb3BlcmF0aW9uIGRpZCBub3QgY29tcGxldGUgaW4gdGltZVxuICovXG5leHBvcnQgY2xhc3MgVGltZW91dEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5USU1FT1VUX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgIFwiVGhlIGNsaWVudCdzIGNvbmZpZ3VyZWQgdGltZW91dCB3YXMgZXhjZWVkZWQ7IHlvdSBtYXkgbmVlZCB0byB1c2UgYSBDb25maWd1cmF0aW9uIHdpdGggbW9yZSBsZW5pZW50IHRpbWVvdXRzXCI7XG59XG5cbi8qKlxuICogRXJyb3IgcmFpc2VkIHdoZW4gdGhlIHVuZGVybHlpbmcgY2F1c2UgaW4gdW5rbm93blxuICovXG5leHBvcnQgY2xhc3MgVW5rbm93bkVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5VTktOT1dOX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPSAnVW5rbm93biBlcnJvciBoYXMgb2NjdXJyZWQnO1xufVxuXG4vKipcbiAqIEVycm9yIHJhaXNlZCB3aGVuIHRoZSBzZXJ2aWNlIHJldHVybnMgYW4gdW5rbm93biByZXNwb25zZVxuICovXG5leHBvcnQgY2xhc3MgVW5rbm93blNlcnZpY2VFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuVU5LTk9XTl9TRVJWSUNFX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdTZXJ2aWNlIHJldHVybmVkIGFuIHVua25vd24gcmVzcG9uc2U7IHBsZWFzZSBjb250YWN0IHVzIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSc7XG59XG4iXX0=
|
package/dist/src/index.d.ts
CHANGED
@@ -69,14 +69,17 @@ export * from './messages/responses/leaderboard';
|
|
69
69
|
export * as webhook from './messages/responses/webhook';
|
70
70
|
export * from './messages/responses/webhook';
|
71
71
|
export { Webhook, WebhookId } from './messages/webhook';
|
72
|
+
export * from './messages/responses/storage';
|
73
|
+
export { StoreInfo } from './messages/store-info';
|
72
74
|
import { CacheInfo } from './messages/cache-info';
|
73
75
|
import { SubscribeCallOptions, CollectionTtl, SortedSetOrder, LeaderboardOrder, ExpiresIn, ExpiresAt, ItemType, WebhookDestination, PostUrlWebhookDestination, WebhookDestinationType, SetBatchItem } from './utils';
|
74
76
|
import { CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider } from './auth';
|
75
|
-
import { MomentoErrorCode, SdkError,
|
77
|
+
import { MomentoErrorCode, SdkError, CacheAlreadyExistsError, StoreAlreadyExistsError, AuthenticationError, CancelledError, ConnectionError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, CacheNotFoundError, StoreItemNotFoundError, StoreNotFoundError, UnknownError } from './errors';
|
76
78
|
export { MomentoLogger, MomentoLoggerFactory, } from './config/logging/momento-logger';
|
77
79
|
export * from './messages/responses/enums';
|
78
80
|
export { NoopMomentoLogger, NoopMomentoLoggerFactory, } from './config/logging/noop-momento-logger';
|
79
81
|
export { ICacheClient, SetOptions, SetIfNotExistsOptions, SetIfAbsentOptions, SetIfPresentOptions, SetIfEqualOptions, SetIfNotEqualOptions, SetIfPresentAndNotEqualOptions, SetIfAbsentOrEqualOptions, IncrementOptions, } from './clients/ICacheClient';
|
82
|
+
export { IStorageClient } from './clients/IStorageClient';
|
80
83
|
export { IMomentoCache } from './clients/IMomentoCache';
|
81
84
|
export { ILeaderboardClient } from './clients/ILeaderboardClient';
|
82
85
|
export { ILeaderboard } from './clients/ILeaderboard';
|
@@ -102,4 +105,4 @@ GenerateApiKey as GenerateAuthToken, RefreshApiKey,
|
|
102
105
|
/**
|
103
106
|
* @deprecated - please use RefreshApiKey
|
104
107
|
*/
|
105
|
-
RefreshApiKey as RefreshAuthToken, GenerateDisposableToken, MomentoErrorCode, SdkError,
|
108
|
+
RefreshApiKey as RefreshAuthToken, GenerateDisposableToken, MomentoErrorCode, SdkError, CacheAlreadyExistsError, StoreAlreadyExistsError, AuthenticationError, CancelledError, ConnectionError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, CacheNotFoundError, StoreItemNotFoundError, StoreNotFoundError, UnknownError, };
|