@gomomento/sdk-core 1.90.0 → 1.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/src/auth/credential-provider.d.ts +15 -3
  2. package/dist/src/auth/credential-provider.js +17 -1
  3. package/dist/src/clients/IStorageClient.d.ts +13 -0
  4. package/dist/src/clients/IStorageClient.js +3 -0
  5. package/dist/src/config/read-concern.d.ts +1 -2
  6. package/dist/src/config/read-concern.js +1 -3
  7. package/dist/src/errors/errors.d.ts +34 -2
  8. package/dist/src/errors/errors.js +55 -8
  9. package/dist/src/index.d.ts +5 -2
  10. package/dist/src/index.js +13 -6
  11. package/dist/src/internal/clients/index.d.ts +1 -0
  12. package/dist/src/internal/clients/index.js +2 -1
  13. package/dist/src/internal/clients/pubsub/AbstractPubsubClient.js +2 -2
  14. package/dist/src/internal/clients/storage/AbstractStorageClient.d.ts +21 -0
  15. package/dist/src/internal/clients/storage/AbstractStorageClient.js +48 -0
  16. package/dist/src/internal/clients/storage/IStorageControlClient.d.ts +7 -0
  17. package/dist/src/internal/clients/storage/IStorageControlClient.js +3 -0
  18. package/dist/src/internal/clients/storage/IStorageDataClient.d.ts +10 -0
  19. package/dist/src/internal/clients/storage/IStorageDataClient.js +3 -0
  20. package/dist/src/internal/clients/storage/index.d.ts +4 -0
  21. package/dist/src/internal/clients/storage/index.js +21 -0
  22. package/dist/src/internal/utils/auth.d.ts +2 -0
  23. package/dist/src/internal/utils/auth.js +7 -1
  24. package/dist/src/internal/utils/validators.d.ts +1 -0
  25. package/dist/src/internal/utils/validators.js +8 -2
  26. package/dist/src/messages/responses/enums/index.d.ts +1 -0
  27. package/dist/src/messages/responses/enums/index.js +2 -1
  28. package/dist/src/messages/responses/enums/store/control/index.d.ts +13 -0
  29. package/dist/src/messages/responses/enums/store/control/index.js +20 -0
  30. package/dist/src/messages/responses/enums/store/index.d.ts +2 -0
  31. package/dist/src/messages/responses/enums/store/index.js +19 -0
  32. package/dist/src/messages/responses/enums/store/scalar/index.d.ts +12 -0
  33. package/dist/src/messages/responses/enums/store/scalar/index.js +19 -0
  34. package/dist/src/messages/responses/storage/control/create-store.d.ts +34 -0
  35. package/dist/src/messages/responses/storage/control/create-store.js +43 -0
  36. package/dist/src/messages/responses/storage/control/delete-store.d.ts +28 -0
  37. package/dist/src/messages/responses/storage/control/delete-store.js +33 -0
  38. package/dist/src/messages/responses/storage/control/index.d.ts +3 -0
  39. package/dist/src/messages/responses/storage/control/index.js +7 -0
  40. package/dist/src/messages/responses/storage/control/list-stores.d.ts +37 -0
  41. package/dist/src/messages/responses/storage/control/list-stores.js +45 -0
  42. package/dist/src/messages/responses/storage/index.d.ts +2 -0
  43. package/dist/src/messages/responses/storage/index.js +19 -0
  44. package/dist/src/messages/responses/storage/scalar/index.d.ts +3 -0
  45. package/dist/src/messages/responses/storage/scalar/index.js +7 -0
  46. package/dist/src/messages/responses/storage/scalar/storage-delete.d.ts +28 -0
  47. package/dist/src/messages/responses/storage/scalar/storage-delete.js +33 -0
  48. package/dist/src/messages/responses/storage/scalar/storage-get.d.ts +71 -0
  49. package/dist/src/messages/responses/storage/scalar/storage-get.js +86 -0
  50. package/dist/src/messages/responses/storage/scalar/storage-put.d.ts +28 -0
  51. package/dist/src/messages/responses/storage/scalar/storage-put.js +33 -0
  52. package/dist/src/messages/responses/storage/scalar/storage-value.d.ts +61 -0
  53. package/dist/src/messages/responses/storage/scalar/storage-value.js +87 -0
  54. package/dist/src/messages/store-info.d.ts +16 -0
  55. package/dist/src/messages/store-info.js +24 -0
  56. package/package.json +1 -1
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.CacheDelete = exports.CacheSetIfAbsentOrEqual = exports.CacheSetIfPresentAndNotEqual = exports.CacheSetIfNotEqual = exports.CacheSetIfEqual = exports.CacheSetIfAbsent = exports.CacheSetIfPresent = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = exports.CacheListRemoveValue = exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGet = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.CompressionLevel = exports.ReadConcern = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.isTopicName = exports.isCacheName = exports.AllDataReadWrite = exports.TopicRole = exports.CacheRole = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.webhook = exports.leaderboard = void 0;
18
- exports.MomentoErrorCode = exports.GenerateDisposableToken = exports.RefreshAuthToken = exports.RefreshApiKey = exports.GenerateAuthToken = exports.GenerateApiKey = exports.TopicItem = exports.TopicSubscribe = exports.TopicPublish = exports.CacheGetBatch = exports.CacheSetBatch = exports.CacheInfo = exports.CacheDecreaseTtl = exports.CacheIncreaseTtl = exports.CacheUpdateTtl = exports.CacheKeysExist = exports.CacheKeyExists = exports.CacheItemGetTtl = exports.CacheItemGetType = exports.CacheSortedSetLengthByScore = exports.CacheSortedSetLength = exports.CacheSortedSetRemoveElements = exports.CacheSortedSetRemoveElement = exports.CacheSortedSetIncrementScore = exports.CacheSortedSetGetScores = exports.CacheSortedSetGetScore = exports.CacheSortedSetGetRank = exports.CacheSortedSetFetch = exports.CacheSortedSetPutElements = exports.CacheSortedSetPutElement = exports.CacheSetSample = exports.CacheSetRemoveElement = exports.CacheSetRemoveElements = 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 = void 0;
19
- exports.UnknownError = exports.NotFoundError = 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.AlreadyExistsError = exports.SdkError = void 0;
17
+ exports.CacheSetIfAbsentOrEqual = exports.CacheSetIfPresentAndNotEqual = exports.CacheSetIfNotEqual = exports.CacheSetIfEqual = exports.CacheSetIfAbsent = exports.CacheSetIfPresent = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = exports.CacheListRemoveValue = exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGet = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.CompressionLevel = exports.ReadConcern = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.isTopicName = exports.isCacheName = exports.AllDataReadWrite = exports.TopicRole = exports.CacheRole = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.StoreInfo = exports.webhook = exports.leaderboard = void 0;
18
+ exports.GenerateDisposableToken = exports.RefreshAuthToken = exports.RefreshApiKey = exports.GenerateAuthToken = exports.GenerateApiKey = exports.TopicItem = exports.TopicSubscribe = exports.TopicPublish = exports.CacheGetBatch = exports.CacheSetBatch = exports.CacheInfo = exports.CacheDecreaseTtl = exports.CacheIncreaseTtl = exports.CacheUpdateTtl = exports.CacheKeysExist = exports.CacheKeyExists = exports.CacheItemGetTtl = exports.CacheItemGetType = exports.CacheSortedSetLengthByScore = exports.CacheSortedSetLength = exports.CacheSortedSetRemoveElements = exports.CacheSortedSetRemoveElement = exports.CacheSortedSetIncrementScore = exports.CacheSortedSetGetScores = exports.CacheSortedSetGetScore = exports.CacheSortedSetGetRank = exports.CacheSortedSetFetch = exports.CacheSortedSetPutElements = exports.CacheSortedSetPutElement = exports.CacheSetSample = exports.CacheSetRemoveElement = exports.CacheSetRemoveElements = 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 = 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 = void 0;
20
20
  // Cache Client Response Types
21
21
  const CacheGet = require("./messages/responses/cache-get");
22
22
  exports.CacheGet = CacheGet;
@@ -159,6 +159,10 @@ exports.leaderboard = require("./messages/responses/leaderboard");
159
159
  __exportStar(require("./messages/responses/leaderboard"), exports);
160
160
  exports.webhook = require("./messages/responses/webhook");
161
161
  __exportStar(require("./messages/responses/webhook"), exports);
162
+ // StoreClient Response Types
163
+ __exportStar(require("./messages/responses/storage"), exports);
164
+ var store_info_1 = require("./messages/store-info");
165
+ Object.defineProperty(exports, "StoreInfo", { enumerable: true, get: function () { return store_info_1.StoreInfo; } });
162
166
  const cache_info_1 = require("./messages/cache-info");
163
167
  Object.defineProperty(exports, "CacheInfo", { enumerable: true, get: function () { return cache_info_1.CacheInfo; } });
164
168
  const utils_1 = require("./utils");
@@ -177,7 +181,8 @@ Object.defineProperty(exports, "EnvMomentoTokenProvider", { enumerable: true, ge
177
181
  const errors_1 = require("./errors");
178
182
  Object.defineProperty(exports, "MomentoErrorCode", { enumerable: true, get: function () { return errors_1.MomentoErrorCode; } });
179
183
  Object.defineProperty(exports, "SdkError", { enumerable: true, get: function () { return errors_1.SdkError; } });
180
- Object.defineProperty(exports, "AlreadyExistsError", { enumerable: true, get: function () { return errors_1.AlreadyExistsError; } });
184
+ Object.defineProperty(exports, "CacheAlreadyExistsError", { enumerable: true, get: function () { return errors_1.CacheAlreadyExistsError; } });
185
+ Object.defineProperty(exports, "StoreAlreadyExistsError", { enumerable: true, get: function () { return errors_1.StoreAlreadyExistsError; } });
181
186
  Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_1.AuthenticationError; } });
182
187
  Object.defineProperty(exports, "CancelledError", { enumerable: true, get: function () { return errors_1.CancelledError; } });
183
188
  Object.defineProperty(exports, "ConnectionError", { enumerable: true, get: function () { return errors_1.ConnectionError; } });
@@ -190,7 +195,9 @@ Object.defineProperty(exports, "ServerUnavailableError", { enumerable: true, get
190
195
  Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_1.TimeoutError; } });
191
196
  Object.defineProperty(exports, "BadRequestError", { enumerable: true, get: function () { return errors_1.BadRequestError; } });
192
197
  Object.defineProperty(exports, "PermissionError", { enumerable: true, get: function () { return errors_1.PermissionError; } });
193
- Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_1.NotFoundError; } });
198
+ Object.defineProperty(exports, "CacheNotFoundError", { enumerable: true, get: function () { return errors_1.CacheNotFoundError; } });
199
+ Object.defineProperty(exports, "StoreItemNotFoundError", { enumerable: true, get: function () { return errors_1.StoreItemNotFoundError; } });
200
+ Object.defineProperty(exports, "StoreNotFoundError", { enumerable: true, get: function () { return errors_1.StoreNotFoundError; } });
194
201
  Object.defineProperty(exports, "UnknownError", { enumerable: true, get: function () { return errors_1.UnknownError; } });
195
202
  __exportStar(require("./messages/responses/enums"), exports);
196
203
  var noop_momento_logger_1 = require("./config/logging/noop-momento-logger");
@@ -218,4 +225,4 @@ var read_concern_1 = require("./config/read-concern");
218
225
  Object.defineProperty(exports, "ReadConcern", { enumerable: true, get: function () { return read_concern_1.ReadConcern; } });
219
226
  var compression_level_1 = require("./compression/compression-level");
