@gomomento/sdk-core 1.117.4 → 1.118.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.
@@ -0,0 +1,17 @@
1
+ import { DeleteFunction, ListFunctions, ListFunctionVersions, PutFunction } from '../messages/responses/function';
2
+ /**
3
+ * Options for a {@link IFunctionClient.putFunction} request.
4
+ */
5
+ export interface PutFunctionOptions {
6
+ /** A human-readable description stored alongside the function. */
7
+ description?: string;
8
+ /** Non-secret environment variables made available to the function at runtime. */
9
+ environmentVariables?: Record<string, string>;
10
+ }
11
+ export interface IFunctionClient {
12
+ putFunction(cacheName: string, functionName: string, wasmBytes: Uint8Array, options?: PutFunctionOptions): Promise<PutFunction.Response>;
13
+ deleteFunction(cacheName: string, functionName: string): Promise<DeleteFunction.Response>;
14
+ listFunctions(cacheName: string): Promise<ListFunctions.Response>;
15
+ listFunctionVersions(functionId: string): Promise<ListFunctionVersions.Response>;
16
+ close(): void;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUZ1bmN0aW9uQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudHMvSUZ1bmN0aW9uQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWxldGVGdW5jdGlvbixcbiAgTGlzdEZ1bmN0aW9ucyxcbiAgTGlzdEZ1bmN0aW9uVmVyc2lvbnMsXG4gIFB1dEZ1bmN0aW9uLFxufSBmcm9tICcuLi9tZXNzYWdlcy9yZXNwb25zZXMvZnVuY3Rpb24nO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGEge0BsaW5rIElGdW5jdGlvbkNsaWVudC5wdXRGdW5jdGlvbn0gcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQdXRGdW5jdGlvbk9wdGlvbnMge1xuICAvKiogQSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBzdG9yZWQgYWxvbmdzaWRlIHRoZSBmdW5jdGlvbi4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBOb24tc2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlcyBtYWRlIGF2YWlsYWJsZSB0byB0aGUgZnVuY3Rpb24gYXQgcnVudGltZS4gKi9cbiAgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGdW5jdGlvbkNsaWVudCB7XG4gIHB1dEZ1bmN0aW9uKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIGZ1bmN0aW9uTmFtZTogc3RyaW5nLFxuICAgIHdhc21CeXRlczogVWludDhBcnJheSxcbiAgICBvcHRpb25zPzogUHV0RnVuY3Rpb25PcHRpb25zXG4gICk6IFByb21pc2U8UHV0RnVuY3Rpb24uUmVzcG9uc2U+O1xuICBkZWxldGVGdW5jdGlvbihcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICBmdW5jdGlvbk5hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPERlbGV0ZUZ1bmN0aW9uLlJlc3BvbnNlPjtcbiAgbGlzdEZ1bmN0aW9ucyhjYWNoZU5hbWU6IHN0cmluZyk6IFByb21pc2U8TGlzdEZ1bmN0aW9ucy5SZXNwb25zZT47XG4gIGxpc3RGdW5jdGlvblZlcnNpb25zKFxuICAgIGZ1bmN0aW9uSWQ6IHN0cmluZ1xuICApOiBQcm9taXNlPExpc3RGdW5jdGlvblZlcnNpb25zLlJlc3BvbnNlPjtcbiAgY2xvc2UoKTogdm9pZDtcbn1cbiJdfQ==
@@ -10,6 +10,7 @@ export declare enum MomentoErrorCode {
10
10
  NOT_FOUND_ERROR = "NOT_FOUND_ERROR",
11
11
  STORE_NOT_FOUND_ERROR = "STORE_NOT_FOUND_ERROR",
12
12
  STORE_ITEM_NOT_FOUND_ERROR = "STORE_ITEM_NOT_FOUND_ERROR",
13
+ FUNCTION_NOT_FOUND_ERROR = "FUNCTION_NOT_FOUND_ERROR",
13
14
  INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR",
14
15
  PERMISSION_ERROR = "PERMISSION_ERROR",
15
16
  AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR",
@@ -154,6 +155,14 @@ export declare class StoreItemNotFoundError extends SdkError {
154
155
  _errorCode: MomentoErrorCode;
155
156
  _messageWrapper: string;
156
157
  }
158
+ /**
159
+ * Error that occurs when trying to operate on a function that doesn't exist. To resolve, make sure that the
160
+ * function you are trying to use exists; if it doesn't, create it first and then try again.
161
+ */
162
+ export declare class FunctionNotFoundError extends SdkError {
163
+ _errorCode: MomentoErrorCode;
164
+ _messageWrapper: string;
165
+ }
157
166
  /**
158
167
  * Insufficient permissions to perform an operation on Cache Service
159
168
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClientResourceExhaustedError = 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;
3
+ exports.ClientResourceExhaustedError = exports.UnknownServiceError = exports.UnknownError = exports.TimeoutError = exports.ServerUnavailableError = exports.PermissionError = exports.FunctionNotFoundError = 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
@@ -21,6 +21,8 @@ var MomentoErrorCode;
21
21
  MomentoErrorCode["STORE_NOT_FOUND_ERROR"] = "STORE_NOT_FOUND_ERROR";
22
22
  // Item with specified key doesn't exist
23
23
  MomentoErrorCode["STORE_ITEM_NOT_FOUND_ERROR"] = "STORE_ITEM_NOT_FOUND_ERROR";
24
+ // Function with specified name doesn't exist
25
+ MomentoErrorCode["FUNCTION_NOT_FOUND_ERROR"] = "FUNCTION_NOT_FOUND_ERROR";
24
26
  // An unexpected error occurred while trying to fulfill the request
25
27
  MomentoErrorCode["INTERNAL_SERVER_ERROR"] = "INTERNAL_SERVER_ERROR";
26
28
  // Insufficient permissions to perform operation
@@ -288,6 +290,18 @@ class StoreItemNotFoundError extends SdkError {
288
290
  }
289
291
  }
290
292
  exports.StoreItemNotFoundError = StoreItemNotFoundError;
293
+ /**
294
+ * Error that occurs when trying to operate on a function that doesn't exist. To resolve, make sure that the
295
+ * function you are trying to use exists; if it doesn't, create it first and then try again.
296
+ */
297
+ class FunctionNotFoundError extends SdkError {
298
+ constructor() {
299
+ super(...arguments);
300
+ this._errorCode = MomentoErrorCode.FUNCTION_NOT_FOUND_ERROR;
301
+ this._messageWrapper = 'A function with the specified name does not exist. To resolve this error, make sure you have created the function before attempting to use it';
302
+ }
303
+ }
304
+ exports.FunctionNotFoundError = FunctionNotFoundError;
291
305
  /**
292
306
  * Insufficient permissions to perform an operation on Cache Service
293
307
  */
@@ -353,4 +367,4 @@ class ClientResourceExhaustedError extends SdkError {
353
367
  }
354
368
  }
355
369
  exports.ClientResourceExhaustedError = ClientResourceExhaustedError;
356
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxnQkEyQ1g7QUEzQ0QsV0FBWSxnQkFBZ0I7SUFDMUIsNENBQTRDO0lBQzVDLHFFQUFpRCxDQUFBO0lBQ2pELHVDQUF1QztJQUN2QyxtRUFBK0MsQ0FBQTtJQUMvQywyQ0FBMkM7SUFDM0MsdUVBQW1ELENBQUE7SUFDbkQseURBQXlEO0lBQ3pELGlFQUE2QyxDQUFBO0lBQzdDLDJDQUEyQztJQUMzQyx1RUFBbUQsQ0FBQTtJQUNuRCwwQ0FBMEM7SUFDMUMsNkRBQXlDLENBQUE7SUFDekMsb0RBQW9EO0lBQ3BELHVEQUFtQyxDQUFBO0lBQ25DLDBDQUEwQztJQUMxQyxtRUFBK0MsQ0FBQTtJQUMvQyx3Q0FBd0M7SUFDeEMsNkVBQXlELENBQUE7SUFDekQsbUVBQW1FO0lBQ25FLG1FQUErQyxDQUFBO0lBQy9DLGdEQUFnRDtJQUNoRCx5REFBcUMsQ0FBQTtJQUNyQyxpRUFBaUU7SUFDakUsaUVBQTZDLENBQUE7SUFDN0Msc0NBQXNDO0lBQ3RDLHVEQUFtQyxDQUFBO0lBQ25DLHNDQUFzQztJQUN0Qyx5REFBcUMsQ0FBQTtJQUNyQyw4RUFBOEU7SUFDOUUsaUVBQTZDLENBQUE7SUFDN0Msc0JBQXNCO0lBQ3RCLDJEQUF1QyxDQUFBO0lBQ3ZDLDJDQUEyQztJQUMzQyxtREFBK0IsQ0FBQTtJQUMvQiwwQ0FBMEM7SUFDMUMsNkRBQXlDLENBQUE7SUFDekMsdURBQXVEO0lBQ3ZELDJFQUF1RCxDQUFBO0lBQ3ZELGtFQUFrRTtJQUNsRSwyRUFBdUQsQ0FBQTtJQUN2RCw2QkFBNkI7SUFDN0IsbURBQStCLENBQUE7QUFDakMsQ0FBQyxFQTNDVyxnQkFBZ0IsR0FBaEIsd0JBQWdCLEtBQWhCLHdCQUFnQixRQTJDM0I7QUFFRCxNQUFhLHVCQUF1QjtJQUlsQyxZQUFZLElBQVksRUFBRSxP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ekksQ0FBQztDQUFBO0FBSkQsd0RBSUM7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLFFBQVE7SUFBMUM7O1FBQ1csZUFBVSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztRQUM1QyxvQkFBZSxHQUN0Qiw4R0FBOEcsQ0FBQztJQUNuSCxDQUFDO0NBQUE7QUFKRCxvQ0FJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsUUFBUTtJQUExQzs7UUFDVyxlQUFVLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1FBQzVDLG9CQUFlLEdBQUcsNEJBQTRCLENBQUM7SUFDMUQsQ0FBQztDQUFBO0FBSEQsb0NBR0M7QUFFRDs7R0FFRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsUUFBUTtJQUFqRDs7UUFDVyxlQUFVLEdBQUcsZ0JBQWdCLENBQUMscUJBQXFCLENBQUM7UUFDcEQsb0JBQWUsR0FDdEIsa0ZBQWtGLENBQUM7SUFDdkYsQ0FBQztDQUFBO0FBSkQsa0RBSUM7QUFFRDs7R0FFRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsUUFBUTtJQUd4RCxZQUFZLFVBQThCLFNBQVM7UUFDakQsS0FBSyxDQUNILE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUNMLGlHQUFpRyxDQUNwRyxDQUFDO1FBTkssZUFBVSxHQUFHLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDO0lBT2pFLENBQUM7Q0FDRjtBQVRELG9FQVNDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTW9tZW50b0Vycm9yQ29kZSB7XG4gIC8vIEludmFsaWQgYXJndW1lbnQgcGFzc2VkIHRvIE1vbWVudG8gY2xpZW50XG4gIElOVkFMSURfQVJHVU1FTlRfRVJST1IgPSAnSU5WQUxJRF9BUkdVTUVOVF9FUlJPUicsXG4gIC8vIFNlcnZpY2UgcmV0dXJuZWQgYW4gdW5rbm93biByZXNwb25zZVxuICBVTktOT1dOX1NFUlZJQ0VfRVJST1IgPSAnVU5LTk9XTl9TRVJWSUNFX0VSUk9SJyxcbiAgLy8gQ2FjaGUgd2l0aCBzcGVjaWZpZWQgbmFtZSBhbHJlYWR5IGV4aXN0c1xuICBDQUNIRV9BTFJFQURZX0VYSVNUU19FUlJPUiA9ICdBTFJFQURZX0VYSVNUU19FUlJPUicsXG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgQ0FDSEVfQUxSRUFEWV9FWElTVFNfRVJST1IgaW5zdGVhZCAqL1xuICBBTFJFQURZX0VYSVNUU19FUlJPUiA9ICdBTFJFQURZX0VYSVNUU19FUlJPUicsXG4gIC8vIFN0b3JlIHdpdGggc3BlY2lmaWVkIG5hbWUgYWxyZWFkeSBleGlzdHNcbiAgU1RPUkVfQUxSRUFEWV9FWElTVFNfRVJST1IgPSAnQUxSRUFEWV9FWElTVFNfRVJST1InLFxuICAvLyBDYWNoZSB3aXRoIHNwZWNpZmllZCBuYW1lIGRvZXNuJ3QgZXhpc3RcbiAgQ0FDSEVfTk9UX0ZPVU5EX0VSUk9SID0gJ05PVF9GT1VORF9FUlJPUicsXG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgQ0FDSEVfTk9UX0ZPVU5EX0VSUk9SIGluc3RlYWQgKi9cbiAgTk9UX0ZPVU5EX0VSUk9SID0gJ05PVF9GT1VORF9FUlJPUicsXG4gIC8vIFN0b3JlIHdpdGggc3BlY2lmaWVkIG5hbWUgZG9lc24ndCBleGlzdFxuICBTVE9SRV9OT1RfRk9VTkRfRVJST1IgPSAnU1RPUkVfTk9UX0ZPVU5EX0VSUk9SJyxcbiAgLy8gSXRlbSB3aXRoIHNwZWNpZmllZCBrZXkgZG9lc24ndCBleGlzdFxuICBTVE9SRV9JVEVNX05PVF9GT1VORF9FUlJPUiA9ICdTVE9SRV9JVEVNX05PVF9GT1VORF9FUlJPUicsXG4gIC8vIEFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3RcbiAgSU5URVJOQUxfU0VSVkVSX0VSUk9SID0gJ0lOVEVSTkFMX1NFUlZFUl9FUlJPUicsXG4gIC8vIEluc3VmZmljaWVudCBwZXJtaXNzaW9ucyB0byBwZXJmb3JtIG9wZXJhdGlvblxuICBQRVJNSVNTSU9OX0VSUk9SID0gJ1BFUk1JU1NJT05fRVJST1InLFxuICAvLyBJbnZhbGlkIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIHRvIGNvbm5lY3QgdG8gY2FjaGUgc2VydmljZVxuICBBVVRIRU5USUNBVElPTl9FUlJPUiA9ICdBVVRIRU5USUNBVElPTl9FUlJPUicsXG4gIC8vIFJlcXVlc3Qgd2FzIGNhbmNlbGxlZCBieSB0aGUgc2VydmVyXG4gIENBTkNFTExFRF9FUlJPUiA9ICdDQU5DRUxMRURfRVJST1InLFxuICAvLyBFcnJvciBjb25uZWN0aW5nIHRvIE1vbWVudG8gc2VydmVyc1xuICBDT05ORUNUSU9OX0VSUk9SID0gJ0NPTk5FQ1RJT05fRVJST1InLFxuICAvLyBSZXF1ZXN0IHJhdGUsIGJhbmR3aWR0aCwgb3Igb2JqZWN0IHNpemUgZXhjZWVkZWQgdGhlIGxpbWl0cyBmb3IgdGhlIGFjY291bnRcbiAgTElNSVRfRVhDRUVERURfRVJST1IgPSAnTElNSVRfRVhDRUVERURfRVJST1InLFxuICAvLyBSZXF1ZXN0IHdhcyBpbnZhbGlkXG4gIEJBRF9SRVFVRVNUX0VSUk9SID0gJ0JBRF9SRVFVRVNUX0VSUk9SJyxcbiAgLy8gQ2xpZW50J3MgY29uZmlndXJlZCB0aW1lb3V0IHdhcyBleGNlZWRlZFxuICBUSU1FT1VUX0VSUk9SID0gJ1RJTUVPVVRfRVJST1InLFxuICAvLyBTZXJ2ZXIgd2FzIHVuYWJsZSB0byBoYW5kbGUgdGhlIHJlcXVlc3RcbiAgU0VSVkVSX1VOQVZBSUxBQkxFID0gJ1NFUlZFUl9VTkFWQUlMQUJMRScsXG4gIC8vIEEgY2xpZW50IHJlc291cmNlIChtb3N0IGxpa2VseSBtZW1vcnkpIHdhcyBleGhhdXN0ZWRcbiAgQ0xJRU5UX1JFU09VUkNFX0VYSEFVU1RFRCA9ICdDTElFTlRfUkVTT1VSQ0VfRVhIQVVTVEVEJyxcbiAgLy8gU3lzdGVtIGlzIG5vdCBpbiBhIHN0YXRlIHJlcXVpcmVkIGZvciB0aGUgb3BlcmF0aW9uJ3MgZXhlY3V0aW9uXG4gIEZBSUxFRF9QUkVDT05ESVRJT05fRVJST1IgPSAnRkFJTEVEX1BSRUNPTkRJVElPTl9FUlJPUicsXG4gIC8vIFVua25vd24gZXJyb3IgaGFzIG9jY3VycmVkXG4gIFVOS05PV05fRVJST1IgPSAnVU5LTk9XTl9FUlJPUicsXG59XG5cbmV4cG9ydCBjbGFzcyBNb21lbnRvR3JwY0Vycm9yRGV0YWlscyB7XG4gIHB1YmxpYyByZWFkb25seSBjb2RlOiBudW1iZXI7XG4gIHB1YmxpYyByZWFkb25seSBkZXRhaWxzOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBtZXRhZGF0YT86IG9iamVjdDtcbiAgY29uc3RydWN0b3IoY29kZTogbnVtYmVyLCBkZXRhaWxzOiBzdHJpbmcsIG1ldGFkYXRhPzogb2JqZWN0KSB7XG4gICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICB0aGlzLmRldGFpbHMgPSBkZXRhaWxzO1xuICAgIHRoaXMubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTW9tZW50b0Vycm9yVHJhbnNwb3J0RGV0YWlscyB7XG4gIHB1YmxpYyByZWFkb25seSBncnBjOiBNb21lbnRvR3JwY0Vycm9yRGV0YWlscztcbiAgY29uc3RydWN0b3IoZ3JwYzogTW9tZW50b0dycGNFcnJvckRldGFpbHMpIHtcbiAgICB0aGlzLmdycGMgPSBncnBjO1xuICB9XG59XG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFsbCBlcnJvcnMgdGhyb3duIGJ5IHRoZSBzZGtcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNka0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Vycm9yQ29kZTogTW9tZW50b0Vycm9yQ29kZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9tZXNzYWdlV3JhcHBlcjogc3RyaW5nO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3RyYW5zcG9ydERldGFpbHM6IE1vbWVudG9FcnJvclRyYW5zcG9ydERldGFpbHM7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBjb2RlID0gMCxcbiAgICBtZXRhZGF0YTogb2JqZWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIHN0YWNrOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgY29uc3QgZ3JwY0RldGFpbHMgPSBuZXcgTW9tZW50b0dycGNFcnJvckRldGFpbHMoY29kZSwgbWVzc2FnZSwgbWV0YWRhdGEpO1xuICAgIHRoaXMuX3RyYW5zcG9ydERldGFpbHMgPSBuZXcgTW9tZW50b0Vycm9yVHJhbnNwb3J0RGV0YWlscyhncnBjRGV0YWlscyk7XG4gICAgdGhpcy5zdGFjayA9IHN0YWNrID8/IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyB3cmFwcGVkRXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuX21lc3NhZ2VXcmFwcGVyfTogJHt0aGlzLm1lc3NhZ2V9YDtcbiAgfVxuXG4gIHB1YmxpYyBlcnJvckNvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yQ29kZTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc3BvcnREZXRhaWxzKCkge1xuICAgIHJldHVybiB0aGlzLl90cmFuc3BvcnREZXRhaWxzO1xuICB9XG59XG5cbi8qKlxuICogRXJyb3IgdGhhdCBvY2N1cnMgd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEgY2FjaGUgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGFuIGV4aXN0aW5nIGNhY2hlLiBUbyByZXNvbHZlIHRoaXMgZXJyb3IsXG4gKiBlaXRoZXIgZGVsZXRlIHRoZSBleGlzdGluZyBjYWNoZSBhbmQgbWFrZSBhIG5ldyBvbmUsIG9yIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgY2FjaGUgeW91IGFyZSB0cnlpbmcgdG8gY3JlYXRlIHRvXG4gKiBvbmUgdGhhdCBkb2Vzbid0IGFscmVhZHkgZXhpc3RcbiAqL1xuZXhwb3J0IGNsYXNzIENhY2hlQWxyZWFkeUV4aXN0c0Vycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5DQUNIRV9BTFJFQURZX0VYSVNUU19FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnQSBjYWNoZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBhbHJlYWR5IGV4aXN0cy4gIFRvIHJlc29sdmUgdGhpcyBlcnJvciwgZWl0aGVyIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2FjaGUgYW5kIG1ha2UgYSBuZXcgb25lLCBvciB1c2UgYSBkaWZmZXJlbnQgbmFtZSc7XG59XG5cbi8qKlxuICogRXJyb3IgdGhhdCBvY2N1cnMgd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEgc3RvcmUgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGFuIGV4aXN0aW5nIGNhY2hlLiBUbyByZXNvbHZlIHRoaXMgZXJyb3IsXG4gKiBlaXRoZXIgZGVsZXRlIHRoZSBleGlzdGluZyBzdG9yZSBhbmQgbWFrZSBhIG5ldyBvbmUsIG9yIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgc3RvcmUgeW91IGFyZSB0cnlpbmcgdG8gY3JlYXRlIHRvXG4gKiBvbmUgdGhhdCBkb2Vzbid0IGFscmVhZHkgZXhpc3RcbiAqL1xuZXhwb3J0IGNsYXNzIFN0b3JlQWxyZWFkeUV4aXN0c0Vycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5TVE9SRV9BTFJFQURZX0VYSVNUU19FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnQSBzdG9yZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBhbHJlYWR5IGV4aXN0cy4gIFRvIHJlc29sdmUgdGhpcyBlcnJvciwgZWl0aGVyIGRlbGV0ZSB0aGUgZXhpc3Rpbmcgc3RvcmUgYW5kIG1ha2UgYSBuZXcgb25lLCBvciB1c2UgYSBkaWZmZXJlbnQgbmFtZSc7XG59XG5cbi8qKlxuICogRXJyb3Igd2hlbiBhdXRoZW50aWNhdGlvbiB3aXRoIENhY2hlIFNlcnZpY2UgZmFpbHNcbiAqL1xuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkFVVEhFTlRJQ0FUSU9OX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdJbnZhbGlkIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIHRvIGNvbm5lY3QgdG8gY2FjaGUgc2VydmljZSc7XG59XG5cbi8qKlxuICogRXJyb3IgcmFpc2VkIGluIHJlc3BvbnNlIHRvIGFuIGludmFsaWQgcmVxdWVzdFxuICovXG5leHBvcnQgY2xhc3MgQmFkUmVxdWVzdEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5CQURfUkVRVUVTVF9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnVGhlIHJlcXVlc3Qgd2FzIGludmFsaWQ7IHBsZWFzZSBjb250YWN0IHVzIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSc7XG59XG5cbi8qKlxuICogRXJyb3Igd2hlbiBhbiBvcGVyYXRpb24gd2l0aCBDYWNoZSBTZXJ2aWNlIHdhcyBjYW5jZWxsZWRcbiAqL1xuZXhwb3J0IGNsYXNzIENhbmNlbGxlZEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5DQU5DRUxMRURfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ1RoZSByZXF1ZXN0IHdhcyBjYW5jZWxsZWQ7IHBsZWFzZSBjb250YWN0IHVzIGlmIHRoaXMgd2FzIHVuZXhwZWN0ZWQgYXQgc3VwcG9ydEBtb21lbnRvaHEuY29tJztcbn1cblxuLyoqXG4gKiBFcnJvciB3aGVuIHRoZXJlJ3MgYSBmYWlsdXJlIHRvIGNvbm5lY3QgdG8gTW9tZW50byBzZXJ2ZXJzLlxuICovXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5DT05ORUNUSU9OX0VSUk9SO1xufVxuXG4vKipcbiAqIEVycm9yIHJhaXNlZCB3aGVuIHN5c3RlbSBpbiBub3QgaW4gYSBzdGF0ZSByZXF1aXJlZCBmb3IgdGhlIG9wZXJhdGlvbidzIHN1Y2Nlc3NcbiAqL1xuZXhwb3J0IGNsYXNzIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5GQUlMRURfUFJFQ09ORElUSU9OX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgIFwiU3lzdGVtIGlzIG5vdCBpbiBhIHN0YXRlIHJlcXVpcmVkIGZvciB0aGUgb3BlcmF0aW9uJ3MgZXhlY3V0aW9uXCI7XG59XG5cbi8qKlxuICogQ2FjaGUgU2VydmljZSBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdFxuICovXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxTZXJ2ZXJFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuSU5URVJOQUxfU0VSVkVSX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0OyBwbGVhc2UgY29udGFjdCB1cyBhdCBzdXBwb3J0QG1vbWVudG9ocS5jb20nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgZXJyb3JzIHRocm93biB3aGVuIGludmFsaWQgcGFyYW1ldGVycyBhcmUgcGFzc2VkIHRvIHRoZSBNb21lbnRvIENhY2hlXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnZhbGlkQXJndW1lbnRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuSU5WQUxJRF9BUkdVTUVOVF9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID0gJ0ludmFsaWQgYXJndW1lbnQgcGFzc2VkIHRvIE1vbWVudG8gY2xpZW50Jztcbn1cblxuZW51bSBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIge1xuICBUT1BJQ19TVUJTQ1JJUFRJT05TX0xJTUlUX0VYQ0VFREVEID0gJ1RvcGljIHN1YnNjcmlwdGlvbnMgbGltaXQgZXhjZWVkZWQgZm9yIHRoaXMgYWNjb3VudCcsXG4gIE9QRVJBVElPTlNfUkFURV9MSU1JVF9FWENFRURFRCA9ICdSZXF1ZXN0IHJhdGUgbGltaXQgZXhjZWVkZWQgZm9yIHRoaXMgYWNjb3VudCcsXG4gIFRIUk9VR0hQVVRfUkFURV9MSU1JVF9FWENFRURFRCA9ICdCYW5kd2lkdGggbGltaXQgZXhjZWVkZWQgZm9yIHRoaXMgYWNjb3VudCcsXG4gIFJFUVVFU1RfU0laRV9MSU1JVF9FWENFRURFRCA9ICdSZXF1ZXN0IHNpemUgbGltaXQgZXhjZWVkZWQgZm9yIHRoaXMgYWNjb3VudCcsXG4gIElURU1fU0laRV9MSU1JVF9FWENFRURFRCA9ICdJdGVtIHNpemUgbGltaXQgZXhjZWVkZWQgZm9yIHRoaXMgYWNjb3VudCcsXG4gIEVMRU1FTlRfU0laRV9MSU1JVF9FWENFRURFRCA9ICdFbGVtZW50IHNpemUgbGltaXQgZXhjZWVkZWQgZm9yIHRoaXMgYWNjb3VudCcsXG4gIFVOS05PV05fTElNSVRfRVhDRUVERUQgPSAnTGltaXQgZXhjZWVkZWQgZm9yIHRoaXMgYWNjb3VudCcsXG59XG5cbi8qKlxuICogRXJyb3Igd2hlbiBjYWxscyBhcmUgdGhyb3R0bGVkIGR1ZSB0byByZXF1ZXN0IGxpbWl0IHJhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIExpbWl0RXhjZWVkZWRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuTElNSVRfRVhDRUVERURfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9IHRoaXMuZGV0ZXJtaW5lTWVzc2FnZVdyYXBwZXIoKTtcbiAgcHJpdmF0ZSBlcnJDYXVzZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBjb2RlID0gMCxcbiAgICBtZXRhZGF0YTogb2JqZWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIHN0YWNrOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgZXJyQ2F1c2U/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgY29kZSwgbWV0YWRhdGEsIHN0YWNrKTtcbiAgICB0aGlzLmVyckNhdXNlID0gZXJyQ2F1c2U7XG4gIH1cblxuICBwcml2YXRlIGRldGVybWluZU1lc3NhZ2VXcmFwcGVyKCkge1xuICAgIC8vIElmIHByb3ZpZGVkLCB3ZSB1c2UgdGhlIGBlcnJgIG1ldGFkYXRhIHZhbHVlIHRvIGRldGVybWluZSB0aGUgbW9zdFxuICAgIC8vIGFwcHJvcHJpYXRlIGVycm9yIG1lc3NhZ2UgdG8gcmV0dXJuLlxuICAgIGlmICh0aGlzLmVyckNhdXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5lcnJDYXVzZSkge1xuICAgICAgICBjYXNlICd0b3BpY19zdWJzY3JpcHRpb25zX2xpbWl0X2V4Y2VlZGVkJzpcbiAgICAgICAgICByZXR1cm4gTGltaXRFeGNlZWRlZE1lc3NhZ2VXcmFwcGVyLlRPUElDX1NVQlNDUklQVElPTlNfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIGNhc2UgJ29wZXJhdGlvbnNfcmF0ZV9saW1pdF9leGNlZWRlZCc6XG4gICAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5PUEVSQVRJT05TX1JBVEVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIGNhc2UgJ3Rocm91Z2hwdXRfcmF0ZV9saW1pdF9leGNlZWRlZCc6XG4gICAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5USFJPVUdIUFVUX1JBVEVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIGNhc2UgJ3JlcXVlc3Rfc2l6ZV9saW1pdF9leGNlZWRlZCc6XG4gICAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5SRVFVRVNUX1NJWkVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIGNhc2UgJ2l0ZW1fc2l6ZV9saW1pdF9leGNlZWRlZCc6XG4gICAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5JVEVNX1NJWkVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIGNhc2UgJ2VsZW1lbnRfc2l6ZV9saW1pdF9leGNlZWRlZCc6XG4gICAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5FTEVNRU5UX1NJWkVfTElNSVRfRVhDRUVERUQ7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5VTktOT1dOX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIGBlcnJgIG1ldGFkYXRhIGlzIHVuYXZhaWxhYmxlLCB0cnkgdG8gdXNlIHRoZSBlcnJvciBkZXRhaWxzIGZpZWxkXG4gICAgLy8gdG8gcmV0dXJuIHRoZSBhbiBhcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlLlxuICAgIGlmICh0aGlzLl90cmFuc3BvcnREZXRhaWxzLmdycGMuZGV0YWlscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBkZXRhaWxzID0gdGhpcy5fdHJhbnNwb3J0RGV0YWlscy5ncnBjLmRldGFpbHMudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChkZXRhaWxzLmluY2x1ZGVzKCdzdWJzY3JpYmVycycpKSB7XG4gICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuVE9QSUNfU1VCU0NSSVBUSU9OU19MSU1JVF9FWENFRURFRDtcbiAgICAgIH0gZWxzZSBpZiAoZGV0YWlscy5pbmNsdWRlcygnb3BlcmF0aW9ucycpKSB7XG4gICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuT1BFUkFUSU9OU19SQVRFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgfSBlbHNlIGlmIChkZXRhaWxzLmluY2x1ZGVzKCd0aHJvdWdocHV0JykpIHtcbiAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5USFJPVUdIUFVUX1JBVEVfTElNSVRfRVhDRUVERUQ7XG4gICAgICB9IGVsc2UgaWYgKGRldGFpbHMuaW5jbHVkZXMoJ3JlcXVlc3QgbGltaXQnKSkge1xuICAgICAgICByZXR1cm4gTGltaXRFeGNlZWRlZE1lc3NhZ2VXcmFwcGVyLlJFUVVFU1RfU0laRV9MSU1JVF9FWENFRURFRDtcbiAgICAgIH0gZWxzZSBpZiAoZGV0YWlscy5pbmNsdWRlcygnaXRlbSBzaXplJykpIHtcbiAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5JVEVNX1NJWkVfTElNSVRfRVhDRUVERUQ7XG4gICAgICB9IGVsc2UgaWYgKGRldGFpbHMuaW5jbHVkZXMoJ2VsZW1lbnQgc2l6ZScpKSB7XG4gICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuRUxFTUVOVF9TSVpFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIGFsbCBlbHNlIGZhaWxzLCByZXR1cm4gYSBnZW5lcmljIFwibGltaXQgZXhjZWVkZWRcIiBtZXNzYWdlXG4gICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5VTktOT1dOX0xJTUlUX0VYQ0VFREVEO1xuICB9XG59XG5cbi8qKlxuICogRXJyb3IgdGhhdCBvY2N1cnMgd2hlbiB0cnlpbmcgdG8gZ2V0IGEgY2FjaGUgdGhhdCBkb2Vzbid0IGV4aXN0LiBUbyByZXNvbHZlLCBtYWtlIHN1cmUgdGhhdCB0aGUgY2FjaGUgeW91IGFyZSB0cnlpbmdcbiAqIHRvIGdldCBleGlzdHMuIElmIGl0IGRvZXNuJ3QgY3JlYXRlIGl0IGZpcnN0IGFuZCB0aGVuIHRyeSBhZ2FpblxuICovXG5leHBvcnQgY2xhc3MgQ2FjaGVOb3RGb3VuZEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5DQUNIRV9OT1RfRk9VTkRfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0EgY2FjaGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgZG9lcyBub3QgZXhpc3QuICBUbyByZXNvbHZlIHRoaXMgZXJyb3IsIG1ha2Ugc3VyZSB5b3UgaGF2ZSBjcmVhdGVkIHRoZSBjYWNoZSBiZWZvcmUgYXR0ZW1wdGluZyB0byB1c2UgaXQnO1xufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGdldCBhIHN0b3JlIHRoYXQgZG9lc24ndCBleGlzdC4gVG8gcmVzb2x2ZSwgbWFrZSBzdXJlIHRoYXQgdGhlIHN0b3JlIHlvdSBhcmUgdHJ5aW5nXG4gKiB0byBnZXQgZXhpc3RzLiBJZiBpdCBkb2Vzbid0IGNyZWF0ZSBpdCBmaXJzdCBhbmQgdGhlbiB0cnkgYWdhaW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBTdG9yZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlNUT1JFX05PVF9GT1VORF9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnQSBzdG9yZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBkb2VzIG5vdCBleGlzdC4gIFRvIHJlc29sdmUgdGhpcyBlcnJvciwgbWFrZSBzdXJlIHlvdSBoYXZlIGNyZWF0ZWQgdGhlIHN0b3JlIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHVzZSBpdCc7XG59XG5cbi8qKlxuICogRXJyb3IgdGhhdCBvY2N1cnMgd2hlbiB0cnlpbmcgdG8gZ2V0IGFuIGl0ZW0gZnJvbSBzdG9yZSB0aGF0IGRvZXNuJ3QgZXhpc3QuIFRvIHJlc29sdmUsIG1ha2Ugc3VyZSB0aGF0IHRoZSBpdGVtIHlvdSBhcmUgdHJ5aW5nXG4gKiB0byBnZXQgZXhpc3RzLiBJZiBpdCBkb2Vzbid0IGNyZWF0ZSBpdCBmaXJzdCBhbmQgdGhlbiB0cnkgYWdhaW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBTdG9yZUl0ZW1Ob3RGb3VuZEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5TVE9SRV9JVEVNX05PVF9GT1VORF9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID0gJ0FuIGl0ZW0gd2l0aCB0aGUgc3BlY2lmaWVkIGtleSBkb2VzIG5vdCBleGlzdCc7XG59XG5cbi8qKlxuICogSW5zdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uIG9uIENhY2hlIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25FcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuUEVSTUlTU0lPTl9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnSW5zdWZmaWNpZW50IHBlcm1pc3Npb25zIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uIG9uIGEgY2FjaGUnO1xufVxuXG4vKipcbiAqIFNlcnZlciB3YXMgdW5hYmxlIHRvIGhhbmRsZSB0aGUgcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlNFUlZFUl9VTkFWQUlMQUJMRTtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnVGhlIHNlcnZlciB3YXMgdW5hYmxlIHRvIGhhbmRsZSB0aGUgcmVxdWVzdDsgY29uc2lkZXIgcmV0cnlpbmcuICBJZiB0aGUgZXJyb3IgcGVyc2lzdHMsIHBsZWFzZSBjb250YWN0IHVzIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSc7XG59XG5cbi8qKlxuICogRXJyb3Igd2hlbiBhbiBvcGVyYXRpb24gZGlkIG5vdCBjb21wbGV0ZSBpbiB0aW1lXG4gKi9cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlRJTUVPVVRfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgXCJUaGUgY2xpZW50J3MgY29uZmlndXJlZCB0aW1lb3V0IHdhcyBleGNlZWRlZDsgeW91IG1heSBuZWVkIHRvIHVzZSBhIENvbmZpZ3VyYXRpb24gd2l0aCBtb3JlIGxlbmllbnQgdGltZW91dHNcIjtcbn1cblxuLyoqXG4gKiBFcnJvciByYWlzZWQgd2hlbiB0aGUgdW5kZXJseWluZyBjYXVzZSBpbiB1bmtub3duXG4gKi9cbmV4cG9ydCBjbGFzcyBVbmtub3duRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlVOS05PV05fRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9ICdVbmtub3duIGVycm9yIGhhcyBvY2N1cnJlZCc7XG59XG5cbi8qKlxuICogRXJyb3IgcmFpc2VkIHdoZW4gdGhlIHNlcnZpY2UgcmV0dXJucyBhbiB1bmtub3duIHJlc3BvbnNlXG4gKi9cbmV4cG9ydCBjbGFzcyBVbmtub3duU2VydmljZUVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5VTktOT1dOX1NFUlZJQ0VfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ1NlcnZpY2UgcmV0dXJuZWQgYW4gdW5rbm93biByZXNwb25zZTsgcGxlYXNlIGNvbnRhY3QgdXMgYXQgc3VwcG9ydEBtb21lbnRvaHEuY29tJztcbn1cblxuLyoqXG4gKiBFcnJvciByYWlzZWQgd2hlbiBhIGNsaWVudCByZXNvdXJjZSBpcyBleGhhdXN0ZWQsIHN1Y2ggYXMgbWVtb3J5IG9yIG51bWJlciBvZiBzdWJzY3JpcHRpb25zIChzdHJlYW0gY29ubmVjdGlvbnMpLlxuICovXG5leHBvcnQgY2xhc3MgQ2xpZW50UmVzb3VyY2VFeGhhdXN0ZWRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQ0xJRU5UX1JFU09VUkNFX0VYSEFVU1RFRDtcblxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcbiAgICBzdXBlcihcbiAgICAgIG1lc3NhZ2UgPz9cbiAgICAgICAgJ0EgY2xpZW50IHJlc291cmNlIGlzIGV4aGF1c3RlZCwgc3VjaCBhcyBtZW1vcnkgb3IgbnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMgKHN0cmVhbSBjb25uZWN0aW9ucykuJ1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
370
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxnQkE2Q1g7QUE3Q0QsV0FBWSxnQkFBZ0I7SUFDMUIsNENBQTRDO0lBQzVDLHFFQUFpRCxDQUFBO0lBQ2pELHVDQUF1QztJQUN2QyxtRUFBK0MsQ0FBQTtJQUMvQywyQ0FBMkM7SUFDM0MsdUVBQW1ELENBQUE7SUFDbkQseURBQXlEO0lBQ3pELGlFQUE2QyxDQUFBO0lBQzdDLDJDQUEyQztJQUMzQyx1RUFBbUQsQ0FBQTtJQUNuRCwwQ0FBMEM7SUFDMUMsNkRBQXlDLENBQUE7SUFDekMsb0RBQW9EO0lBQ3BELHVEQUFtQyxDQUFBO0lBQ25DLDBDQUEwQztJQUMxQyxtRUFBK0MsQ0FBQTtJQUMvQyx3Q0FBd0M7SUFDeEMsNkVBQXlELENBQUE7SUFDekQsNkNBQTZDO0lBQzdDLHlFQUFxRCxDQUFBO0lBQ3JELG1FQUFtRTtJQUNuRSxtRUFBK0MsQ0FBQTtJQUMvQyxnREFBZ0Q7SUFDaEQseURBQXFDLENBQUE7SUFDckMsaUVBQWlFO0lBQ2pFLGlFQUE2QyxDQUFBO0lBQzdDLHNDQUFzQztJQUN0Qyx1REFBbUMsQ0FBQTtJQUNuQyxzQ0FBc0M7SUFDdEMseURBQXFDLENBQUE7SUFDckMsOEVBQThFO0lBQzlFLGlFQUE2QyxDQUFBO0lBQzdDLHNCQUFzQjtJQUN0QiwyREFBdUMsQ0FBQTtJQUN2QywyQ0FBMkM7SUFDM0MsbURBQStCLENBQUE7SUFDL0IsMENBQTBDO0lBQzFDLDZEQUF5QyxDQUFBO0lBQ3pDLHVEQUF1RDtJQUN2RCwyRUFBdUQsQ0FBQTtJQUN2RCxrRUFBa0U7SUFDbEUsMkVBQXVELENBQUE7SUFDdkQsNkJBQTZCO0lBQzdCLG1EQUErQixDQUFBO0FBQ2pDLENBQUMsRUE3Q1csZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUE2QzNCO0FBRUQsTUFB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QUMvQyxvQkFBZSxHQUN0Qiw2REFBNkQsQ0FBQztJQUNsRSxDQUFDO0NBQUE7QUFKRCwwQ0FJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxRQUFRO0lBQXBEOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRCxvQkFBZSxHQUN0QixvSUFBb0ksQ0FBQztJQUN6SSxDQUFDO0NBQUE7QUFKRCx3REFJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsUUFBUTtJQUExQzs7UUFDVyxlQUFVLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDO1FBQzVDLG9CQUFlLEdBQ3RCLDhHQUE4RyxDQUFDO0lBQ25ILENBQUM7Q0FBQTtBQUpELG9DQUlDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxRQUFRO0lBQTFDOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7UUFDNUMsb0JBQWUsR0FBRyw0QkFBNEIsQ0FBQztJQUMxRCxDQUFDO0NBQUE7QUFIRCxvQ0FHQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxRQUFRO0lBQWpEOztRQUNXLGVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQztRQUNwRCxvQkFBZSxHQUN0QixrRkFBa0YsQ0FBQztJQUN2RixDQUFDO0NBQUE7QUFKRCxrREFJQztBQUVEOztHQUVHO0FBQ0gsTUFBYSw0QkFBNkIsU0FBUSxRQUFRO0lBR3hELFlBQVksVUFBOEIsU0FBUztRQUNqRCxLQUFLLENBQ0gsT0FBTyxhQUFQLE9BQU8sY0FBUCxPQUFPLEdBQ0wsaUdBQWlHLENBQ3BHLENBQUM7UUFOSyxlQUFVLEdBQUcsZ0JBQWdCLENBQUMseUJBQXlCLENBQUM7SUFPakUsQ0FBQztDQUNGO0FBVEQsb0VBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBNb21lbnRvRXJyb3JDb2RlIHtcbiAgLy8gSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgdG8gTW9tZW50byBjbGllbnRcbiAgSU5WQUxJRF9BUkdVTUVOVF9FUlJPUiA9ICdJTlZBTElEX0FSR1VNRU5UX0VSUk9SJyxcbiAgLy8gU2VydmljZSByZXR1cm5lZCBhbiB1bmtub3duIHJlc3BvbnNlXG4gIFVOS05PV05fU0VSVklDRV9FUlJPUiA9ICdVTktOT1dOX1NFUlZJQ0VfRVJST1InLFxuICAvLyBDYWNoZSB3aXRoIHNwZWNpZmllZCBuYW1lIGFscmVhZHkgZXhpc3RzXG4gIENBQ0hFX0FMUkVBRFlfRVhJU1RTX0VSUk9SID0gJ0FMUkVBRFlfRVhJU1RTX0VSUk9SJyxcbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBDQUNIRV9BTFJFQURZX0VYSVNUU19FUlJPUiBpbnN0ZWFkICovXG4gIEFMUkVBRFlfRVhJU1RTX0VSUk9SID0gJ0FMUkVBRFlfRVhJU1RTX0VSUk9SJyxcbiAgLy8gU3RvcmUgd2l0aCBzcGVjaWZpZWQgbmFtZSBhbHJlYWR5IGV4aXN0c1xuICBTVE9SRV9BTFJFQURZX0VYSVNUU19FUlJPUiA9ICdBTFJFQURZX0VYSVNUU19FUlJPUicsXG4gIC8vIENhY2hlIHdpdGggc3BlY2lmaWVkIG5hbWUgZG9lc24ndCBleGlzdFxuICBDQUNIRV9OT1RfRk9VTkRfRVJST1IgPSAnTk9UX0ZPVU5EX0VSUk9SJyxcbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBDQUNIRV9OT1RfRk9VTkRfRVJST1IgaW5zdGVhZCAqL1xuICBOT1RfRk9VTkRfRVJST1IgPSAnTk9UX0ZPVU5EX0VSUk9SJyxcbiAgLy8gU3RvcmUgd2l0aCBzcGVjaWZpZWQgbmFtZSBkb2Vzbid0IGV4aXN0XG4gIFNUT1JFX05PVF9GT1VORF9FUlJPUiA9ICdTVE9SRV9OT1RfRk9VTkRfRVJST1InLFxuICAvLyBJdGVtIHdpdGggc3BlY2lmaWVkIGtleSBkb2Vzbid0IGV4aXN0XG4gIFNUT1JFX0lURU1fTk9UX0ZPVU5EX0VSUk9SID0gJ1NUT1JFX0lURU1fTk9UX0ZPVU5EX0VSUk9SJyxcbiAgLy8gRnVuY3Rpb24gd2l0aCBzcGVjaWZpZWQgbmFtZSBkb2Vzbid0IGV4aXN0XG4gIEZVTkNUSU9OX05PVF9GT1VORF9FUlJPUiA9ICdGVU5DVElPTl9OT1RfRk9VTkRfRVJST1InLFxuICAvLyBBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIHRoZSByZXF1ZXN0XG4gIElOVEVSTkFMX1NFUlZFUl9FUlJPUiA9ICdJTlRFUk5BTF9TRVJWRVJfRVJST1InLFxuICAvLyBJbnN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gcGVyZm9ybSBvcGVyYXRpb25cbiAgUEVSTUlTU0lPTl9FUlJPUiA9ICdQRVJNSVNTSU9OX0VSUk9SJyxcbiAgLy8gSW52YWxpZCBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyB0byBjb25uZWN0IHRvIGNhY2hlIHNlcnZpY2VcbiAgQVVUSEVOVElDQVRJT05fRVJST1IgPSAnQVVUSEVOVElDQVRJT05fRVJST1InLFxuICAvLyBSZXF1ZXN0IHdhcyBjYW5jZWxsZWQgYnkgdGhlIHNlcnZlclxuICBDQU5DRUxMRURfRVJST1IgPSAnQ0FOQ0VMTEVEX0VSUk9SJyxcbiAgLy8gRXJyb3IgY29ubmVjdGluZyB0byBNb21lbnRvIHNlcnZlcnNcbiAgQ09OTkVDVElPTl9FUlJPUiA9ICdDT05ORUNUSU9OX0VSUk9SJyxcbiAgLy8gUmVxdWVzdCByYXRlLCBiYW5kd2lkdGgsIG9yIG9iamVjdCBzaXplIGV4Y2VlZGVkIHRoZSBsaW1pdHMgZm9yIHRoZSBhY2NvdW50XG4gIExJTUlUX0VYQ0VFREVEX0VSUk9SID0gJ0xJTUlUX0VYQ0VFREVEX0VSUk9SJyxcbiAgLy8gUmVxdWVzdCB3YXMgaW52YWxpZFxuICBCQURfUkVRVUVTVF9FUlJPUiA9ICdCQURfUkVRVUVTVF9FUlJPUicsXG4gIC8vIENsaWVudCdzIGNvbmZpZ3VyZWQgdGltZW91dCB3YXMgZXhjZWVkZWRcbiAgVElNRU9VVF9FUlJPUiA9ICdUSU1FT1VUX0VSUk9SJyxcbiAgLy8gU2VydmVyIHdhcyB1bmFibGUgdG8gaGFuZGxlIHRoZSByZXF1ZXN0XG4gIFNFUlZFUl9VTkFWQUlMQUJMRSA9ICdTRVJWRVJfVU5BVkFJTEFCTEUnLFxuICAvLyBBIGNsaWVudCByZXNvdXJjZSAobW9zdCBsaWtlbHkgbWVtb3J5KSB3YXMgZXhoYXVzdGVkXG4gIENMSUVOVF9SRVNPVVJDRV9FWEhBVVNURUQgPSAnQ0xJRU5UX1JFU09VUkNFX0VYSEFVU1RFRCcsXG4gIC8vIFN5c3RlbSBpcyBub3QgaW4gYSBzdGF0ZSByZXF1aXJlZCBmb3IgdGhlIG9wZXJhdGlvbidzIGV4ZWN1dGlvblxuICBGQUlMRURfUFJFQ09ORElUSU9OX0VSUk9SID0gJ0ZBSUxFRF9QUkVDT05ESVRJT05fRVJST1InLFxuICAvLyBVbmtub3duIGVycm9yIGhhcyBvY2N1cnJlZFxuICBVTktOT1dOX0VSUk9SID0gJ1VOS05PV05fRVJST1InLFxufVxuXG5leHBvcnQgY2xhc3MgTW9tZW50b0dycGNFcnJvckRldGFpbHMge1xuICBwdWJsaWMgcmVhZG9ubHkgY29kZTogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgZGV0YWlsczogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0YWRhdGE/OiBvYmplY3Q7XG4gIGNvbnN0cnVjdG9yKGNvZGU6IG51bWJlciwgZGV0YWlsczogc3RyaW5nLCBtZXRhZGF0YT86IG9iamVjdCkge1xuICAgIHRoaXMuY29kZSA9IGNvZGU7XG4gICAgdGhpcy5kZXRhaWxzID0gZGV0YWlscztcbiAgICB0aGlzLm1ldGFkYXRhID0gbWV0YWRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1vbWVudG9FcnJvclRyYW5zcG9ydERldGFpbHMge1xuICBwdWJsaWMgcmVhZG9ubHkgZ3JwYzogTW9tZW50b0dycGNFcnJvckRldGFpbHM7XG4gIGNvbnN0cnVjdG9yKGdycGM6IE1vbWVudG9HcnBjRXJyb3JEZXRhaWxzKSB7XG4gICAgdGhpcy5ncnBjID0gZ3JwYztcbiAgfVxufVxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgZXJyb3JzIHRocm93biBieSB0aGUgc2RrXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZGtFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9lcnJvckNvZGU6IE1vbWVudG9FcnJvckNvZGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBfbWVzc2FnZVdyYXBwZXI6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF90cmFuc3BvcnREZXRhaWxzOiBNb21lbnRvRXJyb3JUcmFuc3BvcnREZXRhaWxzO1xuICBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgY29kZSA9IDAsXG4gICAgbWV0YWRhdGE6IG9iamVjdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBzdGFjazogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIGNvbnN0IGdycGNEZXRhaWxzID0gbmV3IE1vbWVudG9HcnBjRXJyb3JEZXRhaWxzKGNvZGUsIG1lc3NhZ2UsIG1ldGFkYXRhKTtcbiAgICB0aGlzLl90cmFuc3BvcnREZXRhaWxzID0gbmV3IE1vbWVudG9FcnJvclRyYW5zcG9ydERldGFpbHMoZ3JwY0RldGFpbHMpO1xuICAgIHRoaXMuc3RhY2sgPSBzdGFjayA/PyB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgd3JhcHBlZEVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLl9tZXNzYWdlV3JhcHBlcn06ICR7dGhpcy5tZXNzYWdlfWA7XG4gIH1cblxuICBwdWJsaWMgZXJyb3JDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLl9lcnJvckNvZGU7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNwb3J0RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNwb3J0RGV0YWlscztcbiAgfVxufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIGNhY2hlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBhbiBleGlzdGluZyBjYWNoZS4gVG8gcmVzb2x2ZSB0aGlzIGVycm9yLFxuICogZWl0aGVyIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2FjaGUgYW5kIG1ha2UgYSBuZXcgb25lLCBvciBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGNhY2hlIHlvdSBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSB0b1xuICogb25lIHRoYXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBDYWNoZUFscmVhZHlFeGlzdHNFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQ0FDSEVfQUxSRUFEWV9FWElTVFNfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0EgY2FjaGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgYWxyZWFkeSBleGlzdHMuICBUbyByZXNvbHZlIHRoaXMgZXJyb3IsIGVpdGhlciBkZWxldGUgdGhlIGV4aXN0aW5nIGNhY2hlIGFuZCBtYWtlIGEgbmV3IG9uZSwgb3IgdXNlIGEgZGlmZmVyZW50IG5hbWUnO1xufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIHN0b3JlIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBhbiBleGlzdGluZyBjYWNoZS4gVG8gcmVzb2x2ZSB0aGlzIGVycm9yLFxuICogZWl0aGVyIGRlbGV0ZSB0aGUgZXhpc3Rpbmcgc3RvcmUgYW5kIG1ha2UgYSBuZXcgb25lLCBvciBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIHN0b3JlIHlvdSBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSB0b1xuICogb25lIHRoYXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0XG4gKi9cbmV4cG9ydCBjbGFzcyBTdG9yZUFscmVhZHlFeGlzdHNFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuU1RPUkVfQUxSRUFEWV9FWElTVFNfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0Egc3RvcmUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgYWxyZWFkeSBleGlzdHMuICBUbyByZXNvbHZlIHRoaXMgZXJyb3IsIGVpdGhlciBkZWxldGUgdGhlIGV4aXN0aW5nIHN0b3JlIGFuZCBtYWtlIGEgbmV3IG9uZSwgb3IgdXNlIGEgZGlmZmVyZW50IG5hbWUnO1xufVxuXG4vKipcbiAqIEVycm9yIHdoZW4gYXV0aGVudGljYXRpb24gd2l0aCBDYWNoZSBTZXJ2aWNlIGZhaWxzXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbkVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5BVVRIRU5USUNBVElPTl9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnSW52YWxpZCBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyB0byBjb25uZWN0IHRvIGNhY2hlIHNlcnZpY2UnO1xufVxuXG4vKipcbiAqIEVycm9yIHJhaXNlZCBpbiByZXNwb25zZSB0byBhbiBpbnZhbGlkIHJlcXVlc3RcbiAqL1xuZXhwb3J0IGNsYXNzIEJhZFJlcXVlc3RFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQkFEX1JFUVVFU1RfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ1RoZSByZXF1ZXN0IHdhcyBpbnZhbGlkOyBwbGVhc2UgY29udGFjdCB1cyBhdCBzdXBwb3J0QG1vbWVudG9ocS5jb20nO1xufVxuXG4vKipcbiAqIEVycm9yIHdoZW4gYW4gb3BlcmF0aW9uIHdpdGggQ2FjaGUgU2VydmljZSB3YXMgY2FuY2VsbGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBDYW5jZWxsZWRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQ0FOQ0VMTEVEX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdUaGUgcmVxdWVzdCB3YXMgY2FuY2VsbGVkOyBwbGVhc2UgY29udGFjdCB1cyBpZiB0aGlzIHdhcyB1bmV4cGVjdGVkIGF0IHN1cHBvcnRAbW9tZW50b2hxLmNvbSc7XG59XG5cbi8qKlxuICogRXJyb3Igd2hlbiB0aGVyZSdzIGEgZmFpbHVyZSB0byBjb25uZWN0IHRvIE1vbWVudG8gc2VydmVycy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25FcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQ09OTkVDVElPTl9FUlJPUjtcbn1cblxuLyoqXG4gKiBFcnJvciByYWlzZWQgd2hlbiBzeXN0ZW0gaW4gbm90IGluIGEgc3RhdGUgcmVxdWlyZWQgZm9yIHRoZSBvcGVyYXRpb24ncyBzdWNjZXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWlsZWRQcmVjb25kaXRpb25FcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuRkFJTEVEX1BSRUNPTkRJVElPTl9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICBcIlN5c3RlbSBpcyBub3QgaW4gYSBzdGF0ZSByZXF1aXJlZCBmb3IgdGhlIG9wZXJhdGlvbidzIGV4ZWN1dGlvblwiO1xufVxuXG4vKipcbiAqIENhY2hlIFNlcnZpY2UgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBleGNlcHRpb24gd2hpbGUgdHJ5aW5nIHRvIGZ1bGZpbGwgdGhlIHJlcXVlc3RcbiAqL1xuZXhwb3J0IGNsYXNzIEludGVybmFsU2VydmVyRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLklOVEVSTkFMX1NFUlZFUl9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCB3aGlsZSB0cnlpbmcgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdDsgcGxlYXNlIGNvbnRhY3QgdXMgYXQgc3VwcG9ydEBtb21lbnRvaHEuY29tJztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGVycm9ycyB0aHJvd24gd2hlbiBpbnZhbGlkIHBhcmFtZXRlcnMgYXJlIHBhc3NlZCB0byB0aGUgTW9tZW50byBDYWNoZVxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZEFyZ3VtZW50RXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLklOVkFMSURfQVJHVU1FTlRfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9ICdJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCB0byBNb21lbnRvIGNsaWVudCc7XG59XG5cbmVudW0gTGltaXRFeGNlZWRlZE1lc3NhZ2VXcmFwcGVyIHtcbiAgVE9QSUNfU1VCU0NSSVBUSU9OU19MSU1JVF9FWENFRURFRCA9ICdUb3BpYyBzdWJzY3JpcHRpb25zIGxpbWl0IGV4Y2VlZGVkIGZvciB0aGlzIGFjY291bnQnLFxuICBPUEVSQVRJT05TX1JBVEVfTElNSVRfRVhDRUVERUQgPSAnUmVxdWVzdCByYXRlIGxpbWl0IGV4Y2VlZGVkIGZvciB0aGlzIGFjY291bnQnLFxuICBUSFJPVUdIUFVUX1JBVEVfTElNSVRfRVhDRUVERUQgPSAnQmFuZHdpZHRoIGxpbWl0IGV4Y2VlZGVkIGZvciB0aGlzIGFjY291bnQnLFxuICBSRVFVRVNUX1NJWkVfTElNSVRfRVhDRUVERUQgPSAnUmVxdWVzdCBzaXplIGxpbWl0IGV4Y2VlZGVkIGZvciB0aGlzIGFjY291bnQnLFxuICBJVEVNX1NJWkVfTElNSVRfRVhDRUVERUQgPSAnSXRlbSBzaXplIGxpbWl0IGV4Y2VlZGVkIGZvciB0aGlzIGFjY291bnQnLFxuICBFTEVNRU5UX1NJWkVfTElNSVRfRVhDRUVERUQgPSAnRWxlbWVudCBzaXplIGxpbWl0IGV4Y2VlZGVkIGZvciB0aGlzIGFjY291bnQnLFxuICBVTktOT1dOX0xJTUlUX0VYQ0VFREVEID0gJ0xpbWl0IGV4Y2VlZGVkIGZvciB0aGlzIGFjY291bnQnLFxufVxuXG4vKipcbiAqIEVycm9yIHdoZW4gY2FsbHMgYXJlIHRocm90dGxlZCBkdWUgdG8gcmVxdWVzdCBsaW1pdCByYXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBMaW1pdEV4Y2VlZGVkRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLkxJTUlUX0VYQ0VFREVEX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPSB0aGlzLmRldGVybWluZU1lc3NhZ2VXcmFwcGVyKCk7XG4gIHByaXZhdGUgZXJyQ2F1c2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgY29kZSA9IDAsXG4gICAgbWV0YWRhdGE6IG9iamVjdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgICBzdGFjazogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIGVyckNhdXNlPzogc3RyaW5nXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UsIGNvZGUsIG1ldGFkYXRhLCBzdGFjayk7XG4gICAgdGhpcy5lcnJDYXVzZSA9IGVyckNhdXNlO1xuICB9XG5cbiAgcHJpdmF0ZSBkZXRlcm1pbmVNZXNzYWdlV3JhcHBlcigpIHtcbiAgICAvLyBJZiBwcm92aWRlZCwgd2UgdXNlIHRoZSBgZXJyYCBtZXRhZGF0YSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIG1vc3RcbiAgICAvLyBhcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlIHRvIHJldHVybi5cbiAgICBpZiAodGhpcy5lcnJDYXVzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuZXJyQ2F1c2UpIHtcbiAgICAgICAgY2FzZSAndG9waWNfc3Vic2NyaXB0aW9uc19saW1pdF9leGNlZWRlZCc6XG4gICAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5UT1BJQ19TVUJTQ1JJUFRJT05TX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICBjYXNlICdvcGVyYXRpb25zX3JhdGVfbGltaXRfZXhjZWVkZWQnOlxuICAgICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuT1BFUkFUSU9OU19SQVRFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICBjYXNlICd0aHJvdWdocHV0X3JhdGVfbGltaXRfZXhjZWVkZWQnOlxuICAgICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuVEhST1VHSFBVVF9SQVRFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICBjYXNlICdyZXF1ZXN0X3NpemVfbGltaXRfZXhjZWVkZWQnOlxuICAgICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuUkVRVUVTVF9TSVpFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICBjYXNlICdpdGVtX3NpemVfbGltaXRfZXhjZWVkZWQnOlxuICAgICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuSVRFTV9TSVpFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICBjYXNlICdlbGVtZW50X3NpemVfbGltaXRfZXhjZWVkZWQnOlxuICAgICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuRUxFTUVOVF9TSVpFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuVU5LTk9XTl9MSU1JVF9FWENFRURFRDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBgZXJyYCBtZXRhZGF0YSBpcyB1bmF2YWlsYWJsZSwgdHJ5IHRvIHVzZSB0aGUgZXJyb3IgZGV0YWlscyBmaWVsZFxuICAgIC8vIHRvIHJldHVybiB0aGUgYW4gYXBwcm9wcmlhdGUgZXJyb3IgbWVzc2FnZS5cbiAgICBpZiAodGhpcy5fdHJhbnNwb3J0RGV0YWlscy5ncnBjLmRldGFpbHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgZGV0YWlscyA9IHRoaXMuX3RyYW5zcG9ydERldGFpbHMuZ3JwYy5kZXRhaWxzLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAoZGV0YWlscy5pbmNsdWRlcygnc3Vic2NyaWJlcnMnKSkge1xuICAgICAgICByZXR1cm4gTGltaXRFeGNlZWRlZE1lc3NhZ2VXcmFwcGVyLlRPUElDX1NVQlNDUklQVElPTlNfTElNSVRfRVhDRUVERUQ7XG4gICAgICB9IGVsc2UgaWYgKGRldGFpbHMuaW5jbHVkZXMoJ29wZXJhdGlvbnMnKSkge1xuICAgICAgICByZXR1cm4gTGltaXRFeGNlZWRlZE1lc3NhZ2VXcmFwcGVyLk9QRVJBVElPTlNfUkFURV9MSU1JVF9FWENFRURFRDtcbiAgICAgIH0gZWxzZSBpZiAoZGV0YWlscy5pbmNsdWRlcygndGhyb3VnaHB1dCcpKSB7XG4gICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuVEhST1VHSFBVVF9SQVRFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgfSBlbHNlIGlmIChkZXRhaWxzLmluY2x1ZGVzKCdyZXF1ZXN0IGxpbWl0JykpIHtcbiAgICAgICAgcmV0dXJuIExpbWl0RXhjZWVkZWRNZXNzYWdlV3JhcHBlci5SRVFVRVNUX1NJWkVfTElNSVRfRVhDRUVERUQ7XG4gICAgICB9IGVsc2UgaWYgKGRldGFpbHMuaW5jbHVkZXMoJ2l0ZW0gc2l6ZScpKSB7XG4gICAgICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuSVRFTV9TSVpFX0xJTUlUX0VYQ0VFREVEO1xuICAgICAgfSBlbHNlIGlmIChkZXRhaWxzLmluY2x1ZGVzKCdlbGVtZW50IHNpemUnKSkge1xuICAgICAgICByZXR1cm4gTGltaXRFeGNlZWRlZE1lc3NhZ2VXcmFwcGVyLkVMRU1FTlRfU0laRV9MSU1JVF9FWENFRURFRDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBhbGwgZWxzZSBmYWlscywgcmV0dXJuIGEgZ2VuZXJpYyBcImxpbWl0IGV4Y2VlZGVkXCIgbWVzc2FnZVxuICAgIHJldHVybiBMaW1pdEV4Y2VlZGVkTWVzc2FnZVdyYXBwZXIuVU5LTk9XTl9MSU1JVF9FWENFRURFRDtcbiAgfVxufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGdldCBhIGNhY2hlIHRoYXQgZG9lc24ndCBleGlzdC4gVG8gcmVzb2x2ZSwgbWFrZSBzdXJlIHRoYXQgdGhlIGNhY2hlIHlvdSBhcmUgdHJ5aW5nXG4gKiB0byBnZXQgZXhpc3RzLiBJZiBpdCBkb2Vzbid0IGNyZWF0ZSBpdCBmaXJzdCBhbmQgdGhlbiB0cnkgYWdhaW5cbiAqL1xuZXhwb3J0IGNsYXNzIENhY2hlTm90Rm91bmRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuQ0FDSEVfTk9UX0ZPVU5EX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdBIGNhY2hlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGRvZXMgbm90IGV4aXN0LiAgVG8gcmVzb2x2ZSB0aGlzIGVycm9yLCBtYWtlIHN1cmUgeW91IGhhdmUgY3JlYXRlZCB0aGUgY2FjaGUgYmVmb3JlIGF0dGVtcHRpbmcgdG8gdXNlIGl0Jztcbn1cblxuLyoqXG4gKiBFcnJvciB0aGF0IG9jY3VycyB3aGVuIHRyeWluZyB0byBnZXQgYSBzdG9yZSB0aGF0IGRvZXNuJ3QgZXhpc3QuIFRvIHJlc29sdmUsIG1ha2Ugc3VyZSB0aGF0IHRoZSBzdG9yZSB5b3UgYXJlIHRyeWluZ1xuICogdG8gZ2V0IGV4aXN0cy4gSWYgaXQgZG9lc24ndCBjcmVhdGUgaXQgZmlyc3QgYW5kIHRoZW4gdHJ5IGFnYWluLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmVOb3RGb3VuZEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5TVE9SRV9OT1RfRk9VTkRfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9XG4gICAgJ0Egc3RvcmUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgZG9lcyBub3QgZXhpc3QuICBUbyByZXNvbHZlIHRoaXMgZXJyb3IsIG1ha2Ugc3VyZSB5b3UgaGF2ZSBjcmVhdGVkIHRoZSBzdG9yZSBiZWZvcmUgYXR0ZW1wdGluZyB0byB1c2UgaXQnO1xufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIGdldCBhbiBpdGVtIGZyb20gc3RvcmUgdGhhdCBkb2Vzbid0IGV4aXN0LiBUbyByZXNvbHZlLCBtYWtlIHN1cmUgdGhhdCB0aGUgaXRlbSB5b3UgYXJlIHRyeWluZ1xuICogdG8gZ2V0IGV4aXN0cy4gSWYgaXQgZG9lc24ndCBjcmVhdGUgaXQgZmlyc3QgYW5kIHRoZW4gdHJ5IGFnYWluLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmVJdGVtTm90Rm91bmRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuU1RPUkVfSVRFTV9OT1RfRk9VTkRfRVJST1I7XG4gIG92ZXJyaWRlIF9tZXNzYWdlV3JhcHBlciA9ICdBbiBpdGVtIHdpdGggdGhlIHNwZWNpZmllZCBrZXkgZG9lcyBub3QgZXhpc3QnO1xufVxuXG4vKipcbiAqIEVycm9yIHRoYXQgb2NjdXJzIHdoZW4gdHJ5aW5nIHRvIG9wZXJhdGUgb24gYSBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3QuIFRvIHJlc29sdmUsIG1ha2Ugc3VyZSB0aGF0IHRoZVxuICogZnVuY3Rpb24geW91IGFyZSB0cnlpbmcgdG8gdXNlIGV4aXN0czsgaWYgaXQgZG9lc24ndCwgY3JlYXRlIGl0IGZpcnN0IGFuZCB0aGVuIHRyeSBhZ2Fpbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uTm90Rm91bmRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuRlVOQ1RJT05fTk9UX0ZPVU5EX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdBIGZ1bmN0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGRvZXMgbm90IGV4aXN0LiAgVG8gcmVzb2x2ZSB0aGlzIGVycm9yLCBtYWtlIHN1cmUgeW91IGhhdmUgY3JlYXRlZCB0aGUgZnVuY3Rpb24gYmVmb3JlIGF0dGVtcHRpbmcgdG8gdXNlIGl0Jztcbn1cblxuLyoqXG4gKiBJbnN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gcGVyZm9ybSBhbiBvcGVyYXRpb24gb24gQ2FjaGUgU2VydmljZVxuICovXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbkVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5QRVJNSVNTSU9OX0VSUk9SO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdJbnN1ZmZpY2llbnQgcGVybWlzc2lvbnMgdG8gcGVyZm9ybSBhbiBvcGVyYXRpb24gb24gYSBjYWNoZSc7XG59XG5cbi8qKlxuICogU2VydmVyIHdhcyB1bmFibGUgdG8gaGFuZGxlIHRoZSByZXF1ZXN0LlxuICovXG5leHBvcnQgY2xhc3MgU2VydmVyVW5hdmFpbGFibGVFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuU0VSVkVSX1VOQVZBSUxBQkxFO1xuICBvdmVycmlkZSBfbWVzc2FnZVdyYXBwZXIgPVxuICAgICdUaGUgc2VydmVyIHdhcyB1bmFibGUgdG8gaGFuZGxlIHRoZSByZXF1ZXN0OyBjb25zaWRlciByZXRyeWluZy4gIElmIHRoZSBlcnJvciBwZXJzaXN0cywgcGxlYXNlIGNvbnRhY3QgdXMgYXQgc3VwcG9ydEBtb21lbnRvaHEuY29tJztcbn1cblxuLyoqXG4gKiBFcnJvciB3aGVuIGFuIG9wZXJhdGlvbiBkaWQgbm90IGNvbXBsZXRlIGluIHRpbWVcbiAqL1xuZXhwb3J0IGNsYXNzIFRpbWVvdXRFcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuVElNRU9VVF9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICBcIlRoZSBjbGllbnQncyBjb25maWd1cmVkIHRpbWVvdXQgd2FzIGV4Y2VlZGVkOyB5b3UgbWF5IG5lZWQgdG8gdXNlIGEgQ29uZmlndXJhdGlvbiB3aXRoIG1vcmUgbGVuaWVudCB0aW1lb3V0c1wiO1xufVxuXG4vKipcbiAqIEVycm9yIHJhaXNlZCB3aGVuIHRoZSB1bmRlcmx5aW5nIGNhdXNlIGluIHVua25vd25cbiAqL1xuZXhwb3J0IGNsYXNzIFVua25vd25FcnJvciBleHRlbmRzIFNka0Vycm9yIHtcbiAgb3ZlcnJpZGUgX2Vycm9yQ29kZSA9IE1vbWVudG9FcnJvckNvZGUuVU5LTk9XTl9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID0gJ1Vua25vd24gZXJyb3IgaGFzIG9jY3VycmVkJztcbn1cblxuLyoqXG4gKiBFcnJvciByYWlzZWQgd2hlbiB0aGUgc2VydmljZSByZXR1cm5zIGFuIHVua25vd24gcmVzcG9uc2VcbiAqL1xuZXhwb3J0IGNsYXNzIFVua25vd25TZXJ2aWNlRXJyb3IgZXh0ZW5kcyBTZGtFcnJvciB7XG4gIG92ZXJyaWRlIF9lcnJvckNvZGUgPSBNb21lbnRvRXJyb3JDb2RlLlVOS05PV05fU0VSVklDRV9FUlJPUjtcbiAgb3ZlcnJpZGUgX21lc3NhZ2VXcmFwcGVyID1cbiAgICAnU2VydmljZSByZXR1cm5lZCBhbiB1bmtub3duIHJlc3BvbnNlOyBwbGVhc2UgY29udGFjdCB1cyBhdCBzdXBwb3J0QG1vbWVudG9ocS5jb20nO1xufVxuXG4vKipcbiAqIEVycm9yIHJhaXNlZCB3aGVuIGEgY2xpZW50IHJlc291cmNlIGlzIGV4aGF1c3RlZCwgc3VjaCBhcyBtZW1vcnkgb3IgbnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMgKHN0cmVhbSBjb25uZWN0aW9ucykuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbGllbnRSZXNvdXJjZUV4aGF1c3RlZEVycm9yIGV4dGVuZHMgU2RrRXJyb3Ige1xuICBvdmVycmlkZSBfZXJyb3JDb2RlID0gTW9tZW50b0Vycm9yQ29kZS5DTElFTlRfUkVTT1VSQ0VfRVhIQVVTVEVEO1xuXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xuICAgIHN1cGVyKFxuICAgICAgbWVzc2FnZSA/P1xuICAgICAgICAnQSBjbGllbnQgcmVzb3VyY2UgaXMgZXhoYXVzdGVkLCBzdWNoIGFzIG1lbW9yeSBvciBudW1iZXIgb2Ygc3Vic2NyaXB0aW9ucyAoc3RyZWFtIGNvbm5lY3Rpb25zKS4nXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -79,14 +79,17 @@ import * as RefreshApiKey from './messages/responses/refresh-api-key';
79
79
  import * as GenerateDisposableToken from './messages/responses/generate-disposable-token';
80
80
  export * as leaderboard from './messages/responses/leaderboard';
81
81
  export * from './messages/responses/leaderboard';
82
+ export * as functions from './messages/responses/function';
83
+ export * from './messages/responses/function';
82
84
  export * as webhook from './messages/responses/webhook';
83
85
  export * from './messages/responses/webhook';
84
86
  export { Webhook, WebhookId } from './messages/webhook';
85
87
  import { CacheInfo } from './messages/cache-info';
88
+ import { FunctionInfo, FunctionVersionInfo } from './messages/function-info';
86
89
  import { SubscribeCallOptions, CollectionTtl, SortedSetOrder, LeaderboardOrder, ExpiresIn, ExpiresAt, ItemType, WebhookDestination, PostUrlWebhookDestination, WebhookDestinationType, SetBatchItem, SortedSetAggregate, SortedSetSource } from './utils';
87
90
  export * as utils from './utils';
88
91
  import { CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, getDefaultCredentialProvider, MomentoLocalProvider } from './auth';
89
- import { MomentoErrorCode, SdkError, CacheAlreadyExistsError, StoreAlreadyExistsError, AuthenticationError, CancelledError, ConnectionError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, CacheNotFoundError, StoreItemNotFoundError, StoreNotFoundError, UnknownError } from './errors';
92
+ import { MomentoErrorCode, SdkError, CacheAlreadyExistsError, StoreAlreadyExistsError, AuthenticationError, CancelledError, ConnectionError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, CacheNotFoundError, StoreItemNotFoundError, StoreNotFoundError, FunctionNotFoundError, UnknownError } from './errors';
90
93
  export { MomentoLogger, MomentoLoggerFactory, } from './config/logging/momento-logger';
91
94
  export * from './messages/responses/enums';
92
95
  export { NoopMomentoLogger, NoopMomentoLoggerFactory, } from './config/logging/noop-momento-logger';
@@ -94,6 +97,7 @@ export { ICacheClient, DictionaryIncrementOptions, DictionarySetFieldOptions, Di
94
97
  export { IMomentoCache } from './clients/IMomentoCache';
95
98
  export { ILeaderboardClient } from './clients/ILeaderboardClient';
96
99
  export { ILeaderboard } from './clients/ILeaderboard';
100
+ export { IFunctionClient, PutFunctionOptions } from './clients/IFunctionClient';
97
101
  export { CacheRole, CachePermission, TopicRole, TopicPermission, FunctionRole, FunctionPermission, Permission, Permissions, AllDataReadWrite, PermissionScope,
98
102
  /**
99
103
  * @deprecated - please use PermissionScope
@@ -110,7 +114,7 @@ export { ReadConcern } from './config/read-concern';
110
114
  export { CompressionLevel } from './compression/compression-level';
111
115
  export { SubscriptionRetryStrategy, DetermineWhenToResubscribeProps, DEFAULT_SUBSCRIPTION_RETRY_DELAY_MILLIS, } from './config/retry/subscription-retry-strategy';
112
116
  export { SubscriptionRetryEligibilityStrategy, EligibleForResubscribeProps, } from './config/retry/subscription-retry-eligibility-strategy';
113
- export { ExpiresIn, ExpiresAt, CollectionTtl, ItemType, WebhookDestination, PostUrlWebhookDestination, WebhookDestinationType, SortedSetOrder, LeaderboardOrder, CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, MomentoLocalProvider, getDefaultCredentialProvider, SetBatchItem, SortedSetAggregate, SortedSetSource, CacheGet, CacheGetWithHash, CacheListConcatenateBack, CacheListConcatenateFront, CacheListFetch, CacheListLength, CacheListPopBack, CacheListPopFront, CacheListPushBack, CacheListPushFront, CacheListRemoveValue, CacheListRetain, CacheSet, CacheSetIfNotExists, CacheSetIfPresent, CacheSetIfAbsent, CacheSetIfEqual, CacheSetIfNotEqual, CacheSetIfPresentAndNotEqual, CacheSetIfAbsentOrEqual, CacheDelete, CacheFlush, CreateCache, DeleteCache, ListCaches, CacheIncrement, CacheSetFetch, CacheDictionaryFetch, CacheDictionarySetField, CacheDictionarySetFields, CacheDictionaryGetField, CacheDictionaryGetFields, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheDictionaryIncrement, CacheDictionaryLength, CacheSetAddElements, CacheSetAddElement, CacheSetContainsElement, CacheSetContainsElements, CacheSetRemoveElements, CacheSetRemoveElement, CacheSetSample, CacheSetPop, CacheSetLength, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetFetch, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetRemoveElement, CacheSortedSetRemoveElements, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheSortedSetUnionStore, CacheItemGetType, CacheItemGetTtl, CacheKeyExists, CacheKeysExist, CacheUpdateTtl, CacheIncreaseTtl, CacheDecreaseTtl, CacheInfo, CacheSetBatch, CacheGetBatch, CacheSetWithHash, CacheSetIfPresentAndHashEqual, CacheSetIfPresentAndHashNotEqual, CacheSetIfAbsentOrHashEqual, CacheSetIfAbsentOrHashNotEqual, TopicPublish, TopicSubscribe, TopicItem, TopicDiscontinuity, TopicHeartbeat, SubscribeCallOptions, GenerateApiKey,
117
+ export { ExpiresIn, ExpiresAt, CollectionTtl, ItemType, WebhookDestination, PostUrlWebhookDestination, WebhookDestinationType, SortedSetOrder, LeaderboardOrder, CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, MomentoLocalProvider, getDefaultCredentialProvider, SetBatchItem, SortedSetAggregate, SortedSetSource, CacheGet, CacheGetWithHash, CacheListConcatenateBack, CacheListConcatenateFront, CacheListFetch, CacheListLength, CacheListPopBack, CacheListPopFront, CacheListPushBack, CacheListPushFront, CacheListRemoveValue, CacheListRetain, CacheSet, CacheSetIfNotExists, CacheSetIfPresent, CacheSetIfAbsent, CacheSetIfEqual, CacheSetIfNotEqual, CacheSetIfPresentAndNotEqual, CacheSetIfAbsentOrEqual, CacheDelete, CacheFlush, CreateCache, DeleteCache, ListCaches, CacheIncrement, CacheSetFetch, CacheDictionaryFetch, CacheDictionarySetField, CacheDictionarySetFields, CacheDictionaryGetField, CacheDictionaryGetFields, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheDictionaryIncrement, CacheDictionaryLength, CacheSetAddElements, CacheSetAddElement, CacheSetContainsElement, CacheSetContainsElements, CacheSetRemoveElements, CacheSetRemoveElement, CacheSetSample, CacheSetPop, CacheSetLength, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetFetch, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetRemoveElement, CacheSortedSetRemoveElements, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheSortedSetUnionStore, CacheItemGetType, CacheItemGetTtl, CacheKeyExists, CacheKeysExist, CacheUpdateTtl, CacheIncreaseTtl, CacheDecreaseTtl, CacheInfo, FunctionInfo, FunctionVersionInfo, CacheSetBatch, CacheGetBatch, CacheSetWithHash, CacheSetIfPresentAndHashEqual, CacheSetIfPresentAndHashNotEqual, CacheSetIfAbsentOrHashEqual, CacheSetIfAbsentOrHashNotEqual, TopicPublish, TopicSubscribe, TopicItem, TopicDiscontinuity, TopicHeartbeat, SubscribeCallOptions, GenerateApiKey,
114
118
  /**
115
119
  * @deprecated - please use GenerateApiKey
116
120
  */
@@ -118,4 +122,4 @@ GenerateApiKey as GenerateAuthToken, RefreshApiKey,
118
122
  /**
119
123
  * @deprecated - please use RefreshApiKey
120
124
  */
121
- RefreshApiKey as RefreshAuthToken, GenerateDisposableToken, MomentoErrorCode, SdkError, CacheAlreadyExistsError, StoreAlreadyExistsError, AuthenticationError, CancelledError, ConnectionError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, CacheNotFoundError, StoreItemNotFoundError, StoreNotFoundError, UnknownError, };
125
+ RefreshApiKey as RefreshAuthToken, GenerateDisposableToken, MomentoErrorCode, SdkError, CacheAlreadyExistsError, StoreAlreadyExistsError, AuthenticationError, CancelledError, ConnectionError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, CacheNotFoundError, StoreItemNotFoundError, StoreNotFoundError, FunctionNotFoundError, UnknownError, };
package/dist/src/index.js CHANGED
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.CacheListRemoveValue = exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGetWithHash = exports.CacheGet = exports.SortedSetAggregate = exports.getDefaultCredentialProvider = exports.MomentoLocalProvider = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.DEFAULT_SUBSCRIPTION_RETRY_DELAY_MILLIS = exports.CompressionLevel = exports.ReadConcern = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllFunctions = exports.AllCaches = exports.isTopicName = exports.isFunctionNamePrefix = exports.isFunction = exports.isCacheName = exports.AllDataReadWrite = exports.FunctionRole = exports.TopicRole = exports.CacheRole = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.utils = exports.webhook = exports.leaderboard = void 0;
18
- exports.CacheKeysExist = exports.CacheKeyExists = exports.CacheItemGetTtl = exports.CacheItemGetType = exports.CacheSortedSetUnionStore = exports.CacheSortedSetLengthByScore = exports.CacheSortedSetLength = exports.CacheSortedSetRemoveElements = exports.CacheSortedSetRemoveElement = exports.CacheSortedSetIncrementScore = exports.CacheSortedSetGetScores = exports.CacheSortedSetGetScore = exports.CacheSortedSetGetRank = exports.CacheSortedSetFetch = exports.CacheSortedSetPutElements = exports.CacheSortedSetPutElement = exports.CacheSetLength = exports.CacheSetPop = exports.CacheSetSample = exports.CacheSetRemoveElement = exports.CacheSetRemoveElements = exports.CacheSetContainsElements = exports.CacheSetContainsElement = exports.CacheSetAddElement = exports.CacheSetAddElements = exports.CacheDictionaryLength = exports.CacheDictionaryIncrement = exports.CacheDictionaryRemoveFields = exports.CacheDictionaryRemoveField = exports.CacheDictionaryGetFields = exports.CacheDictionaryGetField = exports.CacheDictionarySetFields = exports.CacheDictionarySetField = exports.CacheDictionaryFetch = exports.CacheSetFetch = exports.CacheIncrement = exports.ListCaches = exports.DeleteCache = exports.CreateCache = exports.CacheFlush = exports.CacheDelete = exports.CacheSetIfAbsentOrEqual = exports.CacheSetIfPresentAndNotEqual = exports.CacheSetIfNotEqual = exports.CacheSetIfEqual = exports.CacheSetIfAbsent = exports.CacheSetIfPresent = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = void 0;
19
- exports.UnknownError = exports.StoreNotFoundError = exports.StoreItemNotFoundError = exports.CacheNotFoundError = exports.PermissionError = exports.BadRequestError = exports.TimeoutError = exports.ServerUnavailableError = exports.UnknownServiceError = exports.InvalidArgumentError = exports.InternalServerError = exports.LimitExceededError = exports.FailedPreconditionError = exports.ConnectionError = exports.CancelledError = exports.AuthenticationError = exports.StoreAlreadyExistsError = exports.CacheAlreadyExistsError = exports.SdkError = exports.MomentoErrorCode = exports.GenerateDisposableToken = exports.RefreshAuthToken = exports.RefreshApiKey = exports.GenerateAuthToken = exports.GenerateApiKey = exports.TopicHeartbeat = exports.TopicDiscontinuity = exports.TopicItem = exports.TopicSubscribe = exports.TopicPublish = exports.CacheSetIfAbsentOrHashNotEqual = exports.CacheSetIfAbsentOrHashEqual = exports.CacheSetIfPresentAndHashNotEqual = exports.CacheSetIfPresentAndHashEqual = exports.CacheSetWithHash = exports.CacheGetBatch = exports.CacheSetBatch = exports.CacheInfo = exports.CacheDecreaseTtl = exports.CacheIncreaseTtl = exports.CacheUpdateTtl = void 0;
17
+ exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGetWithHash = exports.CacheGet = exports.SortedSetAggregate = exports.getDefaultCredentialProvider = exports.MomentoLocalProvider = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.DEFAULT_SUBSCRIPTION_RETRY_DELAY_MILLIS = exports.CompressionLevel = exports.ReadConcern = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllFunctions = exports.AllCaches = exports.isTopicName = exports.isFunctionNamePrefix = exports.isFunction = exports.isCacheName = exports.AllDataReadWrite = exports.FunctionRole = exports.TopicRole = exports.CacheRole = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.utils = exports.webhook = exports.functions = exports.leaderboard = void 0;
18
+ exports.CacheKeyExists = exports.CacheItemGetTtl = exports.CacheItemGetType = exports.CacheSortedSetUnionStore = exports.CacheSortedSetLengthByScore = exports.CacheSortedSetLength = exports.CacheSortedSetRemoveElements = exports.CacheSortedSetRemoveElement = exports.CacheSortedSetIncrementScore = exports.CacheSortedSetGetScores = exports.CacheSortedSetGetScore = exports.CacheSortedSetGetRank = exports.CacheSortedSetFetch = exports.CacheSortedSetPutElements = exports.CacheSortedSetPutElement = exports.CacheSetLength = exports.CacheSetPop = exports.CacheSetSample = exports.CacheSetRemoveElement = exports.CacheSetRemoveElements = exports.CacheSetContainsElements = exports.CacheSetContainsElement = exports.CacheSetAddElement = exports.CacheSetAddElements = exports.CacheDictionaryLength = exports.CacheDictionaryIncrement = exports.CacheDictionaryRemoveFields = exports.CacheDictionaryRemoveField = exports.CacheDictionaryGetFields = exports.CacheDictionaryGetField = exports.CacheDictionarySetFields = exports.CacheDictionarySetField = exports.CacheDictionaryFetch = exports.CacheSetFetch = exports.CacheIncrement = exports.ListCaches = exports.DeleteCache = exports.CreateCache = exports.CacheFlush = exports.CacheDelete = exports.CacheSetIfAbsentOrEqual = exports.CacheSetIfPresentAndNotEqual = exports.CacheSetIfNotEqual = exports.CacheSetIfEqual = exports.CacheSetIfAbsent = exports.CacheSetIfPresent = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = exports.CacheListRemoveValue = void 0;
19
+ exports.UnknownError = exports.FunctionNotFoundError = exports.StoreNotFoundError = exports.StoreItemNotFoundError = exports.CacheNotFoundError = exports.PermissionError = exports.BadRequestError = exports.TimeoutError = exports.ServerUnavailableError = exports.UnknownServiceError = exports.InvalidArgumentError = exports.InternalServerError = exports.LimitExceededError = exports.FailedPreconditionError = exports.ConnectionError = exports.CancelledError = exports.AuthenticationError = exports.StoreAlreadyExistsError = exports.CacheAlreadyExistsError = exports.SdkError = exports.MomentoErrorCode = exports.GenerateDisposableToken = exports.RefreshAuthToken = exports.RefreshApiKey = exports.GenerateAuthToken = exports.GenerateApiKey = exports.TopicHeartbeat = exports.TopicDiscontinuity = exports.TopicItem = exports.TopicSubscribe = exports.TopicPublish = exports.CacheSetIfAbsentOrHashNotEqual = exports.CacheSetIfAbsentOrHashEqual = exports.CacheSetIfPresentAndHashNotEqual = exports.CacheSetIfPresentAndHashEqual = exports.CacheSetWithHash = exports.CacheGetBatch = exports.CacheSetBatch = exports.FunctionVersionInfo = exports.FunctionInfo = exports.CacheInfo = exports.CacheDecreaseTtl = exports.CacheIncreaseTtl = exports.CacheUpdateTtl = exports.CacheKeysExist = void 0;
20
20
  // Cache Client Response Types
21
21
  const CacheGet = require("./messages/responses/cache-get");
22
22
  exports.CacheGet = CacheGet;
@@ -183,10 +183,16 @@ exports.GenerateDisposableToken = GenerateDisposableToken;
183
183
  // Leaderboard Response Types
184
184
  exports.leaderboard = require("./messages/responses/leaderboard");
185
185
  __exportStar(require("./messages/responses/leaderboard"), exports);
186
+ // Function Response Types
187
+ exports.functions = require("./messages/responses/function");
188
+ __exportStar(require("./messages/responses/function"), exports);
186
189
  exports.webhook = require("./messages/responses/webhook");
187
190
  __exportStar(require("./messages/responses/webhook"), exports);
188
191
  const cache_info_1 = require("./messages/cache-info");
189
192
  Object.defineProperty(exports, "CacheInfo", { enumerable: true, get: function () { return cache_info_1.CacheInfo; } });
193
+ const function_info_1 = require("./messages/function-info");
194
+ Object.defineProperty(exports, "FunctionInfo", { enumerable: true, get: function () { return function_info_1.FunctionInfo; } });
195
+ Object.defineProperty(exports, "FunctionVersionInfo", { enumerable: true, get: function () { return function_info_1.FunctionVersionInfo; } });
190
196
  const utils_1 = require("./utils");
191
197
  Object.defineProperty(exports, "CollectionTtl", { enumerable: true, get: function () { return utils_1.CollectionTtl; } });
192
198
  Object.defineProperty(exports, "SortedSetOrder", { enumerable: true, get: function () { return utils_1.SortedSetOrder; } });
@@ -224,6 +230,7 @@ Object.defineProperty(exports, "PermissionError", { enumerable: true, get: funct
224
230
  Object.defineProperty(exports, "CacheNotFoundError", { enumerable: true, get: function () { return errors_1.CacheNotFoundError; } });
225
231
  Object.defineProperty(exports, "StoreItemNotFoundError", { enumerable: true, get: function () { return errors_1.StoreItemNotFoundError; } });
226
232
  Object.defineProperty(exports, "StoreNotFoundError", { enumerable: true, get: function () { return errors_1.StoreNotFoundError; } });
233
+ Object.defineProperty(exports, "FunctionNotFoundError", { enumerable: true, get: function () { return errors_1.FunctionNotFoundError; } });
227
234
  Object.defineProperty(exports, "UnknownError", { enumerable: true, get: function () { return errors_1.UnknownError; } });
228
235
  __exportStar(require("./messages/responses/enums"), exports);
229
236
  var noop_momento_logger_1 = require("./config/logging/noop-momento-logger");
@@ -257,4 +264,4 @@ var compression_level_1 = require("./compression/compression-level");
257
264
  Object.defineProperty(exports, "CompressionLevel", { enumerable: true, get: function () { return compression_level_1.CompressionLevel; } });
258
265
  var subscription_retry_strategy_1 = require("./config/retry/subscription-retry-strategy");
259
266
  Object.defineProperty(exports, "DEFAULT_SUBSCRIPTION_RETRY_DELAY_MILLIS", { enumerable: true, get: function () { return subscription_retry_strategy_1.DEFAULT_SUBSCRIPTION_RETRY_DELAY_MILLIS; } });
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUF5UXpELDRCQUFRO0FBeFFWLDZFQUE2RTtBQXlRM0UsNENBQWdCO0FBeFFsQiw2RkFBNkY7QUF5UTNGLDREQUF3QjtBQXhRMUIsK0ZBQStGO0FBeVE3Riw4REFBeUI7QUF4UTNCLHdFQUF3RTtBQXlRdEUsd0NBQWM7QUF4UWhCLDBFQUEwRTtBQXlReEUsMENBQWU7QUF4UWpCLDZFQUE2RTtBQXlRM0UsNENBQWdCO0FBeFFsQiwrRUFBK0U7QUF5UTdFLDhDQUFpQjtBQXhRbkIsK0VBQStFO0FBeVE3RSw4Q0FBaUI7QUF4UW5CLGlGQUFpRjtBQXlRL0UsZ0RBQWtCO0FBeFFwQixxRkFBcUY7QUF5UW5GLG9EQUFvQjtBQXhRdEIsMEVBQTBFO0FBeVF4RSwwQ0FBZTtBQXhRakIsMkRBQTJEO0FBeVF6RCw0QkFBUTtBQXhRVixpRUFBaUU7QUFnUi9ELGtDQUFXO0FBL1FiLCtEQUErRDtBQWdSN0QsZ0NBQVU7QUEvUVosaUVBQWlFO0FBZ1IvRCxrQ0FBVztBQS9RYixpRUFBaUU7QUFnUi9ELGtDQUFXO0FBL1FiLCtEQUErRDtBQWdSN0QsZ0NBQVU7QUEvUVosc0VBQXNFO0FBaVJwRSxzQ0FBYTtBQWhSZixvRkFBb0Y7QUFpUmxGLG9EQUFvQjtBQWhSdEIsMkZBQTJGO0FBaVJ6RiwwREFBdUI7QUFoUnpCLDZGQUE2RjtBQWlSM0YsNERBQXdCO0FBaFIxQiwyRkFBMkY7QUFpUnpGLDBEQUF1QjtBQWhSekIsNkZBQTZGO0FBaVIzRiw0REFBd0I7QUFoUjFCLGlHQUFpRztBQWlSL0YsZ0VBQTBCO0FBaFI1QixtR0FBbUc7QUFpUmpHLGtFQUEyQjtBQWhSN0IsNEZBQTRGO0FBaVIxRiw0REFBd0I7QUFoUjFCLHNGQUFzRjtBQWlScEYsc0RBQXFCO0FB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QUFBLFdBQVcsT0FBQTtBQUdYLDhHQUFBLFVBQVUsT0FBQTtBQUNWLHdIQUFBLG9CQUFvQixPQUFBO0FBRXBCLCtHQUFBLFdBQVcsT0FBQTtBQUlYLDZHQUFBLFNBQVMsT0FBQTtBQUNULGdIQUFBLFlBQVksT0FBQTtBQUNaLDZHQUFBLFNBQVMsT0FBQTtBQUNULGlIQUFBLGFBQWEsT0FBQTtBQUdmLCtFQU84QztBQUY1Qyx3SEFBQSxjQUFjLE9BQUE7QUFDZCw4SEFBQSxvQkFBb0IsT0FBQTtBQUd0QixzRUFBb0U7QUFDcEU7O0dBRUc7QUFDSCxpRUFBK0Q7QUFDL0QsaUZBQStFO0FBRS9FLHNEQUFrRDtBQUExQywyR0FBQSxXQUFXLE9BQUE7QUFDbkIscUVBQWlFO0FBQXpELHFIQUFBLGdCQUFnQixPQUFBO0FBQ3hCLDBGQUlvRDtBQURsRCxzSkFBQSx1Q0FBdUMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgQ2FjaGVHZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlR2V0V2l0aEhhc2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0LXdpdGgtaGFzaCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1iYWNrJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BCYWNrIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcG9wLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UG9wRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtZnJvbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEZyb250IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcHVzaC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZW1vdmVWYWx1ZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJlbW92ZS12YWx1ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZXRhaW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1yZXRhaW4nO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlRGVsZXRlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRlbGV0ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUZsdXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWZsdXNoJztcbmltcG9ydCAqIGFzIENyZWF0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBEZWxldGVDYWNoZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9kZWxldGUtY2FjaGUnO1xuaW1wb3J0ICogYXMgTGlzdENhY2hlcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9saXN0LWNhY2hlcyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVNldEZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXNldC1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1yZW1vdmUtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUluY3JlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1sZW5ndGgnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtYWRkLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QWRkRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtYWRkLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRDb250YWluc0VsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWNvbnRhaW5zLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRDb250YWluc0VsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1jb250YWlucy1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFNhbXBsZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtc2FtcGxlJztcbmltcG9ydCAqIGFzIENhY2hlU2V0UG9wIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1wb3AnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUluY3JlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pbmNyZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZk5vdEV4aXN0cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtbm90LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1hYnNlbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZlByZXNlbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLXByZXNlbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZkVxdWFsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLW5vdC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudEFuZE5vdEVxdWFsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1wcmVzZW50LWFuZC1ub3QtZXF1YWwnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudC1vci1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcHV0LWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEdldFJhbmsgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtcmFuayc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEdldFNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtZ2V0LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtZ2V0LXNjb3Jlcyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEluY3JlbWVudFNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtaW5jcmVtZW50LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1yZW1vdmUtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtbGVuZ3RoLWJ5LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0VW5pb25TdG9yZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXVuaW9uLXN0b3JlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR5cGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtaXRlbS1nZXQtdHlwZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUl0ZW1HZXRUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtaXRlbS1nZXQtdHRsJztcbmltcG9ydCAqIGFzIENhY2hlS2V5RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWtleS1leGlzdHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlzRXhpc3QgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5cy1leGlzdCc7XG5pbXBvcnQgKiBhcyBDYWNoZVVwZGF0ZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtdXBkYXRlJztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVhc2VUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtdHRsLWluY3JlYXNlJztcbmltcG9ydCAqIGFzIENhY2hlRGVjcmVhc2VUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtdHRsLWRlY3JlYXNlJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QmF0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtYmF0Y2gtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlR2V0QmF0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtYmF0Y2gtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlU2V0V2l0aEhhc2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXdpdGgtaGFzaCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudEFuZEhhc2hFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudC1hbmQtaGFzaC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudEFuZEhhc2hOb3RFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudC1hbmQtaGFzaC1ub3QtZXF1YWwnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZkFic2VudE9ySGFzaEVxdWFsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1hYnNlbnQtb3ItaGFzaC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50T3JIYXNoTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudC1vci1oYXNoLW5vdC1lcXVhbCc7XG5cbi8vIFRvcGljQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5pbXBvcnQgKiBhcyBUb3BpY1B1Ymxpc2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtcHVibGlzaCc7XG5pbXBvcnQgKiBhcyBUb3BpY1N1YnNjcmliZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1zdWJzY3JpYmUnO1xuaW1wb3J0IHtUb3BpY0l0ZW19IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLWl0ZW0nO1xuaW1wb3J0IHtUb3BpY0Rpc2NvbnRpbnVpdHl9IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLWRpc2NvbnRpbnVpdHknO1xuaW1wb3J0IHtUb3BpY0hlYXJ0YmVhdH0gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtaGVhcnRiZWF0JztcblxuLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgR2VuZXJhdGVBcGlLZXkgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtYXBpLWtleSc7XG5pbXBvcnQgKiBhcyBSZWZyZXNoQXBpS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3JlZnJlc2gtYXBpLWtleSc7XG5cbmltcG9ydCAqIGFzIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2dlbmVyYXRlLWRpc3Bvc2FibGUtdG9rZW4nO1xuXG4vLyBMZWFkZXJib2FyZCBSZXNwb25zZSBUeXBlc1xuZXhwb3J0ICogYXMgbGVhZGVyYm9hcmQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGVhZGVyYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGVhZGVyYm9hcmQnO1xuXG5leHBvcnQgKiBhcyB3ZWJob29rIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3dlYmhvb2snO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvd2ViaG9vayc7XG5leHBvcnQge1dlYmhvb2ssIFdlYmhvb2tJZH0gZnJvbSAnLi9tZXNzYWdlcy93ZWJob29rJztcblxuaW1wb3J0IHtDYWNoZUluZm99IGZyb20gJy4vbWVzc2FnZXMvY2FjaGUtaW5mbyc7XG5pbXBvcnQge1xuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgQ29sbGVjdGlvblR0bCxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIExlYWRlcmJvYXJkT3JkZXIsXG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBJdGVtVHlwZSxcbiAgV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBXZWJob29rRGVzdGluYXRpb25UeXBlLFxuICBTZXRCYXRjaEl0ZW0sXG4gIFNvcnRlZFNldEFnZ3JlZ2F0ZSxcbiAgU29ydGVkU2V0U291cmNlLFxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBnZXREZWZhdWx0Q3JlZGVudGlhbFByb3ZpZGVyLFxuICBNb21lbnRvTG9jYWxQcm92aWRlcixcbn0gZnJvbSAnLi9hdXRoJztcblxuaW1wb3J0IHtcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIENhY2hlQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBTdG9yZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIENhY2hlTm90Rm91bmRFcnJvcixcbiAgU3RvcmVJdGVtTm90Rm91bmRFcnJvcixcbiAgU3RvcmVOb3RGb3VuZEVycm9yLFxuICBVbmtub3duRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IHtcbiAgTW9tZW50b0xvZ2dlcixcbiAgTW9tZW50b0xvZ2dlckZhY3RvcnksXG59IGZyb20gJy4vY29uZmlnL2xvZ2dpbmcvbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9lbnVtcyc7XG5cbmV4cG9ydCB7XG4gIE5vb3BNb21lbnRvTG9nZ2VyLFxuICBOb29wTW9tZW50b0xvZ2dlckZhY3RvcnksXG59IGZyb20gJy4vY29uZmlnL2xvZ2dpbmcvbm9vcC1tb21lbnRvLWxvZ2dlcic7XG5cbmV4cG9ydCB7XG4gIElDYWNoZUNsaWVudCxcbiAgRGljdGlvbmFyeUluY3JlbWVudE9wdGlvbnMsXG4gIERpY3Rpb25hcnlTZXRGaWVsZE9wdGlvbnMsXG4gIERpY3Rpb25hcnlTZXRGaWVsZHNPcHRpb25zLFxuICBTZXRPcHRpb25zLFxuICBTZXRXaXRoSGFzaE9wdGlvbnMsXG4gIFNldElmTm90RXhpc3RzT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPcHRpb25zLFxuICBTZXRJZlByZXNlbnRPcHRpb25zLFxuICBTZXRJZkVxdWFsT3B0aW9ucyxcbiAgU2V0SWZOb3RFcXVhbE9wdGlvbnMsXG4gIFNldElmUHJlc2VudEFuZE5vdEVxdWFsT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPckVxdWFsT3B0aW9ucyxcbiAgU29ydGVkU2V0UHV0RWxlbWVudHNPcHRpb25zLFxuICBTZXRJZlByZXNlbnRBbmRIYXNoRXF1YWxPcHRpb25zLFxuICBTZXRJZlByZXNlbnRBbmRIYXNoTm90RXF1YWxPcHRpb25zLFxuICBTZXRJZkFic2VudE9ySGFzaEVxdWFsT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPckhhc2hOb3RFcXVhbE9wdGlvbnMsXG4gIEluY3JlbWVudE9wdGlvbnMsXG4gIFNvcnRlZFNldFVuaW9uU3RvcmVPcHRpb25zLFxuICBHZXRXaXRoSGFzaE9wdGlvbnMsXG4gIEdldE9wdGlvbnMsXG59IGZyb20gJy4vY2xpZW50cy9JQ2FjaGVDbGllbnQnO1xuXG5leHBvcnQge0lNb21lbnRvQ2FjaGV9IGZyb20gJy4vY2xpZW50cy9JTW9tZW50b0NhY2hlJztcblxuZXhwb3J0IHtJTGVhZGVyYm9hcmRDbGllbnR9IGZyb20gJy4vY2xpZW50cy9JTGVhZGVyYm9hcmRDbGllbnQnO1xuZXhwb3J0IHtJTGVhZGVyYm9hcmR9IGZyb20gJy4vY2xpZW50cy9JTGVhZGVyYm9hcmQnO1xuXG5leHBvcnQge1xuICBDYWNoZVJvbGUsXG4gIENhY2hlUGVybWlzc2lvbixcbiAgVG9waWNSb2xlLFxuICBUb3BpY1Blcm1pc3Npb24sXG4gIEZ1bmN0aW9uUm9sZSxcbiAgRnVuY3Rpb25QZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9ucyxcbiAgQWxsRGF0YVJlYWRXcml0ZSxcbiAgUGVybWlzc2lvblNjb3BlLFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIFBlcm1pc3Npb25TY29wZVxuICAgKi9cbiAgVG9rZW5TY29wZSxcbiAgQ2FjaGVOYW1lLFxuICBpc0NhY2hlTmFtZSxcbiAgRnVuY3Rpb25OYW1lLFxuICBGdW5jdGlvbk5hbWVQcmVmaXgsXG4gIGlzRnVuY3Rpb24sXG4gIGlzRnVuY3Rpb25OYW1lUHJlZml4LFxuICBUb3BpY05hbWUsXG4gIGlzVG9waWNOYW1lLFxuICBDYWNoZVNlbGVjdG9yLFxuICBUb3BpY1NlbGVjdG9yLFxuICBGdW5jdGlvblNlbGVjdG9yLFxuICBBbGxDYWNoZXMsXG4gIEFsbEZ1bmN0aW9ucyxcbiAgQWxsVG9waWNzLFxuICBBbGxDYWNoZUl0ZW1zLFxufSBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuXG5leHBvcnQge1xuICBEaXNwb3NhYmxlVG9rZW5TY29wZSxcbiAgQ2FjaGVJdGVtU2VsZWN0b3IsXG4gIENhY2hlSXRlbUtleSxcbiAgQ2FjaGVJdGVtS2V5UHJlZml4LFxuICBpc0NhY2hlSXRlbUtleSxcbiAgaXNDYWNoZUl0ZW1LZXlQcmVmaXgsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZSc7XG5cbmV4cG9ydCAqIGFzIFBlcm1pc3Npb25TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3Blcyc7XG4vKipcbiAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgUGVybWlzc2lvblNjb3BlcyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCAqIGFzIFRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZXMnO1xuZXhwb3J0ICogYXMgRGlzcG9zYWJsZVRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZXMnO1xuXG5leHBvcnQge1JlYWRDb25jZXJufSBmcm9tICcuL2NvbmZpZy9yZWFkLWNvbmNlcm4nO1xuZXhwb3J0IHtDb21wcmVzc2lvbkxldmVsfSBmcm9tICcuL2NvbXByZXNzaW9uL2NvbXByZXNzaW9uLWxldmVsJztcbmV4cG9ydCB7XG4gIFN1YnNjcmlwdGlvblJldHJ5U3RyYXRlZ3ksXG4gIERldGVybWluZVdoZW5Ub1Jlc3Vic2NyaWJlUHJvcHMsXG4gIERFRkFVTFRfU1VCU0NSSVBUSU9OX1JFVFJZX0RFTEFZX01JTExJUyxcbn0gZnJvbSAnLi9jb25maWcvcmV0cnkvc3Vic2NyaXB0aW9uLXJldHJ5LXN0cmF0ZWd5JztcbmV4cG9ydCB7XG4gIFN1YnNjcmlwdGlvblJldHJ5RWxpZ2liaWxpdHlTdHJhdGVneSxcbiAgRWxpZ2libGVGb3JSZXN1YnNjcmliZVByb3BzLFxufSBmcm9tICcuL2NvbmZpZy9yZXRyeS9zdWJzY3JpcHRpb24tcmV0cnktZWxpZ2liaWxpdHktc3RyYXRlZ3knO1xuXG5leHBvcnQge1xuICBFeHBpcmVzSW4sXG4gIEV4cGlyZXNBdCxcbiAgQ29sbGVjdGlvblR0bCxcbiAgSXRlbVR5cGUsXG4gIFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgV2ViaG9va0Rlc3RpbmF0aW9uVHlwZSxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIExlYWRlcmJvYXJkT3JkZXIsXG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBNb21lbnRvTG9jYWxQcm92aWRlcixcbiAgZ2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcixcbiAgU2V0QmF0Y2hJdGVtLFxuICBTb3J0ZWRTZXRBZ2dyZWdhdGUsXG4gIFNvcnRlZFNldFNvdXJjZSxcblxuICAvLyBDYWNoZUNsaWVudCBSZXNwb25zZSBUeXBlc1xuICBDYWNoZUdldCxcbiAgQ2FjaGVHZXRXaXRoSGFzaCxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVCYWNrLFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUZyb250LFxuICBDYWNoZUxpc3RGZXRjaCxcbiAgQ2FjaGVMaXN0TGVuZ3RoLFxuICBDYWNoZUxpc3RQb3BCYWNrLFxuICBDYWNoZUxpc3RQb3BGcm9udCxcbiAgQ2FjaGVMaXN0UHVzaEJhY2ssXG4gIENhY2hlTGlzdFB1c2hGcm9udCxcbiAgQ2FjaGVMaXN0UmVtb3ZlVmFsdWUsXG4gIENhY2hlTGlzdFJldGFpbixcbiAgQ2FjaGVTZXQsXG4gIENhY2hlU2V0SWZOb3RFeGlzdHMsXG4gIENhY2hlU2V0SWZQcmVzZW50LFxuICBDYWNoZVNldElmQWJzZW50LFxuICBDYWNoZVNldElmRXF1YWwsXG4gIENhY2hlU2V0SWZOb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZlByZXNlbnRBbmROb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwsXG4gIENhY2hlRGVsZXRlLFxuICBDYWNoZUZsdXNoLFxuICBDcmVhdGVDYWNoZSxcbiAgRGVsZXRlQ2FjaGUsXG4gIExpc3RDYWNoZXMsXG4gIENhY2hlSW5jcmVtZW50LFxuICBDYWNoZVNldEZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlMZW5ndGgsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0QWRkRWxlbWVudCxcbiAgQ2FjaGVTZXRDb250YWluc0VsZW1lbnQsXG4gIENhY2hlU2V0Q29udGFpbnNFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNldFNhbXBsZSxcbiAgQ2FjaGVTZXRQb3AsXG4gIENhY2hlU2V0TGVuZ3RoLFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0RmV0Y2gsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRVbmlvblN0b3JlLFxuICBDYWNoZUl0ZW1HZXRUeXBlLFxuICBDYWNoZUl0ZW1HZXRUdGwsXG4gIENhY2hlS2V5RXhpc3RzLFxuICBDYWNoZUtleXNFeGlzdCxcbiAgQ2FjaGVVcGRhdGVUdGwsXG4gIENhY2hlSW5jcmVhc2VUdGwsXG4gIENhY2hlRGVjcmVhc2VUdGwsXG4gIENhY2hlSW5mbyxcbiAgQ2FjaGVTZXRCYXRjaCxcbiAgQ2FjaGVHZXRCYXRjaCxcbiAgQ2FjaGVTZXRXaXRoSGFzaCxcbiAgQ2FjaGVTZXRJZlByZXNlbnRBbmRIYXNoRXF1YWwsXG4gIENhY2hlU2V0SWZQcmVzZW50QW5kSGFzaE5vdEVxdWFsLFxuICBDYWNoZVNldElmQWJzZW50T3JIYXNoRXF1YWwsXG4gIENhY2hlU2V0SWZBYnNlbnRPckhhc2hOb3RFcXVhbCxcbiAgLy8gVG9waWNDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgVG9waWNQdWJsaXNoLFxuICBUb3BpY1N1YnNjcmliZSxcbiAgVG9waWNJdGVtLFxuICBUb3BpY0Rpc2NvbnRpbnVpdHksXG4gIFRvcGljSGVhcnRiZWF0LFxuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuICBHZW5lcmF0ZUFwaUtleSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBHZW5lcmF0ZUFwaUtleVxuICAgKi9cbiAgR2VuZXJhdGVBcGlLZXkgYXMgR2VuZXJhdGVBdXRoVG9rZW4sXG4gIFJlZnJlc2hBcGlLZXksXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgUmVmcmVzaEFwaUtleVxuICAgKi9cbiAgUmVmcmVzaEFwaUtleSBhcyBSZWZyZXNoQXV0aFRva2VuLFxuICBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbixcbiAgLy8gRXJyb3JzXG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBDYWNoZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBDYWNoZU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlSXRlbU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufTtcbiJdfQ==
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUFpUnpELDRCQUFRO0FBaFJWLDZFQUE2RTtBQWlSM0UsNENBQWdCO0FBaFJsQiw2RkFBNkY7QUFpUjNGLDREQUF3QjtBQWhSMUIsK0ZBQStGO0FBaVI3Riw4REFBeUI7QUFoUjNCLHdFQUF3RTtBQWlSdEUsd0NBQWM7QUFoUmhCLDBFQUEwRTtBQWlSeEUsMENBQWU7QUFoUmpCLDZFQUE2RTtBQWlSM0UsNENBQWdCO0FBaFJsQiwrRUFBK0U7QUFpUjdFLDhDQUFpQjtBQWhSbkIsK0VBQStFO0FBaVI3RSw4Q0FBaUI7QUFoUm5CLGlGQUFpRjtBQWlSL0UsZ0RBQWtCO0FBaFJwQixxRkFBcUY7QUFpUm5GLG9EQUFvQjtBQWhSdEIsMEVBQTBFO0FBaVJ4RSwwQ0FBZTtBQWhSakIsMkRBQTJEO0FBaVJ6RCw0QkFBUTtBQWhSVixpRUFBaUU7QUF3Ui9ELGtDQUFXO0FBdlJiLCtEQUErRDtBQXdSN0QsZ0NBQVU7QUF2UlosaUVBQWlFO0FBd1IvRCxrQ0FBVztBQXZSYixpRUFBaUU7QUF3Ui9ELGtDQUFXO0FBdlJiLCtEQUErRDtBQXdSN0QsZ0NBQVU7QUF2Ulosc0VBQXNFO0FBeVJwRSxzQ0FBYTtBQXhSZixvRkFBb0Y7QUF5UmxGLG9EQUFvQjtBQXhSdEIsMkZBQTJGO0FBeVJ6RiwwREFBdUI7QUF4UnpCLDZGQUE2RjtBQXlSM0YsNERBQXdCO0FBeFIxQiwyRkFBMkY7QUF5UnpGLDBEQUF1QjtBQXhSekIsNkZBQTZGO0FBeVIzRiw0REFBd0I7QUF4UjFCLGlHQUFpRztBQXlSL0YsZ0VBQTBCO0FBeFI1QixtR0FBbUc7QUF5UmpHLGtFQUEyQjtBQXhSN0IsNEZBQTRGO0FBeVIxRiw0REFBd0I7QUF4UjFCLHNGQUFzRjtBQXlScEYsc0RBQXFCO0FB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akIsK0hBQUEsd0JBQXdCLE9BQUE7QUFtQzFCLG1FQThCd0M7QUE3QnRDLDZHQUFBLFNBQVMsT0FBQTtBQUVULDZHQUFBLFNBQVMsT0FBQTtBQUVULGdIQUFBLFlBQVksT0FBQTtBQUlaLG9IQUFBLGdCQUFnQixPQUFBO0FBT2hCLCtHQUFBLFdBQVcsT0FBQTtBQUdYLDhHQUFBLFVBQVUsT0FBQTtBQUNWLHdIQUFBLG9CQUFvQixPQUFBO0FBRXBCLCtHQUFBLFdBQVcsT0FBQTtBQUlYLDZHQUFBLFNBQVMsT0FBQTtBQUNULGdIQUFBLFlBQVksT0FBQTtBQUNaLDZHQUFBLFNBQVMsT0FBQTtBQUNULGlIQUFBLGFBQWEsT0FBQTtBQUdmLCtFQU84QztBQUY1Qyx3SEFBQSxjQUFjLE9BQUE7QUFDZCw4SEFBQSxvQkFBb0IsT0FBQTtBQUd0QixzRUFBb0U7QUFDcEU7O0dBRUc7QUFDSCxpRUFBK0Q7QUFDL0QsaUZBQStFO0FBRS9FLHNEQUFrRDtBQUExQywyR0FBQSxXQUFXLE9BQUE7QUFDbkIscUVBQWlFO0FBQXpELHFIQUFBLGdCQUFnQixPQUFBO0FBQ3hCLDBGQUlvRDtBQURsRCxzSkFBQSx1Q0FBdUMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgQ2FjaGVHZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlR2V0V2l0aEhhc2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0LXdpdGgtaGFzaCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1iYWNrJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BCYWNrIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcG9wLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UG9wRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtZnJvbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEZyb250IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcHVzaC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZW1vdmVWYWx1ZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJlbW92ZS12YWx1ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZXRhaW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1yZXRhaW4nO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlRGVsZXRlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRlbGV0ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUZsdXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWZsdXNoJztcbmltcG9ydCAqIGFzIENyZWF0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBEZWxldGVDYWNoZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9kZWxldGUtY2FjaGUnO1xuaW1wb3J0ICogYXMgTGlzdENhY2hlcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9saXN0LWNhY2hlcyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVNldEZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXNldC1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1yZW1vdmUtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUluY3JlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1sZW5ndGgnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtYWRkLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QWRkRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtYWRkLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRDb250YWluc0VsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWNvbnRhaW5zLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRDb250YWluc0VsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1jb250YWlucy1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFNhbXBsZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtc2FtcGxlJztcbmltcG9ydCAqIGFzIENhY2hlU2V0UG9wIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1wb3AnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUluY3JlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pbmNyZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZk5vdEV4aXN0cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtbm90LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1hYnNlbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZlByZXNlbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLXByZXNlbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZkVxdWFsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLW5vdC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudEFuZE5vdEVxdWFsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1wcmVzZW50LWFuZC1ub3QtZXF1YWwnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudC1vci1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcHV0LWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEdldFJhbmsgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtcmFuayc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEdldFNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtZ2V0LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtZ2V0LXNjb3Jlcyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEluY3JlbWVudFNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtaW5jcmVtZW50LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1yZW1vdmUtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtbGVuZ3RoLWJ5LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0VW5pb25TdG9yZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXVuaW9uLXN0b3JlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR5cGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtaXRlbS1nZXQtdHlwZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUl0ZW1HZXRUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtaXRlbS1nZXQtdHRsJztcbmltcG9ydCAqIGFzIENhY2hlS2V5RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWtleS1leGlzdHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlzRXhpc3QgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5cy1leGlzdCc7XG5pbXBvcnQgKiBhcyBDYWNoZVVwZGF0ZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtdXBkYXRlJztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVhc2VUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtdHRsLWluY3JlYXNlJztcbmltcG9ydCAqIGFzIENhY2hlRGVjcmVhc2VUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtdHRsLWRlY3JlYXNlJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QmF0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtYmF0Y2gtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlR2V0QmF0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtYmF0Y2gtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlU2V0V2l0aEhhc2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXdpdGgtaGFzaCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudEFuZEhhc2hFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudC1hbmQtaGFzaC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudEFuZEhhc2hOb3RFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudC1hbmQtaGFzaC1ub3QtZXF1YWwnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZkFic2VudE9ySGFzaEVxdWFsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1hYnNlbnQtb3ItaGFzaC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50T3JIYXNoTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudC1vci1oYXNoLW5vdC1lcXVhbCc7XG5cbi8vIFRvcGljQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5pbXBvcnQgKiBhcyBUb3BpY1B1Ymxpc2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtcHVibGlzaCc7XG5pbXBvcnQgKiBhcyBUb3BpY1N1YnNjcmliZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1zdWJzY3JpYmUnO1xuaW1wb3J0IHtUb3BpY0l0ZW19IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLWl0ZW0nO1xuaW1wb3J0IHtUb3BpY0Rpc2NvbnRpbnVpdHl9IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLWRpc2NvbnRpbnVpdHknO1xuaW1wb3J0IHtUb3BpY0hlYXJ0YmVhdH0gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtaGVhcnRiZWF0JztcblxuLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgR2VuZXJhdGVBcGlLZXkgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtYXBpLWtleSc7XG5pbXBvcnQgKiBhcyBSZWZyZXNoQXBpS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3JlZnJlc2gtYXBpLWtleSc7XG5cbmltcG9ydCAqIGFzIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2dlbmVyYXRlLWRpc3Bvc2FibGUtdG9rZW4nO1xuXG4vLyBMZWFkZXJib2FyZCBSZXNwb25zZSBUeXBlc1xuZXhwb3J0ICogYXMgbGVhZGVyYm9hcmQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGVhZGVyYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGVhZGVyYm9hcmQnO1xuXG4vLyBGdW5jdGlvbiBSZXNwb25zZSBUeXBlc1xuZXhwb3J0ICogYXMgZnVuY3Rpb25zIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2Z1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2Z1bmN0aW9uJztcblxuZXhwb3J0ICogYXMgd2ViaG9vayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy93ZWJob29rJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3dlYmhvb2snO1xuZXhwb3J0IHtXZWJob29rLCBXZWJob29rSWR9IGZyb20gJy4vbWVzc2FnZXMvd2ViaG9vayc7XG5cbmltcG9ydCB7Q2FjaGVJbmZvfSBmcm9tICcuL21lc3NhZ2VzL2NhY2hlLWluZm8nO1xuaW1wb3J0IHtGdW5jdGlvbkluZm8sIEZ1bmN0aW9uVmVyc2lvbkluZm99IGZyb20gJy4vbWVzc2FnZXMvZnVuY3Rpb24taW5mbyc7XG5pbXBvcnQge1xuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgQ29sbGVjdGlvblR0bCxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIExlYWRlcmJvYXJkT3JkZXIsXG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBJdGVtVHlwZSxcbiAgV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBXZWJob29rRGVzdGluYXRpb25UeXBlLFxuICBTZXRCYXRjaEl0ZW0sXG4gIFNvcnRlZFNldEFnZ3JlZ2F0ZSxcbiAgU29ydGVkU2V0U291cmNlLFxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBnZXREZWZhdWx0Q3JlZGVudGlhbFByb3ZpZGVyLFxuICBNb21lbnRvTG9jYWxQcm92aWRlcixcbn0gZnJvbSAnLi9hdXRoJztcblxuaW1wb3J0IHtcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIENhY2hlQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBTdG9yZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIENhY2hlTm90Rm91bmRFcnJvcixcbiAgU3RvcmVJdGVtTm90Rm91bmRFcnJvcixcbiAgU3RvcmVOb3RGb3VuZEVycm9yLFxuICBGdW5jdGlvbk5vdEZvdW5kRXJyb3IsXG4gIFVua25vd25FcnJvcixcbn0gZnJvbSAnLi9lcnJvcnMnO1xuXG5leHBvcnQge1xuICBNb21lbnRvTG9nZ2VyLFxuICBNb21lbnRvTG9nZ2VyRmFjdG9yeSxcbn0gZnJvbSAnLi9jb25maWcvbG9nZ2luZy9tb21lbnRvLWxvZ2dlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zJztcblxuZXhwb3J0IHtcbiAgTm9vcE1vbWVudG9Mb2dnZXIsXG4gIE5vb3BNb21lbnRvTG9nZ2VyRmFjdG9yeSxcbn0gZnJvbSAnLi9jb25maWcvbG9nZ2luZy9ub29wLW1vbWVudG8tbG9nZ2VyJztcblxuZXhwb3J0IHtcbiAgSUNhY2hlQ2xpZW50LFxuICBEaWN0aW9uYXJ5SW5jcmVtZW50T3B0aW9ucyxcbiAgRGljdGlvbmFyeVNldEZpZWxkT3B0aW9ucyxcbiAgRGljdGlvbmFyeVNldEZpZWxkc09wdGlvbnMsXG4gIFNldE9wdGlvbnMsXG4gIFNldFdpdGhIYXNoT3B0aW9ucyxcbiAgU2V0SWZOb3RFeGlzdHNPcHRpb25zLFxuICBTZXRJZkFic2VudE9wdGlvbnMsXG4gIFNldElmUHJlc2VudE9wdGlvbnMsXG4gIFNldElmRXF1YWxPcHRpb25zLFxuICBTZXRJZk5vdEVxdWFsT3B0aW9ucyxcbiAgU2V0SWZQcmVzZW50QW5kTm90RXF1YWxPcHRpb25zLFxuICBTZXRJZkFic2VudE9yRXF1YWxPcHRpb25zLFxuICBTb3J0ZWRTZXRQdXRFbGVtZW50c09wdGlvbnMsXG4gIFNldElmUHJlc2VudEFuZEhhc2hFcXVhbE9wdGlvbnMsXG4gIFNldElmUHJlc2VudEFuZEhhc2hOb3RFcXVhbE9wdGlvbnMsXG4gIFNldElmQWJzZW50T3JIYXNoRXF1YWxPcHRpb25zLFxuICBTZXRJZkFic2VudE9ySGFzaE5vdEVxdWFsT3B0aW9ucyxcbiAgSW5jcmVtZW50T3B0aW9ucyxcbiAgU29ydGVkU2V0VW5pb25TdG9yZU9wdGlvbnMsXG4gIEdldFdpdGhIYXNoT3B0aW9ucyxcbiAgR2V0T3B0aW9ucyxcbn0gZnJvbSAnLi9jbGllbnRzL0lDYWNoZUNsaWVudCc7XG5cbmV4cG9ydCB7SU1vbWVudG9DYWNoZX0gZnJvbSAnLi9jbGllbnRzL0lNb21lbnRvQ2FjaGUnO1xuXG5leHBvcnQge0lMZWFkZXJib2FyZENsaWVudH0gZnJvbSAnLi9jbGllbnRzL0lMZWFkZXJib2FyZENsaWVudCc7XG5leHBvcnQge0lMZWFkZXJib2FyZH0gZnJvbSAnLi9jbGllbnRzL0lMZWFkZXJib2FyZCc7XG5cbmV4cG9ydCB7SUZ1bmN0aW9uQ2xpZW50LCBQdXRGdW5jdGlvbk9wdGlvbnN9IGZyb20gJy4vY2xpZW50cy9JRnVuY3Rpb25DbGllbnQnO1xuXG5leHBvcnQge1xuICBDYWNoZVJvbGUsXG4gIENhY2hlUGVybWlzc2lvbixcbiAgVG9waWNSb2xlLFxuICBUb3BpY1Blcm1pc3Npb24sXG4gIEZ1bmN0aW9uUm9sZSxcbiAgRnVuY3Rpb25QZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9ucyxcbiAgQWxsRGF0YVJlYWRXcml0ZSxcbiAgUGVybWlzc2lvblNjb3BlLFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIFBlcm1pc3Npb25TY29wZVxuICAgKi9cbiAgVG9rZW5TY29wZSxcbiAgQ2FjaGVOYW1lLFxuICBpc0NhY2hlTmFtZSxcbiAgRnVuY3Rpb25OYW1lLFxuICBGdW5jdGlvbk5hbWVQcmVmaXgsXG4gIGlzRnVuY3Rpb24sXG4gIGlzRnVuY3Rpb25OYW1lUHJlZml4LFxuICBUb3BpY05hbWUsXG4gIGlzVG9waWNOYW1lLFxuICBDYWNoZVNlbGVjdG9yLFxuICBUb3BpY1NlbGVjdG9yLFxuICBGdW5jdGlvblNlbGVjdG9yLFxuICBBbGxDYWNoZXMsXG4gIEFsbEZ1bmN0aW9ucyxcbiAgQWxsVG9waWNzLFxuICBBbGxDYWNoZUl0ZW1zLFxufSBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuXG5leHBvcnQge1xuICBEaXNwb3NhYmxlVG9rZW5TY29wZSxcbiAgQ2FjaGVJdGVtU2VsZWN0b3IsXG4gIENhY2hlSXRlbUtleSxcbiAgQ2FjaGVJdGVtS2V5UHJlZml4LFxuICBpc0NhY2hlSXRlbUtleSxcbiAgaXNDYWNoZUl0ZW1LZXlQcmVmaXgsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZSc7XG5cbmV4cG9ydCAqIGFzIFBlcm1pc3Npb25TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3Blcyc7XG4vKipcbiAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgUGVybWlzc2lvblNjb3BlcyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCAqIGFzIFRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZXMnO1xuZXhwb3J0ICogYXMgRGlzcG9zYWJsZVRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZXMnO1xuXG5leHBvcnQge1JlYWRDb25jZXJufSBmcm9tICcuL2NvbmZpZy9yZWFkLWNvbmNlcm4nO1xuZXhwb3J0IHtDb21wcmVzc2lvbkxldmVsfSBmcm9tICcuL2NvbXByZXNzaW9uL2NvbXByZXNzaW9uLWxldmVsJztcbmV4cG9ydCB7XG4gIFN1YnNjcmlwdGlvblJldHJ5U3RyYXRlZ3ksXG4gIERldGVybWluZVdoZW5Ub1Jlc3Vic2NyaWJlUHJvcHMsXG4gIERFRkFVTFRfU1VCU0NSSVBUSU9OX1JFVFJZX0RFTEFZX01JTExJUyxcbn0gZnJvbSAnLi9jb25maWcvcmV0cnkvc3Vic2NyaXB0aW9uLXJldHJ5LXN0cmF0ZWd5JztcbmV4cG9ydCB7XG4gIFN1YnNjcmlwdGlvblJldHJ5RWxpZ2liaWxpdHlTdHJhdGVneSxcbiAgRWxpZ2libGVGb3JSZXN1YnNjcmliZVByb3BzLFxufSBmcm9tICcuL2NvbmZpZy9yZXRyeS9zdWJzY3JpcHRpb24tcmV0cnktZWxpZ2liaWxpdHktc3RyYXRlZ3knO1xuXG5leHBvcnQge1xuICBFeHBpcmVzSW4sXG4gIEV4cGlyZXNBdCxcbiAgQ29sbGVjdGlvblR0bCxcbiAgSXRlbVR5cGUsXG4gIFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgV2ViaG9va0Rlc3RpbmF0aW9uVHlwZSxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIExlYWRlcmJvYXJkT3JkZXIsXG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBNb21lbnRvTG9jYWxQcm92aWRlcixcbiAgZ2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcixcbiAgU2V0QmF0Y2hJdGVtLFxuICBTb3J0ZWRTZXRBZ2dyZWdhdGUsXG4gIFNvcnRlZFNldFNvdXJjZSxcblxuICAvLyBDYWNoZUNsaWVudCBSZXNwb25zZSBUeXBlc1xuICBDYWNoZUdldCxcbiAgQ2FjaGVHZXRXaXRoSGFzaCxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVCYWNrLFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUZyb250LFxuICBDYWNoZUxpc3RGZXRjaCxcbiAgQ2FjaGVMaXN0TGVuZ3RoLFxuICBDYWNoZUxpc3RQb3BCYWNrLFxuICBDYWNoZUxpc3RQb3BGcm9udCxcbiAgQ2FjaGVMaXN0UHVzaEJhY2ssXG4gIENhY2hlTGlzdFB1c2hGcm9udCxcbiAgQ2FjaGVMaXN0UmVtb3ZlVmFsdWUsXG4gIENhY2hlTGlzdFJldGFpbixcbiAgQ2FjaGVTZXQsXG4gIENhY2hlU2V0SWZOb3RFeGlzdHMsXG4gIENhY2hlU2V0SWZQcmVzZW50LFxuICBDYWNoZVNldElmQWJzZW50LFxuICBDYWNoZVNldElmRXF1YWwsXG4gIENhY2hlU2V0SWZOb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZlByZXNlbnRBbmROb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwsXG4gIENhY2hlRGVsZXRlLFxuICBDYWNoZUZsdXNoLFxuICBDcmVhdGVDYWNoZSxcbiAgRGVsZXRlQ2FjaGUsXG4gIExpc3RDYWNoZXMsXG4gIENhY2hlSW5jcmVtZW50LFxuICBDYWNoZVNldEZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlMZW5ndGgsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0QWRkRWxlbWVudCxcbiAgQ2FjaGVTZXRDb250YWluc0VsZW1lbnQsXG4gIENhY2hlU2V0Q29udGFpbnNFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNldFNhbXBsZSxcbiAgQ2FjaGVTZXRQb3AsXG4gIENhY2hlU2V0TGVuZ3RoLFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0RmV0Y2gsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRVbmlvblN0b3JlLFxuICBDYWNoZUl0ZW1HZXRUeXBlLFxuICBDYWNoZUl0ZW1HZXRUdGwsXG4gIENhY2hlS2V5RXhpc3RzLFxuICBDYWNoZUtleXNFeGlzdCxcbiAgQ2FjaGVVcGRhdGVUdGwsXG4gIENhY2hlSW5jcmVhc2VUdGwsXG4gIENhY2hlRGVjcmVhc2VUdGwsXG4gIENhY2hlSW5mbyxcbiAgRnVuY3Rpb25JbmZvLFxuICBGdW5jdGlvblZlcnNpb25JbmZvLFxuICBDYWNoZVNldEJhdGNoLFxuICBDYWNoZUdldEJhdGNoLFxuICBDYWNoZVNldFdpdGhIYXNoLFxuICBDYWNoZVNldElmUHJlc2VudEFuZEhhc2hFcXVhbCxcbiAgQ2FjaGVTZXRJZlByZXNlbnRBbmRIYXNoTm90RXF1YWwsXG4gIENhY2hlU2V0SWZBYnNlbnRPckhhc2hFcXVhbCxcbiAgQ2FjaGVTZXRJZkFic2VudE9ySGFzaE5vdEVxdWFsLFxuICAvLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBUb3BpY0l0ZW0sXG4gIFRvcGljRGlzY29udGludWl0eSxcbiAgVG9waWNIZWFydGJlYXQsXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICAvLyBBdXRoQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIEdlbmVyYXRlQXBpS2V5LFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIEdlbmVyYXRlQXBpS2V5XG4gICAqL1xuICBHZW5lcmF0ZUFwaUtleSBhcyBHZW5lcmF0ZUF1dGhUb2tlbixcbiAgUmVmcmVzaEFwaUtleSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBSZWZyZXNoQXBpS2V5XG4gICAqL1xuICBSZWZyZXNoQXBpS2V5IGFzIFJlZnJlc2hBdXRoVG9rZW4sXG4gIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuLFxuICAvLyBFcnJvcnNcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIENhY2hlQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBTdG9yZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIENhY2hlTm90Rm91bmRFcnJvcixcbiAgU3RvcmVJdGVtTm90Rm91bmRFcnJvcixcbiAgU3RvcmVOb3RGb3VuZEVycm9yLFxuICBGdW5jdGlvbk5vdEZvdW5kRXJyb3IsXG4gIFVua25vd25FcnJvcixcbn07XG4iXX0=
@@ -15,6 +15,8 @@ export declare function validateListName(name: string): void;
15
15
  export declare function validateListSliceStartEnd(startIndex?: number, endIndex?: number): void;
16
16
  export declare function validateTopicName(name: string): void;
17
17
  export declare function validateWebhookName(name: string): void;
18
+ export declare function validateFunctionName(name: string): void;
19
+ export declare function validateFunctionId(functionId: string): void;
18
20
  export declare function validateIndexName(name: string): void;
19
21
  export declare function validateNumDimensions(numDimensions: number): void;
20
22
  export declare function validateTopK(topK: number): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateSortedSetSources = exports.validateMaxConcurrentRequests = exports.validateLeaderboardNumberOfElements = exports.validateLeaderboardCount = exports.validateLeaderboardOffset = exports.validateLeaderboardRanks = exports.validateLeaderboardName = exports.isBase64 = exports.validateDisposableTokenTokenID = exports.validateDisposableTokenExpiry = exports.validateTimeout = exports.validateValidForSeconds = exports.validateTtlSeconds = exports.validateTtlMinutes = exports.validateTopK = exports.validateNumDimensions = exports.validateIndexName = exports.validateWebhookName = exports.validateTopicName = exports.validateListSliceStartEnd = exports.validateListName = exports.validateDictionaryName = exports.validateSortedSetCount = exports.validateSortedSetOffset = exports.validateSortedSetScores = exports.validateSortedSetRanks = exports.validateSortedSetName = exports.validateSetPopCount = exports.validateSetSampleLimit = exports.validateSetName = exports.validateCacheKeyOrPrefix = exports.validateCacheName = exports.validateStoreName = void 0;
3
+ exports.validateSortedSetSources = exports.validateMaxConcurrentRequests = exports.validateLeaderboardNumberOfElements = exports.validateLeaderboardCount = exports.validateLeaderboardOffset = exports.validateLeaderboardRanks = exports.validateLeaderboardName = exports.isBase64 = exports.validateDisposableTokenTokenID = exports.validateDisposableTokenExpiry = exports.validateTimeout = exports.validateValidForSeconds = exports.validateTtlSeconds = exports.validateTtlMinutes = exports.validateTopK = exports.validateNumDimensions = exports.validateIndexName = exports.validateFunctionId = exports.validateFunctionName = exports.validateWebhookName = exports.validateTopicName = exports.validateListSliceStartEnd = exports.validateListName = exports.validateDictionaryName = exports.validateSortedSetCount = exports.validateSortedSetOffset = exports.validateSortedSetScores = exports.validateSortedSetRanks = exports.validateSortedSetName = exports.validateSetPopCount = exports.validateSetSampleLimit = exports.validateSetName = exports.validateCacheKeyOrPrefix = exports.validateCacheName = exports.validateStoreName = void 0;
4
4
  const errors_1 = require("../../errors");
5
5
  const string_1 = require("./string");
6
6
  function validateStoreName(name) {
@@ -114,6 +114,18 @@ function validateWebhookName(name) {
114
114
  }
115
115
  }
116
116
  exports.validateWebhookName = validateWebhookName;
117
+ function validateFunctionName(name) {
118
+ if (isEmpty(name)) {
119
+ throw new errors_1.InvalidArgumentError('function name must not be empty');
120
+ }
121
+ }
122
+ exports.validateFunctionName = validateFunctionName;
123
+ function validateFunctionId(functionId) {
124
+ if (isEmpty(functionId)) {
125
+ throw new errors_1.InvalidArgumentError('function id must not be empty');
126
+ }
127
+ }
128
+ exports.validateFunctionId = validateFunctionId;
117
129
  function validateIndexName(name) {
118
130
  if (isEmpty(name)) {
119
131
  throw new errors_1.InvalidArgumentError('index name must not be empty');
@@ -239,4 +251,4 @@ function validateSortedSetSources(sources) {
239
251
  }
240
252
  }
241
253
  exports.validateSortedSetSources = validateSortedSetSources;
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUVsRCxxQ0FBMEQ7QUFFMUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFKRCw4Q0FJQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLElBQVk7SUFDNUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDO0FBSkQsOENBSUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFZO0lBQ25ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0tBQzdFO0FBQ0gsQ0FBQztBQUpELDREQUlDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLElBQVk7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDOUQ7QUFDSCxDQUFDO0FBSkQsMENBSUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxLQUFhO0lBQ2xELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNiLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQztBQUpELHdEQUlDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBYTtJQUMvQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7UUFDYixN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LENBQUMsT0FBTyxFQUFFO1FBQ1osTUFBTSxJQUFJLDZCQUFvQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7S0FDcEU7SUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtRQUM1QixNQUFNLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUV2QyxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuRSxNQUFNLElBQUksNkJBQW9CLENBQzVCLDBDQUEwQyxDQUMzQyxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksNkJBQW9CLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNsRTtLQUNGO0FBQ0gsQ0FBQztBQWpCRCw0REFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludmFsaWRBcmd1bWVudEVycm9yfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtFeHBpcmVzSW4sIFNvcnRlZFNldFNvdXJjZX0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtkZWNvZGVGcm9tQmFzZTY0LCBlbmNvZGVUb0Jhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTdG9yZU5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzdG9yZSBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ2FjaGVOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY2FjaGUgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlS2V5T3JQcmVmaXgobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjYWNoZSBrZXkgb3Iga2V5IHByZWZpeCBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzZXQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldFNhbXBsZUxpbWl0KGxpbWl0OiBudW1iZXIpIHtcbiAgaWYgKGxpbWl0IDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGltaXQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU2V0UG9wQ291bnQoY291bnQ6IG51bWJlcikge1xuICBpZiAoY291bnQgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjb3VudCBtdXN0IGJlIHBvc2l0aXZlICg+IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3NvcnRlZCBzZXQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldFJhbmtzKHN0YXJ0X3Jhbms6IG51bWJlciwgZW5kX3Jhbms/OiBudW1iZXIpIHtcbiAgaWYgKGVuZF9yYW5rID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHN0YXJ0X3JhbmsgPiAwICYmIGVuZF9yYW5rID4gMCAmJiBzdGFydF9yYW5rID4gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3N0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHJhbmsnKTtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA8IDAgJiYgZW5kX3JhbmsgPCAwICYmIHN0YXJ0X3JhbmsgPj0gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnbmVnYXRpdmUgc3RhcnQgcmFuayBtdXN0IGJlIGxlc3MgdGhhbiBuZWdhdGl2ZSBlbmQgcmFuaydcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldFNjb3JlcyhtaW5TY29yZT86IG51bWJlciwgbWF4U2NvcmU/OiBudW1iZXIpIHtcbiAgaWYgKG1pblNjb3JlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKG1heFNjb3JlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKG1pblNjb3JlID4gbWF4U2NvcmUpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnbWluU2NvcmUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4U2NvcmUnXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRPZmZzZXQob2Zmc2V0OiBudW1iZXIpIHtcbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ29mZnNldCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoPj0gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRDb3VudChjb3VudDogbnVtYmVyKSB7XG4gIGlmIChjb3VudCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NvdW50IG11c3QgYmUgc3RyaWN0bHkgcG9zaXRpdmUgKD4gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEaWN0aW9uYXJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2RpY3Rpb25hcnkgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxpc3ROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGlzdCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGlzdFNsaWNlU3RhcnRFbmQoXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXIsXG4gIGVuZEluZGV4PzogbnVtYmVyXG4pIHtcbiAgaWYgKHN0YXJ0SW5kZXggPT09IHVuZGVmaW5lZCB8fCBlbmRJbmRleCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIC8vIGNhbid0IHZhbGlkYXRlIGJvdW5kcyBmb3Igc3RhcnQgYW5kIGluZGV4IG9mIGVpdGhlciBvciBhcmUgbmVnYXRpdmUgd2l0aG91dCBsaXN0IGxlbmd0aFxuICBpZiAoc3RhcnRJbmRleCA+IDAgfHwgZW5kSW5kZXggPCAwKSByZXR1cm47XG4gIGlmIChlbmRJbmRleCA8PSBzdGFydEluZGV4KSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ2VuZEluZGV4IChleGNsdXNpdmUpIG11c3QgYmUgbGFyZ2VyIHRoYW4gc3RhcnRJbmRleCAoaW5jbHVzaXZlKSdcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVRvcGljTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3RvcGljIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVXZWJob29rTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3dlYmhvb2sgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUluZGV4TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2luZGV4IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOdW1EaW1lbnNpb25zKG51bURpbWVuc2lvbnM6IG51bWJlcikge1xuICBpZiAobnVtRGltZW5zaW9ucyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdudW1EaW1lbnNpb25zIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUb3BLKHRvcEs6IG51bWJlcikge1xuICBpZiAodG9wSyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0b3BLIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUdGxNaW51dGVzKHR0bE1pbnV0ZXM6IG51bWJlcikge1xuICBpZiAodHRsTWludXRlcyA8IDAgfHwgIU51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bE1pbnV0ZXMpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0dGxNaW51dGVzIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyJyk7XG4gIH1cbn1cblxuLy8gQ3VycmVudGx5IGFjY2VwdGluZyB0dGwgaW4gc2Vjb25kcywgYnV0IGlmIHNvbWVvbmUgcmVxdWVzdHMgc3VwcG9ydCBmb3IgbWlsbGlzLFxuLy8gdGhlIHZhbGlkYXRvciB3aWxsIG5lZWQgdG8gY2hlY2sgZm9yIE51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bCAqIDEwMDApLlxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVHRsU2Vjb25kcyh0dGw6IG51bWJlcikge1xuICBpZiAodHRsIDwgMCB8fCAhTnVtYmVyLmlzU2FmZUludGVnZXIodHRsKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgIGB0dGwgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIHJlY2VpdmVkICR7dHRsfWBcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVZhbGlkRm9yU2Vjb25kcyh2YWxpZEZvclNlY29uZHM6IG51bWJlcikge1xuICBpZiAodmFsaWRGb3JTZWNvbmRzIDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndmFsaWRGb3JTZWNvbmRzIG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcikge1xuICBpZiAodGltZW91dCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3RpbWVvdXQgbXVzdCBiZSBwb3NpdGl2ZScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURpc3Bvc2FibGVUb2tlbkV4cGlyeShleHBpcmVzSW46IEV4cGlyZXNJbikge1xuICBpZiAoIWV4cGlyZXNJbi5kb2VzRXhwaXJlKCkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Rpc3Bvc2FibGUgdG9rZW5zIG11c3QgaGF2ZSBhbiBleHBpcnknKTtcbiAgfVxuICBpZiAoZXhwaXJlc0luLnNlY29uZHMoKSA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Rpc3Bvc2FibGUgdG9rZW4gZXhwaXJ5IG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEaXNwb3NhYmxlVG9rZW5Ub2tlbklEKHRva2VuSWQ6IHN0cmluZykge1xuICBpZiAodG9rZW5JZC5sZW5ndGggPiA2NCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdUb2tlbklEIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDY0IGNoYXJhY3RlcnMuJ1xuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNFbXB0eShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gIXN0ci50cmltKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jhc2U2NChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBlbmNvZGVUb0Jhc2U2NChkZWNvZGVGcm9tQmFzZTY0KHN0cikpID09PSBzdHI7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGVhZGVyYm9hcmQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkUmFua3Moc3RhcnRfcmFuazogbnVtYmVyLCBlbmRfcmFuazogbnVtYmVyKSB7XG4gIGlmIChzdGFydF9yYW5rID4gMCAmJiBlbmRfcmFuayA+IDAgJiYgc3RhcnRfcmFuayA+PSBlbmRfcmFuaykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc3RhcnQgcmFuayBtdXN0IGJlIGxlc3MgdGhhbiBlbmQgcmFuaycpO1xuICB9XG4gIGlmIChzdGFydF9yYW5rIDwgMCB8fCBlbmRfcmFuayA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3JhbmtzIG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZE9mZnNldChvZmZzZXQ6IG51bWJlcikge1xuICBpZiAob2Zmc2V0IDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignb2Zmc2V0IG11c3QgYmUgbm9uLW5lZ2F0aXZlICg+PSAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkQ291bnQoY291bnQ6IG51bWJlcikge1xuICBpZiAoY291bnQgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjb3VudCBtdXN0IGJlIHN0cmljdGx5IHBvc2l0aXZlICg+IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmROdW1iZXJPZkVsZW1lbnRzKG51bUVsZW1lbnRzOiBudW1iZXIpIHtcbiAgaWYgKG51bUVsZW1lbnRzIDwgMSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbXVzdCBwcm92aWRlIGF0IGxlYXN0IG9uZSBlbGVtZW50Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTWF4Q29uY3VycmVudFJlcXVlc3RzKGxpbWl0OiBudW1iZXIpIHtcbiAgaWYgKGxpbWl0IDwgMSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdjb25jdXJyZW50IHJlcXVlc3RzIGxpbWl0IG11c3QgYmUgc3RyaWN0bHkgcG9zaXRpdmUgKD4gMCknXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRTb3VyY2VzKHNvdXJjZXM6IFNvcnRlZFNldFNvdXJjZVtdKSB7XG4gIGlmICghc291cmNlcykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignQXQgbGVhc3Qgb25lIHNvdXJjZXMgaXMgcmVxdWlyZWQnKTtcbiAgfVxuICBmb3IgKGNvbnN0IHNvdXJjZSBvZiBzb3VyY2VzKSB7XG4gICAgY29uc3Qge3NvcnRlZFNldE5hbWUsIHdlaWdodH0gPSBzb3VyY2U7XG5cbiAgICBpZiAodHlwZW9mIHNvcnRlZFNldE5hbWUgIT09ICdzdHJpbmcnIHx8IHNvcnRlZFNldE5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAgICdzb3J0ZWRTZXROYW1lIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZSh3ZWlnaHQpKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3dlaWdodCBtdXN0IGJlIGEgZmluaXRlIG51bWJlcicpO1xuICAgIH1cbiAgfVxufVxuIl19
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUVsRCxxQ0FBMEQ7QUFFMUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFKRCw4Q0FJQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLElBQVk7SUFDNUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDO0FBSkQsOENBSUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFZO0lBQ25ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0tBQzdFO0FBQ0gsQ0FBQztBQUpELDREQUlDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLElBQVk7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDOUQ7QUFDSCxDQUFDO0FBSkQsMENBSUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxLQUFhO0lBQ2xELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNiLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQztBQUpELHdEQUlDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBYTtJQUMvQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7UUFDYixN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SUFDckUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQ25CLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQztBQUpELGtGQUlDO0FBRUQsU0FBZ0IsNkJBQTZCLENBQUMsS0FBYTtJQUN6RCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7UUFDYixNQUFNLElBQUksNkJBQW9CLENBQzVCLDJEQUEyRCxDQUM1RCxDQUFDO0tBQ0g7QUFDSCxDQUFDO0FBTkQsc0VBTUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxPQUEwQjtJQUNqRSxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osTUFBTSxJQUFJLDZCQUFvQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7S0FDcEU7SUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtRQUM1QixNQUFNLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUV2QyxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuRSxNQUFNLElBQUksNkJBQW9CLENBQzVCLDBDQUEwQyxDQUMzQyxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksNkJBQW9CLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNsRTtLQUNGO0FBQ0gsQ0FBQztBQWpCRCw0REFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludmFsaWRBcmd1bWVudEVycm9yfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtFeHBpcmVzSW4sIFNvcnRlZFNldFNvdXJjZX0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtkZWNvZGVGcm9tQmFzZTY0LCBlbmNvZGVUb0Jhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTdG9yZU5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzdG9yZSBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ2FjaGVOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY2FjaGUgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlS2V5T3JQcmVmaXgobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjYWNoZSBrZXkgb3Iga2V5IHByZWZpeCBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzZXQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldFNhbXBsZUxpbWl0KGxpbWl0OiBudW1iZXIpIHtcbiAgaWYgKGxpbWl0IDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGltaXQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU2V0UG9wQ291bnQoY291bnQ6IG51bWJlcikge1xuICBpZiAoY291bnQgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjb3VudCBtdXN0IGJlIHBvc2l0aXZlICg+IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3NvcnRlZCBzZXQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldFJhbmtzKHN0YXJ0X3Jhbms6IG51bWJlciwgZW5kX3Jhbms/OiBudW1iZXIpIHtcbiAgaWYgKGVuZF9yYW5rID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHN0YXJ0X3JhbmsgPiAwICYmIGVuZF9yYW5rID4gMCAmJiBzdGFydF9yYW5rID4gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3N0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHJhbmsnKTtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA8IDAgJiYgZW5kX3JhbmsgPCAwICYmIHN0YXJ0X3JhbmsgPj0gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnbmVnYXRpdmUgc3RhcnQgcmFuayBtdXN0IGJlIGxlc3MgdGhhbiBuZWdhdGl2ZSBlbmQgcmFuaydcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldFNjb3JlcyhtaW5TY29yZT86IG51bWJlciwgbWF4U2NvcmU/OiBudW1iZXIpIHtcbiAgaWYgKG1pblNjb3JlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKG1heFNjb3JlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKG1pblNjb3JlID4gbWF4U2NvcmUpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnbWluU2NvcmUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4U2NvcmUnXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRPZmZzZXQob2Zmc2V0OiBudW1iZXIpIHtcbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ29mZnNldCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoPj0gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRDb3VudChjb3VudDogbnVtYmVyKSB7XG4gIGlmIChjb3VudCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NvdW50IG11c3QgYmUgc3RyaWN0bHkgcG9zaXRpdmUgKD4gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEaWN0aW9uYXJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2RpY3Rpb25hcnkgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxpc3ROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGlzdCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGlzdFNsaWNlU3RhcnRFbmQoXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXIsXG4gIGVuZEluZGV4PzogbnVtYmVyXG4pIHtcbiAgaWYgKHN0YXJ0SW5kZXggPT09IHVuZGVmaW5lZCB8fCBlbmRJbmRleCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIC8vIGNhbid0IHZhbGlkYXRlIGJvdW5kcyBmb3Igc3RhcnQgYW5kIGluZGV4IG9mIGVpdGhlciBvciBhcmUgbmVnYXRpdmUgd2l0aG91dCBsaXN0IGxlbmd0aFxuICBpZiAoc3RhcnRJbmRleCA+IDAgfHwgZW5kSW5kZXggPCAwKSByZXR1cm47XG4gIGlmIChlbmRJbmRleCA8PSBzdGFydEluZGV4KSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ2VuZEluZGV4IChleGNsdXNpdmUpIG11c3QgYmUgbGFyZ2VyIHRoYW4gc3RhcnRJbmRleCAoaW5jbHVzaXZlKSdcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVRvcGljTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3RvcGljIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVXZWJob29rTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3dlYmhvb2sgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUZ1bmN0aW9uTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Z1bmN0aW9uIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVGdW5jdGlvbklkKGZ1bmN0aW9uSWQ6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShmdW5jdGlvbklkKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignZnVuY3Rpb24gaWQgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVJbmRleE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdpbmRleCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTnVtRGltZW5zaW9ucyhudW1EaW1lbnNpb25zOiBudW1iZXIpIHtcbiAgaWYgKG51bURpbWVuc2lvbnMgPD0gMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbnVtRGltZW5zaW9ucyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVG9wSyh0b3BLOiBudW1iZXIpIHtcbiAgaWYgKHRvcEsgPD0gMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndG9wSyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVHRsTWludXRlcyh0dGxNaW51dGVzOiBudW1iZXIpIHtcbiAgaWYgKHR0bE1pbnV0ZXMgPCAwIHx8ICFOdW1iZXIuaXNTYWZlSW50ZWdlcih0dGxNaW51dGVzKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndHRsTWludXRlcyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcicpO1xuICB9XG59XG5cbi8vIEN1cnJlbnRseSBhY2NlcHRpbmcgdHRsIGluIHNlY29uZHMsIGJ1dCBpZiBzb21lb25lIHJlcXVlc3RzIHN1cHBvcnQgZm9yIG1pbGxpcyxcbi8vIHRoZSB2YWxpZGF0b3Igd2lsbCBuZWVkIHRvIGNoZWNrIGZvciBOdW1iZXIuaXNTYWZlSW50ZWdlcih0dGwgKiAxMDAwKS5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVR0bFNlY29uZHModHRsOiBudW1iZXIpIHtcbiAgaWYgKHR0bCA8IDAgfHwgIU51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bCkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICBgdHRsIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCByZWNlaXZlZCAke3R0bH1gXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVWYWxpZEZvclNlY29uZHModmFsaWRGb3JTZWNvbmRzOiBudW1iZXIpIHtcbiAgaWYgKHZhbGlkRm9yU2Vjb25kcyA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3ZhbGlkRm9yU2Vjb25kcyBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVGltZW91dCh0aW1lb3V0OiBudW1iZXIpIHtcbiAgaWYgKHRpbWVvdXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0aW1lb3V0IG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEaXNwb3NhYmxlVG9rZW5FeHBpcnkoZXhwaXJlc0luOiBFeHBpcmVzSW4pIHtcbiAgaWYgKCFleHBpcmVzSW4uZG9lc0V4cGlyZSgpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdkaXNwb3NhYmxlIHRva2VucyBtdXN0IGhhdmUgYW4gZXhwaXJ5Jyk7XG4gIH1cbiAgaWYgKGV4cGlyZXNJbi5zZWNvbmRzKCkgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdkaXNwb3NhYmxlIHRva2VuIGV4cGlyeSBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGlzcG9zYWJsZVRva2VuVG9rZW5JRCh0b2tlbklkOiBzdHJpbmcpIHtcbiAgaWYgKHRva2VuSWQubGVuZ3RoID4gNjQpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnVG9rZW5JRCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byA2NCBjaGFyYWN0ZXJzLidcbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzRW1wdHkoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuICFzdHIudHJpbSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCYXNlNjQoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZW5jb2RlVG9CYXNlNjQoZGVjb2RlRnJvbUJhc2U2NChzdHIpKSA9PT0gc3RyO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2xlYWRlcmJvYXJkIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZFJhbmtzKHN0YXJ0X3Jhbms6IG51bWJlciwgZW5kX3Jhbms6IG51bWJlcikge1xuICBpZiAoc3RhcnRfcmFuayA+IDAgJiYgZW5kX3JhbmsgPiAwICYmIHN0YXJ0X3JhbmsgPj0gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3N0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHJhbmsnKTtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA8IDAgfHwgZW5kX3JhbmsgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdyYW5rcyBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmRPZmZzZXQob2Zmc2V0OiBudW1iZXIpIHtcbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ29mZnNldCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoPj0gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZENvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgaWYgKGNvdW50IDwgMSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY291bnQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkTnVtYmVyT2ZFbGVtZW50cyhudW1FbGVtZW50czogbnVtYmVyKSB7XG4gIGlmIChudW1FbGVtZW50cyA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ211c3QgcHJvdmlkZSBhdCBsZWFzdCBvbmUgZWxlbWVudCcpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU1heENvbmN1cnJlbnRSZXF1ZXN0cyhsaW1pdDogbnVtYmVyKSB7XG4gIGlmIChsaW1pdCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnY29uY3VycmVudCByZXF1ZXN0cyBsaW1pdCBtdXN0IGJlIHN0cmljdGx5IHBvc2l0aXZlICg+IDApJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0U291cmNlcyhzb3VyY2VzOiBTb3J0ZWRTZXRTb3VyY2VbXSkge1xuICBpZiAoIXNvdXJjZXMpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ0F0IGxlYXN0IG9uZSBzb3VyY2VzIGlzIHJlcXVpcmVkJyk7XG4gIH1cbiAgZm9yIChjb25zdCBzb3VyY2Ugb2Ygc291cmNlcykge1xuICAgIGNvbnN0IHtzb3J0ZWRTZXROYW1lLCB3ZWlnaHR9ID0gc291cmNlO1xuXG4gICAgaWYgKHR5cGVvZiBzb3J0ZWRTZXROYW1lICE9PSAnc3RyaW5nJyB8fCBzb3J0ZWRTZXROYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICAnc29ydGVkU2V0TmFtZSBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZydcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUod2VpZ2h0KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd3ZWlnaHQgbXVzdCBiZSBhIGZpbml0ZSBudW1iZXInKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Metadata about a Momento Function, returned by `putFunction` and `listFunctions`.
3
+ */
4
+ export declare class FunctionInfo {
5
+ private readonly _functionId;
6
+ private readonly _name;
7
+ private readonly _description;
8
+ private readonly _latestVersion;
9
+ private readonly _currentVersion;
10
+ private readonly _lastUpdatedAt;
11
+ constructor(functionId: string, name: string, description: string, latestVersion: number, currentVersion: number, lastUpdatedAt: string);
12
+ getFunctionId(): string;
13
+ getName(): string;
14
+ getDescription(): string;
15
+ /** The latest version of the function. */
16
+ getLatestVersion(): number;
17
+ /** The version currently serving traffic (the pinned version, or the latest if not pinned). */
18
+ getCurrentVersion(): number;
19
+ /** When the function was last updated (ISO 8601). */
20
+ getLastUpdatedAt(): string;
21
+ }
22
+ /**
23
+ * Metadata about a single version of a Momento Function, returned by `listFunctionVersions`.
24
+ */
25
+ export declare class FunctionVersionInfo {
26
+ private readonly _functionId;
27
+ private readonly _version;
28
+ private readonly _description;
29
+ private readonly _wasmId;
30
+ constructor(functionId: string, version: number, description: string, wasmId: string);
31
+ getFunctionId(): string;
32
+ getVersion(): number;
33
+ getDescription(): string;
34
+ getWasmId(): string;
35
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FunctionVersionInfo = exports.FunctionInfo = void 0;
4
+ /**
5
+ * Metadata about a Momento Function, returned by `putFunction` and `listFunctions`.
6
+ */
7
+ class FunctionInfo {
8
+ constructor(functionId, name, description, latestVersion, currentVersion, lastUpdatedAt) {
9
+ this._functionId = functionId;
10
+ this._name = name;
11
+ this._description = description;
12
+ this._latestVersion = latestVersion;
13
+ this._currentVersion = currentVersion;
14
+ this._lastUpdatedAt = lastUpdatedAt;
15
+ }
16
+ getFunctionId() {
17
+ return this._functionId;
18
+ }
19
+ getName() {
20
+ return this._name;
21
+ }
22
+ getDescription() {
23
+ return this._description;
24
+ }
25
+ /** The latest version of the function. */
26
+ getLatestVersion() {
27
+ return this._latestVersion;
28
+ }
29
+ /** The version currently serving traffic (the pinned version, or the latest if not pinned). */
30
+ getCurrentVersion() {
31
+ return this._currentVersion;
32
+ }
33
+ /** When the function was last updated (ISO 8601). */
34
+ getLastUpdatedAt() {
35
+ return this._lastUpdatedAt;
36
+ }
37
+ }
38
+ exports.FunctionInfo = FunctionInfo;
39
+ /**
40
+ * Metadata about a single version of a Momento Function, returned by `listFunctionVersions`.
41
+ */
42
+ class FunctionVersionInfo {
43
+ constructor(functionId, version, description, wasmId) {
44
+ this._functionId = functionId;
45
+ this._version = version;
46
+ this._description = description;
47
+ this._wasmId = wasmId;
48
+ }
49
+ getFunctionId() {
50
+ return this._functionId;
51
+ }
52
+ getVersion() {
53
+ return this._version;
54
+ }
55
+ getDescription() {
56
+ return this._description;
57
+ }
58
+ getWasmId() {
59
+ return this._wasmId;
60
+ }
61
+ }
62
+ exports.FunctionVersionInfo = FunctionVersionInfo;
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24taW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZXNzYWdlcy9mdW5jdGlvbi1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBUXZCLFlBQ0UsVUFBa0IsRUFDbEIsSUFBWSxFQUNaLFdBQW1CLEVBQ25CLGFBQXFCLEVBQ3JCLGNBQXNCLEVBQ3RCLGFBQXFCO1FBRXJCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELDBDQUEwQztJQUNuQyxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCwrRkFBK0Y7SUFDeEYsaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQscURBQXFEO0lBQzlDLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztDQUNGO0FBbERELG9DQWtEQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFNOUIsWUFDRSxVQUFrQixFQUNsQixPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsTUFBYztRQUVkLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBakNELGtEQWlDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWV0YWRhdGEgYWJvdXQgYSBNb21lbnRvIEZ1bmN0aW9uLCByZXR1cm5lZCBieSBgcHV0RnVuY3Rpb25gIGFuZCBgbGlzdEZ1bmN0aW9uc2AuXG4gKi9cbmV4cG9ydCBjbGFzcyBGdW5jdGlvbkluZm8ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9mdW5jdGlvbklkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzY3JpcHRpb246IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfbGF0ZXN0VmVyc2lvbjogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jdXJyZW50VmVyc2lvbjogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9sYXN0VXBkYXRlZEF0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZnVuY3Rpb25JZDogc3RyaW5nLFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGxhdGVzdFZlcnNpb246IG51bWJlcixcbiAgICBjdXJyZW50VmVyc2lvbjogbnVtYmVyLFxuICAgIGxhc3RVcGRhdGVkQXQ6IHN0cmluZ1xuICApIHtcbiAgICB0aGlzLl9mdW5jdGlvbklkID0gZnVuY3Rpb25JZDtcbiAgICB0aGlzLl9uYW1lID0gbmFtZTtcbiAgICB0aGlzLl9kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgIHRoaXMuX2xhdGVzdFZlcnNpb24gPSBsYXRlc3RWZXJzaW9uO1xuICAgIHRoaXMuX2N1cnJlbnRWZXJzaW9uID0gY3VycmVudFZlcnNpb247XG4gICAgdGhpcy5fbGFzdFVwZGF0ZWRBdCA9IGxhc3RVcGRhdGVkQXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RnVuY3Rpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mdW5jdGlvbklkO1xuICB9XG5cbiAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIC8qKiBUaGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIGZ1bmN0aW9uLiAqL1xuICBwdWJsaWMgZ2V0TGF0ZXN0VmVyc2lvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sYXRlc3RWZXJzaW9uO1xuICB9XG5cbiAgLyoqIFRoZSB2ZXJzaW9uIGN1cnJlbnRseSBzZXJ2aW5nIHRyYWZmaWMgKHRoZSBwaW5uZWQgdmVyc2lvbiwgb3IgdGhlIGxhdGVzdCBpZiBub3QgcGlubmVkKS4gKi9cbiAgcHVibGljIGdldEN1cnJlbnRWZXJzaW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWZXJzaW9uO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGZ1bmN0aW9uIHdhcyBsYXN0IHVwZGF0ZWQgKElTTyA4NjAxKS4gKi9cbiAgcHVibGljIGdldExhc3RVcGRhdGVkQXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGFzdFVwZGF0ZWRBdDtcbiAgfVxufVxuXG4vKipcbiAqIE1ldGFkYXRhIGFib3V0IGEgc2luZ2xlIHZlcnNpb24gb2YgYSBNb21lbnRvIEZ1bmN0aW9uLCByZXR1cm5lZCBieSBgbGlzdEZ1bmN0aW9uVmVyc2lvbnNgLlxuICovXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25WZXJzaW9uSW5mbyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Z1bmN0aW9uSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBfdmVyc2lvbjogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXNjcmlwdGlvbjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF93YXNtSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBmdW5jdGlvbklkOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogbnVtYmVyLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgd2FzbUlkOiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5fZnVuY3Rpb25JZCA9IGZ1bmN0aW9uSWQ7XG4gICAgdGhpcy5fdmVyc2lvbiA9IHZlcnNpb247XG4gICAgdGhpcy5fZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICB0aGlzLl93YXNtSWQgPSB3YXNtSWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RnVuY3Rpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mdW5jdGlvbklkO1xuICB9XG5cbiAgcHVibGljIGdldFZlcnNpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdmVyc2lvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXYXNtSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fd2FzbUlkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ export declare enum PutFunctionResponse {
2
+ Success = "Success",
3
+ Error = "Error"
4
+ }
5
+ export declare enum DeleteFunctionResponse {
6
+ Success = "Success",
7
+ Error = "Error"
8
+ }
9
+ export declare enum ListFunctionsResponse {
10
+ Success = "Success",
11
+ Error = "Error"
12
+ }
13
+ export declare enum ListFunctionVersionsResponse {
14
+ Success = "Success",
15
+ Error = "Error"
16
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListFunctionVersionsResponse = exports.ListFunctionsResponse = exports.DeleteFunctionResponse = exports.PutFunctionResponse = void 0;
4
+ var PutFunctionResponse;
5
+ (function (PutFunctionResponse) {
6
+ PutFunctionResponse["Success"] = "Success";
7
+ PutFunctionResponse["Error"] = "Error";
8
+ })(PutFunctionResponse = exports.PutFunctionResponse || (exports.PutFunctionResponse = {}));
9
+ var DeleteFunctionResponse;
10
+ (function (DeleteFunctionResponse) {
11
+ DeleteFunctionResponse["Success"] = "Success";
12
+ DeleteFunctionResponse["Error"] = "Error";
13
+ })(DeleteFunctionResponse = exports.DeleteFunctionResponse || (exports.DeleteFunctionResponse = {}));
14
+ var ListFunctionsResponse;
15
+ (function (ListFunctionsResponse) {
16
+ ListFunctionsResponse["Success"] = "Success";
17
+ ListFunctionsResponse["Error"] = "Error";
18
+ })(ListFunctionsResponse = exports.ListFunctionsResponse || (exports.ListFunctionsResponse = {}));
19
+ var ListFunctionVersionsResponse;
20
+ (function (ListFunctionVersionsResponse) {
21
+ ListFunctionVersionsResponse["Success"] = "Success";
22
+ ListFunctionVersionsResponse["Error"] = "Error";
23
+ })(ListFunctionVersionsResponse = exports.ListFunctionVersionsResponse || (exports.ListFunctionVersionsResponse = {}));
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zL2Z1bmN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3QiwwQ0FBbUIsQ0FBQTtJQUNuQixzQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxtQkFBbUIsR0FBbkIsMkJBQW1CLEtBQW5CLDJCQUFtQixRQUc5QjtBQUVELElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUNoQyw2Q0FBbUIsQ0FBQTtJQUNuQix5Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxzQkFBc0IsR0FBdEIsOEJBQXNCLEtBQXRCLDhCQUFzQixRQUdqQztBQUVELElBQVkscUJBR1g7QUFIRCxXQUFZLHFCQUFxQjtJQUMvQiw0Q0FBbUIsQ0FBQTtJQUNuQix3Q0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxxQkFBcUIsR0FBckIsNkJBQXFCLEtBQXJCLDZCQUFxQixRQUdoQztBQUVELElBQVksNEJBR1g7QUFIRCxXQUFZLDRCQUE0QjtJQUN0QyxtREFBbUIsQ0FBQTtJQUNuQiwrQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyw0QkFBNEIsR0FBNUIsb0NBQTRCLEtBQTVCLG9DQUE0QixRQUd2QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFB1dEZ1bmN0aW9uUmVzcG9uc2Uge1xuICBTdWNjZXNzID0gJ1N1Y2Nlc3MnLFxuICBFcnJvciA9ICdFcnJvcicsXG59XG5cbmV4cG9ydCBlbnVtIERlbGV0ZUZ1bmN0aW9uUmVzcG9uc2Uge1xuICBTdWNjZXNzID0gJ1N1Y2Nlc3MnLFxuICBFcnJvciA9ICdFcnJvcicsXG59XG5cbmV4cG9ydCBlbnVtIExpc3RGdW5jdGlvbnNSZXNwb25zZSB7XG4gIFN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gTGlzdEZ1bmN0aW9uVmVyc2lvbnNSZXNwb25zZSB7XG4gIFN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cbiJdfQ==
@@ -2,5 +2,6 @@ export * from './auth';
2
2
  export * from './cache';
3
3
  export * from './topics';
4
4
  export * from './leaderboard';
5
+ export * from './function';
5
6
  export * from './store';
6
7
  export * from './webhook';
@@ -18,6 +18,7 @@ __exportStar(require("./auth"), exports);
18
18
  __exportStar(require("./cache"), exports);
19
19
  __exportStar(require("./topics"), exports);
20
20
  __exportStar(require("./leaderboard"), exports);
21
+ __exportStar(require("./function"), exports);
21
22
  __exportStar(require("./store"), exports);
22
23
  __exportStar(require("./webhook"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIsMENBQXdCO0FBQ3hCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2NhY2hlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9waWNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGVhZGVyYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL3dlYmhvb2snO1xuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIsNkNBQTJCO0FBQzNCLDBDQUF3QjtBQUN4Qiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL3RvcGljcyc7XG5leHBvcnQgKiBmcm9tICcuL2xlYWRlcmJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL3dlYmhvb2snO1xuIl19
@@ -0,0 +1,29 @@
1
+ import { SdkError } from '../../../errors';
2
+ import { BaseResponseError, BaseResponseSuccess } from '../response-base';
3
+ import { DeleteFunctionResponse } from '../enums';
4
+ interface IResponse {
5
+ readonly type: DeleteFunctionResponse;
6
+ }
7
+ /**
8
+ * Indicates a successful delete-function request. Deleting a function that does not exist returns an Error
9
+ * with code NOT_FOUND (deletes are not idempotent).
10
+ */
11
+ export declare class Success extends BaseResponseSuccess implements IResponse {
12
+ readonly type: DeleteFunctionResponse.Success;
13
+ }
14
+ /**
15
+ * Indicates that an error occurred during the delete-function request.
16
+ *
17
+ * This response object includes the following fields that you can use to determine
18
+ * how you would like to handle the error:
19
+ *
20
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
21
+ * - `message()` - a human-readable description of the error
22
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
23
+ */
24
+ export declare class Error extends BaseResponseError implements IResponse {
25
+ readonly type: DeleteFunctionResponse.Error;
26
+ constructor(_innerException: SdkError);
27
+ }
28
+ export type Response = Success | Error;
29
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Error = exports.Success = void 0;
4
+ const response_base_1 = require("../response-base");
5
+ const enums_1 = require("../enums");
6
+ /**
7
+ * Indicates a successful delete-function request. Deleting a function that does not exist returns an Error
8
+ * with code NOT_FOUND (deletes are not idempotent).
9
+ */
10
+ class Success extends response_base_1.BaseResponseSuccess {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.type = enums_1.DeleteFunctionResponse.Success;
14
+ }
15
+ }
16
+ exports.Success = Success;
17
+ /**
18
+ * Indicates that an error occurred during the delete-function request.
19
+ *
20
+ * This response object includes the following fields that you can use to determine
21
+ * how you would like to handle the error:
22
+ *
23
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
24
+ * - `message()` - a human-readable description of the error
25
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
26
+ */
27
+ class Error extends response_base_1.BaseResponseError {
28
+ constructor(_innerException) {
29
+ super(_innerException);
30
+ this.type = enums_1.DeleteFunctionResponse.Error;
31
+ }
32
+ }
33
+ exports.Error = Error;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21lc3NhZ2VzL3Jlc3BvbnNlcy9mdW5jdGlvbi9kZWxldGUtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0RBQXdFO0FBQ3hFLG9DQUFnRDtBQU1oRDs7O0dBR0c7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBbUI7SUFBaEQ7O1FBQ1csU0FBSSxHQUNYLDhCQUFzQixDQUFDLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0NBQUE7QUFIRCwwQkFHQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsS0FBTSxTQUFRLGlDQUFpQjtJQUcxQyxZQUFZLGVBQXlCO1FBQ25DLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUhoQixTQUFJLEdBQWlDLDhCQUFzQixDQUFDLEtBQUssQ0FBQztJQUkzRSxDQUFDO0NBQ0Y7QUFORCxzQkFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge0Jhc2VSZXNwb25zZUVycm9yLCBCYXNlUmVzcG9uc2VTdWNjZXNzfSBmcm9tICcuLi9yZXNwb25zZS1iYXNlJztcbmltcG9ydCB7RGVsZXRlRnVuY3Rpb25SZXNwb25zZX0gZnJvbSAnLi4vZW51bXMnO1xuXG5pbnRlcmZhY2UgSVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdHlwZTogRGVsZXRlRnVuY3Rpb25SZXNwb25zZTtcbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgYSBzdWNjZXNzZnVsIGRlbGV0ZS1mdW5jdGlvbiByZXF1ZXN0LiBEZWxldGluZyBhIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3QgZXhpc3QgcmV0dXJucyBhbiBFcnJvclxuICogd2l0aCBjb2RlIE5PVF9GT1VORCAoZGVsZXRlcyBhcmUgbm90IGlkZW1wb3RlbnQpLlxuICovXG5leHBvcnQgY2xhc3MgU3VjY2VzcyBleHRlbmRzIEJhc2VSZXNwb25zZVN1Y2Nlc3MgaW1wbGVtZW50cyBJUmVzcG9uc2Uge1xuICByZWFkb25seSB0eXBlOiBEZWxldGVGdW5jdGlvblJlc3BvbnNlLlN1Y2Nlc3MgPVxuICAgIERlbGV0ZUZ1bmN0aW9uUmVzcG9uc2UuU3VjY2Vzcztcbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIGRlbGV0ZS1mdW5jdGlvbiByZXF1ZXN0LlxuICpcbiAqIFRoaXMgcmVzcG9uc2Ugb2JqZWN0IGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZmllbGRzIHRoYXQgeW91IGNhbiB1c2UgdG8gZGV0ZXJtaW5lXG4gKiBob3cgeW91IHdvdWxkIGxpa2UgdG8gaGFuZGxlIHRoZSBlcnJvcjpcbiAqXG4gKiAtIGBlcnJvckNvZGUoKWAgLSBhIHVuaXF1ZSBNb21lbnRvIGVycm9yIGNvZGUgaW5kaWNhdGluZyB0aGUgdHlwZSBvZiBlcnJvciB0aGF0IG9jY3VycmVkLlxuICogLSBgbWVzc2FnZSgpYCAtIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGVycm9yXG4gKiAtIGBpbm5lckV4Y2VwdGlvbigpYCAtIHRoZSBvcmlnaW5hbCBlcnJvciB0aGF0IGNhdXNlZCB0aGUgZmFpbHVyZTsgY2FuIGJlIHJlLXRocm93bi5cbiAqL1xuZXhwb3J0IGNsYXNzIEVycm9yIGV4dGVuZHMgQmFzZVJlc3BvbnNlRXJyb3IgaW1wbGVtZW50cyBJUmVzcG9uc2Uge1xuICByZWFkb25seSB0eXBlOiBEZWxldGVGdW5jdGlvblJlc3BvbnNlLkVycm9yID0gRGVsZXRlRnVuY3Rpb25SZXNwb25zZS5FcnJvcjtcblxuICBjb25zdHJ1Y3RvcihfaW5uZXJFeGNlcHRpb246IFNka0Vycm9yKSB7XG4gICAgc3VwZXIoX2lubmVyRXhjZXB0aW9uKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZXNwb25zZSA9IFN1Y2Nlc3MgfCBFcnJvcjtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * as PutFunction from './put-function';
2
+ export * as DeleteFunction from './delete-function';
3
+ export * as ListFunctions from './list-functions';
4
+ export * as ListFunctionVersions from './list-function-versions';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListFunctionVersions = exports.ListFunctions = exports.DeleteFunction = exports.PutFunction = void 0;
4
+ exports.PutFunction = require("./put-function");
5
+ exports.DeleteFunction = require("./delete-function");
6
+ exports.ListFunctions = require("./list-functions");
7
+ exports.ListFunctionVersions = require("./list-function-versions");
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2Z1bmN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGdEQUE4QztBQUM5QyxzREFBb0Q7QUFDcEQsb0RBQWtEO0FBQ2xELG1FQUFpRSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGFzIFB1dEZ1bmN0aW9uIGZyb20gJy4vcHV0LWZ1bmN0aW9uJztcbmV4cG9ydCAqIGFzIERlbGV0ZUZ1bmN0aW9uIGZyb20gJy4vZGVsZXRlLWZ1bmN0aW9uJztcbmV4cG9ydCAqIGFzIExpc3RGdW5jdGlvbnMgZnJvbSAnLi9saXN0LWZ1bmN0aW9ucyc7XG5leHBvcnQgKiBhcyBMaXN0RnVuY3Rpb25WZXJzaW9ucyBmcm9tICcuL2xpc3QtZnVuY3Rpb24tdmVyc2lvbnMnO1xuIl19
@@ -0,0 +1,37 @@
1
+ import { SdkError } from '../../../errors';
2
+ import { FunctionVersionInfo } from '../../function-info';
3
+ import { BaseResponseError, BaseResponseSuccess } from '../response-base';
4
+ import { ListFunctionVersionsResponse } from '../enums';
5
+ interface IResponse {
6
+ readonly type: ListFunctionVersionsResponse;
7
+ }
8
+ /**
9
+ * Indicates a successful list-function-versions request, carrying the versions of the function.
10
+ */
11
+ export declare class Success extends BaseResponseSuccess implements IResponse {
12
+ readonly type: ListFunctionVersionsResponse.Success;
13
+ private readonly _versions;
14
+ constructor(versions: FunctionVersionInfo[]);
15
+ /**
16
+ * The versions of the function.
17
+ * @returns {FunctionVersionInfo[]}
18
+ */
19
+ getVersions(): FunctionVersionInfo[];
20
+ toString(): string;
21
+ }
22
+ /**
23
+ * Indicates that an error occurred during the list-function-versions request.
24
+ *
25
+ * This response object includes the following fields that you can use to determine
26
+ * how you would like to handle the error:
27
+ *
28
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
29
+ * - `message()` - a human-readable description of the error
30
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
31
+ */
32
+ export declare class Error extends BaseResponseError implements IResponse {
33
+ readonly type: ListFunctionVersionsResponse.Error;
34
+ constructor(_innerException: SdkError);
35
+ }
36
+ export type Response = Success | Error;
37
+ export {};
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Error = exports.Success = void 0;
4
+ const response_base_1 = require("../response-base");
5
+ const enums_1 = require("../enums");
6
+ /**
7
+ * Indicates a successful list-function-versions request, carrying the versions of the function.
8
+ */
9
+ class Success extends response_base_1.BaseResponseSuccess {
10
+ constructor(versions) {
11
+ super();
12
+ this.type = enums_1.ListFunctionVersionsResponse.Success;
13
+ this._versions = versions;
14
+ }
15
+ /**
16
+ * The versions of the function.
17
+ * @returns {FunctionVersionInfo[]}
18
+ */
19
+ getVersions() {
20
+ return [...this._versions];
21
+ }
22
+ toString() {
23
+ return `${super.toString()}: ${this._versions.length} versions`;
24
+ }
25
+ }
26
+ exports.Success = Success;
27
+ /**
28
+ * Indicates that an error occurred during the list-function-versions request.
29
+ *
30
+ * This response object includes the following fields that you can use to determine
31
+ * how you would like to handle the error:
32
+ *
33
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
34
+ * - `message()` - a human-readable description of the error
35
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
36
+ */
37
+ class Error extends response_base_1.BaseResponseError {
38
+ constructor(_innerException) {
39
+ super(_innerException);
40
+ this.type = enums_1.ListFunctionVersionsResponse.Error;
41
+ }
42
+ }
43
+ exports.Error = Error;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1mdW5jdGlvbi12ZXJzaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tZXNzYWdlcy9yZXNwb25zZXMvZnVuY3Rpb24vbGlzdC1mdW5jdGlvbi12ZXJzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxvREFBd0U7QUFDeEUsb0NBQXNEO0FBTXREOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsbUNBQW1CO0lBSzlDLFlBQVksUUFBK0I7UUFDekMsS0FBSyxFQUFFLENBQUM7UUFMRCxTQUFJLEdBQ1gsb0NBQTRCLENBQUMsT0FBTyxDQUFDO1FBS3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRWUsUUFBUTtRQUN0QixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxXQUFXLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBckJELDBCQXFCQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsS0FBTSxTQUFRLGlDQUFpQjtJQUkxQyxZQUFZLGVBQXlCO1FBQ25DLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUpoQixTQUFJLEdBQ1gsb0NBQTRCLENBQUMsS0FBSyxDQUFDO0lBSXJDLENBQUM7Q0FDRjtBQVBELHNCQU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZGtFcnJvcn0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7RnVuY3Rpb25WZXJzaW9uSW5mb30gZnJvbSAnLi4vLi4vZnVuY3Rpb24taW5mbyc7XG5pbXBvcnQge0Jhc2VSZXNwb25zZUVycm9yLCBCYXNlUmVzcG9uc2VTdWNjZXNzfSBmcm9tICcuLi9yZXNwb25zZS1iYXNlJztcbmltcG9ydCB7TGlzdEZ1bmN0aW9uVmVyc2lvbnNSZXNwb25zZX0gZnJvbSAnLi4vZW51bXMnO1xuXG5pbnRlcmZhY2UgSVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdHlwZTogTGlzdEZ1bmN0aW9uVmVyc2lvbnNSZXNwb25zZTtcbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgYSBzdWNjZXNzZnVsIGxpc3QtZnVuY3Rpb24tdmVyc2lvbnMgcmVxdWVzdCwgY2FycnlpbmcgdGhlIHZlcnNpb25zIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1Y2Nlc3MgZXh0ZW5kcyBCYXNlUmVzcG9uc2VTdWNjZXNzIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdHlwZTogTGlzdEZ1bmN0aW9uVmVyc2lvbnNSZXNwb25zZS5TdWNjZXNzID1cbiAgICBMaXN0RnVuY3Rpb25WZXJzaW9uc1Jlc3BvbnNlLlN1Y2Nlc3M7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZlcnNpb25zOiBGdW5jdGlvblZlcnNpb25JbmZvW107XG5cbiAgY29uc3RydWN0b3IodmVyc2lvbnM6IEZ1bmN0aW9uVmVyc2lvbkluZm9bXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fdmVyc2lvbnMgPSB2ZXJzaW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbnMgb2YgdGhlIGZ1bmN0aW9uLlxuICAgKiBAcmV0dXJucyB7RnVuY3Rpb25WZXJzaW9uSW5mb1tdfVxuICAgKi9cbiAgcHVibGljIGdldFZlcnNpb25zKCk6IEZ1bmN0aW9uVmVyc2lvbkluZm9bXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl92ZXJzaW9uc107XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7c3VwZXIudG9TdHJpbmcoKX06ICR7dGhpcy5fdmVyc2lvbnMubGVuZ3RofSB2ZXJzaW9uc2A7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIGxpc3QtZnVuY3Rpb24tdmVyc2lvbnMgcmVxdWVzdC5cbiAqXG4gKiBUaGlzIHJlc3BvbnNlIG9iamVjdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGZpZWxkcyB0aGF0IHlvdSBjYW4gdXNlIHRvIGRldGVybWluZVxuICogaG93IHlvdSB3b3VsZCBsaWtlIHRvIGhhbmRsZSB0aGUgZXJyb3I6XG4gKlxuICogLSBgZXJyb3JDb2RlKClgIC0gYSB1bmlxdWUgTW9tZW50byBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIHR5cGUgb2YgZXJyb3IgdGhhdCBvY2N1cnJlZC5cbiAqIC0gYG1lc3NhZ2UoKWAgLSBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvclxuICogLSBgaW5uZXJFeGNlcHRpb24oKWAgLSB0aGUgb3JpZ2luYWwgZXJyb3IgdGhhdCBjYXVzZWQgdGhlIGZhaWx1cmU7IGNhbiBiZSByZS10aHJvd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFcnJvciBleHRlbmRzIEJhc2VSZXNwb25zZUVycm9yIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdHlwZTogTGlzdEZ1bmN0aW9uVmVyc2lvbnNSZXNwb25zZS5FcnJvciA9XG4gICAgTGlzdEZ1bmN0aW9uVmVyc2lvbnNSZXNwb25zZS5FcnJvcjtcblxuICBjb25zdHJ1Y3RvcihfaW5uZXJFeGNlcHRpb246IFNka0Vycm9yKSB7XG4gICAgc3VwZXIoX2lubmVyRXhjZXB0aW9uKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZXNwb25zZSA9IFN1Y2Nlc3MgfCBFcnJvcjtcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { SdkError } from '../../../errors';
2
+ import { FunctionInfo } from '../../function-info';
3
+ import { BaseResponseError, BaseResponseSuccess } from '../response-base';
4
+ import { ListFunctionsResponse } from '../enums';
5
+ interface IResponse {
6
+ readonly type: ListFunctionsResponse;
7
+ }
8
+ /**
9
+ * Indicates a successful list-functions request, carrying the functions in the cache.
10
+ */
11
+ export declare class Success extends BaseResponseSuccess implements IResponse {
12
+ readonly type: ListFunctionsResponse.Success;
13
+ private readonly _functions;
14
+ constructor(functions: FunctionInfo[]);
15
+ /**
16
+ * The functions in the cache.
17
+ * @returns {FunctionInfo[]}
18
+ */
19
+ getFunctions(): FunctionInfo[];
20
+ toString(): string;
21
+ }
22
+ /**
23
+ * Indicates that an error occurred during the list-functions request.
24
+ *
25
+ * This response object includes the following fields that you can use to determine
26
+ * how you would like to handle the error:
27
+ *
28
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
29
+ * - `message()` - a human-readable description of the error
30
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
31
+ */
32
+ export declare class Error extends BaseResponseError implements IResponse {
33
+ readonly type: ListFunctionsResponse.Error;
34
+ constructor(_innerException: SdkError);
35
+ }
36
+ export type Response = Success | Error;
37
+ export {};
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Error = exports.Success = void 0;
4
+ const response_base_1 = require("../response-base");
5
+ const enums_1 = require("../enums");
6
+ /**
7
+ * Indicates a successful list-functions request, carrying the functions in the cache.
8
+ */
9
+ class Success extends response_base_1.BaseResponseSuccess {
10
+ constructor(functions) {
11
+ super();
12
+ this.type = enums_1.ListFunctionsResponse.Success;
13
+ this._functions = functions;
14
+ }
15
+ /**
16
+ * The functions in the cache.
17
+ * @returns {FunctionInfo[]}
18
+ */
19
+ getFunctions() {
20
+ return [...this._functions];
21
+ }
22
+ toString() {
23
+ return `${super.toString()}: ${this._functions.length} functions`;
24
+ }
25
+ }
26
+ exports.Success = Success;
27
+ /**
28
+ * Indicates that an error occurred during the list-functions request.
29
+ *
30
+ * This response object includes the following fields that you can use to determine
31
+ * how you would like to handle the error:
32
+ *
33
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
34
+ * - `message()` - a human-readable description of the error
35
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
36
+ */
37
+ class Error extends response_base_1.BaseResponseError {
38
+ constructor(_innerException) {
39
+ super(_innerException);
40
+ this.type = enums_1.ListFunctionsResponse.Error;
41
+ }
42
+ }
43
+ exports.Error = Error;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1mdW5jdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2Z1bmN0aW9uL2xpc3QtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG9EQUF3RTtBQUN4RSxvQ0FBK0M7QUFNL0M7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBbUI7SUFJOUMsWUFBWSxTQUF5QjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQUpELFNBQUksR0FBa0MsNkJBQXFCLENBQUMsT0FBTyxDQUFDO1FBSzNFLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZO1FBQ2pCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRWUsUUFBUTtRQUN0QixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxZQUFZLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBcEJELDBCQW9CQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsS0FBTSxTQUFRLGlDQUFpQjtJQUcxQyxZQUFZLGVBQXlCO1FBQ25DLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUhoQixTQUFJLEdBQWdDLDZCQUFxQixDQUFDLEtBQUssQ0FBQztJQUl6RSxDQUFDO0NBQ0Y7QUFORCxzQkFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge0Z1bmN0aW9uSW5mb30gZnJvbSAnLi4vLi4vZnVuY3Rpb24taW5mbyc7XG5pbXBvcnQge0Jhc2VSZXNwb25zZUVycm9yLCBCYXNlUmVzcG9uc2VTdWNjZXNzfSBmcm9tICcuLi9yZXNwb25zZS1iYXNlJztcbmltcG9ydCB7TGlzdEZ1bmN0aW9uc1Jlc3BvbnNlfSBmcm9tICcuLi9lbnVtcyc7XG5cbmludGVyZmFjZSBJUmVzcG9uc2Uge1xuICByZWFkb25seSB0eXBlOiBMaXN0RnVuY3Rpb25zUmVzcG9uc2U7XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIGEgc3VjY2Vzc2Z1bCBsaXN0LWZ1bmN0aW9ucyByZXF1ZXN0LCBjYXJyeWluZyB0aGUgZnVuY3Rpb25zIGluIHRoZSBjYWNoZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1Y2Nlc3MgZXh0ZW5kcyBCYXNlUmVzcG9uc2VTdWNjZXNzIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdHlwZTogTGlzdEZ1bmN0aW9uc1Jlc3BvbnNlLlN1Y2Nlc3MgPSBMaXN0RnVuY3Rpb25zUmVzcG9uc2UuU3VjY2VzcztcbiAgcHJpdmF0ZSByZWFkb25seSBfZnVuY3Rpb25zOiBGdW5jdGlvbkluZm9bXTtcblxuICBjb25zdHJ1Y3RvcihmdW5jdGlvbnM6IEZ1bmN0aW9uSW5mb1tdKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9mdW5jdGlvbnMgPSBmdW5jdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9ucyBpbiB0aGUgY2FjaGUuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbkluZm9bXX1cbiAgICovXG4gIHB1YmxpYyBnZXRGdW5jdGlvbnMoKTogRnVuY3Rpb25JbmZvW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5fZnVuY3Rpb25zXTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfTogJHt0aGlzLl9mdW5jdGlvbnMubGVuZ3RofSBmdW5jdGlvbnNgO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBsaXN0LWZ1bmN0aW9ucyByZXF1ZXN0LlxuICpcbiAqIFRoaXMgcmVzcG9uc2Ugb2JqZWN0IGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZmllbGRzIHRoYXQgeW91IGNhbiB1c2UgdG8gZGV0ZXJtaW5lXG4gKiBob3cgeW91IHdvdWxkIGxpa2UgdG8gaGFuZGxlIHRoZSBlcnJvcjpcbiAqXG4gKiAtIGBlcnJvckNvZGUoKWAgLSBhIHVuaXF1ZSBNb21lbnRvIGVycm9yIGNvZGUgaW5kaWNhdGluZyB0aGUgdHlwZSBvZiBlcnJvciB0aGF0IG9jY3VycmVkLlxuICogLSBgbWVzc2FnZSgpYCAtIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGVycm9yXG4gKiAtIGBpbm5lckV4Y2VwdGlvbigpYCAtIHRoZSBvcmlnaW5hbCBlcnJvciB0aGF0IGNhdXNlZCB0aGUgZmFpbHVyZTsgY2FuIGJlIHJlLXRocm93bi5cbiAqL1xuZXhwb3J0IGNsYXNzIEVycm9yIGV4dGVuZHMgQmFzZVJlc3BvbnNlRXJyb3IgaW1wbGVtZW50cyBJUmVzcG9uc2Uge1xuICByZWFkb25seSB0eXBlOiBMaXN0RnVuY3Rpb25zUmVzcG9uc2UuRXJyb3IgPSBMaXN0RnVuY3Rpb25zUmVzcG9uc2UuRXJyb3I7XG5cbiAgY29uc3RydWN0b3IoX2lubmVyRXhjZXB0aW9uOiBTZGtFcnJvcikge1xuICAgIHN1cGVyKF9pbm5lckV4Y2VwdGlvbik7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUmVzcG9uc2UgPSBTdWNjZXNzIHwgRXJyb3I7XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { SdkError } from '../../../errors';
2
+ import { FunctionInfo } from '../../function-info';
3
+ import { BaseResponseError, BaseResponseSuccess } from '../response-base';
4
+ import { PutFunctionResponse } from '../enums';
5
+ interface IResponse {
6
+ readonly type: PutFunctionResponse;
7
+ }
8
+ /**
9
+ * Indicates a successful put-function request. The function is created, or updated if one already exists with
10
+ * the same cache + name (each update creates a new version); the returned function carries its full metadata.
11
+ */
12
+ export declare class Success extends BaseResponseSuccess implements IResponse {
13
+ readonly type: PutFunctionResponse.Success;
14
+ private readonly _function;
15
+ constructor(deployedFunction: FunctionInfo);
16
+ /**
17
+ * The deployed function's metadata.
18
+ * @returns {FunctionInfo}
19
+ */
20
+ getFunction(): FunctionInfo;
21
+ /**
22
+ * The id of the deployed function.
23
+ * @returns {string}
24
+ */
25
+ functionId(): string;
26
+ /**
27
+ * The name of the deployed function.
28
+ * @returns {string}
29
+ */
30
+ name(): string;
31
+ toString(): string;
32
+ }
33
+ /**
34
+ * Indicates that an error occurred during the put-function request.
35
+ *
36
+ * This response object includes the following fields that you can use to determine
37
+ * how you would like to handle the error:
38
+ *
39
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
40
+ * - `message()` - a human-readable description of the error
41
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
42
+ */
43
+ export declare class Error extends BaseResponseError implements IResponse {
44
+ readonly type: PutFunctionResponse.Error;
45
+ constructor(_innerException: SdkError);
46
+ }
47
+ export type Response = Success | Error;
48
+ export {};
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Error = exports.Success = void 0;
4
+ const response_base_1 = require("../response-base");
5
+ const enums_1 = require("../enums");
6
+ /**
7
+ * Indicates a successful put-function request. The function is created, or updated if one already exists with
8
+ * the same cache + name (each update creates a new version); the returned function carries its full metadata.
9
+ */
10
+ class Success extends response_base_1.BaseResponseSuccess {
11
+ constructor(deployedFunction) {
12
+ super();
13
+ this.type = enums_1.PutFunctionResponse.Success;
14
+ this._function = deployedFunction;
15
+ }
16
+ /**
17
+ * The deployed function's metadata.
18
+ * @returns {FunctionInfo}
19
+ */
20
+ getFunction() {
21
+ return this._function;
22
+ }
23
+ /**
24
+ * The id of the deployed function.
25
+ * @returns {string}
26
+ */
27
+ functionId() {
28
+ return this._function.getFunctionId();
29
+ }
30
+ /**
31
+ * The name of the deployed function.
32
+ * @returns {string}
33
+ */
34
+ name() {
35
+ return this._function.getName();
36
+ }
37
+ toString() {
38
+ return `${super.toString()}: functionId: ${this.functionId()}, name: ${this.name()}`;
39
+ }
40
+ }
41
+ exports.Success = Success;
42
+ /**
43
+ * Indicates that an error occurred during the put-function request.
44
+ *
45
+ * This response object includes the following fields that you can use to determine
46
+ * how you would like to handle the error:
47
+ *
48
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
49
+ * - `message()` - a human-readable description of the error
50
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
51
+ */
52
+ class Error extends response_base_1.BaseResponseError {
53
+ constructor(_innerException) {
54
+ super(_innerException);
55
+ this.type = enums_1.PutFunctionResponse.Error;
56
+ }
57
+ }
58
+ exports.Error = Error;
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21lc3NhZ2VzL3Jlc3BvbnNlcy9mdW5jdGlvbi9wdXQtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsb0RBQXdFO0FBQ3hFLG9DQUE2QztBQU03Qzs7O0dBR0c7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBbUI7SUFJOUMsWUFBWSxnQkFBOEI7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFKRCxTQUFJLEdBQWdDLDJCQUFtQixDQUFDLE9BQU8sQ0FBQztRQUt2RSxJQUFJLENBQUMsU0FBUyxHQUFHLGdCQUFnQixDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksSUFBSTtRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRWUsUUFBUTtRQUN0QixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ3ZGLENBQUM7Q0FDRjtBQXBDRCwwQkFvQ0M7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxpQ0FBaUI7SUFHMUMsWUFBWSxlQUF5QjtRQUNuQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFIaEIsU0FBSSxHQUE4QiwyQkFBbUIsQ0FBQyxLQUFLLENBQUM7SUFJckUsQ0FBQztDQUNGO0FBTkQsc0JBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Nka0Vycm9yfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtGdW5jdGlvbkluZm99IGZyb20gJy4uLy4uL2Z1bmN0aW9uLWluZm8nO1xuaW1wb3J0IHtCYXNlUmVzcG9uc2VFcnJvciwgQmFzZVJlc3BvbnNlU3VjY2Vzc30gZnJvbSAnLi4vcmVzcG9uc2UtYmFzZSc7XG5pbXBvcnQge1B1dEZ1bmN0aW9uUmVzcG9uc2V9IGZyb20gJy4uL2VudW1zJztcblxuaW50ZXJmYWNlIElSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHR5cGU6IFB1dEZ1bmN0aW9uUmVzcG9uc2U7XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIGEgc3VjY2Vzc2Z1bCBwdXQtZnVuY3Rpb24gcmVxdWVzdC4gVGhlIGZ1bmN0aW9uIGlzIGNyZWF0ZWQsIG9yIHVwZGF0ZWQgaWYgb25lIGFscmVhZHkgZXhpc3RzIHdpdGhcbiAqIHRoZSBzYW1lIGNhY2hlICsgbmFtZSAoZWFjaCB1cGRhdGUgY3JlYXRlcyBhIG5ldyB2ZXJzaW9uKTsgdGhlIHJldHVybmVkIGZ1bmN0aW9uIGNhcnJpZXMgaXRzIGZ1bGwgbWV0YWRhdGEuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdWNjZXNzIGV4dGVuZHMgQmFzZVJlc3BvbnNlU3VjY2VzcyBpbXBsZW1lbnRzIElSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHR5cGU6IFB1dEZ1bmN0aW9uUmVzcG9uc2UuU3VjY2VzcyA9IFB1dEZ1bmN0aW9uUmVzcG9uc2UuU3VjY2VzcztcbiAgcHJpdmF0ZSByZWFkb25seSBfZnVuY3Rpb246IEZ1bmN0aW9uSW5mbztcblxuICBjb25zdHJ1Y3RvcihkZXBsb3llZEZ1bmN0aW9uOiBGdW5jdGlvbkluZm8pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2Z1bmN0aW9uID0gZGVwbG95ZWRGdW5jdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZGVwbG95ZWQgZnVuY3Rpb24ncyBtZXRhZGF0YS5cbiAgICogQHJldHVybnMge0Z1bmN0aW9uSW5mb31cbiAgICovXG4gIHB1YmxpYyBnZXRGdW5jdGlvbigpOiBGdW5jdGlvbkluZm8ge1xuICAgIHJldHVybiB0aGlzLl9mdW5jdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGRlcGxveWVkIGZ1bmN0aW9uLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgcHVibGljIGZ1bmN0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZnVuY3Rpb24uZ2V0RnVuY3Rpb25JZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkZXBsb3llZCBmdW5jdGlvbi5cbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIHB1YmxpYyBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Z1bmN0aW9uLmdldE5hbWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfTogZnVuY3Rpb25JZDogJHt0aGlzLmZ1bmN0aW9uSWQoKX0sIG5hbWU6ICR7dGhpcy5uYW1lKCl9YDtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgcHV0LWZ1bmN0aW9uIHJlcXVlc3QuXG4gKlxuICogVGhpcyByZXNwb25zZSBvYmplY3QgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBmaWVsZHMgdGhhdCB5b3UgY2FuIHVzZSB0byBkZXRlcm1pbmVcbiAqIGhvdyB5b3Ugd291bGQgbGlrZSB0byBoYW5kbGUgdGhlIGVycm9yOlxuICpcbiAqIC0gYGVycm9yQ29kZSgpYCAtIGEgdW5pcXVlIE1vbWVudG8gZXJyb3IgY29kZSBpbmRpY2F0aW5nIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgb2NjdXJyZWQuXG4gKiAtIGBtZXNzYWdlKClgIC0gYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3JcbiAqIC0gYGlubmVyRXhjZXB0aW9uKClgIC0gdGhlIG9yaWdpbmFsIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmYWlsdXJlOyBjYW4gYmUgcmUtdGhyb3duLlxuICovXG5leHBvcnQgY2xhc3MgRXJyb3IgZXh0ZW5kcyBCYXNlUmVzcG9uc2VFcnJvciBpbXBsZW1lbnRzIElSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHR5cGU6IFB1dEZ1bmN0aW9uUmVzcG9uc2UuRXJyb3IgPSBQdXRGdW5jdGlvblJlc3BvbnNlLkVycm9yO1xuXG4gIGNvbnN0cnVjdG9yKF9pbm5lckV4Y2VwdGlvbjogU2RrRXJyb3IpIHtcbiAgICBzdXBlcihfaW5uZXJFeGNlcHRpb24pO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlID0gU3VjY2VzcyB8IEVycm9yO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gomomento/sdk-core",
3
- "version": "1.117.4",
3
+ "version": "1.118.0",
4
4
  "description": "Common code for Momento JS SDKs",
5
5
  "main": "dist/src/index.js",
6
6
  "files": [