220
227
  Object.defineProperty(exports, "CompressionLevel", { enumerable: true, get: function () { return compression_level_1.CompressionLevel; } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUFrTnpELDRCQUFRO0FBak5WLDZGQUE2RjtBQWtOM0YsNERBQXdCO0FBak4xQiwrRkFBK0Y7QUFrTjdGLDhEQUF5QjtBQWpOM0Isd0VBQXdFO0FBa050RSx3Q0FBYztBQWpOaEIsMEVBQTBFO0FBa054RSwwQ0FBZTtBQWpOakIsNkVBQTZFO0FBa04zRSw0Q0FBZ0I7QUFqTmxCLCtFQUErRTtBQWtON0UsOENBQWlCO0FBak5uQiwrRUFBK0U7QUFrTjdFLDhDQUFpQjtBQWpObkIsaUZBQWlGO0FBa04vRSxnREFBa0I7QUFqTnBCLHFGQUFxRjtBQWtObkYsb0RBQW9CO0FBak50QiwwRUFBMEU7QUFrTnhFLDBDQUFlO0FBak5qQiwyREFBMkQ7QUFrTnpELDRCQUFRO0FBak5WLGlFQUFpRTtBQXlOL0Qsa0NBQVc7QUF4TmIsK0RBQStEO0FBeU43RCxnQ0FBVTtBQXhOWixpRUFBaUU7QUF5Ti9ELGtDQUFXO0FBeE5iLGlFQUFpRTtBQXlOL0Qsa0NBQVc7QUF4TmIsK0RBQStEO0FBeU43RCxnQ0FBVTtBQXhOWixzRUFBc0U7QUEwTnBFLHNDQUFhO0FBek5mLG9GQUFvRjtBQTBObEYsb0RBQW9CO0FBek50QiwyRkFBMkY7QUEwTnpGLDBEQUF1QjtBQXpOekIsNkZBQTZGO0FBME4zRiw0REFBd0I7QUF6TjFCLDJGQUEyRjtBQTBOekYsMERBQXVCO0FBek56Qiw2RkFBNkY7QUEwTjNGLDREQUF3QjtBQXpOMUIsaUdBQWlHO0FBME4vRixnRUFBMEI7QUF6TjVCLG1HQUFtRztBQTBOakcsa0VBQTJCO0FBek43Qiw0RkFBNEY7QUEwTjFGLDREQUF3QjtBQXpOMUIsc0ZBQXNGO0FBME5wRixzREFBcUI7QUF6TnZCLG1GQUFtRjtBQTBOakYsa0RBQW1CO0FB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QUFtQixPQTJMQTtBQUNuQix1R0EzTEEsK0JBQXNCLE9BMkxBO0FBQ3RCLDZGQTNMQSxxQkFBWSxPQTJMQTtBQUNaLGdHQTNMQSx3QkFBZSxPQTJMQTtBQUNmLGdHQTNMQSx3QkFBZSxPQTJMQTtBQUNmLDhGQTNMQSxzQkFBYSxPQTJMQTtBQUNiLDZGQTNMQSxxQkFBWSxPQTJMQTtBQW5MZCw2REFBMkM7QUFFM0MsNEVBRzhDO0FBRjVDLHdIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLCtIQUFBLHdCQUF3QixPQUFBO0FBcUIxQixtRUFzQndDO0FBckJ0Qyw2R0FBQSxTQUFTLE9BQUE7QUFFVCw2R0FBQSxTQUFTLE9BQUE7QUFJVCxvSEFBQSxnQkFBZ0IsT0FBQTtBQU9oQiwrR0FBQSxXQUFXLE9BQUE7QUFFWCwrR0FBQSxXQUFXLE9BQUE7QUFHWCw2R0FBQSxTQUFTLE9BQUE7QUFDVCw2R0FBQSxTQUFTLE9BQUE7QUFDVCxpSEFBQSxhQUFhLE9BQUE7QUFHZiwrRUFPOEM7QUFGNUMsd0hBQUEsY0FBYyxPQUFBO0FBQ2QsOEhBQUEsb0JBQW9CLE9BQUE7QUFHdEIsc0VBQW9FO0FBQ3BFOztHQUVHO0FBQ0gsaUVBQStEO0FBQy9ELGlGQUErRTtBQUUvRSxzREFBa0Q7QUFBMUMsMkdBQUEsV0FBVyxPQUFBO0FBQ25CLHFFQUFpRTtBQUF6RCxxSEFBQSxnQkFBZ0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgQ2FjaGVHZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFBvcEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXBvcC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXB1c2gtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJlbW92ZVZhbHVlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcmVtb3ZlLXZhbHVlJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJldGFpbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJldGFpbic7XG5pbXBvcnQgKiBhcyBDYWNoZVNldCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWxldGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGVsZXRlJztcbmltcG9ydCAqIGFzIENhY2hlRmx1c2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZmx1c2gnO1xuaW1wb3J0ICogYXMgQ3JlYXRlQ2FjaGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY3JlYXRlLWNhY2hlJztcbmltcG9ydCAqIGFzIERlbGV0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2RlbGV0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBMaXN0Q2FjaGVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xpc3QtY2FjaGVzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1zZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktcmVtb3ZlLWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktaW5jcmVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUxlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEFkZEVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFNhbXBsZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtc2FtcGxlJztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1ub3QtZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZBYnNlbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmRXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZOb3RFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtbm90LWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLXByZXNlbnQtYW5kLW5vdC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50T3JFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtYWJzZW50LW9yLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0UmFuayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1yYW5rJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmVzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1pbmNyZW1lbnQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgtYnktc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHlwZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10eXBlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10dGwnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleXNFeGlzdCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXlzLWV4aXN0JztcbmltcG9ydCAqIGFzIENhY2hlVXBkYXRlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC11cGRhdGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtaW5jcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtZGVjcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVHZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1nZXQnO1xuXG4vLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgVG9waWNQdWJsaXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXB1Ymxpc2gnO1xuaW1wb3J0ICogYXMgVG9waWNTdWJzY3JpYmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtc3Vic2NyaWJlJztcbmltcG9ydCB7VG9waWNJdGVtfSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1pdGVtJztcblxuLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgR2VuZXJhdGVBcGlLZXkgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtYXBpLWtleSc7XG5pbXBvcnQgKiBhcyBSZWZyZXNoQXBpS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3JlZnJlc2gtYXBpLWtleSc7XG5cbmltcG9ydCAqIGFzIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2dlbmVyYXRlLWRpc3Bvc2FibGUtdG9rZW4nO1xuXG4vLyBMZWFkZXJib2FyZCBSZXNwb25zZSBUeXBlc1xuZXhwb3J0ICogYXMgbGVhZGVyYm9hcmQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGVhZGVyYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGVhZGVyYm9hcmQnO1xuXG5leHBvcnQgKiBhcyB3ZWJob29rIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3dlYmhvb2snO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvd2ViaG9vayc7XG5leHBvcnQge1dlYmhvb2ssIFdlYmhvb2tJZH0gZnJvbSAnLi9tZXNzYWdlcy93ZWJob29rJztcblxuaW1wb3J0IHtDYWNoZUluZm99IGZyb20gJy4vbWVzc2FnZXMvY2FjaGUtaW5mbyc7XG5pbXBvcnQge1xuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgQ29sbGVjdGlvblR0bCxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIExlYWRlcmJvYXJkT3JkZXIsXG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBJdGVtVHlwZSxcbiAgV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBXZWJob29rRGVzdGluYXRpb25UeXBlLFxuICBTZXRCYXRjaEl0ZW0sXG59IGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbn0gZnJvbSAnLi9hdXRoJztcblxuaW1wb3J0IHtcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIEFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIFVua25vd25FcnJvcixcbn0gZnJvbSAnLi9lcnJvcnMnO1xuXG5leHBvcnQge1xuICBNb21lbnRvTG9nZ2VyLFxuICBNb21lbnRvTG9nZ2VyRmFjdG9yeSxcbn0gZnJvbSAnLi9jb25maWcvbG9nZ2luZy9tb21lbnRvLWxvZ2dlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zJztcblxuZXhwb3J0IHtcbiAgTm9vcE1vbWVudG9Mb2dnZXIsXG4gIE5vb3BNb21lbnRvTG9nZ2VyRmFjdG9yeSxcbn0gZnJvbSAnLi9jb25maWcvbG9nZ2luZy9ub29wLW1vbWVudG8tbG9nZ2VyJztcblxuZXhwb3J0IHtcbiAgSUNhY2hlQ2xpZW50LFxuICBTZXRPcHRpb25zLFxuICBTZXRJZk5vdEV4aXN0c09wdGlvbnMsXG4gIFNldElmQWJzZW50T3B0aW9ucyxcbiAgU2V0SWZQcmVzZW50T3B0aW9ucyxcbiAgU2V0SWZFcXVhbE9wdGlvbnMsXG4gIFNldElmTm90RXF1YWxPcHRpb25zLFxuICBTZXRJZlByZXNlbnRBbmROb3RFcXVhbE9wdGlvbnMsXG4gIFNldElmQWJzZW50T3JFcXVhbE9wdGlvbnMsXG4gIEluY3JlbWVudE9wdGlvbnMsXG59IGZyb20gJy4vY2xpZW50cy9JQ2FjaGVDbGllbnQnO1xuXG5leHBvcnQge0lNb21lbnRvQ2FjaGV9IGZyb20gJy4vY2xpZW50cy9JTW9tZW50b0NhY2hlJztcblxuZXhwb3J0IHtJTGVhZGVyYm9hcmRDbGllbnR9IGZyb20gJy4vY2xpZW50cy9JTGVhZGVyYm9hcmRDbGllbnQnO1xuZXhwb3J0IHtJTGVhZGVyYm9hcmR9IGZyb20gJy4vY2xpZW50cy9JTGVhZGVyYm9hcmQnO1xuXG5leHBvcnQge1xuICBDYWNoZVJvbGUsXG4gIENhY2hlUGVybWlzc2lvbixcbiAgVG9waWNSb2xlLFxuICBUb3BpY1Blcm1pc3Npb24sXG4gIFBlcm1pc3Npb24sXG4gIFBlcm1pc3Npb25zLFxuICBBbGxEYXRhUmVhZFdyaXRlLFxuICBQZXJtaXNzaW9uU2NvcGUsXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgUGVybWlzc2lvblNjb3BlXG4gICAqL1xuICBUb2tlblNjb3BlLFxuICBDYWNoZU5hbWUsXG4gIGlzQ2FjaGVOYW1lLFxuICBUb3BpY05hbWUsXG4gIGlzVG9waWNOYW1lLFxuICBDYWNoZVNlbGVjdG9yLFxuICBUb3BpY1NlbGVjdG9yLFxuICBBbGxDYWNoZXMsXG4gIEFsbFRvcGljcyxcbiAgQWxsQ2FjaGVJdGVtcyxcbn0gZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3BlJztcblxuZXhwb3J0IHtcbiAgRGlzcG9zYWJsZVRva2VuU2NvcGUsXG4gIENhY2hlSXRlbVNlbGVjdG9yLFxuICBDYWNoZUl0ZW1LZXksXG4gIENhY2hlSXRlbUtleVByZWZpeCxcbiAgaXNDYWNoZUl0ZW1LZXksXG4gIGlzQ2FjaGVJdGVtS2V5UHJlZml4LFxufSBmcm9tICcuL2F1dGgvdG9rZW5zL2Rpc3Bvc2FibGUtdG9rZW4tc2NvcGUnO1xuXG5leHBvcnQgKiBhcyBQZXJtaXNzaW9uU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZXMnO1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIFBlcm1pc3Npb25TY29wZXMgaW5zdGVhZFxuICovXG5leHBvcnQgKiBhcyBUb2tlblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGVzJztcbmV4cG9ydCAqIGFzIERpc3Bvc2FibGVUb2tlblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL2Rpc3Bvc2FibGUtdG9rZW4tc2NvcGVzJztcblxuZXhwb3J0IHtSZWFkQ29uY2Vybn0gZnJvbSAnLi9jb25maWcvcmVhZC1jb25jZXJuJztcbmV4cG9ydCB7Q29tcHJlc3Npb25MZXZlbH0gZnJvbSAnLi9jb21wcmVzc2lvbi9jb21wcmVzc2lvbi1sZXZlbCc7XG5cbmV4cG9ydCB7XG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBDb2xsZWN0aW9uVHRsLFxuICBJdGVtVHlwZSxcbiAgV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBXZWJob29rRGVzdGluYXRpb25UeXBlLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgTGVhZGVyYm9hcmRPcmRlcixcbiAgQ3JlZGVudGlhbFByb3ZpZGVyLFxuICBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIFNldEJhdGNoSXRlbSxcblxuICAvLyBDYWNoZUNsaWVudCBSZXNwb25zZSBUeXBlc1xuICBDYWNoZUdldCxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVCYWNrLFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUZyb250LFxuICBDYWNoZUxpc3RGZXRjaCxcbiAgQ2FjaGVMaXN0TGVuZ3RoLFxuICBDYWNoZUxpc3RQb3BCYWNrLFxuICBDYWNoZUxpc3RQb3BGcm9udCxcbiAgQ2FjaGVMaXN0UHVzaEJhY2ssXG4gIENhY2hlTGlzdFB1c2hGcm9udCxcbiAgQ2FjaGVMaXN0UmVtb3ZlVmFsdWUsXG4gIENhY2hlTGlzdFJldGFpbixcbiAgQ2FjaGVTZXQsXG4gIENhY2hlU2V0SWZOb3RFeGlzdHMsXG4gIENhY2hlU2V0SWZQcmVzZW50LFxuICBDYWNoZVNldElmQWJzZW50LFxuICBDYWNoZVNldElmRXF1YWwsXG4gIENhY2hlU2V0SWZOb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZlByZXNlbnRBbmROb3RFcXVhbCxcbiAgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwsXG4gIENhY2hlRGVsZXRlLFxuICBDYWNoZUZsdXNoLFxuICBDcmVhdGVDYWNoZSxcbiAgRGVsZXRlQ2FjaGUsXG4gIExpc3RDYWNoZXMsXG4gIENhY2hlSW5jcmVtZW50LFxuICBDYWNoZVNldEZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGQsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyxcbiAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LFxuICBDYWNoZURpY3Rpb25hcnlMZW5ndGgsXG4gIENhY2hlU2V0QWRkRWxlbWVudHMsXG4gIENhY2hlU2V0QWRkRWxlbWVudCxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNldFNhbXBsZSxcbiAgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRzLFxuICBDYWNoZVNvcnRlZFNldEZldGNoLFxuICBDYWNoZVNvcnRlZFNldEdldFJhbmssXG4gIENhY2hlU29ydGVkU2V0R2V0U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0R2V0U2NvcmVzLFxuICBDYWNoZVNvcnRlZFNldEluY3JlbWVudFNjb3JlLFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoLFxuICBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUsXG4gIENhY2hlSXRlbUdldFR5cGUsXG4gIENhY2hlSXRlbUdldFR0bCxcbiAgQ2FjaGVLZXlFeGlzdHMsXG4gIENhY2hlS2V5c0V4aXN0LFxuICBDYWNoZVVwZGF0ZVR0bCxcbiAgQ2FjaGVJbmNyZWFzZVR0bCxcbiAgQ2FjaGVEZWNyZWFzZVR0bCxcbiAgQ2FjaGVJbmZvLFxuICBDYWNoZVNldEJhdGNoLFxuICBDYWNoZUdldEJhdGNoLFxuICAvLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBUb3BpY0l0ZW0sXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICAvLyBBdXRoQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIEdlbmVyYXRlQXBpS2V5LFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIEdlbmVyYXRlQXBpS2V5XG4gICAqL1xuICBHZW5lcmF0ZUFwaUtleSBhcyBHZW5lcmF0ZUF1dGhUb2tlbixcbiAgUmVmcmVzaEFwaUtleSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBSZWZyZXNoQXBpS2V5XG4gICAqL1xuICBSZWZyZXNoQXBpS2V5IGFzIFJlZnJlc2hBdXRoVG9rZW4sXG4gIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuLFxuICAvLyBFcnJvcnNcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIEFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIFVua25vd25FcnJvcixcbn07XG4iXX0=
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUEyTnpELDRCQUFRO0FBMU5WLDZGQUE2RjtBQTJOM0YsNERBQXdCO0FBMU4xQiwrRkFBK0Y7QUEyTjdGLDhEQUF5QjtBQTFOM0Isd0VBQXdFO0FBMk50RSx3Q0FBYztBQTFOaEIsMEVBQTBFO0FBMk54RSwwQ0FBZTtBQTFOakIsNkVBQTZFO0FBMk4zRSw0Q0FBZ0I7QUExTmxCLCtFQUErRTtBQTJON0UsOENBQWlCO0FBMU5uQiwrRUFBK0U7QUEyTjdFLDhDQUFpQjtBQTFObkIsaUZBQWlGO0FBMk4vRSxnREFBa0I7QUExTnBCLHFGQUFxRjtBQTJObkYsb0RBQW9CO0FBMU50QiwwRUFBMEU7QUEyTnhFLDBDQUFlO0FBMU5qQiwyREFBMkQ7QUEyTnpELDRCQUFRO0FBMU5WLGlFQUFpRTtBQWtPL0Qsa0NBQVc7QUFqT2IsK0RBQStEO0FBa083RCxnQ0FBVTtBQWpPWixpRUFBaUU7QUFrTy9ELGtDQUFXO0FBak9iLGlFQUFpRTtBQWtPL0Qsa0NBQVc7QUFqT2IsK0RBQStEO0FBa083RCxnQ0FBVTtBQWpPWixzRUFBc0U7QUFtT3BFLHNDQUFhO0FBbE9mLG9GQUFvRjtBQW1PbEYsb0RBQW9CO0FBbE90QiwyRkFBMkY7QUFtT3pGLDBEQUF1QjtBQWxPekIsNkZBQTZGO0FBbU8zRiw0REFBd0I7QUFsTzFCLDJGQUEyRjtBQW1PekYsMERBQXVCO0FBbE96Qiw2RkFBNkY7QUFtTzNGLDREQUF3QjtBQWxPMUIsaUdBQWlHO0FBbU8vRixnRUFBMEI7QUFsTzVCLG1HQUFtRztBQW1Pakcsa0VBQTJCO0FBbE83Qiw0RkFBNEY7QUFtTzFGLDREQUF3QjtBQWxPMUIsc0ZBQXNGO0FBbU9wRixzREFBcUI7QUFsT3ZCLG1GQUFtRjtBQW1PakYsa0RBQW1CO0FB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bUdBaE1BLDJCQUFrQixPQWdNQTtBQUNsQixvR0FoTUEsNEJBQW1CLE9BZ01BO0FBQ25CLHFHQWhNQSw2QkFBb0IsT0FnTUE7QUFDcEIsb0dBaE1BLDRCQUFtQixPQWdNQTtBQUNuQix1R0FoTUEsK0JBQXNCLE9BZ01BO0FBQ3RCLDZGQWhNQSxxQkFBWSxPQWdNQTtBQUNaLGdHQWhNQSx3QkFBZSxPQWdNQTtBQUNmLGdHQWhNQSx3QkFBZSxPQWdNQTtBQUNmLG1HQWhNQSwyQkFBa0IsT0FnTUE7QUFDbEIsdUdBaE1BLCtCQUFzQixPQWdNQTtBQUN0QixtR0FoTUEsMkJBQWtCLE9BZ01BO0FBQ2xCLDZGQWhNQSxxQkFBWSxPQWdNQTtBQXhMZCw2REFBMkM7QUFFM0MsNEVBRzhDO0FBRjVDLHdIQUFBLGlCQUFpQixPQUFBO0FBQ2pCLCtIQUFBLHdCQUF3QixPQUFBO0FBdUIxQixtRUFzQndDO0FBckJ0Qyw2R0FBQSxTQUFTLE9BQUE7QUFFVCw2R0FBQSxTQUFTLE9BQUE7QUFJVCxvSEFBQSxnQkFBZ0IsT0FBQTtBQU9oQiwrR0FBQSxXQUFXLE9BQUE7QUFFWCwrR0FBQSxXQUFXLE9BQUE7QUFHWCw2R0FBQSxTQUFTLE9BQUE7QUFDVCw2R0FBQSxTQUFTLE9BQUE7QUFDVCxpSEFBQSxhQUFhLE9BQUE7QUFHZiwrRUFPOEM7QUFGNUMsd0hBQUEsY0FBYyxPQUFBO0FBQ2QsOEhBQUEsb0JBQW9CLE9BQUE7QUFHdEIsc0VBQW9FO0FBQ3BFOztHQUVHO0FBQ0gsaUVBQStEO0FBQy9ELGlGQUErRTtBQUUvRSxzREFBa0Q7QUFBMUMsMkdBQUEsV0FBVyxPQUFBO0FBQ25CLHFFQUFpRTtBQUF6RCxxSEFBQSxnQkFBZ0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgQ2FjaGVHZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFBvcEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXBvcC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXB1c2gtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJlbW92ZVZhbHVlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcmVtb3ZlLXZhbHVlJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJldGFpbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJldGFpbic7XG5pbXBvcnQgKiBhcyBDYWNoZVNldCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWxldGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGVsZXRlJztcbmltcG9ydCAqIGFzIENhY2hlRmx1c2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZmx1c2gnO1xuaW1wb3J0ICogYXMgQ3JlYXRlQ2FjaGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY3JlYXRlLWNhY2hlJztcbmltcG9ydCAqIGFzIERlbGV0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2RlbGV0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBMaXN0Q2FjaGVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xpc3QtY2FjaGVzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1zZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktcmVtb3ZlLWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktaW5jcmVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUxlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEFkZEVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFNhbXBsZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtc2FtcGxlJztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1ub3QtZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZBYnNlbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmRXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZOb3RFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtbm90LWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLXByZXNlbnQtYW5kLW5vdC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50T3JFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtYWJzZW50LW9yLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0UmFuayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1yYW5rJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmVzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1pbmNyZW1lbnQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgtYnktc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHlwZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10eXBlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10dGwnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleXNFeGlzdCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXlzLWV4aXN0JztcbmltcG9ydCAqIGFzIENhY2hlVXBkYXRlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC11cGRhdGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtaW5jcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtZGVjcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVHZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1nZXQnO1xuXG4vLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgVG9waWNQdWJsaXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXB1Ymxpc2gnO1xuaW1wb3J0ICogYXMgVG9waWNTdWJzY3JpYmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtc3Vic2NyaWJlJztcbmltcG9ydCB7VG9waWNJdGVtfSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1pdGVtJztcblxuLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgR2VuZXJhdGVBcGlLZXkgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtYXBpLWtleSc7XG5pbXBvcnQgKiBhcyBSZWZyZXNoQXBpS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3JlZnJlc2gtYXBpLWtleSc7XG5cbmltcG9ydCAqIGFzIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2dlbmVyYXRlLWRpc3Bvc2FibGUtdG9rZW4nO1xuXG4vLyBMZWFkZXJib2FyZCBSZXNwb25zZSBUeXBlc1xuZXhwb3J0ICogYXMgbGVhZGVyYm9hcmQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGVhZGVyYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvbGVhZGVyYm9hcmQnO1xuXG5leHBvcnQgKiBhcyB3ZWJob29rIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3dlYmhvb2snO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvd2ViaG9vayc7XG5leHBvcnQge1dlYmhvb2ssIFdlYmhvb2tJZH0gZnJvbSAnLi9tZXNzYWdlcy93ZWJob29rJztcblxuLy8gU3RvcmVDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3N0b3JhZ2UnO1xuZXhwb3J0IHtTdG9yZUluZm99IGZyb20gJy4vbWVzc2FnZXMvc3RvcmUtaW5mbyc7XG5cbmltcG9ydCB7Q2FjaGVJbmZvfSBmcm9tICcuL21lc3NhZ2VzL2NhY2hlLWluZm8nO1xuaW1wb3J0IHtcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIENvbGxlY3Rpb25UdGwsXG4gIFNvcnRlZFNldE9yZGVyLFxuICBMZWFkZXJib2FyZE9yZGVyLFxuICBFeHBpcmVzSW4sXG4gIEV4cGlyZXNBdCxcbiAgSXRlbVR5cGUsXG4gIFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgV2ViaG9va0Rlc3RpbmF0aW9uVHlwZSxcbiAgU2V0QmF0Y2hJdGVtLFxufSBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgQ3JlZGVudGlhbFByb3ZpZGVyLFxuICBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIsXG59IGZyb20gJy4vYXV0aCc7XG5cbmltcG9ydCB7XG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBDYWNoZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBDYWNoZU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlSXRlbU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCB7XG4gIE1vbWVudG9Mb2dnZXIsXG4gIE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL21vbWVudG8tbG9nZ2VyJztcblxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZW51bXMnO1xuXG5leHBvcnQge1xuICBOb29wTW9tZW50b0xvZ2dlcixcbiAgTm9vcE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL25vb3AtbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBJQ2FjaGVDbGllbnQsXG4gIFNldE9wdGlvbnMsXG4gIFNldElmTm90RXhpc3RzT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPcHRpb25zLFxuICBTZXRJZlByZXNlbnRPcHRpb25zLFxuICBTZXRJZkVxdWFsT3B0aW9ucyxcbiAgU2V0SWZOb3RFcXVhbE9wdGlvbnMsXG4gIFNldElmUHJlc2VudEFuZE5vdEVxdWFsT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPckVxdWFsT3B0aW9ucyxcbiAgSW5jcmVtZW50T3B0aW9ucyxcbn0gZnJvbSAnLi9jbGllbnRzL0lDYWNoZUNsaWVudCc7XG5cbmV4cG9ydCB7SVN0b3JhZ2VDbGllbnR9IGZyb20gJy4vY2xpZW50cy9JU3RvcmFnZUNsaWVudCc7XG5cbmV4cG9ydCB7SU1vbWVudG9DYWNoZX0gZnJvbSAnLi9jbGllbnRzL0lNb21lbnRvQ2FjaGUnO1xuXG5leHBvcnQge0lMZWFkZXJib2FyZENsaWVudH0gZnJvbSAnLi9jbGllbnRzL0lMZWFkZXJib2FyZENsaWVudCc7XG5leHBvcnQge0lMZWFkZXJib2FyZH0gZnJvbSAnLi9jbGllbnRzL0lMZWFkZXJib2FyZCc7XG5cbmV4cG9ydCB7XG4gIENhY2hlUm9sZSxcbiAgQ2FjaGVQZXJtaXNzaW9uLFxuICBUb3BpY1JvbGUsXG4gIFRvcGljUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbnMsXG4gIEFsbERhdGFSZWFkV3JpdGUsXG4gIFBlcm1pc3Npb25TY29wZSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBQZXJtaXNzaW9uU2NvcGVcbiAgICovXG4gIFRva2VuU2NvcGUsXG4gIENhY2hlTmFtZSxcbiAgaXNDYWNoZU5hbWUsXG4gIFRvcGljTmFtZSxcbiAgaXNUb3BpY05hbWUsXG4gIENhY2hlU2VsZWN0b3IsXG4gIFRvcGljU2VsZWN0b3IsXG4gIEFsbENhY2hlcyxcbiAgQWxsVG9waWNzLFxuICBBbGxDYWNoZUl0ZW1zLFxufSBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuXG5leHBvcnQge1xuICBEaXNwb3NhYmxlVG9rZW5TY29wZSxcbiAgQ2FjaGVJdGVtU2VsZWN0b3IsXG4gIENhY2hlSXRlbUtleSxcbiAgQ2FjaGVJdGVtS2V5UHJlZml4LFxuICBpc0NhY2hlSXRlbUtleSxcbiAgaXNDYWNoZUl0ZW1LZXlQcmVmaXgsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZSc7XG5cbmV4cG9ydCAqIGFzIFBlcm1pc3Npb25TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3Blcyc7XG4vKipcbiAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgUGVybWlzc2lvblNjb3BlcyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCAqIGFzIFRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZXMnO1xuZXhwb3J0ICogYXMgRGlzcG9zYWJsZVRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZXMnO1xuXG5leHBvcnQge1JlYWRDb25jZXJufSBmcm9tICcuL2NvbmZpZy9yZWFkLWNvbmNlcm4nO1xuZXhwb3J0IHtDb21wcmVzc2lvbkxldmVsfSBmcm9tICcuL2NvbXByZXNzaW9uL2NvbXByZXNzaW9uLWxldmVsJztcblxuZXhwb3J0IHtcbiAgRXhwaXJlc0luLFxuICBFeHBpcmVzQXQsXG4gIENvbGxlY3Rpb25UdGwsXG4gIEl0ZW1UeXBlLFxuICBXZWJob29rRGVzdGluYXRpb24sXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFdlYmhvb2tEZXN0aW5hdGlvblR5cGUsXG4gIFNvcnRlZFNldE9yZGVyLFxuICBMZWFkZXJib2FyZE9yZGVyLFxuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgU2V0QmF0Y2hJdGVtLFxuXG4gIC8vIENhY2hlQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIENhY2hlR2V0LFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQsXG4gIENhY2hlTGlzdEZldGNoLFxuICBDYWNoZUxpc3RMZW5ndGgsXG4gIENhY2hlTGlzdFBvcEJhY2ssXG4gIENhY2hlTGlzdFBvcEZyb250LFxuICBDYWNoZUxpc3RQdXNoQmFjayxcbiAgQ2FjaGVMaXN0UHVzaEZyb250LFxuICBDYWNoZUxpc3RSZW1vdmVWYWx1ZSxcbiAgQ2FjaGVMaXN0UmV0YWluLFxuICBDYWNoZVNldCxcbiAgQ2FjaGVTZXRJZk5vdEV4aXN0cyxcbiAgQ2FjaGVTZXRJZlByZXNlbnQsXG4gIENhY2hlU2V0SWZBYnNlbnQsXG4gIENhY2hlU2V0SWZFcXVhbCxcbiAgQ2FjaGVTZXRJZk5vdEVxdWFsLFxuICBDYWNoZVNldElmUHJlc2VudEFuZE5vdEVxdWFsLFxuICBDYWNoZVNldElmQWJzZW50T3JFcXVhbCxcbiAgQ2FjaGVEZWxldGUsXG4gIENhY2hlRmx1c2gsXG4gIENyZWF0ZUNhY2hlLFxuICBEZWxldGVDYWNoZSxcbiAgTGlzdENhY2hlcyxcbiAgQ2FjaGVJbmNyZW1lbnQsXG4gIENhY2hlU2V0RmV0Y2gsXG4gIENhY2hlRGljdGlvbmFyeUZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQsXG4gIENhY2hlRGljdGlvbmFyeUxlbmd0aCxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50cyxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50LFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlU2V0U2FtcGxlLFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0RmV0Y2gsXG4gIENhY2hlU29ydGVkU2V0R2V0UmFuayxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMsXG4gIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoQnlTY29yZSxcbiAgQ2FjaGVJdGVtR2V0VHlwZSxcbiAgQ2FjaGVJdGVtR2V0VHRsLFxuICBDYWNoZUtleUV4aXN0cyxcbiAgQ2FjaGVLZXlzRXhpc3QsXG4gIENhY2hlVXBkYXRlVHRsLFxuICBDYWNoZUluY3JlYXNlVHRsLFxuICBDYWNoZURlY3JlYXNlVHRsLFxuICBDYWNoZUluZm8sXG4gIENhY2hlU2V0QmF0Y2gsXG4gIENhY2hlR2V0QmF0Y2gsXG4gIC8vIFRvcGljQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIFRvcGljUHVibGlzaCxcbiAgVG9waWNTdWJzY3JpYmUsXG4gIFRvcGljSXRlbSxcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIC8vIEF1dGhDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgR2VuZXJhdGVBcGlLZXksXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgR2VuZXJhdGVBcGlLZXlcbiAgICovXG4gIEdlbmVyYXRlQXBpS2V5IGFzIEdlbmVyYXRlQXV0aFRva2VuLFxuICBSZWZyZXNoQXBpS2V5LFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIFJlZnJlc2hBcGlLZXlcbiAgICovXG4gIFJlZnJlc2hBcGlLZXkgYXMgUmVmcmVzaEF1dGhUb2tlbixcbiAgR2VuZXJhdGVEaXNwb3NhYmxlVG9rZW4sXG4gIC8vIEVycm9yc1xuICBNb21lbnRvRXJyb3JDb2RlLFxuICBTZGtFcnJvcixcbiAgQ2FjaGVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIFN0b3JlQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBBdXRoZW50aWNhdGlvbkVycm9yLFxuICBDYW5jZWxsZWRFcnJvcixcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBGYWlsZWRQcmVjb25kaXRpb25FcnJvcixcbiAgTGltaXRFeGNlZWRlZEVycm9yLFxuICBJbnRlcm5hbFNlcnZlckVycm9yLFxuICBJbnZhbGlkQXJndW1lbnRFcnJvcixcbiAgVW5rbm93blNlcnZpY2VFcnJvcixcbiAgU2VydmVyVW5hdmFpbGFibGVFcnJvcixcbiAgVGltZW91dEVycm9yLFxuICBCYWRSZXF1ZXN0RXJyb3IsXG4gIFBlcm1pc3Npb25FcnJvcixcbiAgQ2FjaGVOb3RGb3VuZEVycm9yLFxuICBTdG9yZUl0ZW1Ob3RGb3VuZEVycm9yLFxuICBTdG9yZU5vdEZvdW5kRXJyb3IsXG4gIFVua25vd25FcnJvcixcbn07XG4iXX0=
@@ -2,3 +2,4 @@ export * from './cache';
2
2
  export * from './auth';
3
3
  export * from './pubsub';
4
4
  export * from './leaderboard';
5
+ export * from './storage';
@@ -18,4 +18,5 @@ __exportStar(require("./cache"), exports);
18
18
  __exportStar(require("./auth"), exports);
19
19
  __exportStar(require("./pubsub"), exports);
20
20
  __exportStar(require("./leaderboard"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QiwyQ0FBeUI7QUFDekIsZ0RBQThCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9wdWJzdWInO1xuZXhwb3J0ICogZnJvbSAnLi9sZWFkZXJib2FyZCc7XG4iXX0=
21
+ __exportStar(require("./storage"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vcHVic3ViJztcbmV4cG9ydCAqIGZyb20gJy4vbGVhZGVyYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlJztcbiJdfQ==
@@ -104,7 +104,7 @@ class AbstractPubsubClient {
104
104
  // Another special case is when the cache is not found.
105
105
  // This happens here if the user deletes the cache in the middle of
106
106
  // a subscription.
107
- if (momentoError.errorCode() === errors_1.MomentoErrorCode.NOT_FOUND_ERROR) {
107
+ if (momentoError.errorCode() === errors_1.MomentoErrorCode.CACHE_NOT_FOUND_ERROR) {
108
108
  this.logger.trace('Stream ended due to cache not found error on topic: %s', options.topicName);
109
109
  options.subscription.unsubscribe();
110
110
  options.onError(momentoError, options.subscription);
@@ -116,4 +116,4 @@ class AbstractPubsubClient {
116
116
  }
117
117
  }
118
118
  exports.AbstractPubsubClient = AbstractPubsubClient;
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQdWJzdWJDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9wdWJzdWIvQWJzdHJhY3RQdWJzdWJDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBSXFCO0FBQ3JCLDRDQUFpRDtBQUNqRCwwQ0FPd0I7QUFDeEIsaUVBQTJEO0FBd0MzRCxNQUFzQixvQkFBb0I7SUFPakMsV0FBVztRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FDbEIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsS0FBMEI7UUFFMUIsSUFBSTtZQUNGLElBQUEseUJBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsSUFBQSx5QkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztTQUM5QjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQ3BELEdBQVksRUFDWixHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksb0JBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ25DLENBQUM7WUFDRiw4REFBOEQ7U0FDL0Q7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix3REFBd0QsRUFDeEQsSUFBQSxzQkFBYyxFQUFDLFNBQVMsQ0FBQyxFQUN6QixLQUFLLENBQUMsTUFBTSxDQUNiLENBQUM7UUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7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QXNEO1FBQ3RELG9FQUFvRTtRQUNwRSxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHdEQUF3RCxDQUN6RCxDQUFDO1lBQ0Ysc0VBQXNFO1lBQ3RFLCtFQUErRTtZQUMvRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztpQkFDeEIsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDVCxPQUFPO1lBQ1QsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsT0FBTztZQUNULENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNuQyxPQUFPO1NBQ1I7UUFFRCx1REFBdUQ7UUFDdkQsbUVBQW1FO1FBQ25FLGtCQUFrQjtRQUNsQixJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsS0FBSyx5QkFBZ0IsQ0FBQyxlQUFlLEVBQUU7WUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2Ysd0RBQXdELEVBQ3hELE9BQU8sQ0FBQyxTQUFTLENBQ2xCLENBQUM7WUFDRixPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNwRCxPQUFPO1NBQ1I7YUFBTTtZQUNMLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7Q0FDRjtBQXBMRCxvREFvTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0cnVuY2F0ZVN0cmluZyxcbiAgdmFsaWRhdGVDYWNoZU5hbWUsXG4gIHZhbGlkYXRlVG9waWNOYW1lLFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge01vbWVudG9FcnJvckNvZGV9IGZyb20gJy4uLy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFRvcGljUHVibGlzaCxcbiAgVG9waWNJdGVtLFxuICBNb21lbnRvTG9nZ2VyLFxuICBUb3BpY1N1YnNjcmliZSxcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG59IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7U3Vic2NyaXB0aW9uU3RhdGV9IGZyb20gJy4uLy4uL3N1YnNjcmlwdGlvbi1zdGF0ZSc7XG5pbXBvcnQge0lQdWJzdWJDbGllbnR9IGZyb20gJy4vSVB1YnN1YkNsaWVudCc7XG5pbXBvcnQge0lDYWNoZVNlcnZpY2VFcnJvck1hcHBlcn0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzL0lDYWNoZVNlcnZpY2VFcnJvck1hcHBlcic7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIHBhcmFtZXRlcnMgZm9yIHRoZSBgc2VuZFN1YnNjcmliZWAgbWV0aG9kLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRTdWJzY3JpYmVPcHRpb25zIHtcbiAgY2FjaGVOYW1lOiBzdHJpbmc7XG4gIHRvcGljTmFtZTogc3RyaW5nO1xuICBvbkl0ZW06IChpdGVtOiBUb3BpY0l0ZW0pID0+IHZvaWQ7XG4gIG9uRXJyb3I6IChcbiAgICBlcnJvcjogVG9waWNTdWJzY3JpYmUuRXJyb3IsXG4gICAgc3Vic2NyaXB0aW9uOiBUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb25cbiAgKSA9PiB2b2lkO1xuICBzdWJzY3JpcHRpb25TdGF0ZTogU3Vic2NyaXB0aW9uU3RhdGU7XG4gIHN1YnNjcmlwdGlvbjogVG9waWNTdWJzY3JpYmUuU3Vic2NyaXB0aW9uO1xufVxuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBwYXJhbWV0ZXJzIGZvciB0aGUgc3Vic2NyaWJlIGNhbGxiYWNrIHByZXBhcmUgbWV0aG9kcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zIGV4dGVuZHMgU2VuZFN1YnNjcmliZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByb21pc2UgcmVzb2x2ZSBmdW5jdGlvbi5cbiAgICovXG4gIHJlc29sdmU6IChcbiAgICB2YWx1ZTogVG9waWNTdWJzY3JpYmUuUmVzcG9uc2UgfCBQcm9taXNlTGlrZTxUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb24+XG4gICkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHN0cmVhbSB3YXMgcmVzdGFydGVkIGR1ZSB0byBhbiBlcnJvci4gSWYgc28sIHdlIHNraXAgdGhlIGVuZCBzdHJlYW0gaGFuZGxlclxuICAgKiBsb2dpYyBhcyB0aGUgZXJyb3IgaGFuZGxlciB3aWxsIGhhdmUgcmVzdGFydGVkIHRoZSBzdHJlYW0uXG4gICAqL1xuICByZXN0YXJ0ZWREdWVUb0Vycm9yOiBib29sZWFuO1xuICAvKipcbiAgICogSWYgdGhlIGZpcnN0IG1lc3NhZ2UgaXMgYW4gZXJyb3IsIHdlIHJldHVybiBhbiBlcnJvciBpbW1lZGlhdGVseSBhbmQgZG8gbm90IHN1YnNjcmliZS5cbiAgICovXG4gIGZpcnN0TWVzc2FnZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UHVic3ViQ2xpZW50PFRHcnBjRXJyb3I+XG4gIGltcGxlbWVudHMgSVB1YnN1YkNsaWVudFxue1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nZ2VyOiBNb21lbnRvTG9nZ2VyO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyOiBDcmVkZW50aWFsUHJvdmlkZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYWNoZVNlcnZpY2VFcnJvck1hcHBlcjogSUNhY2hlU2VydmljZUVycm9yTWFwcGVyPFRHcnBjRXJyb3I+O1xuXG4gIHB1YmxpYyBnZXRFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gdGhpcy5jcmVkZW50aWFsUHJvdmlkZXIuZ2V0Q2FjaGVFbmRwb2ludCgpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBVc2luZyBjYWNoZSBlbmRwb2ludDogJHtlbmRwb2ludH1gKTtcbiAgICByZXR1cm4gZW5kcG9pbnQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHVibGlzaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT4ge1xuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZUNhY2hlTmFtZShjYWNoZU5hbWUpO1xuICAgICAgdmFsaWRhdGVUb3BpY05hbWUodG9waWNOYW1lKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlU2VydmljZUVycm9yTWFwcGVyLnJldHVybk9yVGhyb3dFcnJvcihcbiAgICAgICAgZXJyIGFzIEVycm9yLFxuICAgICAgICBlcnIgPT4gbmV3IFRvcGljUHVibGlzaC5FcnJvcihlcnIpXG4gICAgICApO1xuICAgICAgLy8gKSAgbmV3IFRvcGljUHVibGlzaC5FcnJvcihub3JtYWxpemVTZGtFcnJvcihlcnIgYXMgRXJyb3IpKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAnSXNzdWluZyBwdWJsaXNoIHJlcXVlc3Q7IHRvcGljOiAlcywgbWVzc2FnZSBsZW5ndGg6ICVzJyxcbiAgICAgIHRydW5jYXRlU3RyaW5nKHRvcGljTmFtZSksXG4gICAgICB2YWx1ZS5sZW5ndGhcbiAgICApO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2VuZFB1Ymxpc2goY2FjaGVOYW1lLCB0b3BpY05hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZW5kUHVibGlzaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT47XG5cbiAgcHVibGljIGFzeW5jIHN1YnNjcmliZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlQ2FjaGVOYW1lKGNhY2hlTmFtZSk7XG4gICAgICB2YWxpZGF0ZVRvcGljTmFtZSh0b3BpY05hbWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXIucmV0dXJuT3JUaHJvd0Vycm9yKFxuICAgICAgICBlcnIgYXMgRXJyb3IsXG4gICAgICAgIGVyciA9PiBuZXcgVG9waWNTdWJzY3JpYmUuRXJyb3IoZXJyKVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAnSXNzdWluZyBzdWJzY3JpYmUgcmVxdWVzdDsgdG9waWM6ICVzJyxcbiAgICAgIHRydW5jYXRlU3RyaW5nKHRvcGljTmFtZSlcbiAgICApO1xuXG4gICAgY29uc3Qgb25JdGVtID1cbiAgICAgIG9wdGlvbnMub25JdGVtID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcbiAgICBjb25zdCBvbkVycm9yID1cbiAgICAgIG9wdGlvbnMub25FcnJvciA/P1xuICAgICAgKCgpID0+IHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb25TdGF0ZSA9IG5ldyBTdWJzY3JpcHRpb25TdGF0ZSgpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG5ldyBUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb24oc3Vic2NyaXB0aW9uU3RhdGUpO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnNlbmRTdWJzY3JpYmUoe1xuICAgICAgY2FjaGVOYW1lOiBjYWNoZU5hbWUsXG4gICAgICB0b3BpY05hbWU6IHRvcGljTmFtZSxcbiAgICAgIG9uSXRlbTogb25JdGVtLFxuICAgICAgb25FcnJvcjogb25FcnJvcixcbiAgICAgIHN1YnNjcmlwdGlvblN0YXRlOiBzdWJzY3JpcHRpb25TdGF0ZSxcbiAgICAgIHN1YnNjcmlwdGlvbjogc3Vic2NyaXB0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbmRTdWJzY3JpYmUoXG4gICAgb3B0aW9uczogU2VuZFN1YnNjcmliZU9wdGlvbnNcbiAgKTogUHJvbWlzZTxUb3BpY1N1YnNjcmliZS5SZXNwb25zZT47XG5cbiAgcHJvdGVjdGVkIHByZXBhcmVFbmRDYWxsYmFjayhcbiAgICBvcHRpb25zOiBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zXG4gICk6ICgpID0+IHZvaWQge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAvLyBXZSB3YW50IHRvIHJlc3RhcnQgb24gc3RyZWFtIGVuZCwgZXhjZXB0IGlmOlxuICAgICAgLy8gMS4gVGhlIHN0cmVhbSB3YXMgY2FuY2VsbGVkIGJ5IHRoZSBjYWxsZXIuXG4gICAgICAvLyAyLiBUaGUgc3RyZWFtIHdhcyByZXN0YXJ0ZWQgZm9sbG93aW5nIGFuIGVycm9yLlxuICAgICAgaWYgKG9wdGlvbnMucmVzdGFydGVkRHVlVG9FcnJvcikge1xuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAnU3RyZWFtIGVuZGVkIGFmdGVyIGVycm9yIGJ1dCB3YXMgcmVzdGFydGVkIG9uIHRvcGljOiAlcycsXG4gICAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmICghb3B0aW9ucy5zdWJzY3JpcHRpb25TdGF0ZS5pc1N1YnNjcmliZWQpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICAgJ1N0cmVhbSBlbmRlZCBhZnRlciB1bnN1YnNjcmliZSBvbiB0b3BpYzogJXMnLFxuICAgICAgICAgIG9wdGlvbnMudG9waWNOYW1lXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdTdHJlYW0gZW5kZWQgb24gdG9waWM6ICVzOyByZXN0YXJ0aW5nLicsXG4gICAgICAgIG9wdGlvbnMudG9waWNOYW1lXG4gICAgICApO1xuXG4gICAgICAvLyBXaGVuIHJlc3RhcnRpbmcgdGhlIHN0cmVhbSB3ZSBkbyBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgcHJvbWlzZXMsXG4gICAgICAvLyBiZWNhdXNlIHdlIHNob3VsZCBoYXZlIGFscmVhZHkgcmV0dXJuZWQgdGhlIHN1YnNjcmlwdGlvbiBvYmplY3QgdG8gdGhlIHVzZXIuXG4gICAgICB0aGlzLnNlbmRTdWJzY3JpYmUob3B0aW9ucylcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pO1xuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU3Vic2NyaWJlRXJyb3IoXG4gICAgb3B0aW9uczogUHJlcGFyZVN1YnNjcmliZUNhbGxiYWNrT3B0aW9ucyxcbiAgICBtb21lbnRvRXJyb3I6IFRvcGljU3Vic2NyaWJlLkVycm9yLFxuICAgIGlzUnN0U3RyZWFtTm9FcnJvcjogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICAvLyBXaGVuIHRoZSBmaXJzdCBtZXNzYWdlIGlzIGFuIGVycm9yLCBhbiBpcnJlY292ZXJhYmxlIGVycm9yIGhhcyBoYXBwZW5lZCxcbiAgICAvLyBlZyB0aGUgY2FjaGUgZG9lcyBub3QgZXhpc3QuIFRoZSB1c2VyIHNob3VsZCBub3QgcmVjZWl2ZSBhIHN1YnNjcmlwdGlvblxuICAgIC8vIG9iamVjdCBidXQgYW4gZXJyb3IuXG4gICAgaWYgKG9wdGlvbnMuZmlyc3RNZXNzYWdlKSB7XG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1JlY2VpdmVkIHN1YnNjcmlwdGlvbiBzdHJlYW0gZXJyb3I7IHRvcGljOiAlcycsXG4gICAgICAgIHRydW5jYXRlU3RyaW5nKG9wdGlvbnMudG9waWNOYW1lKVxuICAgICAgKTtcblxuICAgICAgb3B0aW9ucy5yZXNvbHZlKG1vbWVudG9FcnJvcik7XG4gICAgICBvcHRpb25zLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRoZSBzZXJ2aWNlIGN1dHMgdGhlIHN0cmVhbSBhZnRlciBhIHBlcmlvZCBvZiB0aW1lLlxuICAgIC8vIFRyYW5zcGFyZW50bHkgcmVzdGFydCB0aGUgc3RyZWFtIGluc3RlYWQgb2YgcHJvcGFnYXRpbmcgYW4gZXJyb3IuXG4gICAgaWYgKGlzUnN0U3RyZWFtTm9FcnJvcikge1xuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdTZXJ2ZXIgY2xvc2VkIHN0cmVhbSBkdWUgdG8gaWRsZSBhY3Rpdml0eS4gUmVzdGFydGluZy4nXG4gICAgICApO1xuICAgICAgLy8gV2hlbiByZXN0YXJ0aW5nIHRoZSBzdHJlYW0gd2UgZG8gbm90IGRvIGFueXRoaW5nIHdpdGggdGhlIHByb21pc2VzLFxuICAgICAgLy8gYmVjYXVzZSB3ZSBzaG91bGQgaGF2ZSBhbHJlYWR5IHJldHVybmVkIHRoZSBzdWJzY3JpcHRpb24gb2JqZWN0IHRvIHRoZSB1c2VyLlxuICAgICAgdGhpcy5zZW5kU3Vic2NyaWJlKG9wdGlvbnMpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9KTtcbiAgICAgIG9wdGlvbnMucmVzdGFydGVkRHVlVG9FcnJvciA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQW5vdGhlciBzcGVjaWFsIGNhc2UgaXMgd2hlbiB0aGUgY2FjaGUgaXMgbm90IGZvdW5kLlxuICAgIC8vIFRoaXMgaGFwcGVucyBoZXJlIGlmIHRoZSB1c2VyIGRlbGV0ZXMgdGhlIGNhY2hlIGluIHRoZSBtaWRkbGUgb2ZcbiAgICAvLyBhIHN1YnNjcmlwdGlvbi5cbiAgICBpZiAobW9tZW50b0Vycm9yLmVycm9yQ29kZSgpID09PSBNb21lbnRvRXJyb3JDb2RlLk5PVF9GT1VORF9FUlJPUikge1xuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdTdHJlYW0gZW5kZWQgZHVlIHRvIGNhY2hlIG5vdCBmb3VuZCBlcnJvciBvbiB0b3BpYzogJXMnLFxuICAgICAgICBvcHRpb25zLnRvcGljTmFtZVxuICAgICAgKTtcbiAgICAgIG9wdGlvbnMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICBvcHRpb25zLm9uRXJyb3IobW9tZW50b0Vycm9yLCBvcHRpb25zLnN1YnNjcmlwdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMub25FcnJvcihtb21lbnRvRXJyb3IsIG9wdGlvbnMuc3Vic2NyaXB0aW9uKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQdWJzdWJDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9wdWJzdWIvQWJzdHJhY3RQdWJzdWJDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBSXFCO0FBQ3JCLDRDQUFpRDtBQUNqRCwwQ0FPd0I7QUFDeEIsaUVBQTJEO0FBd0MzRCxNQUFzQixvQkFBb0I7SUFPakMsV0FBVztRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FDbEIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsS0FBMEI7UUFFMUIsSUFBSTtZQUNGLElBQUEseUJBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsSUFBQSx5QkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztTQUM5QjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQ3BELEdBQVksRUFDWixHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksb0JBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ25DLENBQUM7WUFDRiw4REFBOEQ7U0FDL0Q7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix3REFBd0QsRUFDeEQsSUFBQSxzQkFBYyxFQUFDLFNBQVMsQ0FBQyxFQUN6QixLQUFLLENBQUMsTUFBTSxDQUNiLENBQUM7UUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7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QXNEO1FBQ3RELG9FQUFvRTtRQUNwRSxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHdEQUF3RCxDQUN6RCxDQUFDO1lBQ0Ysc0VBQXNFO1lBQ3RFLCtFQUErRTtZQUMvRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztpQkFDeEIsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDVCxPQUFPO1lBQ1QsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ1YsT0FBTztZQUNULENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNuQyxPQUFPO1NBQ1I7UUFFRCx1REFBdUQ7UUFDdkQsbUVBQW1FO1FBQ25FLGtCQUFrQjtRQUNsQixJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsS0FBSyx5QkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRTtZQUN2RSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZix3REFBd0QsRUFDeEQsT0FBTyxDQUFDLFNBQVMsQ0FDbEIsQ0FBQztZQUNGLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BELE9BQU87U0FDUjthQUFNO1lBQ0wsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztDQUNGO0FBcExELG9EQW9MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHRydW5jYXRlU3RyaW5nLFxuICB2YWxpZGF0ZUNhY2hlTmFtZSxcbiAgdmFsaWRhdGVUb3BpY05hbWUsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7TW9tZW50b0Vycm9yQ29kZX0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7XG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgVG9waWNQdWJsaXNoLFxuICBUb3BpY0l0ZW0sXG4gIE1vbWVudG9Mb2dnZXIsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb25TdGF0ZX0gZnJvbSAnLi4vLi4vc3Vic2NyaXB0aW9uLXN0YXRlJztcbmltcG9ydCB7SVB1YnN1YkNsaWVudH0gZnJvbSAnLi9JUHVic3ViQ2xpZW50JztcbmltcG9ydCB7SUNhY2hlU2VydmljZUVycm9yTWFwcGVyfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMvSUNhY2hlU2VydmljZUVycm9yTWFwcGVyJztcblxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgcGFyYW1ldGVycyBmb3IgdGhlIGBzZW5kU3Vic2NyaWJlYCBtZXRob2QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFN1YnNjcmliZU9wdGlvbnMge1xuICBjYWNoZU5hbWU6IHN0cmluZztcbiAgdG9waWNOYW1lOiBzdHJpbmc7XG4gIG9uSXRlbTogKGl0ZW06IFRvcGljSXRlbSkgPT4gdm9pZDtcbiAgb25FcnJvcjogKFxuICAgIGVycm9yOiBUb3BpY1N1YnNjcmliZS5FcnJvcixcbiAgICBzdWJzY3JpcHRpb246IFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvblxuICApID0+IHZvaWQ7XG4gIHN1YnNjcmlwdGlvblN0YXRlOiBTdWJzY3JpcHRpb25TdGF0ZTtcbiAgc3Vic2NyaXB0aW9uOiBUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb247XG59XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIHBhcmFtZXRlcnMgZm9yIHRoZSBzdWJzY3JpYmUgY2FsbGJhY2sgcHJlcGFyZSBtZXRob2RzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVTdWJzY3JpYmVDYWxsYmFja09wdGlvbnMgZXh0ZW5kcyBTZW5kU3Vic2NyaWJlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcHJvbWlzZSByZXNvbHZlIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVzb2x2ZTogKFxuICAgIHZhbHVlOiBUb3BpY1N1YnNjcmliZS5SZXNwb25zZSB8IFByb21pc2VMaWtlPFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbj5cbiAgKSA9PiB2b2lkO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgc3RyZWFtIHdhcyByZXN0YXJ0ZWQgZHVlIHRvIGFuIGVycm9yLiBJZiBzbywgd2Ugc2tpcCB0aGUgZW5kIHN0cmVhbSBoYW5kbGVyXG4gICAqIGxvZ2ljIGFzIHRoZSBlcnJvciBoYW5kbGVyIHdpbGwgaGF2ZSByZXN0YXJ0ZWQgdGhlIHN0cmVhbS5cbiAgICovXG4gIHJlc3RhcnRlZER1ZVRvRXJyb3I6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiB0aGUgZmlyc3QgbWVzc2FnZSBpcyBhbiBlcnJvciwgd2UgcmV0dXJuIGFuIGVycm9yIGltbWVkaWF0ZWx5IGFuZCBkbyBub3Qgc3Vic2NyaWJlLlxuICAgKi9cbiAgZmlyc3RNZXNzYWdlOiBib29sZWFuO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQdWJzdWJDbGllbnQ8VEdycGNFcnJvcj5cbiAgaW1wbGVtZW50cyBJUHVic3ViQ2xpZW50XG57XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2dnZXI6IE1vbWVudG9Mb2dnZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXI6IENyZWRlbnRpYWxQcm92aWRlcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhY2hlU2VydmljZUVycm9yTWFwcGVyOiBJQ2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXI8VEdycGNFcnJvcj47XG5cbiAgcHVibGljIGdldEVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSB0aGlzLmNyZWRlbnRpYWxQcm92aWRlci5nZXRDYWNoZUVuZHBvaW50KCk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYFVzaW5nIGNhY2hlIGVuZHBvaW50OiAke2VuZHBvaW50fWApO1xuICAgIHJldHVybiBlbmRwb2ludDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwdWJsaXNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlQ2FjaGVOYW1lKGNhY2hlTmFtZSk7XG4gICAgICB2YWxpZGF0ZVRvcGljTmFtZSh0b3BpY05hbWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXIucmV0dXJuT3JUaHJvd0Vycm9yKFxuICAgICAgICBlcnIgYXMgRXJyb3IsXG4gICAgICAgIGVyciA9PiBuZXcgVG9waWNQdWJsaXNoLkVycm9yKGVycilcbiAgICAgICk7XG4gICAgICAvLyApICBuZXcgVG9waWNQdWJsaXNoLkVycm9yKG5vcm1hbGl6ZVNka0Vycm9yKGVyciBhcyBFcnJvcikpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICdJc3N1aW5nIHB1Ymxpc2ggcmVxdWVzdDsgdG9waWM6ICVzLCBtZXNzYWdlIGxlbmd0aDogJXMnLFxuICAgICAgdHJ1bmNhdGVTdHJpbmcodG9waWNOYW1lKSxcbiAgICAgIHZhbHVlLmxlbmd0aFxuICAgICk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5zZW5kUHVibGlzaChjYWNoZU5hbWUsIHRvcGljTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbmRQdWJsaXNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPjtcblxuICBwdWJsaWMgYXN5bmMgc3Vic2NyaWJlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFN1YnNjcmliZUNhbGxPcHRpb25zXG4gICk6IFByb21pc2U8VG9waWNTdWJzY3JpYmUuUmVzcG9uc2U+IHtcbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVDYWNoZU5hbWUoY2FjaGVOYW1lKTtcbiAgICAgIHZhbGlkYXRlVG9waWNOYW1lKHRvcGljTmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZVNlcnZpY2VFcnJvck1hcHBlci5yZXR1cm5PclRocm93RXJyb3IoXG4gICAgICAgIGVyciBhcyBFcnJvcixcbiAgICAgICAgZXJyID0+IG5ldyBUb3BpY1N1YnNjcmliZS5FcnJvcihlcnIpXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICdJc3N1aW5nIHN1YnNjcmliZSByZXF1ZXN0OyB0b3BpYzogJXMnLFxuICAgICAgdHJ1bmNhdGVTdHJpbmcodG9waWNOYW1lKVxuICAgICk7XG5cbiAgICBjb25zdCBvbkl0ZW0gPVxuICAgICAgb3B0aW9ucy5vbkl0ZW0gPz9cbiAgICAgICgoKSA9PiB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pO1xuICAgIGNvbnN0IG9uRXJyb3IgPVxuICAgICAgb3B0aW9ucy5vbkVycm9yID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvblN0YXRlID0gbmV3IFN1YnNjcmlwdGlvblN0YXRlKCk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb25TdGF0ZSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2VuZFN1YnNjcmliZSh7XG4gICAgICBjYWNoZU5hbWU6IGNhY2hlTmFtZSxcbiAgICAgIHRvcGljTmFtZTogdG9waWNOYW1lLFxuICAgICAgb25JdGVtOiBvbkl0ZW0sXG4gICAgICBvbkVycm9yOiBvbkVycm9yLFxuICAgICAgc3Vic2NyaXB0aW9uU3RhdGU6IHN1YnNjcmlwdGlvblN0YXRlLFxuICAgICAgc3Vic2NyaXB0aW9uOiBzdWJzY3JpcHRpb24sXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2VuZFN1YnNjcmliZShcbiAgICBvcHRpb25zOiBTZW5kU3Vic2NyaWJlT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPjtcblxuICBwcm90ZWN0ZWQgcHJlcGFyZUVuZENhbGxiYWNrKFxuICAgIG9wdGlvbnM6IFByZXBhcmVTdWJzY3JpYmVDYWxsYmFja09wdGlvbnNcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIC8vIFdlIHdhbnQgdG8gcmVzdGFydCBvbiBzdHJlYW0gZW5kLCBleGNlcHQgaWY6XG4gICAgICAvLyAxLiBUaGUgc3RyZWFtIHdhcyBjYW5jZWxsZWQgYnkgdGhlIGNhbGxlci5cbiAgICAgIC8vIDIuIFRoZSBzdHJlYW0gd2FzIHJlc3RhcnRlZCBmb2xsb3dpbmcgYW4gZXJyb3IuXG4gICAgICBpZiAob3B0aW9ucy5yZXN0YXJ0ZWREdWVUb0Vycm9yKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAgICdTdHJlYW0gZW5kZWQgYWZ0ZXIgZXJyb3IgYnV0IHdhcyByZXN0YXJ0ZWQgb24gdG9waWM6ICVzJyxcbiAgICAgICAgICBvcHRpb25zLnRvcGljTmFtZVxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKCFvcHRpb25zLnN1YnNjcmlwdGlvblN0YXRlLmlzU3Vic2NyaWJlZCkge1xuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAnU3RyZWFtIGVuZGVkIGFmdGVyIHVuc3Vic2NyaWJlIG9uIHRvcGljOiAlcycsXG4gICAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1N0cmVhbSBlbmRlZCBvbiB0b3BpYzogJXM7IHJlc3RhcnRpbmcuJyxcbiAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICk7XG5cbiAgICAgIC8vIFdoZW4gcmVzdGFydGluZyB0aGUgc3RyZWFtIHdlIGRvIG5vdCBkbyBhbnl0aGluZyB3aXRoIHRoZSBwcm9taXNlcyxcbiAgICAgIC8vIGJlY2F1c2Ugd2Ugc2hvdWxkIGhhdmUgYWxyZWFkeSByZXR1cm5lZCB0aGUgc3Vic2NyaXB0aW9uIG9iamVjdCB0byB0aGUgdXNlci5cbiAgICAgIHRoaXMuc2VuZFN1YnNjcmliZShvcHRpb25zKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTdWJzY3JpYmVFcnJvcihcbiAgICBvcHRpb25zOiBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zLFxuICAgIG1vbWVudG9FcnJvcjogVG9waWNTdWJzY3JpYmUuRXJyb3IsXG4gICAgaXNSc3RTdHJlYW1Ob0Vycm9yOiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIC8vIFdoZW4gdGhlIGZpcnN0IG1lc3NhZ2UgaXMgYW4gZXJyb3IsIGFuIGlycmVjb3ZlcmFibGUgZXJyb3IgaGFzIGhhcHBlbmVkLFxuICAgIC8vIGVnIHRoZSBjYWNoZSBkb2VzIG5vdCBleGlzdC4gVGhlIHVzZXIgc2hvdWxkIG5vdCByZWNlaXZlIGEgc3Vic2NyaXB0aW9uXG4gICAgLy8gb2JqZWN0IGJ1dCBhbiBlcnJvci5cbiAgICBpZiAob3B0aW9ucy5maXJzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAnUmVjZWl2ZWQgc3Vic2NyaXB0aW9uIHN0cmVhbSBlcnJvcjsgdG9waWM6ICVzJyxcbiAgICAgICAgdHJ1bmNhdGVTdHJpbmcob3B0aW9ucy50b3BpY05hbWUpXG4gICAgICApO1xuXG4gICAgICBvcHRpb25zLnJlc29sdmUobW9tZW50b0Vycm9yKTtcbiAgICAgIG9wdGlvbnMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVGhlIHNlcnZpY2UgY3V0cyB0aGUgc3RyZWFtIGFmdGVyIGEgcGVyaW9kIG9mIHRpbWUuXG4gICAgLy8gVHJhbnNwYXJlbnRseSByZXN0YXJ0IHRoZSBzdHJlYW0gaW5zdGVhZCBvZiBwcm9wYWdhdGluZyBhbiBlcnJvci5cbiAgICBpZiAoaXNSc3RTdHJlYW1Ob0Vycm9yKSB7XG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1NlcnZlciBjbG9zZWQgc3RyZWFtIGR1ZSB0byBpZGxlIGFjdGl2aXR5LiBSZXN0YXJ0aW5nLidcbiAgICAgICk7XG4gICAgICAvLyBXaGVuIHJlc3RhcnRpbmcgdGhlIHN0cmVhbSB3ZSBkbyBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgcHJvbWlzZXMsXG4gICAgICAvLyBiZWNhdXNlIHdlIHNob3VsZCBoYXZlIGFscmVhZHkgcmV0dXJuZWQgdGhlIHN1YnNjcmlwdGlvbiBvYmplY3QgdG8gdGhlIHVzZXIuXG4gICAgICB0aGlzLnNlbmRTdWJzY3JpYmUob3B0aW9ucylcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pO1xuICAgICAgb3B0aW9ucy5yZXN0YXJ0ZWREdWVUb0Vycm9yID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBbm90aGVyIHNwZWNpYWwgY2FzZSBpcyB3aGVuIHRoZSBjYWNoZSBpcyBub3QgZm91bmQuXG4gICAgLy8gVGhpcyBoYXBwZW5zIGhlcmUgaWYgdGhlIHVzZXIgZGVsZXRlcyB0aGUgY2FjaGUgaW4gdGhlIG1pZGRsZSBvZlxuICAgIC8vIGEgc3Vic2NyaXB0aW9uLlxuICAgIGlmIChtb21lbnRvRXJyb3IuZXJyb3JDb2RlKCkgPT09IE1vbWVudG9FcnJvckNvZGUuQ0FDSEVfTk9UX0ZPVU5EX0VSUk9SKSB7XG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1N0cmVhbSBlbmRlZCBkdWUgdG8gY2FjaGUgbm90IGZvdW5kIGVycm9yIG9uIHRvcGljOiAlcycsXG4gICAgICAgIG9wdGlvbnMudG9waWNOYW1lXG4gICAgICApO1xuICAgICAgb3B0aW9ucy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIG9wdGlvbnMub25FcnJvcihtb21lbnRvRXJyb3IsIG9wdGlvbnMuc3Vic2NyaXB0aW9uKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucy5vbkVycm9yKG1vbWVudG9FcnJvciwgb3B0aW9ucy5zdWJzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,21 @@
1
+ import { CreateStore, DeleteStore, ListStores, StorageGet, StoragePut, StorageDelete } from '../../../index';
2
+ import { IStorageDataClient } from './IStorageDataClient';
3
+ import { IStorageClient } from '../../../clients/IStorageClient';
4
+ import { IStorageControlClient } from './IStorageControlClient';
5
+ export declare abstract class AbstractStorageClient implements IStorageClient {
6
+ protected readonly dataClients: IStorageDataClient[];
7
+ protected readonly controlClient: IStorageControlClient;
8
+ private nextDataClientIndex;
9
+ protected constructor(dataClients: IStorageDataClient[], controlClient: IStorageControlClient);
10
+ createStore(storeName: string): Promise<CreateStore.Response>;
11
+ listStores(): Promise<ListStores.Response>;
12
+ deleteStore(storeName: string): Promise<DeleteStore.Response>;
13
+ get(storeName: string, key: string): Promise<StorageGet.Response>;
14
+ putInt(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
15
+ putDouble(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
16
+ putString(storeName: string, key: string, value: string): Promise<StoragePut.Response>;
17
+ putBytes(storeName: string, key: string, value: Uint8Array): Promise<StoragePut.Response>;
18
+ delete(storeName: string, key: string): Promise<StorageDelete.Response>;
19
+ private getNextDataClient;
20
+ abstract close(): void;
21
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractStorageClient = void 0;
4
+ class AbstractStorageClient {
5
+ constructor(dataClients, controlClient) {
6
+ this.dataClients = dataClients;
7
+ this.controlClient = controlClient;
8
+ // We round-robin the requests through all of our clients. Since javascript
9
+ // is single-threaded, we don't have to worry about thread safety on this
10
+ // index variable.
11
+ this.nextDataClientIndex = 0;
12
+ }
13
+ createStore(storeName) {
14
+ return this.controlClient.createStore(storeName);
15
+ }
16
+ listStores() {
17
+ return this.controlClient.listStores();
18
+ }
19
+ deleteStore(storeName) {
20
+ return this.controlClient.deleteStore(storeName);
21
+ }
22
+ get(storeName, key) {
23
+ return this.getNextDataClient().get(storeName, key);
24
+ }
25
+ putInt(storeName, key, value) {
26
+ return this.getNextDataClient().putInt(storeName, key, value);
27
+ }
28
+ putDouble(storeName, key, value) {
29
+ return this.getNextDataClient().putDouble(storeName, key, value);
30
+ }
31
+ putString(storeName, key, value) {
32
+ return this.getNextDataClient().putString(storeName, key, value);
33
+ }
34
+ putBytes(storeName, key, value) {
35
+ return this.getNextDataClient().putBytes(storeName, key, value);
36
+ }
37
+ delete(storeName, key) {
38
+ return this.getNextDataClient().delete(storeName, key);
39
+ }
40
+ getNextDataClient() {
41
+ const client = this.dataClients[this.nextDataClientIndex];
42
+ this.nextDataClientIndex =
43
+ (this.nextDataClientIndex + 1) % this.dataClients.length;
44
+ return client;
45
+ }
46
+ }
47
+ exports.AbstractStorageClient = AbstractStorageClient;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RTdG9yYWdlQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVybmFsL2NsaWVudHMvc3RvcmFnZS9BYnN0cmFjdFN0b3JhZ2VDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsTUFBc0IscUJBQXFCO0lBS3pDLFlBQ0UsV0FBaUMsRUFDakMsYUFBb0M7UUFFcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFFbkMsNEVBQTRFO1FBQzVFLHlFQUF5RTtRQUN6RSxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLFNBQWlCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQjtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxHQUFHLENBQUMsU0FBaUIsRUFBRSxHQUFXO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsTUFBTSxDQUNKLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxLQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsU0FBUyxDQUNQLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxLQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsU0FBUyxDQUNQLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxLQUFhO1FBRWIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsUUFBUSxDQUNOLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxLQUFpQjtRQUVqQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBaUIsRUFBRSxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLG1CQUFtQjtZQUN0QixDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUMzRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBR0Y7QUE5RUQsc0RBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3JlYXRlU3RvcmUsXG4gIERlbGV0ZVN0b3JlLFxuICBMaXN0U3RvcmVzLFxuICBTdG9yYWdlR2V0LFxuICBTdG9yYWdlUHV0LFxuICBTdG9yYWdlRGVsZXRlLFxufSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5pbXBvcnQge0lTdG9yYWdlRGF0YUNsaWVudH0gZnJvbSAnLi9JU3RvcmFnZURhdGFDbGllbnQnO1xuaW1wb3J0IHtJU3RvcmFnZUNsaWVudH0gZnJvbSAnLi4vLi4vLi4vY2xpZW50cy9JU3RvcmFnZUNsaWVudCc7XG5pbXBvcnQge0lTdG9yYWdlQ29udHJvbENsaWVudH0gZnJvbSAnLi9JU3RvcmFnZUNvbnRyb2xDbGllbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTdG9yYWdlQ2xpZW50IGltcGxlbWVudHMgSVN0b3JhZ2VDbGllbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YUNsaWVudHM6IElTdG9yYWdlRGF0YUNsaWVudFtdO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbENsaWVudDogSVN0b3JhZ2VDb250cm9sQ2xpZW50O1xuICBwcml2YXRlIG5leHREYXRhQ2xpZW50SW5kZXg6IG51bWJlcjtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgZGF0YUNsaWVudHM6IElTdG9yYWdlRGF0YUNsaWVudFtdLFxuICAgIGNvbnRyb2xDbGllbnQ6IElTdG9yYWdlQ29udHJvbENsaWVudFxuICApIHtcbiAgICB0aGlzLmRhdGFDbGllbnRzID0gZGF0YUNsaWVudHM7XG4gICAgdGhpcy5jb250cm9sQ2xpZW50ID0gY29udHJvbENsaWVudDtcblxuICAgIC8vIFdlIHJvdW5kLXJvYmluIHRoZSByZXF1ZXN0cyB0aHJvdWdoIGFsbCBvZiBvdXIgY2xpZW50cy4gIFNpbmNlIGphdmFzY3JpcHRcbiAgICAvLyBpcyBzaW5nbGUtdGhyZWFkZWQsIHdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgdGhyZWFkIHNhZmV0eSBvbiB0aGlzXG4gICAgLy8gaW5kZXggdmFyaWFibGUuXG4gICAgdGhpcy5uZXh0RGF0YUNsaWVudEluZGV4ID0gMDtcbiAgfVxuXG4gIGNyZWF0ZVN0b3JlKHN0b3JlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxDcmVhdGVTdG9yZS5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xDbGllbnQuY3JlYXRlU3RvcmUoc3RvcmVOYW1lKTtcbiAgfVxuXG4gIGxpc3RTdG9yZXMoKTogUHJvbWlzZTxMaXN0U3RvcmVzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbENsaWVudC5saXN0U3RvcmVzKCk7XG4gIH1cblxuICBkZWxldGVTdG9yZShzdG9yZU5hbWU6IHN0cmluZyk6IFByb21pc2U8RGVsZXRlU3RvcmUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sQ2xpZW50LmRlbGV0ZVN0b3JlKHN0b3JlTmFtZSk7XG4gIH1cblxuICBnZXQoc3RvcmVOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxTdG9yYWdlR2V0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TmV4dERhdGFDbGllbnQoKS5nZXQoc3RvcmVOYW1lLCBrZXkpO1xuICB9XG5cbiAgcHV0SW50KFxuICAgIHN0b3JlTmFtZTogc3RyaW5nLFxuICAgIGtleTogc3RyaW5nLFxuICAgIHZhbHVlOiBudW1iZXJcbiAgKTogUHJvbWlzZTxTdG9yYWdlUHV0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TmV4dERhdGFDbGllbnQoKS5wdXRJbnQoc3RvcmVOYW1lLCBrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHB1dERvdWJsZShcbiAgICBzdG9yZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogbnVtYmVyXG4gICk6IFByb21pc2U8U3RvcmFnZVB1dC5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmdldE5leHREYXRhQ2xpZW50KCkucHV0RG91YmxlKHN0b3JlTmFtZSwga2V5LCB2YWx1ZSk7XG4gIH1cblxuICBwdXRTdHJpbmcoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5nZXROZXh0RGF0YUNsaWVudCgpLnB1dFN0cmluZyhzdG9yZU5hbWUsIGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcHV0Qnl0ZXMoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxTdG9yYWdlUHV0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TmV4dERhdGFDbGllbnQoKS5wdXRCeXRlcyhzdG9yZU5hbWUsIGtleSwgdmFsdWUpO1xuICB9XG5cbiAgZGVsZXRlKHN0b3JlTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IFByb21pc2U8U3RvcmFnZURlbGV0ZS5SZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmdldE5leHREYXRhQ2xpZW50KCkuZGVsZXRlKHN0b3JlTmFtZSwga2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmV4dERhdGFDbGllbnQoKTogSVN0b3JhZ2VEYXRhQ2xpZW50IHtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmRhdGFDbGllbnRzW3RoaXMubmV4dERhdGFDbGllbnRJbmRleF07XG4gICAgdGhpcy5uZXh0RGF0YUNsaWVudEluZGV4ID1cbiAgICAgICh0aGlzLm5leHREYXRhQ2xpZW50SW5kZXggKyAxKSAlIHRoaXMuZGF0YUNsaWVudHMubGVuZ3RoO1xuICAgIHJldHVybiBjbGllbnQ7XG4gIH1cblxuICBhYnN0cmFjdCBjbG9zZSgpOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ import { CreateStore, DeleteStore, ListStores } from '../../../index';
2
+ export interface IStorageControlClient {
3
+ createStore(storeName: string): Promise<CreateStore.Response>;
4
+ deleteStore(storeName: string): Promise<DeleteStore.Response>;
5
+ listStores(): Promise<ListStores.Response>;
6
+ close(): void;
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVN0b3JhZ2VDb250cm9sQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVybmFsL2NsaWVudHMvc3RvcmFnZS9JU3RvcmFnZUNvbnRyb2xDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q3JlYXRlU3RvcmUsIERlbGV0ZVN0b3JlLCBMaXN0U3RvcmVzfSBmcm9tICcuLi8uLi8uLi9pbmRleCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0b3JhZ2VDb250cm9sQ2xpZW50IHtcbiAgY3JlYXRlU3RvcmUoc3RvcmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPENyZWF0ZVN0b3JlLlJlc3BvbnNlPjtcbiAgZGVsZXRlU3RvcmUoc3RvcmVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPERlbGV0ZVN0b3JlLlJlc3BvbnNlPjtcbiAgbGlzdFN0b3JlcygpOiBQcm9taXNlPExpc3RTdG9yZXMuUmVzcG9uc2U+O1xuICBjbG9zZSgpOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,10 @@
1
+ import { StorageGet, StoragePut, StorageDelete } from '../../../index';
2
+ export interface IStorageDataClient {
3
+ get(storeName: string, key: string): Promise<StorageGet.Response>;
4
+ putInt(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
5
+ putDouble(storeName: string, key: string, value: number): Promise<StoragePut.Response>;
6
+ putString(storeName: string, key: string, value: string): Promise<StoragePut.Response>;
7
+ putBytes(storeName: string, key: string, value: Uint8Array): Promise<StoragePut.Response>;
8
+ delete(storeName: string, key: string): Promise<StorageDelete.Response>;
9
+ close(): void;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVN0b3JhZ2VEYXRhQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVybmFsL2NsaWVudHMvc3RvcmFnZS9JU3RvcmFnZURhdGFDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U3RvcmFnZUdldCwgU3RvcmFnZVB1dCwgU3RvcmFnZURlbGV0ZX0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTdG9yYWdlRGF0YUNsaWVudCB7XG4gIGdldChzdG9yZU5hbWU6IHN0cmluZywga2V5OiBzdHJpbmcpOiBQcm9taXNlPFN0b3JhZ2VHZXQuUmVzcG9uc2U+O1xuICBwdXRJbnQoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IG51bWJlclxuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+O1xuICBwdXREb3VibGUoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IG51bWJlclxuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+O1xuICBwdXRTdHJpbmcoXG4gICAgc3RvcmVOYW1lOiBzdHJpbmcsXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+O1xuICBwdXRCeXRlcyhcbiAgICBzdG9yZU5hbWU6IHN0cmluZyxcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogVWludDhBcnJheVxuICApOiBQcm9taXNlPFN0b3JhZ2VQdXQuUmVzcG9uc2U+O1xuICBkZWxldGUoc3RvcmVOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxTdG9yYWdlRGVsZXRlLlJlc3BvbnNlPjtcbiAgY2xvc2UoKTogdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './AbstractStorageClient';
2
+ export * from './IStorageControlClient';
3
+ export * from './IStorageDataClient';
4
+ export * from '../../../clients/IStorageClient';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AbstractStorageClient"), exports);
18
+ __exportStar(require("./IStorageControlClient"), exports);
19
+ __exportStar(require("./IStorageDataClient"), exports);
20
+ __exportStar(require("../../../clients/IStorageClient"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9zdG9yYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBd0M7QUFDeEMsMERBQXdDO0FBQ3hDLHVEQUFxQztBQUNyQyxrRUFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0Fic3RyYWN0U3RvcmFnZUNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL0lTdG9yYWdlQ29udHJvbENsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL0lTdG9yYWdlRGF0YUNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuLi8uLi8uLi9jbGllbnRzL0lTdG9yYWdlQ2xpZW50JztcbiJdfQ==
@@ -18,6 +18,7 @@ interface TokenAndEndpoints {
18
18
  controlEndpoint: string | undefined;
19
19
  cacheEndpoint: string | undefined;
20
20
  tokenEndpoint: string | undefined;
21
+ storageEndpoint: string | undefined;
21
22
  authToken: string;
22
23
  }
23
24
  export interface Endpoint {
@@ -28,6 +29,7 @@ export interface AllEndpoints {
28
29
  controlEndpoint: Endpoint;
29
30
  cacheEndpoint: Endpoint;
30
31
  tokenEndpoint: Endpoint;
32
+ storageEndpoint: Endpoint;
31
33
  }
32
34
  export declare function populateAllEndpointsFromBaseEndpoint(endpointOverride: BaseEndpointOverride): AllEndpoints;
33
35
  /**
@@ -27,6 +27,10 @@ function populateAllEndpointsFromBaseEndpoint(endpointOverride) {
27
27
  endpoint: `${prefix}token.${endpointOverride.baseEndpoint}`,
28
28
  secureConnection: endpointOverride.secureConnection,
29
29
  },
30
+ storageEndpoint: {
31
+ endpoint: `${prefix}storage.${endpointOverride.baseEndpoint}`,
32
+ secureConnection: endpointOverride.secureConnection,
33
+ },
30
34
  };
31
35
  }
32
36
  exports.populateAllEndpointsFromBaseEndpoint = populateAllEndpointsFromBaseEndpoint;
@@ -56,6 +60,7 @@ const decodeAuthToken = (token) => {
56
60
  controlEndpoint: endpoints.controlEndpoint.endpoint,
57
61
  cacheEndpoint: endpoints.cacheEndpoint.endpoint,
58
62
  tokenEndpoint: endpoints.tokenEndpoint.endpoint,
63
+ storageEndpoint: endpoints.storageEndpoint.endpoint,
59
64
  authToken: base64DecodedToken.api_key,
60
65
  };
61
66
  }
@@ -68,6 +73,7 @@ const decodeAuthToken = (token) => {
68
73
  controlEndpoint: decodedLegacyToken.cp,
69
74
  cacheEndpoint: decodedLegacyToken.c,
70
75
  tokenEndpoint: decodedLegacyToken.c,
76
+ storageEndpoint: decodedLegacyToken.c,
71
77
  authToken: token,
72
78
  };
73
79
  }
@@ -81,4 +87,4 @@ exports.decodeAuthToken = decodeAuthToken;
81
87
  class InternalSuperUserPermissions extends permission_scope_1.PredefinedScope {
82
88
  }
83
89
  exports.InternalSuperUserPermissions = InternalSuperUserPermissions;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQyx5RUFBbUU7QUFtQm5FLFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQXNCRCxTQUFnQixvQ0FBb0MsQ0FDbEQsZ0JBQXNDO0lBRXRDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQztLQUNoRDtJQUNELE9BQU87UUFDTCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQzdELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtTQUNwRDtRQUNELGFBQWEsRUFBRTtZQUNiLFFBQVEsRUFBRSxHQUFHLE1BQU0sU0FBUyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7WUFDM0QsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1NBQ3BEO1FBQ0QsYUFBYSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEdBQUcsTUFBTSxTQUFTLGdCQUFnQixDQUFDLFlBQVksRUFBRTtZQUMzRCxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7U0FDcEQ7S0FDRixDQUFDO0FBQ0osQ0FBQztBQXJCRCxvRkFxQkM7QUFFRDs7O0dBR0c7QUFDSSxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWMsRUFBcUIsRUFBRTtJQUNuRSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsTUFBTSxJQUFJLDZCQUFvQixDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FDeEQ7SUFFRCxJQUFJO1FBQ0YseUdBQXlHO1FBQ3pHLGdIQUFnSDtRQUNoSCxxSEFBcUg7UUFDckgseUhBQXlIO1FBQ3pILGdDQUFnQztRQUNoQyxJQUFJLElBQUEscUJBQVEsRUFBQyxLQUFLLENBQUMsRUFBRTtZQUNuQixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQ25DLElBQUEseUJBQWdCLEVBQUMsS0FBSyxDQUFDLENBQ0EsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFO2dCQUMvRCxNQUFNLElBQUksNkJBQW9CLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUN6RDtZQUNELE1BQU0sU0FBUyxHQUFHLG9DQUFvQyxDQUFDO2dCQUNyRCxZQUFZLEVBQUUsa0JBQWtCLENBQUMsUUFBUTthQUMxQyxDQUFDLENBQUM7WUFDSCxPQUFPO2dCQUNMLGVBQWUsRUFBRSxTQUFTLENBQUMsZUFBZSxDQUFDLFFBQVE7Z0JBQ25ELGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVE7Z0JBQy9DLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVE7Z0JBQy9DLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO2FBQ3RDLENBQUM7U0FDSDthQUFNO1lBQ0wsa0hBQWtIO1lBQ2xILGdIQUFnSDtZQUNoSCxvSEFBb0g7WUFDcEgsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBZSxLQUFLLENBQUMsQ0FBQztZQUN0RSxPQUFPO2dCQUNMLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFO2dCQUN0QyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ25DLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUM7U0FDSDtLQUNGO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViw0RUFBNEU7UUFDNUUsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyxDQUFDO0FBM0NXLFFBQUEsZUFBZSxtQkEyQzFCO0FBRUYsTUFBYSw0QkFBNkIsU0FBUSxrQ0FBZTtDQUFHO0FBQXBFLG9FQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW52YWxpZEFyZ3VtZW50RXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgand0RGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnO1xuaW1wb3J0IHtpc0Jhc2U2NH0gZnJvbSAnLi92YWxpZGF0b3JzJztcbmltcG9ydCB7ZGVjb2RlRnJvbUJhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuaW1wb3J0IHtQcmVkZWZpbmVkU2NvcGV9IGZyb20gJy4uLy4uL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuaW1wb3J0IHtCYXNlRW5kcG9pbnRPdmVycmlkZX0gZnJvbSAnLi4vLi4vYXV0aCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q2xhaW1zIHtcbiAgLyoqXG4gICAqIGNvbnRyb2wgcGxhbmUgZW5kcG9pbnRcbiAgICovXG4gIGNwOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBjYWNoZSBlbmRwb2ludFxuICAgKi9cbiAgYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2U2NERlY29kZWRWMVRva2VuIHtcbiAgYXBpX2tleTogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVBdXRoVG9rZW5DbGFpbXM8VD4oYXV0aFRva2VuOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIGp3dERlY29kZTxUPihhdXRoVG9rZW4pO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5BbmRFbmRwb2ludHMge1xuICAvLyBJZiB3ZSBkZWNvZGUgYSBKV1QgdGhhdCBkb2Vzbid0IGFjdHVhbGx5IGhhdmUgdGhlIGNvbnRyb2xFbmRwb2ludC9jYWNoZUVuZHBvaW50IGNsYWltcywgdGhlbiB0aGV5IHdpbGwgY29tZSBiYWNrXG4gIC8vIGFzIHVuZGVmaW5lZDsgdGh1cyB3ZSBuZWVkIHRoZSB0eXBlcyBoZXJlIHRvIGJlIGBzdHJpbmcgfCB1bmRlZmluZWRgLlxuICBjb250cm9sRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FjaGVFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGF1dGhUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVuZHBvaW50IHtcbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgc2VjdXJlQ29ubmVjdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxsRW5kcG9pbnRzIHtcbiAgY29udHJvbEVuZHBvaW50OiBFbmRwb2ludDtcbiAgY2FjaGVFbmRwb2ludDogRW5kcG9pbnQ7XG4gIHRva2VuRW5kcG9pbnQ6IEVuZHBvaW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9wdWxhdGVBbGxFbmRwb2ludHNGcm9tQmFzZUVuZHBvaW50KFxuICBlbmRwb2ludE92ZXJyaWRlOiBCYXNlRW5kcG9pbnRPdmVycmlkZVxuKTogQWxsRW5kcG9pbnRzIHtcbiAgbGV0IHByZWZpeCA9ICcnO1xuICBpZiAoZW5kcG9pbnRPdmVycmlkZS5lbmRwb2ludFByZWZpeCkge1xuICAgIHByZWZpeCA9IGAke2VuZHBvaW50T3ZlcnJpZGUuZW5kcG9pbnRQcmVmaXh9LmA7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjb250cm9sRW5kcG9pbnQ6IHtcbiAgICAgIGVuZHBvaW50OiBgJHtwcmVmaXh9Y29udHJvbC4ke2VuZHBvaW50T3ZlcnJpZGUuYmFzZUVuZHBvaW50fWAsXG4gICAgICBzZWN1cmVDb25uZWN0aW9uOiBlbmRwb2ludE92ZXJyaWRlLnNlY3VyZUNvbm5lY3Rpb24sXG4gICAgfSxcbiAgICBjYWNoZUVuZHBvaW50OiB7XG4gICAgICBlbmRwb2ludDogYCR7cHJlZml4fWNhY2hlLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgICB9LFxuICAgIHRva2VuRW5kcG9pbnQ6IHtcbiAgICAgIGVuZHBvaW50OiBgJHtwcmVmaXh9dG9rZW4uJHtlbmRwb2ludE92ZXJyaWRlLmJhc2VFbmRwb2ludH1gLFxuICAgICAgc2VjdXJlQ29ubmVjdGlvbjogZW5kcG9pbnRPdmVycmlkZS5zZWN1cmVDb25uZWN0aW9uLFxuICAgIH0sXG4gIH07XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHRva2VuXG4gKiBAcmV0dXJucyBUb2tlbkFuZEVuZHBvaW50c1xuICovXG5leHBvcnQgY29uc3QgZGVjb2RlQXV0aFRva2VuID0gKHRva2VuPzogc3RyaW5nKTogVG9rZW5BbmRFbmRwb2ludHMgPT4ge1xuICBpZiAoIXRva2VuKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdtYWxmb3JtZWQgYXV0aCB0b2tlbicpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyB2MSBhcGkgdG9rZW5zIGRvbid0IGhhdmUgYW4gZW5kcG9pbnQgYXMgcGFydCBvZiB0aGVpciBjbGFpbXMuIEluc3RlYWQsIHdoZW4gdGhlIFNESyByZXR1cm5zIHRva2Vucywgd2VcbiAgICAvLyBnaXZlIGl0IHRvIHRoZW0gYXMgYSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgb2YgJ3sgXCJhcGlfa2V5XCI6IFwiPHRoZSBrZXk+XCIsIFwiZW5kcG9pbnRcIjogXCJwcm9kLm1vbWVudG9ocS5jb21cIiB9Jy5cbiAgICAvLyBTaW5jZSBpbiB0aGUgbmVhciBmdXR1cmUsIG1vc3QgY3VzdG9tZXJzIGFyZSBnb2luZyB0byBiZSB1c2luZyB0aGVzZSBuZXdlciB0b2tlbnMsIHdlIGFyZSBmaXJzdCBjaGVja2luZyB0byBzZWUgaWZcbiAgICAvLyB0aGV5IGFyZSBiYXNlNjQgZW5jb2RlZCwgd2hpY2ggd2lsbCB0ZWxsIHVzIHRoYXQgdGhleSBhcmUgb3VyIHYxIGFwaSB0b2tlbnMuIElmIGl0cyBub3QsIHdlIHdpbGwgZmFsbCBiYWNrIHRvIGRlY29kaW5nXG4gICAgLy8gaXQgYXMgb25lIG9mIG91ciBsZWdhY3kgand0cy5cbiAgICBpZiAoaXNCYXNlNjQodG9rZW4pKSB7XG4gICAgICBjb25zdCBiYXNlNjREZWNvZGVkVG9rZW4gPSBKU09OLnBhcnNlKFxuICAgICAgICBkZWNvZGVGcm9tQmFzZTY0KHRva2VuKVxuICAgICAgKSBhcyBCYXNlNjREZWNvZGVkVjFUb2tlbjtcbiAgICAgIGlmICghYmFzZTY0RGVjb2RlZFRva2VuLmVuZHBvaW50IHx8ICFiYXNlNjREZWNvZGVkVG9rZW4uYXBpX2tleSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2ZhaWxlZCB0byBwYXJzZSB0b2tlbicpO1xuICAgICAgfVxuICAgICAgY29uc3QgZW5kcG9pbnRzID0gcG9wdWxhdGVBbGxFbmRwb2ludHNGcm9tQmFzZUVuZHBvaW50KHtcbiAgICAgICAgYmFzZUVuZHBvaW50OiBiYXNlNjREZWNvZGVkVG9rZW4uZW5kcG9pbnQsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRyb2xFbmRwb2ludDogZW5kcG9pbnRzLmNvbnRyb2xFbmRwb2ludC5lbmRwb2ludCxcbiAgICAgICAgY2FjaGVFbmRwb2ludDogZW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuZW5kcG9pbnQsXG4gICAgICAgIHRva2VuRW5kcG9pbnQ6IGVuZHBvaW50cy50b2tlbkVuZHBvaW50LmVuZHBvaW50LFxuICAgICAgICBhdXRoVG9rZW46IGJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBkZWNvZGUgZnVuY3Rpb24gdXNlcyBnZW5lcmljcyB0byBhZHZlcnRpc2UgdGhhdCB3ZSB3aWxsIHVzdWFsbHkgZXhwZWN0IHRvIGZpbmQgdGhlIExlZ2FjeUNsYWltcy4gIEhvd2V2ZXIsXG4gICAgICAvLyBpZiB0aGUgdG9rZW4gaXMgYSB2YWxpZCBKV1QgYnV0IG5vdCBhY3R1YWxseSBvbmUgb2Ygb3VyIGxlZ2FjeSB0b2tlbnMsIHRoZSBlbmRwb2ludCBjbGFpbXMgd2lsbCBiZSB1bmRlZmluZWQsXG4gICAgICAvLyB3aGljaCBpcyB3aHkgdGhlIHJldHVybiB0eXBlIGZvciB0aGlzIGZ1bmN0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBjb250cm9sRW5kcG9pbnQvY2FjaGVFbmRwb2ludCBtYXkgYmUgdW5kZWZpbmVkLlxuICAgICAgY29uc3QgZGVjb2RlZExlZ2FjeVRva2VuID0gZGVjb2RlQXV0aFRva2VuQ2xhaW1zPExlZ2FjeUNsYWltcz4odG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uY3AsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgYXV0aFRva2VuOiB0b2tlbixcbiAgICAgIH07XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgZmFpbGVkIHRvIHBhcnNlIHRva2VuOiAke2V9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN1cGVyVXNlclBlcm1pc3Npb25zIGV4dGVuZHMgUHJlZGVmaW5lZFNjb3BlIHt9XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQyx5RUFBbUU7QUFtQm5FLFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQXdCRCxTQUFnQixvQ0FBb0MsQ0FDbEQsZ0JBQXNDO0lBRXRDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQztLQUNoRDtJQUNELE9BQU87UUFDTCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQzdELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtTQUNwRDtRQUNELGFBQWEsRUFBRTtZQUNiLFFBQVEsRUFBRSxHQUFHLE1BQU0sU0FBUyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7WUFDM0QsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1NBQ3BEO1FBQ0QsYUFBYSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEdBQUcsTUFBTSxTQUFTLGdCQUFnQixDQUFDLFlBQVksRUFBRTtZQUMzRCxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7U0FDcEQ7UUFDRCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQzdELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtTQUNwRDtLQUNGLENBQUM7QUFDSixDQUFDO0FBekJELG9GQXlCQztBQUVEOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFxQixFQUFFO0lBQ25FLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksNkJBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN4RDtJQUVELElBQUk7UUFDRix5R0FBeUc7UUFDekcsZ0hBQWdIO1FBQ2hILHFIQUFxSDtRQUNySCx5SEFBeUg7UUFDekgsZ0NBQWdDO1FBQ2hDLElBQUksSUFBQSxxQkFBUSxFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDbkMsSUFBQSx5QkFBZ0IsRUFBQyxLQUFLLENBQUMsQ0FDQSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9ELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQ3pEO1lBQ0QsTUFBTSxTQUFTLEdBQUcsb0NBQW9DLENBQUM7Z0JBQ3JELFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO2FBQzFDLENBQUMsQ0FBQztZQUNILE9BQU87Z0JBQ0wsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUTtnQkFDbkQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDL0MsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDL0MsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUTtnQkFDbkQsU0FBUyxFQUFFLGtCQUFrQixDQUFDLE9BQU87YUFDdEMsQ0FBQztTQUNIO2FBQU07WUFDTCxrSEFBa0g7WUFDbEgsZ0hBQWdIO1lBQ2hILG9IQUFvSDtZQUNwSCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFlLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLE9BQU87Z0JBQ0wsZUFBZSxFQUFFLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ3RDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNuQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3JDLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUM7U0FDSDtLQUNGO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViw0RUFBNEU7UUFDNUUsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyxDQUFDO0FBN0NXLFFBQUEsZUFBZSxtQkE2QzFCO0FBRUYsTUFBYSw0QkFBNkIsU0FBUSxrQ0FBZTtDQUFHO0FBQXBFLG9FQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW52YWxpZEFyZ3VtZW50RXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgand0RGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnO1xuaW1wb3J0IHtpc0Jhc2U2NH0gZnJvbSAnLi92YWxpZGF0b3JzJztcbmltcG9ydCB7ZGVjb2RlRnJvbUJhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuaW1wb3J0IHtQcmVkZWZpbmVkU2NvcGV9IGZyb20gJy4uLy4uL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuaW1wb3J0IHtCYXNlRW5kcG9pbnRPdmVycmlkZX0gZnJvbSAnLi4vLi4vYXV0aCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q2xhaW1zIHtcbiAgLyoqXG4gICAqIGNvbnRyb2wgcGxhbmUgZW5kcG9pbnRcbiAgICovXG4gIGNwOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBjYWNoZSBlbmRwb2ludFxuICAgKi9cbiAgYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2U2NERlY29kZWRWMVRva2VuIHtcbiAgYXBpX2tleTogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVBdXRoVG9rZW5DbGFpbXM8VD4oYXV0aFRva2VuOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIGp3dERlY29kZTxUPihhdXRoVG9rZW4pO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5BbmRFbmRwb2ludHMge1xuICAvLyBJZiB3ZSBkZWNvZGUgYSBKV1QgdGhhdCBkb2Vzbid0IGFjdHVhbGx5IGhhdmUgdGhlIGNvbnRyb2xFbmRwb2ludC9jYWNoZUVuZHBvaW50IGNsYWltcywgdGhlbiB0aGV5IHdpbGwgY29tZSBiYWNrXG4gIC8vIGFzIHVuZGVmaW5lZDsgdGh1cyB3ZSBuZWVkIHRoZSB0eXBlcyBoZXJlIHRvIGJlIGBzdHJpbmcgfCB1bmRlZmluZWRgLlxuICBjb250cm9sRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FjaGVFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHN0b3JhZ2VFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBhdXRoVG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludCB7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIHNlY3VyZUNvbm5lY3Rpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsbEVuZHBvaW50cyB7XG4gIGNvbnRyb2xFbmRwb2ludDogRW5kcG9pbnQ7XG4gIGNhY2hlRW5kcG9pbnQ6IEVuZHBvaW50O1xuICB0b2tlbkVuZHBvaW50OiBFbmRwb2ludDtcbiAgc3RvcmFnZUVuZHBvaW50OiBFbmRwb2ludDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgZW5kcG9pbnRPdmVycmlkZTogQmFzZUVuZHBvaW50T3ZlcnJpZGVcbik6IEFsbEVuZHBvaW50cyB7XG4gIGxldCBwcmVmaXggPSAnJztcbiAgaWYgKGVuZHBvaW50T3ZlcnJpZGUuZW5kcG9pbnRQcmVmaXgpIHtcbiAgICBwcmVmaXggPSBgJHtlbmRwb2ludE92ZXJyaWRlLmVuZHBvaW50UHJlZml4fS5gO1xuICB9XG4gIHJldHVybiB7XG4gICAgY29udHJvbEVuZHBvaW50OiB7XG4gICAgICBlbmRwb2ludDogYCR7cHJlZml4fWNvbnRyb2wuJHtlbmRwb2ludE92ZXJyaWRlLmJhc2VFbmRwb2ludH1gLFxuICAgICAgc2VjdXJlQ29ubmVjdGlvbjogZW5kcG9pbnRPdmVycmlkZS5zZWN1cmVDb25uZWN0aW9uLFxuICAgIH0sXG4gICAgY2FjaGVFbmRwb2ludDoge1xuICAgICAgZW5kcG9pbnQ6IGAke3ByZWZpeH1jYWNoZS4ke2VuZHBvaW50T3ZlcnJpZGUuYmFzZUVuZHBvaW50fWAsXG4gICAgICBzZWN1cmVDb25uZWN0aW9uOiBlbmRwb2ludE92ZXJyaWRlLnNlY3VyZUNvbm5lY3Rpb24sXG4gICAgfSxcbiAgICB0b2tlbkVuZHBvaW50OiB7XG4gICAgICBlbmRwb2ludDogYCR7cHJlZml4fXRva2VuLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgICB9LFxuICAgIHN0b3JhZ2VFbmRwb2ludDoge1xuICAgICAgZW5kcG9pbnQ6IGAke3ByZWZpeH1zdG9yYWdlLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgICB9LFxuICB9O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b2tlblxuICogQHJldHVybnMgVG9rZW5BbmRFbmRwb2ludHNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlY29kZUF1dGhUb2tlbiA9ICh0b2tlbj86IHN0cmluZyk6IFRva2VuQW5kRW5kcG9pbnRzID0+IHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbWFsZm9ybWVkIGF1dGggdG9rZW4nKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gdjEgYXBpIHRva2VucyBkb24ndCBoYXZlIGFuIGVuZHBvaW50IGFzIHBhcnQgb2YgdGhlaXIgY2xhaW1zLiBJbnN0ZWFkLCB3aGVuIHRoZSBTREsgcmV0dXJucyB0b2tlbnMsIHdlXG4gICAgLy8gZ2l2ZSBpdCB0byB0aGVtIGFzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIG9mICd7IFwiYXBpX2tleVwiOiBcIjx0aGUga2V5PlwiLCBcImVuZHBvaW50XCI6IFwicHJvZC5tb21lbnRvaHEuY29tXCIgfScuXG4gICAgLy8gU2luY2UgaW4gdGhlIG5lYXIgZnV0dXJlLCBtb3N0IGN1c3RvbWVycyBhcmUgZ29pbmcgdG8gYmUgdXNpbmcgdGhlc2UgbmV3ZXIgdG9rZW5zLCB3ZSBhcmUgZmlyc3QgY2hlY2tpbmcgdG8gc2VlIGlmXG4gICAgLy8gdGhleSBhcmUgYmFzZTY0IGVuY29kZWQsIHdoaWNoIHdpbGwgdGVsbCB1cyB0aGF0IHRoZXkgYXJlIG91ciB2MSBhcGkgdG9rZW5zLiBJZiBpdHMgbm90LCB3ZSB3aWxsIGZhbGwgYmFjayB0byBkZWNvZGluZ1xuICAgIC8vIGl0IGFzIG9uZSBvZiBvdXIgbGVnYWN5IGp3dHMuXG4gICAgaWYgKGlzQmFzZTY0KHRva2VuKSkge1xuICAgICAgY29uc3QgYmFzZTY0RGVjb2RlZFRva2VuID0gSlNPTi5wYXJzZShcbiAgICAgICAgZGVjb2RlRnJvbUJhc2U2NCh0b2tlbilcbiAgICAgICkgYXMgQmFzZTY0RGVjb2RlZFYxVG9rZW47XG4gICAgICBpZiAoIWJhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludCB8fCAhYmFzZTY0RGVjb2RlZFRva2VuLmFwaV9rZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdmYWlsZWQgdG8gcGFyc2UgdG9rZW4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVuZHBvaW50cyA9IHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludCh7XG4gICAgICAgIGJhc2VFbmRwb2ludDogYmFzZTY0RGVjb2RlZFRva2VuLmVuZHBvaW50LFxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250cm9sRW5kcG9pbnQ6IGVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuZW5kcG9pbnQsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGVuZHBvaW50cy5jYWNoZUVuZHBvaW50LmVuZHBvaW50LFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBlbmRwb2ludHMudG9rZW5FbmRwb2ludC5lbmRwb2ludCxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBlbmRwb2ludHMuc3RvcmFnZUVuZHBvaW50LmVuZHBvaW50LFxuICAgICAgICBhdXRoVG9rZW46IGJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBkZWNvZGUgZnVuY3Rpb24gdXNlcyBnZW5lcmljcyB0byBhZHZlcnRpc2UgdGhhdCB3ZSB3aWxsIHVzdWFsbHkgZXhwZWN0IHRvIGZpbmQgdGhlIExlZ2FjeUNsYWltcy4gIEhvd2V2ZXIsXG4gICAgICAvLyBpZiB0aGUgdG9rZW4gaXMgYSB2YWxpZCBKV1QgYnV0IG5vdCBhY3R1YWxseSBvbmUgb2Ygb3VyIGxlZ2FjeSB0b2tlbnMsIHRoZSBlbmRwb2ludCBjbGFpbXMgd2lsbCBiZSB1bmRlZmluZWQsXG4gICAgICAvLyB3aGljaCBpcyB3aHkgdGhlIHJldHVybiB0eXBlIGZvciB0aGlzIGZ1bmN0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBjb250cm9sRW5kcG9pbnQvY2FjaGVFbmRwb2ludCBtYXkgYmUgdW5kZWZpbmVkLlxuICAgICAgY29uc3QgZGVjb2RlZExlZ2FjeVRva2VuID0gZGVjb2RlQXV0aFRva2VuQ2xhaW1zPExlZ2FjeUNsYWltcz4odG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uY3AsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgYXV0aFRva2VuOiB0b2tlbixcbiAgICAgIH07XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgZmFpbGVkIHRvIHBhcnNlIHRva2VuOiAke2V9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN1cGVyVXNlclBlcm1pc3Npb25zIGV4dGVuZHMgUHJlZGVmaW5lZFNjb3BlIHt9XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { ExpiresIn } from '../../utils';
2
+ export declare function validateStoreName(name: string): void;
2
3
  export declare function validateCacheName(name: string): void;
3
4
  export declare function validateCacheKeyOrPrefix(name: string): void;
4
5
  export declare function validateSetName(name: string): void;
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.validateSetSampleLimit = exports.validateSetName = exports.validateCacheKeyOrPrefix = exports.validateCacheName = void 0;
3
+ 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.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
+ function validateStoreName(name) {
7
+ if (isEmpty(name)) {
8
+ throw new errors_1.InvalidArgumentError('store name must not be empty');
9
+ }
10
+ }
11
+ exports.validateStoreName = validateStoreName;
6
12
  function validateCacheName(name) {
7
13
  if (isEmpty(name)) {
8
14
  throw new errors_1.InvalidArgumentError('cache name must not be empty');
@@ -216,4 +222,4 @@ function validateMaxConcurrentRequests(limit) {
216
222
  }
217
223
  }
218
224
  exports.validateMaxConcurrentRequests = validateMaxConcurrentRequests;
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUVsRCxxQ0FBMEQ7QUFFMUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFKRCw4Q0FJQztBQUVELFNBQWdCLHdCQUF3QixDQUFDLElBQVk7SUFDbkQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDJDQUEyQyxDQUFDLENBQUM7S0FDN0U7QUFDSCxDQUFDO0FBSkQsNERBSUM7QUFFRCxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUMxQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQUM5RDtBQUNILENBQUM7QUFKRCwwQ0FJQztBQUVELFNBQWdCLHNCQUFzQixDQUFDLEtBQWE7SUFDbEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1FBQ2IsTUFBTSxJQUFJLDZCQUFvQixDQUFDLG1DQUFtQyxDQUFDLENBQUM7S0FDckU7QUFDSCxDQUFDO0FBSkQsd0RBSUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FBQyxJQUFZO0lBQ2hELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQztBQUpELHNEQUlDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsVUFBa0IsRUFBRSxRQUFpQjtJQUMxRSxJQUFJLFFBQVEsS0FBSyxTQUFT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QUFVLElBQUksUUFBUSxFQUFFO1FBQzVELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQ3pFO0lBQ0QsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7UUFDbEMsTUFBTSxJQUFJLDZCQUFvQixDQUFDLHdCQUF3QixDQUFDLENBQUM7S0FDMUQ7QUFDSCxDQUFDO0FBUEQsNERBT0M7QUFFRCxTQUFnQix5QkFBeUIsQ0FBQyxNQUFjO0lBQ3RELElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNkLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0tBQ3RFO0FBQ0gsQ0FBQztBQUpELDhEQUlDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsS0FBYTtJQUNwRCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7UUFDYixNQUFNLElBQUksNkJBQW9CLENBQUMsdUNBQXVDLENBQUMsQ0FBQztLQUN6RTtBQUNILENBQUM7QUFKRCw0REFJQztBQUVELFNBQWdCLG1DQUFtQyxDQUFDLFdBQW1CO0lBQ3JFLElBQUksV0FBVyxHQUFHLENBQUMsRUFBRTtRQUNuQixNQUFNLElBQUksNkJBQW9CLENBQUMsbUNBQW1DLENBQUMsQ0FBQztLQUNyRTtBQUNILENBQUM7QUFKRCxrRkFJQztBQUVELFNBQWdCLDZCQUE2QixDQUFDLEtBQWE7SUFDekQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1FBQ2IsTUFBTSxJQUFJLDZCQUFvQixDQUM1QiwyREFBMkQsQ0FDNUQsQ0FBQztLQUNIO0FBQ0gsQ0FBQztBQU5ELHNFQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnZhbGlkQXJndW1lbnRFcnJvcn0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7RXhwaXJlc0lufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge2RlY29kZUZyb21CYXNlNjQsIGVuY29kZVRvQmFzZTY0fSBmcm9tICcuL3N0cmluZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NhY2hlIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDYWNoZUtleU9yUHJlZml4KG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY2FjaGUga2V5IG9yIGtleSBwcmVmaXggbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTZXROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc2V0IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTZXRTYW1wbGVMaW1pdChsaW1pdDogbnVtYmVyKSB7XG4gIGlmIChsaW1pdCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2xpbWl0IG11c3QgYmUgbm9uLW5lZ2F0aXZlICg+PSAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzb3J0ZWQgc2V0IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRSYW5rcyhzdGFydF9yYW5rOiBudW1iZXIsIGVuZF9yYW5rPzogbnVtYmVyKSB7XG4gIGlmIChlbmRfcmFuayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChzdGFydF9yYW5rID4gMCAmJiBlbmRfcmFuayA+IDAgJiYgc3RhcnRfcmFuayA+IGVuZF9yYW5rKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzdGFydCByYW5rIG11c3QgYmUgbGVzcyB0aGFuIGVuZCByYW5rJyk7XG4gIH1cbiAgaWYgKHN0YXJ0X3JhbmsgPCAwICYmIGVuZF9yYW5rIDwgMCAmJiBzdGFydF9yYW5rID49IGVuZF9yYW5rKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ25lZ2F0aXZlIHN0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gbmVnYXRpdmUgZW5kIHJhbmsnXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRTY29yZXMobWluU2NvcmU/OiBudW1iZXIsIG1heFNjb3JlPzogbnVtYmVyKSB7XG4gIGlmIChtaW5TY29yZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIGlmIChtYXhTY29yZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIGlmIChtaW5TY29yZSA+IG1heFNjb3JlKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ21pblNjb3JlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIG1heFNjb3JlJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0T2Zmc2V0KG9mZnNldDogbnVtYmVyKSB7XG4gIGlmIChvZmZzZXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdvZmZzZXQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0Q291bnQoY291bnQ6IG51bWJlcikge1xuICBpZiAoY291bnQgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjb3VudCBtdXN0IGJlIHN0cmljdGx5IHBvc2l0aXZlICg+IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGljdGlvbmFyeU5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdkaWN0aW9uYXJ5IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMaXN0TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2xpc3QgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxpc3RTbGljZVN0YXJ0RW5kKFxuICBzdGFydEluZGV4PzogbnVtYmVyLFxuICBlbmRJbmRleD86IG51bWJlclxuKSB7XG4gIGlmIChzdGFydEluZGV4ID09PSB1bmRlZmluZWQgfHwgZW5kSW5kZXggPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAvLyBjYW4ndCB2YWxpZGF0ZSBib3VuZHMgZm9yIHN0YXJ0IGFuZCBpbmRleCBvZiBlaXRoZXIgb3IgYXJlIG5lZ2F0aXZlIHdpdGhvdXQgbGlzdCBsZW5ndGhcbiAgaWYgKHN0YXJ0SW5kZXggPiAwIHx8IGVuZEluZGV4IDwgMCkgcmV0dXJuO1xuICBpZiAoZW5kSW5kZXggPD0gc3RhcnRJbmRleCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdlbmRJbmRleCAoZXhjbHVzaXZlKSBtdXN0IGJlIGxhcmdlciB0aGFuIHN0YXJ0SW5kZXggKGluY2x1c2l2ZSknXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUb3BpY05hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0b3BpYyBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlV2ViaG9va05hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd3ZWJob29rIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVJbmRleE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdpbmRleCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTnVtRGltZW5zaW9ucyhudW1EaW1lbnNpb25zOiBudW1iZXIpIHtcbiAgaWYgKG51bURpbWVuc2lvbnMgPD0gMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbnVtRGltZW5zaW9ucyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVG9wSyh0b3BLOiBudW1iZXIpIHtcbiAgaWYgKHRvcEsgPD0gMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndG9wSyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVHRsTWludXRlcyh0dGxNaW51dGVzOiBudW1iZXIpIHtcbiAgaWYgKHR0bE1pbnV0ZXMgPCAwIHx8ICFOdW1iZXIuaXNTYWZlSW50ZWdlcih0dGxNaW51dGVzKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndHRsTWludXRlcyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcicpO1xuICB9XG59XG5cbi8vIEN1cnJlbnRseSBhY2NlcHRpbmcgdHRsIGluIHNlY29uZHMsIGJ1dCBpZiBzb21lb25lIHJlcXVlc3RzIHN1cHBvcnQgZm9yIG1pbGxpcyxcbi8vIHRoZSB2YWxpZGF0b3Igd2lsbCBuZWVkIHRvIGNoZWNrIGZvciBOdW1iZXIuaXNTYWZlSW50ZWdlcih0dGwgKiAxMDAwKS5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVR0bFNlY29uZHModHRsOiBudW1iZXIpIHtcbiAgaWYgKHR0bCA8IDAgfHwgIU51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bCkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICBgdHRsIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCByZWNlaXZlZCAke3R0bH1gXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVWYWxpZEZvclNlY29uZHModmFsaWRGb3JTZWNvbmRzOiBudW1iZXIpIHtcbiAgaWYgKHZhbGlkRm9yU2Vjb25kcyA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3ZhbGlkRm9yU2Vjb25kcyBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVGltZW91dCh0aW1lb3V0OiBudW1iZXIpIHtcbiAgaWYgKHRpbWVvdXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0aW1lb3V0IG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEaXNwb3NhYmxlVG9rZW5FeHBpcnkoZXhwaXJlc0luOiBFeHBpcmVzSW4pIHtcbiAgaWYgKCFleHBpcmVzSW4uZG9lc0V4cGlyZSgpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdkaXNwb3NhYmxlIHRva2VucyBtdXN0IGhhdmUgYW4gZXhwaXJ5Jyk7XG4gIH1cbiAgaWYgKGV4cGlyZXNJbi5zZWNvbmRzKCkgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdkaXNwb3NhYmxlIHRva2VuIGV4cGlyeSBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbiAgaWYgKGV4cGlyZXNJbi5zZWNvbmRzKCkgPiA2MCAqIDYwKSB7XG4gICAgLy8gNjAgc2Vjb25kcyAqIDYwIG1pbnV0ZXNcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnZGlzcG9zYWJsZSB0b2tlbnMgbXVzdCBleHBpcmUgd2l0aGluIDEgaG91cidcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURpc3Bvc2FibGVUb2tlblRva2VuSUQodG9rZW5JZDogc3RyaW5nKSB7XG4gIGlmICh0b2tlbklkLmxlbmd0aCA+IDY0KSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ1Rva2VuSUQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNjQgY2hhcmFjdGVycy4nXG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0VtcHR5KHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAhc3RyLnRyaW0oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQmFzZTY0KHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGVuY29kZVRvQmFzZTY0KGRlY29kZUZyb21CYXNlNjQoc3RyKSkgPT09IHN0cjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdsZWFkZXJib2FyZCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmRSYW5rcyhzdGFydF9yYW5rOiBudW1iZXIsIGVuZF9yYW5rOiBudW1iZXIpIHtcbiAgaWYgKHN0YXJ0X3JhbmsgPiAwICYmIGVuZF9yYW5rID4gMCAmJiBzdGFydF9yYW5rID49IGVuZF9yYW5rKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzdGFydCByYW5rIG11c3QgYmUgbGVzcyB0aGFuIGVuZCByYW5rJyk7XG4gIH1cbiAgaWYgKHN0YXJ0X3JhbmsgPCAwIHx8IGVuZF9yYW5rIDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigncmFua3MgbXVzdCBiZSBwb3NpdGl2ZScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkT2Zmc2V0KG9mZnNldDogbnVtYmVyKSB7XG4gIGlmIChvZmZzZXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdvZmZzZXQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmRDb3VudChjb3VudDogbnVtYmVyKSB7XG4gIGlmIChjb3VudCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NvdW50IG11c3QgYmUgc3RyaWN0bHkgcG9zaXRpdmUgKD4gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZE51bWJlck9mRWxlbWVudHMobnVtRWxlbWVudHM6IG51bWJlcikge1xuICBpZiAobnVtRWxlbWVudHMgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdtdXN0IHByb3ZpZGUgYXQgbGVhc3Qgb25lIGVsZW1lbnQnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVNYXhDb25jdXJyZW50UmVxdWVzdHMobGltaXQ6IG51bWJlcikge1xuICBpZiAobGltaXQgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ2NvbmN1cnJlbnQgcmVxdWVzdHMgbGltaXQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKSdcbiAgICApO1xuICB9XG59XG4iXX0=
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUVsRCxxQ0FBMEQ7QUFFMUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFKRCw4Q0FJQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLElBQVk7SUFDNUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDO0FBSkQsOENBSUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFZO0lBQ25ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0tBQzdFO0FBQ0gsQ0FBQztBQUpELDREQUlDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLElBQVk7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDOUQ7QUFDSCxDQUFDO0FBSkQsMENBSUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxLQUFhO0lBQ2xELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNiLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQztBQUpELHdEQUlDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsSUFBWTtJQUNoRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtR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IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge0V4cGlyZXNJbn0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtkZWNvZGVGcm9tQmFzZTY0LCBlbmNvZGVUb0Jhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTdG9yZU5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzdG9yZSBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ2FjaGVOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY2FjaGUgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlS2V5T3JQcmVmaXgobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjYWNoZSBrZXkgb3Iga2V5IHByZWZpeCBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzZXQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldFNhbXBsZUxpbWl0KGxpbWl0OiBudW1iZXIpIHtcbiAgaWYgKGxpbWl0IDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGltaXQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3NvcnRlZCBzZXQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldFJhbmtzKHN0YXJ0X3Jhbms6IG51bWJlciwgZW5kX3Jhbms/OiBudW1iZXIpIHtcbiAgaWYgKGVuZF9yYW5rID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHN0YXJ0X3JhbmsgPiAwICYmIGVuZF9yYW5rID4gMCAmJiBzdGFydF9yYW5rID4gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3N0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHJhbmsnKTtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA8IDAgJiYgZW5kX3JhbmsgPCAwICYmIHN0YXJ0X3JhbmsgPj0gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnbmVnYXRpdmUgc3RhcnQgcmFuayBtdXN0IGJlIGxlc3MgdGhhbiBuZWdhdGl2ZSBlbmQgcmFuaydcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldFNjb3JlcyhtaW5TY29yZT86IG51bWJlciwgbWF4U2NvcmU/OiBudW1iZXIpIHtcbiAgaWYgKG1pblNjb3JlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKG1heFNjb3JlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKG1pblNjb3JlID4gbWF4U2NvcmUpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnbWluU2NvcmUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4U2NvcmUnXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRPZmZzZXQob2Zmc2V0OiBudW1iZXIpIHtcbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ29mZnNldCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoPj0gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRDb3VudChjb3VudDogbnVtYmVyKSB7XG4gIGlmIChjb3VudCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NvdW50IG11c3QgYmUgc3RyaWN0bHkgcG9zaXRpdmUgKD4gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEaWN0aW9uYXJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2RpY3Rpb25hcnkgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxpc3ROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGlzdCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGlzdFNsaWNlU3RhcnRFbmQoXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXIsXG4gIGVuZEluZGV4PzogbnVtYmVyXG4pIHtcbiAgaWYgKHN0YXJ0SW5kZXggPT09IHVuZGVmaW5lZCB8fCBlbmRJbmRleCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIC8vIGNhbid0IHZhbGlkYXRlIGJvdW5kcyBmb3Igc3RhcnQgYW5kIGluZGV4IG9mIGVpdGhlciBvciBhcmUgbmVnYXRpdmUgd2l0aG91dCBsaXN0IGxlbmd0aFxuICBpZiAoc3RhcnRJbmRleCA+IDAgfHwgZW5kSW5kZXggPCAwKSByZXR1cm47XG4gIGlmIChlbmRJbmRleCA8PSBzdGFydEluZGV4KSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ2VuZEluZGV4IChleGNsdXNpdmUpIG11c3QgYmUgbGFyZ2VyIHRoYW4gc3RhcnRJbmRleCAoaW5jbHVzaXZlKSdcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVRvcGljTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3RvcGljIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVXZWJob29rTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3dlYmhvb2sgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUluZGV4TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2luZGV4IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOdW1EaW1lbnNpb25zKG51bURpbWVuc2lvbnM6IG51bWJlcikge1xuICBpZiAobnVtRGltZW5zaW9ucyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdudW1EaW1lbnNpb25zIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUb3BLKHRvcEs6IG51bWJlcikge1xuICBpZiAodG9wSyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0b3BLIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUdGxNaW51dGVzKHR0bE1pbnV0ZXM6IG51bWJlcikge1xuICBpZiAodHRsTWludXRlcyA8IDAgfHwgIU51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bE1pbnV0ZXMpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0dGxNaW51dGVzIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyJyk7XG4gIH1cbn1cblxuLy8gQ3VycmVudGx5IGFjY2VwdGluZyB0dGwgaW4gc2Vjb25kcywgYnV0IGlmIHNvbWVvbmUgcmVxdWVzdHMgc3VwcG9ydCBmb3IgbWlsbGlzLFxuLy8gdGhlIHZhbGlkYXRvciB3aWxsIG5lZWQgdG8gY2hlY2sgZm9yIE51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bCAqIDEwMDApLlxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVHRsU2Vjb25kcyh0dGw6IG51bWJlcikge1xuICBpZiAodHRsIDwgMCB8fCAhTnVtYmVyLmlzU2FmZUludGVnZXIodHRsKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgIGB0dGwgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIHJlY2VpdmVkICR7dHRsfWBcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVZhbGlkRm9yU2Vjb25kcyh2YWxpZEZvclNlY29uZHM6IG51bWJlcikge1xuICBpZiAodmFsaWRGb3JTZWNvbmRzIDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndmFsaWRGb3JTZWNvbmRzIG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcikge1xuICBpZiAodGltZW91dCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3RpbWVvdXQgbXVzdCBiZSBwb3NpdGl2ZScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURpc3Bvc2FibGVUb2tlbkV4cGlyeShleHBpcmVzSW46IEV4cGlyZXNJbikge1xuICBpZiAoIWV4cGlyZXNJbi5kb2VzRXhwaXJlKCkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Rpc3Bvc2FibGUgdG9rZW5zIG11c3QgaGF2ZSBhbiBleHBpcnknKTtcbiAgfVxuICBpZiAoZXhwaXJlc0luLnNlY29uZHMoKSA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Rpc3Bvc2FibGUgdG9rZW4gZXhwaXJ5IG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxuICBpZiAoZXhwaXJlc0luLnNlY29uZHMoKSA+IDYwICogNjApIHtcbiAgICAvLyA2MCBzZWNvbmRzICogNjAgbWludXRlc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdkaXNwb3NhYmxlIHRva2VucyBtdXN0IGV4cGlyZSB3aXRoaW4gMSBob3VyJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGlzcG9zYWJsZVRva2VuVG9rZW5JRCh0b2tlbklkOiBzdHJpbmcpIHtcbiAgaWYgKHRva2VuSWQubGVuZ3RoID4gNjQpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnVG9rZW5JRCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byA2NCBjaGFyYWN0ZXJzLidcbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzRW1wdHkoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuICFzdHIudHJpbSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCYXNlNjQoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZW5jb2RlVG9CYXNlNjQoZGVjb2RlRnJvbUJhc2U2NChzdHIpKSA9PT0gc3RyO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2xlYWRlcmJvYXJkIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZFJhbmtzKHN0YXJ0X3Jhbms6IG51bWJlciwgZW5kX3Jhbms6IG51bWJlcikge1xuICBpZiAoc3RhcnRfcmFuayA+IDAgJiYgZW5kX3JhbmsgPiAwICYmIHN0YXJ0X3JhbmsgPj0gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3N0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHJhbmsnKTtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA8IDAgfHwgZW5kX3JhbmsgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdyYW5rcyBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmRPZmZzZXQob2Zmc2V0OiBudW1iZXIpIHtcbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ29mZnNldCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoPj0gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZENvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgaWYgKGNvdW50IDwgMSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY291bnQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkTnVtYmVyT2ZFbGVtZW50cyhudW1FbGVtZW50czogbnVtYmVyKSB7XG4gIGlmIChudW1FbGVtZW50cyA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ211c3QgcHJvdmlkZSBhdCBsZWFzdCBvbmUgZWxlbWVudCcpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU1heENvbmN1cnJlbnRSZXF1ZXN0cyhsaW1pdDogbnVtYmVyKSB7XG4gIGlmIChsaW1pdCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnY29uY3VycmVudCByZXF1ZXN0cyBsaW1pdCBtdXN0IGJlIHN0cmljdGx5IHBvc2l0aXZlICg+IDApJ1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -2,3 +2,4 @@ export * from './auth';
2
2
  export * from './cache';
3
3
  export * from './topics';
4
4
  export * from './leaderboard';
5
+ export * from './store';
@@ -18,4 +18,5 @@ __exportStar(require("./auth"), exports);
18
18
  __exportStar(require("./cache"), exports);
19
19
  __exportStar(require("./topics"), exports);
20
20
  __exportStar(require("./leaderboard"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6QixnREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL3RvcGljcyc7XG5leHBvcnQgKiBmcm9tICcuL2xlYWRlcmJvYXJkJztcbiJdfQ==
21
+ __exportStar(require("./store"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi90b3BpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9sZWFkZXJib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcbiJdfQ==