From 94005897af1c29e9294fe796666195bb5bb0f9d4 Mon Sep 17 00:00:00 2001 From: Client Date: Fri, 14 Aug 2020 13:13:09 +0000 Subject: [PATCH] Releasing v4.29.3 --- .pubnub.yml | 30 +- CHANGELOG.md | 12 + README.md | 4 +- dist/titanium/pubnub.js | 156 ++- dist/titanium/pubnub.min.js | 4 +- dist/web/pubnub.js | 1191 +++++------------ dist/web/pubnub.min.js | 20 +- lib/core/components/config.js | 2 +- lib/core/components/config.js.map | 2 +- lib/core/components/endpoint.js | 5 + lib/core/components/endpoint.js.map | 2 +- lib/core/components/subscription_manager.js | 4 + .../components/subscription_manager.js.map | 2 +- lib/core/endpoints/fetch_messages.js | 7 +- lib/core/endpoints/fetch_messages.js.map | 2 +- .../endpoints/file_upload/get_file_url.js | 2 +- .../endpoints/file_upload/get_file_url.js.map | 2 +- lib/core/endpoints/file_upload/list_files.js | 18 +- .../endpoints/file_upload/list_files.js.map | 2 +- .../endpoints/file_upload/publish_file.js | 4 +- .../endpoints/file_upload/publish_file.js.map | 2 +- lib/core/endpoints/file_upload/send_file.js | 104 +- .../endpoints/file_upload/send_file.js.map | 2 +- lib/core/endpoints/history/get_history.js | 8 +- lib/core/endpoints/history/get_history.js.map | 2 +- lib/file/modules/node.js | 30 +- lib/file/modules/node.js.map | 2 +- lib/file/modules/web.js | 66 +- lib/file/modules/web.js.map | 2 +- lib/react_native/index.js | 13 +- lib/react_native/index.js.map | 2 +- package-lock.json | 2 +- package.json | 7 +- src/core/components/config.js | 2 +- src/core/components/endpoint.js | 6 + src/core/components/subscription_manager.js | 4 + src/core/endpoints/fetch_messages.js | 5 +- .../endpoints/file_upload/get_file_url.js | 2 +- src/core/endpoints/file_upload/list_files.js | 16 +- .../endpoints/file_upload/publish_file.js | 4 +- src/core/endpoints/file_upload/send_file.js | 14 +- src/core/endpoints/file_upload/types.js | 8 +- src/core/endpoints/history/get_history.js | 4 - src/file/index.js | 2 + src/file/modules/node.js | 10 +- src/file/modules/web.js | 9 +- src/react_native/index.js | 16 +- test/feature/.gitignore | 1 + test/feature/file_upload.node.test.js | 26 +- test/integration/endpoints/history.test.js | 4 - test/integration/operations/heartbeat.test.js | 21 + 51 files changed, 818 insertions(+), 1049 deletions(-) create mode 100644 test/feature/.gitignore diff --git a/.pubnub.yml b/.pubnub.yml index 76cc7fb29..fa1e7afa0 100644 --- a/.pubnub.yml +++ b/.pubnub.yml @@ -1,5 +1,27 @@ --- changelog: + - + changes: + - + text: "Fixes an issue with react-native entrypoint where interfaces to File and Crypto are not included in the build." + type: bug + - + text: "Fixes the ability to sendByPost in publish." + type: bug + - + text: "Fixes an issue where getFileUrl returned and URI without a protocol." + type: bug + - + text: "Fixes an issue where storeInHistory false would not include the param." + type: bug + - + text: "Removes mime types dependency since that will be handled by the server." + type: bug + - + text: "Adds userMetadata to file event listener." + type: bug + date: 2020-08-14 + version: v4.29.3 - changes: - @@ -863,6 +885,12 @@ features: - MESSAGE-ACTIONS-GET - MESSAGE-ACTIONS-ADD - MESSAGE-ACTIONS-REMOVE + files: + - FILES-SEND-FILE + - FILES-LIST-FILES + - FILES-GET-FILE-URL + - FILES-DELETE-FILE + - FILES-DOWNLOAD-FILE time: - TIME-TIME others: @@ -895,4 +923,4 @@ supported-platforms: - "Ubuntu 14.04 and up" - "Windows 7 and up" version: "Pubnub Javascript for Node" -version: "4.29.2" +version: "4.29.3" diff --git a/CHANGELOG.md b/CHANGELOG.md index 7efb8d576..eeeabbe0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +## [v4.29.3](https://github.com/pubnub/javascript/releases/tag/v4.29.3) +August-14-2020 + +[Full Changelog](https://github.com/pubnub/javascript/compare/v4.29.2...v4.29.3) + +- 🐛 Fixes an issue with react-native entrypoint where interfaces to File and Crypto are not included in the build. +- 🐛 Fixes the ability to sendByPost in publish. +- 🐛 Fixes an issue where getFileUrl returned and URI without a protocol. +- 🐛 Fixes an issue where storeInHistory false would not include the param. +- 🐛 Removes mime types dependency since that will be handled by the server. +- 🐛 Adds userMetadata to file event listener. + ## [v4.29.2](https://github.com/pubnub/javascript/releases/tag/v4.29.2) August-05-2020 diff --git a/README.md b/README.md index 48bab6662..9c5974f2c 100644 --- a/README.md +++ b/README.md @@ -22,5 +22,5 @@ please use the [master_3x](https://github.com/pubnub/javascript/tree/master_3x) -* https://cdn.pubnub.com/sdk/javascript/pubnub.4.29.2.min.js -* https://cdn.pubnub.com/sdk/javascript/pubnub.4.29.2.js +* https://cdn.pubnub.com/sdk/javascript/pubnub.4.29.3.min.js +* https://cdn.pubnub.com/sdk/javascript/pubnub.4.29.3.js diff --git a/dist/titanium/pubnub.js b/dist/titanium/pubnub.js index 6209fb83f..e6ef54864 100644 --- a/dist/titanium/pubnub.js +++ b/dist/titanium/pubnub.js @@ -1,4 +1,4 @@ -/*! 4.29.2 / Consumer */ +/*! 4.29.3 / Consumer */ exports["PubNub"] = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache @@ -566,7 +566,7 @@ var _default = function () { }, { key: "getVersion", value: function getVersion() { - return '4.29.2'; + return '4.29.3'; } }, { key: "_addPnsdkSuffix", @@ -881,6 +881,11 @@ function signRequest(modules, url, outgoingParams, incomingParams, endpoint) { crypto = modules.crypto; var httpMethod = getHttpMethod(modules, endpoint, incomingParams); outgoingParams.timestamp = Math.floor(new Date().getTime() / 1000); + + if (endpoint.getOperation() === 'PNPublishOperation' && endpoint.usePost && endpoint.usePost(modules, incomingParams)) { + httpMethod = 'GET'; + } + var signInput = "".concat(httpMethod, "\n").concat(config.publishKey, "\n").concat(url, "\n").concat(_utils["default"].signPamFromParams(outgoingParams), "\n"); if (httpMethod === 'POST') { @@ -4481,6 +4486,10 @@ var _default = function () { } } + if (message.userMetadata) { + _announce4.userMetadata = message.userMetadata; + } + _announce4.message = msgPayload.message; _announce4.file = { id: msgPayload.file.id, @@ -7440,13 +7449,25 @@ var endpoint = { var tokenManager = _ref3.tokenManager; return tokenManager.getToken('fileUpload'); }, - prepareParams: function prepareParams() { - return {}; + prepareParams: function prepareParams(_, params) { + var outParams = {}; + + if (params.limit) { + outParams.limit = params.limit; + } + + if (params.next) { + outParams.next = params.next; + } + + return outParams; }, handleResponse: function handleResponse(_, response) { return { status: response.status, - data: response.data + data: response.data, + next: response.next, + count: response.count }; } }; @@ -7603,8 +7624,8 @@ var endpoint = { outParams.ttl = params.ttl; } - if (params.store) { - outParams.store = params.store ? '1' : '0'; + if (params.storeInHistory !== undefined) { + outParams.store = params.storeInHistory ? '1' : '0'; } if (params.meta && (0, _typeof2["default"])(params.meta) === 'object') { @@ -7653,13 +7674,13 @@ var sendFile = function sendFile(_ref) { networking = _ref$modules.networking; return function () { var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(_ref2) { - var channel, input, message, cipherKey, meta, ttl, store, file, _yield$generateUpload, _yield$generateUpload2, url, formFields, _yield$generateUpload3, id, name, formFieldsWithMimeType, result, retries, wasSuccessful; + var channel, input, message, cipherKey, meta, ttl, storeInHistory, file, _yield$generateUpload, _yield$generateUpload2, url, formFields, _yield$generateUpload3, id, name, formFieldsWithMimeType, result, retries, wasSuccessful; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: - channel = _ref2.channel, input = _ref2.file, message = _ref2.message, cipherKey = _ref2.cipherKey, meta = _ref2.meta, ttl = _ref2.ttl, store = _ref2.store; + channel = _ref2.channel, input = _ref2.file, message = _ref2.message, cipherKey = _ref2.cipherKey, meta = _ref2.meta, ttl = _ref2.ttl, storeInHistory = _ref2.storeInHistory; if (channel) { _context.next = 3; @@ -7709,18 +7730,16 @@ var sendFile = function sendFile(_ref) { if (file.mimeType) { formFieldsWithMimeType = formFields.map(function (entry) { - var _file$mimeType; - if (entry.key === 'Content-Type') return { key: entry.key, - value: (_file$mimeType = file.mimeType) !== null && _file$mimeType !== void 0 ? _file$mimeType : '' + value: file.mimeType };else return entry; }); } _context.prev = 21; - if (!(typeof Blob !== 'undefined')) { + if (!PubNubFile.supportsFile) { _context.next = 34; break; } @@ -7738,80 +7757,112 @@ var sendFile = function sendFile(_ref) { case 31: result = _context.sent; - _context.next = 43; + _context.next = 59; break; case 34: + if (!PubNubFile.supportsBuffer) { + _context.next = 46; + break; + } + _context.t4 = networking; _context.t5 = url; _context.t6 = formFieldsWithMimeType; - _context.next = 39; + _context.next = 40; return file.toBuffer(); - case 39: + case 40: _context.t7 = _context.sent; - _context.next = 42; + _context.next = 43; return _context.t4.FILE.call(_context.t4, _context.t5, _context.t6, _context.t7); - case 42: + case 43: result = _context.sent; + _context.next = 59; + break; - case 43: - _context.next = 48; + case 46: + if (!PubNubFile.supportsBlob) { + _context.next = 58; + break; + } + + _context.t8 = networking; + _context.t9 = url; + _context.t10 = formFieldsWithMimeType; + _context.next = 52; + return file.toBlob(); + + case 52: + _context.t11 = _context.sent; + _context.next = 55; + return _context.t8.FILE.call(_context.t8, _context.t9, _context.t10, _context.t11); + + case 55: + result = _context.sent; + _context.next = 59; break; - case 45: - _context.prev = 45; - _context.t8 = _context["catch"](21); - throw new _endpoint.PubNubError('Upload to bucket failed', _context.t8); + case 58: + throw new Error('Unsupported environment'); - case 48: + case 59: + _context.next = 64; + break; + + case 61: + _context.prev = 61; + _context.t12 = _context["catch"](21); + throw new _endpoint.PubNubError('Upload to bucket failed', _context.t12); + + case 64: if (!(result.status !== 204)) { - _context.next = 50; + _context.next = 66; break; } throw new _endpoint.PubNubError('Upload to bucket was unsuccessful', result); - case 50: + case 66: retries = 5; wasSuccessful = false; - case 52: + case 68: if (!(!wasSuccessful && retries > 0)) { - _context.next = 64; + _context.next = 80; break; } - _context.prev = 53; - _context.next = 56; + _context.prev = 69; + _context.next = 72; return publishFile({ channel: channel, message: message, fileId: id, fileName: name, meta: meta, - store: store, + storeInHistory: storeInHistory, ttl: ttl }); - case 56: + case 72: wasSuccessful = true; - _context.next = 62; + _context.next = 78; break; - case 59: - _context.prev = 59; - _context.t9 = _context["catch"](53); + case 75: + _context.prev = 75; + _context.t13 = _context["catch"](69); retries -= 1; - case 62: - _context.next = 52; + case 78: + _context.next = 68; break; - case 64: + case 80: if (wasSuccessful) { - _context.next = 68; + _context.next = 84; break; } @@ -7821,18 +7872,18 @@ var sendFile = function sendFile(_ref) { name: name }); - case 68: + case 84: return _context.abrupt("return", { id: id, name: name }); - case 69: + case 85: case "end": return _context.stop(); } } - }, _callee, null, [[21, 45], [53, 59]]); + }, _callee, null, [[21, 61], [69, 75]]); })); return function (_x) { @@ -8648,7 +8699,7 @@ var _default = function _default(_ref, _ref2) { throw new _endpoint.PubNubError('Validation failed, check status for details', (0, _endpoint.createValidationError)("file name can't be empty")); } - return "".concat(config.origin, "/v1/files/").concat(config.subscribeKey, "/channels/").concat(channel, "/files/").concat(id, "/").concat(name); + return "https://".concat(config.origin, "/v1/files/").concat(config.subscribeKey, "/channels/").concat(channel, "/files/").concat(id, "/").concat(name); }; exports["default"] = _default; @@ -12806,11 +12857,7 @@ function prepareParams(modules, incomingParams) { _incomingParams$strin = incomingParams.stringifiedTimeToken, stringifiedTimeToken = _incomingParams$strin === void 0 ? false : _incomingParams$strin, _incomingParams$inclu = incomingParams.includeMeta, - includeMeta = _incomingParams$inclu === void 0 ? false : _incomingParams$inclu, - _incomingParams$inclu2 = incomingParams.includeUuid, - includeUuid = _incomingParams$inclu2 === void 0 ? true : _incomingParams$inclu2, - _incomingParams$inclu3 = incomingParams.includeMessageType, - includeMessageType = _incomingParams$inclu3 === void 0 ? true : _incomingParams$inclu3; + includeMeta = _incomingParams$inclu === void 0 ? false : _incomingParams$inclu; var outgoingParams = { include_token: 'true' }; @@ -12820,8 +12867,6 @@ function prepareParams(modules, incomingParams) { if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (reverse != null) outgoingParams.reverse = reverse.toString(); if (includeMeta) outgoingParams.include_meta = 'true'; - if (includeUuid) outgoingParams.include_uuid = 'true'; - if (includeMessageType) outgoingParams.include_message_type = 'true'; return outgoingParams; } @@ -13085,8 +13130,9 @@ function prepareParams(modules, incomingParams) { stringifiedTimeToken = _incomingParams$strin === void 0 ? false : _incomingParams$strin, _incomingParams$inclu3 = incomingParams.includeMeta, includeMeta = _incomingParams$inclu3 === void 0 ? false : _incomingParams$inclu3, - _incomingParams$inclu4 = incomingParams.includeUuid, - includeUuid = _incomingParams$inclu4 === void 0 ? true : _incomingParams$inclu4, + includeUuid = incomingParams.includeUuid, + _incomingParams$inclu4 = incomingParams.includeUUID, + includeUUID = _incomingParams$inclu4 === void 0 ? true : _incomingParams$inclu4, _incomingParams$inclu5 = incomingParams.includeMessageType, includeMessageType = _incomingParams$inclu5 === void 0 ? true : _incomingParams$inclu5; var outgoingParams = {}; @@ -13095,7 +13141,7 @@ function prepareParams(modules, incomingParams) { if (end) outgoingParams.end = end; if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (includeMeta) outgoingParams.include_meta = 'true'; - if (includeUuid) outgoingParams.include_uuid = 'true'; + if (includeUUID && includeUuid !== false) outgoingParams.include_uuid = 'true'; if (includeMessageType) outgoingParams.include_message_type = 'true'; return outgoingParams; } diff --git a/dist/titanium/pubnub.min.js b/dist/titanium/pubnub.min.js index aa60257c3..6e0e883d6 100644 --- a/dist/titanium/pubnub.min.js +++ b/dist/titanium/pubnub.min.js @@ -1,2 +1,2 @@ -/*! 4.29.2 / Consumer */ -exports.PubNub=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=23)}([function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNMessageCounts:"PNMessageCountsOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNSignalOperation:"PNSignalOperation",PNAddMessageActionOperation:"PNAddActionOperation",PNRemoveMessageActionOperation:"PNRemoveMessageActionOperation",PNGetMessageActionsOperation:"PNGetMessageActionsOperation",PNCreateUserOperation:"PNCreateUserOperation",PNUpdateUserOperation:"PNUpdateUserOperation",PNDeleteUserOperation:"PNDeleteUserOperation",PNGetUserOperation:"PNGetUsersOperation",PNGetUsersOperation:"PNGetUsersOperation",PNCreateSpaceOperation:"PNCreateSpaceOperation",PNUpdateSpaceOperation:"PNUpdateSpaceOperation",PNDeleteSpaceOperation:"PNDeleteSpaceOperation",PNGetSpaceOperation:"PNGetSpacesOperation",PNGetSpacesOperation:"PNGetSpacesOperation",PNGetMembersOperation:"PNGetMembersOperation",PNUpdateMembersOperation:"PNUpdateMembersOperation",PNGetMembershipsOperation:"PNGetMembershipsOperation",PNUpdateMembershipsOperation:"PNUpdateMembershipsOperation",PNListFilesOperation:"PNListFilesOperation",PNGenerateUploadUrlOperation:"PNGenerateUploadUrlOperation",PNPublishFileOperation:"PNPublishFileOperation",PNGetFileUrlOperation:"PNGetFileUrlOperation",PNDownloadFileOperation:"PNDownloadFileOperation",PNGetAllUUIDMetadataOperation:"PNGetAllUUIDMetadataOperation",PNGetUUIDMetadataOperation:"PNGetUUIDMetadataOperation",PNSetUUIDMetadataOperation:"PNSetUUIDMetadataOperation",PNRemoveUUIDMetadataOperation:"PNRemoveUUIDMetadataOperation",PNGetAllChannelMetadataOperation:"PNGetAllChannelMetadataOperation",PNGetChannelMetadataOperation:"PNGetChannelMetadataOperation",PNSetChannelMetadataOperation:"PNSetChannelMetadataOperation",PNRemoveChannelMetadataOperation:"PNRemoveChannelMetadataOperation",PNSetMembersOperation:"PNSetMembersOperation",PNSetMembershipsOperation:"PNSetMembershipsOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerGrantToken:"PNAccessManagerGrantToken",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/[!~*'()]/g,(function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())}))}function i(e){return function(e){var t=[];return Object.keys(e).forEach((function(e){return t.push(e)})),t}(e).sort()}var a="The Objects v1 API has been deprecated.\nYou can learn more about Objects v2 API at https://www.pubnub.com/docs/web-javascript/api-reference-objects.\nIf you have questions about the Objects v2 API or require additional help with migrating to the new data model, please contact PubNub Support at support@pubnub.com.";e.exports={signPamFromParams:function(e){return i(e).map((function(t){return"".concat(t,"=").concat(r(e[t]))})).join("&")},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var e,t;return{promise:new Promise((function(n,r){e=n,t=r})),reject:t,fulfill:e}},encodeString:r,deprecated:function(e){return function(){var t,n;"undefined"!=typeof process&&("test"!==(null===(t=process)||void 0===t||null===(n=t.env)||void 0===n?void 0:"production")&&console.warn(a));return e.apply(void 0,arguments)}}}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n=20?this._presenceTimeout=e:(this._presenceTimeout=20,console.log("WARNING: Presence timeout is less than the minimum. Using minimum value: ",this._presenceTimeout)),this.setHeartbeatInterval(this._presenceTimeout/2-1),this}},{key:"setProxy",value:function(e){this.proxy=e}},{key:"getHeartbeatInterval",value:function(){return this._heartbeatInterval}},{key:"setHeartbeatInterval",value:function(e){return this._heartbeatInterval=e,this}},{key:"getSubscribeTimeout",value:function(){return this._subscribeRequestTimeout}},{key:"setSubscribeTimeout",value:function(e){return this._subscribeRequestTimeout=e,this}},{key:"getTransactionTimeout",value:function(){return this._transactionalRequestTimeout}},{key:"setTransactionTimeout",value:function(e){return this._transactionalRequestTimeout=e,this}},{key:"isSendBeaconEnabled",value:function(){return this._useSendBeacon}},{key:"setSendBeaconConfig",value:function(e){return this._useSendBeacon=e,this}},{key:"getVersion",value:function(){return"4.29.2"}},{key:"_addPnsdkSuffix",value:function(e,t){this._PNSDKSuffix[e]=t}},{key:"_getPnsdkSuffix",value:function(e){var t=this;return Object.keys(this._PNSDKSuffix).reduce((function(n,r){return n+e+t._PNSDKSuffix[r]}),"")}},{key:"_decideUUID",value:function(e){return e||(this._db&&this._db.get&&this._db.get("".concat(this.subscribeKey,"uuid"))?this._db.get("".concat(this.subscribeKey,"uuid")):"pn-".concat(s.default.createUUID()))}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){var r=n(70),i=n(71),a=n(72),o=n(74);e.exports=function(e,t){return r(e)||i(e,t)||a(e,t)||o()}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNNetworkUpCategory:"PNNetworkUpCategory",PNNetworkDownCategory:"PNNetworkDownCategory",PNNetworkIssuesCategory:"PNNetworkIssuesCategory",PNTimeoutCategory:"PNTimeoutCategory",PNBadRequestCategory:"PNBadRequestCategory",PNAccessDeniedCategory:"PNAccessDeniedCategory",PNUnknownCategory:"PNUnknownCategory",PNReconnectedCategory:"PNReconnectedCategory",PNConnectedCategory:"PNConnectedCategory",PNRequestMessageCountExceededCategory:"PNRequestMessageCountExceededCategory"},e.exports=t.default},function(e,t,n){var r=n(13);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t,n){var r=n(7),i=n(17);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?i(e):t}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(27)),a={createUUID:function(){return i.default.uuid?i.default.uuid():(0,i.default)()}};t.default=a,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.createValidationError=y,t.default=function(e,t){var n=e.networking,r=e.config,i=e.telemetryManager,a=l.default.createUUID(),o=null,s=null,u={};t.getOperation()===d.default.PNTimeOperation||t.getOperation()===d.default.PNChannelGroupsOperation?o=arguments.length<=2?void 0:arguments[2]:(u=arguments.length<=2?void 0:arguments[2],o=arguments.length<=3?void 0:arguments[3]);"undefined"==typeof Promise||o||(s=f.default.createPromise());var c=t.validateParams(e,u);if(c)return o?o(y(c)):s?(s.reject(new g("Validation failed, check status for details",y(c))),s.promise):void 0;var p,v=t.prepareParams(e,u),O=b(t,e,u),T={url:O,operation:t.getOperation(),timeout:t.getRequestTimeout(e),headers:t.getRequestHeaders?t.getRequestHeaders():{},ignoreBody:"function"==typeof t.ignoreBody&&t.ignoreBody(e),forceBuffered:"function"==typeof t.forceBuffered?t.forceBuffered(e,u):null};v.uuid=r.UUID,v.pnsdk=_(r);var S=i.operationsLatencyForRequest();Object.keys(S).length&&(v=h(h({},v),S));r.useInstanceId&&(v.instanceid=r.instanceId);r.useRequestId&&(v.requestid=a);if(t.isAuthSupported()){var M=m(t,e,u),N=M||r.getAuthKey();N&&(v.auth=N)}r.secretKey&&P(e,O,v,u,t);var w=function(n,r){if(n.error)o?o(n):s&&s.reject(new g("PubNub call failed, check status for details",n));else{i.stopLatencyMeasure(t.getOperation(),a);var c=t.handleResponse(e,r,u);"function"!=typeof c.then&&(c=Promise.resolve(c)),c.then((function(e){o?o(n,e):s&&s.fulfill(e)})).catch((function(e){o?o(e,null):s&&s.reject(new g("PubNub call failed, check status for details",e))}))}};if(i.startLatencyMeasure(t.getOperation(),a),"POST"===k(e,t,u)){var j=t.postPayload(e,u);p=n.POST(v,j,T,w)}else if("PATCH"===k(e,t,u)){var x=t.patchPayload(e,u);p=n.PATCH(v,x,T,w)}else p="DELETE"===k(e,t,u)?n.DELETE(v,T,w):n.GET(v,T,w);if(t.getOperation()===d.default.PNSubscribeOperation)return p;if(s)return s.promise},t.PubNubError=void 0;var i=r(n(4)),a=r(n(5)),o=r(n(12)),s=r(n(14)),u=r(n(10)),c=r(n(37)),l=r(n(15)),f=(n(2),r(n(3))),d=(r(n(8)),r(n(1)));function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t0&&(t+=n),t}function k(e,t,n){return t.usePost&&t.usePost(e,n)?"POST":t.usePatch&&t.usePatch(e,n)?"PATCH":t.useDelete&&t.useDelete(e,n)?"DELETE":"GET"}function P(e,t,n,r,i){var a=e.config,o=e.crypto,s=k(e,i,r);n.timestamp=Math.floor((new Date).getTime()/1e3);var u="".concat(s,"\n").concat(a.publishKey,"\n").concat(t,"\n").concat(f.default.signPamFromParams(n),"\n");if("POST"===s){var c=i.postPayload(e,r);u+="string"==typeof c?c:JSON.stringify(c)}else if("PATCH"===s){var l=i.patchPayload(e,r);u+="string"==typeof l?l:JSON.stringify(l)}var d="v2.".concat(o.HMACSHA256(u));d=(d=(d=d.replace(/\+/g,"-")).replace(/\//g,"_")).replace(/=+$/,""),n.signature=d}t.PubNubError=g},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=(r(n(8)),r(n(28)));function u(e){var t,n=[];for(t=0;t>10,n=1023&e,r=32768&e;if(31===t)return 0===n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-25)*(1024+n):Math.pow(2,-24)*n;return r?-i:i},readFloat32:function(){var e=this.readUint32(),t=(2147483647&e)>>23,n=8388607&e,r=2147483648&e;if(255===t)return 0===n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-23-127)*(8388608+n):Math.pow(2,-149)*n;return r?-i:i},readFloat64:function(){var e=this.readUint32(),t=e>>20&2047,n=4294967296*(1048575&e)+this.readUint32(),r=2147483648&e;if(2047===t)return 0===n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-52-1023)*(4503599627370496+n):Math.pow(2,-1074)*n;return r?-i:i},readUint16:function(){return 256*this.readByte()+this.readByte()},readUint32:function(){return 65536*this.readUint16()+this.readUint16()},readUint64:function(){return 4294967296*this.readUint32()+this.readUint32()}},a.prototype={writeByte:r("writeByte"),result:r("result"),writeFloat16:r("writeFloat16"),writeFloat32:r("writeFloat32"),writeFloat64:r("writeFloat64"),writeUint16:function(e){this.writeByte(e>>8&255),this.writeByte(255&e)},writeUint32:function(e){this.writeUint16(e>>16&65535),this.writeUint16(65535&e)},writeUint64:function(e){if(e>=9007199254740992||e<=-9007199254740992)throw new Error("Cannot encode Uint64 of: "+e+" magnitude to big (floating point errors)");this.writeUint32(Math.floor(e/4294967296)),this.writeUint32(e%4294967296)},writeString:r("writeString"),canWriteBinary:function(e){return!1},writeBinary:r("writeChunk")};var u=new Error;function c(e){var t=function(e){var t=e.readByte();return{type:t>>5,value:31&t}}(e);switch(t.type){case 0:return o(t,e);case 1:return-1-o(t,e);case 2:return e.readChunk(o(t,e));case 3:return e.readChunk(o(t,e)).toString("utf-8");case 4:case 5:var r=o(t,e),i=[];if(null!==r){5===t.type&&(r*=2);for(var a=0;a-9007199254740992?e<0?s(1,-1-e,n):s(0,e,n):(function(e,t,n){n.writeByte(e<<5|t)}(7,27,n),n.writeFloat64(e));else if("string"==typeof e)n.writeString(e,(function(e){s(3,e,n)}));else if(n.canWriteBinary(e))n.writeBinary(e,(function(e){s(2,e,n)}));else{if("object"!=typeof e)throw new Error("CBOR encoding not supported: "+e);if(p.config.useToJSON&&"function"==typeof e.toJSON&&(e=e.toJSON()),Array.isArray(e))for(s(4,e.length,n),r=0;r=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0),this.byteLength++},v.prototype.writeFloat32=function(e){var t=Buffer.alloc(4);t.writeFloatBE(e,0),this.writeBuffer(t)},v.prototype.writeFloat64=function(e){var t=Buffer.alloc(8);t.writeDoubleBE(e,0),this.writeBuffer(t)},v.prototype.writeString=function(e,t){var n=Buffer.from(e,"utf-8");t(n.length),this.writeBuffer(n)},v.prototype.canWriteBinary=function(e){return e instanceof Buffer},v.prototype.writeBinary=function(e,t){t(e.length),this.writeBuffer(e)},v.prototype.writeBuffer=function(e){if(!(e instanceof Buffer))throw new TypeError("BufferWriter only accepts Buffers");this.latestBufferOffset?this.latestBuffer.length-this.latestBufferOffset>=e.length?(e.copy(this.latestBuffer,this.latestBufferOffset),this.latestBufferOffset+=e.length,this.latestBufferOffset>=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0)):(this.completeBuffers.push(this.latestBuffer.slice(0,this.latestBufferOffset)),this.completeBuffers.push(e),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0):this.completeBuffers.push(e),this.byteLength+=e.length},v.prototype.result=function(){for(var e=Buffer.alloc(this.byteLength),t=0,n=0;n255)throw new Error("Byte value out of range: "+e);var t=e.toString(16);1==t.length&&(t="0"+t),this.$hex+=t},y.prototype.canWriteBinary=function(t){return t instanceof e||"function"==typeof Buffer&&t instanceof Buffer},y.prototype.writeBinary=function(t,n){if(t instanceof e)n(t.length()),this.$hex+=t.$hex;else{if(!("function"==typeof Buffer&&t instanceof Buffer))throw new TypeError("HexWriter only accepts BinaryHex or Buffers");n(t.length),this.$hex+=t.toString("hex")}},y.prototype.result=function(){return"buffer"===this.finalFormat&&"function"==typeof Buffer?Buffer.from(this.$hex,"hex"):new e(this.$hex).toString(this.finalFormat)},y.prototype.writeString=function(t,n){var r=e.fromUtf8String(t);n(r.length()),this.$hex+=r.$hex},p.addReader((function(t,n){return t instanceof e||t.$hex?new g(t.$hex):"hex"===n?new g(t):void 0})),p.addWriter((function(e){if("hex"===e)return new y})),p}();return e.addSemanticEncode(0,(function(e){if(e instanceof Date)return e.toISOString()})).addSemanticDecode(0,(function(e){return new Date(e)})).addSemanticDecode(1,(function(e){return new Date(e)})),e})?r.apply(t,i):r)||(e.exports=a)},function(e,t,n){"use strict";var r=n(26),i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(5)),o=i(n(6)),s=i(n(4)),u=i(n(8)),c=i(n(18)),l=i(n(29)),f=i(n(32)),d=i(n(33)),p=i(n(19)),h=i(n(36)),v=i(n(16)),g=n(3),y=r(n(41)),b=r(n(42)),m=r(n(43)),_=r(n(44)),k=r(n(45)),P=r(n(46)),O=r(n(47)),T=r(n(48)),S=r(n(49)),M=r(n(50)),N=r(n(51)),w=r(n(52)),j=r(n(53)),x=r(n(54)),U=r(n(55)),C=r(n(56)),R=r(n(57)),A=r(n(58)),E=(n(59),r(n(60)),i(n(61))),K=i(n(62)),F=i(n(63)),I=i(n(64)),D=i(n(66)),B=i(n(67)),G=i(n(68)),L=i(n(69)),q=i(n(75)),H=i(n(76)),z=i(n(77)),V=i(n(78)),W=i(n(79)),$=i(n(80)),J=i(n(81)),X=i(n(82)),Q=i(n(83)),Y=i(n(84)),Z=i(n(85)),ee=r(n(86)),te=r(n(87)),ne=r(n(88)),re=r(n(89)),ie=r(n(90)),ae=r(n(91)),oe=r(n(92)),se=r(n(93)),ue=r(n(94)),ce=r(n(95)),le=r(n(96)),fe=r(n(97)),de=r(n(98)),pe=r(n(99)),he=r(n(100)),ve=r(n(101)),ge=r(n(102)),ye=r(n(103)),be=r(n(104)),me=r(n(105)),_e=r(n(106)),ke=r(n(107)),Pe=r(n(108)),Oe=r(n(109)),Te=r(n(110)),Se=r(n(111)),Me=r(n(112)),Ne=r(n(20)),we=r(n(113)),je=i(n(1)),xe=i(n(11)),Ue=(n(2),i(n(15)));function Ce(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Re(e){for(var t=1;t1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;ul;){var f;e:{f=c;for(var d=e.sqrt(f),p=2;p<=d;p++)if(!(f%p)){f=!1;break e}f=!0}f&&(8>l&&(a[l]=s(e.pow(c,.5))),o[l]=s(e.pow(c,1/3)),l++),c++}var h=[];i=i.SHA256=r.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],u=n[4],c=n[5],l=n[6],f=n[7],d=0;64>d;d++){if(16>d)h[d]=0|e[t+d];else{var p=h[d-15],v=h[d-2];h[d]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+h[d-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+h[d-16]}p=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+o[d]+h[d],v=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&a^i&a),f=l,l=c,c=u,u=s+p|0,s=a,a=i,i=r,r=p+v|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+f|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=r._createHelper(i),t.HmacSHA256=r._createHmacHelper(i)}(Math),i=(r=u).enc.Utf8,r.algo.HMAC=r.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,u=o.words,c=0;c>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;4>o&&i+.75*o>>6*(3-o)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(r=n.charAt(64))&&-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,a=0;a>>6-a%4*2;r[i>>>2]|=(s|u)<<24-i%4*8,i++}return o.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,r,i,a,o){return((e=e+(t&n|~t&r)+i+o)<>>32-a)+t}function n(e,t,n,r,i,a,o){return((e=e+(t&r|n&~r)+i+o)<>>32-a)+t}function r(e,t,n,r,i,a,o){return((e=e+(t^n^r)+i+o)<>>32-a)+t}function i(e,t,n,r,i,a,o){return((e=e+(n^(t|~r))+i+o)<>>32-a)+t}for(var a=u,o=(c=a.lib).WordArray,s=c.Hasher,c=a.algo,l=[],f=0;64>f;f++)l[f]=4294967296*e.abs(e.sin(f+1))|0;c=c.MD5=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],c=(s=e[a+1],e[a+2]),f=e[a+3],d=e[a+4],p=e[a+5],h=e[a+6],v=e[a+7],g=e[a+8],y=e[a+9],b=e[a+10],m=e[a+11],_=e[a+12],k=e[a+13],P=e[a+14],O=e[a+15],T=t(T=o[0],N=o[1],M=o[2],S=o[3],u,7,l[0]),S=t(S,T,N,M,s,12,l[1]),M=t(M,S,T,N,c,17,l[2]),N=t(N,M,S,T,f,22,l[3]);T=t(T,N,M,S,d,7,l[4]),S=t(S,T,N,M,p,12,l[5]),M=t(M,S,T,N,h,17,l[6]),N=t(N,M,S,T,v,22,l[7]),T=t(T,N,M,S,g,7,l[8]),S=t(S,T,N,M,y,12,l[9]),M=t(M,S,T,N,b,17,l[10]),N=t(N,M,S,T,m,22,l[11]),T=t(T,N,M,S,_,7,l[12]),S=t(S,T,N,M,k,12,l[13]),M=t(M,S,T,N,P,17,l[14]),T=n(T,N=t(N,M,S,T,O,22,l[15]),M,S,s,5,l[16]),S=n(S,T,N,M,h,9,l[17]),M=n(M,S,T,N,m,14,l[18]),N=n(N,M,S,T,u,20,l[19]),T=n(T,N,M,S,p,5,l[20]),S=n(S,T,N,M,b,9,l[21]),M=n(M,S,T,N,O,14,l[22]),N=n(N,M,S,T,d,20,l[23]),T=n(T,N,M,S,y,5,l[24]),S=n(S,T,N,M,P,9,l[25]),M=n(M,S,T,N,f,14,l[26]),N=n(N,M,S,T,g,20,l[27]),T=n(T,N,M,S,k,5,l[28]),S=n(S,T,N,M,c,9,l[29]),M=n(M,S,T,N,v,14,l[30]),T=r(T,N=n(N,M,S,T,_,20,l[31]),M,S,p,4,l[32]),S=r(S,T,N,M,g,11,l[33]),M=r(M,S,T,N,m,16,l[34]),N=r(N,M,S,T,P,23,l[35]),T=r(T,N,M,S,s,4,l[36]),S=r(S,T,N,M,d,11,l[37]),M=r(M,S,T,N,v,16,l[38]),N=r(N,M,S,T,b,23,l[39]),T=r(T,N,M,S,k,4,l[40]),S=r(S,T,N,M,u,11,l[41]),M=r(M,S,T,N,f,16,l[42]),N=r(N,M,S,T,h,23,l[43]),T=r(T,N,M,S,y,4,l[44]),S=r(S,T,N,M,_,11,l[45]),M=r(M,S,T,N,O,16,l[46]),T=i(T,N=r(N,M,S,T,c,23,l[47]),M,S,u,6,l[48]),S=i(S,T,N,M,v,10,l[49]),M=i(M,S,T,N,P,15,l[50]),N=i(N,M,S,T,p,21,l[51]),T=i(T,N,M,S,_,6,l[52]),S=i(S,T,N,M,f,10,l[53]),M=i(M,S,T,N,b,15,l[54]),N=i(N,M,S,T,s,21,l[55]),T=i(T,N,M,S,g,6,l[56]),S=i(S,T,N,M,O,10,l[57]),M=i(M,S,T,N,h,15,l[58]),N=i(N,M,S,T,k,21,l[59]),T=i(T,N,M,S,d,6,l[60]),S=i(S,T,N,M,m,10,l[61]),M=i(M,S,T,N,c,15,l[62]),N=i(N,M,S,T,y,21,l[63]);o[0]=o[0]+T|0,o[1]=o[1]+N|0,o[2]=o[2]+M|0,o[3]=o[3]+S|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var a=e.floor(r/4294967296);for(n[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),n[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,r=0;4>r;r++)i=n[r],n[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=s._createHelper(c),a.HmacMD5=s._createHmacHelper(c)}(Math),function(){var e,t=u,n=(e=t.lib).Base,r=e.WordArray,i=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),i=r.create(),a=i.words,o=s.keySize,s=s.iterations;a.length>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:c,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var d=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(c=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(a)},parse:function(e){var t=(e=a.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return d.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:c}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,d.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,n,i){return i||(i=r.random(8)),e=o.create({keySize:t+n}).compute(e,i),n=r.create(e.words.slice(t),4*n),e.sigBytes=4*t,d.create({key:e,iv:n,salt:i})}},v=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:h}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=p.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,p.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=u,t=e.lib.BlockCipher,n=e.algo,r=[],i=[],a=[],o=[],s=[],c=[],l=[],f=[],d=[],p=[],h=[],v=0;256>v;v++)h[v]=128>v?v<<1:v<<1^283;var g=0,y=0;for(v=0;256>v;v++){var b=(b=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&b^99;r[g]=b,i[b]=g;var m=h[g],_=h[m],k=h[_],P=257*h[b]^16843008*b;a[g]=P<<24|P>>>8,o[g]=P<<16|P>>>16,s[g]=P<<8|P>>>24,c[g]=P,P=16843009*k^65537*_^257*m^16843008*g,l[b]=P<<24|P>>>8,f[b]=P<<16|P>>>16,d[b]=P<<8|P>>>24,p[b]=P,g?(g=m^h[h[h[k^m]]],y^=h[h[y]]):g=y=1}var O=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],a=0;a>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o]):(o=r[(o=o<<8|o>>>24)>>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o],o^=O[a/t|0]<<24),i[a]=i[a-t]^o}for(e=this._invKeySchedule=[],t=0;tt||4>=a?o:l[r[o>>>24]]^f[r[o>>>16&255]]^d[r[o>>>8&255]]^p[r[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,s,c,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,l,f,d,p,i),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,s){for(var u=this._nRounds,c=e[t]^n[0],l=e[t+1]^n[1],f=e[t+2]^n[2],d=e[t+3]^n[3],p=4,h=1;h>>24]^i[l>>>16&255]^a[f>>>8&255]^o[255&d]^n[p++],g=r[l>>>24]^i[f>>>16&255]^a[d>>>8&255]^o[255&c]^n[p++],y=r[f>>>24]^i[d>>>16&255]^a[c>>>8&255]^o[255&l]^n[p++];d=r[d>>>24]^i[c>>>16&255]^a[l>>>8&255]^o[255&f]^n[p++],c=v,l=g,f=y}v=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&d])^n[p++],g=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[d>>>8&255]<<8|s[255&c])^n[p++],y=(s[f>>>24]<<24|s[d>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^n[p++],d=(s[d>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^n[p++],e[t]=v,e[t+1]=g,e[t+2]=y,e[t+3]=d},keySize:8});e.AES=t._createHelper(n)}(),u.mode.ECB=((s=u.lib.BlockCipherMode.extend()).Encryptor=s.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),s.Decryptor=s.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),s),e.exports=u},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),a=r(n(5)),o=r(n(6)),s=r(n(4)),u=(r(n(18)),r(n(8)),r(n(19)),r(n(30))),c=r(n(31)),l=r(n(3)),f=(n(2),r(n(11))),d=function(){function e(t){var n=t.subscribeEndpoint,r=t.leaveEndpoint,i=t.heartbeatEndpoint,o=t.setStateEndpoint,l=t.timeEndpoint,f=t.getFileUrl,d=t.config,p=t.crypto,h=t.listenerManager;(0,a.default)(this,e),(0,s.default)(this,"_crypto",void 0),(0,s.default)(this,"_config",void 0),(0,s.default)(this,"_listenerManager",void 0),(0,s.default)(this,"_reconnectionManager",void 0),(0,s.default)(this,"_leaveEndpoint",void 0),(0,s.default)(this,"_heartbeatEndpoint",void 0),(0,s.default)(this,"_setStateEndpoint",void 0),(0,s.default)(this,"_subscribeEndpoint",void 0),(0,s.default)(this,"_getFileUrl",void 0),(0,s.default)(this,"_channels",void 0),(0,s.default)(this,"_presenceChannels",void 0),(0,s.default)(this,"_heartbeatChannels",void 0),(0,s.default)(this,"_heartbeatChannelGroups",void 0),(0,s.default)(this,"_channelGroups",void 0),(0,s.default)(this,"_presenceChannelGroups",void 0),(0,s.default)(this,"_currentTimetoken",void 0),(0,s.default)(this,"_lastTimetoken",void 0),(0,s.default)(this,"_storedTimetoken",void 0),(0,s.default)(this,"_region",void 0),(0,s.default)(this,"_subscribeCall",void 0),(0,s.default)(this,"_heartbeatTimer",void 0),(0,s.default)(this,"_subscriptionStatusAnnounced",void 0),(0,s.default)(this,"_autoNetworkDetection",void 0),(0,s.default)(this,"_isOnline",void 0),(0,s.default)(this,"_pendingChannelSubscriptions",void 0),(0,s.default)(this,"_pendingChannelGroupSubscriptions",void 0),(0,s.default)(this,"_dedupingManager",void 0),this._listenerManager=h,this._config=d,this._leaveEndpoint=r,this._heartbeatEndpoint=i,this._setStateEndpoint=o,this._subscribeEndpoint=n,this._getFileUrl=f,this._crypto=p,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new u.default({timeEndpoint:l}),this._dedupingManager=new c.default({config:d})}return(0,o.default)(e,[{key:"adaptStateChange",value:function(e,t){var n=this,r=e.state,i=e.channels,a=void 0===i?[]:i,o=e.channelGroups,s=void 0===o?[]:o;return a.forEach((function(e){e in n._channels&&(n._channels[e].state=r)})),s.forEach((function(e){e in n._channelGroups&&(n._channelGroups[e].state=r)})),this._setStateEndpoint({state:r,channels:a,channelGroups:s},t)}},{key:"adaptPresenceChange",value:function(e){var t=this,n=e.connected,r=e.channels,i=void 0===r?[]:r,a=e.channelGroups,o=void 0===a?[]:a;n?(i.forEach((function(e){t._heartbeatChannels[e]={state:{}}})),o.forEach((function(e){t._heartbeatChannelGroups[e]={state:{}}}))):(i.forEach((function(e){e in t._heartbeatChannels&&delete t._heartbeatChannels[e]})),o.forEach((function(e){e in t._heartbeatChannelGroups&&delete t._heartbeatChannelGroups[e]})),!1===this._config.suppressLeaveEvents&&this._leaveEndpoint({channels:i,channelGroups:o},(function(e){t._listenerManager.announceStatus(e)}))),this.reconnect()}},{key:"adaptSubscribeChange",value:function(e){var t=this,n=e.timetoken,r=e.channels,i=void 0===r?[]:r,a=e.channelGroups,o=void 0===a?[]:a,s=e.withPresence,u=void 0!==s&&s,c=e.withHeartbeats,l=void 0!==c&&c;this._config.subscribeKey&&""!==this._config.subscribeKey?(n&&(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=n),"0"!==this._currentTimetoken&&0!==this._currentTimetoken&&(this._storedTimetoken=this._currentTimetoken,this._currentTimetoken=0),i.forEach((function(e){t._channels[e]={state:{}},u&&(t._presenceChannels[e]={}),(l||t._config.getHeartbeatInterval())&&(t._heartbeatChannels[e]={}),t._pendingChannelSubscriptions.push(e)})),o.forEach((function(e){t._channelGroups[e]={state:{}},u&&(t._presenceChannelGroups[e]={}),(l||t._config.getHeartbeatInterval())&&(t._heartbeatChannelGroups[e]={}),t._pendingChannelGroupSubscriptions.push(e)})),this._subscriptionStatusAnnounced=!1,this.reconnect()):console&&console.log&&console.log("subscribe key missing; aborting subscribe")}},{key:"adaptUnsubscribeChange",value:function(e,t){var n=this,r=e.channels,i=void 0===r?[]:r,a=e.channelGroups,o=void 0===a?[]:a,s=[],u=[];i.forEach((function(e){e in n._channels&&(delete n._channels[e],s.push(e),e in n._heartbeatChannels&&delete n._heartbeatChannels[e]),e in n._presenceChannels&&(delete n._presenceChannels[e],s.push(e))})),o.forEach((function(e){e in n._channelGroups&&(delete n._channelGroups[e],u.push(e),e in n._heartbeatChannelGroups&&delete n._heartbeatChannelGroups[e]),e in n._presenceChannelGroups&&(delete n._channelGroups[e],u.push(e))})),0===s.length&&0===u.length||(!1!==this._config.suppressLeaveEvents||t||this._leaveEndpoint({channels:s,channelGroups:u},(function(e){e.affectedChannels=s,e.affectedChannelGroups=u,e.currentTimetoken=n._currentTimetoken,e.lastTimetoken=n._lastTimetoken,n._listenerManager.announceStatus(e)})),0===Object.keys(this._channels).length&&0===Object.keys(this._presenceChannels).length&&0===Object.keys(this._channelGroups).length&&0===Object.keys(this._presenceChannelGroups).length&&(this._lastTimetoken=0,this._currentTimetoken=0,this._storedTimetoken=null,this._region=null,this._reconnectionManager.stopPolling()),this.reconnect())}},{key:"unsubscribeAll",value:function(e){this.adaptUnsubscribeChange({channels:this.getSubscribedChannels(),channelGroups:this.getSubscribedChannelGroups()},e)}},{key:"getHeartbeatChannels",value:function(){return Object.keys(this._heartbeatChannels)}},{key:"getHeartbeatChannelGroups",value:function(){return Object.keys(this._heartbeatChannelGroups)}},{key:"getSubscribedChannels",value:function(){return Object.keys(this._channels)}},{key:"getSubscribedChannelGroups",value:function(){return Object.keys(this._channelGroups)}},{key:"reconnect",value:function(){this._startSubscribeLoop(),this._registerHeartbeatTimer()}},{key:"disconnect",value:function(){this._stopSubscribeLoop(),this._stopHeartbeatTimer(),this._reconnectionManager.stopPolling()}},{key:"_registerHeartbeatTimer",value:function(){this._stopHeartbeatTimer(),0!==this._config.getHeartbeatInterval()&&void 0!==this._config.getHeartbeatInterval()&&(this._performHeartbeatLoop(),this._heartbeatTimer=setInterval(this._performHeartbeatLoop.bind(this),1e3*this._config.getHeartbeatInterval()))}},{key:"_stopHeartbeatTimer",value:function(){this._heartbeatTimer&&(clearInterval(this._heartbeatTimer),this._heartbeatTimer=null)}},{key:"_performHeartbeatLoop",value:function(){var e=this,t=this.getHeartbeatChannels(),n=this.getHeartbeatChannelGroups(),r={};if(0!==t.length||0!==n.length){this.getSubscribedChannels().forEach((function(t){var n=e._channels[t].state;Object.keys(n).length&&(r[t]=n)})),this.getSubscribedChannelGroups().forEach((function(t){var n=e._channelGroups[t].state;Object.keys(n).length&&(r[t]=n)}));this._heartbeatEndpoint({channels:t,channelGroups:n,state:r},function(t){t.error&&e._config.announceFailedHeartbeats&&e._listenerManager.announceStatus(t),t.error&&e._config.autoNetworkDetection&&e._isOnline&&(e._isOnline=!1,e.disconnect(),e._listenerManager.announceNetworkDown(),e.reconnect()),!t.error&&e._config.announceSuccessfulHeartbeats&&e._listenerManager.announceStatus(t)}.bind(this))}}},{key:"_startSubscribeLoop",value:function(){var e=this;this._stopSubscribeLoop();var t={},n=[],r=[];if(Object.keys(this._channels).forEach((function(r){var i=e._channels[r].state;Object.keys(i).length&&(t[r]=i),n.push(r)})),Object.keys(this._presenceChannels).forEach((function(e){n.push("".concat(e,"-pnpres"))})),Object.keys(this._channelGroups).forEach((function(n){var i=e._channelGroups[n].state;Object.keys(i).length&&(t[n]=i),r.push(n)})),Object.keys(this._presenceChannelGroups).forEach((function(e){r.push("".concat(e,"-pnpres"))})),0!==n.length||0!==r.length){var i={channels:n,channelGroups:r,state:t,timetoken:this._currentTimetoken,filterExpression:this._config.filterExpression,region:this._region};this._subscribeCall=this._subscribeEndpoint(i,this._processSubscribeResponse.bind(this))}}},{key:"_processSubscribeResponse",value:function(e,t){var n=this;if(e.error)e.category===f.default.PNTimeoutCategory?this._startSubscribeLoop():e.category===f.default.PNNetworkIssuesCategory?(this.disconnect(),e.error&&this._config.autoNetworkDetection&&this._isOnline&&(this._isOnline=!1,this._listenerManager.announceNetworkDown()),this._reconnectionManager.onReconnection((function(){n._config.autoNetworkDetection&&!n._isOnline&&(n._isOnline=!0,n._listenerManager.announceNetworkUp()),n.reconnect(),n._subscriptionStatusAnnounced=!0;var t={category:f.default.PNReconnectedCategory,operation:e.operation,lastTimetoken:n._lastTimetoken,currentTimetoken:n._currentTimetoken};n._listenerManager.announceStatus(t)})),this._reconnectionManager.startPolling(),this._listenerManager.announceStatus(e)):e.category===f.default.PNBadRequestCategory?(this._stopHeartbeatTimer(),this._listenerManager.announceStatus(e)):this._listenerManager.announceStatus(e);else{if(this._storedTimetoken?(this._currentTimetoken=this._storedTimetoken,this._storedTimetoken=null):(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=t.metadata.timetoken),!this._subscriptionStatusAnnounced){var r={};r.category=f.default.PNConnectedCategory,r.operation=e.operation,r.affectedChannels=this._pendingChannelSubscriptions,r.subscribedChannels=this.getSubscribedChannels(),r.affectedChannelGroups=this._pendingChannelGroupSubscriptions,r.lastTimetoken=this._lastTimetoken,r.currentTimetoken=this._currentTimetoken,this._subscriptionStatusAnnounced=!0,this._listenerManager.announceStatus(r),this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[]}var a=t.messages||[],o=this._config,s=o.requestMessageCountThreshold,u=o.dedupeOnSubscribe;if(s&&a.length>=s){var c={};c.category=f.default.PNRequestMessageCountExceededCategory,c.operation=e.operation,this._listenerManager.announceStatus(c)}a.forEach((function(e){var t=e.channel,r=e.subscriptionMatch,a=e.publishMetaData;if(t===r&&(r=null),u){if(n._dedupingManager.isDuplicate(e))return;n._dedupingManager.addEntry(e)}if(l.default.endsWith(e.channel,"-pnpres")){var o={channel:null,subscription:null};o.actualChannel=null!=r?t:null,o.subscribedChannel=null!=r?r:t,t&&(o.channel=t.substring(0,t.lastIndexOf("-pnpres"))),r&&(o.subscription=r.substring(0,r.lastIndexOf("-pnpres"))),o.action=e.payload.action,o.state=e.payload.data,o.timetoken=a.publishTimetoken,o.occupancy=e.payload.occupancy,o.uuid=e.payload.uuid,o.timestamp=e.payload.timestamp,e.payload.join&&(o.join=e.payload.join),e.payload.leave&&(o.leave=e.payload.leave),e.payload.timeout&&(o.timeout=e.payload.timeout),n._listenerManager.announcePresence(o)}else if(1===e.messageType){var s={channel:null,subscription:null};s.channel=t,s.subscription=r,s.timetoken=a.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),s.message=e.payload,n._listenerManager.announceSignal(s)}else if(2===e.messageType){var c={channel:null,subscription:null};c.channel=t,c.subscription=r,c.timetoken=a.publishTimetoken,c.publisher=e.issuingClientId,e.userMetadata&&(c.userMetadata=e.userMetadata),c.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},n._listenerManager.announceObjects(c),"user"===e.payload.type?n._listenerManager.announceUser(c):"space"===e.payload.type?n._listenerManager.announceSpace(c):"membership"===e.payload.type&&n._listenerManager.announceMembership(c)}else if(3===e.messageType){var f={};f.channel=t,f.subscription=r,f.timetoken=a.publishTimetoken,f.publisher=e.issuingClientId,f.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},f.event=e.payload.event,n._listenerManager.announceMessageAction(f)}else if(4===e.messageType){var d={};d.channel=t,d.subscription=r,d.timetoken=a.publishTimetoken,d.publisher=e.issuingClientId;var p=e.payload;if(n._config.cipherKey){var h=n._crypto.decrypt(e.payload);"object"===(0,i.default)(h)&&null!==h&&(p=h)}d.message=p.message,d.file={id:p.file.id,name:p.file.name,url:n._getFileUrl({id:p.file.id,name:p.file.name,channel:t})},n._listenerManager.announceFile(d)}else{var v={channel:null,subscription:null};v.actualChannel=null!=r?t:null,v.subscribedChannel=null!=r?r:t,v.channel=t,v.subscription=r,v.timetoken=a.publishTimetoken,v.publisher=e.issuingClientId,e.userMetadata&&(v.userMetadata=e.userMetadata),n._config.cipherKey?v.message=n._crypto.decrypt(e.payload):v.message=e.payload,n._listenerManager.announceMessage(v)}})),this._region=t.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}]),e}();t.default=d,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=(r(n(20)),n(2),function(){function e(t){var n=t.timeEndpoint;(0,i.default)(this,e),(0,o.default)(this,"_reconnectionCallback",void 0),(0,o.default)(this,"_timeEndpoint",void 0),(0,o.default)(this,"_timeTimer",void 0),this._timeEndpoint=n}return(0,a.default)(e,[{key:"onReconnection",value:function(e){this._reconnectionCallback=e}},{key:"startPolling",value:function(){this._timeTimer=setInterval(this._performTimeLoop.bind(this),3e3)}},{key:"stopPolling",value:function(){clearInterval(this._timeTimer)}},{key:"_performTimeLoop",value:function(){var e=this;this._timeEndpoint((function(t){t.error||(clearInterval(e._timeTimer),e._reconnectionCallback())}))}}]),e}());t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=(r(n(8)),n(2),function(){function e(t){var n=t.config;(0,i.default)(this,e),(0,o.default)(this,"_config",void 0),(0,o.default)(this,"hashHistory",void 0),this.hashHistory=[],this._config=n}return(0,a.default)(e,[{key:"getKey",value:function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var n=0;n=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}]),e}());t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=r(n(1)),u=function(){function e(t){(0,i.default)(this,e),(0,o.default)(this,"_maximumSamplesCount",100),(0,o.default)(this,"_trackedLatencies",{}),(0,o.default)(this,"_latencies",{}),this._maximumSamplesCount=t.maximumSamplesCount||this._maximumSamplesCount}return(0,a.default)(e,[{key:"operationsLatencyForRequest",value:function(){var e=this,t={};return Object.keys(this._latencies).forEach((function(n){var r=e._latencies[n],i=e._averageLatency(r);i>0&&(t["l_".concat(n)]=i)})),t}},{key:"startLatencyMeasure",value:function(e,t){e!==s.default.PNSubscribeOperation&&t&&(this._trackedLatencies[t]=Date.now())}},{key:"stopLatencyMeasure",value:function(e,t){if(e!==s.default.PNSubscribeOperation&&t){var n=this._endpointName(e),r=this._latencies[n],i=this._trackedLatencies[t];r||(r=this._latencies[n]=[]),r.push(Date.now()-i),r.length>this._maximumSamplesCount&&r.splice(0,r.length-this._maximumSamplesCount),delete this._trackedLatencies[t]}}},{key:"_averageLatency",value:function(e){return Math.floor(e.reduce((function(e,t){return e+t}),0)/e.length)}},{key:"_endpointName",value:function(e){var t=null;switch(e){case s.default.PNPublishOperation:t="pub";break;case s.default.PNSignalOperation:t="sig";break;case s.default.PNHistoryOperation:case s.default.PNFetchMessagesOperation:case s.default.PNDeleteMessagesOperation:case s.default.PNMessageCounts:t="hist";break;case s.default.PNUnsubscribeOperation:case s.default.PNWhereNowOperation:case s.default.PNHereNowOperation:case s.default.PNHeartbeatOperation:case s.default.PNSetStateOperation:case s.default.PNGetStateOperation:t="pres";break;case s.default.PNAddChannelsToGroupOperation:case s.default.PNRemoveChannelsFromGroupOperation:case s.default.PNChannelGroupsOperation:case s.default.PNRemoveGroupOperation:case s.default.PNChannelsForGroupOperation:t="cg";break;case s.default.PNPushNotificationEnabledChannelsOperation:case s.default.PNRemoveAllPushNotificationsOperation:t="push";break;case s.default.PNCreateUserOperation:case s.default.PNUpdateUserOperation:case s.default.PNDeleteUserOperation:case s.default.PNGetUserOperation:case s.default.PNGetUsersOperation:case s.default.PNCreateSpaceOperation:case s.default.PNUpdateSpaceOperation:case s.default.PNDeleteSpaceOperation:case s.default.PNGetSpaceOperation:case s.default.PNGetSpacesOperation:case s.default.PNGetMembersOperation:case s.default.PNUpdateMembersOperation:case s.default.PNGetMembershipsOperation:case s.default.PNUpdateMembershipsOperation:t="obj";break;case s.default.PNAddMessageActionOperation:case s.default.PNRemoveMessageActionOperation:case s.default.PNGetMessageActionsOperation:t="msga";break;case s.default.PNAccessManagerGrant:case s.default.PNAccessManagerAudit:t="pam";break;case s.default.PNAccessManagerGrantToken:t="pam3";break;default:t="time"}return t}}]),e}();t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FCMNotificationPayload=t.MPNSNotificationPayload=t.APNSNotificationPayload=void 0;var i=r(n(34)),a=r(n(17)),o=r(n(12)),s=r(n(14)),u=r(n(10)),c=r(n(5)),l=r(n(6)),f=r(n(4));n(2);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t2){var r=this._payload,a=(r.notification,r.data,(0,i.default)(r,["notification","data"]));e=p(p({},e),a)}return this._isSilent?e.notification=this._payload.notification:t=this._payload.notification,Object.keys(e).length&&(n.data=e),t&&Object.keys(t).length&&(n.notification=t),Object.keys(n).length?n:null}},{key:"notification",get:function(){return this._payload.notification}},{key:"data",get:function(){return this._payload.data}},{key:"title",get:function(){return this._title},set:function(e){e&&e.length&&(this._payload.notification.title=e,this._title=e)}},{key:"body",get:function(){return this._body},set:function(e){e&&e.length&&(this._payload.notification.body=e,this._body=e)}},{key:"sound",get:function(){return this._sound},set:function(e){e&&e.length&&(this._payload.notification.sound=e,this._sound=e)}},{key:"icon",get:function(){return this._icon},set:function(e){e&&e.length&&(this._payload.notification.icon=e,this._icon=e)}},{key:"tag",get:function(){return this._tag},set:function(e){e&&e.length&&(this._payload.notification.tag=e,this._tag=e)}},{key:"silent",set:function(e){this._isSilent=e}}]),n}(v);t.FCMNotificationPayload=b;var m=function(){function e(t,n){(0,c.default)(this,e),(0,f.default)(this,"_payload",void 0),(0,f.default)(this,"_debugging",void 0),(0,f.default)(this,"_subtitle",void 0),(0,f.default)(this,"_badge",void 0),(0,f.default)(this,"_sound",void 0),(0,f.default)(this,"_title",void 0),(0,f.default)(this,"_body",void 0),(0,f.default)(this,"apns",void 0),(0,f.default)(this,"mpns",void 0),(0,f.default)(this,"fcm",void 0),this._payload={apns:{},mpns:{},fcm:{}},this._title=t,this._body=n,this.apns=new g(this._payload.apns,t,n),this.mpns=new y(this._payload.mpns,t,n),this.fcm=new b(this._payload.fcm,t,n)}return(0,l.default)(e,[{key:"debugging",set:function(e){this._debugging=e}},{key:"title",get:function(){return this._title}},{key:"body",get:function(){return this._body}},{key:"subtitle",get:function(){return this._subtitle},set:function(e){this._subtitle=e,this.apns.subtitle=e,this.mpns.subtitle=e,this.fcm.subtitle=e}},{key:"badge",get:function(){return this._badge},set:function(e){this._badge=e,this.apns.badge=e,this.mpns.badge=e,this.fcm.badge=e}},{key:"sound",get:function(){return this._sound},set:function(e){this._sound=e,this.apns.sound=e,this.mpns.sound=e,this.fcm.sound=e}}]),(0,l.default)(e,[{key:"buildPayload",value:function(e){var t={};if(e.includes("apns")||e.includes("apns2")){this.apns._apnsPushType=e.includes("apns")?"apns":"apns2";var n=this.apns.toObject();n&&Object.keys(n).length&&(t.pn_apns=n)}if(e.includes("mpns")){var r=this.mpns.toObject();r&&Object.keys(r).length&&(t.pn_mpns=r)}if(e.includes("fcm")){var i=this.fcm.toObject();i&&Object.keys(i).length&&(t.pn_gcm=i)}return Object.keys(t).length&&this._debugging&&(t.pn_debug=!0),t}}]),e}();t.default=m},function(e,t,n){var r=n(35);e.exports=function(e,t){if(null==e)return{};var n,i,a=r(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),a=r(n(5)),o=r(n(6)),s=r(n(4)),u=(r(n(8)),n(2),function(){function e(t,n){(0,a.default)(this,e),(0,s.default)(this,"_config",void 0),(0,s.default)(this,"_cbor",void 0),(0,s.default)(this,"_userTokens",void 0),(0,s.default)(this,"_spaceTokens",void 0),(0,s.default)(this,"_userToken",void 0),(0,s.default)(this,"_spaceToken",void 0),this._config=t,this._cbor=n,this._initializeTokens()}return(0,o.default)(e,[{key:"_initializeTokens",value:function(){this._userTokens={},this._spaceTokens={},this._userToken=void 0,this._spaceToken=void 0}},{key:"_setToken",value:function(e){var t=this,n=this.parseToken(e);n&&n.resources&&(n.resources.users&&Object.keys(n.resources.users).forEach((function(n){t._userTokens[n]=e})),n.resources.spaces&&Object.keys(n.resources.spaces).forEach((function(n){t._spaceTokens[n]=e}))),n&&n.patterns&&(n.patterns.users&&Object.keys(n.patterns.users).length>0&&(this._userToken=e),n.patterns.spaces&&Object.keys(n.patterns.spaces).length>0&&(this._spaceToken=e))}},{key:"setToken",value:function(e){e&&e.length>0&&this._setToken(e)}},{key:"setTokens",value:function(e){var t=this;e&&e.length&&"object"===(0,i.default)(e)&&e.forEach((function(e){t.setToken(e)}))}},{key:"getTokens",value:function(e){var t=this,n={users:{},spaces:{}};return e?(e.user&&(n.user=this._userToken),e.space&&(n.space=this._spaceToken),e.users&&e.users.forEach((function(e){n.users[e]=t._userTokens[e]})),e.space&&e.spaces.forEach((function(e){n.spaces[e]=t._spaceTokens[e]}))):(this._userToken&&(n.user=this._userToken),this._spaceToken&&(n.space=this._spaceToken),Object.keys(this._userTokens).forEach((function(e){n.users[e]=t._userTokens[e]})),Object.keys(this._spaceTokens).forEach((function(e){n.spaces[e]=t._spaceTokens[e]}))),n}},{key:"getToken",value:function(e,t){var n;return t?"user"===e?n=this._userTokens[t]:"space"===e&&(n=this._spaceTokens[t]):"user"===e?n=this._userToken:"space"===e&&(n=this._spaceToken),n}},{key:"extractPermissions",value:function(e){var t={create:!1,read:!1,write:!1,manage:!1,delete:!1};return 16==(16&e)&&(t.create=!0),8==(8&e)&&(t.delete=!0),4==(4&e)&&(t.manage=!0),2==(2&e)&&(t.write=!0),1==(1&e)&&(t.read=!0),t}},{key:"parseToken",value:function(e){var t=this,n=this._cbor.decodeToken(e);if(void 0!==n){var r=Object.keys(n.res.usr),i=Object.keys(n.res.spc),a=Object.keys(n.pat.usr),o=Object.keys(n.pat.spc),s={version:n.v,timestamp:n.t,ttl:n.ttl},u=r.length>0,c=i.length>0;(u||c)&&(s.resources={},u&&(s.resources.users={},r.forEach((function(e){s.resources.users[e]=t.extractPermissions(n.res.usr[e])}))),c&&(s.resources.spaces={},i.forEach((function(e){s.resources.spaces[e]=t.extractPermissions(n.res.spc[e])}))));var l=a.length>0,f=o.length>0;return(l||f)&&(s.patterns={},l&&(s.patterns.users={},a.forEach((function(e){s.patterns.users[e]=t.extractPermissions(n.pat.usr[e])}))),f&&(s.patterns.spaces={},o.forEach((function(e){s.patterns.spaces[e]=t.extractPermissions(n.pat.spc[e])})))),Object.keys(n.meta).length>0&&(s.meta=n.meta),s.signature=n.sig,s}}},{key:"clearTokens",value:function(){this._initializeTokens()}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){var r=n(10),i=n(13),a=n(38),o=n(39);function s(t){var n="function"==typeof Map?new Map:void 0;return e.exports=s=function(e){if(null===e||!a(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return o(e,arguments,r(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),i(t,e)},s(t)}e.exports=s},function(e,t){e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}},function(e,t,n){var r=n(13),i=n(40);function a(t,n,o){return i()?e.exports=a=Reflect.construct:e.exports=a=function(e,t,n){var i=[null];i.push.apply(i,t);var a=new(Function.bind.apply(e,i));return n&&r(a,n.prototype),a},a.apply(null,arguments)}e.exports=a},function(e,t){e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAddChannelsToGroupOperation},t.validateParams=function(e,t){var n=t.channels,r=t.channelGroup,i=e.config;if(!r)return"Missing Channel Group";if(!n||0===n.length)return"Missing Channels";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channels;return{add:(void 0===n?[]:n).join(",")}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveChannelsFromGroupOperation},t.validateParams=function(e,t){var n=t.channels,r=t.channelGroup,i=e.config;if(!r)return"Missing Channel Group";if(!n||0===n.length)return"Missing Channels";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channels;return{remove:(void 0===n?[]:n).join(",")}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveGroupOperation},t.validateParams=function(e,t){var n=t.channelGroup,r=e.config;if(!n)return"Missing Channel Group";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(a.default.encodeString(n),"/remove")},t.isAuthSupported=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(){return{}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNChannelGroupsOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e){var t=e.config;return"/v1/channel-registration/sub-key/".concat(t.subscribeKey,"/channel-group")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{groups:t.payload.groups}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNChannelsForGroupOperation},t.validateParams=function(e,t){var n=t.channelGroup,r=e.config;if(!n)return"Missing Channel Group";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{channels:t.payload.channels}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.channels,a=t.topic,o=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!a)return"Missing APNS2 topic";if(!i||0===i.length)return"Missing Channels";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.channels,i=void 0===r?[]:r,a=t.environment,o=void 0===a?"development":a,s=t.topic,u={type:n,add:i.join(",")};"apns2"===n&&delete(u=Object.assign({},u,{environment:o,topic:s})).type;return u},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.channels,a=t.topic,o=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!a)return"Missing APNS2 topic";if(!i||0===i.length)return"Missing Channels";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.channels,i=void 0===r?[]:r,a=t.environment,o=void 0===a?"development":a,s=t.topic,u={type:n,remove:i.join(",")};"apns2"===n&&delete(u=Object.assign({},u,{environment:o,topic:s})).type;return u},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.topic,a=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!i)return"Missing APNS2 topic";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.environment,i=void 0===r?"development":r,a=t.topic,o={type:n};"apns2"===n&&delete(o=Object.assign({},o,{environment:i,topic:a})).type;return o},t.handleResponse=function(e,t){return{channels:t}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveAllPushNotificationsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.topic,a=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!i)return"Missing APNS2 topic";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n,"/remove");return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n,"/remove")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.environment,i=void 0===r?"development":r,a=t.topic,o={type:n};"apns2"===n&&delete(o=Object.assign({},o,{environment:i,topic:a})).type;return o},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUnsubscribeOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(a.default.encodeString(o),"/leave")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i={};r.length>0&&(i["channel-group"]=r.join(","));return i},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNWhereNowOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.uuid,i=void 0===r?n.UUID:r;return"/v2/presence/sub-key/".concat(n.subscribeKey,"/uuid/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){if(!t.payload)return{channels:[]};return{channels:t.payload.channels}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNHeartbeatOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(a.default.encodeString(o),"/heartbeat")},t.isAuthSupported=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i=t.state,a=void 0===i?{}:i,o=e.config,s={};r.length>0&&(s["channel-group"]=r.join(","));return s.state=JSON.stringify(a),s.heartbeat=o.getPresenceTimeout(),s},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetStateOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.uuid,i=void 0===r?n.UUID:r,o=t.channels,s=void 0===o?[]:o,u=s.length>0?s.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(a.default.encodeString(u),"/uuid/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i={};r.length>0&&(i["channel-group"]=r.join(","));return i},t.handleResponse=function(e,t,n){var r=n.channels,i=void 0===r?[]:r,a=n.channelGroups,o=void 0===a?[]:a,s={};1===i.length&&0===o.length?s[i[0]]=t.payload:s=t.payload;return{channels:s}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSetStateOperation},t.validateParams=function(e,t){var n=e.config,r=t.state,i=t.channels,a=void 0===i?[]:i,o=t.channelGroups,s=void 0===o?[]:o;if(!r)return"Missing State";if(!n.subscribeKey)return"Missing Subscribe Key";if(0===a.length&&0===s.length)return"Please provide a list of channels and/or channel-groups"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(a.default.encodeString(o),"/uuid/").concat(n.UUID,"/data")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.state,r=t.channelGroups,i=void 0===r?[]:r,a={};a.state=JSON.stringify(n),i.length>0&&(a["channel-group"]=i.join(","));return a},t.handleResponse=function(e,t){return{state:t.payload}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNHereNowOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,a=t.channelGroups,s=void 0===a?[]:a,u="/v2/presence/sub-key/".concat(n.subscribeKey);if(i.length>0||s.length>0){var c=i.length>0?i.join(","):",";u+="/channel/".concat(o.default.encodeString(c))}return u},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i=t.includeUUIDs,a=void 0===i||i,o=t.includeState,s=void 0!==o&&o,c=t.queryParameters,l=void 0===c?{}:c,f={};a||(f.disable_uuids=1);s&&(f.state=1);r.length>0&&(f["channel-group"]=r.join(","));return f=u(u({},f),l)},t.handleResponse=function(e,t,n){var r,i=n.channels,a=void 0===i?[]:i,o=n.channelGroups,s=void 0===o?[]:o,u=n.includeUUIDs,c=void 0===u||u,l=n.includeState,f=void 0!==l&&l;r=a.length>1||s.length>0||0===s.length&&0===a.length?function(){var e={};return e.totalChannels=t.payload.total_channels,e.totalOccupancy=t.payload.total_occupancy,e.channels={},Object.keys(t.payload.channels).forEach((function(n){var r=t.payload.channels[n],i=[];return e.channels[n]={occupants:i,name:n,occupancy:r.occupancy},c&&r.uuids.forEach((function(e){f?i.push({state:e.state,uuid:e.uuid}):i.push({state:null,uuid:e})})),e})),e}():function(){var e={},n=[];return e.totalChannels=1,e.totalOccupancy=t.occupancy,e.channels={},e.channels[a[0]]={occupants:n,name:a[0],occupancy:t.occupancy},c&&t.uuids&&t.uuids.forEach((function(e){f?n.push({state:e.state,uuid:e.uuid}):n.push({state:null,uuid:e})})),e}();return r};var i=r(n(4)),a=(n(2),r(n(1))),o=r(n(3));function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t15)return"Action.type value exceed maximum length of 15"},t.usePost=function(){return!0},t.postURL=function(e,t){var n=e.config,r=t.channel,i=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r,"/message/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.getRequestHeaders=function(){return{"Content-Type":"application/json"}},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.postPayload=function(e,t){return t.action},t.handleResponse=function(e,t){return{data:t.data}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveMessageActionOperation},t.validateParams=function(e,t){var n=e.config,r=t.channel,i=t.actionTimetoken;if(!t.messageTimetoken)return"Missing message timetoken";if(!i)return"Missing action timetoken";if(!n.subscribeKey)return"Missing Subscribe Key";if(!r)return"Missing message channel"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.actionTimetoken,a=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r,"/message/").concat(a,"/action/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{data:t.data}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMessageActionsOperation},t.validateParams=function(e,t){var n=e.config,r=t.channel;if(!n.subscribeKey)return"Missing Subscribe Key";if(!r)return"Missing message channel"},t.getURL=function(e,t){var n=e.config,r=t.channel;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.limit,r=t.start,i=t.end,a={};n&&(a.limit=n);r&&(a.start=r);i&&(a.end=i);return a},t.handleResponse=function(e,t){var n={data:t.data,start:null,end:null};n.data.length&&(n.end=n.data[n.data.length-1].actionTimetoken,n.start=n.data[0].actionTimetoken);return n};n(2);var i=r(n(1))},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),a={getOperation:function(){return i.default.PNListFilesOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channel))return"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status,data:t.data}}};t.default=a,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),a={getOperation:function(){return i.default.PNGenerateUploadUrlOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?void 0:"name can't be empty":"channel can't be empty"},usePost:function(){return!0},postURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/generate-upload-url")},postPayload:function(e,t){return{name:t.name}},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status,data:t.data,file_upload_request:t.file_upload_request}}};t.default=a,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),a=r(n(1)),o=r(n(3)),s={getOperation:function(){return a.default.PNPublishFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.fileId)?(null==t?void 0:t.fileName)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config,r=n.publishKey,i=n.subscribeKey,a=function(e,t){var n=e.crypto,r=e.config,i=JSON.stringify(t);return r.cipherKey&&(i=n.encrypt(i),i=JSON.stringify(i)),i||""}(e,{message:t.message,file:{name:t.fileName,id:t.fileId}});return"/v1/files/publish-file/".concat(r,"/").concat(i,"/0/").concat(t.channel,"/0/").concat(o.default.encodeString(a))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(e,t){var n={};return t.ttl&&(n.ttl=t.ttl),t.store&&(n.store=t.store?"1":"0"),t.meta&&"object"===(0,i.default)(t.meta)&&(n.meta=JSON.stringify(t.meta)),n},handleResponse:function(e,t){return{timetoken:t[2]}}};t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(21)),a=r(n(22)),o=n(16);t.default=function(e){var t,n,r,s,u,c,l,f,d,p=(r=(t=e).generateUploadUrl,s=t.publishFile,u=t.modules,c=u.PubNubFile,l=u.config,f=u.cryptography,d=u.networking,n=(0,a.default)(i.default.mark((function e(t){var n,a,u,p,h,v,g,y,b,m,_,k,P,O,T,S,M,N,w;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.channel,a=t.file,u=t.message,p=t.cipherKey,h=t.meta,v=t.ttl,g=t.store,n){e.next=3;break}throw new o.PubNubError("Validation failed, check status for details",(0,o.createValidationError)("channel can't be empty"));case 3:if(a){e.next=5;break}throw new o.PubNubError("Validation failed, check status for details",(0,o.createValidationError)("file can't be empty"));case 5:return y=c.create(a),e.next=8,r({channel:n,name:y.name});case 8:if(b=e.sent,m=b.file_upload_request,_=m.url,k=m.form_fields,P=b.data,O=P.id,T=P.name,!(null!=p?p:l.cipherKey)){e.next=19;break}return e.next=18,f.encryptFile(null!=p?p:l.cipherKey,y,c);case 18:y=e.sent;case 19:if(S=k,y.mimeType&&(S=k.map((function(e){var t;return"Content-Type"===e.key?{key:e.key,value:null!==(t=y.mimeType)&&void 0!==t?t:""}:e}))),e.prev=21,"undefined"==typeof Blob){e.next=34;break}return e.t0=d,e.t1=_,e.t2=S,e.next=28,y.toFile();case 28:return e.t3=e.sent,e.next=31,e.t0.FILE.call(e.t0,e.t1,e.t2,e.t3);case 31:M=e.sent,e.next=43;break;case 34:return e.t4=d,e.t5=_,e.t6=S,e.next=39,y.toBuffer();case 39:return e.t7=e.sent,e.next=42,e.t4.FILE.call(e.t4,e.t5,e.t6,e.t7);case 42:M=e.sent;case 43:e.next=48;break;case 45:throw e.prev=45,e.t8=e.catch(21),new o.PubNubError("Upload to bucket failed",e.t8);case 48:if(204===M.status){e.next=50;break}throw new o.PubNubError("Upload to bucket was unsuccessful",M);case 50:N=5,w=!1;case 52:if(w||!(N>0)){e.next=64;break}return e.prev=53,e.next=56,s({channel:n,message:u,fileId:O,fileName:T,meta:h,store:g,ttl:v});case 56:w=!0,e.next=62;break;case 59:e.prev=59,e.t9=e.catch(53),N-=1;case 62:e.next=52;break;case 64:if(w){e.next=68;break}throw new o.PubNubError("Publish failed. You may want to execute that operation manually using pubnub.publishFile",{channel:n,id:O,name:T});case 68:return e.abrupt("return",{id:O,name:T});case 69:case"end":return e.stop()}}),e,null,[[21,45],[53,59]])}))),function(e){return n.apply(this,arguments)});return function(e,t){var n=p(e);return"function"==typeof t?(n.then((function(e){return t(null,e)})).catch((function(e){return t(e,null)})),n):n}},e.exports=t.default},function(e,t,n){var r=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.asyncIterator||"@@asyncIterator",o=r.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var i=t&&t.prototype instanceof f?t:f,a=Object.create(i.prototype),o=new O(r||[]);return a._invoke=function(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return S()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=_(o,n);if(s){if(s===l)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=c(e,t,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(e,n,o),a}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l={};function f(){}function d(){}function p(){}var h={};h[i]=function(){return this};var v=Object.getPrototypeOf,g=v&&v(v(T([])));g&&g!==t&&n.call(g,i)&&(h=g);var y=p.prototype=f.prototype=Object.create(h);function b(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function m(e,t){var r;this._invoke=function(i,a){function o(){return new t((function(r,o){!function r(i,a,o,s){var u=c(e[i],e,a);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,o,s)}),(function(e){r("throw",e,o,s)})):t.resolve(f).then((function(e){l.value=e,o(l)}),(function(e){return r("throw",e,o,s)}))}s(u.arg)}(i,a,r,o)}))}return r=r?r.then(o,o):o()}}function _(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=c(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,l;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function P(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function T(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),P(n),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;P(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:T(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(16);t.default=function(e,t){var n=e.config,i=t.channel,a=t.id,o=t.name;if(!i)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("channel can't be empty"));if(!a)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("file id can't be empty"));if(!o)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("file name can't be empty"));return"".concat(n.origin,"/v1/files/").concat(n.subscribeKey,"/channels/").concat(i,"/files/").concat(a,"/").concat(o)},e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i,a=r(n(21)),o=r(n(22)),s=r(n(1)),u={getOperation:function(){return s.default.PNDownloadFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?(null==t?void 0:t.id)?void 0:"id can't be empty":"name can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},ignoreBody:function(){return!0},forceBuffered:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:(i=(0,o.default)(a.default.mark((function e(t,n,r){var i,o,s,u,c,l;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.PubNubFile,s=t.config,u=t.cryptography,c=n.response.body,!s.cipherKey){e.next=6;break}return e.next=5,u.decrypt(null!==(l=r.cipherKey)&&void 0!==l?l:s.cipherKey,c);case 5:c=e.sent;case 6:return e.abrupt("return",o.create({data:c,name:null!==(i=n.response.name)&&void 0!==i?i:r.name,mimeType:n.response.type}));case 7:case"end":return e.stop()}}),e)}))),function(e,t,n){return i.apply(this,arguments)})};t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),a={getOperation:function(){return i.default.PNListFilesOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.id)?(null==t?void 0:t.name)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},useDelete:function(){return!0},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status}}};t.default=a,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(9)),a=r(n(1)),o={getOperation:function(){return a.default.PNGetAllUUIDMetadataOperation},validateParams:function(){},getURL:function(e){var t=e.config;return"/v2/objects/".concat(t.subscribeKey,"/uuids")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("user")},prepareParams:function(e,t){var n,r,a,o,s,u,c,l,f={};((null==t||null===(n=t.include)||void 0===n?void 0:n.customFields)&&(f.include="custom"),null==t||null===(r=t.include)||void 0===r?void 0:r.totalCount)&&(f.count=null===(s=t.include)||void 0===s?void 0:s.totalCount);(null==t||null===(a=t.page)||void 0===a?void 0:a.next)&&(f.start=null===(u=t.page)||void 0===u?void 0:u.next);(null==t||null===(o=t.page)||void 0===o?void 0:o.prev)&&(f.end=null===(c=t.page)||void 0===c?void 0:c.prev);((null==t?void 0:t.filter)&&(f.filter=t.filter),f.limit=null==t?void 0:t.limit,null==t?void 0:t.sort)&&(f.sort=Object.entries(null!==(l=t.sort)&&void 0!==l?l:{}).map((function(e){var t=(0,i.default)(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n})));return f},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,next:t.next,prev:t.prev}}};t.default=o,e.exports=t.default},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}}},function(e,t,n){var r=n(73);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(r.include=a)}return r},t.postPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateUserOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,a=t.custom;if(!r)return"Missing User.id";if(!i)return"Missing User.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(a&&!Object.values(a).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePatch=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(r)},t.patchURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.id)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.patchPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteUserOperation},t.validateParams=function(e,t){var n=e.config;if(!t)return"Missing UserId";if(!n.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t)||e.tokenManager.getToken("user")},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetUserOperation},t.validateParams=function(e,t){if(!t.userId)return"Missing userId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetUsersOperation},t.validateParams=function(){},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/users")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e){return e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a=t.filter,o={};r&&(o.limit=r);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom");var u=s.join(",");u.length>0&&(o.include=u)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));a&&(o.filter=a);return o},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNCreateSpaceOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,a=t.custom;if(!r)return"Missing Space.id";if(!i)return"Missing Space.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(a&&!Object.values(a).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePost=function(){return!0},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.postURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.id)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.postPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateSpaceOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,a=t.custom;if(!r)return"Missing Space.id";if(!i)return"Missing Space.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(a&&!Object.values(a).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePatch=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(r)},t.patchURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.id)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.patchPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteSpaceOperation},t.validateParams=function(e,t){var n=e.config;if(!t)return"Missing SpaceId";if(!n.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t)||e.tokenManager.getToken("space")},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetSpacesOperation},t.validateParams=function(){},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e){return e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a=t.filter,o={};r&&(o.limit=r);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom");var u=s.join(",");u.length>0&&(o.include=u)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));a&&(o.filter=a);return o},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetSpaceOperation},t.validateParams=function(e,t){if(!t.spaceId)return"Missing spaceId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMembersOperation},t.validateParams=function(e,t){if(!t.spaceId)return"Missing spaceId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a=t.filter,o={};r&&(o.limit=r);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.userFields&&s.push("user"),n.customUserFields&&s.push("user.custom");var u=s.join(",");u.length>0&&(o.include=u)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));a&&(o.filter=a);return o},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.users,r={};n&&n.length>0&&(r.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),r.add.push(t)})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.addMembers,r=t.updateMembers,i=t.removeMembers,a=t.users,o={};n&&n.length>0&&(o.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.add.push(t)})));r&&r.length>0&&(o.update=[],r.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.update.push(t)})));a&&a.length>0&&(o.update=o.update||[],a.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.update.push(t)})));i&&i.length>0&&(o.remove=[],i.forEach((function(e){o.remove.push({id:e})})));return o}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.users,r={};n&&n.length>0&&(r.remove=[],n.forEach((function(e){r.remove.push({id:e})})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMembershipsOperation},t.validateParams=function(e,t){if(!t.userId)return"Missing userId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a=t.filter,o={};r&&(o.limit=r);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var u=s.join(",");u.length>0&&(o.include=u)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));a&&(o.filter=a);return o},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.addMemberships,r=t.updateMemberships,i=t.removeMemberships,a=t.spaces,o={};n&&n.length>0&&(o.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.add.push(t)})));r&&r.length>0&&(o.update=[],r.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.update.push(t)})));a&&a.length>0&&(o.update=o.update||[],a.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.update.push(t)})));i&&i.length>0&&(o.remove=[],i.forEach((function(e){o.remove.push({id:e})})));return o}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.spaces,r={};n&&n.length>0&&(r.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),r.add.push(t)})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.spaces,r={};n&&n.length>0&&(r.remove=[],n.forEach((function(e){r.remove.push({id:e})})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerAudit},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e){var t=e.config;return"/v2/auth/audit/sub-key/".concat(t.subscribeKey)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(e,t){var n=t.channel,r=t.channelGroup,i=t.authKeys,a=void 0===i?[]:i,o={};n&&(o.channel=n);r&&(o["channel-group"]=r);a.length>0&&(o.auth=a.join(","));return o},t.handleResponse=function(e,t){return t.payload};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerGrant},t.validateParams=function(e){var t=e.config;if(!t.subscribeKey)return"Missing Subscribe Key";if(!t.publishKey)return"Missing Publish Key";if(!t.secretKey)return"Missing Secret Key"},t.getURL=function(e){var t=e.config;return"/v2/auth/grant/sub-key/".concat(t.subscribeKey)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(e,t){var n=t.channels,r=void 0===n?[]:n,i=t.channelGroups,a=void 0===i?[]:i,o=t.ttl,s=t.read,u=void 0!==s&&s,c=t.write,l=void 0!==c&&c,f=t.manage,d=void 0!==f&&f,p=t.authKeys,h=void 0===p?[]:p,v=t.delete,g={};g.r=u?"1":"0",g.w=l?"1":"0",g.m=d?"1":"0",g.d=v?"1":"0",r.length>0&&(g.channel=r.join(","));a.length>0&&(g["channel-group"]=a.join(","));h.length>0&&(g.auth=h.join(","));(o||0===o)&&(g.ttl=o);return g},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerGrantToken},t.extractPermissions=a,t.validateParams=function(e,t){var n=e.config;if(!n.subscribeKey)return"Missing Subscribe Key";if(!n.publishKey)return"Missing Publish Key";if(!n.secretKey)return"Missing Secret Key";if(!t.resources&&!t.patterns)return"Missing either Resources or Patterns.";if(t.resources&&(!t.resources.users||0===Object.keys(t.resources.users).length)&&(!t.resources.spaces||0===Object.keys(t.resources.spaces).length)||t.patterns&&(!t.patterns.users||0===Object.keys(t.patterns.users).length)&&(!t.patterns.spaces||0===Object.keys(t.patterns.spaces).length))return"Missing values for either Resources or Patterns."},t.postURL=function(e){var t=e.config;return"/v3/pam/".concat(t.subscribeKey,"/grant")},t.usePost=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(){return{}},t.postPayload=function(e,t){return function(e,t){var n=t.ttl,r=t.resources,i=t.patterns,o=t.meta,s={ttl:0,permissions:{resources:{channels:{},groups:{},users:{},spaces:{}},patterns:{channels:{},groups:{},users:{},spaces:{}},meta:{}}};if(r){var u=r.users,c=r.spaces;u&&Object.keys(u).forEach((function(e){s.permissions.resources.users[e]=a(u[e])})),c&&Object.keys(c).forEach((function(e){s.permissions.resources.spaces[e]=a(c[e])}))}if(i){var l=i.users,f=i.spaces;l&&Object.keys(l).forEach((function(e){s.permissions.patterns.users[e]=a(l[e])})),f&&Object.keys(f).forEach((function(e){s.permissions.patterns.spaces[e]=a(f[e])}))}(n||0===n)&&(s.ttl=n);o&&(s.permissions.meta=o);return s}(0,t)},t.handleResponse=function(e,t){return t.data.token};n(2);var i=r(n(1));function a(e){var t=0;return e.create&&(t|=16),e.delete&&(t|=8),e.manage&&(t|=4),e.write&&(t|=2),e.read&&(t|=1),t}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNPublishOperation},t.validateParams=function(e,t){var n=e.config,r=t.message;if(!t.channel)return"Missing Channel";if(!r)return"Missing Message";if(!n.subscribeKey)return"Missing Subscribe Key"},t.usePost=function(e,t){var n=t.sendByPost;return void 0!==n&&n},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.message,a=s(e,i);return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(o.default.encodeString(r),"/0/").concat(o.default.encodeString(a))},t.postURL=function(e,t){var n=e.config,r=t.channel;return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(o.default.encodeString(r),"/0")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.postPayload=function(e,t){var n=t.message;return s(e,n)},t.prepareParams=function(e,t){var n=t.meta,r=t.replicate,a=void 0===r||r,o=t.storeInHistory,s=t.ttl,u={};null!=o&&(u.store=o?"1":"0");s&&(u.ttl=s);!1===a&&(u.norep="true");n&&"object"===(0,i.default)(n)&&(u.meta=JSON.stringify(n));return u},t.handleResponse=function(e,t){return{timetoken:t[2]}};var i=r(n(7)),a=(n(2),r(n(1))),o=r(n(3));function s(e,t){var n=e.crypto,r=e.config,i=JSON.stringify(t);return r.cipherKey&&(i=n.encrypt(i),i=JSON.stringify(i)),i}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSignalOperation},t.validateParams=function(e,t){var n=e.config,r=t.message;if(!t.channel)return"Missing Channel";if(!r)return"Missing Message";if(!n.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.message,o=(s=i,JSON.stringify(s));var s;return"/signal/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(a.default.encodeString(r),"/0/").concat(a.default.encodeString(o))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{timetoken:t[2]}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNHistoryOperation},t.validateParams=function(e,t){var n=t.channel,r=e.config;if(!n)return"Missing channel";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channel,r=e.config;return"/v2/history/sub-key/".concat(r.subscribeKey,"/channel/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i=t.reverse,a=t.count,o=void 0===a?100:a,s=t.stringifiedTimeToken,u=void 0!==s&&s,c=t.includeMeta,l=void 0!==c&&c,f=t.includeUuid,d=void 0===f||f,p=t.includeMessageType,h=void 0===p||p,v={include_token:"true"};v.count=o,n&&(v.start=n);r&&(v.end=r);u&&(v.string_message_token="true");null!=i&&(v.reverse=i.toString());l&&(v.include_meta="true");d&&(v.include_uuid="true");h&&(v.include_message_type="true");return v},t.handleResponse=function(e,t){var n={messages:[],startTimeToken:t[1],endTimeToken:t[2]};Array.isArray(t[0])&&t[0].forEach((function(t){var r={timetoken:t.timetoken,entry:o(e,t.message)};t.meta&&(r.meta=t.meta),n.messages.push(r)}));return n};n(2);var i=r(n(1)),a=r(n(3));function o(e,t){var n=e.config,r=e.crypto;if(!n.cipherKey)return t;try{return r.decrypt(t)}catch(e){return t}}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteMessagesOperation},t.validateParams=function(e,t){var n=t.channel,r=e.config;if(!n)return"Missing channel";if(!r.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=t.channel,r=e.config;return"/v3/history/sub-key/".concat(r.subscribeKey,"/channel/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i={};n&&(i.start=n);r&&(i.end=r);return i},t.handleResponse=function(e,t){return t.payload};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNMessageCounts},t.validateParams=function(e,t){var n=t.channels,r=t.timetoken,i=t.channelTimetokens,a=e.config;if(!n)return"Missing channel";if(r&&i)return"timetoken and channelTimetokens are incompatible together";if(r&&i&&i.length>1&&n.length!==i.length)return"Length of channelTimetokens and channels do not match";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channels,r=e.config,i=n.join(",");return"/v3/history/sub-key/".concat(r.subscribeKey,"/message-counts/").concat(o.default.encodeString(i))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.timetoken,r=t.channelTimetokens,a={};if(r&&1===r.length){var o=(0,i.default)(r,1)[0];a.timetoken=o}else r?a.channelsTimetoken=r.join(","):n&&(a.timetoken=n);return a},t.handleResponse=function(e,t){return{channels:t.channels}};var i=r(n(9)),a=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNFetchMessagesOperation},t.validateParams=function(e,t){var n=t.channels,r=t.includeMessageActions,i=void 0!==r&&r,a=e.config;if(!n||0===n.length)return"Missing channels";if(!a.subscribeKey)return"Missing Subscribe Key";if(i&&n.length>1)throw new TypeError("History can return actions data for a single channel only. Either pass a single channel or disable the includeMessageActions flag.")},t.getURL=function(e,t){var n=t.channels,r=void 0===n?[]:n,i=t.includeMessageActions,o=void 0!==i&&i,s=e.config,u=o?"history-with-actions":"history",c=r.length>0?r.join(","):",";return"/v3/".concat(u,"/sub-key/").concat(s.subscribeKey,"/channel/").concat(a.default.encodeString(c))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i=t.count,a=t.stringifiedTimeToken,o=void 0!==a&&a,s=t.includeMeta,u=void 0!==s&&s,c=t.includeUuid,l=void 0===c||c,f=t.includeMessageType,d=void 0===f||f,p={};i&&(p.max=i);n&&(p.start=n);r&&(p.end=r);o&&(p.string_message_token="true");u&&(p.include_meta="true");l&&(p.include_uuid="true");d&&(p.include_message_type="true");return p},t.handleResponse=function(e,t){var n={channels:{}};return Object.keys(t.channels||{}).forEach((function(r){n.channels[r]=[],(t.channels[r]||[]).forEach((function(t){var i={};i.channel=r,i.timetoken=t.timetoken,i.message=function(e,t){var n=e.config,r=e.crypto;if(!n.cipherKey)return t;try{return r.decrypt(t)}catch(e){return t}}(e,t.message),i.messageType=t.message_type,i.uuid=t.uuid,t.actions&&(i.actions=t.actions,i.data=t.actions),t.meta&&(i.meta=t.meta),n.channels[r].push(i)}))})),n};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSubscribeOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/subscribe/".concat(n.subscribeKey,"/").concat(a.default.encodeString(o),"/0")},t.getRequestTimeout=function(e){return e.config.getSubscribeTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=e.config,r=t.state,i=t.channelGroups,a=void 0===i?[]:i,o=t.timetoken,s=t.filterExpression,u=t.region,c={heartbeat:n.getPresenceTimeout()};a.length>0&&(c["channel-group"]=a.join(","));s&&s.length>0&&(c["filter-expr"]=s);Object.keys(r).length&&(c.state=JSON.stringify(r));o&&(c.tt=o);u&&(c.tr=u);return c},t.handleResponse=function(e,t){var n=[];t.m.forEach((function(e){var t={publishTimetoken:e.p.t,region:e.p.r},r={shard:parseInt(e.a,10),subscriptionMatch:e.b,channel:e.c,messageType:e.e,payload:e.d,flags:e.f,issuingClientId:e.i,subscribeKey:e.k,originationTimetoken:e.o,userMetadata:e.u,publishMetaData:t};n.push(r)}));var r={timetoken:t.t.t,region:t.t.r};return{messages:n,metadata:r}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=(r(n(8)),r(n(11))),u=(n(2),function(){function e(t){var n=this;(0,i.default)(this,e),(0,o.default)(this,"_modules",void 0),(0,o.default)(this,"_config",void 0),(0,o.default)(this,"_maxSubDomain",void 0),(0,o.default)(this,"_currentSubDomain",void 0),(0,o.default)(this,"_standardOrigin",void 0),(0,o.default)(this,"_subscribeOrigin",void 0),(0,o.default)(this,"_providedFQDN",void 0),(0,o.default)(this,"_requestTimeout",void 0),(0,o.default)(this,"_coreParams",void 0),this._modules={},Object.keys(t).forEach((function(e){n._modules[e]=t[e].bind(n)}))}return(0,a.default)(e,[{key:"init",value:function(e){this._config=e,this._maxSubDomain=20,this._currentSubDomain=Math.floor(Math.random()*this._maxSubDomain),this._providedFQDN=(this._config.secure?"https://":"http://")+this._config.origin,this._coreParams={},this.shiftStandardOrigin()}},{key:"nextOrigin",value:function(){return this._providedFQDN.match(/ps\.pndsn\.com$/i)?(this._currentSubDomain+=1,this._currentSubDomain>=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("ps.pndsn.com","ps".concat(e,".pndsn.com"))):this._providedFQDN;var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"FILE",value:function(e,t,n){return this._modules.file(e,t,n)}},{key:"POST",value:function(e,t,n,r){return this._modules.post(e,t,n,r)}},{key:"PATCH",value:function(e,t,n,r){return this._modules.patch(e,t,n,r)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return s.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return s.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return s.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return s.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return s.default.PNNetworkIssuesCategory;if(e.timeout)return s.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return s.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return s.default.PNBadRequestCategory;if(e.response.forbidden)return s.default.PNAccessDeniedCategory}return s.default.PNUnknownCategory}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=function(){function e(){(0,i.default)(this,e),(0,o.default)(this,"storage",void 0),this.storage={}}return(0,a.default)(e,[{key:"get",value:function(e){return this.storage[e]}},{key:"set",value:function(e,t){this.storage[e]=t}}]),e}();t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),a=r(n(5)),o=r(n(6)),s=r(n(4)),u=function(){function e(t,n){(0,a.default)(this,e),(0,s.default)(this,"_base64ToBinary",void 0),(0,s.default)(this,"_cborReader",void 0),this._base64ToBinary=n,this._decode=t}return(0,o.default)(e,[{key:"decodeToken",value:function(e){var t="";e.length%4==3?t="=":e.length%4==2&&(t="==");var n=e.replace(/-/gi,"+").replace(/_/gi,"/")+t,r=this._decode(this._base64ToBinary(n));if("object"===(0,i.default)(r))return r}}]),e}();t.default=u,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.get=function(e,t,n){var r=i(),a=this.getStandardOrigin()+t.url;return o.call(this,r,"GET",a,e,{},t,n)},t.post=function(e,t,n,r){var a=i(),s=this.getStandardOrigin()+n.url;return o.call(this,a,"POST",s,e,JSON.parse(t),n,r)},t.patch=function(e,t,n,r){var a=i(),s=this.getStandardOrigin()+n.url;return o.call(this,a,"PATCH",s,e,JSON.parse(t),n,r)},t.del=function(e,t,n){var r=i(),a=this.getStandardOrigin()+t.url;return o.call(this,r,"DELETE",a,e,{},t,n)};n(2);var r=n(118);function i(){return"mobileweb"===Ti.Platform.osname?new XMLHttpRequest:Ti.Network.createHTTPClient()}function a(e){"mobileweb"!==Ti.Platform.osname&&this._config.keepAlive&&(e.enableKeepAlive=!0)}function o(e,t,n,i,o,s,u){var c=this,l={};l.operation=s.operation,e.open(t,(0,r.buildUrl)(n,i),!0),a.call(this,e),e.onload=function(){l.error=!1,e.status&&(l.statusCode=e.status);var t=JSON.parse(e.responseText);return c._config.logVerbosity&&function(e,t,n){var r=(new Date).getTime(),i=(new Date).toISOString(),a=Ti&&Ti.API&&Ti.API.log?Ti.API:console;a.log("<<<<<"),a.log("[".concat(i,"]"),"\n",e,"\n",t),a.log("-----");var o=(new Date).getTime()-r,s=(new Date).toISOString();a.log(">>>>>>"),a.log("[".concat(s," / ").concat(o,"]"),"\n",e,"\n",t,"\n",n),a.log("-----")}(n,i,e.responseText),u(l,t)},e.onerror=function(e){return l.error=!0,l.errorData=e.error,l.category=c._detectErrorCategory(e.error),u(l,null)},e.timeout="android"===Ti.Platform.osname?2147483647:1/0,e.send(o)}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.encodedKeyValuePair=a,t.buildUrl=function(e,t){var n=[];return Object.keys(t).forEach((function(e){a(n,e,t[e])})),"".concat(e,"?").concat(n.join("&"))};var i=r(n(7));function a(e,t,n){null!=n?Array.isArray(n)?n.forEach((function(n){a(e,t,n)})):"object"===(0,i.default)(n)?Object.keys(n).forEach((function(r){a(e,"".concat(t,"[").concat(r,"]"),n[r])})):e.push("".concat(encodeURIComponent(t),"=").concat(encodeURIComponent(n))):null===n&&e.push(encodeURIComponent("".concat(encodeURIComponent(t))))}}]),module.exports=exports.PubNub; \ No newline at end of file +/*! 4.29.3 / Consumer */ +exports.PubNub=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=23)}([function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNMessageCounts:"PNMessageCountsOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNSignalOperation:"PNSignalOperation",PNAddMessageActionOperation:"PNAddActionOperation",PNRemoveMessageActionOperation:"PNRemoveMessageActionOperation",PNGetMessageActionsOperation:"PNGetMessageActionsOperation",PNCreateUserOperation:"PNCreateUserOperation",PNUpdateUserOperation:"PNUpdateUserOperation",PNDeleteUserOperation:"PNDeleteUserOperation",PNGetUserOperation:"PNGetUsersOperation",PNGetUsersOperation:"PNGetUsersOperation",PNCreateSpaceOperation:"PNCreateSpaceOperation",PNUpdateSpaceOperation:"PNUpdateSpaceOperation",PNDeleteSpaceOperation:"PNDeleteSpaceOperation",PNGetSpaceOperation:"PNGetSpacesOperation",PNGetSpacesOperation:"PNGetSpacesOperation",PNGetMembersOperation:"PNGetMembersOperation",PNUpdateMembersOperation:"PNUpdateMembersOperation",PNGetMembershipsOperation:"PNGetMembershipsOperation",PNUpdateMembershipsOperation:"PNUpdateMembershipsOperation",PNListFilesOperation:"PNListFilesOperation",PNGenerateUploadUrlOperation:"PNGenerateUploadUrlOperation",PNPublishFileOperation:"PNPublishFileOperation",PNGetFileUrlOperation:"PNGetFileUrlOperation",PNDownloadFileOperation:"PNDownloadFileOperation",PNGetAllUUIDMetadataOperation:"PNGetAllUUIDMetadataOperation",PNGetUUIDMetadataOperation:"PNGetUUIDMetadataOperation",PNSetUUIDMetadataOperation:"PNSetUUIDMetadataOperation",PNRemoveUUIDMetadataOperation:"PNRemoveUUIDMetadataOperation",PNGetAllChannelMetadataOperation:"PNGetAllChannelMetadataOperation",PNGetChannelMetadataOperation:"PNGetChannelMetadataOperation",PNSetChannelMetadataOperation:"PNSetChannelMetadataOperation",PNRemoveChannelMetadataOperation:"PNRemoveChannelMetadataOperation",PNSetMembersOperation:"PNSetMembersOperation",PNSetMembershipsOperation:"PNSetMembershipsOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerGrantToken:"PNAccessManagerGrantToken",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/[!~*'()]/g,(function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())}))}function i(e){return function(e){var t=[];return Object.keys(e).forEach((function(e){return t.push(e)})),t}(e).sort()}var a="The Objects v1 API has been deprecated.\nYou can learn more about Objects v2 API at https://www.pubnub.com/docs/web-javascript/api-reference-objects.\nIf you have questions about the Objects v2 API or require additional help with migrating to the new data model, please contact PubNub Support at support@pubnub.com.";e.exports={signPamFromParams:function(e){return i(e).map((function(t){return"".concat(t,"=").concat(r(e[t]))})).join("&")},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var e,t;return{promise:new Promise((function(n,r){e=n,t=r})),reject:t,fulfill:e}},encodeString:r,deprecated:function(e){return function(){var t,n;"undefined"!=typeof process&&("test"!==(null===(t=process)||void 0===t||null===(n=t.env)||void 0===n?void 0:"production")&&console.warn(a));return e.apply(void 0,arguments)}}}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n=20?this._presenceTimeout=e:(this._presenceTimeout=20,console.log("WARNING: Presence timeout is less than the minimum. Using minimum value: ",this._presenceTimeout)),this.setHeartbeatInterval(this._presenceTimeout/2-1),this}},{key:"setProxy",value:function(e){this.proxy=e}},{key:"getHeartbeatInterval",value:function(){return this._heartbeatInterval}},{key:"setHeartbeatInterval",value:function(e){return this._heartbeatInterval=e,this}},{key:"getSubscribeTimeout",value:function(){return this._subscribeRequestTimeout}},{key:"setSubscribeTimeout",value:function(e){return this._subscribeRequestTimeout=e,this}},{key:"getTransactionTimeout",value:function(){return this._transactionalRequestTimeout}},{key:"setTransactionTimeout",value:function(e){return this._transactionalRequestTimeout=e,this}},{key:"isSendBeaconEnabled",value:function(){return this._useSendBeacon}},{key:"setSendBeaconConfig",value:function(e){return this._useSendBeacon=e,this}},{key:"getVersion",value:function(){return"4.29.3"}},{key:"_addPnsdkSuffix",value:function(e,t){this._PNSDKSuffix[e]=t}},{key:"_getPnsdkSuffix",value:function(e){var t=this;return Object.keys(this._PNSDKSuffix).reduce((function(n,r){return n+e+t._PNSDKSuffix[r]}),"")}},{key:"_decideUUID",value:function(e){return e||(this._db&&this._db.get&&this._db.get("".concat(this.subscribeKey,"uuid"))?this._db.get("".concat(this.subscribeKey,"uuid")):"pn-".concat(s.default.createUUID()))}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){var r=n(70),i=n(71),a=n(72),o=n(74);e.exports=function(e,t){return r(e)||i(e,t)||a(e,t)||o()}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNNetworkUpCategory:"PNNetworkUpCategory",PNNetworkDownCategory:"PNNetworkDownCategory",PNNetworkIssuesCategory:"PNNetworkIssuesCategory",PNTimeoutCategory:"PNTimeoutCategory",PNBadRequestCategory:"PNBadRequestCategory",PNAccessDeniedCategory:"PNAccessDeniedCategory",PNUnknownCategory:"PNUnknownCategory",PNReconnectedCategory:"PNReconnectedCategory",PNConnectedCategory:"PNConnectedCategory",PNRequestMessageCountExceededCategory:"PNRequestMessageCountExceededCategory"},e.exports=t.default},function(e,t,n){var r=n(13);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t,n){var r=n(7),i=n(17);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?i(e):t}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(27)),a={createUUID:function(){return i.default.uuid?i.default.uuid():(0,i.default)()}};t.default=a,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.createValidationError=y,t.default=function(e,t){var n=e.networking,r=e.config,i=e.telemetryManager,a=l.default.createUUID(),o=null,s=null,u={};t.getOperation()===d.default.PNTimeOperation||t.getOperation()===d.default.PNChannelGroupsOperation?o=arguments.length<=2?void 0:arguments[2]:(u=arguments.length<=2?void 0:arguments[2],o=arguments.length<=3?void 0:arguments[3]);"undefined"==typeof Promise||o||(s=f.default.createPromise());var c=t.validateParams(e,u);if(c)return o?o(y(c)):s?(s.reject(new g("Validation failed, check status for details",y(c))),s.promise):void 0;var p,v=t.prepareParams(e,u),O=b(t,e,u),T={url:O,operation:t.getOperation(),timeout:t.getRequestTimeout(e),headers:t.getRequestHeaders?t.getRequestHeaders():{},ignoreBody:"function"==typeof t.ignoreBody&&t.ignoreBody(e),forceBuffered:"function"==typeof t.forceBuffered?t.forceBuffered(e,u):null};v.uuid=r.UUID,v.pnsdk=_(r);var S=i.operationsLatencyForRequest();Object.keys(S).length&&(v=h(h({},v),S));r.useInstanceId&&(v.instanceid=r.instanceId);r.useRequestId&&(v.requestid=a);if(t.isAuthSupported()){var M=m(t,e,u),w=M||r.getAuthKey();w&&(v.auth=w)}r.secretKey&&P(e,O,v,u,t);var N=function(n,r){if(n.error)o?o(n):s&&s.reject(new g("PubNub call failed, check status for details",n));else{i.stopLatencyMeasure(t.getOperation(),a);var c=t.handleResponse(e,r,u);"function"!=typeof c.then&&(c=Promise.resolve(c)),c.then((function(e){o?o(n,e):s&&s.fulfill(e)})).catch((function(e){o?o(e,null):s&&s.reject(new g("PubNub call failed, check status for details",e))}))}};if(i.startLatencyMeasure(t.getOperation(),a),"POST"===k(e,t,u)){var j=t.postPayload(e,u);p=n.POST(v,j,T,N)}else if("PATCH"===k(e,t,u)){var x=t.patchPayload(e,u);p=n.PATCH(v,x,T,N)}else p="DELETE"===k(e,t,u)?n.DELETE(v,T,N):n.GET(v,T,N);if(t.getOperation()===d.default.PNSubscribeOperation)return p;if(s)return s.promise},t.PubNubError=void 0;var i=r(n(4)),a=r(n(5)),o=r(n(12)),s=r(n(14)),u=r(n(10)),c=r(n(37)),l=r(n(15)),f=(n(2),r(n(3))),d=(r(n(8)),r(n(1)));function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t0&&(t+=n),t}function k(e,t,n){return t.usePost&&t.usePost(e,n)?"POST":t.usePatch&&t.usePatch(e,n)?"PATCH":t.useDelete&&t.useDelete(e,n)?"DELETE":"GET"}function P(e,t,n,r,i){var a=e.config,o=e.crypto,s=k(e,i,r);n.timestamp=Math.floor((new Date).getTime()/1e3),"PNPublishOperation"===i.getOperation()&&i.usePost&&i.usePost(e,r)&&(s="GET");var u="".concat(s,"\n").concat(a.publishKey,"\n").concat(t,"\n").concat(f.default.signPamFromParams(n),"\n");if("POST"===s){var c=i.postPayload(e,r);u+="string"==typeof c?c:JSON.stringify(c)}else if("PATCH"===s){var l=i.patchPayload(e,r);u+="string"==typeof l?l:JSON.stringify(l)}var d="v2.".concat(o.HMACSHA256(u));d=(d=(d=d.replace(/\+/g,"-")).replace(/\//g,"_")).replace(/=+$/,""),n.signature=d}t.PubNubError=g},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=(r(n(8)),r(n(28)));function u(e){var t,n=[];for(t=0;t>10,n=1023&e,r=32768&e;if(31===t)return 0===n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-25)*(1024+n):Math.pow(2,-24)*n;return r?-i:i},readFloat32:function(){var e=this.readUint32(),t=(2147483647&e)>>23,n=8388607&e,r=2147483648&e;if(255===t)return 0===n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-23-127)*(8388608+n):Math.pow(2,-149)*n;return r?-i:i},readFloat64:function(){var e=this.readUint32(),t=e>>20&2047,n=4294967296*(1048575&e)+this.readUint32(),r=2147483648&e;if(2047===t)return 0===n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-52-1023)*(4503599627370496+n):Math.pow(2,-1074)*n;return r?-i:i},readUint16:function(){return 256*this.readByte()+this.readByte()},readUint32:function(){return 65536*this.readUint16()+this.readUint16()},readUint64:function(){return 4294967296*this.readUint32()+this.readUint32()}},a.prototype={writeByte:r("writeByte"),result:r("result"),writeFloat16:r("writeFloat16"),writeFloat32:r("writeFloat32"),writeFloat64:r("writeFloat64"),writeUint16:function(e){this.writeByte(e>>8&255),this.writeByte(255&e)},writeUint32:function(e){this.writeUint16(e>>16&65535),this.writeUint16(65535&e)},writeUint64:function(e){if(e>=9007199254740992||e<=-9007199254740992)throw new Error("Cannot encode Uint64 of: "+e+" magnitude to big (floating point errors)");this.writeUint32(Math.floor(e/4294967296)),this.writeUint32(e%4294967296)},writeString:r("writeString"),canWriteBinary:function(e){return!1},writeBinary:r("writeChunk")};var u=new Error;function c(e){var t=function(e){var t=e.readByte();return{type:t>>5,value:31&t}}(e);switch(t.type){case 0:return o(t,e);case 1:return-1-o(t,e);case 2:return e.readChunk(o(t,e));case 3:return e.readChunk(o(t,e)).toString("utf-8");case 4:case 5:var r=o(t,e),i=[];if(null!==r){5===t.type&&(r*=2);for(var a=0;a-9007199254740992?e<0?s(1,-1-e,n):s(0,e,n):(function(e,t,n){n.writeByte(e<<5|t)}(7,27,n),n.writeFloat64(e));else if("string"==typeof e)n.writeString(e,(function(e){s(3,e,n)}));else if(n.canWriteBinary(e))n.writeBinary(e,(function(e){s(2,e,n)}));else{if("object"!=typeof e)throw new Error("CBOR encoding not supported: "+e);if(p.config.useToJSON&&"function"==typeof e.toJSON&&(e=e.toJSON()),Array.isArray(e))for(s(4,e.length,n),r=0;r=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0),this.byteLength++},v.prototype.writeFloat32=function(e){var t=Buffer.alloc(4);t.writeFloatBE(e,0),this.writeBuffer(t)},v.prototype.writeFloat64=function(e){var t=Buffer.alloc(8);t.writeDoubleBE(e,0),this.writeBuffer(t)},v.prototype.writeString=function(e,t){var n=Buffer.from(e,"utf-8");t(n.length),this.writeBuffer(n)},v.prototype.canWriteBinary=function(e){return e instanceof Buffer},v.prototype.writeBinary=function(e,t){t(e.length),this.writeBuffer(e)},v.prototype.writeBuffer=function(e){if(!(e instanceof Buffer))throw new TypeError("BufferWriter only accepts Buffers");this.latestBufferOffset?this.latestBuffer.length-this.latestBufferOffset>=e.length?(e.copy(this.latestBuffer,this.latestBufferOffset),this.latestBufferOffset+=e.length,this.latestBufferOffset>=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0)):(this.completeBuffers.push(this.latestBuffer.slice(0,this.latestBufferOffset)),this.completeBuffers.push(e),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0):this.completeBuffers.push(e),this.byteLength+=e.length},v.prototype.result=function(){for(var e=Buffer.alloc(this.byteLength),t=0,n=0;n255)throw new Error("Byte value out of range: "+e);var t=e.toString(16);1==t.length&&(t="0"+t),this.$hex+=t},y.prototype.canWriteBinary=function(t){return t instanceof e||"function"==typeof Buffer&&t instanceof Buffer},y.prototype.writeBinary=function(t,n){if(t instanceof e)n(t.length()),this.$hex+=t.$hex;else{if(!("function"==typeof Buffer&&t instanceof Buffer))throw new TypeError("HexWriter only accepts BinaryHex or Buffers");n(t.length),this.$hex+=t.toString("hex")}},y.prototype.result=function(){return"buffer"===this.finalFormat&&"function"==typeof Buffer?Buffer.from(this.$hex,"hex"):new e(this.$hex).toString(this.finalFormat)},y.prototype.writeString=function(t,n){var r=e.fromUtf8String(t);n(r.length()),this.$hex+=r.$hex},p.addReader((function(t,n){return t instanceof e||t.$hex?new g(t.$hex):"hex"===n?new g(t):void 0})),p.addWriter((function(e){if("hex"===e)return new y})),p}();return e.addSemanticEncode(0,(function(e){if(e instanceof Date)return e.toISOString()})).addSemanticDecode(0,(function(e){return new Date(e)})).addSemanticDecode(1,(function(e){return new Date(e)})),e})?r.apply(t,i):r)||(e.exports=a)},function(e,t,n){"use strict";var r=n(26),i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(5)),o=i(n(6)),s=i(n(4)),u=i(n(8)),c=i(n(18)),l=i(n(29)),f=i(n(32)),d=i(n(33)),p=i(n(19)),h=i(n(36)),v=i(n(16)),g=n(3),y=r(n(41)),b=r(n(42)),m=r(n(43)),_=r(n(44)),k=r(n(45)),P=r(n(46)),O=r(n(47)),T=r(n(48)),S=r(n(49)),M=r(n(50)),w=r(n(51)),N=r(n(52)),j=r(n(53)),x=r(n(54)),U=r(n(55)),C=r(n(56)),R=r(n(57)),A=r(n(58)),E=(n(59),r(n(60)),i(n(61))),K=i(n(62)),I=i(n(63)),F=i(n(64)),D=i(n(66)),B=i(n(67)),G=i(n(68)),L=i(n(69)),H=i(n(75)),q=i(n(76)),z=i(n(77)),V=i(n(78)),W=i(n(79)),$=i(n(80)),J=i(n(81)),X=i(n(82)),Q=i(n(83)),Y=i(n(84)),Z=i(n(85)),ee=r(n(86)),te=r(n(87)),ne=r(n(88)),re=r(n(89)),ie=r(n(90)),ae=r(n(91)),oe=r(n(92)),se=r(n(93)),ue=r(n(94)),ce=r(n(95)),le=r(n(96)),fe=r(n(97)),de=r(n(98)),pe=r(n(99)),he=r(n(100)),ve=r(n(101)),ge=r(n(102)),ye=r(n(103)),be=r(n(104)),me=r(n(105)),_e=r(n(106)),ke=r(n(107)),Pe=r(n(108)),Oe=r(n(109)),Te=r(n(110)),Se=r(n(111)),Me=r(n(112)),we=r(n(20)),Ne=r(n(113)),je=i(n(1)),xe=i(n(11)),Ue=(n(2),i(n(15)));function Ce(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Re(e){for(var t=1;t1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;ul;){var f;e:{f=c;for(var d=e.sqrt(f),p=2;p<=d;p++)if(!(f%p)){f=!1;break e}f=!0}f&&(8>l&&(a[l]=s(e.pow(c,.5))),o[l]=s(e.pow(c,1/3)),l++),c++}var h=[];i=i.SHA256=r.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],u=n[4],c=n[5],l=n[6],f=n[7],d=0;64>d;d++){if(16>d)h[d]=0|e[t+d];else{var p=h[d-15],v=h[d-2];h[d]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+h[d-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+h[d-16]}p=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+o[d]+h[d],v=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&a^i&a),f=l,l=c,c=u,u=s+p|0,s=a,a=i,i=r,r=p+v|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+f|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=r._createHelper(i),t.HmacSHA256=r._createHmacHelper(i)}(Math),i=(r=u).enc.Utf8,r.algo.HMAC=r.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var a=this._oKey=t.clone(),o=this._iKey=t.clone(),s=a.words,u=o.words,c=0;c>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;4>o&&i+.75*o>>6*(3-o)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(r=n.charAt(64))&&-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,a=0;a>>6-a%4*2;r[i>>>2]|=(s|u)<<24-i%4*8,i++}return o.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,r,i,a,o){return((e=e+(t&n|~t&r)+i+o)<>>32-a)+t}function n(e,t,n,r,i,a,o){return((e=e+(t&r|n&~r)+i+o)<>>32-a)+t}function r(e,t,n,r,i,a,o){return((e=e+(t^n^r)+i+o)<>>32-a)+t}function i(e,t,n,r,i,a,o){return((e=e+(n^(t|~r))+i+o)<>>32-a)+t}for(var a=u,o=(c=a.lib).WordArray,s=c.Hasher,c=a.algo,l=[],f=0;64>f;f++)l[f]=4294967296*e.abs(e.sin(f+1))|0;c=c.MD5=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],c=(s=e[a+1],e[a+2]),f=e[a+3],d=e[a+4],p=e[a+5],h=e[a+6],v=e[a+7],g=e[a+8],y=e[a+9],b=e[a+10],m=e[a+11],_=e[a+12],k=e[a+13],P=e[a+14],O=e[a+15],T=t(T=o[0],w=o[1],M=o[2],S=o[3],u,7,l[0]),S=t(S,T,w,M,s,12,l[1]),M=t(M,S,T,w,c,17,l[2]),w=t(w,M,S,T,f,22,l[3]);T=t(T,w,M,S,d,7,l[4]),S=t(S,T,w,M,p,12,l[5]),M=t(M,S,T,w,h,17,l[6]),w=t(w,M,S,T,v,22,l[7]),T=t(T,w,M,S,g,7,l[8]),S=t(S,T,w,M,y,12,l[9]),M=t(M,S,T,w,b,17,l[10]),w=t(w,M,S,T,m,22,l[11]),T=t(T,w,M,S,_,7,l[12]),S=t(S,T,w,M,k,12,l[13]),M=t(M,S,T,w,P,17,l[14]),T=n(T,w=t(w,M,S,T,O,22,l[15]),M,S,s,5,l[16]),S=n(S,T,w,M,h,9,l[17]),M=n(M,S,T,w,m,14,l[18]),w=n(w,M,S,T,u,20,l[19]),T=n(T,w,M,S,p,5,l[20]),S=n(S,T,w,M,b,9,l[21]),M=n(M,S,T,w,O,14,l[22]),w=n(w,M,S,T,d,20,l[23]),T=n(T,w,M,S,y,5,l[24]),S=n(S,T,w,M,P,9,l[25]),M=n(M,S,T,w,f,14,l[26]),w=n(w,M,S,T,g,20,l[27]),T=n(T,w,M,S,k,5,l[28]),S=n(S,T,w,M,c,9,l[29]),M=n(M,S,T,w,v,14,l[30]),T=r(T,w=n(w,M,S,T,_,20,l[31]),M,S,p,4,l[32]),S=r(S,T,w,M,g,11,l[33]),M=r(M,S,T,w,m,16,l[34]),w=r(w,M,S,T,P,23,l[35]),T=r(T,w,M,S,s,4,l[36]),S=r(S,T,w,M,d,11,l[37]),M=r(M,S,T,w,v,16,l[38]),w=r(w,M,S,T,b,23,l[39]),T=r(T,w,M,S,k,4,l[40]),S=r(S,T,w,M,u,11,l[41]),M=r(M,S,T,w,f,16,l[42]),w=r(w,M,S,T,h,23,l[43]),T=r(T,w,M,S,y,4,l[44]),S=r(S,T,w,M,_,11,l[45]),M=r(M,S,T,w,O,16,l[46]),T=i(T,w=r(w,M,S,T,c,23,l[47]),M,S,u,6,l[48]),S=i(S,T,w,M,v,10,l[49]),M=i(M,S,T,w,P,15,l[50]),w=i(w,M,S,T,p,21,l[51]),T=i(T,w,M,S,_,6,l[52]),S=i(S,T,w,M,f,10,l[53]),M=i(M,S,T,w,b,15,l[54]),w=i(w,M,S,T,s,21,l[55]),T=i(T,w,M,S,g,6,l[56]),S=i(S,T,w,M,O,10,l[57]),M=i(M,S,T,w,h,15,l[58]),w=i(w,M,S,T,k,21,l[59]),T=i(T,w,M,S,d,6,l[60]),S=i(S,T,w,M,m,10,l[61]),M=i(M,S,T,w,c,15,l[62]),w=i(w,M,S,T,y,21,l[63]);o[0]=o[0]+T|0,o[1]=o[1]+w|0,o[2]=o[2]+M|0,o[3]=o[3]+S|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var a=e.floor(r/4294967296);for(n[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),n[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,r=0;4>r;r++)i=n[r],n[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=s._createHelper(c),a.HmacMD5=s._createHmacHelper(c)}(Math),function(){var e,t=u,n=(e=t.lib).Base,r=e.WordArray,i=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),i=r.create(),a=i.words,o=s.keySize,s=s.iterations;a.length>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:c,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var d=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(c=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(a)},parse:function(e){var t=(e=a.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return d.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:c}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,d.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,n,i){return i||(i=r.random(8)),e=o.create({keySize:t+n}).compute(e,i),n=r.create(e.words.slice(t),4*n),e.sigBytes=4*t,d.create({key:e,iv:n,salt:i})}},v=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:h}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=p.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,p.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=u,t=e.lib.BlockCipher,n=e.algo,r=[],i=[],a=[],o=[],s=[],c=[],l=[],f=[],d=[],p=[],h=[],v=0;256>v;v++)h[v]=128>v?v<<1:v<<1^283;var g=0,y=0;for(v=0;256>v;v++){var b=(b=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&b^99;r[g]=b,i[b]=g;var m=h[g],_=h[m],k=h[_],P=257*h[b]^16843008*b;a[g]=P<<24|P>>>8,o[g]=P<<16|P>>>16,s[g]=P<<8|P>>>24,c[g]=P,P=16843009*k^65537*_^257*m^16843008*g,l[b]=P<<24|P>>>8,f[b]=P<<16|P>>>16,d[b]=P<<8|P>>>24,p[b]=P,g?(g=m^h[h[h[k^m]]],y^=h[h[y]]):g=y=1}var O=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],a=0;a>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o]):(o=r[(o=o<<8|o>>>24)>>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o],o^=O[a/t|0]<<24),i[a]=i[a-t]^o}for(e=this._invKeySchedule=[],t=0;tt||4>=a?o:l[r[o>>>24]]^f[r[o>>>16&255]]^d[r[o>>>8&255]]^p[r[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,s,c,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,l,f,d,p,i),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,s){for(var u=this._nRounds,c=e[t]^n[0],l=e[t+1]^n[1],f=e[t+2]^n[2],d=e[t+3]^n[3],p=4,h=1;h>>24]^i[l>>>16&255]^a[f>>>8&255]^o[255&d]^n[p++],g=r[l>>>24]^i[f>>>16&255]^a[d>>>8&255]^o[255&c]^n[p++],y=r[f>>>24]^i[d>>>16&255]^a[c>>>8&255]^o[255&l]^n[p++];d=r[d>>>24]^i[c>>>16&255]^a[l>>>8&255]^o[255&f]^n[p++],c=v,l=g,f=y}v=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&d])^n[p++],g=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[d>>>8&255]<<8|s[255&c])^n[p++],y=(s[f>>>24]<<24|s[d>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^n[p++],d=(s[d>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^n[p++],e[t]=v,e[t+1]=g,e[t+2]=y,e[t+3]=d},keySize:8});e.AES=t._createHelper(n)}(),u.mode.ECB=((s=u.lib.BlockCipherMode.extend()).Encryptor=s.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),s.Decryptor=s.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),s),e.exports=u},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),a=r(n(5)),o=r(n(6)),s=r(n(4)),u=(r(n(18)),r(n(8)),r(n(19)),r(n(30))),c=r(n(31)),l=r(n(3)),f=(n(2),r(n(11))),d=function(){function e(t){var n=t.subscribeEndpoint,r=t.leaveEndpoint,i=t.heartbeatEndpoint,o=t.setStateEndpoint,l=t.timeEndpoint,f=t.getFileUrl,d=t.config,p=t.crypto,h=t.listenerManager;(0,a.default)(this,e),(0,s.default)(this,"_crypto",void 0),(0,s.default)(this,"_config",void 0),(0,s.default)(this,"_listenerManager",void 0),(0,s.default)(this,"_reconnectionManager",void 0),(0,s.default)(this,"_leaveEndpoint",void 0),(0,s.default)(this,"_heartbeatEndpoint",void 0),(0,s.default)(this,"_setStateEndpoint",void 0),(0,s.default)(this,"_subscribeEndpoint",void 0),(0,s.default)(this,"_getFileUrl",void 0),(0,s.default)(this,"_channels",void 0),(0,s.default)(this,"_presenceChannels",void 0),(0,s.default)(this,"_heartbeatChannels",void 0),(0,s.default)(this,"_heartbeatChannelGroups",void 0),(0,s.default)(this,"_channelGroups",void 0),(0,s.default)(this,"_presenceChannelGroups",void 0),(0,s.default)(this,"_currentTimetoken",void 0),(0,s.default)(this,"_lastTimetoken",void 0),(0,s.default)(this,"_storedTimetoken",void 0),(0,s.default)(this,"_region",void 0),(0,s.default)(this,"_subscribeCall",void 0),(0,s.default)(this,"_heartbeatTimer",void 0),(0,s.default)(this,"_subscriptionStatusAnnounced",void 0),(0,s.default)(this,"_autoNetworkDetection",void 0),(0,s.default)(this,"_isOnline",void 0),(0,s.default)(this,"_pendingChannelSubscriptions",void 0),(0,s.default)(this,"_pendingChannelGroupSubscriptions",void 0),(0,s.default)(this,"_dedupingManager",void 0),this._listenerManager=h,this._config=d,this._leaveEndpoint=r,this._heartbeatEndpoint=i,this._setStateEndpoint=o,this._subscribeEndpoint=n,this._getFileUrl=f,this._crypto=p,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new u.default({timeEndpoint:l}),this._dedupingManager=new c.default({config:d})}return(0,o.default)(e,[{key:"adaptStateChange",value:function(e,t){var n=this,r=e.state,i=e.channels,a=void 0===i?[]:i,o=e.channelGroups,s=void 0===o?[]:o;return a.forEach((function(e){e in n._channels&&(n._channels[e].state=r)})),s.forEach((function(e){e in n._channelGroups&&(n._channelGroups[e].state=r)})),this._setStateEndpoint({state:r,channels:a,channelGroups:s},t)}},{key:"adaptPresenceChange",value:function(e){var t=this,n=e.connected,r=e.channels,i=void 0===r?[]:r,a=e.channelGroups,o=void 0===a?[]:a;n?(i.forEach((function(e){t._heartbeatChannels[e]={state:{}}})),o.forEach((function(e){t._heartbeatChannelGroups[e]={state:{}}}))):(i.forEach((function(e){e in t._heartbeatChannels&&delete t._heartbeatChannels[e]})),o.forEach((function(e){e in t._heartbeatChannelGroups&&delete t._heartbeatChannelGroups[e]})),!1===this._config.suppressLeaveEvents&&this._leaveEndpoint({channels:i,channelGroups:o},(function(e){t._listenerManager.announceStatus(e)}))),this.reconnect()}},{key:"adaptSubscribeChange",value:function(e){var t=this,n=e.timetoken,r=e.channels,i=void 0===r?[]:r,a=e.channelGroups,o=void 0===a?[]:a,s=e.withPresence,u=void 0!==s&&s,c=e.withHeartbeats,l=void 0!==c&&c;this._config.subscribeKey&&""!==this._config.subscribeKey?(n&&(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=n),"0"!==this._currentTimetoken&&0!==this._currentTimetoken&&(this._storedTimetoken=this._currentTimetoken,this._currentTimetoken=0),i.forEach((function(e){t._channels[e]={state:{}},u&&(t._presenceChannels[e]={}),(l||t._config.getHeartbeatInterval())&&(t._heartbeatChannels[e]={}),t._pendingChannelSubscriptions.push(e)})),o.forEach((function(e){t._channelGroups[e]={state:{}},u&&(t._presenceChannelGroups[e]={}),(l||t._config.getHeartbeatInterval())&&(t._heartbeatChannelGroups[e]={}),t._pendingChannelGroupSubscriptions.push(e)})),this._subscriptionStatusAnnounced=!1,this.reconnect()):console&&console.log&&console.log("subscribe key missing; aborting subscribe")}},{key:"adaptUnsubscribeChange",value:function(e,t){var n=this,r=e.channels,i=void 0===r?[]:r,a=e.channelGroups,o=void 0===a?[]:a,s=[],u=[];i.forEach((function(e){e in n._channels&&(delete n._channels[e],s.push(e),e in n._heartbeatChannels&&delete n._heartbeatChannels[e]),e in n._presenceChannels&&(delete n._presenceChannels[e],s.push(e))})),o.forEach((function(e){e in n._channelGroups&&(delete n._channelGroups[e],u.push(e),e in n._heartbeatChannelGroups&&delete n._heartbeatChannelGroups[e]),e in n._presenceChannelGroups&&(delete n._channelGroups[e],u.push(e))})),0===s.length&&0===u.length||(!1!==this._config.suppressLeaveEvents||t||this._leaveEndpoint({channels:s,channelGroups:u},(function(e){e.affectedChannels=s,e.affectedChannelGroups=u,e.currentTimetoken=n._currentTimetoken,e.lastTimetoken=n._lastTimetoken,n._listenerManager.announceStatus(e)})),0===Object.keys(this._channels).length&&0===Object.keys(this._presenceChannels).length&&0===Object.keys(this._channelGroups).length&&0===Object.keys(this._presenceChannelGroups).length&&(this._lastTimetoken=0,this._currentTimetoken=0,this._storedTimetoken=null,this._region=null,this._reconnectionManager.stopPolling()),this.reconnect())}},{key:"unsubscribeAll",value:function(e){this.adaptUnsubscribeChange({channels:this.getSubscribedChannels(),channelGroups:this.getSubscribedChannelGroups()},e)}},{key:"getHeartbeatChannels",value:function(){return Object.keys(this._heartbeatChannels)}},{key:"getHeartbeatChannelGroups",value:function(){return Object.keys(this._heartbeatChannelGroups)}},{key:"getSubscribedChannels",value:function(){return Object.keys(this._channels)}},{key:"getSubscribedChannelGroups",value:function(){return Object.keys(this._channelGroups)}},{key:"reconnect",value:function(){this._startSubscribeLoop(),this._registerHeartbeatTimer()}},{key:"disconnect",value:function(){this._stopSubscribeLoop(),this._stopHeartbeatTimer(),this._reconnectionManager.stopPolling()}},{key:"_registerHeartbeatTimer",value:function(){this._stopHeartbeatTimer(),0!==this._config.getHeartbeatInterval()&&void 0!==this._config.getHeartbeatInterval()&&(this._performHeartbeatLoop(),this._heartbeatTimer=setInterval(this._performHeartbeatLoop.bind(this),1e3*this._config.getHeartbeatInterval()))}},{key:"_stopHeartbeatTimer",value:function(){this._heartbeatTimer&&(clearInterval(this._heartbeatTimer),this._heartbeatTimer=null)}},{key:"_performHeartbeatLoop",value:function(){var e=this,t=this.getHeartbeatChannels(),n=this.getHeartbeatChannelGroups(),r={};if(0!==t.length||0!==n.length){this.getSubscribedChannels().forEach((function(t){var n=e._channels[t].state;Object.keys(n).length&&(r[t]=n)})),this.getSubscribedChannelGroups().forEach((function(t){var n=e._channelGroups[t].state;Object.keys(n).length&&(r[t]=n)}));this._heartbeatEndpoint({channels:t,channelGroups:n,state:r},function(t){t.error&&e._config.announceFailedHeartbeats&&e._listenerManager.announceStatus(t),t.error&&e._config.autoNetworkDetection&&e._isOnline&&(e._isOnline=!1,e.disconnect(),e._listenerManager.announceNetworkDown(),e.reconnect()),!t.error&&e._config.announceSuccessfulHeartbeats&&e._listenerManager.announceStatus(t)}.bind(this))}}},{key:"_startSubscribeLoop",value:function(){var e=this;this._stopSubscribeLoop();var t={},n=[],r=[];if(Object.keys(this._channels).forEach((function(r){var i=e._channels[r].state;Object.keys(i).length&&(t[r]=i),n.push(r)})),Object.keys(this._presenceChannels).forEach((function(e){n.push("".concat(e,"-pnpres"))})),Object.keys(this._channelGroups).forEach((function(n){var i=e._channelGroups[n].state;Object.keys(i).length&&(t[n]=i),r.push(n)})),Object.keys(this._presenceChannelGroups).forEach((function(e){r.push("".concat(e,"-pnpres"))})),0!==n.length||0!==r.length){var i={channels:n,channelGroups:r,state:t,timetoken:this._currentTimetoken,filterExpression:this._config.filterExpression,region:this._region};this._subscribeCall=this._subscribeEndpoint(i,this._processSubscribeResponse.bind(this))}}},{key:"_processSubscribeResponse",value:function(e,t){var n=this;if(e.error)e.category===f.default.PNTimeoutCategory?this._startSubscribeLoop():e.category===f.default.PNNetworkIssuesCategory?(this.disconnect(),e.error&&this._config.autoNetworkDetection&&this._isOnline&&(this._isOnline=!1,this._listenerManager.announceNetworkDown()),this._reconnectionManager.onReconnection((function(){n._config.autoNetworkDetection&&!n._isOnline&&(n._isOnline=!0,n._listenerManager.announceNetworkUp()),n.reconnect(),n._subscriptionStatusAnnounced=!0;var t={category:f.default.PNReconnectedCategory,operation:e.operation,lastTimetoken:n._lastTimetoken,currentTimetoken:n._currentTimetoken};n._listenerManager.announceStatus(t)})),this._reconnectionManager.startPolling(),this._listenerManager.announceStatus(e)):e.category===f.default.PNBadRequestCategory?(this._stopHeartbeatTimer(),this._listenerManager.announceStatus(e)):this._listenerManager.announceStatus(e);else{if(this._storedTimetoken?(this._currentTimetoken=this._storedTimetoken,this._storedTimetoken=null):(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=t.metadata.timetoken),!this._subscriptionStatusAnnounced){var r={};r.category=f.default.PNConnectedCategory,r.operation=e.operation,r.affectedChannels=this._pendingChannelSubscriptions,r.subscribedChannels=this.getSubscribedChannels(),r.affectedChannelGroups=this._pendingChannelGroupSubscriptions,r.lastTimetoken=this._lastTimetoken,r.currentTimetoken=this._currentTimetoken,this._subscriptionStatusAnnounced=!0,this._listenerManager.announceStatus(r),this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[]}var a=t.messages||[],o=this._config,s=o.requestMessageCountThreshold,u=o.dedupeOnSubscribe;if(s&&a.length>=s){var c={};c.category=f.default.PNRequestMessageCountExceededCategory,c.operation=e.operation,this._listenerManager.announceStatus(c)}a.forEach((function(e){var t=e.channel,r=e.subscriptionMatch,a=e.publishMetaData;if(t===r&&(r=null),u){if(n._dedupingManager.isDuplicate(e))return;n._dedupingManager.addEntry(e)}if(l.default.endsWith(e.channel,"-pnpres")){var o={channel:null,subscription:null};o.actualChannel=null!=r?t:null,o.subscribedChannel=null!=r?r:t,t&&(o.channel=t.substring(0,t.lastIndexOf("-pnpres"))),r&&(o.subscription=r.substring(0,r.lastIndexOf("-pnpres"))),o.action=e.payload.action,o.state=e.payload.data,o.timetoken=a.publishTimetoken,o.occupancy=e.payload.occupancy,o.uuid=e.payload.uuid,o.timestamp=e.payload.timestamp,e.payload.join&&(o.join=e.payload.join),e.payload.leave&&(o.leave=e.payload.leave),e.payload.timeout&&(o.timeout=e.payload.timeout),n._listenerManager.announcePresence(o)}else if(1===e.messageType){var s={channel:null,subscription:null};s.channel=t,s.subscription=r,s.timetoken=a.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),s.message=e.payload,n._listenerManager.announceSignal(s)}else if(2===e.messageType){var c={channel:null,subscription:null};c.channel=t,c.subscription=r,c.timetoken=a.publishTimetoken,c.publisher=e.issuingClientId,e.userMetadata&&(c.userMetadata=e.userMetadata),c.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},n._listenerManager.announceObjects(c),"user"===e.payload.type?n._listenerManager.announceUser(c):"space"===e.payload.type?n._listenerManager.announceSpace(c):"membership"===e.payload.type&&n._listenerManager.announceMembership(c)}else if(3===e.messageType){var f={};f.channel=t,f.subscription=r,f.timetoken=a.publishTimetoken,f.publisher=e.issuingClientId,f.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},f.event=e.payload.event,n._listenerManager.announceMessageAction(f)}else if(4===e.messageType){var d={};d.channel=t,d.subscription=r,d.timetoken=a.publishTimetoken,d.publisher=e.issuingClientId;var p=e.payload;if(n._config.cipherKey){var h=n._crypto.decrypt(e.payload);"object"===(0,i.default)(h)&&null!==h&&(p=h)}e.userMetadata&&(d.userMetadata=e.userMetadata),d.message=p.message,d.file={id:p.file.id,name:p.file.name,url:n._getFileUrl({id:p.file.id,name:p.file.name,channel:t})},n._listenerManager.announceFile(d)}else{var v={channel:null,subscription:null};v.actualChannel=null!=r?t:null,v.subscribedChannel=null!=r?r:t,v.channel=t,v.subscription=r,v.timetoken=a.publishTimetoken,v.publisher=e.issuingClientId,e.userMetadata&&(v.userMetadata=e.userMetadata),n._config.cipherKey?v.message=n._crypto.decrypt(e.payload):v.message=e.payload,n._listenerManager.announceMessage(v)}})),this._region=t.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}]),e}();t.default=d,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=(r(n(20)),n(2),function(){function e(t){var n=t.timeEndpoint;(0,i.default)(this,e),(0,o.default)(this,"_reconnectionCallback",void 0),(0,o.default)(this,"_timeEndpoint",void 0),(0,o.default)(this,"_timeTimer",void 0),this._timeEndpoint=n}return(0,a.default)(e,[{key:"onReconnection",value:function(e){this._reconnectionCallback=e}},{key:"startPolling",value:function(){this._timeTimer=setInterval(this._performTimeLoop.bind(this),3e3)}},{key:"stopPolling",value:function(){clearInterval(this._timeTimer)}},{key:"_performTimeLoop",value:function(){var e=this;this._timeEndpoint((function(t){t.error||(clearInterval(e._timeTimer),e._reconnectionCallback())}))}}]),e}());t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=(r(n(8)),n(2),function(){function e(t){var n=t.config;(0,i.default)(this,e),(0,o.default)(this,"_config",void 0),(0,o.default)(this,"hashHistory",void 0),this.hashHistory=[],this._config=n}return(0,a.default)(e,[{key:"getKey",value:function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var n=0;n=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}]),e}());t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=r(n(1)),u=function(){function e(t){(0,i.default)(this,e),(0,o.default)(this,"_maximumSamplesCount",100),(0,o.default)(this,"_trackedLatencies",{}),(0,o.default)(this,"_latencies",{}),this._maximumSamplesCount=t.maximumSamplesCount||this._maximumSamplesCount}return(0,a.default)(e,[{key:"operationsLatencyForRequest",value:function(){var e=this,t={};return Object.keys(this._latencies).forEach((function(n){var r=e._latencies[n],i=e._averageLatency(r);i>0&&(t["l_".concat(n)]=i)})),t}},{key:"startLatencyMeasure",value:function(e,t){e!==s.default.PNSubscribeOperation&&t&&(this._trackedLatencies[t]=Date.now())}},{key:"stopLatencyMeasure",value:function(e,t){if(e!==s.default.PNSubscribeOperation&&t){var n=this._endpointName(e),r=this._latencies[n],i=this._trackedLatencies[t];r||(r=this._latencies[n]=[]),r.push(Date.now()-i),r.length>this._maximumSamplesCount&&r.splice(0,r.length-this._maximumSamplesCount),delete this._trackedLatencies[t]}}},{key:"_averageLatency",value:function(e){return Math.floor(e.reduce((function(e,t){return e+t}),0)/e.length)}},{key:"_endpointName",value:function(e){var t=null;switch(e){case s.default.PNPublishOperation:t="pub";break;case s.default.PNSignalOperation:t="sig";break;case s.default.PNHistoryOperation:case s.default.PNFetchMessagesOperation:case s.default.PNDeleteMessagesOperation:case s.default.PNMessageCounts:t="hist";break;case s.default.PNUnsubscribeOperation:case s.default.PNWhereNowOperation:case s.default.PNHereNowOperation:case s.default.PNHeartbeatOperation:case s.default.PNSetStateOperation:case s.default.PNGetStateOperation:t="pres";break;case s.default.PNAddChannelsToGroupOperation:case s.default.PNRemoveChannelsFromGroupOperation:case s.default.PNChannelGroupsOperation:case s.default.PNRemoveGroupOperation:case s.default.PNChannelsForGroupOperation:t="cg";break;case s.default.PNPushNotificationEnabledChannelsOperation:case s.default.PNRemoveAllPushNotificationsOperation:t="push";break;case s.default.PNCreateUserOperation:case s.default.PNUpdateUserOperation:case s.default.PNDeleteUserOperation:case s.default.PNGetUserOperation:case s.default.PNGetUsersOperation:case s.default.PNCreateSpaceOperation:case s.default.PNUpdateSpaceOperation:case s.default.PNDeleteSpaceOperation:case s.default.PNGetSpaceOperation:case s.default.PNGetSpacesOperation:case s.default.PNGetMembersOperation:case s.default.PNUpdateMembersOperation:case s.default.PNGetMembershipsOperation:case s.default.PNUpdateMembershipsOperation:t="obj";break;case s.default.PNAddMessageActionOperation:case s.default.PNRemoveMessageActionOperation:case s.default.PNGetMessageActionsOperation:t="msga";break;case s.default.PNAccessManagerGrant:case s.default.PNAccessManagerAudit:t="pam";break;case s.default.PNAccessManagerGrantToken:t="pam3";break;default:t="time"}return t}}]),e}();t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FCMNotificationPayload=t.MPNSNotificationPayload=t.APNSNotificationPayload=void 0;var i=r(n(34)),a=r(n(17)),o=r(n(12)),s=r(n(14)),u=r(n(10)),c=r(n(5)),l=r(n(6)),f=r(n(4));n(2);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t2){var r=this._payload,a=(r.notification,r.data,(0,i.default)(r,["notification","data"]));e=p(p({},e),a)}return this._isSilent?e.notification=this._payload.notification:t=this._payload.notification,Object.keys(e).length&&(n.data=e),t&&Object.keys(t).length&&(n.notification=t),Object.keys(n).length?n:null}},{key:"notification",get:function(){return this._payload.notification}},{key:"data",get:function(){return this._payload.data}},{key:"title",get:function(){return this._title},set:function(e){e&&e.length&&(this._payload.notification.title=e,this._title=e)}},{key:"body",get:function(){return this._body},set:function(e){e&&e.length&&(this._payload.notification.body=e,this._body=e)}},{key:"sound",get:function(){return this._sound},set:function(e){e&&e.length&&(this._payload.notification.sound=e,this._sound=e)}},{key:"icon",get:function(){return this._icon},set:function(e){e&&e.length&&(this._payload.notification.icon=e,this._icon=e)}},{key:"tag",get:function(){return this._tag},set:function(e){e&&e.length&&(this._payload.notification.tag=e,this._tag=e)}},{key:"silent",set:function(e){this._isSilent=e}}]),n}(v);t.FCMNotificationPayload=b;var m=function(){function e(t,n){(0,c.default)(this,e),(0,f.default)(this,"_payload",void 0),(0,f.default)(this,"_debugging",void 0),(0,f.default)(this,"_subtitle",void 0),(0,f.default)(this,"_badge",void 0),(0,f.default)(this,"_sound",void 0),(0,f.default)(this,"_title",void 0),(0,f.default)(this,"_body",void 0),(0,f.default)(this,"apns",void 0),(0,f.default)(this,"mpns",void 0),(0,f.default)(this,"fcm",void 0),this._payload={apns:{},mpns:{},fcm:{}},this._title=t,this._body=n,this.apns=new g(this._payload.apns,t,n),this.mpns=new y(this._payload.mpns,t,n),this.fcm=new b(this._payload.fcm,t,n)}return(0,l.default)(e,[{key:"debugging",set:function(e){this._debugging=e}},{key:"title",get:function(){return this._title}},{key:"body",get:function(){return this._body}},{key:"subtitle",get:function(){return this._subtitle},set:function(e){this._subtitle=e,this.apns.subtitle=e,this.mpns.subtitle=e,this.fcm.subtitle=e}},{key:"badge",get:function(){return this._badge},set:function(e){this._badge=e,this.apns.badge=e,this.mpns.badge=e,this.fcm.badge=e}},{key:"sound",get:function(){return this._sound},set:function(e){this._sound=e,this.apns.sound=e,this.mpns.sound=e,this.fcm.sound=e}}]),(0,l.default)(e,[{key:"buildPayload",value:function(e){var t={};if(e.includes("apns")||e.includes("apns2")){this.apns._apnsPushType=e.includes("apns")?"apns":"apns2";var n=this.apns.toObject();n&&Object.keys(n).length&&(t.pn_apns=n)}if(e.includes("mpns")){var r=this.mpns.toObject();r&&Object.keys(r).length&&(t.pn_mpns=r)}if(e.includes("fcm")){var i=this.fcm.toObject();i&&Object.keys(i).length&&(t.pn_gcm=i)}return Object.keys(t).length&&this._debugging&&(t.pn_debug=!0),t}}]),e}();t.default=m},function(e,t,n){var r=n(35);e.exports=function(e,t){if(null==e)return{};var n,i,a=r(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),a=r(n(5)),o=r(n(6)),s=r(n(4)),u=(r(n(8)),n(2),function(){function e(t,n){(0,a.default)(this,e),(0,s.default)(this,"_config",void 0),(0,s.default)(this,"_cbor",void 0),(0,s.default)(this,"_userTokens",void 0),(0,s.default)(this,"_spaceTokens",void 0),(0,s.default)(this,"_userToken",void 0),(0,s.default)(this,"_spaceToken",void 0),this._config=t,this._cbor=n,this._initializeTokens()}return(0,o.default)(e,[{key:"_initializeTokens",value:function(){this._userTokens={},this._spaceTokens={},this._userToken=void 0,this._spaceToken=void 0}},{key:"_setToken",value:function(e){var t=this,n=this.parseToken(e);n&&n.resources&&(n.resources.users&&Object.keys(n.resources.users).forEach((function(n){t._userTokens[n]=e})),n.resources.spaces&&Object.keys(n.resources.spaces).forEach((function(n){t._spaceTokens[n]=e}))),n&&n.patterns&&(n.patterns.users&&Object.keys(n.patterns.users).length>0&&(this._userToken=e),n.patterns.spaces&&Object.keys(n.patterns.spaces).length>0&&(this._spaceToken=e))}},{key:"setToken",value:function(e){e&&e.length>0&&this._setToken(e)}},{key:"setTokens",value:function(e){var t=this;e&&e.length&&"object"===(0,i.default)(e)&&e.forEach((function(e){t.setToken(e)}))}},{key:"getTokens",value:function(e){var t=this,n={users:{},spaces:{}};return e?(e.user&&(n.user=this._userToken),e.space&&(n.space=this._spaceToken),e.users&&e.users.forEach((function(e){n.users[e]=t._userTokens[e]})),e.space&&e.spaces.forEach((function(e){n.spaces[e]=t._spaceTokens[e]}))):(this._userToken&&(n.user=this._userToken),this._spaceToken&&(n.space=this._spaceToken),Object.keys(this._userTokens).forEach((function(e){n.users[e]=t._userTokens[e]})),Object.keys(this._spaceTokens).forEach((function(e){n.spaces[e]=t._spaceTokens[e]}))),n}},{key:"getToken",value:function(e,t){var n;return t?"user"===e?n=this._userTokens[t]:"space"===e&&(n=this._spaceTokens[t]):"user"===e?n=this._userToken:"space"===e&&(n=this._spaceToken),n}},{key:"extractPermissions",value:function(e){var t={create:!1,read:!1,write:!1,manage:!1,delete:!1};return 16==(16&e)&&(t.create=!0),8==(8&e)&&(t.delete=!0),4==(4&e)&&(t.manage=!0),2==(2&e)&&(t.write=!0),1==(1&e)&&(t.read=!0),t}},{key:"parseToken",value:function(e){var t=this,n=this._cbor.decodeToken(e);if(void 0!==n){var r=Object.keys(n.res.usr),i=Object.keys(n.res.spc),a=Object.keys(n.pat.usr),o=Object.keys(n.pat.spc),s={version:n.v,timestamp:n.t,ttl:n.ttl},u=r.length>0,c=i.length>0;(u||c)&&(s.resources={},u&&(s.resources.users={},r.forEach((function(e){s.resources.users[e]=t.extractPermissions(n.res.usr[e])}))),c&&(s.resources.spaces={},i.forEach((function(e){s.resources.spaces[e]=t.extractPermissions(n.res.spc[e])}))));var l=a.length>0,f=o.length>0;return(l||f)&&(s.patterns={},l&&(s.patterns.users={},a.forEach((function(e){s.patterns.users[e]=t.extractPermissions(n.pat.usr[e])}))),f&&(s.patterns.spaces={},o.forEach((function(e){s.patterns.spaces[e]=t.extractPermissions(n.pat.spc[e])})))),Object.keys(n.meta).length>0&&(s.meta=n.meta),s.signature=n.sig,s}}},{key:"clearTokens",value:function(){this._initializeTokens()}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){var r=n(10),i=n(13),a=n(38),o=n(39);function s(t){var n="function"==typeof Map?new Map:void 0;return e.exports=s=function(e){if(null===e||!a(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return o(e,arguments,r(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),i(t,e)},s(t)}e.exports=s},function(e,t){e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}},function(e,t,n){var r=n(13),i=n(40);function a(t,n,o){return i()?e.exports=a=Reflect.construct:e.exports=a=function(e,t,n){var i=[null];i.push.apply(i,t);var a=new(Function.bind.apply(e,i));return n&&r(a,n.prototype),a},a.apply(null,arguments)}e.exports=a},function(e,t){e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAddChannelsToGroupOperation},t.validateParams=function(e,t){var n=t.channels,r=t.channelGroup,i=e.config;if(!r)return"Missing Channel Group";if(!n||0===n.length)return"Missing Channels";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channels;return{add:(void 0===n?[]:n).join(",")}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveChannelsFromGroupOperation},t.validateParams=function(e,t){var n=t.channels,r=t.channelGroup,i=e.config;if(!r)return"Missing Channel Group";if(!n||0===n.length)return"Missing Channels";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channels;return{remove:(void 0===n?[]:n).join(",")}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveGroupOperation},t.validateParams=function(e,t){var n=t.channelGroup,r=e.config;if(!n)return"Missing Channel Group";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(a.default.encodeString(n),"/remove")},t.isAuthSupported=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(){return{}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNChannelGroupsOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e){var t=e.config;return"/v1/channel-registration/sub-key/".concat(t.subscribeKey,"/channel-group")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{groups:t.payload.groups}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNChannelsForGroupOperation},t.validateParams=function(e,t){var n=t.channelGroup,r=e.config;if(!n)return"Missing Channel Group";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{channels:t.payload.channels}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.channels,a=t.topic,o=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!a)return"Missing APNS2 topic";if(!i||0===i.length)return"Missing Channels";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.channels,i=void 0===r?[]:r,a=t.environment,o=void 0===a?"development":a,s=t.topic,u={type:n,add:i.join(",")};"apns2"===n&&delete(u=Object.assign({},u,{environment:o,topic:s})).type;return u},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.channels,a=t.topic,o=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!a)return"Missing APNS2 topic";if(!i||0===i.length)return"Missing Channels";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.channels,i=void 0===r?[]:r,a=t.environment,o=void 0===a?"development":a,s=t.topic,u={type:n,remove:i.join(",")};"apns2"===n&&delete(u=Object.assign({},u,{environment:o,topic:s})).type;return u},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.topic,a=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!i)return"Missing APNS2 topic";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.environment,i=void 0===r?"development":r,a=t.topic,o={type:n};"apns2"===n&&delete(o=Object.assign({},o,{environment:i,topic:a})).type;return o},t.handleResponse=function(e,t){return{channels:t}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveAllPushNotificationsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.topic,a=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!i)return"Missing APNS2 topic";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n,"/remove");return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n,"/remove")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.environment,i=void 0===r?"development":r,a=t.topic,o={type:n};"apns2"===n&&delete(o=Object.assign({},o,{environment:i,topic:a})).type;return o},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUnsubscribeOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(a.default.encodeString(o),"/leave")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i={};r.length>0&&(i["channel-group"]=r.join(","));return i},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNWhereNowOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.uuid,i=void 0===r?n.UUID:r;return"/v2/presence/sub-key/".concat(n.subscribeKey,"/uuid/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){if(!t.payload)return{channels:[]};return{channels:t.payload.channels}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNHeartbeatOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(a.default.encodeString(o),"/heartbeat")},t.isAuthSupported=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i=t.state,a=void 0===i?{}:i,o=e.config,s={};r.length>0&&(s["channel-group"]=r.join(","));return s.state=JSON.stringify(a),s.heartbeat=o.getPresenceTimeout(),s},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetStateOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.uuid,i=void 0===r?n.UUID:r,o=t.channels,s=void 0===o?[]:o,u=s.length>0?s.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(a.default.encodeString(u),"/uuid/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i={};r.length>0&&(i["channel-group"]=r.join(","));return i},t.handleResponse=function(e,t,n){var r=n.channels,i=void 0===r?[]:r,a=n.channelGroups,o=void 0===a?[]:a,s={};1===i.length&&0===o.length?s[i[0]]=t.payload:s=t.payload;return{channels:s}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSetStateOperation},t.validateParams=function(e,t){var n=e.config,r=t.state,i=t.channels,a=void 0===i?[]:i,o=t.channelGroups,s=void 0===o?[]:o;if(!r)return"Missing State";if(!n.subscribeKey)return"Missing Subscribe Key";if(0===a.length&&0===s.length)return"Please provide a list of channels and/or channel-groups"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(a.default.encodeString(o),"/uuid/").concat(n.UUID,"/data")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.state,r=t.channelGroups,i=void 0===r?[]:r,a={};a.state=JSON.stringify(n),i.length>0&&(a["channel-group"]=i.join(","));return a},t.handleResponse=function(e,t){return{state:t.payload}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNHereNowOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,a=t.channelGroups,s=void 0===a?[]:a,u="/v2/presence/sub-key/".concat(n.subscribeKey);if(i.length>0||s.length>0){var c=i.length>0?i.join(","):",";u+="/channel/".concat(o.default.encodeString(c))}return u},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i=t.includeUUIDs,a=void 0===i||i,o=t.includeState,s=void 0!==o&&o,c=t.queryParameters,l=void 0===c?{}:c,f={};a||(f.disable_uuids=1);s&&(f.state=1);r.length>0&&(f["channel-group"]=r.join(","));return f=u(u({},f),l)},t.handleResponse=function(e,t,n){var r,i=n.channels,a=void 0===i?[]:i,o=n.channelGroups,s=void 0===o?[]:o,u=n.includeUUIDs,c=void 0===u||u,l=n.includeState,f=void 0!==l&&l;r=a.length>1||s.length>0||0===s.length&&0===a.length?function(){var e={};return e.totalChannels=t.payload.total_channels,e.totalOccupancy=t.payload.total_occupancy,e.channels={},Object.keys(t.payload.channels).forEach((function(n){var r=t.payload.channels[n],i=[];return e.channels[n]={occupants:i,name:n,occupancy:r.occupancy},c&&r.uuids.forEach((function(e){f?i.push({state:e.state,uuid:e.uuid}):i.push({state:null,uuid:e})})),e})),e}():function(){var e={},n=[];return e.totalChannels=1,e.totalOccupancy=t.occupancy,e.channels={},e.channels[a[0]]={occupants:n,name:a[0],occupancy:t.occupancy},c&&t.uuids&&t.uuids.forEach((function(e){f?n.push({state:e.state,uuid:e.uuid}):n.push({state:null,uuid:e})})),e}();return r};var i=r(n(4)),a=(n(2),r(n(1))),o=r(n(3));function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t15)return"Action.type value exceed maximum length of 15"},t.usePost=function(){return!0},t.postURL=function(e,t){var n=e.config,r=t.channel,i=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r,"/message/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.getRequestHeaders=function(){return{"Content-Type":"application/json"}},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.postPayload=function(e,t){return t.action},t.handleResponse=function(e,t){return{data:t.data}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveMessageActionOperation},t.validateParams=function(e,t){var n=e.config,r=t.channel,i=t.actionTimetoken;if(!t.messageTimetoken)return"Missing message timetoken";if(!i)return"Missing action timetoken";if(!n.subscribeKey)return"Missing Subscribe Key";if(!r)return"Missing message channel"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.actionTimetoken,a=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r,"/message/").concat(a,"/action/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{data:t.data}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMessageActionsOperation},t.validateParams=function(e,t){var n=e.config,r=t.channel;if(!n.subscribeKey)return"Missing Subscribe Key";if(!r)return"Missing message channel"},t.getURL=function(e,t){var n=e.config,r=t.channel;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.limit,r=t.start,i=t.end,a={};n&&(a.limit=n);r&&(a.start=r);i&&(a.end=i);return a},t.handleResponse=function(e,t){var n={data:t.data,start:null,end:null};n.data.length&&(n.end=n.data[n.data.length-1].actionTimetoken,n.start=n.data[0].actionTimetoken);return n};n(2);var i=r(n(1))},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),a={getOperation:function(){return i.default.PNListFilesOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channel))return"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(e,t){var n={};return t.limit&&(n.limit=t.limit),t.next&&(n.next=t.next),n},handleResponse:function(e,t){return{status:t.status,data:t.data,next:t.next,count:t.count}}};t.default=a,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),a={getOperation:function(){return i.default.PNGenerateUploadUrlOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?void 0:"name can't be empty":"channel can't be empty"},usePost:function(){return!0},postURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/generate-upload-url")},postPayload:function(e,t){return{name:t.name}},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status,data:t.data,file_upload_request:t.file_upload_request}}};t.default=a,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),a=r(n(1)),o=r(n(3)),s={getOperation:function(){return a.default.PNPublishFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.fileId)?(null==t?void 0:t.fileName)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config,r=n.publishKey,i=n.subscribeKey,a=function(e,t){var n=e.crypto,r=e.config,i=JSON.stringify(t);return r.cipherKey&&(i=n.encrypt(i),i=JSON.stringify(i)),i||""}(e,{message:t.message,file:{name:t.fileName,id:t.fileId}});return"/v1/files/publish-file/".concat(r,"/").concat(i,"/0/").concat(t.channel,"/0/").concat(o.default.encodeString(a))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(e,t){var n={};return t.ttl&&(n.ttl=t.ttl),void 0!==t.storeInHistory&&(n.store=t.storeInHistory?"1":"0"),t.meta&&"object"===(0,i.default)(t.meta)&&(n.meta=JSON.stringify(t.meta)),n},handleResponse:function(e,t){return{timetoken:t[2]}}};t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(21)),a=r(n(22)),o=n(16);t.default=function(e){var t,n,r,s,u,c,l,f,d,p=(r=(t=e).generateUploadUrl,s=t.publishFile,u=t.modules,c=u.PubNubFile,l=u.config,f=u.cryptography,d=u.networking,n=(0,a.default)(i.default.mark((function e(t){var n,a,u,p,h,v,g,y,b,m,_,k,P,O,T,S,M,w,N;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.channel,a=t.file,u=t.message,p=t.cipherKey,h=t.meta,v=t.ttl,g=t.storeInHistory,n){e.next=3;break}throw new o.PubNubError("Validation failed, check status for details",(0,o.createValidationError)("channel can't be empty"));case 3:if(a){e.next=5;break}throw new o.PubNubError("Validation failed, check status for details",(0,o.createValidationError)("file can't be empty"));case 5:return y=c.create(a),e.next=8,r({channel:n,name:y.name});case 8:if(b=e.sent,m=b.file_upload_request,_=m.url,k=m.form_fields,P=b.data,O=P.id,T=P.name,!(null!=p?p:l.cipherKey)){e.next=19;break}return e.next=18,f.encryptFile(null!=p?p:l.cipherKey,y,c);case 18:y=e.sent;case 19:if(S=k,y.mimeType&&(S=k.map((function(e){return"Content-Type"===e.key?{key:e.key,value:y.mimeType}:e}))),e.prev=21,!c.supportsFile){e.next=34;break}return e.t0=d,e.t1=_,e.t2=S,e.next=28,y.toFile();case 28:return e.t3=e.sent,e.next=31,e.t0.FILE.call(e.t0,e.t1,e.t2,e.t3);case 31:M=e.sent,e.next=59;break;case 34:if(!c.supportsBuffer){e.next=46;break}return e.t4=d,e.t5=_,e.t6=S,e.next=40,y.toBuffer();case 40:return e.t7=e.sent,e.next=43,e.t4.FILE.call(e.t4,e.t5,e.t6,e.t7);case 43:M=e.sent,e.next=59;break;case 46:if(!c.supportsBlob){e.next=58;break}return e.t8=d,e.t9=_,e.t10=S,e.next=52,y.toBlob();case 52:return e.t11=e.sent,e.next=55,e.t8.FILE.call(e.t8,e.t9,e.t10,e.t11);case 55:M=e.sent,e.next=59;break;case 58:throw new Error("Unsupported environment");case 59:e.next=64;break;case 61:throw e.prev=61,e.t12=e.catch(21),new o.PubNubError("Upload to bucket failed",e.t12);case 64:if(204===M.status){e.next=66;break}throw new o.PubNubError("Upload to bucket was unsuccessful",M);case 66:w=5,N=!1;case 68:if(N||!(w>0)){e.next=80;break}return e.prev=69,e.next=72,s({channel:n,message:u,fileId:O,fileName:T,meta:h,storeInHistory:g,ttl:v});case 72:N=!0,e.next=78;break;case 75:e.prev=75,e.t13=e.catch(69),w-=1;case 78:e.next=68;break;case 80:if(N){e.next=84;break}throw new o.PubNubError("Publish failed. You may want to execute that operation manually using pubnub.publishFile",{channel:n,id:O,name:T});case 84:return e.abrupt("return",{id:O,name:T});case 85:case"end":return e.stop()}}),e,null,[[21,61],[69,75]])}))),function(e){return n.apply(this,arguments)});return function(e,t){var n=p(e);return"function"==typeof t?(n.then((function(e){return t(null,e)})).catch((function(e){return t(e,null)})),n):n}},e.exports=t.default},function(e,t,n){var r=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",a=r.asyncIterator||"@@asyncIterator",o=r.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var i=t&&t.prototype instanceof f?t:f,a=Object.create(i.prototype),o=new O(r||[]);return a._invoke=function(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return S()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=_(o,n);if(s){if(s===l)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=c(e,t,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(e,n,o),a}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l={};function f(){}function d(){}function p(){}var h={};h[i]=function(){return this};var v=Object.getPrototypeOf,g=v&&v(v(T([])));g&&g!==t&&n.call(g,i)&&(h=g);var y=p.prototype=f.prototype=Object.create(h);function b(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function m(e,t){var r;this._invoke=function(i,a){function o(){return new t((function(r,o){!function r(i,a,o,s){var u=c(e[i],e,a);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,o,s)}),(function(e){r("throw",e,o,s)})):t.resolve(f).then((function(e){l.value=e,o(l)}),(function(e){return r("throw",e,o,s)}))}s(u.arg)}(i,a,r,o)}))}return r=r?r.then(o,o):o()}}function _(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=c(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,l;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function P(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function T(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),P(n),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;P(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:T(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(16);t.default=function(e,t){var n=e.config,i=t.channel,a=t.id,o=t.name;if(!i)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("channel can't be empty"));if(!a)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("file id can't be empty"));if(!o)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("file name can't be empty"));return"https://".concat(n.origin,"/v1/files/").concat(n.subscribeKey,"/channels/").concat(i,"/files/").concat(a,"/").concat(o)},e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i,a=r(n(21)),o=r(n(22)),s=r(n(1)),u={getOperation:function(){return s.default.PNDownloadFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?(null==t?void 0:t.id)?void 0:"id can't be empty":"name can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},ignoreBody:function(){return!0},forceBuffered:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:(i=(0,o.default)(a.default.mark((function e(t,n,r){var i,o,s,u,c,l;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.PubNubFile,s=t.config,u=t.cryptography,c=n.response.body,!s.cipherKey){e.next=6;break}return e.next=5,u.decrypt(null!==(l=r.cipherKey)&&void 0!==l?l:s.cipherKey,c);case 5:c=e.sent;case 6:return e.abrupt("return",o.create({data:c,name:null!==(i=n.response.name)&&void 0!==i?i:r.name,mimeType:n.response.type}));case 7:case"end":return e.stop()}}),e)}))),function(e,t,n){return i.apply(this,arguments)})};t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),a={getOperation:function(){return i.default.PNListFilesOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.id)?(null==t?void 0:t.name)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},useDelete:function(){return!0},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status}}};t.default=a,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(9)),a=r(n(1)),o={getOperation:function(){return a.default.PNGetAllUUIDMetadataOperation},validateParams:function(){},getURL:function(e){var t=e.config;return"/v2/objects/".concat(t.subscribeKey,"/uuids")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("user")},prepareParams:function(e,t){var n,r,a,o,s,u,c,l,f={};((null==t||null===(n=t.include)||void 0===n?void 0:n.customFields)&&(f.include="custom"),null==t||null===(r=t.include)||void 0===r?void 0:r.totalCount)&&(f.count=null===(s=t.include)||void 0===s?void 0:s.totalCount);(null==t||null===(a=t.page)||void 0===a?void 0:a.next)&&(f.start=null===(u=t.page)||void 0===u?void 0:u.next);(null==t||null===(o=t.page)||void 0===o?void 0:o.prev)&&(f.end=null===(c=t.page)||void 0===c?void 0:c.prev);((null==t?void 0:t.filter)&&(f.filter=t.filter),f.limit=null==t?void 0:t.limit,null==t?void 0:t.sort)&&(f.sort=Object.entries(null!==(l=t.sort)&&void 0!==l?l:{}).map((function(e){var t=(0,i.default)(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n})));return f},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,next:t.next,prev:t.prev}}};t.default=o,e.exports=t.default},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}}},function(e,t,n){var r=n(73);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(r.include=a)}return r},t.postPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateUserOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,a=t.custom;if(!r)return"Missing User.id";if(!i)return"Missing User.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(a&&!Object.values(a).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePatch=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(r)},t.patchURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.id)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.patchPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteUserOperation},t.validateParams=function(e,t){var n=e.config;if(!t)return"Missing UserId";if(!n.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t)||e.tokenManager.getToken("user")},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetUserOperation},t.validateParams=function(e,t){if(!t.userId)return"Missing userId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetUsersOperation},t.validateParams=function(){},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/users")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e){return e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a=t.filter,o={};r&&(o.limit=r);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom");var u=s.join(",");u.length>0&&(o.include=u)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));a&&(o.filter=a);return o},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNCreateSpaceOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,a=t.custom;if(!r)return"Missing Space.id";if(!i)return"Missing Space.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(a&&!Object.values(a).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePost=function(){return!0},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.postURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.id)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.postPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateSpaceOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,a=t.custom;if(!r)return"Missing Space.id";if(!i)return"Missing Space.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(a&&!Object.values(a).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePatch=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(r)},t.patchURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.id)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.patchPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteSpaceOperation},t.validateParams=function(e,t){var n=e.config;if(!t)return"Missing SpaceId";if(!n.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t)||e.tokenManager.getToken("space")},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetSpacesOperation},t.validateParams=function(){},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e){return e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a=t.filter,o={};r&&(o.limit=r);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom");var u=s.join(",");u.length>0&&(o.include=u)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));a&&(o.filter=a);return o},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetSpaceOperation},t.validateParams=function(e,t){if(!t.spaceId)return"Missing spaceId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var a=i.join(",");a.length>0&&(r.include=a)}return r},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMembersOperation},t.validateParams=function(e,t){if(!t.spaceId)return"Missing spaceId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a=t.filter,o={};r&&(o.limit=r);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.userFields&&s.push("user"),n.customUserFields&&s.push("user.custom");var u=s.join(",");u.length>0&&(o.include=u)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));a&&(o.filter=a);return o},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.users,r={};n&&n.length>0&&(r.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),r.add.push(t)})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.addMembers,r=t.updateMembers,i=t.removeMembers,a=t.users,o={};n&&n.length>0&&(o.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.add.push(t)})));r&&r.length>0&&(o.update=[],r.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.update.push(t)})));a&&a.length>0&&(o.update=o.update||[],a.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.update.push(t)})));i&&i.length>0&&(o.remove=[],i.forEach((function(e){o.remove.push({id:e})})));return o}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.users,r={};n&&n.length>0&&(r.remove=[],n.forEach((function(e){r.remove.push({id:e})})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMembershipsOperation},t.validateParams=function(e,t){if(!t.userId)return"Missing userId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a=t.filter,o={};r&&(o.limit=r);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var u=s.join(",");u.length>0&&(o.include=u)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));a&&(o.filter=a);return o},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.addMemberships,r=t.updateMemberships,i=t.removeMemberships,a=t.spaces,o={};n&&n.length>0&&(o.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.add.push(t)})));r&&r.length>0&&(o.update=[],r.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.update.push(t)})));a&&a.length>0&&(o.update=o.update||[],a.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),o.update.push(t)})));i&&i.length>0&&(o.remove=[],i.forEach((function(e){o.remove.push({id:e})})));return o}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.spaces,r={};n&&n.length>0&&(r.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),r.add.push(t)})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,a={};r&&(a.limit=r);if(n){var o=[];n.totalCount&&(a.count=!0),n.customFields&&o.push("custom"),n.spaceFields&&o.push("space"),n.customSpaceFields&&o.push("space.custom");var s=o.join(",");s.length>0&&(a.include=s)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));return a},t.patchPayload=function(e,t){return function(e,t){var n=t.spaces,r={};n&&n.length>0&&(r.remove=[],n.forEach((function(e){r.remove.push({id:e})})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerAudit},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e){var t=e.config;return"/v2/auth/audit/sub-key/".concat(t.subscribeKey)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(e,t){var n=t.channel,r=t.channelGroup,i=t.authKeys,a=void 0===i?[]:i,o={};n&&(o.channel=n);r&&(o["channel-group"]=r);a.length>0&&(o.auth=a.join(","));return o},t.handleResponse=function(e,t){return t.payload};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerGrant},t.validateParams=function(e){var t=e.config;if(!t.subscribeKey)return"Missing Subscribe Key";if(!t.publishKey)return"Missing Publish Key";if(!t.secretKey)return"Missing Secret Key"},t.getURL=function(e){var t=e.config;return"/v2/auth/grant/sub-key/".concat(t.subscribeKey)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(e,t){var n=t.channels,r=void 0===n?[]:n,i=t.channelGroups,a=void 0===i?[]:i,o=t.ttl,s=t.read,u=void 0!==s&&s,c=t.write,l=void 0!==c&&c,f=t.manage,d=void 0!==f&&f,p=t.authKeys,h=void 0===p?[]:p,v=t.delete,g={};g.r=u?"1":"0",g.w=l?"1":"0",g.m=d?"1":"0",g.d=v?"1":"0",r.length>0&&(g.channel=r.join(","));a.length>0&&(g["channel-group"]=a.join(","));h.length>0&&(g.auth=h.join(","));(o||0===o)&&(g.ttl=o);return g},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerGrantToken},t.extractPermissions=a,t.validateParams=function(e,t){var n=e.config;if(!n.subscribeKey)return"Missing Subscribe Key";if(!n.publishKey)return"Missing Publish Key";if(!n.secretKey)return"Missing Secret Key";if(!t.resources&&!t.patterns)return"Missing either Resources or Patterns.";if(t.resources&&(!t.resources.users||0===Object.keys(t.resources.users).length)&&(!t.resources.spaces||0===Object.keys(t.resources.spaces).length)||t.patterns&&(!t.patterns.users||0===Object.keys(t.patterns.users).length)&&(!t.patterns.spaces||0===Object.keys(t.patterns.spaces).length))return"Missing values for either Resources or Patterns."},t.postURL=function(e){var t=e.config;return"/v3/pam/".concat(t.subscribeKey,"/grant")},t.usePost=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(){return{}},t.postPayload=function(e,t){return function(e,t){var n=t.ttl,r=t.resources,i=t.patterns,o=t.meta,s={ttl:0,permissions:{resources:{channels:{},groups:{},users:{},spaces:{}},patterns:{channels:{},groups:{},users:{},spaces:{}},meta:{}}};if(r){var u=r.users,c=r.spaces;u&&Object.keys(u).forEach((function(e){s.permissions.resources.users[e]=a(u[e])})),c&&Object.keys(c).forEach((function(e){s.permissions.resources.spaces[e]=a(c[e])}))}if(i){var l=i.users,f=i.spaces;l&&Object.keys(l).forEach((function(e){s.permissions.patterns.users[e]=a(l[e])})),f&&Object.keys(f).forEach((function(e){s.permissions.patterns.spaces[e]=a(f[e])}))}(n||0===n)&&(s.ttl=n);o&&(s.permissions.meta=o);return s}(0,t)},t.handleResponse=function(e,t){return t.data.token};n(2);var i=r(n(1));function a(e){var t=0;return e.create&&(t|=16),e.delete&&(t|=8),e.manage&&(t|=4),e.write&&(t|=2),e.read&&(t|=1),t}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNPublishOperation},t.validateParams=function(e,t){var n=e.config,r=t.message;if(!t.channel)return"Missing Channel";if(!r)return"Missing Message";if(!n.subscribeKey)return"Missing Subscribe Key"},t.usePost=function(e,t){var n=t.sendByPost;return void 0!==n&&n},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.message,a=s(e,i);return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(o.default.encodeString(r),"/0/").concat(o.default.encodeString(a))},t.postURL=function(e,t){var n=e.config,r=t.channel;return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(o.default.encodeString(r),"/0")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.postPayload=function(e,t){var n=t.message;return s(e,n)},t.prepareParams=function(e,t){var n=t.meta,r=t.replicate,a=void 0===r||r,o=t.storeInHistory,s=t.ttl,u={};null!=o&&(u.store=o?"1":"0");s&&(u.ttl=s);!1===a&&(u.norep="true");n&&"object"===(0,i.default)(n)&&(u.meta=JSON.stringify(n));return u},t.handleResponse=function(e,t){return{timetoken:t[2]}};var i=r(n(7)),a=(n(2),r(n(1))),o=r(n(3));function s(e,t){var n=e.crypto,r=e.config,i=JSON.stringify(t);return r.cipherKey&&(i=n.encrypt(i),i=JSON.stringify(i)),i}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSignalOperation},t.validateParams=function(e,t){var n=e.config,r=t.message;if(!t.channel)return"Missing Channel";if(!r)return"Missing Message";if(!n.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.message,o=(s=i,JSON.stringify(s));var s;return"/signal/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(a.default.encodeString(r),"/0/").concat(a.default.encodeString(o))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{timetoken:t[2]}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNHistoryOperation},t.validateParams=function(e,t){var n=t.channel,r=e.config;if(!n)return"Missing channel";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channel,r=e.config;return"/v2/history/sub-key/".concat(r.subscribeKey,"/channel/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i=t.reverse,a=t.count,o=void 0===a?100:a,s=t.stringifiedTimeToken,u=void 0!==s&&s,c=t.includeMeta,l=void 0!==c&&c,f={include_token:"true"};f.count=o,n&&(f.start=n);r&&(f.end=r);u&&(f.string_message_token="true");null!=i&&(f.reverse=i.toString());l&&(f.include_meta="true");return f},t.handleResponse=function(e,t){var n={messages:[],startTimeToken:t[1],endTimeToken:t[2]};Array.isArray(t[0])&&t[0].forEach((function(t){var r={timetoken:t.timetoken,entry:o(e,t.message)};t.meta&&(r.meta=t.meta),n.messages.push(r)}));return n};n(2);var i=r(n(1)),a=r(n(3));function o(e,t){var n=e.config,r=e.crypto;if(!n.cipherKey)return t;try{return r.decrypt(t)}catch(e){return t}}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteMessagesOperation},t.validateParams=function(e,t){var n=t.channel,r=e.config;if(!n)return"Missing channel";if(!r.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=t.channel,r=e.config;return"/v3/history/sub-key/".concat(r.subscribeKey,"/channel/").concat(a.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i={};n&&(i.start=n);r&&(i.end=r);return i},t.handleResponse=function(e,t){return t.payload};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNMessageCounts},t.validateParams=function(e,t){var n=t.channels,r=t.timetoken,i=t.channelTimetokens,a=e.config;if(!n)return"Missing channel";if(r&&i)return"timetoken and channelTimetokens are incompatible together";if(r&&i&&i.length>1&&n.length!==i.length)return"Length of channelTimetokens and channels do not match";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channels,r=e.config,i=n.join(",");return"/v3/history/sub-key/".concat(r.subscribeKey,"/message-counts/").concat(o.default.encodeString(i))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.timetoken,r=t.channelTimetokens,a={};if(r&&1===r.length){var o=(0,i.default)(r,1)[0];a.timetoken=o}else r?a.channelsTimetoken=r.join(","):n&&(a.timetoken=n);return a},t.handleResponse=function(e,t){return{channels:t.channels}};var i=r(n(9)),a=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNFetchMessagesOperation},t.validateParams=function(e,t){var n=t.channels,r=t.includeMessageActions,i=void 0!==r&&r,a=e.config;if(!n||0===n.length)return"Missing channels";if(!a.subscribeKey)return"Missing Subscribe Key";if(i&&n.length>1)throw new TypeError("History can return actions data for a single channel only. Either pass a single channel or disable the includeMessageActions flag.")},t.getURL=function(e,t){var n=t.channels,r=void 0===n?[]:n,i=t.includeMessageActions,o=void 0!==i&&i,s=e.config,u=o?"history-with-actions":"history",c=r.length>0?r.join(","):",";return"/v3/".concat(u,"/sub-key/").concat(s.subscribeKey,"/channel/").concat(a.default.encodeString(c))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i=t.count,a=t.stringifiedTimeToken,o=void 0!==a&&a,s=t.includeMeta,u=void 0!==s&&s,c=t.includeUuid,l=t.includeUUID,f=void 0===l||l,d=t.includeMessageType,p=void 0===d||d,h={};i&&(h.max=i);n&&(h.start=n);r&&(h.end=r);o&&(h.string_message_token="true");u&&(h.include_meta="true");f&&!1!==c&&(h.include_uuid="true");p&&(h.include_message_type="true");return h},t.handleResponse=function(e,t){var n={channels:{}};return Object.keys(t.channels||{}).forEach((function(r){n.channels[r]=[],(t.channels[r]||[]).forEach((function(t){var i={};i.channel=r,i.timetoken=t.timetoken,i.message=function(e,t){var n=e.config,r=e.crypto;if(!n.cipherKey)return t;try{return r.decrypt(t)}catch(e){return t}}(e,t.message),i.messageType=t.message_type,i.uuid=t.uuid,t.actions&&(i.actions=t.actions,i.data=t.actions),t.meta&&(i.meta=t.meta),n.channels[r].push(i)}))})),n};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSubscribeOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=i.length>0?i.join(","):",";return"/v2/subscribe/".concat(n.subscribeKey,"/").concat(a.default.encodeString(o),"/0")},t.getRequestTimeout=function(e){return e.config.getSubscribeTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=e.config,r=t.state,i=t.channelGroups,a=void 0===i?[]:i,o=t.timetoken,s=t.filterExpression,u=t.region,c={heartbeat:n.getPresenceTimeout()};a.length>0&&(c["channel-group"]=a.join(","));s&&s.length>0&&(c["filter-expr"]=s);Object.keys(r).length&&(c.state=JSON.stringify(r));o&&(c.tt=o);u&&(c.tr=u);return c},t.handleResponse=function(e,t){var n=[];t.m.forEach((function(e){var t={publishTimetoken:e.p.t,region:e.p.r},r={shard:parseInt(e.a,10),subscriptionMatch:e.b,channel:e.c,messageType:e.e,payload:e.d,flags:e.f,issuingClientId:e.i,subscribeKey:e.k,originationTimetoken:e.o,userMetadata:e.u,publishMetaData:t};n.push(r)}));var r={timetoken:t.t.t,region:t.t.r};return{messages:n,metadata:r}};n(2);var i=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=(r(n(8)),r(n(11))),u=(n(2),function(){function e(t){var n=this;(0,i.default)(this,e),(0,o.default)(this,"_modules",void 0),(0,o.default)(this,"_config",void 0),(0,o.default)(this,"_maxSubDomain",void 0),(0,o.default)(this,"_currentSubDomain",void 0),(0,o.default)(this,"_standardOrigin",void 0),(0,o.default)(this,"_subscribeOrigin",void 0),(0,o.default)(this,"_providedFQDN",void 0),(0,o.default)(this,"_requestTimeout",void 0),(0,o.default)(this,"_coreParams",void 0),this._modules={},Object.keys(t).forEach((function(e){n._modules[e]=t[e].bind(n)}))}return(0,a.default)(e,[{key:"init",value:function(e){this._config=e,this._maxSubDomain=20,this._currentSubDomain=Math.floor(Math.random()*this._maxSubDomain),this._providedFQDN=(this._config.secure?"https://":"http://")+this._config.origin,this._coreParams={},this.shiftStandardOrigin()}},{key:"nextOrigin",value:function(){return this._providedFQDN.match(/ps\.pndsn\.com$/i)?(this._currentSubDomain+=1,this._currentSubDomain>=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("ps.pndsn.com","ps".concat(e,".pndsn.com"))):this._providedFQDN;var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"FILE",value:function(e,t,n){return this._modules.file(e,t,n)}},{key:"POST",value:function(e,t,n,r){return this._modules.post(e,t,n,r)}},{key:"PATCH",value:function(e,t,n,r){return this._modules.patch(e,t,n,r)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return s.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return s.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return s.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return s.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return s.default.PNNetworkIssuesCategory;if(e.timeout)return s.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return s.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return s.default.PNBadRequestCategory;if(e.response.forbidden)return s.default.PNAccessDeniedCategory}return s.default.PNUnknownCategory}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),a=r(n(6)),o=r(n(4)),s=function(){function e(){(0,i.default)(this,e),(0,o.default)(this,"storage",void 0),this.storage={}}return(0,a.default)(e,[{key:"get",value:function(e){return this.storage[e]}},{key:"set",value:function(e,t){this.storage[e]=t}}]),e}();t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),a=r(n(5)),o=r(n(6)),s=r(n(4)),u=function(){function e(t,n){(0,a.default)(this,e),(0,s.default)(this,"_base64ToBinary",void 0),(0,s.default)(this,"_cborReader",void 0),this._base64ToBinary=n,this._decode=t}return(0,o.default)(e,[{key:"decodeToken",value:function(e){var t="";e.length%4==3?t="=":e.length%4==2&&(t="==");var n=e.replace(/-/gi,"+").replace(/_/gi,"/")+t,r=this._decode(this._base64ToBinary(n));if("object"===(0,i.default)(r))return r}}]),e}();t.default=u,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.get=function(e,t,n){var r=i(),a=this.getStandardOrigin()+t.url;return o.call(this,r,"GET",a,e,{},t,n)},t.post=function(e,t,n,r){var a=i(),s=this.getStandardOrigin()+n.url;return o.call(this,a,"POST",s,e,JSON.parse(t),n,r)},t.patch=function(e,t,n,r){var a=i(),s=this.getStandardOrigin()+n.url;return o.call(this,a,"PATCH",s,e,JSON.parse(t),n,r)},t.del=function(e,t,n){var r=i(),a=this.getStandardOrigin()+t.url;return o.call(this,r,"DELETE",a,e,{},t,n)};n(2);var r=n(118);function i(){return"mobileweb"===Ti.Platform.osname?new XMLHttpRequest:Ti.Network.createHTTPClient()}function a(e){"mobileweb"!==Ti.Platform.osname&&this._config.keepAlive&&(e.enableKeepAlive=!0)}function o(e,t,n,i,o,s,u){var c=this,l={};l.operation=s.operation,e.open(t,(0,r.buildUrl)(n,i),!0),a.call(this,e),e.onload=function(){l.error=!1,e.status&&(l.statusCode=e.status);var t=JSON.parse(e.responseText);return c._config.logVerbosity&&function(e,t,n){var r=(new Date).getTime(),i=(new Date).toISOString(),a=Ti&&Ti.API&&Ti.API.log?Ti.API:console;a.log("<<<<<"),a.log("[".concat(i,"]"),"\n",e,"\n",t),a.log("-----");var o=(new Date).getTime()-r,s=(new Date).toISOString();a.log(">>>>>>"),a.log("[".concat(s," / ").concat(o,"]"),"\n",e,"\n",t,"\n",n),a.log("-----")}(n,i,e.responseText),u(l,t)},e.onerror=function(e){return l.error=!0,l.errorData=e.error,l.category=c._detectErrorCategory(e.error),u(l,null)},e.timeout="android"===Ti.Platform.osname?2147483647:1/0,e.send(o)}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.encodedKeyValuePair=a,t.buildUrl=function(e,t){var n=[];return Object.keys(t).forEach((function(e){a(n,e,t[e])})),"".concat(e,"?").concat(n.join("&"))};var i=r(n(7));function a(e,t,n){null!=n?Array.isArray(n)?n.forEach((function(n){a(e,t,n)})):"object"===(0,i.default)(n)?Object.keys(n).forEach((function(r){a(e,"".concat(t,"[").concat(r,"]"),n[r])})):e.push("".concat(encodeURIComponent(t),"=").concat(encodeURIComponent(n))):null===n&&e.push(encodeURIComponent("".concat(encodeURIComponent(t))))}}]),module.exports=exports.PubNub; \ No newline at end of file diff --git a/dist/web/pubnub.js b/dist/web/pubnub.js index f7ae369e9..5198cc46d 100644 --- a/dist/web/pubnub.js +++ b/dist/web/pubnub.js @@ -1,4 +1,4 @@ -/*! 4.29.2 / Consumer */ +/*! 4.29.3 / Consumer */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -92,7 +92,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 28); +/******/ return __webpack_require__(__webpack_require__.s = 27); /******/ }) /************************************************************************/ /******/ ([ @@ -261,7 +261,7 @@ module.exports = { encodeString: encodeString, deprecated: deprecated }; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(25))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(39))) /***/ }), /* 4 */ @@ -576,7 +576,7 @@ var _default = function () { }, { key: "getVersion", value: function getVersion() { - return '4.29.2'; + return '4.29.3'; } }, { key: "_addPnsdkSuffix", @@ -788,7 +788,7 @@ Object.defineProperty(exports, "__esModule", { }); exports["default"] = void 0; -var _lilUuid = _interopRequireDefault(__webpack_require__(32)); +var _lilUuid = _interopRequireDefault(__webpack_require__(31)); var _default = { createUUID: function createUUID() { @@ -940,6 +940,11 @@ function signRequest(modules, url, outgoingParams, incomingParams, endpoint) { crypto = modules.crypto; var httpMethod = getHttpMethod(modules, endpoint, incomingParams); outgoingParams.timestamp = Math.floor(new Date().getTime() / 1000); + + if (endpoint.getOperation() === 'PNPublishOperation' && endpoint.usePost && endpoint.usePost(modules, incomingParams)) { + httpMethod = 'GET'; + } + var signInput = "".concat(httpMethod, "\n").concat(config.publishKey, "\n").concat(url, "\n").concat(_utils["default"].signPamFromParams(outgoingParams), "\n"); if (httpMethod === 'POST') { @@ -1368,9 +1373,9 @@ module.exports = exports.default; -var base64 = __webpack_require__(34) -var ieee754 = __webpack_require__(35) -var isArray = __webpack_require__(36) +var base64 = __webpack_require__(33) +var ieee754 = __webpack_require__(34) +var isArray = __webpack_require__(35) exports.Buffer = Buffer exports.SlowBuffer = SlowBuffer @@ -3148,7 +3153,7 @@ function isnan (val) { return val !== val // eslint-disable-line no-self-compare } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(33))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(32))) /***/ }), /* 22 */ @@ -4255,203 +4260,13 @@ function validateParams() {} /***/ }), /* 25 */ -/***/ (function(module, exports) { - -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } - - -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } - - - -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - - -/***/ }), -/* 26 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /***/ }), -/* 27 */ +/* 26 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4473,7 +4288,7 @@ module.exports = isObject; /***/ }), -/* 28 */ +/* 27 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4496,9 +4311,9 @@ var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(12)); var _typeof2 = _interopRequireDefault(__webpack_require__(7)); -var _cborJs = _interopRequireDefault(__webpack_require__(29)); +var _cborJs = _interopRequireDefault(__webpack_require__(28)); -var _pubnubCommon = _interopRequireDefault(__webpack_require__(30)); +var _pubnubCommon = _interopRequireDefault(__webpack_require__(29)); var _networking = _interopRequireDefault(__webpack_require__(121)); @@ -4646,7 +4461,7 @@ exports["default"] = _default; module.exports = exports.default; /***/ }), -/* 29 */ +/* 28 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* @@ -5059,13 +4874,13 @@ else {} /***/ }), -/* 30 */ +/* 29 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _interopRequireWildcard = __webpack_require__(31); +var _interopRequireWildcard = __webpack_require__(30); var _interopRequireDefault = __webpack_require__(0); @@ -5084,7 +4899,7 @@ var _config = _interopRequireDefault(__webpack_require__(8)); var _index = _interopRequireDefault(__webpack_require__(20)); -var _subscription_manager = _interopRequireDefault(__webpack_require__(37)); +var _subscription_manager = _interopRequireDefault(__webpack_require__(36)); var _telemetry_manager = _interopRequireDefault(__webpack_require__(40)); @@ -5134,7 +4949,7 @@ var removeMessageActionEndpointConfig = _interopRequireWildcard(__webpack_requir var getMessageActionEndpointConfig = _interopRequireWildcard(__webpack_require__(66)); -var _file = __webpack_require__(26); +var _file = __webpack_require__(25); var fileUploadTypes = _interopRequireWildcard(__webpack_require__(67)); @@ -5604,7 +5419,7 @@ exports["default"] = _default; module.exports = exports.default; /***/ }), -/* 31 */ +/* 30 */ /***/ (function(module, exports, __webpack_require__) { var _typeof = __webpack_require__(7); @@ -5664,7 +5479,7 @@ function _interopRequireWildcard(obj) { module.exports = _interopRequireWildcard; /***/ }), -/* 32 */ +/* 31 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! lil-uuid - v0.1 - MIT License - https://github.com/lil-js/uuid */ @@ -5708,7 +5523,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 33 */ +/* 32 */ /***/ (function(module, exports) { var g; @@ -5734,7 +5549,7 @@ module.exports = g; /***/ }), -/* 34 */ +/* 33 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5893,7 +5708,7 @@ function fromByteArray (uint8) { /***/ }), -/* 35 */ +/* 34 */ /***/ (function(module, exports) { exports.read = function (buffer, offset, isLE, mLen, nBytes) { @@ -5983,7 +5798,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { /***/ }), -/* 36 */ +/* 35 */ /***/ (function(module, exports) { var toString = {}.toString; @@ -5994,7 +5809,7 @@ module.exports = Array.isArray || function (arr) { /***/ }), -/* 37 */ +/* 36 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6021,9 +5836,9 @@ var _config = _interopRequireDefault(__webpack_require__(8)); var _listener_manager = _interopRequireDefault(__webpack_require__(23)); -var _reconnection_manager = _interopRequireDefault(__webpack_require__(38)); +var _reconnection_manager = _interopRequireDefault(__webpack_require__(37)); -var _deduping_manager = _interopRequireDefault(__webpack_require__(39)); +var _deduping_manager = _interopRequireDefault(__webpack_require__(38)); var _utils = _interopRequireDefault(__webpack_require__(3)); @@ -6679,6 +6494,10 @@ var _default = function () { } } + if (message.userMetadata) { + _announce4.userMetadata = message.userMetadata; + } + _announce4.message = msgPayload.message; _announce4.file = { id: msgPayload.file.id, @@ -6738,7 +6557,7 @@ exports["default"] = _default; module.exports = exports.default; /***/ }), -/* 38 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6807,7 +6626,7 @@ exports["default"] = _default; module.exports = exports.default; /***/ }), -/* 39 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6886,6 +6705,196 @@ var _default = function () { exports["default"] = _default; module.exports = exports.default; +/***/ }), +/* 39 */ +/***/ (function(module, exports) { + +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + + /***/ }), /* 40 */ /***/ (function(module, exports, __webpack_require__) { @@ -9631,13 +9640,25 @@ var endpoint = { var tokenManager = _ref3.tokenManager; return tokenManager.getToken('fileUpload'); }, - prepareParams: function prepareParams() { - return {}; + prepareParams: function prepareParams(_, params) { + var outParams = {}; + + if (params.limit) { + outParams.limit = params.limit; + } + + if (params.next) { + outParams.next = params.next; + } + + return outParams; }, handleResponse: function handleResponse(_, response) { return { status: response.status, - data: response.data + data: response.data, + next: response.next, + count: response.count }; } }; @@ -9794,8 +9815,8 @@ var endpoint = { outParams.ttl = params.ttl; } - if (params.store) { - outParams.store = params.store ? '1' : '0'; + if (params.storeInHistory !== undefined) { + outParams.store = params.storeInHistory ? '1' : '0'; } if (params.meta && (0, _typeof2["default"])(params.meta) === 'object') { @@ -9844,13 +9865,13 @@ var sendFile = function sendFile(_ref) { networking = _ref$modules.networking; return function () { var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(_ref2) { - var channel, input, message, cipherKey, meta, ttl, store, file, _yield$generateUpload, _yield$generateUpload2, url, formFields, _yield$generateUpload3, id, name, formFieldsWithMimeType, result, retries, wasSuccessful; + var channel, input, message, cipherKey, meta, ttl, storeInHistory, file, _yield$generateUpload, _yield$generateUpload2, url, formFields, _yield$generateUpload3, id, name, formFieldsWithMimeType, result, retries, wasSuccessful; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: - channel = _ref2.channel, input = _ref2.file, message = _ref2.message, cipherKey = _ref2.cipherKey, meta = _ref2.meta, ttl = _ref2.ttl, store = _ref2.store; + channel = _ref2.channel, input = _ref2.file, message = _ref2.message, cipherKey = _ref2.cipherKey, meta = _ref2.meta, ttl = _ref2.ttl, storeInHistory = _ref2.storeInHistory; if (channel) { _context.next = 3; @@ -9900,18 +9921,16 @@ var sendFile = function sendFile(_ref) { if (file.mimeType) { formFieldsWithMimeType = formFields.map(function (entry) { - var _file$mimeType; - if (entry.key === 'Content-Type') return { key: entry.key, - value: (_file$mimeType = file.mimeType) !== null && _file$mimeType !== void 0 ? _file$mimeType : '' + value: file.mimeType };else return entry; }); } _context.prev = 21; - if (!(typeof Blob !== 'undefined')) { + if (!PubNubFile.supportsFile) { _context.next = 34; break; } @@ -9929,80 +9948,112 @@ var sendFile = function sendFile(_ref) { case 31: result = _context.sent; - _context.next = 43; + _context.next = 59; break; case 34: + if (!PubNubFile.supportsBuffer) { + _context.next = 46; + break; + } + _context.t4 = networking; _context.t5 = url; _context.t6 = formFieldsWithMimeType; - _context.next = 39; + _context.next = 40; return file.toBuffer(); - case 39: + case 40: _context.t7 = _context.sent; - _context.next = 42; + _context.next = 43; return _context.t4.FILE.call(_context.t4, _context.t5, _context.t6, _context.t7); - case 42: + case 43: result = _context.sent; + _context.next = 59; + break; - case 43: - _context.next = 48; + case 46: + if (!PubNubFile.supportsBlob) { + _context.next = 58; + break; + } + + _context.t8 = networking; + _context.t9 = url; + _context.t10 = formFieldsWithMimeType; + _context.next = 52; + return file.toBlob(); + + case 52: + _context.t11 = _context.sent; + _context.next = 55; + return _context.t8.FILE.call(_context.t8, _context.t9, _context.t10, _context.t11); + + case 55: + result = _context.sent; + _context.next = 59; + break; + + case 58: + throw new Error('Unsupported environment'); + + case 59: + _context.next = 64; break; - case 45: - _context.prev = 45; - _context.t8 = _context["catch"](21); - throw new _endpoint.PubNubError('Upload to bucket failed', _context.t8); + case 61: + _context.prev = 61; + _context.t12 = _context["catch"](21); + throw new _endpoint.PubNubError('Upload to bucket failed', _context.t12); - case 48: + case 64: if (!(result.status !== 204)) { - _context.next = 50; + _context.next = 66; break; } throw new _endpoint.PubNubError('Upload to bucket was unsuccessful', result); - case 50: + case 66: retries = 5; wasSuccessful = false; - case 52: + case 68: if (!(!wasSuccessful && retries > 0)) { - _context.next = 64; + _context.next = 80; break; } - _context.prev = 53; - _context.next = 56; + _context.prev = 69; + _context.next = 72; return publishFile({ channel: channel, message: message, fileId: id, fileName: name, meta: meta, - store: store, + storeInHistory: storeInHistory, ttl: ttl }); - case 56: + case 72: wasSuccessful = true; - _context.next = 62; + _context.next = 78; break; - case 59: - _context.prev = 59; - _context.t9 = _context["catch"](53); + case 75: + _context.prev = 75; + _context.t13 = _context["catch"](69); retries -= 1; - case 62: - _context.next = 52; + case 78: + _context.next = 68; break; - case 64: + case 80: if (wasSuccessful) { - _context.next = 68; + _context.next = 84; break; } @@ -10012,18 +10063,18 @@ var sendFile = function sendFile(_ref) { name: name }); - case 68: + case 84: return _context.abrupt("return", { id: id, name: name }); - case 69: + case 85: case "end": return _context.stop(); } } - }, _callee, null, [[21, 45], [53, 59]]); + }, _callee, null, [[21, 61], [69, 75]]); })); return function (_x) { @@ -10839,7 +10890,7 @@ var _default = function _default(_ref, _ref2) { throw new _endpoint.PubNubError('Validation failed, check status for details', (0, _endpoint.createValidationError)("file name can't be empty")); } - return "".concat(config.origin, "/v1/files/").concat(config.subscribeKey, "/channels/").concat(channel, "/files/").concat(id, "/").concat(name); + return "https://".concat(config.origin, "/v1/files/").concat(config.subscribeKey, "/channels/").concat(channel, "/files/").concat(id, "/").concat(name); }; exports["default"] = _default; @@ -14997,11 +15048,7 @@ function prepareParams(modules, incomingParams) { _incomingParams$strin = incomingParams.stringifiedTimeToken, stringifiedTimeToken = _incomingParams$strin === void 0 ? false : _incomingParams$strin, _incomingParams$inclu = incomingParams.includeMeta, - includeMeta = _incomingParams$inclu === void 0 ? false : _incomingParams$inclu, - _incomingParams$inclu2 = incomingParams.includeUuid, - includeUuid = _incomingParams$inclu2 === void 0 ? true : _incomingParams$inclu2, - _incomingParams$inclu3 = incomingParams.includeMessageType, - includeMessageType = _incomingParams$inclu3 === void 0 ? true : _incomingParams$inclu3; + includeMeta = _incomingParams$inclu === void 0 ? false : _incomingParams$inclu; var outgoingParams = { include_token: 'true' }; @@ -15011,8 +15058,6 @@ function prepareParams(modules, incomingParams) { if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (reverse != null) outgoingParams.reverse = reverse.toString(); if (includeMeta) outgoingParams.include_meta = 'true'; - if (includeUuid) outgoingParams.include_uuid = 'true'; - if (includeMessageType) outgoingParams.include_message_type = 'true'; return outgoingParams; } @@ -15276,8 +15321,9 @@ function prepareParams(modules, incomingParams) { stringifiedTimeToken = _incomingParams$strin === void 0 ? false : _incomingParams$strin, _incomingParams$inclu3 = incomingParams.includeMeta, includeMeta = _incomingParams$inclu3 === void 0 ? false : _incomingParams$inclu3, - _incomingParams$inclu4 = incomingParams.includeUuid, - includeUuid = _incomingParams$inclu4 === void 0 ? true : _incomingParams$inclu4, + includeUuid = incomingParams.includeUuid, + _incomingParams$inclu4 = incomingParams.includeUUID, + includeUUID = _incomingParams$inclu4 === void 0 ? true : _incomingParams$inclu4, _incomingParams$inclu5 = incomingParams.includeMessageType, includeMessageType = _incomingParams$inclu5 === void 0 ? true : _incomingParams$inclu5; var outgoingParams = {}; @@ -15286,7 +15332,7 @@ function prepareParams(modules, incomingParams) { if (end) outgoingParams.end = end; if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (includeMeta) outgoingParams.include_meta = 'true'; - if (includeUuid) outgoingParams.include_uuid = 'true'; + if (includeUUID && includeUuid !== false) outgoingParams.include_uuid = 'true'; if (includeMessageType) outgoingParams.include_message_type = 'true'; return outgoingParams; } @@ -15904,7 +15950,7 @@ if (typeof window !== 'undefined') { // Browser window var Emitter = __webpack_require__(126); var RequestBase = __webpack_require__(127); -var isObject = __webpack_require__(27); +var isObject = __webpack_require__(26); var ResponseBase = __webpack_require__(128); var Agent = __webpack_require__(130); @@ -17001,7 +17047,7 @@ Emitter.prototype.hasListeners = function(event){ /** * Module of mixed-in functions shared between node and client code */ -var isObject = __webpack_require__(27); +var isObject = __webpack_require__(26); /** * Expose `RequestBase`. @@ -17963,7 +18009,7 @@ var _createClass2 = _interopRequireDefault(__webpack_require__(6)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(4)); -var _isomorphicWebcrypto = _interopRequireDefault(__webpack_require__(137)); +var _isomorphicWebcrypto = _interopRequireDefault(__webpack_require__(133)); function concatArrayBuffer(ab1, ab2) { var tmp = new Uint8Array(ab1.byteLength + ab2.byteLength); @@ -18374,9 +18420,7 @@ var _createClass2 = _interopRequireDefault(__webpack_require__(6)); var _defineProperty2 = _interopRequireDefault(__webpack_require__(4)); -var _mimeTypes = __webpack_require__(133); - -var _ = __webpack_require__(26); +var _ = __webpack_require__(25); var _class, _temp; @@ -18407,8 +18451,6 @@ var PubNubFile = (_temp = _class = function () { if (config.mimeType) { this.mimeType = config.mimeType; - } else { - this.mimeType = (0, _mimeTypes.lookup)(this.name); } } @@ -18469,17 +18511,41 @@ var PubNubFile = (_temp = _class = function () { return toStream; }() + }, { + key: "toBlob", + value: function () { + var _toBlob = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", this.data); + + case 1: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function toBlob() { + return _toBlob.apply(this, arguments); + } + + return toBlob; + }() }, { key: "toArrayBuffer", value: function () { - var _toArrayBuffer = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() { + var _toArrayBuffer = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() { var _this = this; - return _regenerator["default"].wrap(function _callee3$(_context3) { + return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { - switch (_context3.prev = _context3.next) { + switch (_context4.prev = _context4.next) { case 0: - return _context3.abrupt("return", new Promise(function (resolve, reject) { + return _context4.abrupt("return", new Promise(function (resolve, reject) { var reader = new FileReader(); reader.addEventListener('load', function () { if (reader.result instanceof ArrayBuffer) { @@ -18494,10 +18560,10 @@ var PubNubFile = (_temp = _class = function () { case 1: case "end": - return _context3.stop(); + return _context4.stop(); } } - }, _callee3); + }, _callee4); })); function toArrayBuffer() { @@ -18509,14 +18575,14 @@ var PubNubFile = (_temp = _class = function () { }, { key: "toString", value: function () { - var _toString = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() { + var _toString = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() { var _this2 = this; - return _regenerator["default"].wrap(function _callee4$(_context4) { + return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) { - switch (_context4.prev = _context4.next) { + switch (_context5.prev = _context5.next) { case 0: - return _context4.abrupt("return", new Promise(function (resolve, reject) { + return _context5.abrupt("return", new Promise(function (resolve, reject) { var reader = new FileReader(); reader.addEventListener('load', function () { if (typeof reader.result === 'string') { @@ -18531,10 +18597,10 @@ var PubNubFile = (_temp = _class = function () { case 1: case "end": - return _context4.stop(); + return _context5.stop(); } } - }, _callee4); + }, _callee5); })); function toString() { @@ -18546,19 +18612,19 @@ var PubNubFile = (_temp = _class = function () { }, { key: "toFile", value: function () { - var _toFile = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() { - return _regenerator["default"].wrap(function _callee5$(_context5) { + var _toFile = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() { + return _regenerator["default"].wrap(function _callee6$(_context6) { while (1) { - switch (_context5.prev = _context5.next) { + switch (_context6.prev = _context6.next) { case 0: - return _context5.abrupt("return", this.data); + return _context6.abrupt("return", this.data); case 1: case "end": - return _context5.stop(); + return _context6.stop(); } } - }, _callee5, this); + }, _callee6, this); })); function toFile() { @@ -18569,540 +18635,13 @@ var PubNubFile = (_temp = _class = function () { }() }]); return PubNubFile; -}(), (0, _defineProperty2["default"])(_class, "supportsFile", typeof File !== 'undefined'), (0, _defineProperty2["default"])(_class, "supportsArrayBuffer", true), (0, _defineProperty2["default"])(_class, "supportsBuffer", false), (0, _defineProperty2["default"])(_class, "supportsStream", false), (0, _defineProperty2["default"])(_class, "supportsString", true), _temp); +}(), (0, _defineProperty2["default"])(_class, "supportsFile", typeof File !== 'undefined'), (0, _defineProperty2["default"])(_class, "supportsBlob", true), (0, _defineProperty2["default"])(_class, "supportsArrayBuffer", true), (0, _defineProperty2["default"])(_class, "supportsBuffer", false), (0, _defineProperty2["default"])(_class, "supportsStream", false), (0, _defineProperty2["default"])(_class, "supportsString", true), _temp); var _default = PubNubFile; exports["default"] = _default; module.exports = exports.default; /***/ }), /* 133 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/*! - * mime-types - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ - - - -/** - * Module dependencies. - * @private - */ - -var db = __webpack_require__(134) -var extname = __webpack_require__(136).extname - -/** - * Module variables. - * @private - */ - -var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/ -var TEXT_TYPE_REGEXP = /^text\//i - -/** - * Module exports. - * @public - */ - -exports.charset = charset -exports.charsets = { lookup: charset } -exports.contentType = contentType -exports.extension = extension -exports.extensions = Object.create(null) -exports.lookup = lookup -exports.types = Object.create(null) - -// Populate the extensions/types maps -populateMaps(exports.extensions, exports.types) - -/** - * Get the default charset for a MIME type. - * - * @param {string} type - * @return {boolean|string} - */ - -function charset (type) { - if (!type || typeof type !== 'string') { - return false - } - - // TODO: use media-typer - var match = EXTRACT_TYPE_REGEXP.exec(type) - var mime = match && db[match[1].toLowerCase()] - - if (mime && mime.charset) { - return mime.charset - } - - // default text/* to utf-8 - if (match && TEXT_TYPE_REGEXP.test(match[1])) { - return 'UTF-8' - } - - return false -} - -/** - * Create a full Content-Type header given a MIME type or extension. - * - * @param {string} str - * @return {boolean|string} - */ - -function contentType (str) { - // TODO: should this even be in this module? - if (!str || typeof str !== 'string') { - return false - } - - var mime = str.indexOf('/') === -1 - ? exports.lookup(str) - : str - - if (!mime) { - return false - } - - // TODO: use content-type or other module - if (mime.indexOf('charset') === -1) { - var charset = exports.charset(mime) - if (charset) mime += '; charset=' + charset.toLowerCase() - } - - return mime -} - -/** - * Get the default extension for a MIME type. - * - * @param {string} type - * @return {boolean|string} - */ - -function extension (type) { - if (!type || typeof type !== 'string') { - return false - } - - // TODO: use media-typer - var match = EXTRACT_TYPE_REGEXP.exec(type) - - // get extensions - var exts = match && exports.extensions[match[1].toLowerCase()] - - if (!exts || !exts.length) { - return false - } - - return exts[0] -} - -/** - * Lookup the MIME type for a file path/extension. - * - * @param {string} path - * @return {boolean|string} - */ - -function lookup (path) { - if (!path || typeof path !== 'string') { - return false - } - - // get the extension ("ext" or ".ext" or full path) - var extension = extname('x.' + path) - .toLowerCase() - .substr(1) - - if (!extension) { - return false - } - - return exports.types[extension] || false -} - -/** - * Populate the extensions and types maps. - * @private - */ - -function populateMaps (extensions, types) { - // source preference (least -> most) - var preference = ['nginx', 'apache', undefined, 'iana'] - - Object.keys(db).forEach(function forEachMimeType (type) { - var mime = db[type] - var exts = mime.extensions - - if (!exts || !exts.length) { - return - } - - // mime -> extensions - extensions[type] = exts - - // extension -> mime - for (var i = 0; i < exts.length; i++) { - var extension = exts[i] - - if (types[extension]) { - var from = preference.indexOf(db[types[extension]].source) - var to = preference.indexOf(mime.source) - - if (types[extension] !== 'application/octet-stream' && - (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) { - // skip the remapping - continue - } - } - - // set the extension -> mime - types[extension] = type - } - }) -} - - -/***/ }), -/* 134 */ -/***/ (function(module, exports, __webpack_require__) { - -/*! - * mime-db - * Copyright(c) 2014 Jonathan Ong - * MIT Licensed - */ - -/** - * Module exports. - */ - -module.exports = __webpack_require__(135) - - -/***/ }), -/* 135 */ -/***/ (function(module) { - -module.exports = JSON.parse("{\"application/1d-interleaved-parityfec\":{\"source\":\"iana\"},\"application/3gpdash-qoe-report+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/3gpp-ims+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/a2l\":{\"source\":\"iana\"},\"application/activemessage\":{\"source\":\"iana\"},\"application/activity+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-costmap+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-costmapfilter+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-directory+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-endpointcost+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-endpointcostparams+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-endpointprop+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-endpointpropparams+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-error+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-networkmap+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-networkmapfilter+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-updatestreamcontrol+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-updatestreamparams+json\":{\"source\":\"iana\",\"compressible\":true},\"application/aml\":{\"source\":\"iana\"},\"application/andrew-inset\":{\"source\":\"iana\",\"extensions\":[\"ez\"]},\"application/applefile\":{\"source\":\"iana\"},\"application/applixware\":{\"source\":\"apache\",\"extensions\":[\"aw\"]},\"application/atf\":{\"source\":\"iana\"},\"application/atfx\":{\"source\":\"iana\"},\"application/atom+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"atom\"]},\"application/atomcat+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"atomcat\"]},\"application/atomdeleted+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"atomdeleted\"]},\"application/atomicmail\":{\"source\":\"iana\"},\"application/atomsvc+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"atomsvc\"]},\"application/atsc-dwd+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"dwd\"]},\"application/atsc-dynamic-event-message\":{\"source\":\"iana\"},\"application/atsc-held+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"held\"]},\"application/atsc-rdt+json\":{\"source\":\"iana\",\"compressible\":true},\"application/atsc-rsat+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rsat\"]},\"application/atxml\":{\"source\":\"iana\"},\"application/auth-policy+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/bacnet-xdd+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/batch-smtp\":{\"source\":\"iana\"},\"application/bdoc\":{\"compressible\":false,\"extensions\":[\"bdoc\"]},\"application/beep+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/calendar+json\":{\"source\":\"iana\",\"compressible\":true},\"application/calendar+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xcs\"]},\"application/call-completion\":{\"source\":\"iana\"},\"application/cals-1840\":{\"source\":\"iana\"},\"application/cap+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/cbor\":{\"source\":\"iana\"},\"application/cbor-seq\":{\"source\":\"iana\"},\"application/cccex\":{\"source\":\"iana\"},\"application/ccmp+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/ccxml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ccxml\"]},\"application/cdfx+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"cdfx\"]},\"application/cdmi-capability\":{\"source\":\"iana\",\"extensions\":[\"cdmia\"]},\"application/cdmi-container\":{\"source\":\"iana\",\"extensions\":[\"cdmic\"]},\"application/cdmi-domain\":{\"source\":\"iana\",\"extensions\":[\"cdmid\"]},\"application/cdmi-object\":{\"source\":\"iana\",\"extensions\":[\"cdmio\"]},\"application/cdmi-queue\":{\"source\":\"iana\",\"extensions\":[\"cdmiq\"]},\"application/cdni\":{\"source\":\"iana\"},\"application/cea\":{\"source\":\"iana\"},\"application/cea-2018+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/cellml+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/cfw\":{\"source\":\"iana\"},\"application/clue+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/clue_info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/cms\":{\"source\":\"iana\"},\"application/cnrp+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/coap-group+json\":{\"source\":\"iana\",\"compressible\":true},\"application/coap-payload\":{\"source\":\"iana\"},\"application/commonground\":{\"source\":\"iana\"},\"application/conference-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/cose\":{\"source\":\"iana\"},\"application/cose-key\":{\"source\":\"iana\"},\"application/cose-key-set\":{\"source\":\"iana\"},\"application/cpl+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/csrattrs\":{\"source\":\"iana\"},\"application/csta+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/cstadata+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/csvm+json\":{\"source\":\"iana\",\"compressible\":true},\"application/cu-seeme\":{\"source\":\"apache\",\"extensions\":[\"cu\"]},\"application/cwt\":{\"source\":\"iana\"},\"application/cybercash\":{\"source\":\"iana\"},\"application/dart\":{\"compressible\":true},\"application/dash+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mpd\"]},\"application/dashdelta\":{\"source\":\"iana\"},\"application/davmount+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"davmount\"]},\"application/dca-rft\":{\"source\":\"iana\"},\"application/dcd\":{\"source\":\"iana\"},\"application/dec-dx\":{\"source\":\"iana\"},\"application/dialog-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/dicom\":{\"source\":\"iana\"},\"application/dicom+json\":{\"source\":\"iana\",\"compressible\":true},\"application/dicom+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/dii\":{\"source\":\"iana\"},\"application/dit\":{\"source\":\"iana\"},\"application/dns\":{\"source\":\"iana\"},\"application/dns+json\":{\"source\":\"iana\",\"compressible\":true},\"application/dns-message\":{\"source\":\"iana\"},\"application/docbook+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"dbk\"]},\"application/dots+cbor\":{\"source\":\"iana\"},\"application/dskpp+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/dssc+der\":{\"source\":\"iana\",\"extensions\":[\"dssc\"]},\"application/dssc+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xdssc\"]},\"application/dvcs\":{\"source\":\"iana\"},\"application/ecmascript\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ecma\",\"es\"]},\"application/edi-consent\":{\"source\":\"iana\"},\"application/edi-x12\":{\"source\":\"iana\",\"compressible\":false},\"application/edifact\":{\"source\":\"iana\",\"compressible\":false},\"application/efi\":{\"source\":\"iana\"},\"application/emergencycalldata.comment+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/emergencycalldata.control+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/emergencycalldata.deviceinfo+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/emergencycalldata.ecall.msd\":{\"source\":\"iana\"},\"application/emergencycalldata.providerinfo+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/emergencycalldata.serviceinfo+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/emergencycalldata.subscriberinfo+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/emergencycalldata.veds+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/emma+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"emma\"]},\"application/emotionml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"emotionml\"]},\"application/encaprtp\":{\"source\":\"iana\"},\"application/epp+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/epub+zip\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"epub\"]},\"application/eshop\":{\"source\":\"iana\"},\"application/exi\":{\"source\":\"iana\",\"extensions\":[\"exi\"]},\"application/expect-ct-report+json\":{\"source\":\"iana\",\"compressible\":true},\"application/fastinfoset\":{\"source\":\"iana\"},\"application/fastsoap\":{\"source\":\"iana\"},\"application/fdt+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"fdt\"]},\"application/fhir+json\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/fhir+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/fido.trusted-apps+json\":{\"compressible\":true},\"application/fits\":{\"source\":\"iana\"},\"application/flexfec\":{\"source\":\"iana\"},\"application/font-sfnt\":{\"source\":\"iana\"},\"application/font-tdpfr\":{\"source\":\"iana\",\"extensions\":[\"pfr\"]},\"application/font-woff\":{\"source\":\"iana\",\"compressible\":false},\"application/framework-attributes+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/geo+json\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"geojson\"]},\"application/geo+json-seq\":{\"source\":\"iana\"},\"application/geopackage+sqlite3\":{\"source\":\"iana\"},\"application/geoxacml+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/gltf-buffer\":{\"source\":\"iana\"},\"application/gml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"gml\"]},\"application/gpx+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"gpx\"]},\"application/gxf\":{\"source\":\"apache\",\"extensions\":[\"gxf\"]},\"application/gzip\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"gz\"]},\"application/h224\":{\"source\":\"iana\"},\"application/held+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/hjson\":{\"extensions\":[\"hjson\"]},\"application/http\":{\"source\":\"iana\"},\"application/hyperstudio\":{\"source\":\"iana\",\"extensions\":[\"stk\"]},\"application/ibe-key-request+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/ibe-pkg-reply+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/ibe-pp-data\":{\"source\":\"iana\"},\"application/iges\":{\"source\":\"iana\"},\"application/im-iscomposing+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/index\":{\"source\":\"iana\"},\"application/index.cmd\":{\"source\":\"iana\"},\"application/index.obj\":{\"source\":\"iana\"},\"application/index.response\":{\"source\":\"iana\"},\"application/index.vnd\":{\"source\":\"iana\"},\"application/inkml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ink\",\"inkml\"]},\"application/iotp\":{\"source\":\"iana\"},\"application/ipfix\":{\"source\":\"iana\",\"extensions\":[\"ipfix\"]},\"application/ipp\":{\"source\":\"iana\"},\"application/isup\":{\"source\":\"iana\"},\"application/its+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"its\"]},\"application/java-archive\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"jar\",\"war\",\"ear\"]},\"application/java-serialized-object\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"ser\"]},\"application/java-vm\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"class\"]},\"application/javascript\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"js\",\"mjs\"]},\"application/jf2feed+json\":{\"source\":\"iana\",\"compressible\":true},\"application/jose\":{\"source\":\"iana\"},\"application/jose+json\":{\"source\":\"iana\",\"compressible\":true},\"application/jrd+json\":{\"source\":\"iana\",\"compressible\":true},\"application/json\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"json\",\"map\"]},\"application/json-patch+json\":{\"source\":\"iana\",\"compressible\":true},\"application/json-seq\":{\"source\":\"iana\"},\"application/json5\":{\"extensions\":[\"json5\"]},\"application/jsonml+json\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"jsonml\"]},\"application/jwk+json\":{\"source\":\"iana\",\"compressible\":true},\"application/jwk-set+json\":{\"source\":\"iana\",\"compressible\":true},\"application/jwt\":{\"source\":\"iana\"},\"application/kpml-request+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/kpml-response+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/ld+json\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"jsonld\"]},\"application/lgr+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"lgr\"]},\"application/link-format\":{\"source\":\"iana\"},\"application/load-control+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/lost+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"lostxml\"]},\"application/lostsync+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/lpf+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/lxf\":{\"source\":\"iana\"},\"application/mac-binhex40\":{\"source\":\"iana\",\"extensions\":[\"hqx\"]},\"application/mac-compactpro\":{\"source\":\"apache\",\"extensions\":[\"cpt\"]},\"application/macwriteii\":{\"source\":\"iana\"},\"application/mads+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mads\"]},\"application/manifest+json\":{\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"webmanifest\"]},\"application/marc\":{\"source\":\"iana\",\"extensions\":[\"mrc\"]},\"application/marcxml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mrcx\"]},\"application/mathematica\":{\"source\":\"iana\",\"extensions\":[\"ma\",\"nb\",\"mb\"]},\"application/mathml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mathml\"]},\"application/mathml-content+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mathml-presentation+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-associated-procedure-description+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-deregister+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-envelope+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-msk+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-msk-response+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-protection-description+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-reception-report+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-register+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-register-response+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-schedule+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbms-user-service-description+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mbox\":{\"source\":\"iana\",\"extensions\":[\"mbox\"]},\"application/media-policy-dataset+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/media_control+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/mediaservercontrol+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mscml\"]},\"application/merge-patch+json\":{\"source\":\"iana\",\"compressible\":true},\"application/metalink+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"metalink\"]},\"application/metalink4+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"meta4\"]},\"application/mets+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mets\"]},\"application/mf4\":{\"source\":\"iana\"},\"application/mikey\":{\"source\":\"iana\"},\"application/mipc\":{\"source\":\"iana\"},\"application/mmt-aei+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"maei\"]},\"application/mmt-usd+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"musd\"]},\"application/mods+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mods\"]},\"application/moss-keys\":{\"source\":\"iana\"},\"application/moss-signature\":{\"source\":\"iana\"},\"application/mosskey-data\":{\"source\":\"iana\"},\"application/mosskey-request\":{\"source\":\"iana\"},\"application/mp21\":{\"source\":\"iana\",\"extensions\":[\"m21\",\"mp21\"]},\"application/mp4\":{\"source\":\"iana\",\"extensions\":[\"mp4s\",\"m4p\"]},\"application/mpeg4-generic\":{\"source\":\"iana\"},\"application/mpeg4-iod\":{\"source\":\"iana\"},\"application/mpeg4-iod-xmt\":{\"source\":\"iana\"},\"application/mrb-consumer+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xdf\"]},\"application/mrb-publish+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xdf\"]},\"application/msc-ivr+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/msc-mixer+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/msword\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"doc\",\"dot\"]},\"application/mud+json\":{\"source\":\"iana\",\"compressible\":true},\"application/multipart-core\":{\"source\":\"iana\"},\"application/mxf\":{\"source\":\"iana\",\"extensions\":[\"mxf\"]},\"application/n-quads\":{\"source\":\"iana\",\"extensions\":[\"nq\"]},\"application/n-triples\":{\"source\":\"iana\",\"extensions\":[\"nt\"]},\"application/nasdata\":{\"source\":\"iana\"},\"application/news-checkgroups\":{\"source\":\"iana\",\"charset\":\"US-ASCII\"},\"application/news-groupinfo\":{\"source\":\"iana\",\"charset\":\"US-ASCII\"},\"application/news-transmission\":{\"source\":\"iana\"},\"application/nlsml+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/node\":{\"source\":\"iana\",\"extensions\":[\"cjs\"]},\"application/nss\":{\"source\":\"iana\"},\"application/ocsp-request\":{\"source\":\"iana\"},\"application/ocsp-response\":{\"source\":\"iana\"},\"application/octet-stream\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]},\"application/oda\":{\"source\":\"iana\",\"extensions\":[\"oda\"]},\"application/odm+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/odx\":{\"source\":\"iana\"},\"application/oebps-package+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"opf\"]},\"application/ogg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"ogx\"]},\"application/omdoc+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"omdoc\"]},\"application/onenote\":{\"source\":\"apache\",\"extensions\":[\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]},\"application/oscore\":{\"source\":\"iana\"},\"application/oxps\":{\"source\":\"iana\",\"extensions\":[\"oxps\"]},\"application/p2p-overlay+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"relo\"]},\"application/parityfec\":{\"source\":\"iana\"},\"application/passport\":{\"source\":\"iana\"},\"application/patch-ops-error+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xer\"]},\"application/pdf\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"pdf\"]},\"application/pdx\":{\"source\":\"iana\"},\"application/pem-certificate-chain\":{\"source\":\"iana\"},\"application/pgp-encrypted\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"pgp\"]},\"application/pgp-keys\":{\"source\":\"iana\"},\"application/pgp-signature\":{\"source\":\"iana\",\"extensions\":[\"asc\",\"sig\"]},\"application/pics-rules\":{\"source\":\"apache\",\"extensions\":[\"prf\"]},\"application/pidf+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/pidf-diff+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/pkcs10\":{\"source\":\"iana\",\"extensions\":[\"p10\"]},\"application/pkcs12\":{\"source\":\"iana\"},\"application/pkcs7-mime\":{\"source\":\"iana\",\"extensions\":[\"p7m\",\"p7c\"]},\"application/pkcs7-signature\":{\"source\":\"iana\",\"extensions\":[\"p7s\"]},\"application/pkcs8\":{\"source\":\"iana\",\"extensions\":[\"p8\"]},\"application/pkcs8-encrypted\":{\"source\":\"iana\"},\"application/pkix-attr-cert\":{\"source\":\"iana\",\"extensions\":[\"ac\"]},\"application/pkix-cert\":{\"source\":\"iana\",\"extensions\":[\"cer\"]},\"application/pkix-crl\":{\"source\":\"iana\",\"extensions\":[\"crl\"]},\"application/pkix-pkipath\":{\"source\":\"iana\",\"extensions\":[\"pkipath\"]},\"application/pkixcmp\":{\"source\":\"iana\",\"extensions\":[\"pki\"]},\"application/pls+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"pls\"]},\"application/poc-settings+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/postscript\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ai\",\"eps\",\"ps\"]},\"application/ppsp-tracker+json\":{\"source\":\"iana\",\"compressible\":true},\"application/problem+json\":{\"source\":\"iana\",\"compressible\":true},\"application/problem+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/provenance+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"provx\"]},\"application/prs.alvestrand.titrax-sheet\":{\"source\":\"iana\"},\"application/prs.cww\":{\"source\":\"iana\",\"extensions\":[\"cww\"]},\"application/prs.hpub+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/prs.nprend\":{\"source\":\"iana\"},\"application/prs.plucker\":{\"source\":\"iana\"},\"application/prs.rdf-xml-crypt\":{\"source\":\"iana\"},\"application/prs.xsf+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/pskc+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"pskcxml\"]},\"application/pvd+json\":{\"source\":\"iana\",\"compressible\":true},\"application/qsig\":{\"source\":\"iana\"},\"application/raml+yaml\":{\"compressible\":true,\"extensions\":[\"raml\"]},\"application/raptorfec\":{\"source\":\"iana\"},\"application/rdap+json\":{\"source\":\"iana\",\"compressible\":true},\"application/rdf+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rdf\",\"owl\"]},\"application/reginfo+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rif\"]},\"application/relax-ng-compact-syntax\":{\"source\":\"iana\",\"extensions\":[\"rnc\"]},\"application/remote-printing\":{\"source\":\"iana\"},\"application/reputon+json\":{\"source\":\"iana\",\"compressible\":true},\"application/resource-lists+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rl\"]},\"application/resource-lists-diff+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rld\"]},\"application/rfc+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/riscos\":{\"source\":\"iana\"},\"application/rlmi+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/rls-services+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rs\"]},\"application/route-apd+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rapd\"]},\"application/route-s-tsid+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"sls\"]},\"application/route-usd+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rusd\"]},\"application/rpki-ghostbusters\":{\"source\":\"iana\",\"extensions\":[\"gbr\"]},\"application/rpki-manifest\":{\"source\":\"iana\",\"extensions\":[\"mft\"]},\"application/rpki-publication\":{\"source\":\"iana\"},\"application/rpki-roa\":{\"source\":\"iana\",\"extensions\":[\"roa\"]},\"application/rpki-updown\":{\"source\":\"iana\"},\"application/rsd+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"rsd\"]},\"application/rss+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"rss\"]},\"application/rtf\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rtf\"]},\"application/rtploopback\":{\"source\":\"iana\"},\"application/rtx\":{\"source\":\"iana\"},\"application/samlassertion+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/samlmetadata+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/sbe\":{\"source\":\"iana\"},\"application/sbml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"sbml\"]},\"application/scaip+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/scim+json\":{\"source\":\"iana\",\"compressible\":true},\"application/scvp-cv-request\":{\"source\":\"iana\",\"extensions\":[\"scq\"]},\"application/scvp-cv-response\":{\"source\":\"iana\",\"extensions\":[\"scs\"]},\"application/scvp-vp-request\":{\"source\":\"iana\",\"extensions\":[\"spq\"]},\"application/scvp-vp-response\":{\"source\":\"iana\",\"extensions\":[\"spp\"]},\"application/sdp\":{\"source\":\"iana\",\"extensions\":[\"sdp\"]},\"application/secevent+jwt\":{\"source\":\"iana\"},\"application/senml+cbor\":{\"source\":\"iana\"},\"application/senml+json\":{\"source\":\"iana\",\"compressible\":true},\"application/senml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"senmlx\"]},\"application/senml-etch+cbor\":{\"source\":\"iana\"},\"application/senml-etch+json\":{\"source\":\"iana\",\"compressible\":true},\"application/senml-exi\":{\"source\":\"iana\"},\"application/sensml+cbor\":{\"source\":\"iana\"},\"application/sensml+json\":{\"source\":\"iana\",\"compressible\":true},\"application/sensml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"sensmlx\"]},\"application/sensml-exi\":{\"source\":\"iana\"},\"application/sep+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/sep-exi\":{\"source\":\"iana\"},\"application/session-info\":{\"source\":\"iana\"},\"application/set-payment\":{\"source\":\"iana\"},\"application/set-payment-initiation\":{\"source\":\"iana\",\"extensions\":[\"setpay\"]},\"application/set-registration\":{\"source\":\"iana\"},\"application/set-registration-initiation\":{\"source\":\"iana\",\"extensions\":[\"setreg\"]},\"application/sgml\":{\"source\":\"iana\"},\"application/sgml-open-catalog\":{\"source\":\"iana\"},\"application/shf+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"shf\"]},\"application/sieve\":{\"source\":\"iana\",\"extensions\":[\"siv\",\"sieve\"]},\"application/simple-filter+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/simple-message-summary\":{\"source\":\"iana\"},\"application/simplesymbolcontainer\":{\"source\":\"iana\"},\"application/sipc\":{\"source\":\"iana\"},\"application/slate\":{\"source\":\"iana\"},\"application/smil\":{\"source\":\"iana\"},\"application/smil+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"smi\",\"smil\"]},\"application/smpte336m\":{\"source\":\"iana\"},\"application/soap+fastinfoset\":{\"source\":\"iana\"},\"application/soap+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/sparql-query\":{\"source\":\"iana\",\"extensions\":[\"rq\"]},\"application/sparql-results+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"srx\"]},\"application/spirits-event+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/sql\":{\"source\":\"iana\"},\"application/srgs\":{\"source\":\"iana\",\"extensions\":[\"gram\"]},\"application/srgs+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"grxml\"]},\"application/sru+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"sru\"]},\"application/ssdl+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"ssdl\"]},\"application/ssml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ssml\"]},\"application/stix+json\":{\"source\":\"iana\",\"compressible\":true},\"application/swid+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"swidtag\"]},\"application/tamp-apex-update\":{\"source\":\"iana\"},\"application/tamp-apex-update-confirm\":{\"source\":\"iana\"},\"application/tamp-community-update\":{\"source\":\"iana\"},\"application/tamp-community-update-confirm\":{\"source\":\"iana\"},\"application/tamp-error\":{\"source\":\"iana\"},\"application/tamp-sequence-adjust\":{\"source\":\"iana\"},\"application/tamp-sequence-adjust-confirm\":{\"source\":\"iana\"},\"application/tamp-status-query\":{\"source\":\"iana\"},\"application/tamp-status-response\":{\"source\":\"iana\"},\"application/tamp-update\":{\"source\":\"iana\"},\"application/tamp-update-confirm\":{\"source\":\"iana\"},\"application/tar\":{\"compressible\":true},\"application/taxii+json\":{\"source\":\"iana\",\"compressible\":true},\"application/td+json\":{\"source\":\"iana\",\"compressible\":true},\"application/tei+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"tei\",\"teicorpus\"]},\"application/tetra_isi\":{\"source\":\"iana\"},\"application/thraud+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"tfi\"]},\"application/timestamp-query\":{\"source\":\"iana\"},\"application/timestamp-reply\":{\"source\":\"iana\"},\"application/timestamped-data\":{\"source\":\"iana\",\"extensions\":[\"tsd\"]},\"application/tlsrpt+gzip\":{\"source\":\"iana\"},\"application/tlsrpt+json\":{\"source\":\"iana\",\"compressible\":true},\"application/tnauthlist\":{\"source\":\"iana\"},\"application/toml\":{\"compressible\":true,\"extensions\":[\"toml\"]},\"application/trickle-ice-sdpfrag\":{\"source\":\"iana\"},\"application/trig\":{\"source\":\"iana\"},\"application/ttml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ttml\"]},\"application/tve-trigger\":{\"source\":\"iana\"},\"application/tzif\":{\"source\":\"iana\"},\"application/tzif-leap\":{\"source\":\"iana\"},\"application/ulpfec\":{\"source\":\"iana\"},\"application/urc-grpsheet+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/urc-ressheet+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rsheet\"]},\"application/urc-targetdesc+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/urc-uisocketdesc+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vcard+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vcard+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vemmi\":{\"source\":\"iana\"},\"application/vividence.scriptfile\":{\"source\":\"apache\"},\"application/vnd.1000minds.decision-model+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"1km\"]},\"application/vnd.3gpp-prose+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp-prose-pc3ch+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp-v2x-local-service-information\":{\"source\":\"iana\"},\"application/vnd.3gpp.access-transfer-events+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.bsf+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.gmop+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mc-signalling-ear\":{\"source\":\"iana\"},\"application/vnd.3gpp.mcdata-affiliation-command+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcdata-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcdata-payload\":{\"source\":\"iana\"},\"application/vnd.3gpp.mcdata-service-config+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcdata-signalling\":{\"source\":\"iana\"},\"application/vnd.3gpp.mcdata-ue-config+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcdata-user-profile+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-affiliation-command+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-floor-request+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-location-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-mbms-usage-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-service-config+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-signed+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-ue-config+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-ue-init-config+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcptt-user-profile+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-affiliation-command+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-affiliation-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-location-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-service-config+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-transmission-request+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-ue-config+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mcvideo-user-profile+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.mid-call+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.pic-bw-large\":{\"source\":\"iana\",\"extensions\":[\"plb\"]},\"application/vnd.3gpp.pic-bw-small\":{\"source\":\"iana\",\"extensions\":[\"psb\"]},\"application/vnd.3gpp.pic-bw-var\":{\"source\":\"iana\",\"extensions\":[\"pvb\"]},\"application/vnd.3gpp.sms\":{\"source\":\"iana\"},\"application/vnd.3gpp.sms+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.srvcc-ext+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.srvcc-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.state-and-event-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp.ussd+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp2.bcmcsinfo+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.3gpp2.sms\":{\"source\":\"iana\"},\"application/vnd.3gpp2.tcap\":{\"source\":\"iana\",\"extensions\":[\"tcap\"]},\"application/vnd.3lightssoftware.imagescal\":{\"source\":\"iana\"},\"application/vnd.3m.post-it-notes\":{\"source\":\"iana\",\"extensions\":[\"pwn\"]},\"application/vnd.accpac.simply.aso\":{\"source\":\"iana\",\"extensions\":[\"aso\"]},\"application/vnd.accpac.simply.imp\":{\"source\":\"iana\",\"extensions\":[\"imp\"]},\"application/vnd.acucobol\":{\"source\":\"iana\",\"extensions\":[\"acu\"]},\"application/vnd.acucorp\":{\"source\":\"iana\",\"extensions\":[\"atc\",\"acutc\"]},\"application/vnd.adobe.air-application-installer-package+zip\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"air\"]},\"application/vnd.adobe.flash.movie\":{\"source\":\"iana\"},\"application/vnd.adobe.formscentral.fcdt\":{\"source\":\"iana\",\"extensions\":[\"fcdt\"]},\"application/vnd.adobe.fxp\":{\"source\":\"iana\",\"extensions\":[\"fxp\",\"fxpl\"]},\"application/vnd.adobe.partial-upload\":{\"source\":\"iana\"},\"application/vnd.adobe.xdp+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xdp\"]},\"application/vnd.adobe.xfdf\":{\"source\":\"iana\",\"extensions\":[\"xfdf\"]},\"application/vnd.aether.imp\":{\"source\":\"iana\"},\"application/vnd.afpc.afplinedata\":{\"source\":\"iana\"},\"application/vnd.afpc.afplinedata-pagedef\":{\"source\":\"iana\"},\"application/vnd.afpc.foca-charset\":{\"source\":\"iana\"},\"application/vnd.afpc.foca-codedfont\":{\"source\":\"iana\"},\"application/vnd.afpc.foca-codepage\":{\"source\":\"iana\"},\"application/vnd.afpc.modca\":{\"source\":\"iana\"},\"application/vnd.afpc.modca-formdef\":{\"source\":\"iana\"},\"application/vnd.afpc.modca-mediummap\":{\"source\":\"iana\"},\"application/vnd.afpc.modca-objectcontainer\":{\"source\":\"iana\"},\"application/vnd.afpc.modca-overlay\":{\"source\":\"iana\"},\"application/vnd.afpc.modca-pagesegment\":{\"source\":\"iana\"},\"application/vnd.ah-barcode\":{\"source\":\"iana\"},\"application/vnd.ahead.space\":{\"source\":\"iana\",\"extensions\":[\"ahead\"]},\"application/vnd.airzip.filesecure.azf\":{\"source\":\"iana\",\"extensions\":[\"azf\"]},\"application/vnd.airzip.filesecure.azs\":{\"source\":\"iana\",\"extensions\":[\"azs\"]},\"application/vnd.amadeus+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.amazon.ebook\":{\"source\":\"apache\",\"extensions\":[\"azw\"]},\"application/vnd.amazon.mobi8-ebook\":{\"source\":\"iana\"},\"application/vnd.americandynamics.acc\":{\"source\":\"iana\",\"extensions\":[\"acc\"]},\"application/vnd.amiga.ami\":{\"source\":\"iana\",\"extensions\":[\"ami\"]},\"application/vnd.amundsen.maze+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.android.ota\":{\"source\":\"iana\"},\"application/vnd.android.package-archive\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"apk\"]},\"application/vnd.anki\":{\"source\":\"iana\"},\"application/vnd.anser-web-certificate-issue-initiation\":{\"source\":\"iana\",\"extensions\":[\"cii\"]},\"application/vnd.anser-web-funds-transfer-initiation\":{\"source\":\"apache\",\"extensions\":[\"fti\"]},\"application/vnd.antix.game-component\":{\"source\":\"iana\",\"extensions\":[\"atx\"]},\"application/vnd.apache.thrift.binary\":{\"source\":\"iana\"},\"application/vnd.apache.thrift.compact\":{\"source\":\"iana\"},\"application/vnd.apache.thrift.json\":{\"source\":\"iana\"},\"application/vnd.api+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.aplextor.warrp+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.apothekende.reservation+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.apple.installer+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mpkg\"]},\"application/vnd.apple.keynote\":{\"source\":\"iana\",\"extensions\":[\"keynote\"]},\"application/vnd.apple.mpegurl\":{\"source\":\"iana\",\"extensions\":[\"m3u8\"]},\"application/vnd.apple.numbers\":{\"source\":\"iana\",\"extensions\":[\"numbers\"]},\"application/vnd.apple.pages\":{\"source\":\"iana\",\"extensions\":[\"pages\"]},\"application/vnd.apple.pkpass\":{\"compressible\":false,\"extensions\":[\"pkpass\"]},\"application/vnd.arastra.swi\":{\"source\":\"iana\"},\"application/vnd.aristanetworks.swi\":{\"source\":\"iana\",\"extensions\":[\"swi\"]},\"application/vnd.artisan+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.artsquare\":{\"source\":\"iana\"},\"application/vnd.astraea-software.iota\":{\"source\":\"iana\",\"extensions\":[\"iota\"]},\"application/vnd.audiograph\":{\"source\":\"iana\",\"extensions\":[\"aep\"]},\"application/vnd.autopackage\":{\"source\":\"iana\"},\"application/vnd.avalon+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.avistar+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.balsamiq.bmml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"bmml\"]},\"application/vnd.balsamiq.bmpr\":{\"source\":\"iana\"},\"application/vnd.banana-accounting\":{\"source\":\"iana\"},\"application/vnd.bbf.usp.error\":{\"source\":\"iana\"},\"application/vnd.bbf.usp.msg\":{\"source\":\"iana\"},\"application/vnd.bbf.usp.msg+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.bekitzur-stech+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.bint.med-content\":{\"source\":\"iana\"},\"application/vnd.biopax.rdf+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.blink-idb-value-wrapper\":{\"source\":\"iana\"},\"application/vnd.blueice.multipass\":{\"source\":\"iana\",\"extensions\":[\"mpm\"]},\"application/vnd.bluetooth.ep.oob\":{\"source\":\"iana\"},\"application/vnd.bluetooth.le.oob\":{\"source\":\"iana\"},\"application/vnd.bmi\":{\"source\":\"iana\",\"extensions\":[\"bmi\"]},\"application/vnd.bpf\":{\"source\":\"iana\"},\"application/vnd.bpf3\":{\"source\":\"iana\"},\"application/vnd.businessobjects\":{\"source\":\"iana\",\"extensions\":[\"rep\"]},\"application/vnd.byu.uapi+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.cab-jscript\":{\"source\":\"iana\"},\"application/vnd.canon-cpdl\":{\"source\":\"iana\"},\"application/vnd.canon-lips\":{\"source\":\"iana\"},\"application/vnd.capasystems-pg+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.cendio.thinlinc.clientconf\":{\"source\":\"iana\"},\"application/vnd.century-systems.tcp_stream\":{\"source\":\"iana\"},\"application/vnd.chemdraw+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"cdxml\"]},\"application/vnd.chess-pgn\":{\"source\":\"iana\"},\"application/vnd.chipnuts.karaoke-mmd\":{\"source\":\"iana\",\"extensions\":[\"mmd\"]},\"application/vnd.ciedi\":{\"source\":\"iana\"},\"application/vnd.cinderella\":{\"source\":\"iana\",\"extensions\":[\"cdy\"]},\"application/vnd.cirpack.isdn-ext\":{\"source\":\"iana\"},\"application/vnd.citationstyles.style+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"csl\"]},\"application/vnd.claymore\":{\"source\":\"iana\",\"extensions\":[\"cla\"]},\"application/vnd.cloanto.rp9\":{\"source\":\"iana\",\"extensions\":[\"rp9\"]},\"application/vnd.clonk.c4group\":{\"source\":\"iana\",\"extensions\":[\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]},\"application/vnd.cluetrust.cartomobile-config\":{\"source\":\"iana\",\"extensions\":[\"c11amc\"]},\"application/vnd.cluetrust.cartomobile-config-pkg\":{\"source\":\"iana\",\"extensions\":[\"c11amz\"]},\"application/vnd.coffeescript\":{\"source\":\"iana\"},\"application/vnd.collabio.xodocuments.document\":{\"source\":\"iana\"},\"application/vnd.collabio.xodocuments.document-template\":{\"source\":\"iana\"},\"application/vnd.collabio.xodocuments.presentation\":{\"source\":\"iana\"},\"application/vnd.collabio.xodocuments.presentation-template\":{\"source\":\"iana\"},\"application/vnd.collabio.xodocuments.spreadsheet\":{\"source\":\"iana\"},\"application/vnd.collabio.xodocuments.spreadsheet-template\":{\"source\":\"iana\"},\"application/vnd.collection+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.collection.doc+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.collection.next+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.comicbook+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.comicbook-rar\":{\"source\":\"iana\"},\"application/vnd.commerce-battelle\":{\"source\":\"iana\"},\"application/vnd.commonspace\":{\"source\":\"iana\",\"extensions\":[\"csp\"]},\"application/vnd.contact.cmsg\":{\"source\":\"iana\",\"extensions\":[\"cdbcmsg\"]},\"application/vnd.coreos.ignition+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.cosmocaller\":{\"source\":\"iana\",\"extensions\":[\"cmc\"]},\"application/vnd.crick.clicker\":{\"source\":\"iana\",\"extensions\":[\"clkx\"]},\"application/vnd.crick.clicker.keyboard\":{\"source\":\"iana\",\"extensions\":[\"clkk\"]},\"application/vnd.crick.clicker.palette\":{\"source\":\"iana\",\"extensions\":[\"clkp\"]},\"application/vnd.crick.clicker.template\":{\"source\":\"iana\",\"extensions\":[\"clkt\"]},\"application/vnd.crick.clicker.wordbank\":{\"source\":\"iana\",\"extensions\":[\"clkw\"]},\"application/vnd.criticaltools.wbs+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"wbs\"]},\"application/vnd.cryptii.pipe+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.crypto-shade-file\":{\"source\":\"iana\"},\"application/vnd.ctc-posml\":{\"source\":\"iana\",\"extensions\":[\"pml\"]},\"application/vnd.ctct.ws+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.cups-pdf\":{\"source\":\"iana\"},\"application/vnd.cups-postscript\":{\"source\":\"iana\"},\"application/vnd.cups-ppd\":{\"source\":\"iana\",\"extensions\":[\"ppd\"]},\"application/vnd.cups-raster\":{\"source\":\"iana\"},\"application/vnd.cups-raw\":{\"source\":\"iana\"},\"application/vnd.curl\":{\"source\":\"iana\"},\"application/vnd.curl.car\":{\"source\":\"apache\",\"extensions\":[\"car\"]},\"application/vnd.curl.pcurl\":{\"source\":\"apache\",\"extensions\":[\"pcurl\"]},\"application/vnd.cyan.dean.root+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.cybank\":{\"source\":\"iana\"},\"application/vnd.d2l.coursepackage1p0+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.dart\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"dart\"]},\"application/vnd.data-vision.rdz\":{\"source\":\"iana\",\"extensions\":[\"rdz\"]},\"application/vnd.datapackage+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dataresource+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dbf\":{\"source\":\"iana\"},\"application/vnd.debian.binary-package\":{\"source\":\"iana\"},\"application/vnd.dece.data\":{\"source\":\"iana\",\"extensions\":[\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]},\"application/vnd.dece.ttml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"uvt\",\"uvvt\"]},\"application/vnd.dece.unspecified\":{\"source\":\"iana\",\"extensions\":[\"uvx\",\"uvvx\"]},\"application/vnd.dece.zip\":{\"source\":\"iana\",\"extensions\":[\"uvz\",\"uvvz\"]},\"application/vnd.denovo.fcselayout-link\":{\"source\":\"iana\",\"extensions\":[\"fe_launch\"]},\"application/vnd.desmume.movie\":{\"source\":\"iana\"},\"application/vnd.dir-bi.plate-dl-nosuffix\":{\"source\":\"iana\"},\"application/vnd.dm.delegation+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dna\":{\"source\":\"iana\",\"extensions\":[\"dna\"]},\"application/vnd.document+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dolby.mlp\":{\"source\":\"apache\",\"extensions\":[\"mlp\"]},\"application/vnd.dolby.mobile.1\":{\"source\":\"iana\"},\"application/vnd.dolby.mobile.2\":{\"source\":\"iana\"},\"application/vnd.doremir.scorecloud-binary-document\":{\"source\":\"iana\"},\"application/vnd.dpgraph\":{\"source\":\"iana\",\"extensions\":[\"dpg\"]},\"application/vnd.dreamfactory\":{\"source\":\"iana\",\"extensions\":[\"dfac\"]},\"application/vnd.drive+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ds-keypoint\":{\"source\":\"apache\",\"extensions\":[\"kpxx\"]},\"application/vnd.dtg.local\":{\"source\":\"iana\"},\"application/vnd.dtg.local.flash\":{\"source\":\"iana\"},\"application/vnd.dtg.local.html\":{\"source\":\"iana\"},\"application/vnd.dvb.ait\":{\"source\":\"iana\",\"extensions\":[\"ait\"]},\"application/vnd.dvb.dvbisl+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dvb.dvbj\":{\"source\":\"iana\"},\"application/vnd.dvb.esgcontainer\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcdftnotifaccess\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcesgaccess\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcesgaccess2\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcesgpdd\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcroaming\":{\"source\":\"iana\"},\"application/vnd.dvb.iptv.alfec-base\":{\"source\":\"iana\"},\"application/vnd.dvb.iptv.alfec-enhancement\":{\"source\":\"iana\"},\"application/vnd.dvb.notif-aggregate-root+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dvb.notif-container+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dvb.notif-generic+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dvb.notif-ia-msglist+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dvb.notif-ia-registration-request+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dvb.notif-ia-registration-response+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dvb.notif-init+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dvb.pfr\":{\"source\":\"iana\"},\"application/vnd.dvb.service\":{\"source\":\"iana\",\"extensions\":[\"svc\"]},\"application/vnd.dxr\":{\"source\":\"iana\"},\"application/vnd.dynageo\":{\"source\":\"iana\",\"extensions\":[\"geo\"]},\"application/vnd.dzr\":{\"source\":\"iana\"},\"application/vnd.easykaraoke.cdgdownload\":{\"source\":\"iana\"},\"application/vnd.ecdis-update\":{\"source\":\"iana\"},\"application/vnd.ecip.rlp\":{\"source\":\"iana\"},\"application/vnd.ecowin.chart\":{\"source\":\"iana\",\"extensions\":[\"mag\"]},\"application/vnd.ecowin.filerequest\":{\"source\":\"iana\"},\"application/vnd.ecowin.fileupdate\":{\"source\":\"iana\"},\"application/vnd.ecowin.series\":{\"source\":\"iana\"},\"application/vnd.ecowin.seriesrequest\":{\"source\":\"iana\"},\"application/vnd.ecowin.seriesupdate\":{\"source\":\"iana\"},\"application/vnd.efi.img\":{\"source\":\"iana\"},\"application/vnd.efi.iso\":{\"source\":\"iana\"},\"application/vnd.emclient.accessrequest+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.enliven\":{\"source\":\"iana\",\"extensions\":[\"nml\"]},\"application/vnd.enphase.envoy\":{\"source\":\"iana\"},\"application/vnd.eprints.data+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.epson.esf\":{\"source\":\"iana\",\"extensions\":[\"esf\"]},\"application/vnd.epson.msf\":{\"source\":\"iana\",\"extensions\":[\"msf\"]},\"application/vnd.epson.quickanime\":{\"source\":\"iana\",\"extensions\":[\"qam\"]},\"application/vnd.epson.salt\":{\"source\":\"iana\",\"extensions\":[\"slt\"]},\"application/vnd.epson.ssf\":{\"source\":\"iana\",\"extensions\":[\"ssf\"]},\"application/vnd.ericsson.quickcall\":{\"source\":\"iana\"},\"application/vnd.espass-espass+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.eszigno3+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"es3\",\"et3\"]},\"application/vnd.etsi.aoc+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.asic-e+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.etsi.asic-s+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.etsi.cug+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvcommand+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvdiscovery+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvprofile+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvsad-bc+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvsad-cod+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvsad-npvr+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvservice+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvsync+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.iptvueprofile+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.mcid+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.mheg5\":{\"source\":\"iana\"},\"application/vnd.etsi.overload-control-policy-dataset+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.pstn+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.sci+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.simservs+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.timestamp-token\":{\"source\":\"iana\"},\"application/vnd.etsi.tsl+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.etsi.tsl.der\":{\"source\":\"iana\"},\"application/vnd.eudora.data\":{\"source\":\"iana\"},\"application/vnd.evolv.ecig.profile\":{\"source\":\"iana\"},\"application/vnd.evolv.ecig.settings\":{\"source\":\"iana\"},\"application/vnd.evolv.ecig.theme\":{\"source\":\"iana\"},\"application/vnd.exstream-empower+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.exstream-package\":{\"source\":\"iana\"},\"application/vnd.ezpix-album\":{\"source\":\"iana\",\"extensions\":[\"ez2\"]},\"application/vnd.ezpix-package\":{\"source\":\"iana\",\"extensions\":[\"ez3\"]},\"application/vnd.f-secure.mobile\":{\"source\":\"iana\"},\"application/vnd.fastcopy-disk-image\":{\"source\":\"iana\"},\"application/vnd.fdf\":{\"source\":\"iana\",\"extensions\":[\"fdf\"]},\"application/vnd.fdsn.mseed\":{\"source\":\"iana\",\"extensions\":[\"mseed\"]},\"application/vnd.fdsn.seed\":{\"source\":\"iana\",\"extensions\":[\"seed\",\"dataless\"]},\"application/vnd.ffsns\":{\"source\":\"iana\"},\"application/vnd.ficlab.flb+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.filmit.zfc\":{\"source\":\"iana\"},\"application/vnd.fints\":{\"source\":\"iana\"},\"application/vnd.firemonkeys.cloudcell\":{\"source\":\"iana\"},\"application/vnd.flographit\":{\"source\":\"iana\",\"extensions\":[\"gph\"]},\"application/vnd.fluxtime.clip\":{\"source\":\"iana\",\"extensions\":[\"ftc\"]},\"application/vnd.font-fontforge-sfd\":{\"source\":\"iana\"},\"application/vnd.framemaker\":{\"source\":\"iana\",\"extensions\":[\"fm\",\"frame\",\"maker\",\"book\"]},\"application/vnd.frogans.fnc\":{\"source\":\"iana\",\"extensions\":[\"fnc\"]},\"application/vnd.frogans.ltf\":{\"source\":\"iana\",\"extensions\":[\"ltf\"]},\"application/vnd.fsc.weblaunch\":{\"source\":\"iana\",\"extensions\":[\"fsc\"]},\"application/vnd.fujitsu.oasys\":{\"source\":\"iana\",\"extensions\":[\"oas\"]},\"application/vnd.fujitsu.oasys2\":{\"source\":\"iana\",\"extensions\":[\"oa2\"]},\"application/vnd.fujitsu.oasys3\":{\"source\":\"iana\",\"extensions\":[\"oa3\"]},\"application/vnd.fujitsu.oasysgp\":{\"source\":\"iana\",\"extensions\":[\"fg5\"]},\"application/vnd.fujitsu.oasysprs\":{\"source\":\"iana\",\"extensions\":[\"bh2\"]},\"application/vnd.fujixerox.art-ex\":{\"source\":\"iana\"},\"application/vnd.fujixerox.art4\":{\"source\":\"iana\"},\"application/vnd.fujixerox.ddd\":{\"source\":\"iana\",\"extensions\":[\"ddd\"]},\"application/vnd.fujixerox.docuworks\":{\"source\":\"iana\",\"extensions\":[\"xdw\"]},\"application/vnd.fujixerox.docuworks.binder\":{\"source\":\"iana\",\"extensions\":[\"xbd\"]},\"application/vnd.fujixerox.docuworks.container\":{\"source\":\"iana\"},\"application/vnd.fujixerox.hbpl\":{\"source\":\"iana\"},\"application/vnd.fut-misnet\":{\"source\":\"iana\"},\"application/vnd.futoin+cbor\":{\"source\":\"iana\"},\"application/vnd.futoin+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.fuzzysheet\":{\"source\":\"iana\",\"extensions\":[\"fzs\"]},\"application/vnd.genomatix.tuxedo\":{\"source\":\"iana\",\"extensions\":[\"txd\"]},\"application/vnd.gentics.grd+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.geo+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.geocube+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.geogebra.file\":{\"source\":\"iana\",\"extensions\":[\"ggb\"]},\"application/vnd.geogebra.tool\":{\"source\":\"iana\",\"extensions\":[\"ggt\"]},\"application/vnd.geometry-explorer\":{\"source\":\"iana\",\"extensions\":[\"gex\",\"gre\"]},\"application/vnd.geonext\":{\"source\":\"iana\",\"extensions\":[\"gxt\"]},\"application/vnd.geoplan\":{\"source\":\"iana\",\"extensions\":[\"g2w\"]},\"application/vnd.geospace\":{\"source\":\"iana\",\"extensions\":[\"g3w\"]},\"application/vnd.gerber\":{\"source\":\"iana\"},\"application/vnd.globalplatform.card-content-mgt\":{\"source\":\"iana\"},\"application/vnd.globalplatform.card-content-mgt-response\":{\"source\":\"iana\"},\"application/vnd.gmx\":{\"source\":\"iana\",\"extensions\":[\"gmx\"]},\"application/vnd.google-apps.document\":{\"compressible\":false,\"extensions\":[\"gdoc\"]},\"application/vnd.google-apps.presentation\":{\"compressible\":false,\"extensions\":[\"gslides\"]},\"application/vnd.google-apps.spreadsheet\":{\"compressible\":false,\"extensions\":[\"gsheet\"]},\"application/vnd.google-earth.kml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"kml\"]},\"application/vnd.google-earth.kmz\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"kmz\"]},\"application/vnd.gov.sk.e-form+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.gov.sk.e-form+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.gov.sk.xmldatacontainer+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.grafeq\":{\"source\":\"iana\",\"extensions\":[\"gqf\",\"gqs\"]},\"application/vnd.gridmp\":{\"source\":\"iana\"},\"application/vnd.groove-account\":{\"source\":\"iana\",\"extensions\":[\"gac\"]},\"application/vnd.groove-help\":{\"source\":\"iana\",\"extensions\":[\"ghf\"]},\"application/vnd.groove-identity-message\":{\"source\":\"iana\",\"extensions\":[\"gim\"]},\"application/vnd.groove-injector\":{\"source\":\"iana\",\"extensions\":[\"grv\"]},\"application/vnd.groove-tool-message\":{\"source\":\"iana\",\"extensions\":[\"gtm\"]},\"application/vnd.groove-tool-template\":{\"source\":\"iana\",\"extensions\":[\"tpl\"]},\"application/vnd.groove-vcard\":{\"source\":\"iana\",\"extensions\":[\"vcg\"]},\"application/vnd.hal+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hal+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"hal\"]},\"application/vnd.handheld-entertainment+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"zmm\"]},\"application/vnd.hbci\":{\"source\":\"iana\",\"extensions\":[\"hbci\"]},\"application/vnd.hc+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hcl-bireports\":{\"source\":\"iana\"},\"application/vnd.hdt\":{\"source\":\"iana\"},\"application/vnd.heroku+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hhe.lesson-player\":{\"source\":\"iana\",\"extensions\":[\"les\"]},\"application/vnd.hp-hpgl\":{\"source\":\"iana\",\"extensions\":[\"hpgl\"]},\"application/vnd.hp-hpid\":{\"source\":\"iana\",\"extensions\":[\"hpid\"]},\"application/vnd.hp-hps\":{\"source\":\"iana\",\"extensions\":[\"hps\"]},\"application/vnd.hp-jlyt\":{\"source\":\"iana\",\"extensions\":[\"jlt\"]},\"application/vnd.hp-pcl\":{\"source\":\"iana\",\"extensions\":[\"pcl\"]},\"application/vnd.hp-pclxl\":{\"source\":\"iana\",\"extensions\":[\"pclxl\"]},\"application/vnd.httphone\":{\"source\":\"iana\"},\"application/vnd.hydrostatix.sof-data\":{\"source\":\"iana\",\"extensions\":[\"sfd-hdstx\"]},\"application/vnd.hyper+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hyper-item+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hyperdrive+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hzn-3d-crossword\":{\"source\":\"iana\"},\"application/vnd.ibm.afplinedata\":{\"source\":\"iana\"},\"application/vnd.ibm.electronic-media\":{\"source\":\"iana\"},\"application/vnd.ibm.minipay\":{\"source\":\"iana\",\"extensions\":[\"mpy\"]},\"application/vnd.ibm.modcap\":{\"source\":\"iana\",\"extensions\":[\"afp\",\"listafp\",\"list3820\"]},\"application/vnd.ibm.rights-management\":{\"source\":\"iana\",\"extensions\":[\"irm\"]},\"application/vnd.ibm.secure-container\":{\"source\":\"iana\",\"extensions\":[\"sc\"]},\"application/vnd.iccprofile\":{\"source\":\"iana\",\"extensions\":[\"icc\",\"icm\"]},\"application/vnd.ieee.1905\":{\"source\":\"iana\"},\"application/vnd.igloader\":{\"source\":\"iana\",\"extensions\":[\"igl\"]},\"application/vnd.imagemeter.folder+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.imagemeter.image+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.immervision-ivp\":{\"source\":\"iana\",\"extensions\":[\"ivp\"]},\"application/vnd.immervision-ivu\":{\"source\":\"iana\",\"extensions\":[\"ivu\"]},\"application/vnd.ims.imsccv1p1\":{\"source\":\"iana\"},\"application/vnd.ims.imsccv1p2\":{\"source\":\"iana\"},\"application/vnd.ims.imsccv1p3\":{\"source\":\"iana\"},\"application/vnd.ims.lis.v2.result+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolconsumerprofile+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolproxy+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolproxy.id+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolsettings+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolsettings.simple+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.informedcontrol.rms+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.informix-visionary\":{\"source\":\"iana\"},\"application/vnd.infotech.project\":{\"source\":\"iana\"},\"application/vnd.infotech.project+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.innopath.wamp.notification\":{\"source\":\"iana\"},\"application/vnd.insors.igm\":{\"source\":\"iana\",\"extensions\":[\"igm\"]},\"application/vnd.intercon.formnet\":{\"source\":\"iana\",\"extensions\":[\"xpw\",\"xpx\"]},\"application/vnd.intergeo\":{\"source\":\"iana\",\"extensions\":[\"i2g\"]},\"application/vnd.intertrust.digibox\":{\"source\":\"iana\"},\"application/vnd.intertrust.nncp\":{\"source\":\"iana\"},\"application/vnd.intu.qbo\":{\"source\":\"iana\",\"extensions\":[\"qbo\"]},\"application/vnd.intu.qfx\":{\"source\":\"iana\",\"extensions\":[\"qfx\"]},\"application/vnd.iptc.g2.catalogitem+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.iptc.g2.conceptitem+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.iptc.g2.knowledgeitem+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.iptc.g2.newsitem+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.iptc.g2.newsmessage+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.iptc.g2.packageitem+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.iptc.g2.planningitem+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ipunplugged.rcprofile\":{\"source\":\"iana\",\"extensions\":[\"rcprofile\"]},\"application/vnd.irepository.package+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"irp\"]},\"application/vnd.is-xpr\":{\"source\":\"iana\",\"extensions\":[\"xpr\"]},\"application/vnd.isac.fcs\":{\"source\":\"iana\",\"extensions\":[\"fcs\"]},\"application/vnd.iso11783-10+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.jam\":{\"source\":\"iana\",\"extensions\":[\"jam\"]},\"application/vnd.japannet-directory-service\":{\"source\":\"iana\"},\"application/vnd.japannet-jpnstore-wakeup\":{\"source\":\"iana\"},\"application/vnd.japannet-payment-wakeup\":{\"source\":\"iana\"},\"application/vnd.japannet-registration\":{\"source\":\"iana\"},\"application/vnd.japannet-registration-wakeup\":{\"source\":\"iana\"},\"application/vnd.japannet-setstore-wakeup\":{\"source\":\"iana\"},\"application/vnd.japannet-verification\":{\"source\":\"iana\"},\"application/vnd.japannet-verification-wakeup\":{\"source\":\"iana\"},\"application/vnd.jcp.javame.midlet-rms\":{\"source\":\"iana\",\"extensions\":[\"rms\"]},\"application/vnd.jisp\":{\"source\":\"iana\",\"extensions\":[\"jisp\"]},\"application/vnd.joost.joda-archive\":{\"source\":\"iana\",\"extensions\":[\"joda\"]},\"application/vnd.jsk.isdn-ngn\":{\"source\":\"iana\"},\"application/vnd.kahootz\":{\"source\":\"iana\",\"extensions\":[\"ktz\",\"ktr\"]},\"application/vnd.kde.karbon\":{\"source\":\"iana\",\"extensions\":[\"karbon\"]},\"application/vnd.kde.kchart\":{\"source\":\"iana\",\"extensions\":[\"chrt\"]},\"application/vnd.kde.kformula\":{\"source\":\"iana\",\"extensions\":[\"kfo\"]},\"application/vnd.kde.kivio\":{\"source\":\"iana\",\"extensions\":[\"flw\"]},\"application/vnd.kde.kontour\":{\"source\":\"iana\",\"extensions\":[\"kon\"]},\"application/vnd.kde.kpresenter\":{\"source\":\"iana\",\"extensions\":[\"kpr\",\"kpt\"]},\"application/vnd.kde.kspread\":{\"source\":\"iana\",\"extensions\":[\"ksp\"]},\"application/vnd.kde.kword\":{\"source\":\"iana\",\"extensions\":[\"kwd\",\"kwt\"]},\"application/vnd.kenameaapp\":{\"source\":\"iana\",\"extensions\":[\"htke\"]},\"application/vnd.kidspiration\":{\"source\":\"iana\",\"extensions\":[\"kia\"]},\"application/vnd.kinar\":{\"source\":\"iana\",\"extensions\":[\"kne\",\"knp\"]},\"application/vnd.koan\":{\"source\":\"iana\",\"extensions\":[\"skp\",\"skd\",\"skt\",\"skm\"]},\"application/vnd.kodak-descriptor\":{\"source\":\"iana\",\"extensions\":[\"sse\"]},\"application/vnd.las\":{\"source\":\"iana\"},\"application/vnd.las.las+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.las.las+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"lasxml\"]},\"application/vnd.laszip\":{\"source\":\"iana\"},\"application/vnd.leap+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.liberty-request+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.llamagraphics.life-balance.desktop\":{\"source\":\"iana\",\"extensions\":[\"lbd\"]},\"application/vnd.llamagraphics.life-balance.exchange+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"lbe\"]},\"application/vnd.logipipe.circuit+zip\":{\"source\":\"iana\",\"compressible\":false},\"application/vnd.loom\":{\"source\":\"iana\"},\"application/vnd.lotus-1-2-3\":{\"source\":\"iana\",\"extensions\":[\"123\"]},\"application/vnd.lotus-approach\":{\"source\":\"iana\",\"extensions\":[\"apr\"]},\"application/vnd.lotus-freelance\":{\"source\":\"iana\",\"extensions\":[\"pre\"]},\"application/vnd.lotus-notes\":{\"source\":\"iana\",\"extensions\":[\"nsf\"]},\"application/vnd.lotus-organizer\":{\"source\":\"iana\",\"extensions\":[\"org\"]},\"application/vnd.lotus-screencam\":{\"source\":\"iana\",\"extensions\":[\"scm\"]},\"application/vnd.lotus-wordpro\":{\"source\":\"iana\",\"extensions\":[\"lwp\"]},\"application/vnd.macports.portpkg\":{\"source\":\"iana\",\"extensions\":[\"portpkg\"]},\"application/vnd.mapbox-vector-tile\":{\"source\":\"iana\"},\"application/vnd.marlin.drm.actiontoken+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.marlin.drm.conftoken+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.marlin.drm.license+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.marlin.drm.mdcf\":{\"source\":\"iana\"},\"application/vnd.mason+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.maxmind.maxmind-db\":{\"source\":\"iana\"},\"application/vnd.mcd\":{\"source\":\"iana\",\"extensions\":[\"mcd\"]},\"application/vnd.medcalcdata\":{\"source\":\"iana\",\"extensions\":[\"mc1\"]},\"application/vnd.mediastation.cdkey\":{\"source\":\"iana\",\"extensions\":[\"cdkey\"]},\"application/vnd.meridian-slingshot\":{\"source\":\"iana\"},\"application/vnd.mfer\":{\"source\":\"iana\",\"extensions\":[\"mwf\"]},\"application/vnd.mfmp\":{\"source\":\"iana\",\"extensions\":[\"mfm\"]},\"application/vnd.micro+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.micrografx.flo\":{\"source\":\"iana\",\"extensions\":[\"flo\"]},\"application/vnd.micrografx.igx\":{\"source\":\"iana\",\"extensions\":[\"igx\"]},\"application/vnd.microsoft.portable-executable\":{\"source\":\"iana\"},\"application/vnd.microsoft.windows.thumbnail-cache\":{\"source\":\"iana\"},\"application/vnd.miele+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.mif\":{\"source\":\"iana\",\"extensions\":[\"mif\"]},\"application/vnd.minisoft-hp3000-save\":{\"source\":\"iana\"},\"application/vnd.mitsubishi.misty-guard.trustweb\":{\"source\":\"iana\"},\"application/vnd.mobius.daf\":{\"source\":\"iana\",\"extensions\":[\"daf\"]},\"application/vnd.mobius.dis\":{\"source\":\"iana\",\"extensions\":[\"dis\"]},\"application/vnd.mobius.mbk\":{\"source\":\"iana\",\"extensions\":[\"mbk\"]},\"application/vnd.mobius.mqy\":{\"source\":\"iana\",\"extensions\":[\"mqy\"]},\"application/vnd.mobius.msl\":{\"source\":\"iana\",\"extensions\":[\"msl\"]},\"application/vnd.mobius.plc\":{\"source\":\"iana\",\"extensions\":[\"plc\"]},\"application/vnd.mobius.txf\":{\"source\":\"iana\",\"extensions\":[\"txf\"]},\"application/vnd.mophun.application\":{\"source\":\"iana\",\"extensions\":[\"mpn\"]},\"application/vnd.mophun.certificate\":{\"source\":\"iana\",\"extensions\":[\"mpc\"]},\"application/vnd.motorola.flexsuite\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.adsi\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.fis\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.gotap\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.kmr\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.ttc\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.wem\":{\"source\":\"iana\"},\"application/vnd.motorola.iprm\":{\"source\":\"iana\"},\"application/vnd.mozilla.xul+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xul\"]},\"application/vnd.ms-3mfdocument\":{\"source\":\"iana\"},\"application/vnd.ms-artgalry\":{\"source\":\"iana\",\"extensions\":[\"cil\"]},\"application/vnd.ms-asf\":{\"source\":\"iana\"},\"application/vnd.ms-cab-compressed\":{\"source\":\"iana\",\"extensions\":[\"cab\"]},\"application/vnd.ms-color.iccprofile\":{\"source\":\"apache\"},\"application/vnd.ms-excel\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]},\"application/vnd.ms-excel.addin.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"xlam\"]},\"application/vnd.ms-excel.sheet.binary.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"xlsb\"]},\"application/vnd.ms-excel.sheet.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"xlsm\"]},\"application/vnd.ms-excel.template.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"xltm\"]},\"application/vnd.ms-fontobject\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"eot\"]},\"application/vnd.ms-htmlhelp\":{\"source\":\"iana\",\"extensions\":[\"chm\"]},\"application/vnd.ms-ims\":{\"source\":\"iana\",\"extensions\":[\"ims\"]},\"application/vnd.ms-lrm\":{\"source\":\"iana\",\"extensions\":[\"lrm\"]},\"application/vnd.ms-office.activex+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ms-officetheme\":{\"source\":\"iana\",\"extensions\":[\"thmx\"]},\"application/vnd.ms-opentype\":{\"source\":\"apache\",\"compressible\":true},\"application/vnd.ms-outlook\":{\"compressible\":false,\"extensions\":[\"msg\"]},\"application/vnd.ms-package.obfuscated-opentype\":{\"source\":\"apache\"},\"application/vnd.ms-pki.seccat\":{\"source\":\"apache\",\"extensions\":[\"cat\"]},\"application/vnd.ms-pki.stl\":{\"source\":\"apache\",\"extensions\":[\"stl\"]},\"application/vnd.ms-playready.initiator+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ms-powerpoint\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"ppt\",\"pps\",\"pot\"]},\"application/vnd.ms-powerpoint.addin.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"ppam\"]},\"application/vnd.ms-powerpoint.presentation.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"pptm\"]},\"application/vnd.ms-powerpoint.slide.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"sldm\"]},\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"ppsm\"]},\"application/vnd.ms-powerpoint.template.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"potm\"]},\"application/vnd.ms-printdevicecapabilities+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ms-printing.printticket+xml\":{\"source\":\"apache\",\"compressible\":true},\"application/vnd.ms-printschematicket+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ms-project\":{\"source\":\"iana\",\"extensions\":[\"mpp\",\"mpt\"]},\"application/vnd.ms-tnef\":{\"source\":\"iana\"},\"application/vnd.ms-windows.devicepairing\":{\"source\":\"iana\"},\"application/vnd.ms-windows.nwprinting.oob\":{\"source\":\"iana\"},\"application/vnd.ms-windows.printerpairing\":{\"source\":\"iana\"},\"application/vnd.ms-windows.wsd.oob\":{\"source\":\"iana\"},\"application/vnd.ms-wmdrm.lic-chlg-req\":{\"source\":\"iana\"},\"application/vnd.ms-wmdrm.lic-resp\":{\"source\":\"iana\"},\"application/vnd.ms-wmdrm.meter-chlg-req\":{\"source\":\"iana\"},\"application/vnd.ms-wmdrm.meter-resp\":{\"source\":\"iana\"},\"application/vnd.ms-word.document.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"docm\"]},\"application/vnd.ms-word.template.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"dotm\"]},\"application/vnd.ms-works\":{\"source\":\"iana\",\"extensions\":[\"wps\",\"wks\",\"wcm\",\"wdb\"]},\"application/vnd.ms-wpl\":{\"source\":\"iana\",\"extensions\":[\"wpl\"]},\"application/vnd.ms-xpsdocument\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"xps\"]},\"application/vnd.msa-disk-image\":{\"source\":\"iana\"},\"application/vnd.mseq\":{\"source\":\"iana\",\"extensions\":[\"mseq\"]},\"application/vnd.msign\":{\"source\":\"iana\"},\"application/vnd.multiad.creator\":{\"source\":\"iana\"},\"application/vnd.multiad.creator.cif\":{\"source\":\"iana\"},\"application/vnd.music-niff\":{\"source\":\"iana\"},\"application/vnd.musician\":{\"source\":\"iana\",\"extensions\":[\"mus\"]},\"application/vnd.muvee.style\":{\"source\":\"iana\",\"extensions\":[\"msty\"]},\"application/vnd.mynfc\":{\"source\":\"iana\",\"extensions\":[\"taglet\"]},\"application/vnd.ncd.control\":{\"source\":\"iana\"},\"application/vnd.ncd.reference\":{\"source\":\"iana\"},\"application/vnd.nearst.inv+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.nervana\":{\"source\":\"iana\"},\"application/vnd.netfpx\":{\"source\":\"iana\"},\"application/vnd.neurolanguage.nlu\":{\"source\":\"iana\",\"extensions\":[\"nlu\"]},\"application/vnd.nimn\":{\"source\":\"iana\"},\"application/vnd.nintendo.nitro.rom\":{\"source\":\"iana\"},\"application/vnd.nintendo.snes.rom\":{\"source\":\"iana\"},\"application/vnd.nitf\":{\"source\":\"iana\",\"extensions\":[\"ntf\",\"nitf\"]},\"application/vnd.noblenet-directory\":{\"source\":\"iana\",\"extensions\":[\"nnd\"]},\"application/vnd.noblenet-sealer\":{\"source\":\"iana\",\"extensions\":[\"nns\"]},\"application/vnd.noblenet-web\":{\"source\":\"iana\",\"extensions\":[\"nnw\"]},\"application/vnd.nokia.catalogs\":{\"source\":\"iana\"},\"application/vnd.nokia.conml+wbxml\":{\"source\":\"iana\"},\"application/vnd.nokia.conml+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.nokia.iptv.config+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.nokia.isds-radio-presets\":{\"source\":\"iana\"},\"application/vnd.nokia.landmark+wbxml\":{\"source\":\"iana\"},\"application/vnd.nokia.landmark+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.nokia.landmarkcollection+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.nokia.n-gage.ac+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ac\"]},\"application/vnd.nokia.n-gage.data\":{\"source\":\"iana\",\"extensions\":[\"ngdat\"]},\"application/vnd.nokia.n-gage.symbian.install\":{\"source\":\"iana\",\"extensions\":[\"n-gage\"]},\"application/vnd.nokia.ncd\":{\"source\":\"iana\"},\"application/vnd.nokia.pcd+wbxml\":{\"source\":\"iana\"},\"application/vnd.nokia.pcd+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.nokia.radio-preset\":{\"source\":\"iana\",\"extensions\":[\"rpst\"]},\"application/vnd.nokia.radio-presets\":{\"source\":\"iana\",\"extensions\":[\"rpss\"]},\"application/vnd.novadigm.edm\":{\"source\":\"iana\",\"extensions\":[\"edm\"]},\"application/vnd.novadigm.edx\":{\"source\":\"iana\",\"extensions\":[\"edx\"]},\"application/vnd.novadigm.ext\":{\"source\":\"iana\",\"extensions\":[\"ext\"]},\"application/vnd.ntt-local.content-share\":{\"source\":\"iana\"},\"application/vnd.ntt-local.file-transfer\":{\"source\":\"iana\"},\"application/vnd.ntt-local.ogw_remote-access\":{\"source\":\"iana\"},\"application/vnd.ntt-local.sip-ta_remote\":{\"source\":\"iana\"},\"application/vnd.ntt-local.sip-ta_tcp_stream\":{\"source\":\"iana\"},\"application/vnd.oasis.opendocument.chart\":{\"source\":\"iana\",\"extensions\":[\"odc\"]},\"application/vnd.oasis.opendocument.chart-template\":{\"source\":\"iana\",\"extensions\":[\"otc\"]},\"application/vnd.oasis.opendocument.database\":{\"source\":\"iana\",\"extensions\":[\"odb\"]},\"application/vnd.oasis.opendocument.formula\":{\"source\":\"iana\",\"extensions\":[\"odf\"]},\"application/vnd.oasis.opendocument.formula-template\":{\"source\":\"iana\",\"extensions\":[\"odft\"]},\"application/vnd.oasis.opendocument.graphics\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"odg\"]},\"application/vnd.oasis.opendocument.graphics-template\":{\"source\":\"iana\",\"extensions\":[\"otg\"]},\"application/vnd.oasis.opendocument.image\":{\"source\":\"iana\",\"extensions\":[\"odi\"]},\"application/vnd.oasis.opendocument.image-template\":{\"source\":\"iana\",\"extensions\":[\"oti\"]},\"application/vnd.oasis.opendocument.presentation\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"odp\"]},\"application/vnd.oasis.opendocument.presentation-template\":{\"source\":\"iana\",\"extensions\":[\"otp\"]},\"application/vnd.oasis.opendocument.spreadsheet\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"ods\"]},\"application/vnd.oasis.opendocument.spreadsheet-template\":{\"source\":\"iana\",\"extensions\":[\"ots\"]},\"application/vnd.oasis.opendocument.text\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"odt\"]},\"application/vnd.oasis.opendocument.text-master\":{\"source\":\"iana\",\"extensions\":[\"odm\"]},\"application/vnd.oasis.opendocument.text-template\":{\"source\":\"iana\",\"extensions\":[\"ott\"]},\"application/vnd.oasis.opendocument.text-web\":{\"source\":\"iana\",\"extensions\":[\"oth\"]},\"application/vnd.obn\":{\"source\":\"iana\"},\"application/vnd.ocf+cbor\":{\"source\":\"iana\"},\"application/vnd.oci.image.manifest.v1+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oftn.l10n+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.contentaccessdownload+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.contentaccessstreaming+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.cspg-hexbinary\":{\"source\":\"iana\"},\"application/vnd.oipf.dae.svg+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.dae.xhtml+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.mippvcontrolmessage+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.pae.gem\":{\"source\":\"iana\"},\"application/vnd.oipf.spdiscovery+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.spdlist+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.ueprofile+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.userprofile+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.olpc-sugar\":{\"source\":\"iana\",\"extensions\":[\"xo\"]},\"application/vnd.oma-scws-config\":{\"source\":\"iana\"},\"application/vnd.oma-scws-http-request\":{\"source\":\"iana\"},\"application/vnd.oma-scws-http-response\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.associated-procedure-parameter+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.bcast.drm-trigger+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.bcast.imd+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.bcast.ltkm\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.notification+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.bcast.provisioningtrigger\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.sgboot\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.sgdd+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.bcast.sgdu\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.simple-symbol-container\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.smartcard-trigger+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.bcast.sprov+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.bcast.stkm\":{\"source\":\"iana\"},\"application/vnd.oma.cab-address-book+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.cab-feature-handler+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.cab-pcc+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.cab-subs-invite+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.cab-user-prefs+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.dcd\":{\"source\":\"iana\"},\"application/vnd.oma.dcdc\":{\"source\":\"iana\"},\"application/vnd.oma.dd2+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"dd2\"]},\"application/vnd.oma.drm.risd+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.group-usage-list+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.lwm2m+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.lwm2m+tlv\":{\"source\":\"iana\"},\"application/vnd.oma.pal+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.poc.detailed-progress-report+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.poc.final-report+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.poc.groups+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.poc.invocation-descriptor+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.poc.optimized-progress-report+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.push\":{\"source\":\"iana\"},\"application/vnd.oma.scidm.messages+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oma.xcap-directory+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.omads-email+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/vnd.omads-file+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/vnd.omads-folder+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/vnd.omaloc-supl-init\":{\"source\":\"iana\"},\"application/vnd.onepager\":{\"source\":\"iana\"},\"application/vnd.onepagertamp\":{\"source\":\"iana\"},\"application/vnd.onepagertamx\":{\"source\":\"iana\"},\"application/vnd.onepagertat\":{\"source\":\"iana\"},\"application/vnd.onepagertatp\":{\"source\":\"iana\"},\"application/vnd.onepagertatx\":{\"source\":\"iana\"},\"application/vnd.openblox.game+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"obgx\"]},\"application/vnd.openblox.game-binary\":{\"source\":\"iana\"},\"application/vnd.openeye.oeb\":{\"source\":\"iana\"},\"application/vnd.openofficeorg.extension\":{\"source\":\"apache\",\"extensions\":[\"oxt\"]},\"application/vnd.openstreetmap.data+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"osm\"]},\"application/vnd.openxmlformats-officedocument.custom-properties+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.drawing+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.extended-properties+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"pptx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.slide\":{\"source\":\"iana\",\"extensions\":[\"sldx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":{\"source\":\"iana\",\"extensions\":[\"ppsx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.template\":{\"source\":\"iana\",\"extensions\":[\"potx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"xlsx\"]},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":{\"source\":\"iana\",\"extensions\":[\"xltx\"]},\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.theme+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.themeoverride+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.vmldrawing\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"docx\"]},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":{\"source\":\"iana\",\"extensions\":[\"dotx\"]},\"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-package.core-properties+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.openxmlformats-package.relationships+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oracle.resource+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.orange.indata\":{\"source\":\"iana\"},\"application/vnd.osa.netdeploy\":{\"source\":\"iana\"},\"application/vnd.osgeo.mapguide.package\":{\"source\":\"iana\",\"extensions\":[\"mgp\"]},\"application/vnd.osgi.bundle\":{\"source\":\"iana\"},\"application/vnd.osgi.dp\":{\"source\":\"iana\",\"extensions\":[\"dp\"]},\"application/vnd.osgi.subsystem\":{\"source\":\"iana\",\"extensions\":[\"esa\"]},\"application/vnd.otps.ct-kip+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oxli.countgraph\":{\"source\":\"iana\"},\"application/vnd.pagerduty+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.palm\":{\"source\":\"iana\",\"extensions\":[\"pdb\",\"pqa\",\"oprc\"]},\"application/vnd.panoply\":{\"source\":\"iana\"},\"application/vnd.paos.xml\":{\"source\":\"iana\"},\"application/vnd.patentdive\":{\"source\":\"iana\"},\"application/vnd.patientecommsdoc\":{\"source\":\"iana\"},\"application/vnd.pawaafile\":{\"source\":\"iana\",\"extensions\":[\"paw\"]},\"application/vnd.pcos\":{\"source\":\"iana\"},\"application/vnd.pg.format\":{\"source\":\"iana\",\"extensions\":[\"str\"]},\"application/vnd.pg.osasli\":{\"source\":\"iana\",\"extensions\":[\"ei6\"]},\"application/vnd.piaccess.application-licence\":{\"source\":\"iana\"},\"application/vnd.picsel\":{\"source\":\"iana\",\"extensions\":[\"efif\"]},\"application/vnd.pmi.widget\":{\"source\":\"iana\",\"extensions\":[\"wg\"]},\"application/vnd.poc.group-advertisement+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.pocketlearn\":{\"source\":\"iana\",\"extensions\":[\"plf\"]},\"application/vnd.powerbuilder6\":{\"source\":\"iana\",\"extensions\":[\"pbd\"]},\"application/vnd.powerbuilder6-s\":{\"source\":\"iana\"},\"application/vnd.powerbuilder7\":{\"source\":\"iana\"},\"application/vnd.powerbuilder7-s\":{\"source\":\"iana\"},\"application/vnd.powerbuilder75\":{\"source\":\"iana\"},\"application/vnd.powerbuilder75-s\":{\"source\":\"iana\"},\"application/vnd.preminet\":{\"source\":\"iana\"},\"application/vnd.previewsystems.box\":{\"source\":\"iana\",\"extensions\":[\"box\"]},\"application/vnd.proteus.magazine\":{\"source\":\"iana\",\"extensions\":[\"mgz\"]},\"application/vnd.psfs\":{\"source\":\"iana\"},\"application/vnd.publishare-delta-tree\":{\"source\":\"iana\",\"extensions\":[\"qps\"]},\"application/vnd.pvi.ptid1\":{\"source\":\"iana\",\"extensions\":[\"ptid\"]},\"application/vnd.pwg-multiplexed\":{\"source\":\"iana\"},\"application/vnd.pwg-xhtml-print+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.qualcomm.brew-app-res\":{\"source\":\"iana\"},\"application/vnd.quarantainenet\":{\"source\":\"iana\"},\"application/vnd.quark.quarkxpress\":{\"source\":\"iana\",\"extensions\":[\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]},\"application/vnd.quobject-quoxdocument\":{\"source\":\"iana\"},\"application/vnd.radisys.moml+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-audit+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-audit-conf+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-audit-conn+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-audit-dialog+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-audit-stream+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-conf+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-dialog+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-dialog-base+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-dialog-fax-detect+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-dialog-group+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-dialog-speech+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.radisys.msml-dialog-transform+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.rainstor.data\":{\"source\":\"iana\"},\"application/vnd.rapid\":{\"source\":\"iana\"},\"application/vnd.rar\":{\"source\":\"iana\"},\"application/vnd.realvnc.bed\":{\"source\":\"iana\",\"extensions\":[\"bed\"]},\"application/vnd.recordare.musicxml\":{\"source\":\"iana\",\"extensions\":[\"mxl\"]},\"application/vnd.recordare.musicxml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"musicxml\"]},\"application/vnd.renlearn.rlprint\":{\"source\":\"iana\"},\"application/vnd.restful+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.rig.cryptonote\":{\"source\":\"iana\",\"extensions\":[\"cryptonote\"]},\"application/vnd.rim.cod\":{\"source\":\"apache\",\"extensions\":[\"cod\"]},\"application/vnd.rn-realmedia\":{\"source\":\"apache\",\"extensions\":[\"rm\"]},\"application/vnd.rn-realmedia-vbr\":{\"source\":\"apache\",\"extensions\":[\"rmvb\"]},\"application/vnd.route66.link66+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"link66\"]},\"application/vnd.rs-274x\":{\"source\":\"iana\"},\"application/vnd.ruckus.download\":{\"source\":\"iana\"},\"application/vnd.s3sms\":{\"source\":\"iana\"},\"application/vnd.sailingtracker.track\":{\"source\":\"iana\",\"extensions\":[\"st\"]},\"application/vnd.sar\":{\"source\":\"iana\"},\"application/vnd.sbm.cid\":{\"source\":\"iana\"},\"application/vnd.sbm.mid2\":{\"source\":\"iana\"},\"application/vnd.scribus\":{\"source\":\"iana\"},\"application/vnd.sealed.3df\":{\"source\":\"iana\"},\"application/vnd.sealed.csf\":{\"source\":\"iana\"},\"application/vnd.sealed.doc\":{\"source\":\"iana\"},\"application/vnd.sealed.eml\":{\"source\":\"iana\"},\"application/vnd.sealed.mht\":{\"source\":\"iana\"},\"application/vnd.sealed.net\":{\"source\":\"iana\"},\"application/vnd.sealed.ppt\":{\"source\":\"iana\"},\"application/vnd.sealed.tiff\":{\"source\":\"iana\"},\"application/vnd.sealed.xls\":{\"source\":\"iana\"},\"application/vnd.sealedmedia.softseal.html\":{\"source\":\"iana\"},\"application/vnd.sealedmedia.softseal.pdf\":{\"source\":\"iana\"},\"application/vnd.seemail\":{\"source\":\"iana\",\"extensions\":[\"see\"]},\"application/vnd.sema\":{\"source\":\"iana\",\"extensions\":[\"sema\"]},\"application/vnd.semd\":{\"source\":\"iana\",\"extensions\":[\"semd\"]},\"application/vnd.semf\":{\"source\":\"iana\",\"extensions\":[\"semf\"]},\"application/vnd.shade-save-file\":{\"source\":\"iana\"},\"application/vnd.shana.informed.formdata\":{\"source\":\"iana\",\"extensions\":[\"ifm\"]},\"application/vnd.shana.informed.formtemplate\":{\"source\":\"iana\",\"extensions\":[\"itp\"]},\"application/vnd.shana.informed.interchange\":{\"source\":\"iana\",\"extensions\":[\"iif\"]},\"application/vnd.shana.informed.package\":{\"source\":\"iana\",\"extensions\":[\"ipk\"]},\"application/vnd.shootproof+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.shopkick+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.shp\":{\"source\":\"iana\"},\"application/vnd.shx\":{\"source\":\"iana\"},\"application/vnd.sigrok.session\":{\"source\":\"iana\"},\"application/vnd.simtech-mindmapper\":{\"source\":\"iana\",\"extensions\":[\"twd\",\"twds\"]},\"application/vnd.siren+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.smaf\":{\"source\":\"iana\",\"extensions\":[\"mmf\"]},\"application/vnd.smart.notebook\":{\"source\":\"iana\"},\"application/vnd.smart.teacher\":{\"source\":\"iana\",\"extensions\":[\"teacher\"]},\"application/vnd.snesdev-page-table\":{\"source\":\"iana\"},\"application/vnd.software602.filler.form+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"fo\"]},\"application/vnd.software602.filler.form-xml-zip\":{\"source\":\"iana\"},\"application/vnd.solent.sdkm+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"sdkm\",\"sdkd\"]},\"application/vnd.spotfire.dxp\":{\"source\":\"iana\",\"extensions\":[\"dxp\"]},\"application/vnd.spotfire.sfs\":{\"source\":\"iana\",\"extensions\":[\"sfs\"]},\"application/vnd.sqlite3\":{\"source\":\"iana\"},\"application/vnd.sss-cod\":{\"source\":\"iana\"},\"application/vnd.sss-dtf\":{\"source\":\"iana\"},\"application/vnd.sss-ntf\":{\"source\":\"iana\"},\"application/vnd.stardivision.calc\":{\"source\":\"apache\",\"extensions\":[\"sdc\"]},\"application/vnd.stardivision.draw\":{\"source\":\"apache\",\"extensions\":[\"sda\"]},\"application/vnd.stardivision.impress\":{\"source\":\"apache\",\"extensions\":[\"sdd\"]},\"application/vnd.stardivision.math\":{\"source\":\"apache\",\"extensions\":[\"smf\"]},\"application/vnd.stardivision.writer\":{\"source\":\"apache\",\"extensions\":[\"sdw\",\"vor\"]},\"application/vnd.stardivision.writer-global\":{\"source\":\"apache\",\"extensions\":[\"sgl\"]},\"application/vnd.stepmania.package\":{\"source\":\"iana\",\"extensions\":[\"smzip\"]},\"application/vnd.stepmania.stepchart\":{\"source\":\"iana\",\"extensions\":[\"sm\"]},\"application/vnd.street-stream\":{\"source\":\"iana\"},\"application/vnd.sun.wadl+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"wadl\"]},\"application/vnd.sun.xml.calc\":{\"source\":\"apache\",\"extensions\":[\"sxc\"]},\"application/vnd.sun.xml.calc.template\":{\"source\":\"apache\",\"extensions\":[\"stc\"]},\"application/vnd.sun.xml.draw\":{\"source\":\"apache\",\"extensions\":[\"sxd\"]},\"application/vnd.sun.xml.draw.template\":{\"source\":\"apache\",\"extensions\":[\"std\"]},\"application/vnd.sun.xml.impress\":{\"source\":\"apache\",\"extensions\":[\"sxi\"]},\"application/vnd.sun.xml.impress.template\":{\"source\":\"apache\",\"extensions\":[\"sti\"]},\"application/vnd.sun.xml.math\":{\"source\":\"apache\",\"extensions\":[\"sxm\"]},\"application/vnd.sun.xml.writer\":{\"source\":\"apache\",\"extensions\":[\"sxw\"]},\"application/vnd.sun.xml.writer.global\":{\"source\":\"apache\",\"extensions\":[\"sxg\"]},\"application/vnd.sun.xml.writer.template\":{\"source\":\"apache\",\"extensions\":[\"stw\"]},\"application/vnd.sus-calendar\":{\"source\":\"iana\",\"extensions\":[\"sus\",\"susp\"]},\"application/vnd.svd\":{\"source\":\"iana\",\"extensions\":[\"svd\"]},\"application/vnd.swiftview-ics\":{\"source\":\"iana\"},\"application/vnd.symbian.install\":{\"source\":\"apache\",\"extensions\":[\"sis\",\"sisx\"]},\"application/vnd.syncml+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"xsm\"]},\"application/vnd.syncml.dm+wbxml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"extensions\":[\"bdm\"]},\"application/vnd.syncml.dm+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"xdm\"]},\"application/vnd.syncml.dm.notification\":{\"source\":\"iana\"},\"application/vnd.syncml.dmddf+wbxml\":{\"source\":\"iana\"},\"application/vnd.syncml.dmddf+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"ddf\"]},\"application/vnd.syncml.dmtnds+wbxml\":{\"source\":\"iana\"},\"application/vnd.syncml.dmtnds+xml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true},\"application/vnd.syncml.ds.notification\":{\"source\":\"iana\"},\"application/vnd.tableschema+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.tao.intent-module-archive\":{\"source\":\"iana\",\"extensions\":[\"tao\"]},\"application/vnd.tcpdump.pcap\":{\"source\":\"iana\",\"extensions\":[\"pcap\",\"cap\",\"dmp\"]},\"application/vnd.think-cell.ppttc+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.tmd.mediaflex.api+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.tml\":{\"source\":\"iana\"},\"application/vnd.tmobile-livetv\":{\"source\":\"iana\",\"extensions\":[\"tmo\"]},\"application/vnd.tri.onesource\":{\"source\":\"iana\"},\"application/vnd.trid.tpt\":{\"source\":\"iana\",\"extensions\":[\"tpt\"]},\"application/vnd.triscape.mxs\":{\"source\":\"iana\",\"extensions\":[\"mxs\"]},\"application/vnd.trueapp\":{\"source\":\"iana\",\"extensions\":[\"tra\"]},\"application/vnd.truedoc\":{\"source\":\"iana\"},\"application/vnd.ubisoft.webplayer\":{\"source\":\"iana\"},\"application/vnd.ufdl\":{\"source\":\"iana\",\"extensions\":[\"ufd\",\"ufdl\"]},\"application/vnd.uiq.theme\":{\"source\":\"iana\",\"extensions\":[\"utz\"]},\"application/vnd.umajin\":{\"source\":\"iana\",\"extensions\":[\"umj\"]},\"application/vnd.unity\":{\"source\":\"iana\",\"extensions\":[\"unityweb\"]},\"application/vnd.uoml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"uoml\"]},\"application/vnd.uplanet.alert\":{\"source\":\"iana\"},\"application/vnd.uplanet.alert-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.bearer-choice\":{\"source\":\"iana\"},\"application/vnd.uplanet.bearer-choice-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.cacheop\":{\"source\":\"iana\"},\"application/vnd.uplanet.cacheop-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.channel\":{\"source\":\"iana\"},\"application/vnd.uplanet.channel-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.list\":{\"source\":\"iana\"},\"application/vnd.uplanet.list-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.listcmd\":{\"source\":\"iana\"},\"application/vnd.uplanet.listcmd-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.signal\":{\"source\":\"iana\"},\"application/vnd.uri-map\":{\"source\":\"iana\"},\"application/vnd.valve.source.material\":{\"source\":\"iana\"},\"application/vnd.vcx\":{\"source\":\"iana\",\"extensions\":[\"vcx\"]},\"application/vnd.vd-study\":{\"source\":\"iana\"},\"application/vnd.vectorworks\":{\"source\":\"iana\"},\"application/vnd.vel+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.verimatrix.vcas\":{\"source\":\"iana\"},\"application/vnd.veryant.thin\":{\"source\":\"iana\"},\"application/vnd.ves.encrypted\":{\"source\":\"iana\"},\"application/vnd.vidsoft.vidconference\":{\"source\":\"iana\"},\"application/vnd.visio\":{\"source\":\"iana\",\"extensions\":[\"vsd\",\"vst\",\"vss\",\"vsw\"]},\"application/vnd.visionary\":{\"source\":\"iana\",\"extensions\":[\"vis\"]},\"application/vnd.vividence.scriptfile\":{\"source\":\"iana\"},\"application/vnd.vsf\":{\"source\":\"iana\",\"extensions\":[\"vsf\"]},\"application/vnd.wap.sic\":{\"source\":\"iana\"},\"application/vnd.wap.slc\":{\"source\":\"iana\"},\"application/vnd.wap.wbxml\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"extensions\":[\"wbxml\"]},\"application/vnd.wap.wmlc\":{\"source\":\"iana\",\"extensions\":[\"wmlc\"]},\"application/vnd.wap.wmlscriptc\":{\"source\":\"iana\",\"extensions\":[\"wmlsc\"]},\"application/vnd.webturbo\":{\"source\":\"iana\",\"extensions\":[\"wtb\"]},\"application/vnd.wfa.p2p\":{\"source\":\"iana\"},\"application/vnd.wfa.wsc\":{\"source\":\"iana\"},\"application/vnd.windows.devicepairing\":{\"source\":\"iana\"},\"application/vnd.wmc\":{\"source\":\"iana\"},\"application/vnd.wmf.bootstrap\":{\"source\":\"iana\"},\"application/vnd.wolfram.mathematica\":{\"source\":\"iana\"},\"application/vnd.wolfram.mathematica.package\":{\"source\":\"iana\"},\"application/vnd.wolfram.player\":{\"source\":\"iana\",\"extensions\":[\"nbp\"]},\"application/vnd.wordperfect\":{\"source\":\"iana\",\"extensions\":[\"wpd\"]},\"application/vnd.wqd\":{\"source\":\"iana\",\"extensions\":[\"wqd\"]},\"application/vnd.wrq-hp3000-labelled\":{\"source\":\"iana\"},\"application/vnd.wt.stf\":{\"source\":\"iana\",\"extensions\":[\"stf\"]},\"application/vnd.wv.csp+wbxml\":{\"source\":\"iana\"},\"application/vnd.wv.csp+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.wv.ssp+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.xacml+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.xara\":{\"source\":\"iana\",\"extensions\":[\"xar\"]},\"application/vnd.xfdl\":{\"source\":\"iana\",\"extensions\":[\"xfdl\"]},\"application/vnd.xfdl.webform\":{\"source\":\"iana\"},\"application/vnd.xmi+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.xmpie.cpkg\":{\"source\":\"iana\"},\"application/vnd.xmpie.dpkg\":{\"source\":\"iana\"},\"application/vnd.xmpie.plan\":{\"source\":\"iana\"},\"application/vnd.xmpie.ppkg\":{\"source\":\"iana\"},\"application/vnd.xmpie.xlim\":{\"source\":\"iana\"},\"application/vnd.yamaha.hv-dic\":{\"source\":\"iana\",\"extensions\":[\"hvd\"]},\"application/vnd.yamaha.hv-script\":{\"source\":\"iana\",\"extensions\":[\"hvs\"]},\"application/vnd.yamaha.hv-voice\":{\"source\":\"iana\",\"extensions\":[\"hvp\"]},\"application/vnd.yamaha.openscoreformat\":{\"source\":\"iana\",\"extensions\":[\"osf\"]},\"application/vnd.yamaha.openscoreformat.osfpvg+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"osfpvg\"]},\"application/vnd.yamaha.remote-setup\":{\"source\":\"iana\"},\"application/vnd.yamaha.smaf-audio\":{\"source\":\"iana\",\"extensions\":[\"saf\"]},\"application/vnd.yamaha.smaf-phrase\":{\"source\":\"iana\",\"extensions\":[\"spf\"]},\"application/vnd.yamaha.through-ngn\":{\"source\":\"iana\"},\"application/vnd.yamaha.tunnel-udpencap\":{\"source\":\"iana\"},\"application/vnd.yaoweme\":{\"source\":\"iana\"},\"application/vnd.yellowriver-custom-menu\":{\"source\":\"iana\",\"extensions\":[\"cmp\"]},\"application/vnd.youtube.yt\":{\"source\":\"iana\"},\"application/vnd.zul\":{\"source\":\"iana\",\"extensions\":[\"zir\",\"zirz\"]},\"application/vnd.zzazz.deck+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"zaz\"]},\"application/voicexml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"vxml\"]},\"application/voucher-cms+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vq-rtcpxr\":{\"source\":\"iana\"},\"application/wasm\":{\"compressible\":true,\"extensions\":[\"wasm\"]},\"application/watcherinfo+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/webpush-options+json\":{\"source\":\"iana\",\"compressible\":true},\"application/whoispp-query\":{\"source\":\"iana\"},\"application/whoispp-response\":{\"source\":\"iana\"},\"application/widget\":{\"source\":\"iana\",\"extensions\":[\"wgt\"]},\"application/winhlp\":{\"source\":\"apache\",\"extensions\":[\"hlp\"]},\"application/wita\":{\"source\":\"iana\"},\"application/wordperfect5.1\":{\"source\":\"iana\"},\"application/wsdl+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"wsdl\"]},\"application/wspolicy+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"wspolicy\"]},\"application/x-7z-compressed\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"7z\"]},\"application/x-abiword\":{\"source\":\"apache\",\"extensions\":[\"abw\"]},\"application/x-ace-compressed\":{\"source\":\"apache\",\"extensions\":[\"ace\"]},\"application/x-amf\":{\"source\":\"apache\"},\"application/x-apple-diskimage\":{\"source\":\"apache\",\"extensions\":[\"dmg\"]},\"application/x-arj\":{\"compressible\":false,\"extensions\":[\"arj\"]},\"application/x-authorware-bin\":{\"source\":\"apache\",\"extensions\":[\"aab\",\"x32\",\"u32\",\"vox\"]},\"application/x-authorware-map\":{\"source\":\"apache\",\"extensions\":[\"aam\"]},\"application/x-authorware-seg\":{\"source\":\"apache\",\"extensions\":[\"aas\"]},\"application/x-bcpio\":{\"source\":\"apache\",\"extensions\":[\"bcpio\"]},\"application/x-bdoc\":{\"compressible\":false,\"extensions\":[\"bdoc\"]},\"application/x-bittorrent\":{\"source\":\"apache\",\"extensions\":[\"torrent\"]},\"application/x-blorb\":{\"source\":\"apache\",\"extensions\":[\"blb\",\"blorb\"]},\"application/x-bzip\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"bz\"]},\"application/x-bzip2\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"bz2\",\"boz\"]},\"application/x-cbr\":{\"source\":\"apache\",\"extensions\":[\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]},\"application/x-cdlink\":{\"source\":\"apache\",\"extensions\":[\"vcd\"]},\"application/x-cfs-compressed\":{\"source\":\"apache\",\"extensions\":[\"cfs\"]},\"application/x-chat\":{\"source\":\"apache\",\"extensions\":[\"chat\"]},\"application/x-chess-pgn\":{\"source\":\"apache\",\"extensions\":[\"pgn\"]},\"application/x-chrome-extension\":{\"extensions\":[\"crx\"]},\"application/x-cocoa\":{\"source\":\"nginx\",\"extensions\":[\"cco\"]},\"application/x-compress\":{\"source\":\"apache\"},\"application/x-conference\":{\"source\":\"apache\",\"extensions\":[\"nsc\"]},\"application/x-cpio\":{\"source\":\"apache\",\"extensions\":[\"cpio\"]},\"application/x-csh\":{\"source\":\"apache\",\"extensions\":[\"csh\"]},\"application/x-deb\":{\"compressible\":false},\"application/x-debian-package\":{\"source\":\"apache\",\"extensions\":[\"deb\",\"udeb\"]},\"application/x-dgc-compressed\":{\"source\":\"apache\",\"extensions\":[\"dgc\"]},\"application/x-director\":{\"source\":\"apache\",\"extensions\":[\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]},\"application/x-doom\":{\"source\":\"apache\",\"extensions\":[\"wad\"]},\"application/x-dtbncx+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"ncx\"]},\"application/x-dtbook+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"dtb\"]},\"application/x-dtbresource+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"res\"]},\"application/x-dvi\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"dvi\"]},\"application/x-envoy\":{\"source\":\"apache\",\"extensions\":[\"evy\"]},\"application/x-eva\":{\"source\":\"apache\",\"extensions\":[\"eva\"]},\"application/x-font-bdf\":{\"source\":\"apache\",\"extensions\":[\"bdf\"]},\"application/x-font-dos\":{\"source\":\"apache\"},\"application/x-font-framemaker\":{\"source\":\"apache\"},\"application/x-font-ghostscript\":{\"source\":\"apache\",\"extensions\":[\"gsf\"]},\"application/x-font-libgrx\":{\"source\":\"apache\"},\"application/x-font-linux-psf\":{\"source\":\"apache\",\"extensions\":[\"psf\"]},\"application/x-font-pcf\":{\"source\":\"apache\",\"extensions\":[\"pcf\"]},\"application/x-font-snf\":{\"source\":\"apache\",\"extensions\":[\"snf\"]},\"application/x-font-speedo\":{\"source\":\"apache\"},\"application/x-font-sunos-news\":{\"source\":\"apache\"},\"application/x-font-type1\":{\"source\":\"apache\",\"extensions\":[\"pfa\",\"pfb\",\"pfm\",\"afm\"]},\"application/x-font-vfont\":{\"source\":\"apache\"},\"application/x-freearc\":{\"source\":\"apache\",\"extensions\":[\"arc\"]},\"application/x-futuresplash\":{\"source\":\"apache\",\"extensions\":[\"spl\"]},\"application/x-gca-compressed\":{\"source\":\"apache\",\"extensions\":[\"gca\"]},\"application/x-glulx\":{\"source\":\"apache\",\"extensions\":[\"ulx\"]},\"application/x-gnumeric\":{\"source\":\"apache\",\"extensions\":[\"gnumeric\"]},\"application/x-gramps-xml\":{\"source\":\"apache\",\"extensions\":[\"gramps\"]},\"application/x-gtar\":{\"source\":\"apache\",\"extensions\":[\"gtar\"]},\"application/x-gzip\":{\"source\":\"apache\"},\"application/x-hdf\":{\"source\":\"apache\",\"extensions\":[\"hdf\"]},\"application/x-httpd-php\":{\"compressible\":true,\"extensions\":[\"php\"]},\"application/x-install-instructions\":{\"source\":\"apache\",\"extensions\":[\"install\"]},\"application/x-iso9660-image\":{\"source\":\"apache\",\"extensions\":[\"iso\"]},\"application/x-java-archive-diff\":{\"source\":\"nginx\",\"extensions\":[\"jardiff\"]},\"application/x-java-jnlp-file\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"jnlp\"]},\"application/x-javascript\":{\"compressible\":true},\"application/x-keepass2\":{\"extensions\":[\"kdbx\"]},\"application/x-latex\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"latex\"]},\"application/x-lua-bytecode\":{\"extensions\":[\"luac\"]},\"application/x-lzh-compressed\":{\"source\":\"apache\",\"extensions\":[\"lzh\",\"lha\"]},\"application/x-makeself\":{\"source\":\"nginx\",\"extensions\":[\"run\"]},\"application/x-mie\":{\"source\":\"apache\",\"extensions\":[\"mie\"]},\"application/x-mobipocket-ebook\":{\"source\":\"apache\",\"extensions\":[\"prc\",\"mobi\"]},\"application/x-mpegurl\":{\"compressible\":false},\"application/x-ms-application\":{\"source\":\"apache\",\"extensions\":[\"application\"]},\"application/x-ms-shortcut\":{\"source\":\"apache\",\"extensions\":[\"lnk\"]},\"application/x-ms-wmd\":{\"source\":\"apache\",\"extensions\":[\"wmd\"]},\"application/x-ms-wmz\":{\"source\":\"apache\",\"extensions\":[\"wmz\"]},\"application/x-ms-xbap\":{\"source\":\"apache\",\"extensions\":[\"xbap\"]},\"application/x-msaccess\":{\"source\":\"apache\",\"extensions\":[\"mdb\"]},\"application/x-msbinder\":{\"source\":\"apache\",\"extensions\":[\"obd\"]},\"application/x-mscardfile\":{\"source\":\"apache\",\"extensions\":[\"crd\"]},\"application/x-msclip\":{\"source\":\"apache\",\"extensions\":[\"clp\"]},\"application/x-msdos-program\":{\"extensions\":[\"exe\"]},\"application/x-msdownload\":{\"source\":\"apache\",\"extensions\":[\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]},\"application/x-msmediaview\":{\"source\":\"apache\",\"extensions\":[\"mvb\",\"m13\",\"m14\"]},\"application/x-msmetafile\":{\"source\":\"apache\",\"extensions\":[\"wmf\",\"wmz\",\"emf\",\"emz\"]},\"application/x-msmoney\":{\"source\":\"apache\",\"extensions\":[\"mny\"]},\"application/x-mspublisher\":{\"source\":\"apache\",\"extensions\":[\"pub\"]},\"application/x-msschedule\":{\"source\":\"apache\",\"extensions\":[\"scd\"]},\"application/x-msterminal\":{\"source\":\"apache\",\"extensions\":[\"trm\"]},\"application/x-mswrite\":{\"source\":\"apache\",\"extensions\":[\"wri\"]},\"application/x-netcdf\":{\"source\":\"apache\",\"extensions\":[\"nc\",\"cdf\"]},\"application/x-ns-proxy-autoconfig\":{\"compressible\":true,\"extensions\":[\"pac\"]},\"application/x-nzb\":{\"source\":\"apache\",\"extensions\":[\"nzb\"]},\"application/x-perl\":{\"source\":\"nginx\",\"extensions\":[\"pl\",\"pm\"]},\"application/x-pilot\":{\"source\":\"nginx\",\"extensions\":[\"prc\",\"pdb\"]},\"application/x-pkcs12\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"p12\",\"pfx\"]},\"application/x-pkcs7-certificates\":{\"source\":\"apache\",\"extensions\":[\"p7b\",\"spc\"]},\"application/x-pkcs7-certreqresp\":{\"source\":\"apache\",\"extensions\":[\"p7r\"]},\"application/x-pki-message\":{\"source\":\"iana\"},\"application/x-rar-compressed\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"rar\"]},\"application/x-redhat-package-manager\":{\"source\":\"nginx\",\"extensions\":[\"rpm\"]},\"application/x-research-info-systems\":{\"source\":\"apache\",\"extensions\":[\"ris\"]},\"application/x-sea\":{\"source\":\"nginx\",\"extensions\":[\"sea\"]},\"application/x-sh\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"sh\"]},\"application/x-shar\":{\"source\":\"apache\",\"extensions\":[\"shar\"]},\"application/x-shockwave-flash\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"swf\"]},\"application/x-silverlight-app\":{\"source\":\"apache\",\"extensions\":[\"xap\"]},\"application/x-sql\":{\"source\":\"apache\",\"extensions\":[\"sql\"]},\"application/x-stuffit\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"sit\"]},\"application/x-stuffitx\":{\"source\":\"apache\",\"extensions\":[\"sitx\"]},\"application/x-subrip\":{\"source\":\"apache\",\"extensions\":[\"srt\"]},\"application/x-sv4cpio\":{\"source\":\"apache\",\"extensions\":[\"sv4cpio\"]},\"application/x-sv4crc\":{\"source\":\"apache\",\"extensions\":[\"sv4crc\"]},\"application/x-t3vm-image\":{\"source\":\"apache\",\"extensions\":[\"t3\"]},\"application/x-tads\":{\"source\":\"apache\",\"extensions\":[\"gam\"]},\"application/x-tar\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"tar\"]},\"application/x-tcl\":{\"source\":\"apache\",\"extensions\":[\"tcl\",\"tk\"]},\"application/x-tex\":{\"source\":\"apache\",\"extensions\":[\"tex\"]},\"application/x-tex-tfm\":{\"source\":\"apache\",\"extensions\":[\"tfm\"]},\"application/x-texinfo\":{\"source\":\"apache\",\"extensions\":[\"texinfo\",\"texi\"]},\"application/x-tgif\":{\"source\":\"apache\",\"extensions\":[\"obj\"]},\"application/x-ustar\":{\"source\":\"apache\",\"extensions\":[\"ustar\"]},\"application/x-virtualbox-hdd\":{\"compressible\":true,\"extensions\":[\"hdd\"]},\"application/x-virtualbox-ova\":{\"compressible\":true,\"extensions\":[\"ova\"]},\"application/x-virtualbox-ovf\":{\"compressible\":true,\"extensions\":[\"ovf\"]},\"application/x-virtualbox-vbox\":{\"compressible\":true,\"extensions\":[\"vbox\"]},\"application/x-virtualbox-vbox-extpack\":{\"compressible\":false,\"extensions\":[\"vbox-extpack\"]},\"application/x-virtualbox-vdi\":{\"compressible\":true,\"extensions\":[\"vdi\"]},\"application/x-virtualbox-vhd\":{\"compressible\":true,\"extensions\":[\"vhd\"]},\"application/x-virtualbox-vmdk\":{\"compressible\":true,\"extensions\":[\"vmdk\"]},\"application/x-wais-source\":{\"source\":\"apache\",\"extensions\":[\"src\"]},\"application/x-web-app-manifest+json\":{\"compressible\":true,\"extensions\":[\"webapp\"]},\"application/x-www-form-urlencoded\":{\"source\":\"iana\",\"compressible\":true},\"application/x-x509-ca-cert\":{\"source\":\"iana\",\"extensions\":[\"der\",\"crt\",\"pem\"]},\"application/x-x509-ca-ra-cert\":{\"source\":\"iana\"},\"application/x-x509-next-ca-cert\":{\"source\":\"iana\"},\"application/x-xfig\":{\"source\":\"apache\",\"extensions\":[\"fig\"]},\"application/x-xliff+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"xlf\"]},\"application/x-xpinstall\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"xpi\"]},\"application/x-xz\":{\"source\":\"apache\",\"extensions\":[\"xz\"]},\"application/x-zmachine\":{\"source\":\"apache\",\"extensions\":[\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]},\"application/x400-bp\":{\"source\":\"iana\"},\"application/xacml+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/xaml+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"xaml\"]},\"application/xcap-att+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xav\"]},\"application/xcap-caps+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xca\"]},\"application/xcap-diff+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xdf\"]},\"application/xcap-el+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xel\"]},\"application/xcap-error+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xer\"]},\"application/xcap-ns+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xns\"]},\"application/xcon-conference-info+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/xcon-conference-info-diff+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/xenc+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xenc\"]},\"application/xhtml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xhtml\",\"xht\"]},\"application/xhtml-voice+xml\":{\"source\":\"apache\",\"compressible\":true},\"application/xliff+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xlf\"]},\"application/xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xml\",\"xsl\",\"xsd\",\"rng\"]},\"application/xml-dtd\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"dtd\"]},\"application/xml-external-parsed-entity\":{\"source\":\"iana\"},\"application/xml-patch+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/xmpp+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/xop+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xop\"]},\"application/xproc+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"xpl\"]},\"application/xslt+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xslt\"]},\"application/xspf+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"xspf\"]},\"application/xv+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]},\"application/yang\":{\"source\":\"iana\",\"extensions\":[\"yang\"]},\"application/yang-data+json\":{\"source\":\"iana\",\"compressible\":true},\"application/yang-data+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/yang-patch+json\":{\"source\":\"iana\",\"compressible\":true},\"application/yang-patch+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/yin+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"yin\"]},\"application/zip\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"zip\"]},\"application/zlib\":{\"source\":\"iana\"},\"application/zstd\":{\"source\":\"iana\"},\"audio/1d-interleaved-parityfec\":{\"source\":\"iana\"},\"audio/32kadpcm\":{\"source\":\"iana\"},\"audio/3gpp\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"3gpp\"]},\"audio/3gpp2\":{\"source\":\"iana\"},\"audio/aac\":{\"source\":\"iana\"},\"audio/ac3\":{\"source\":\"iana\"},\"audio/adpcm\":{\"source\":\"apache\",\"extensions\":[\"adp\"]},\"audio/amr\":{\"source\":\"iana\"},\"audio/amr-wb\":{\"source\":\"iana\"},\"audio/amr-wb+\":{\"source\":\"iana\"},\"audio/aptx\":{\"source\":\"iana\"},\"audio/asc\":{\"source\":\"iana\"},\"audio/atrac-advanced-lossless\":{\"source\":\"iana\"},\"audio/atrac-x\":{\"source\":\"iana\"},\"audio/atrac3\":{\"source\":\"iana\"},\"audio/basic\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"au\",\"snd\"]},\"audio/bv16\":{\"source\":\"iana\"},\"audio/bv32\":{\"source\":\"iana\"},\"audio/clearmode\":{\"source\":\"iana\"},\"audio/cn\":{\"source\":\"iana\"},\"audio/dat12\":{\"source\":\"iana\"},\"audio/dls\":{\"source\":\"iana\"},\"audio/dsr-es201108\":{\"source\":\"iana\"},\"audio/dsr-es202050\":{\"source\":\"iana\"},\"audio/dsr-es202211\":{\"source\":\"iana\"},\"audio/dsr-es202212\":{\"source\":\"iana\"},\"audio/dv\":{\"source\":\"iana\"},\"audio/dvi4\":{\"source\":\"iana\"},\"audio/eac3\":{\"source\":\"iana\"},\"audio/encaprtp\":{\"source\":\"iana\"},\"audio/evrc\":{\"source\":\"iana\"},\"audio/evrc-qcp\":{\"source\":\"iana\"},\"audio/evrc0\":{\"source\":\"iana\"},\"audio/evrc1\":{\"source\":\"iana\"},\"audio/evrcb\":{\"source\":\"iana\"},\"audio/evrcb0\":{\"source\":\"iana\"},\"audio/evrcb1\":{\"source\":\"iana\"},\"audio/evrcnw\":{\"source\":\"iana\"},\"audio/evrcnw0\":{\"source\":\"iana\"},\"audio/evrcnw1\":{\"source\":\"iana\"},\"audio/evrcwb\":{\"source\":\"iana\"},\"audio/evrcwb0\":{\"source\":\"iana\"},\"audio/evrcwb1\":{\"source\":\"iana\"},\"audio/evs\":{\"source\":\"iana\"},\"audio/flexfec\":{\"source\":\"iana\"},\"audio/fwdred\":{\"source\":\"iana\"},\"audio/g711-0\":{\"source\":\"iana\"},\"audio/g719\":{\"source\":\"iana\"},\"audio/g722\":{\"source\":\"iana\"},\"audio/g7221\":{\"source\":\"iana\"},\"audio/g723\":{\"source\":\"iana\"},\"audio/g726-16\":{\"source\":\"iana\"},\"audio/g726-24\":{\"source\":\"iana\"},\"audio/g726-32\":{\"source\":\"iana\"},\"audio/g726-40\":{\"source\":\"iana\"},\"audio/g728\":{\"source\":\"iana\"},\"audio/g729\":{\"source\":\"iana\"},\"audio/g7291\":{\"source\":\"iana\"},\"audio/g729d\":{\"source\":\"iana\"},\"audio/g729e\":{\"source\":\"iana\"},\"audio/gsm\":{\"source\":\"iana\"},\"audio/gsm-efr\":{\"source\":\"iana\"},\"audio/gsm-hr-08\":{\"source\":\"iana\"},\"audio/ilbc\":{\"source\":\"iana\"},\"audio/ip-mr_v2.5\":{\"source\":\"iana\"},\"audio/isac\":{\"source\":\"apache\"},\"audio/l16\":{\"source\":\"iana\"},\"audio/l20\":{\"source\":\"iana\"},\"audio/l24\":{\"source\":\"iana\",\"compressible\":false},\"audio/l8\":{\"source\":\"iana\"},\"audio/lpc\":{\"source\":\"iana\"},\"audio/melp\":{\"source\":\"iana\"},\"audio/melp1200\":{\"source\":\"iana\"},\"audio/melp2400\":{\"source\":\"iana\"},\"audio/melp600\":{\"source\":\"iana\"},\"audio/mhas\":{\"source\":\"iana\"},\"audio/midi\":{\"source\":\"apache\",\"extensions\":[\"mid\",\"midi\",\"kar\",\"rmi\"]},\"audio/mobile-xmf\":{\"source\":\"iana\",\"extensions\":[\"mxmf\"]},\"audio/mp3\":{\"compressible\":false,\"extensions\":[\"mp3\"]},\"audio/mp4\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"m4a\",\"mp4a\"]},\"audio/mp4a-latm\":{\"source\":\"iana\"},\"audio/mpa\":{\"source\":\"iana\"},\"audio/mpa-robust\":{\"source\":\"iana\"},\"audio/mpeg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]},\"audio/mpeg4-generic\":{\"source\":\"iana\"},\"audio/musepack\":{\"source\":\"apache\"},\"audio/ogg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"oga\",\"ogg\",\"spx\"]},\"audio/opus\":{\"source\":\"iana\"},\"audio/parityfec\":{\"source\":\"iana\"},\"audio/pcma\":{\"source\":\"iana\"},\"audio/pcma-wb\":{\"source\":\"iana\"},\"audio/pcmu\":{\"source\":\"iana\"},\"audio/pcmu-wb\":{\"source\":\"iana\"},\"audio/prs.sid\":{\"source\":\"iana\"},\"audio/qcelp\":{\"source\":\"iana\"},\"audio/raptorfec\":{\"source\":\"iana\"},\"audio/red\":{\"source\":\"iana\"},\"audio/rtp-enc-aescm128\":{\"source\":\"iana\"},\"audio/rtp-midi\":{\"source\":\"iana\"},\"audio/rtploopback\":{\"source\":\"iana\"},\"audio/rtx\":{\"source\":\"iana\"},\"audio/s3m\":{\"source\":\"apache\",\"extensions\":[\"s3m\"]},\"audio/silk\":{\"source\":\"apache\",\"extensions\":[\"sil\"]},\"audio/smv\":{\"source\":\"iana\"},\"audio/smv-qcp\":{\"source\":\"iana\"},\"audio/smv0\":{\"source\":\"iana\"},\"audio/sp-midi\":{\"source\":\"iana\"},\"audio/speex\":{\"source\":\"iana\"},\"audio/t140c\":{\"source\":\"iana\"},\"audio/t38\":{\"source\":\"iana\"},\"audio/telephone-event\":{\"source\":\"iana\"},\"audio/tetra_acelp\":{\"source\":\"iana\"},\"audio/tetra_acelp_bb\":{\"source\":\"iana\"},\"audio/tone\":{\"source\":\"iana\"},\"audio/uemclip\":{\"source\":\"iana\"},\"audio/ulpfec\":{\"source\":\"iana\"},\"audio/usac\":{\"source\":\"iana\"},\"audio/vdvi\":{\"source\":\"iana\"},\"audio/vmr-wb\":{\"source\":\"iana\"},\"audio/vnd.3gpp.iufp\":{\"source\":\"iana\"},\"audio/vnd.4sb\":{\"source\":\"iana\"},\"audio/vnd.audiokoz\":{\"source\":\"iana\"},\"audio/vnd.celp\":{\"source\":\"iana\"},\"audio/vnd.cisco.nse\":{\"source\":\"iana\"},\"audio/vnd.cmles.radio-events\":{\"source\":\"iana\"},\"audio/vnd.cns.anp1\":{\"source\":\"iana\"},\"audio/vnd.cns.inf1\":{\"source\":\"iana\"},\"audio/vnd.dece.audio\":{\"source\":\"iana\",\"extensions\":[\"uva\",\"uvva\"]},\"audio/vnd.digital-winds\":{\"source\":\"iana\",\"extensions\":[\"eol\"]},\"audio/vnd.dlna.adts\":{\"source\":\"iana\"},\"audio/vnd.dolby.heaac.1\":{\"source\":\"iana\"},\"audio/vnd.dolby.heaac.2\":{\"source\":\"iana\"},\"audio/vnd.dolby.mlp\":{\"source\":\"iana\"},\"audio/vnd.dolby.mps\":{\"source\":\"iana\"},\"audio/vnd.dolby.pl2\":{\"source\":\"iana\"},\"audio/vnd.dolby.pl2x\":{\"source\":\"iana\"},\"audio/vnd.dolby.pl2z\":{\"source\":\"iana\"},\"audio/vnd.dolby.pulse.1\":{\"source\":\"iana\"},\"audio/vnd.dra\":{\"source\":\"iana\",\"extensions\":[\"dra\"]},\"audio/vnd.dts\":{\"source\":\"iana\",\"extensions\":[\"dts\"]},\"audio/vnd.dts.hd\":{\"source\":\"iana\",\"extensions\":[\"dtshd\"]},\"audio/vnd.dts.uhd\":{\"source\":\"iana\"},\"audio/vnd.dvb.file\":{\"source\":\"iana\"},\"audio/vnd.everad.plj\":{\"source\":\"iana\"},\"audio/vnd.hns.audio\":{\"source\":\"iana\"},\"audio/vnd.lucent.voice\":{\"source\":\"iana\",\"extensions\":[\"lvp\"]},\"audio/vnd.ms-playready.media.pya\":{\"source\":\"iana\",\"extensions\":[\"pya\"]},\"audio/vnd.nokia.mobile-xmf\":{\"source\":\"iana\"},\"audio/vnd.nortel.vbk\":{\"source\":\"iana\"},\"audio/vnd.nuera.ecelp4800\":{\"source\":\"iana\",\"extensions\":[\"ecelp4800\"]},\"audio/vnd.nuera.ecelp7470\":{\"source\":\"iana\",\"extensions\":[\"ecelp7470\"]},\"audio/vnd.nuera.ecelp9600\":{\"source\":\"iana\",\"extensions\":[\"ecelp9600\"]},\"audio/vnd.octel.sbc\":{\"source\":\"iana\"},\"audio/vnd.presonus.multitrack\":{\"source\":\"iana\"},\"audio/vnd.qcelp\":{\"source\":\"iana\"},\"audio/vnd.rhetorex.32kadpcm\":{\"source\":\"iana\"},\"audio/vnd.rip\":{\"source\":\"iana\",\"extensions\":[\"rip\"]},\"audio/vnd.rn-realaudio\":{\"compressible\":false},\"audio/vnd.sealedmedia.softseal.mpeg\":{\"source\":\"iana\"},\"audio/vnd.vmx.cvsd\":{\"source\":\"iana\"},\"audio/vnd.wave\":{\"compressible\":false},\"audio/vorbis\":{\"source\":\"iana\",\"compressible\":false},\"audio/vorbis-config\":{\"source\":\"iana\"},\"audio/wav\":{\"compressible\":false,\"extensions\":[\"wav\"]},\"audio/wave\":{\"compressible\":false,\"extensions\":[\"wav\"]},\"audio/webm\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"weba\"]},\"audio/x-aac\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"aac\"]},\"audio/x-aiff\":{\"source\":\"apache\",\"extensions\":[\"aif\",\"aiff\",\"aifc\"]},\"audio/x-caf\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"caf\"]},\"audio/x-flac\":{\"source\":\"apache\",\"extensions\":[\"flac\"]},\"audio/x-m4a\":{\"source\":\"nginx\",\"extensions\":[\"m4a\"]},\"audio/x-matroska\":{\"source\":\"apache\",\"extensions\":[\"mka\"]},\"audio/x-mpegurl\":{\"source\":\"apache\",\"extensions\":[\"m3u\"]},\"audio/x-ms-wax\":{\"source\":\"apache\",\"extensions\":[\"wax\"]},\"audio/x-ms-wma\":{\"source\":\"apache\",\"extensions\":[\"wma\"]},\"audio/x-pn-realaudio\":{\"source\":\"apache\",\"extensions\":[\"ram\",\"ra\"]},\"audio/x-pn-realaudio-plugin\":{\"source\":\"apache\",\"extensions\":[\"rmp\"]},\"audio/x-realaudio\":{\"source\":\"nginx\",\"extensions\":[\"ra\"]},\"audio/x-tta\":{\"source\":\"apache\"},\"audio/x-wav\":{\"source\":\"apache\",\"extensions\":[\"wav\"]},\"audio/xm\":{\"source\":\"apache\",\"extensions\":[\"xm\"]},\"chemical/x-cdx\":{\"source\":\"apache\",\"extensions\":[\"cdx\"]},\"chemical/x-cif\":{\"source\":\"apache\",\"extensions\":[\"cif\"]},\"chemical/x-cmdf\":{\"source\":\"apache\",\"extensions\":[\"cmdf\"]},\"chemical/x-cml\":{\"source\":\"apache\",\"extensions\":[\"cml\"]},\"chemical/x-csml\":{\"source\":\"apache\",\"extensions\":[\"csml\"]},\"chemical/x-pdb\":{\"source\":\"apache\"},\"chemical/x-xyz\":{\"source\":\"apache\",\"extensions\":[\"xyz\"]},\"font/collection\":{\"source\":\"iana\",\"extensions\":[\"ttc\"]},\"font/otf\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"otf\"]},\"font/sfnt\":{\"source\":\"iana\"},\"font/ttf\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ttf\"]},\"font/woff\":{\"source\":\"iana\",\"extensions\":[\"woff\"]},\"font/woff2\":{\"source\":\"iana\",\"extensions\":[\"woff2\"]},\"image/aces\":{\"source\":\"iana\",\"extensions\":[\"exr\"]},\"image/apng\":{\"compressible\":false,\"extensions\":[\"apng\"]},\"image/avci\":{\"source\":\"iana\"},\"image/avcs\":{\"source\":\"iana\"},\"image/bmp\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"bmp\"]},\"image/cgm\":{\"source\":\"iana\",\"extensions\":[\"cgm\"]},\"image/dicom-rle\":{\"source\":\"iana\",\"extensions\":[\"drle\"]},\"image/emf\":{\"source\":\"iana\",\"extensions\":[\"emf\"]},\"image/fits\":{\"source\":\"iana\",\"extensions\":[\"fits\"]},\"image/g3fax\":{\"source\":\"iana\",\"extensions\":[\"g3\"]},\"image/gif\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"gif\"]},\"image/heic\":{\"source\":\"iana\",\"extensions\":[\"heic\"]},\"image/heic-sequence\":{\"source\":\"iana\",\"extensions\":[\"heics\"]},\"image/heif\":{\"source\":\"iana\",\"extensions\":[\"heif\"]},\"image/heif-sequence\":{\"source\":\"iana\",\"extensions\":[\"heifs\"]},\"image/hej2k\":{\"source\":\"iana\",\"extensions\":[\"hej2\"]},\"image/hsj2\":{\"source\":\"iana\",\"extensions\":[\"hsj2\"]},\"image/ief\":{\"source\":\"iana\",\"extensions\":[\"ief\"]},\"image/jls\":{\"source\":\"iana\",\"extensions\":[\"jls\"]},\"image/jp2\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"jp2\",\"jpg2\"]},\"image/jpeg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"jpeg\",\"jpg\",\"jpe\"]},\"image/jph\":{\"source\":\"iana\",\"extensions\":[\"jph\"]},\"image/jphc\":{\"source\":\"iana\",\"extensions\":[\"jhc\"]},\"image/jpm\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"jpm\"]},\"image/jpx\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"jpx\",\"jpf\"]},\"image/jxr\":{\"source\":\"iana\",\"extensions\":[\"jxr\"]},\"image/jxra\":{\"source\":\"iana\",\"extensions\":[\"jxra\"]},\"image/jxrs\":{\"source\":\"iana\",\"extensions\":[\"jxrs\"]},\"image/jxs\":{\"source\":\"iana\",\"extensions\":[\"jxs\"]},\"image/jxsc\":{\"source\":\"iana\",\"extensions\":[\"jxsc\"]},\"image/jxsi\":{\"source\":\"iana\",\"extensions\":[\"jxsi\"]},\"image/jxss\":{\"source\":\"iana\",\"extensions\":[\"jxss\"]},\"image/ktx\":{\"source\":\"iana\",\"extensions\":[\"ktx\"]},\"image/naplps\":{\"source\":\"iana\"},\"image/pjpeg\":{\"compressible\":false},\"image/png\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"png\"]},\"image/prs.btif\":{\"source\":\"iana\",\"extensions\":[\"btif\"]},\"image/prs.pti\":{\"source\":\"iana\",\"extensions\":[\"pti\"]},\"image/pwg-raster\":{\"source\":\"iana\"},\"image/sgi\":{\"source\":\"apache\",\"extensions\":[\"sgi\"]},\"image/svg+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"svg\",\"svgz\"]},\"image/t38\":{\"source\":\"iana\",\"extensions\":[\"t38\"]},\"image/tiff\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"tif\",\"tiff\"]},\"image/tiff-fx\":{\"source\":\"iana\",\"extensions\":[\"tfx\"]},\"image/vnd.adobe.photoshop\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"psd\"]},\"image/vnd.airzip.accelerator.azv\":{\"source\":\"iana\",\"extensions\":[\"azv\"]},\"image/vnd.cns.inf2\":{\"source\":\"iana\"},\"image/vnd.dece.graphic\":{\"source\":\"iana\",\"extensions\":[\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]},\"image/vnd.djvu\":{\"source\":\"iana\",\"extensions\":[\"djvu\",\"djv\"]},\"image/vnd.dvb.subtitle\":{\"source\":\"iana\",\"extensions\":[\"sub\"]},\"image/vnd.dwg\":{\"source\":\"iana\",\"extensions\":[\"dwg\"]},\"image/vnd.dxf\":{\"source\":\"iana\",\"extensions\":[\"dxf\"]},\"image/vnd.fastbidsheet\":{\"source\":\"iana\",\"extensions\":[\"fbs\"]},\"image/vnd.fpx\":{\"source\":\"iana\",\"extensions\":[\"fpx\"]},\"image/vnd.fst\":{\"source\":\"iana\",\"extensions\":[\"fst\"]},\"image/vnd.fujixerox.edmics-mmr\":{\"source\":\"iana\",\"extensions\":[\"mmr\"]},\"image/vnd.fujixerox.edmics-rlc\":{\"source\":\"iana\",\"extensions\":[\"rlc\"]},\"image/vnd.globalgraphics.pgb\":{\"source\":\"iana\"},\"image/vnd.microsoft.icon\":{\"source\":\"iana\",\"extensions\":[\"ico\"]},\"image/vnd.mix\":{\"source\":\"iana\"},\"image/vnd.mozilla.apng\":{\"source\":\"iana\"},\"image/vnd.ms-dds\":{\"extensions\":[\"dds\"]},\"image/vnd.ms-modi\":{\"source\":\"iana\",\"extensions\":[\"mdi\"]},\"image/vnd.ms-photo\":{\"source\":\"apache\",\"extensions\":[\"wdp\"]},\"image/vnd.net-fpx\":{\"source\":\"iana\",\"extensions\":[\"npx\"]},\"image/vnd.radiance\":{\"source\":\"iana\"},\"image/vnd.sealed.png\":{\"source\":\"iana\"},\"image/vnd.sealedmedia.softseal.gif\":{\"source\":\"iana\"},\"image/vnd.sealedmedia.softseal.jpg\":{\"source\":\"iana\"},\"image/vnd.svf\":{\"source\":\"iana\"},\"image/vnd.tencent.tap\":{\"source\":\"iana\",\"extensions\":[\"tap\"]},\"image/vnd.valve.source.texture\":{\"source\":\"iana\",\"extensions\":[\"vtf\"]},\"image/vnd.wap.wbmp\":{\"source\":\"iana\",\"extensions\":[\"wbmp\"]},\"image/vnd.xiff\":{\"source\":\"iana\",\"extensions\":[\"xif\"]},\"image/vnd.zbrush.pcx\":{\"source\":\"iana\",\"extensions\":[\"pcx\"]},\"image/webp\":{\"source\":\"apache\",\"extensions\":[\"webp\"]},\"image/wmf\":{\"source\":\"iana\",\"extensions\":[\"wmf\"]},\"image/x-3ds\":{\"source\":\"apache\",\"extensions\":[\"3ds\"]},\"image/x-cmu-raster\":{\"source\":\"apache\",\"extensions\":[\"ras\"]},\"image/x-cmx\":{\"source\":\"apache\",\"extensions\":[\"cmx\"]},\"image/x-freehand\":{\"source\":\"apache\",\"extensions\":[\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]},\"image/x-icon\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"ico\"]},\"image/x-jng\":{\"source\":\"nginx\",\"extensions\":[\"jng\"]},\"image/x-mrsid-image\":{\"source\":\"apache\",\"extensions\":[\"sid\"]},\"image/x-ms-bmp\":{\"source\":\"nginx\",\"compressible\":true,\"extensions\":[\"bmp\"]},\"image/x-pcx\":{\"source\":\"apache\",\"extensions\":[\"pcx\"]},\"image/x-pict\":{\"source\":\"apache\",\"extensions\":[\"pic\",\"pct\"]},\"image/x-portable-anymap\":{\"source\":\"apache\",\"extensions\":[\"pnm\"]},\"image/x-portable-bitmap\":{\"source\":\"apache\",\"extensions\":[\"pbm\"]},\"image/x-portable-graymap\":{\"source\":\"apache\",\"extensions\":[\"pgm\"]},\"image/x-portable-pixmap\":{\"source\":\"apache\",\"extensions\":[\"ppm\"]},\"image/x-rgb\":{\"source\":\"apache\",\"extensions\":[\"rgb\"]},\"image/x-tga\":{\"source\":\"apache\",\"extensions\":[\"tga\"]},\"image/x-xbitmap\":{\"source\":\"apache\",\"extensions\":[\"xbm\"]},\"image/x-xcf\":{\"compressible\":false},\"image/x-xpixmap\":{\"source\":\"apache\",\"extensions\":[\"xpm\"]},\"image/x-xwindowdump\":{\"source\":\"apache\",\"extensions\":[\"xwd\"]},\"message/cpim\":{\"source\":\"iana\"},\"message/delivery-status\":{\"source\":\"iana\"},\"message/disposition-notification\":{\"source\":\"iana\",\"extensions\":[\"disposition-notification\"]},\"message/external-body\":{\"source\":\"iana\"},\"message/feedback-report\":{\"source\":\"iana\"},\"message/global\":{\"source\":\"iana\",\"extensions\":[\"u8msg\"]},\"message/global-delivery-status\":{\"source\":\"iana\",\"extensions\":[\"u8dsn\"]},\"message/global-disposition-notification\":{\"source\":\"iana\",\"extensions\":[\"u8mdn\"]},\"message/global-headers\":{\"source\":\"iana\",\"extensions\":[\"u8hdr\"]},\"message/http\":{\"source\":\"iana\",\"compressible\":false},\"message/imdn+xml\":{\"source\":\"iana\",\"compressible\":true},\"message/news\":{\"source\":\"iana\"},\"message/partial\":{\"source\":\"iana\",\"compressible\":false},\"message/rfc822\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"eml\",\"mime\"]},\"message/s-http\":{\"source\":\"iana\"},\"message/sip\":{\"source\":\"iana\"},\"message/sipfrag\":{\"source\":\"iana\"},\"message/tracking-status\":{\"source\":\"iana\"},\"message/vnd.si.simp\":{\"source\":\"iana\"},\"message/vnd.wfa.wsc\":{\"source\":\"iana\",\"extensions\":[\"wsc\"]},\"model/3mf\":{\"source\":\"iana\",\"extensions\":[\"3mf\"]},\"model/gltf+json\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"gltf\"]},\"model/gltf-binary\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"glb\"]},\"model/iges\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"igs\",\"iges\"]},\"model/mesh\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"msh\",\"mesh\",\"silo\"]},\"model/mtl\":{\"source\":\"iana\",\"extensions\":[\"mtl\"]},\"model/obj\":{\"source\":\"iana\",\"extensions\":[\"obj\"]},\"model/stl\":{\"source\":\"iana\",\"extensions\":[\"stl\"]},\"model/vnd.collada+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"dae\"]},\"model/vnd.dwf\":{\"source\":\"iana\",\"extensions\":[\"dwf\"]},\"model/vnd.flatland.3dml\":{\"source\":\"iana\"},\"model/vnd.gdl\":{\"source\":\"iana\",\"extensions\":[\"gdl\"]},\"model/vnd.gs-gdl\":{\"source\":\"apache\"},\"model/vnd.gs.gdl\":{\"source\":\"iana\"},\"model/vnd.gtw\":{\"source\":\"iana\",\"extensions\":[\"gtw\"]},\"model/vnd.moml+xml\":{\"source\":\"iana\",\"compressible\":true},\"model/vnd.mts\":{\"source\":\"iana\",\"extensions\":[\"mts\"]},\"model/vnd.opengex\":{\"source\":\"iana\",\"extensions\":[\"ogex\"]},\"model/vnd.parasolid.transmit.binary\":{\"source\":\"iana\",\"extensions\":[\"x_b\"]},\"model/vnd.parasolid.transmit.text\":{\"source\":\"iana\",\"extensions\":[\"x_t\"]},\"model/vnd.rosette.annotated-data-model\":{\"source\":\"iana\"},\"model/vnd.usdz+zip\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"usdz\"]},\"model/vnd.valve.source.compiled-map\":{\"source\":\"iana\",\"extensions\":[\"bsp\"]},\"model/vnd.vtu\":{\"source\":\"iana\",\"extensions\":[\"vtu\"]},\"model/vrml\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"wrl\",\"vrml\"]},\"model/x3d+binary\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"x3db\",\"x3dbz\"]},\"model/x3d+fastinfoset\":{\"source\":\"iana\",\"extensions\":[\"x3db\"]},\"model/x3d+vrml\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"x3dv\",\"x3dvz\"]},\"model/x3d+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"x3d\",\"x3dz\"]},\"model/x3d-vrml\":{\"source\":\"iana\",\"extensions\":[\"x3dv\"]},\"multipart/alternative\":{\"source\":\"iana\",\"compressible\":false},\"multipart/appledouble\":{\"source\":\"iana\"},\"multipart/byteranges\":{\"source\":\"iana\"},\"multipart/digest\":{\"source\":\"iana\"},\"multipart/encrypted\":{\"source\":\"iana\",\"compressible\":false},\"multipart/form-data\":{\"source\":\"iana\",\"compressible\":false},\"multipart/header-set\":{\"source\":\"iana\"},\"multipart/mixed\":{\"source\":\"iana\"},\"multipart/multilingual\":{\"source\":\"iana\"},\"multipart/parallel\":{\"source\":\"iana\"},\"multipart/related\":{\"source\":\"iana\",\"compressible\":false},\"multipart/report\":{\"source\":\"iana\"},\"multipart/signed\":{\"source\":\"iana\",\"compressible\":false},\"multipart/vnd.bint.med-plus\":{\"source\":\"iana\"},\"multipart/voice-message\":{\"source\":\"iana\"},\"multipart/x-mixed-replace\":{\"source\":\"iana\"},\"text/1d-interleaved-parityfec\":{\"source\":\"iana\"},\"text/cache-manifest\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"appcache\",\"manifest\"]},\"text/calendar\":{\"source\":\"iana\",\"extensions\":[\"ics\",\"ifb\"]},\"text/calender\":{\"compressible\":true},\"text/cmd\":{\"compressible\":true},\"text/coffeescript\":{\"extensions\":[\"coffee\",\"litcoffee\"]},\"text/css\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"css\"]},\"text/csv\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"csv\"]},\"text/csv-schema\":{\"source\":\"iana\"},\"text/directory\":{\"source\":\"iana\"},\"text/dns\":{\"source\":\"iana\"},\"text/ecmascript\":{\"source\":\"iana\"},\"text/encaprtp\":{\"source\":\"iana\"},\"text/enriched\":{\"source\":\"iana\"},\"text/flexfec\":{\"source\":\"iana\"},\"text/fwdred\":{\"source\":\"iana\"},\"text/grammar-ref-list\":{\"source\":\"iana\"},\"text/html\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"html\",\"htm\",\"shtml\"]},\"text/jade\":{\"extensions\":[\"jade\"]},\"text/javascript\":{\"source\":\"iana\",\"compressible\":true},\"text/jcr-cnd\":{\"source\":\"iana\"},\"text/jsx\":{\"compressible\":true,\"extensions\":[\"jsx\"]},\"text/less\":{\"compressible\":true,\"extensions\":[\"less\"]},\"text/markdown\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"markdown\",\"md\"]},\"text/mathml\":{\"source\":\"nginx\",\"extensions\":[\"mml\"]},\"text/mdx\":{\"compressible\":true,\"extensions\":[\"mdx\"]},\"text/mizar\":{\"source\":\"iana\"},\"text/n3\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"n3\"]},\"text/parameters\":{\"source\":\"iana\",\"charset\":\"UTF-8\"},\"text/parityfec\":{\"source\":\"iana\"},\"text/plain\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]},\"text/provenance-notation\":{\"source\":\"iana\",\"charset\":\"UTF-8\"},\"text/prs.fallenstein.rst\":{\"source\":\"iana\"},\"text/prs.lines.tag\":{\"source\":\"iana\",\"extensions\":[\"dsc\"]},\"text/prs.prop.logic\":{\"source\":\"iana\"},\"text/raptorfec\":{\"source\":\"iana\"},\"text/red\":{\"source\":\"iana\"},\"text/rfc822-headers\":{\"source\":\"iana\"},\"text/richtext\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rtx\"]},\"text/rtf\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rtf\"]},\"text/rtp-enc-aescm128\":{\"source\":\"iana\"},\"text/rtploopback\":{\"source\":\"iana\"},\"text/rtx\":{\"source\":\"iana\"},\"text/sgml\":{\"source\":\"iana\",\"extensions\":[\"sgml\",\"sgm\"]},\"text/shex\":{\"extensions\":[\"shex\"]},\"text/slim\":{\"extensions\":[\"slim\",\"slm\"]},\"text/strings\":{\"source\":\"iana\"},\"text/stylus\":{\"extensions\":[\"stylus\",\"styl\"]},\"text/t140\":{\"source\":\"iana\"},\"text/tab-separated-values\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"tsv\"]},\"text/troff\":{\"source\":\"iana\",\"extensions\":[\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]},\"text/turtle\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"extensions\":[\"ttl\"]},\"text/ulpfec\":{\"source\":\"iana\"},\"text/uri-list\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"uri\",\"uris\",\"urls\"]},\"text/vcard\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"vcard\"]},\"text/vnd.a\":{\"source\":\"iana\"},\"text/vnd.abc\":{\"source\":\"iana\"},\"text/vnd.ascii-art\":{\"source\":\"iana\"},\"text/vnd.curl\":{\"source\":\"iana\",\"extensions\":[\"curl\"]},\"text/vnd.curl.dcurl\":{\"source\":\"apache\",\"extensions\":[\"dcurl\"]},\"text/vnd.curl.mcurl\":{\"source\":\"apache\",\"extensions\":[\"mcurl\"]},\"text/vnd.curl.scurl\":{\"source\":\"apache\",\"extensions\":[\"scurl\"]},\"text/vnd.debian.copyright\":{\"source\":\"iana\",\"charset\":\"UTF-8\"},\"text/vnd.dmclientscript\":{\"source\":\"iana\"},\"text/vnd.dvb.subtitle\":{\"source\":\"iana\",\"extensions\":[\"sub\"]},\"text/vnd.esmertec.theme-descriptor\":{\"source\":\"iana\",\"charset\":\"UTF-8\"},\"text/vnd.ficlab.flt\":{\"source\":\"iana\"},\"text/vnd.fly\":{\"source\":\"iana\",\"extensions\":[\"fly\"]},\"text/vnd.fmi.flexstor\":{\"source\":\"iana\",\"extensions\":[\"flx\"]},\"text/vnd.gml\":{\"source\":\"iana\"},\"text/vnd.graphviz\":{\"source\":\"iana\",\"extensions\":[\"gv\"]},\"text/vnd.hgl\":{\"source\":\"iana\"},\"text/vnd.in3d.3dml\":{\"source\":\"iana\",\"extensions\":[\"3dml\"]},\"text/vnd.in3d.spot\":{\"source\":\"iana\",\"extensions\":[\"spot\"]},\"text/vnd.iptc.newsml\":{\"source\":\"iana\"},\"text/vnd.iptc.nitf\":{\"source\":\"iana\"},\"text/vnd.latex-z\":{\"source\":\"iana\"},\"text/vnd.motorola.reflex\":{\"source\":\"iana\"},\"text/vnd.ms-mediapackage\":{\"source\":\"iana\"},\"text/vnd.net2phone.commcenter.command\":{\"source\":\"iana\"},\"text/vnd.radisys.msml-basic-layout\":{\"source\":\"iana\"},\"text/vnd.senx.warpscript\":{\"source\":\"iana\"},\"text/vnd.si.uricatalogue\":{\"source\":\"iana\"},\"text/vnd.sosi\":{\"source\":\"iana\"},\"text/vnd.sun.j2me.app-descriptor\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"extensions\":[\"jad\"]},\"text/vnd.trolltech.linguist\":{\"source\":\"iana\",\"charset\":\"UTF-8\"},\"text/vnd.wap.si\":{\"source\":\"iana\"},\"text/vnd.wap.sl\":{\"source\":\"iana\"},\"text/vnd.wap.wml\":{\"source\":\"iana\",\"extensions\":[\"wml\"]},\"text/vnd.wap.wmlscript\":{\"source\":\"iana\",\"extensions\":[\"wmls\"]},\"text/vtt\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"vtt\"]},\"text/x-asm\":{\"source\":\"apache\",\"extensions\":[\"s\",\"asm\"]},\"text/x-c\":{\"source\":\"apache\",\"extensions\":[\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]},\"text/x-component\":{\"source\":\"nginx\",\"extensions\":[\"htc\"]},\"text/x-fortran\":{\"source\":\"apache\",\"extensions\":[\"f\",\"for\",\"f77\",\"f90\"]},\"text/x-gwt-rpc\":{\"compressible\":true},\"text/x-handlebars-template\":{\"extensions\":[\"hbs\"]},\"text/x-java-source\":{\"source\":\"apache\",\"extensions\":[\"java\"]},\"text/x-jquery-tmpl\":{\"compressible\":true},\"text/x-lua\":{\"extensions\":[\"lua\"]},\"text/x-markdown\":{\"compressible\":true,\"extensions\":[\"mkd\"]},\"text/x-nfo\":{\"source\":\"apache\",\"extensions\":[\"nfo\"]},\"text/x-opml\":{\"source\":\"apache\",\"extensions\":[\"opml\"]},\"text/x-org\":{\"compressible\":true,\"extensions\":[\"org\"]},\"text/x-pascal\":{\"source\":\"apache\",\"extensions\":[\"p\",\"pas\"]},\"text/x-processing\":{\"compressible\":true,\"extensions\":[\"pde\"]},\"text/x-sass\":{\"extensions\":[\"sass\"]},\"text/x-scss\":{\"extensions\":[\"scss\"]},\"text/x-setext\":{\"source\":\"apache\",\"extensions\":[\"etx\"]},\"text/x-sfv\":{\"source\":\"apache\",\"extensions\":[\"sfv\"]},\"text/x-suse-ymp\":{\"compressible\":true,\"extensions\":[\"ymp\"]},\"text/x-uuencode\":{\"source\":\"apache\",\"extensions\":[\"uu\"]},\"text/x-vcalendar\":{\"source\":\"apache\",\"extensions\":[\"vcs\"]},\"text/x-vcard\":{\"source\":\"apache\",\"extensions\":[\"vcf\"]},\"text/xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xml\"]},\"text/xml-external-parsed-entity\":{\"source\":\"iana\"},\"text/yaml\":{\"extensions\":[\"yaml\",\"yml\"]},\"video/1d-interleaved-parityfec\":{\"source\":\"iana\"},\"video/3gpp\":{\"source\":\"iana\",\"extensions\":[\"3gp\",\"3gpp\"]},\"video/3gpp-tt\":{\"source\":\"iana\"},\"video/3gpp2\":{\"source\":\"iana\",\"extensions\":[\"3g2\"]},\"video/bmpeg\":{\"source\":\"iana\"},\"video/bt656\":{\"source\":\"iana\"},\"video/celb\":{\"source\":\"iana\"},\"video/dv\":{\"source\":\"iana\"},\"video/encaprtp\":{\"source\":\"iana\"},\"video/flexfec\":{\"source\":\"iana\"},\"video/h261\":{\"source\":\"iana\",\"extensions\":[\"h261\"]},\"video/h263\":{\"source\":\"iana\",\"extensions\":[\"h263\"]},\"video/h263-1998\":{\"source\":\"iana\"},\"video/h263-2000\":{\"source\":\"iana\"},\"video/h264\":{\"source\":\"iana\",\"extensions\":[\"h264\"]},\"video/h264-rcdo\":{\"source\":\"iana\"},\"video/h264-svc\":{\"source\":\"iana\"},\"video/h265\":{\"source\":\"iana\"},\"video/iso.segment\":{\"source\":\"iana\"},\"video/jpeg\":{\"source\":\"iana\",\"extensions\":[\"jpgv\"]},\"video/jpeg2000\":{\"source\":\"iana\"},\"video/jpm\":{\"source\":\"apache\",\"extensions\":[\"jpm\",\"jpgm\"]},\"video/mj2\":{\"source\":\"iana\",\"extensions\":[\"mj2\",\"mjp2\"]},\"video/mp1s\":{\"source\":\"iana\"},\"video/mp2p\":{\"source\":\"iana\"},\"video/mp2t\":{\"source\":\"iana\",\"extensions\":[\"ts\"]},\"video/mp4\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"mp4\",\"mp4v\",\"mpg4\"]},\"video/mp4v-es\":{\"source\":\"iana\"},\"video/mpeg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]},\"video/mpeg4-generic\":{\"source\":\"iana\"},\"video/mpv\":{\"source\":\"iana\"},\"video/nv\":{\"source\":\"iana\"},\"video/ogg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"ogv\"]},\"video/parityfec\":{\"source\":\"iana\"},\"video/pointer\":{\"source\":\"iana\"},\"video/quicktime\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"qt\",\"mov\"]},\"video/raptorfec\":{\"source\":\"iana\"},\"video/raw\":{\"source\":\"iana\"},\"video/rtp-enc-aescm128\":{\"source\":\"iana\"},\"video/rtploopback\":{\"source\":\"iana\"},\"video/rtx\":{\"source\":\"iana\"},\"video/smpte291\":{\"source\":\"iana\"},\"video/smpte292m\":{\"source\":\"iana\"},\"video/ulpfec\":{\"source\":\"iana\"},\"video/vc1\":{\"source\":\"iana\"},\"video/vc2\":{\"source\":\"iana\"},\"video/vnd.cctv\":{\"source\":\"iana\"},\"video/vnd.dece.hd\":{\"source\":\"iana\",\"extensions\":[\"uvh\",\"uvvh\"]},\"video/vnd.dece.mobile\":{\"source\":\"iana\",\"extensions\":[\"uvm\",\"uvvm\"]},\"video/vnd.dece.mp4\":{\"source\":\"iana\"},\"video/vnd.dece.pd\":{\"source\":\"iana\",\"extensions\":[\"uvp\",\"uvvp\"]},\"video/vnd.dece.sd\":{\"source\":\"iana\",\"extensions\":[\"uvs\",\"uvvs\"]},\"video/vnd.dece.video\":{\"source\":\"iana\",\"extensions\":[\"uvv\",\"uvvv\"]},\"video/vnd.directv.mpeg\":{\"source\":\"iana\"},\"video/vnd.directv.mpeg-tts\":{\"source\":\"iana\"},\"video/vnd.dlna.mpeg-tts\":{\"source\":\"iana\"},\"video/vnd.dvb.file\":{\"source\":\"iana\",\"extensions\":[\"dvb\"]},\"video/vnd.fvt\":{\"source\":\"iana\",\"extensions\":[\"fvt\"]},\"video/vnd.hns.video\":{\"source\":\"iana\"},\"video/vnd.iptvforum.1dparityfec-1010\":{\"source\":\"iana\"},\"video/vnd.iptvforum.1dparityfec-2005\":{\"source\":\"iana\"},\"video/vnd.iptvforum.2dparityfec-1010\":{\"source\":\"iana\"},\"video/vnd.iptvforum.2dparityfec-2005\":{\"source\":\"iana\"},\"video/vnd.iptvforum.ttsavc\":{\"source\":\"iana\"},\"video/vnd.iptvforum.ttsmpeg2\":{\"source\":\"iana\"},\"video/vnd.motorola.video\":{\"source\":\"iana\"},\"video/vnd.motorola.videop\":{\"source\":\"iana\"},\"video/vnd.mpegurl\":{\"source\":\"iana\",\"extensions\":[\"mxu\",\"m4u\"]},\"video/vnd.ms-playready.media.pyv\":{\"source\":\"iana\",\"extensions\":[\"pyv\"]},\"video/vnd.nokia.interleaved-multimedia\":{\"source\":\"iana\"},\"video/vnd.nokia.mp4vr\":{\"source\":\"iana\"},\"video/vnd.nokia.videovoip\":{\"source\":\"iana\"},\"video/vnd.objectvideo\":{\"source\":\"iana\"},\"video/vnd.radgamettools.bink\":{\"source\":\"iana\"},\"video/vnd.radgamettools.smacker\":{\"source\":\"iana\"},\"video/vnd.sealed.mpeg1\":{\"source\":\"iana\"},\"video/vnd.sealed.mpeg4\":{\"source\":\"iana\"},\"video/vnd.sealed.swf\":{\"source\":\"iana\"},\"video/vnd.sealedmedia.softseal.mov\":{\"source\":\"iana\"},\"video/vnd.uvvu.mp4\":{\"source\":\"iana\",\"extensions\":[\"uvu\",\"uvvu\"]},\"video/vnd.vivo\":{\"source\":\"iana\",\"extensions\":[\"viv\"]},\"video/vnd.youtube.yt\":{\"source\":\"iana\"},\"video/vp8\":{\"source\":\"iana\"},\"video/webm\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"webm\"]},\"video/x-f4v\":{\"source\":\"apache\",\"extensions\":[\"f4v\"]},\"video/x-fli\":{\"source\":\"apache\",\"extensions\":[\"fli\"]},\"video/x-flv\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"flv\"]},\"video/x-m4v\":{\"source\":\"apache\",\"extensions\":[\"m4v\"]},\"video/x-matroska\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"mkv\",\"mk3d\",\"mks\"]},\"video/x-mng\":{\"source\":\"apache\",\"extensions\":[\"mng\"]},\"video/x-ms-asf\":{\"source\":\"apache\",\"extensions\":[\"asf\",\"asx\"]},\"video/x-ms-vob\":{\"source\":\"apache\",\"extensions\":[\"vob\"]},\"video/x-ms-wm\":{\"source\":\"apache\",\"extensions\":[\"wm\"]},\"video/x-ms-wmv\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"wmv\"]},\"video/x-ms-wmx\":{\"source\":\"apache\",\"extensions\":[\"wmx\"]},\"video/x-ms-wvx\":{\"source\":\"apache\",\"extensions\":[\"wvx\"]},\"video/x-msvideo\":{\"source\":\"apache\",\"extensions\":[\"avi\"]},\"video/x-sgi-movie\":{\"source\":\"apache\",\"extensions\":[\"movie\"]},\"video/x-smv\":{\"source\":\"apache\",\"extensions\":[\"smv\"]},\"x-conference/x-cooltalk\":{\"source\":\"apache\",\"extensions\":[\"ice\"]},\"x-shader/x-fragment\":{\"compressible\":true},\"x-shader/x-vertex\":{\"compressible\":true}}"); - -/***/ }), -/* 136 */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1, -// backported and transplited with Babel, with backwards-compat fixes - -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// resolves . and .. elements in a path array with directory names there -// must be no slashes, empty elements, or device names (c:\) in the array -// (so also no leading and trailing slashes - it does not distinguish -// relative and absolute paths) -function normalizeArray(parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - - return parts; -} - -// path.resolve([from ...], to) -// posix version -exports.resolve = function() { - var resolvedPath = '', - resolvedAbsolute = false; - - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : process.cwd(); - - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - continue; - } - - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - - // Normalize the path - resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; -}; - -// path.normalize(path) -// posix version -exports.normalize = function(path) { - var isAbsolute = exports.isAbsolute(path), - trailingSlash = substr(path, -1) === '/'; - - // Normalize the path - path = normalizeArray(filter(path.split('/'), function(p) { - return !!p; - }), !isAbsolute).join('/'); - - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - - return (isAbsolute ? '/' : '') + path; -}; - -// posix version -exports.isAbsolute = function(path) { - return path.charAt(0) === '/'; -}; - -// posix version -exports.join = function() { - var paths = Array.prototype.slice.call(arguments, 0); - return exports.normalize(filter(paths, function(p, index) { - if (typeof p !== 'string') { - throw new TypeError('Arguments to path.join must be strings'); - } - return p; - }).join('/')); -}; - - -// path.relative(from, to) -// posix version -exports.relative = function(from, to) { - from = exports.resolve(from).substr(1); - to = exports.resolve(to).substr(1); - - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - - return outputParts.join('/'); -}; - -exports.sep = '/'; -exports.delimiter = ':'; - -exports.dirname = function (path) { - if (typeof path !== 'string') path = path + ''; - if (path.length === 0) return '.'; - var code = path.charCodeAt(0); - var hasRoot = code === 47 /*/*/; - var end = -1; - var matchedSlash = true; - for (var i = path.length - 1; i >= 1; --i) { - code = path.charCodeAt(i); - if (code === 47 /*/*/) { - if (!matchedSlash) { - end = i; - break; - } - } else { - // We saw the first non-path separator - matchedSlash = false; - } - } - - if (end === -1) return hasRoot ? '/' : '.'; - if (hasRoot && end === 1) { - // return '//'; - // Backwards-compat fix: - return '/'; - } - return path.slice(0, end); -}; - -function basename(path) { - if (typeof path !== 'string') path = path + ''; - - var start = 0; - var end = -1; - var matchedSlash = true; - var i; - - for (i = path.length - 1; i >= 0; --i) { - if (path.charCodeAt(i) === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - start = i + 1; - break; - } - } else if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // path component - matchedSlash = false; - end = i + 1; - } - } - - if (end === -1) return ''; - return path.slice(start, end); -} - -// Uses a mixed approach for backwards-compatibility, as ext behavior changed -// in new Node.js versions, so only basename() above is backported here -exports.basename = function (path, ext) { - var f = basename(path); - if (ext && f.substr(-1 * ext.length) === ext) { - f = f.substr(0, f.length - ext.length); - } - return f; -}; - -exports.extname = function (path) { - if (typeof path !== 'string') path = path + ''; - var startDot = -1; - var startPart = 0; - var end = -1; - var matchedSlash = true; - // Track the state of characters (if any) we see before our first dot and - // after any path separator we find - var preDotState = 0; - for (var i = path.length - 1; i >= 0; --i) { - var code = path.charCodeAt(i); - if (code === 47 /*/*/) { - // If we reached a path separator that was not part of a set of path - // separators at the end of the string, stop now - if (!matchedSlash) { - startPart = i + 1; - break; - } - continue; - } - if (end === -1) { - // We saw the first non-path separator, mark this as the end of our - // extension - matchedSlash = false; - end = i + 1; - } - if (code === 46 /*.*/) { - // If this is our first dot, mark it as the start of our extension - if (startDot === -1) - startDot = i; - else if (preDotState !== 1) - preDotState = 1; - } else if (startDot !== -1) { - // We saw a non-dot and non-path separator before our dot, so we should - // have a good chance at having a non-empty extension - preDotState = -1; - } - } - - if (startDot === -1 || end === -1 || - // We saw a non-dot character immediately before the dot - preDotState === 0 || - // The (right-most) trimmed path component is exactly '..' - preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) { - return ''; - } - return path.slice(startDot, end); -}; - -function filter (xs, f) { - if (xs.filter) return xs.filter(f); - var res = []; - for (var i = 0; i < xs.length; i++) { - if (f(xs[i], i, xs)) res.push(xs[i]); - } - return res; -} - -// String.prototype.substr - negative index don't work in IE8 -var substr = 'ab'.substr(-1) === 'b' - ? function (str, start, len) { return str.substr(start, len) } - : function (str, start, len) { - if (start < 0) start = str.length + start; - return str.substr(start, len); - } -; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(25))) - -/***/ }), -/* 137 */ /***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; diff --git a/dist/web/pubnub.min.js b/dist/web/pubnub.min.js index 0fc961c1d..ceed6b0ce 100644 --- a/dist/web/pubnub.min.js +++ b/dist/web/pubnub.min.js @@ -1,27 +1,15 @@ -/*! 4.29.2 / Consumer */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PubNub=t():e.PubNub=t()}(window,(function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(i,a,function(t){return e[t]}.bind(null,a));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=28)}([function(e,t){e.exports=function(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNMessageCounts:"PNMessageCountsOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNSignalOperation:"PNSignalOperation",PNAddMessageActionOperation:"PNAddActionOperation",PNRemoveMessageActionOperation:"PNRemoveMessageActionOperation",PNGetMessageActionsOperation:"PNGetMessageActionsOperation",PNCreateUserOperation:"PNCreateUserOperation",PNUpdateUserOperation:"PNUpdateUserOperation",PNDeleteUserOperation:"PNDeleteUserOperation",PNGetUserOperation:"PNGetUsersOperation",PNGetUsersOperation:"PNGetUsersOperation",PNCreateSpaceOperation:"PNCreateSpaceOperation",PNUpdateSpaceOperation:"PNUpdateSpaceOperation",PNDeleteSpaceOperation:"PNDeleteSpaceOperation",PNGetSpaceOperation:"PNGetSpacesOperation",PNGetSpacesOperation:"PNGetSpacesOperation",PNGetMembersOperation:"PNGetMembersOperation",PNUpdateMembersOperation:"PNUpdateMembersOperation",PNGetMembershipsOperation:"PNGetMembershipsOperation",PNUpdateMembershipsOperation:"PNUpdateMembershipsOperation",PNListFilesOperation:"PNListFilesOperation",PNGenerateUploadUrlOperation:"PNGenerateUploadUrlOperation",PNPublishFileOperation:"PNPublishFileOperation",PNGetFileUrlOperation:"PNGetFileUrlOperation",PNDownloadFileOperation:"PNDownloadFileOperation",PNGetAllUUIDMetadataOperation:"PNGetAllUUIDMetadataOperation",PNGetUUIDMetadataOperation:"PNGetUUIDMetadataOperation",PNSetUUIDMetadataOperation:"PNSetUUIDMetadataOperation",PNRemoveUUIDMetadataOperation:"PNRemoveUUIDMetadataOperation",PNGetAllChannelMetadataOperation:"PNGetAllChannelMetadataOperation",PNGetChannelMetadataOperation:"PNGetChannelMetadataOperation",PNSetChannelMetadataOperation:"PNSetChannelMetadataOperation",PNRemoveChannelMetadataOperation:"PNRemoveChannelMetadataOperation",PNSetMembersOperation:"PNSetMembersOperation",PNSetMembershipsOperation:"PNSetMembershipsOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerGrantToken:"PNAccessManagerGrantToken",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";(function(t){function n(e){return encodeURIComponent(e).replace(/[!~*'()]/g,(function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())}))}function i(e){return function(e){var t=[];return Object.keys(e).forEach((function(e){return t.push(e)})),t}(e).sort()}var a="The Objects v1 API has been deprecated.\nYou can learn more about Objects v2 API at https://www.pubnub.com/docs/web-javascript/api-reference-objects.\nIf you have questions about the Objects v2 API or require additional help with migrating to the new data model, please contact PubNub Support at support@pubnub.com.";e.exports={signPamFromParams:function(e){return i(e).map((function(t){return"".concat(t,"=").concat(n(e[t]))})).join("&")},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var e,t;return{promise:new Promise((function(n,i){e=n,t=i})),reject:t,fulfill:e}},encodeString:n,deprecated:function(e){return function(){var n,i;void 0!==t&&("test"!==(null===(n=t)||void 0===n||null===(i=n.env)||void 0===i?void 0:"production")&&console.warn(a));return e.apply(void 0,arguments)}}}}).call(this,n(25))},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t){function n(e,t){for(var n=0;n=20?this._presenceTimeout=e:(this._presenceTimeout=20,console.log("WARNING: Presence timeout is less than the minimum. Using minimum value: ",this._presenceTimeout)),this.setHeartbeatInterval(this._presenceTimeout/2-1),this}},{key:"setProxy",value:function(e){this.proxy=e}},{key:"getHeartbeatInterval",value:function(){return this._heartbeatInterval}},{key:"setHeartbeatInterval",value:function(e){return this._heartbeatInterval=e,this}},{key:"getSubscribeTimeout",value:function(){return this._subscribeRequestTimeout}},{key:"setSubscribeTimeout",value:function(e){return this._subscribeRequestTimeout=e,this}},{key:"getTransactionTimeout",value:function(){return this._transactionalRequestTimeout}},{key:"setTransactionTimeout",value:function(e){return this._transactionalRequestTimeout=e,this}},{key:"isSendBeaconEnabled",value:function(){return this._useSendBeacon}},{key:"setSendBeaconConfig",value:function(e){return this._useSendBeacon=e,this}},{key:"getVersion",value:function(){return"4.29.2"}},{key:"_addPnsdkSuffix",value:function(e,t){this._PNSDKSuffix[e]=t}},{key:"_getPnsdkSuffix",value:function(e){var t=this;return Object.keys(this._PNSDKSuffix).reduce((function(n,i){return n+e+t._PNSDKSuffix[i]}),"")}},{key:"_decideUUID",value:function(e){return e||(this._db&&this._db.get&&this._db.get("".concat(this.subscribeKey,"uuid"))?this._db.get("".concat(this.subscribeKey,"uuid")):"pn-".concat(r.default.createUUID()))}}]),e}());t.default=c,e.exports=t.default},function(e,t,n){var i=n(77),a=n(78),o=n(79),s=n(81);e.exports=function(e,t){return i(e)||a(e,t)||o(e,t)||s()}},function(e,t,n){e.exports=n(72)},function(e,t){function n(e,t,n,i,a,o,s){try{var r=e[o](s),c=r.value}catch(e){return void n(e)}r.done?t(c):Promise.resolve(c).then(i,a)}e.exports=function(e){return function(){var t=this,i=arguments;return new Promise((function(a,o){var s=e.apply(t,i);function r(e){n(s,a,o,r,c,"next",e)}function c(e){n(s,a,o,r,c,"throw",e)}r(void 0)}))}}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNNetworkUpCategory:"PNNetworkUpCategory",PNNetworkDownCategory:"PNNetworkDownCategory",PNNetworkIssuesCategory:"PNNetworkIssuesCategory",PNTimeoutCategory:"PNTimeoutCategory",PNBadRequestCategory:"PNBadRequestCategory",PNAccessDeniedCategory:"PNAccessDeniedCategory",PNUnknownCategory:"PNUnknownCategory",PNReconnectedCategory:"PNReconnectedCategory",PNConnectedCategory:"PNConnectedCategory",PNRequestMessageCountExceededCategory:"PNRequestMessageCountExceededCategory"},e.exports=t.default},function(e,t,n){var i=n(15);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&i(e,t)}},function(e,t){function n(t,i){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,i)}e.exports=n},function(e,t,n){var i=n(7),a=n(19);e.exports=function(e,t){return!t||"object"!==i(t)&&"function"!=typeof t?a(e):t}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(32)),o={createUUID:function(){return a.default.uuid?a.default.uuid():(0,a.default)()}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.createValidationError=g,t.default=function(e,t){var n=e.networking,i=e.config,a=e.telemetryManager,o=p.default.createUUID(),s=null,r=null,c={};t.getOperation()===d.default.PNTimeOperation||t.getOperation()===d.default.PNChannelGroupsOperation?s=arguments.length<=2?void 0:arguments[2]:(c=arguments.length<=2?void 0:arguments[2],s=arguments.length<=3?void 0:arguments[3]);"undefined"==typeof Promise||s||(r=l.default.createPromise());var u=t.validateParams(e,c);if(u)return s?s(g(u)):r?(r.reject(new v("Validation failed, check status for details",g(u))),r.promise):void 0;var f,h=t.prepareParams(e,c),w=b(t,e,c),P={url:w,operation:t.getOperation(),timeout:t.getRequestTimeout(e),headers:t.getRequestHeaders?t.getRequestHeaders():{},ignoreBody:"function"==typeof t.ignoreBody&&t.ignoreBody(e),forceBuffered:"function"==typeof t.forceBuffered?t.forceBuffered(e,c):null};h.uuid=i.UUID,h.pnsdk=y(i);var T=a.operationsLatencyForRequest();Object.keys(T).length&&(h=m(m({},h),T));i.useInstanceId&&(h.instanceid=i.instanceId);i.useRequestId&&(h.requestid=o);if(t.isAuthSupported()){var O=x(t,e,c),j=O||i.getAuthKey();j&&(h.auth=j)}i.secretKey&&_(e,w,h,c,t);var S=function(n,i){if(n.error)s?s(n):r&&r.reject(new v("PubNub call failed, check status for details",n));else{a.stopLatencyMeasure(t.getOperation(),o);var u=t.handleResponse(e,i,c);"function"!=typeof u.then&&(u=Promise.resolve(u)),u.then((function(e){s?s(n,e):r&&r.fulfill(e)})).catch((function(e){s?s(e,null):r&&r.reject(new v("PubNub call failed, check status for details",e))}))}};if(a.startLatencyMeasure(t.getOperation(),o),"POST"===k(e,t,c)){var A=t.postPayload(e,c);f=n.POST(h,A,P,S)}else if("PATCH"===k(e,t,c)){var M=t.patchPayload(e,c);f=n.PATCH(h,M,P,S)}else f="DELETE"===k(e,t,c)?n.DELETE(h,P,S):n.GET(h,P,S);if(t.getOperation()===d.default.PNSubscribeOperation)return f;if(r)return r.promise},t.PubNubError=void 0;var a=i(n(4)),o=i(n(5)),s=i(n(14)),r=i(n(16)),c=i(n(12)),u=i(n(45)),p=i(n(17)),l=(n(2),i(n(3))),d=(i(n(8)),i(n(1)));function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function m(e){for(var t=1;t0&&(t+=n),t}function k(e,t,n){return t.usePost&&t.usePost(e,n)?"POST":t.usePatch&&t.usePatch(e,n)?"PATCH":t.useDelete&&t.useDelete(e,n)?"DELETE":"GET"}function _(e,t,n,i,a){var o=e.config,s=e.crypto,r=k(e,a,i);n.timestamp=Math.floor((new Date).getTime()/1e3);var c="".concat(r,"\n").concat(o.publishKey,"\n").concat(t,"\n").concat(l.default.signPamFromParams(n),"\n");if("POST"===r){var u=a.postPayload(e,i);c+="string"==typeof u?u:JSON.stringify(u)}else if("PATCH"===r){var p=a.patchPayload(e,i);c+="string"==typeof p?p:JSON.stringify(p)}var d="v2.".concat(s.HMACSHA256(c));d=(d=(d=d.replace(/\+/g,"-")).replace(/\//g,"_")).replace(/=+$/,""),n.signature=d}t.PubNubError=v},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){"use strict";(function(i){var a=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(5)),s=a(n(6)),r=a(n(4)),c=(a(n(8)),a(n(22)));function u(e){var t,n=[];for(t=0;t=20?this._presenceTimeout=e:(this._presenceTimeout=20,console.log("WARNING: Presence timeout is less than the minimum. Using minimum value: ",this._presenceTimeout)),this.setHeartbeatInterval(this._presenceTimeout/2-1),this}},{key:"setProxy",value:function(e){this.proxy=e}},{key:"getHeartbeatInterval",value:function(){return this._heartbeatInterval}},{key:"setHeartbeatInterval",value:function(e){return this._heartbeatInterval=e,this}},{key:"getSubscribeTimeout",value:function(){return this._subscribeRequestTimeout}},{key:"setSubscribeTimeout",value:function(e){return this._subscribeRequestTimeout=e,this}},{key:"getTransactionTimeout",value:function(){return this._transactionalRequestTimeout}},{key:"setTransactionTimeout",value:function(e){return this._transactionalRequestTimeout=e,this}},{key:"isSendBeaconEnabled",value:function(){return this._useSendBeacon}},{key:"setSendBeaconConfig",value:function(e){return this._useSendBeacon=e,this}},{key:"getVersion",value:function(){return"4.29.3"}},{key:"_addPnsdkSuffix",value:function(e,t){this._PNSDKSuffix[e]=t}},{key:"_getPnsdkSuffix",value:function(e){var t=this;return Object.keys(this._PNSDKSuffix).reduce((function(n,r){return n+e+t._PNSDKSuffix[r]}),"")}},{key:"_decideUUID",value:function(e){return e||(this._db&&this._db.get&&this._db.get("".concat(this.subscribeKey,"uuid"))?this._db.get("".concat(this.subscribeKey,"uuid")):"pn-".concat(s.default.createUUID()))}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){var r=n(77),i=n(78),o=n(79),a=n(81);e.exports=function(e,t){return r(e)||i(e,t)||o(e,t)||a()}},function(e,t,n){e.exports=n(72)},function(e,t){function n(e,t,n,r,i,o,a){try{var s=e[o](a),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}e.exports=function(e){return function(){var t=this,r=arguments;return new Promise((function(i,o){var a=e.apply(t,r);function s(e){n(a,i,o,s,u,"next",e)}function u(e){n(a,i,o,s,u,"throw",e)}s(void 0)}))}}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNNetworkUpCategory:"PNNetworkUpCategory",PNNetworkDownCategory:"PNNetworkDownCategory",PNNetworkIssuesCategory:"PNNetworkIssuesCategory",PNTimeoutCategory:"PNTimeoutCategory",PNBadRequestCategory:"PNBadRequestCategory",PNAccessDeniedCategory:"PNAccessDeniedCategory",PNUnknownCategory:"PNUnknownCategory",PNReconnectedCategory:"PNReconnectedCategory",PNConnectedCategory:"PNConnectedCategory",PNRequestMessageCountExceededCategory:"PNRequestMessageCountExceededCategory"},e.exports=t.default},function(e,t,n){var r=n(15);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t,n){var r=n(7),i=n(19);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?i(e):t}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(31)),o={createUUID:function(){return i.default.uuid?i.default.uuid():(0,i.default)()}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.createValidationError=y,t.default=function(e,t){var n=e.networking,r=e.config,i=e.telemetryManager,o=l.default.createUUID(),a=null,s=null,u={};t.getOperation()===d.default.PNTimeOperation||t.getOperation()===d.default.PNChannelGroupsOperation?a=arguments.length<=2?void 0:arguments[2]:(u=arguments.length<=2?void 0:arguments[2],a=arguments.length<=3?void 0:arguments[3]);"undefined"==typeof Promise||a||(s=f.default.createPromise());var c=t.validateParams(e,u);if(c)return a?a(y(c)):s?(s.reject(new v("Validation failed, check status for details",y(c))),s.promise):void 0;var h,g=t.prepareParams(e,u),w=b(t,e,u),O={url:w,operation:t.getOperation(),timeout:t.getRequestTimeout(e),headers:t.getRequestHeaders?t.getRequestHeaders():{},ignoreBody:"function"==typeof t.ignoreBody&&t.ignoreBody(e),forceBuffered:"function"==typeof t.forceBuffered?t.forceBuffered(e,u):null};g.uuid=r.UUID,g.pnsdk=_(r);var T=i.operationsLatencyForRequest();Object.keys(T).length&&(g=p(p({},g),T));r.useInstanceId&&(g.instanceid=r.instanceId);r.useRequestId&&(g.requestid=o);if(t.isAuthSupported()){var S=m(t,e,u),A=S||r.getAuthKey();A&&(g.auth=A)}r.secretKey&&P(e,w,g,u,t);var M=function(n,r){if(n.error)a?a(n):s&&s.reject(new v("PubNub call failed, check status for details",n));else{i.stopLatencyMeasure(t.getOperation(),o);var c=t.handleResponse(e,r,u);"function"!=typeof c.then&&(c=Promise.resolve(c)),c.then((function(e){a?a(n,e):s&&s.fulfill(e)})).catch((function(e){a?a(e,null):s&&s.reject(new v("PubNub call failed, check status for details",e))}))}};if(i.startLatencyMeasure(t.getOperation(),o),"POST"===k(e,t,u)){var E=t.postPayload(e,u);h=n.POST(g,E,O,M)}else if("PATCH"===k(e,t,u)){var x=t.patchPayload(e,u);h=n.PATCH(g,x,O,M)}else h="DELETE"===k(e,t,u)?n.DELETE(g,O,M):n.GET(g,O,M);if(t.getOperation()===d.default.PNSubscribeOperation)return h;if(s)return s.promise},t.PubNubError=void 0;var i=r(n(4)),o=r(n(5)),a=r(n(14)),s=r(n(16)),u=r(n(12)),c=r(n(45)),l=r(n(17)),f=(n(2),r(n(3))),d=(r(n(8)),r(n(1)));function h(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t0&&(t+=n),t}function k(e,t,n){return t.usePost&&t.usePost(e,n)?"POST":t.usePatch&&t.usePatch(e,n)?"PATCH":t.useDelete&&t.useDelete(e,n)?"DELETE":"GET"}function P(e,t,n,r,i){var o=e.config,a=e.crypto,s=k(e,i,r);n.timestamp=Math.floor((new Date).getTime()/1e3),"PNPublishOperation"===i.getOperation()&&i.usePost&&i.usePost(e,r)&&(s="GET");var u="".concat(s,"\n").concat(o.publishKey,"\n").concat(t,"\n").concat(f.default.signPamFromParams(n),"\n");if("POST"===s){var c=i.postPayload(e,r);u+="string"==typeof c?c:JSON.stringify(c)}else if("PATCH"===s){var l=i.patchPayload(e,r);u+="string"==typeof l?l:JSON.stringify(l)}var d="v2.".concat(a.HMACSHA256(u));d=(d=(d=d.replace(/\+/g,"-")).replace(/\//g,"_")).replace(/=+$/,""),n.signature=d}t.PubNubError=v},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){"use strict";(function(r){var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=i(n(5)),a=i(n(6)),s=i(n(4)),u=(i(n(8)),i(n(22)));function c(e){var t,n=[];for(t=0;t * @license MIT */ -var i=n(34),a=n(35),o=n(36);function s(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function r(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function m(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return L(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return q(e).length;default:if(i)return L(e).length;t=(""+t).toLowerCase(),i=!0}}function h(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return A(this,t,n);case"utf8":case"utf-8":return O(this,t,n);case"ascii":return j(this,t,n);case"latin1":case"binary":return S(this,t,n);case"base64":return T(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function v(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function g(e,t,n,i,a){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=a?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(a)return-1;n=e.length-1}else if(n<0){if(!a)return-1;n=0}if("string"==typeof t&&(t=c.from(t,i)),c.isBuffer(t))return 0===t.length?-1:b(e,t,n,i,a);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?a?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,i,a);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,i,a){var o,s=1,r=e.length,c=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;s=2,r/=2,c/=2,n/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(a){var p=-1;for(o=n;or&&(n=r-c),o=n;o>=0;o--){for(var l=!0,d=0;da&&(i=a):i=a;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var s=0;s>8,a=n%256,o.push(a),o.push(i);return o}(t,e.length-n),e,n,i)}function T(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function O(e,t,n){n=Math.min(e.length,n);for(var i=[],a=t;a239?4:u>223?3:u>191?2:1;if(a+l<=n)switch(l){case 1:u<128&&(p=u);break;case 2:128==(192&(o=e[a+1]))&&(c=(31&u)<<6|63&o)>127&&(p=c);break;case 3:o=e[a+1],s=e[a+2],128==(192&o)&&128==(192&s)&&(c=(15&u)<<12|(63&o)<<6|63&s)>2047&&(c<55296||c>57343)&&(p=c);break;case 4:o=e[a+1],s=e[a+2],r=e[a+3],128==(192&o)&&128==(192&s)&&128==(192&r)&&(c=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&r)>65535&&c<1114112&&(p=c)}null===p?(p=65533,l=1):p>65535&&(p-=65536,i.push(p>>>10&1023|55296),p=56320|1023&p),i.push(p),a+=l}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",i=0;for(;i0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},c.prototype.compare=function(e,t,n,i,a){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===a&&(a=this.length),t<0||n>e.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&t>=n)return 0;if(i>=a)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(a>>>=0)-(i>>>=0),s=(n>>>=0)-(t>>>=0),r=Math.min(o,s),u=this.slice(i,a),p=e.slice(t,n),l=0;la)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return x(this,e,t,n);case"utf8":case"utf-8":return y(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return _(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function j(e,t,n){var i="";n=Math.min(e.length,n);for(var a=t;ai)&&(n=i);for(var a="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function C(e,t,n,i,a,o){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw new RangeError("Index out of range")}function R(e,t,n,i){t<0&&(t=65535+t+1);for(var a=0,o=Math.min(e.length-n,2);a>>8*(i?a:1-a)}function U(e,t,n,i){t<0&&(t=4294967295+t+1);for(var a=0,o=Math.min(e.length-n,4);a>>8*(i?a:3-a)&255}function N(e,t,n,i,a,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function K(e,t,n,i,o){return o||N(e,0,n,4),a.write(e,t,n,i,23,4),n+4}function I(e,t,n,i,o){return o||N(e,0,n,8),a.write(e,t,n,i,52,8),n+8}c.prototype.slice=function(e,t){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t0&&(a*=256);)i+=this[e+--t]*a;return i},c.prototype.readUInt8=function(e,t){return t||E(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||E(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||E(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||E(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||E(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||E(e,t,this.length);for(var i=this[e],a=1,o=0;++o=(a*=128)&&(i-=Math.pow(2,8*t)),i},c.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||E(e,t,this.length);for(var i=t,a=1,o=this[e+--i];i>0&&(a*=256);)o+=this[e+--i]*a;return o>=(a*=128)&&(o-=Math.pow(2,8*t)),o},c.prototype.readInt8=function(e,t){return t||E(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||E(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(e,t){t||E(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(e,t){return t||E(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||E(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||E(e,4,this.length),a.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||E(e,4,this.length),a.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||E(e,8,this.length),a.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||E(e,8,this.length),a.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,n,i){(e=+e,t|=0,n|=0,i)||C(this,e,t,n,Math.pow(2,8*n)-1,0);var a=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+a]=e/o&255;return t+n},c.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):R(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):R(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):U(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):U(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var a=Math.pow(2,8*n-1);C(this,e,t,n,a-1,-a)}var o=0,s=1,r=0;for(this[t]=255&e;++o>0)-r&255;return t+n},c.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var a=Math.pow(2,8*n-1);C(this,e,t,n,a-1,-a)}var o=n-1,s=1,r=0;for(this[t+o]=255&e;--o>=0&&(s*=256);)e<0&&0===r&&0!==this[t+o+1]&&(r=1),this[t+o]=(e/s>>0)-r&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):R(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):R(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):U(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):U(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,n){return K(this,e,t,!0,n)},c.prototype.writeFloatBE=function(e,t,n){return K(this,e,t,!1,n)},c.prototype.writeDoubleLE=function(e,t,n){return I(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return I(this,e,t,!1,n)},c.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--a)e[a+t]=this[a+n];else if(o<1e3||!c.TYPED_ARRAY_SUPPORT)for(a=0;a>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!a){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(t-=3)>-1&&o.push(239,191,189);continue}a=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),a=n;continue}n=65536+(a-55296<<10|n-56320)}else a&&(t-=3)>-1&&o.push(239,191,189);if(a=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function q(e){return i.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function B(e,t,n,i){for(var a=0;a=t.length||a>=e.length);++a)t[a+n]=e[a];return a}}).call(this,n(33))},function(e,t,n){"use strict";var i,a,o,s,r,c=c||function(e,t){var n={},i=n.lib={},a=function(){},o=i.Base={extend:function(e){a.prototype=this;var t=new a;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},s=i.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,i=this.sigBytes;if(e=e.sigBytes,this.clamp(),i%4)for(var a=0;a>>2]|=(n[a>>>2]>>>24-a%4*8&255)<<24-(i+a)%4*8;else if(65535>>2]=n[a>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],i=0;i>>2]>>>24-i%4*8&255;n.push((a>>>4).toString(16)),n.push((15&a).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new s.init(n,t/2)}},u=r.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],i=0;i>>2]>>>24-i%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new s.init(n,t)}},p=r.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},l=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,i=n.words,a=n.sigBytes,o=this.blockSize,r=a/(4*o);if(t=(r=t?e.ceil(r):e.max((0|r)-this._minBufferSize,0))*o,a=e.min(4*t,a),t){for(var c=0;cp;){var l;e:{l=u;for(var d=e.sqrt(l),f=2;f<=d;f++)if(!(l%f)){l=!1;break e}l=!0}l&&(8>p&&(o[p]=r(e.pow(u,.5))),s[p]=r(e.pow(u,1/3)),p++),u++}var m=[];a=a.SHA256=i.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,i=n[0],a=n[1],o=n[2],r=n[3],c=n[4],u=n[5],p=n[6],l=n[7],d=0;64>d;d++){if(16>d)m[d]=0|e[t+d];else{var f=m[d-15],h=m[d-2];m[d]=((f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3)+m[d-7]+((h<<15|h>>>17)^(h<<13|h>>>19)^h>>>10)+m[d-16]}f=l+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&u^~c&p)+s[d]+m[d],h=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&a^i&o^a&o),l=p,p=u,u=c,c=r+f|0,r=o,o=a,a=i,i=f+h|0}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+r|0,n[4]=n[4]+c|0,n[5]=n[5]+u|0,n[6]=n[6]+p|0,n[7]=n[7]+l|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,a=8*t.sigBytes;return n[a>>>5]|=128<<24-a%32,n[14+(a+64>>>9<<4)]=e.floor(i/4294967296),n[15+(a+64>>>9<<4)]=i,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(a),t.HmacSHA256=i._createHmacHelper(a)}(Math),a=(i=c).enc.Utf8,i.algo.HMAC=i.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var n=e.blockSize,i=4*n;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),s=this._iKey=t.clone(),r=o.words,c=s.words,u=0;u>>2]>>>24-a%4*8&255)<<16|(t[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|t[a+2>>>2]>>>24-(a+2)%4*8&255,s=0;4>s&&a+.75*s>>6*(3-s)&63));if(t=i.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(i=n.charAt(64))&&-1!=(i=e.indexOf(i))&&(t=i);for(var i=[],a=0,o=0;o>>6-o%4*2;i[a>>>2]|=(r|c)<<24-a%4*8,a++}return s.create(i,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,i,a,o,s){return((e=e+(t&n|~t&i)+a+s)<>>32-o)+t}function n(e,t,n,i,a,o,s){return((e=e+(t&i|n&~i)+a+s)<>>32-o)+t}function i(e,t,n,i,a,o,s){return((e=e+(t^n^i)+a+s)<>>32-o)+t}function a(e,t,n,i,a,o,s){return((e=e+(n^(t|~i))+a+s)<>>32-o)+t}for(var o=c,s=(u=o.lib).WordArray,r=u.Hasher,u=o.algo,p=[],l=0;64>l;l++)p[l]=4294967296*e.abs(e.sin(l+1))|0;u=u.MD5=r.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,o){for(var s=0;16>s;s++){var r=e[c=o+s];e[c]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}s=this._hash.words;var c=e[o+0],u=(r=e[o+1],e[o+2]),l=e[o+3],d=e[o+4],f=e[o+5],m=e[o+6],h=e[o+7],v=e[o+8],g=e[o+9],b=e[o+10],x=e[o+11],y=e[o+12],k=e[o+13],_=e[o+14],w=e[o+15],P=t(P=s[0],j=s[1],O=s[2],T=s[3],c,7,p[0]),T=t(T,P,j,O,r,12,p[1]),O=t(O,T,P,j,u,17,p[2]),j=t(j,O,T,P,l,22,p[3]);P=t(P,j,O,T,d,7,p[4]),T=t(T,P,j,O,f,12,p[5]),O=t(O,T,P,j,m,17,p[6]),j=t(j,O,T,P,h,22,p[7]),P=t(P,j,O,T,v,7,p[8]),T=t(T,P,j,O,g,12,p[9]),O=t(O,T,P,j,b,17,p[10]),j=t(j,O,T,P,x,22,p[11]),P=t(P,j,O,T,y,7,p[12]),T=t(T,P,j,O,k,12,p[13]),O=t(O,T,P,j,_,17,p[14]),P=n(P,j=t(j,O,T,P,w,22,p[15]),O,T,r,5,p[16]),T=n(T,P,j,O,m,9,p[17]),O=n(O,T,P,j,x,14,p[18]),j=n(j,O,T,P,c,20,p[19]),P=n(P,j,O,T,f,5,p[20]),T=n(T,P,j,O,b,9,p[21]),O=n(O,T,P,j,w,14,p[22]),j=n(j,O,T,P,d,20,p[23]),P=n(P,j,O,T,g,5,p[24]),T=n(T,P,j,O,_,9,p[25]),O=n(O,T,P,j,l,14,p[26]),j=n(j,O,T,P,v,20,p[27]),P=n(P,j,O,T,k,5,p[28]),T=n(T,P,j,O,u,9,p[29]),O=n(O,T,P,j,h,14,p[30]),P=i(P,j=n(j,O,T,P,y,20,p[31]),O,T,f,4,p[32]),T=i(T,P,j,O,v,11,p[33]),O=i(O,T,P,j,x,16,p[34]),j=i(j,O,T,P,_,23,p[35]),P=i(P,j,O,T,r,4,p[36]),T=i(T,P,j,O,d,11,p[37]),O=i(O,T,P,j,h,16,p[38]),j=i(j,O,T,P,b,23,p[39]),P=i(P,j,O,T,k,4,p[40]),T=i(T,P,j,O,c,11,p[41]),O=i(O,T,P,j,l,16,p[42]),j=i(j,O,T,P,m,23,p[43]),P=i(P,j,O,T,g,4,p[44]),T=i(T,P,j,O,y,11,p[45]),O=i(O,T,P,j,w,16,p[46]),P=a(P,j=i(j,O,T,P,u,23,p[47]),O,T,c,6,p[48]),T=a(T,P,j,O,h,10,p[49]),O=a(O,T,P,j,_,15,p[50]),j=a(j,O,T,P,f,21,p[51]),P=a(P,j,O,T,y,6,p[52]),T=a(T,P,j,O,l,10,p[53]),O=a(O,T,P,j,b,15,p[54]),j=a(j,O,T,P,r,21,p[55]),P=a(P,j,O,T,v,6,p[56]),T=a(T,P,j,O,w,10,p[57]),O=a(O,T,P,j,m,15,p[58]),j=a(j,O,T,P,k,21,p[59]),P=a(P,j,O,T,d,6,p[60]),T=a(T,P,j,O,x,10,p[61]),O=a(O,T,P,j,u,15,p[62]),j=a(j,O,T,P,g,21,p[63]);s[0]=s[0]+P|0,s[1]=s[1]+j|0,s[2]=s[2]+O|0,s[3]=s[3]+T|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,a=8*t.sigBytes;n[a>>>5]|=128<<24-a%32;var o=e.floor(i/4294967296);for(n[15+(a+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n[14+(a+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,i=0;4>i;i++)a=n[i],n[i]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);return t},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}}),o.MD5=r._createHelper(u),o.HmacMD5=r._createHmacHelper(u)}(Math),function(){var e,t=c,n=(e=t.lib).Base,i=e.WordArray,a=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(r=this.cfg).hasher.create(),a=i.create(),o=a.words,s=r.keySize,r=r.iterations;o.length>>2]}},t.BlockCipher=r.extend({cfg:r.cfg.extend({mode:u,padding:l}),reset:function(){r.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var d=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),f=(u=(m.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?i.create([1398893684,1701076831]).concat(e).concat(t):t).toString(o)},parse:function(e){var t=(e=o.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=i.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return d.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:u}),encrypt:function(e,t,n,i){i=this.cfg.extend(i);var a=e.createEncryptor(n,i);return t=a.finalize(t),a=a.cfg,d.create({ciphertext:t,key:n,iv:a.iv,algorithm:e,mode:a.mode,padding:a.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,n,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),e.createDecryptor(n,i).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),m=(m.kdf={}).OpenSSL={execute:function(e,t,n,a){return a||(a=i.random(8)),e=s.create({keySize:t+n}).compute(e,a),n=i.create(e.words.slice(t),4*n),e.sigBytes=4*t,d.create({key:e,iv:n,salt:a})}},h=t.PasswordBasedCipher=f.extend({cfg:f.cfg.extend({kdf:m}),encrypt:function(e,t,n,i){return n=(i=this.cfg.extend(i)).kdf.execute(n,e.keySize,e.ivSize),i.iv=n.iv,(e=f.encrypt.call(this,e,t,n.key,i)).mixIn(n),e},decrypt:function(e,t,n,i){return i=this.cfg.extend(i),t=this._parse(t,i.format),n=i.kdf.execute(n,e.keySize,e.ivSize,t.salt),i.iv=n.iv,f.decrypt.call(this,e,t,n.key,i)}})}(),function(){for(var e=c,t=e.lib.BlockCipher,n=e.algo,i=[],a=[],o=[],s=[],r=[],u=[],p=[],l=[],d=[],f=[],m=[],h=0;256>h;h++)m[h]=128>h?h<<1:h<<1^283;var v=0,g=0;for(h=0;256>h;h++){var b=(b=g^g<<1^g<<2^g<<3^g<<4)>>>8^255&b^99;i[v]=b,a[b]=v;var x=m[v],y=m[x],k=m[y],_=257*m[b]^16843008*b;o[v]=_<<24|_>>>8,s[v]=_<<16|_>>>16,r[v]=_<<8|_>>>24,u[v]=_,_=16843009*k^65537*y^257*x^16843008*v,p[b]=_<<24|_>>>8,l[b]=_<<16|_>>>16,d[b]=_<<8|_>>>24,f[b]=_,v?(v=x^m[m[m[k^x]]],g^=m[m[g]]):v=g=1}var w=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),a=this._keySchedule=[],o=0;o>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s]):(s=i[(s=s<<8|s>>>24)>>>24]<<24|i[s>>>16&255]<<16|i[s>>>8&255]<<8|i[255&s],s^=w[o/t|0]<<24),a[o]=a[o-t]^s}for(e=this._invKeySchedule=[],t=0;tt||4>=o?s:p[i[s>>>24]]^l[i[s>>>16&255]]^d[i[s>>>8&255]]^f[i[255&s]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,r,u,i)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,p,l,d,f,a),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,i,a,o,s,r){for(var c=this._nRounds,u=e[t]^n[0],p=e[t+1]^n[1],l=e[t+2]^n[2],d=e[t+3]^n[3],f=4,m=1;m>>24]^a[p>>>16&255]^o[l>>>8&255]^s[255&d]^n[f++],v=i[p>>>24]^a[l>>>16&255]^o[d>>>8&255]^s[255&u]^n[f++],g=i[l>>>24]^a[d>>>16&255]^o[u>>>8&255]^s[255&p]^n[f++];d=i[d>>>24]^a[u>>>16&255]^o[p>>>8&255]^s[255&l]^n[f++],u=h,p=v,l=g}h=(r[u>>>24]<<24|r[p>>>16&255]<<16|r[l>>>8&255]<<8|r[255&d])^n[f++],v=(r[p>>>24]<<24|r[l>>>16&255]<<16|r[d>>>8&255]<<8|r[255&u])^n[f++],g=(r[l>>>24]<<24|r[d>>>16&255]<<16|r[u>>>8&255]<<8|r[255&p])^n[f++],d=(r[d>>>24]<<24|r[u>>>16&255]<<16|r[p>>>8&255]<<8|r[255&l])^n[f++],e[t]=h,e[t+1]=v,e[t+2]=g,e[t+3]=d},keySize:8});e.AES=t._createHelper(n)}(),c.mode.ECB=((r=c.lib.BlockCipherMode.extend()).Encryptor=r.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),r.Decryptor=r.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),r),e.exports=c},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(5)),o=i(n(6)),s=i(n(4)),r=(n(2),i(n(13))),c=function(){function e(){(0,a.default)(this,e),(0,s.default)(this,"_listeners",void 0),this._listeners=[]}return(0,o.default)(e,[{key:"addListener",value:function(e){this._listeners.push(e)}},{key:"removeListener",value:function(e){var t=[];this._listeners.forEach((function(n){n!==e&&t.push(n)})),this._listeners=t}},{key:"removeAllListeners",value:function(){this._listeners=[]}},{key:"announcePresence",value:function(e){this._listeners.forEach((function(t){t.presence&&t.presence(e)}))}},{key:"announceStatus",value:function(e){this._listeners.forEach((function(t){t.status&&t.status(e)}))}},{key:"announceMessage",value:function(e){this._listeners.forEach((function(t){t.message&&t.message(e)}))}},{key:"announceSignal",value:function(e){this._listeners.forEach((function(t){t.signal&&t.signal(e)}))}},{key:"announceMessageAction",value:function(e){this._listeners.forEach((function(t){t.messageAction&&t.messageAction(e)}))}},{key:"announceFile",value:function(e){this._listeners.forEach((function(t){t.file&&t.file(e)}))}},{key:"announceObjects",value:function(e){this._listeners.forEach((function(t){t.objects&&t.objects(e)}))}},{key:"announceUser",value:function(e){this._listeners.forEach((function(t){t.user&&t.user(e)}))}},{key:"announceSpace",value:function(e){this._listeners.forEach((function(t){t.space&&t.space(e)}))}},{key:"announceMembership",value:function(e){this._listeners.forEach((function(t){t.membership&&t.membership(e)}))}},{key:"announceNetworkUp",value:function(){var e={};e.category=r.default.PNNetworkUpCategory,this.announceStatus(e)}},{key:"announceNetworkDown",value:function(){var e={};e.category=r.default.PNNetworkDownCategory,this.announceStatus(e)}}]),e}();t.default=c,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNTimeOperation},t.getURL=function(){return"/time/0"},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(){return{}},t.isAuthSupported=function(){return!1},t.handleResponse=function(e,t){return{timetoken:t[0]}},t.validateParams=function(){};n(2);var a=i(n(1))},function(e,t){var n,i,a=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function r(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(e){i=s}}();var c,u=[],p=!1,l=-1;function d(){p&&c&&(p=!1,c.length?u=c.concat(u):l=-1,u.length&&f())}function f(){if(!p){var e=r(d);p=!0;for(var t=u.length;t;){for(c=u,u=[];++l1)for(var n=1;n>24,i[o+1]=(16711680&r)>>16,i[o+2]=(65280&r)>>8,i[o+3]=255&r}for(var c=o+3;c>=o;c-=1)0===i[c]&&(a+=1);return a>0?i.buffer.slice(0,i.byteLength-a):i.buffer}function k(e){var t=function(e){return e&&"object"===(0,c.default)(e)&&e.constructor===Object};if(!t(e))return e;var n={};return Object.keys(e).forEach((function(i){var a=function(e){return"string"==typeof e||e instanceof String}(i),o=i,s=e[i];Array.isArray(i)||a&&i.indexOf(",")>=0?o=(a?i.split(","):i).reduce((function(e,t){return e+=String.fromCharCode(t)}),""):(function(e){return"number"==typeof e&&isFinite(e)}(i)||a&&!isNaN(i))&&(o=String.fromCharCode(a?parseInt(i,10):10));n[o]=t(s)?k(s):s})),n}var _=function(e){(0,o.default)(n,e);var t=b(n);function n(e){var i;(0,a.default)(this,n);var o=e.listenToBrowserNetworkEvents,s=void 0===o||o;return e.db=f.default,e.sdkFamily="Web",e.networking=new l.default({del:h.del,get:h.get,post:h.post,patch:h.patch,sendBeacon:x,file:h.file}),e.cbor=new m.default((function(e){return k(u.default.decode(e))}),y),e.PubNubFile=g.default,e.cryptography=new v.default,i=t.call(this,e),s&&(window.addEventListener("offline",(function(){i.networkDownDetected()})),window.addEventListener("online",(function(){i.networkUpDetected()}))),i}return n}(p.default);t.default=_,e.exports=t.default},function(e,t,n){var i,a;!function(o,s){"use strict";var r=Math.pow(2,-24),c=Math.pow(2,32),u=Math.pow(2,53);void 0===(a="function"==typeof(i={encode:function(e){var t,n=new ArrayBuffer(256),i=new DataView(n),a=0;function o(e){for(var o=n.byteLength,s=a+e;o>2,u=0;u>6),i.push(128|63&c)):c<55296?(i.push(224|c>>12),i.push(128|c>>6&63),i.push(128|63&c)):(c=(1023&c)<<10,c|=1023&t.charCodeAt(++n),c+=65536,i.push(240|c>>18),i.push(128|c>>12&63),i.push(128|c>>6&63),i.push(128|63&c))}return l(3,i.length),p(i);default:var d;if(Array.isArray(t))for(l(4,d=t.length),n=0;n>5!==e)throw"Invalid indefinite length element";return n}function h(e,t){for(var n=0;n>10),e.push(56320|1023&i))}}"function"!=typeof t&&(t=function(e){return e}),"function"!=typeof n&&(n=function(){});var v=function e(){var c,l,v=u(),g=v>>5,b=31&v;if(7===g)switch(b){case 25:return function(){var e=new ArrayBuffer(4),t=new DataView(e),n=p(),i=32768&n,a=31744&n,o=1023&n;if(31744===a)a=261120;else if(0!==a)a+=114688;else if(0!==o)return o*r;return t.setUint32(0,i<<16|a<<13|o<<13),t.getFloat32(0)}();case 26:return o(i.getFloat32(a),4);case 27:return o(i.getFloat64(a),8)}if((l=f(b))<0&&(g<2||6=0;)y+=l,x.push(s(l));var k=new Uint8Array(y),_=0;for(c=0;c=0;)h(w,l);else h(w,l);return String.fromCharCode.apply(null,w);case 4:var P;if(l<0)for(P=[];!d();)P.push(e());else for(P=new Array(l),c=0;c1?t-1:0),a=1;a1?t-1:0),a=1;a1?t-1:0),a=1;a1?t-1:0),a=1;a0?s-4:s;for(n=0;n>16&255,c[p++]=t>>8&255,c[p++]=255&t;2===r&&(t=a[e.charCodeAt(n)]<<2|a[e.charCodeAt(n+1)]>>4,c[p++]=255&t);1===r&&(t=a[e.charCodeAt(n)]<<10|a[e.charCodeAt(n+1)]<<4|a[e.charCodeAt(n+2)]>>2,c[p++]=t>>8&255,c[p++]=255&t);return c},t.fromByteArray=function(e){for(var t,n=e.length,a=n%3,o=[],s=0,r=n-a;sr?r:s+16383));1===a?(t=e[n-1],o.push(i[t>>2]+i[t<<4&63]+"==")):2===a&&(t=(e[n-2]<<8)+e[n-1],o.push(i[t>>10]+i[t>>4&63]+i[t<<2&63]+"="));return o.join("")};for(var i=[],a=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=0,c=s.length;r0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function p(e,t,n){for(var a,o,s=[],r=t;r>18&63]+i[o>>12&63]+i[o>>6&63]+i[63&o]);return s.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,i,a){var o,s,r=8*a-i-1,c=(1<>1,p=-7,l=n?a-1:0,d=n?-1:1,f=e[t+l];for(l+=d,o=f&(1<<-p)-1,f>>=-p,p+=r;p>0;o=256*o+e[t+l],l+=d,p-=8);for(s=o&(1<<-p)-1,o>>=-p,p+=i;p>0;s=256*s+e[t+l],l+=d,p-=8);if(0===o)o=1-u;else{if(o===c)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,i),o-=u}return(f?-1:1)*s*Math.pow(2,o-i)},t.write=function(e,t,n,i,a,o){var s,r,c,u=8*o-a-1,p=(1<>1,d=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,f=i?0:o-1,m=i?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(r=isNaN(t)?1:0,s=p):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),(t+=s+l>=1?d/c:d*Math.pow(2,1-l))*c>=2&&(s++,c/=2),s+l>=p?(r=0,s=p):s+l>=1?(r=(t*c-1)*Math.pow(2,a),s+=l):(r=t*Math.pow(2,l-1)*Math.pow(2,a),s=0));a>=8;e[n+f]=255&r,f+=m,r/=256,a-=8);for(s=s<0;e[n+f]=255&s,f+=m,s/=256,u-=8);e[n+f-m]|=128*h}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(7)),o=i(n(5)),s=i(n(6)),r=i(n(4)),c=(i(n(20)),i(n(8)),i(n(23)),i(n(38))),u=i(n(39)),p=i(n(3)),l=(n(2),i(n(13))),d=function(){function e(t){var n=t.subscribeEndpoint,i=t.leaveEndpoint,a=t.heartbeatEndpoint,s=t.setStateEndpoint,p=t.timeEndpoint,l=t.getFileUrl,d=t.config,f=t.crypto,m=t.listenerManager;(0,o.default)(this,e),(0,r.default)(this,"_crypto",void 0),(0,r.default)(this,"_config",void 0),(0,r.default)(this,"_listenerManager",void 0),(0,r.default)(this,"_reconnectionManager",void 0),(0,r.default)(this,"_leaveEndpoint",void 0),(0,r.default)(this,"_heartbeatEndpoint",void 0),(0,r.default)(this,"_setStateEndpoint",void 0),(0,r.default)(this,"_subscribeEndpoint",void 0),(0,r.default)(this,"_getFileUrl",void 0),(0,r.default)(this,"_channels",void 0),(0,r.default)(this,"_presenceChannels",void 0),(0,r.default)(this,"_heartbeatChannels",void 0),(0,r.default)(this,"_heartbeatChannelGroups",void 0),(0,r.default)(this,"_channelGroups",void 0),(0,r.default)(this,"_presenceChannelGroups",void 0),(0,r.default)(this,"_currentTimetoken",void 0),(0,r.default)(this,"_lastTimetoken",void 0),(0,r.default)(this,"_storedTimetoken",void 0),(0,r.default)(this,"_region",void 0),(0,r.default)(this,"_subscribeCall",void 0),(0,r.default)(this,"_heartbeatTimer",void 0),(0,r.default)(this,"_subscriptionStatusAnnounced",void 0),(0,r.default)(this,"_autoNetworkDetection",void 0),(0,r.default)(this,"_isOnline",void 0),(0,r.default)(this,"_pendingChannelSubscriptions",void 0),(0,r.default)(this,"_pendingChannelGroupSubscriptions",void 0),(0,r.default)(this,"_dedupingManager",void 0),this._listenerManager=m,this._config=d,this._leaveEndpoint=i,this._heartbeatEndpoint=a,this._setStateEndpoint=s,this._subscribeEndpoint=n,this._getFileUrl=l,this._crypto=f,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new c.default({timeEndpoint:p}),this._dedupingManager=new u.default({config:d})}return(0,s.default)(e,[{key:"adaptStateChange",value:function(e,t){var n=this,i=e.state,a=e.channels,o=void 0===a?[]:a,s=e.channelGroups,r=void 0===s?[]:s;return o.forEach((function(e){e in n._channels&&(n._channels[e].state=i)})),r.forEach((function(e){e in n._channelGroups&&(n._channelGroups[e].state=i)})),this._setStateEndpoint({state:i,channels:o,channelGroups:r},t)}},{key:"adaptPresenceChange",value:function(e){var t=this,n=e.connected,i=e.channels,a=void 0===i?[]:i,o=e.channelGroups,s=void 0===o?[]:o;n?(a.forEach((function(e){t._heartbeatChannels[e]={state:{}}})),s.forEach((function(e){t._heartbeatChannelGroups[e]={state:{}}}))):(a.forEach((function(e){e in t._heartbeatChannels&&delete t._heartbeatChannels[e]})),s.forEach((function(e){e in t._heartbeatChannelGroups&&delete t._heartbeatChannelGroups[e]})),!1===this._config.suppressLeaveEvents&&this._leaveEndpoint({channels:a,channelGroups:s},(function(e){t._listenerManager.announceStatus(e)}))),this.reconnect()}},{key:"adaptSubscribeChange",value:function(e){var t=this,n=e.timetoken,i=e.channels,a=void 0===i?[]:i,o=e.channelGroups,s=void 0===o?[]:o,r=e.withPresence,c=void 0!==r&&r,u=e.withHeartbeats,p=void 0!==u&&u;this._config.subscribeKey&&""!==this._config.subscribeKey?(n&&(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=n),"0"!==this._currentTimetoken&&0!==this._currentTimetoken&&(this._storedTimetoken=this._currentTimetoken,this._currentTimetoken=0),a.forEach((function(e){t._channels[e]={state:{}},c&&(t._presenceChannels[e]={}),(p||t._config.getHeartbeatInterval())&&(t._heartbeatChannels[e]={}),t._pendingChannelSubscriptions.push(e)})),s.forEach((function(e){t._channelGroups[e]={state:{}},c&&(t._presenceChannelGroups[e]={}),(p||t._config.getHeartbeatInterval())&&(t._heartbeatChannelGroups[e]={}),t._pendingChannelGroupSubscriptions.push(e)})),this._subscriptionStatusAnnounced=!1,this.reconnect()):console&&console.log&&console.log("subscribe key missing; aborting subscribe")}},{key:"adaptUnsubscribeChange",value:function(e,t){var n=this,i=e.channels,a=void 0===i?[]:i,o=e.channelGroups,s=void 0===o?[]:o,r=[],c=[];a.forEach((function(e){e in n._channels&&(delete n._channels[e],r.push(e),e in n._heartbeatChannels&&delete n._heartbeatChannels[e]),e in n._presenceChannels&&(delete n._presenceChannels[e],r.push(e))})),s.forEach((function(e){e in n._channelGroups&&(delete n._channelGroups[e],c.push(e),e in n._heartbeatChannelGroups&&delete n._heartbeatChannelGroups[e]),e in n._presenceChannelGroups&&(delete n._channelGroups[e],c.push(e))})),0===r.length&&0===c.length||(!1!==this._config.suppressLeaveEvents||t||this._leaveEndpoint({channels:r,channelGroups:c},(function(e){e.affectedChannels=r,e.affectedChannelGroups=c,e.currentTimetoken=n._currentTimetoken,e.lastTimetoken=n._lastTimetoken,n._listenerManager.announceStatus(e)})),0===Object.keys(this._channels).length&&0===Object.keys(this._presenceChannels).length&&0===Object.keys(this._channelGroups).length&&0===Object.keys(this._presenceChannelGroups).length&&(this._lastTimetoken=0,this._currentTimetoken=0,this._storedTimetoken=null,this._region=null,this._reconnectionManager.stopPolling()),this.reconnect())}},{key:"unsubscribeAll",value:function(e){this.adaptUnsubscribeChange({channels:this.getSubscribedChannels(),channelGroups:this.getSubscribedChannelGroups()},e)}},{key:"getHeartbeatChannels",value:function(){return Object.keys(this._heartbeatChannels)}},{key:"getHeartbeatChannelGroups",value:function(){return Object.keys(this._heartbeatChannelGroups)}},{key:"getSubscribedChannels",value:function(){return Object.keys(this._channels)}},{key:"getSubscribedChannelGroups",value:function(){return Object.keys(this._channelGroups)}},{key:"reconnect",value:function(){this._startSubscribeLoop(),this._registerHeartbeatTimer()}},{key:"disconnect",value:function(){this._stopSubscribeLoop(),this._stopHeartbeatTimer(),this._reconnectionManager.stopPolling()}},{key:"_registerHeartbeatTimer",value:function(){this._stopHeartbeatTimer(),0!==this._config.getHeartbeatInterval()&&void 0!==this._config.getHeartbeatInterval()&&(this._performHeartbeatLoop(),this._heartbeatTimer=setInterval(this._performHeartbeatLoop.bind(this),1e3*this._config.getHeartbeatInterval()))}},{key:"_stopHeartbeatTimer",value:function(){this._heartbeatTimer&&(clearInterval(this._heartbeatTimer),this._heartbeatTimer=null)}},{key:"_performHeartbeatLoop",value:function(){var e=this,t=this.getHeartbeatChannels(),n=this.getHeartbeatChannelGroups(),i={};if(0!==t.length||0!==n.length){this.getSubscribedChannels().forEach((function(t){var n=e._channels[t].state;Object.keys(n).length&&(i[t]=n)})),this.getSubscribedChannelGroups().forEach((function(t){var n=e._channelGroups[t].state;Object.keys(n).length&&(i[t]=n)}));this._heartbeatEndpoint({channels:t,channelGroups:n,state:i},function(t){t.error&&e._config.announceFailedHeartbeats&&e._listenerManager.announceStatus(t),t.error&&e._config.autoNetworkDetection&&e._isOnline&&(e._isOnline=!1,e.disconnect(),e._listenerManager.announceNetworkDown(),e.reconnect()),!t.error&&e._config.announceSuccessfulHeartbeats&&e._listenerManager.announceStatus(t)}.bind(this))}}},{key:"_startSubscribeLoop",value:function(){var e=this;this._stopSubscribeLoop();var t={},n=[],i=[];if(Object.keys(this._channels).forEach((function(i){var a=e._channels[i].state;Object.keys(a).length&&(t[i]=a),n.push(i)})),Object.keys(this._presenceChannels).forEach((function(e){n.push("".concat(e,"-pnpres"))})),Object.keys(this._channelGroups).forEach((function(n){var a=e._channelGroups[n].state;Object.keys(a).length&&(t[n]=a),i.push(n)})),Object.keys(this._presenceChannelGroups).forEach((function(e){i.push("".concat(e,"-pnpres"))})),0!==n.length||0!==i.length){var a={channels:n,channelGroups:i,state:t,timetoken:this._currentTimetoken,filterExpression:this._config.filterExpression,region:this._region};this._subscribeCall=this._subscribeEndpoint(a,this._processSubscribeResponse.bind(this))}}},{key:"_processSubscribeResponse",value:function(e,t){var n=this;if(e.error)e.category===l.default.PNTimeoutCategory?this._startSubscribeLoop():e.category===l.default.PNNetworkIssuesCategory?(this.disconnect(),e.error&&this._config.autoNetworkDetection&&this._isOnline&&(this._isOnline=!1,this._listenerManager.announceNetworkDown()),this._reconnectionManager.onReconnection((function(){n._config.autoNetworkDetection&&!n._isOnline&&(n._isOnline=!0,n._listenerManager.announceNetworkUp()),n.reconnect(),n._subscriptionStatusAnnounced=!0;var t={category:l.default.PNReconnectedCategory,operation:e.operation,lastTimetoken:n._lastTimetoken,currentTimetoken:n._currentTimetoken};n._listenerManager.announceStatus(t)})),this._reconnectionManager.startPolling(),this._listenerManager.announceStatus(e)):e.category===l.default.PNBadRequestCategory?(this._stopHeartbeatTimer(),this._listenerManager.announceStatus(e)):this._listenerManager.announceStatus(e);else{if(this._storedTimetoken?(this._currentTimetoken=this._storedTimetoken,this._storedTimetoken=null):(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=t.metadata.timetoken),!this._subscriptionStatusAnnounced){var i={};i.category=l.default.PNConnectedCategory,i.operation=e.operation,i.affectedChannels=this._pendingChannelSubscriptions,i.subscribedChannels=this.getSubscribedChannels(),i.affectedChannelGroups=this._pendingChannelGroupSubscriptions,i.lastTimetoken=this._lastTimetoken,i.currentTimetoken=this._currentTimetoken,this._subscriptionStatusAnnounced=!0,this._listenerManager.announceStatus(i),this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[]}var o=t.messages||[],s=this._config,r=s.requestMessageCountThreshold,c=s.dedupeOnSubscribe;if(r&&o.length>=r){var u={};u.category=l.default.PNRequestMessageCountExceededCategory,u.operation=e.operation,this._listenerManager.announceStatus(u)}o.forEach((function(e){var t=e.channel,i=e.subscriptionMatch,o=e.publishMetaData;if(t===i&&(i=null),c){if(n._dedupingManager.isDuplicate(e))return;n._dedupingManager.addEntry(e)}if(p.default.endsWith(e.channel,"-pnpres")){var s={channel:null,subscription:null};s.actualChannel=null!=i?t:null,s.subscribedChannel=null!=i?i:t,t&&(s.channel=t.substring(0,t.lastIndexOf("-pnpres"))),i&&(s.subscription=i.substring(0,i.lastIndexOf("-pnpres"))),s.action=e.payload.action,s.state=e.payload.data,s.timetoken=o.publishTimetoken,s.occupancy=e.payload.occupancy,s.uuid=e.payload.uuid,s.timestamp=e.payload.timestamp,e.payload.join&&(s.join=e.payload.join),e.payload.leave&&(s.leave=e.payload.leave),e.payload.timeout&&(s.timeout=e.payload.timeout),n._listenerManager.announcePresence(s)}else if(1===e.messageType){var r={channel:null,subscription:null};r.channel=t,r.subscription=i,r.timetoken=o.publishTimetoken,r.publisher=e.issuingClientId,e.userMetadata&&(r.userMetadata=e.userMetadata),r.message=e.payload,n._listenerManager.announceSignal(r)}else if(2===e.messageType){var u={channel:null,subscription:null};u.channel=t,u.subscription=i,u.timetoken=o.publishTimetoken,u.publisher=e.issuingClientId,e.userMetadata&&(u.userMetadata=e.userMetadata),u.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},n._listenerManager.announceObjects(u),"user"===e.payload.type?n._listenerManager.announceUser(u):"space"===e.payload.type?n._listenerManager.announceSpace(u):"membership"===e.payload.type&&n._listenerManager.announceMembership(u)}else if(3===e.messageType){var l={};l.channel=t,l.subscription=i,l.timetoken=o.publishTimetoken,l.publisher=e.issuingClientId,l.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},l.event=e.payload.event,n._listenerManager.announceMessageAction(l)}else if(4===e.messageType){var d={};d.channel=t,d.subscription=i,d.timetoken=o.publishTimetoken,d.publisher=e.issuingClientId;var f=e.payload;if(n._config.cipherKey){var m=n._crypto.decrypt(e.payload);"object"===(0,a.default)(m)&&null!==m&&(f=m)}d.message=f.message,d.file={id:f.file.id,name:f.file.name,url:n._getFileUrl({id:f.file.id,name:f.file.name,channel:t})},n._listenerManager.announceFile(d)}else{var h={channel:null,subscription:null};h.actualChannel=null!=i?t:null,h.subscribedChannel=null!=i?i:t,h.channel=t,h.subscription=i,h.timetoken=o.publishTimetoken,h.publisher=e.issuingClientId,e.userMetadata&&(h.userMetadata=e.userMetadata),n._config.cipherKey?h.message=n._crypto.decrypt(e.payload):h.message=e.payload,n._listenerManager.announceMessage(h)}})),this._region=t.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}]),e}();t.default=d,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(5)),o=i(n(6)),s=i(n(4)),r=(i(n(24)),n(2),function(){function e(t){var n=t.timeEndpoint;(0,a.default)(this,e),(0,s.default)(this,"_reconnectionCallback",void 0),(0,s.default)(this,"_timeEndpoint",void 0),(0,s.default)(this,"_timeTimer",void 0),this._timeEndpoint=n}return(0,o.default)(e,[{key:"onReconnection",value:function(e){this._reconnectionCallback=e}},{key:"startPolling",value:function(){this._timeTimer=setInterval(this._performTimeLoop.bind(this),3e3)}},{key:"stopPolling",value:function(){clearInterval(this._timeTimer)}},{key:"_performTimeLoop",value:function(){var e=this;this._timeEndpoint((function(t){t.error||(clearInterval(e._timeTimer),e._reconnectionCallback())}))}}]),e}());t.default=r,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(5)),o=i(n(6)),s=i(n(4)),r=(i(n(8)),n(2),function(){function e(t){var n=t.config;(0,a.default)(this,e),(0,s.default)(this,"_config",void 0),(0,s.default)(this,"hashHistory",void 0),this.hashHistory=[],this._config=n}return(0,o.default)(e,[{key:"getKey",value:function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var n=0;n=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}]),e}());t.default=r,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(5)),o=i(n(6)),s=i(n(4)),r=i(n(1)),c=function(){function e(t){(0,a.default)(this,e),(0,s.default)(this,"_maximumSamplesCount",100),(0,s.default)(this,"_trackedLatencies",{}),(0,s.default)(this,"_latencies",{}),this._maximumSamplesCount=t.maximumSamplesCount||this._maximumSamplesCount}return(0,o.default)(e,[{key:"operationsLatencyForRequest",value:function(){var e=this,t={};return Object.keys(this._latencies).forEach((function(n){var i=e._latencies[n],a=e._averageLatency(i);a>0&&(t["l_".concat(n)]=a)})),t}},{key:"startLatencyMeasure",value:function(e,t){e!==r.default.PNSubscribeOperation&&t&&(this._trackedLatencies[t]=Date.now())}},{key:"stopLatencyMeasure",value:function(e,t){if(e!==r.default.PNSubscribeOperation&&t){var n=this._endpointName(e),i=this._latencies[n],a=this._trackedLatencies[t];i||(i=this._latencies[n]=[]),i.push(Date.now()-a),i.length>this._maximumSamplesCount&&i.splice(0,i.length-this._maximumSamplesCount),delete this._trackedLatencies[t]}}},{key:"_averageLatency",value:function(e){return Math.floor(e.reduce((function(e,t){return e+t}),0)/e.length)}},{key:"_endpointName",value:function(e){var t=null;switch(e){case r.default.PNPublishOperation:t="pub";break;case r.default.PNSignalOperation:t="sig";break;case r.default.PNHistoryOperation:case r.default.PNFetchMessagesOperation:case r.default.PNDeleteMessagesOperation:case r.default.PNMessageCounts:t="hist";break;case r.default.PNUnsubscribeOperation:case r.default.PNWhereNowOperation:case r.default.PNHereNowOperation:case r.default.PNHeartbeatOperation:case r.default.PNSetStateOperation:case r.default.PNGetStateOperation:t="pres";break;case r.default.PNAddChannelsToGroupOperation:case r.default.PNRemoveChannelsFromGroupOperation:case r.default.PNChannelGroupsOperation:case r.default.PNRemoveGroupOperation:case r.default.PNChannelsForGroupOperation:t="cg";break;case r.default.PNPushNotificationEnabledChannelsOperation:case r.default.PNRemoveAllPushNotificationsOperation:t="push";break;case r.default.PNCreateUserOperation:case r.default.PNUpdateUserOperation:case r.default.PNDeleteUserOperation:case r.default.PNGetUserOperation:case r.default.PNGetUsersOperation:case r.default.PNCreateSpaceOperation:case r.default.PNUpdateSpaceOperation:case r.default.PNDeleteSpaceOperation:case r.default.PNGetSpaceOperation:case r.default.PNGetSpacesOperation:case r.default.PNGetMembersOperation:case r.default.PNUpdateMembersOperation:case r.default.PNGetMembershipsOperation:case r.default.PNUpdateMembershipsOperation:t="obj";break;case r.default.PNAddMessageActionOperation:case r.default.PNRemoveMessageActionOperation:case r.default.PNGetMessageActionsOperation:t="msga";break;case r.default.PNAccessManagerGrant:case r.default.PNAccessManagerAudit:t="pam";break;case r.default.PNAccessManagerGrantToken:t="pam3";break;default:t="time"}return t}}]),e}();t.default=c,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FCMNotificationPayload=t.MPNSNotificationPayload=t.APNSNotificationPayload=void 0;var a=i(n(42)),o=i(n(19)),s=i(n(14)),r=i(n(16)),c=i(n(12)),u=i(n(5)),p=i(n(6)),l=i(n(4));n(2);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function f(e){for(var t=1;t2){var i=this._payload,o=(i.notification,i.data,(0,a.default)(i,["notification","data"]));e=f(f({},e),o)}return this._isSilent?e.notification=this._payload.notification:t=this._payload.notification,Object.keys(e).length&&(n.data=e),t&&Object.keys(t).length&&(n.notification=t),Object.keys(n).length?n:null}},{key:"notification",get:function(){return this._payload.notification}},{key:"data",get:function(){return this._payload.data}},{key:"title",get:function(){return this._title},set:function(e){e&&e.length&&(this._payload.notification.title=e,this._title=e)}},{key:"body",get:function(){return this._body},set:function(e){e&&e.length&&(this._payload.notification.body=e,this._body=e)}},{key:"sound",get:function(){return this._sound},set:function(e){e&&e.length&&(this._payload.notification.sound=e,this._sound=e)}},{key:"icon",get:function(){return this._icon},set:function(e){e&&e.length&&(this._payload.notification.icon=e,this._icon=e)}},{key:"tag",get:function(){return this._tag},set:function(e){e&&e.length&&(this._payload.notification.tag=e,this._tag=e)}},{key:"silent",set:function(e){this._isSilent=e}}]),n}(h);t.FCMNotificationPayload=b;var x=function(){function e(t,n){(0,u.default)(this,e),(0,l.default)(this,"_payload",void 0),(0,l.default)(this,"_debugging",void 0),(0,l.default)(this,"_subtitle",void 0),(0,l.default)(this,"_badge",void 0),(0,l.default)(this,"_sound",void 0),(0,l.default)(this,"_title",void 0),(0,l.default)(this,"_body",void 0),(0,l.default)(this,"apns",void 0),(0,l.default)(this,"mpns",void 0),(0,l.default)(this,"fcm",void 0),this._payload={apns:{},mpns:{},fcm:{}},this._title=t,this._body=n,this.apns=new v(this._payload.apns,t,n),this.mpns=new g(this._payload.mpns,t,n),this.fcm=new b(this._payload.fcm,t,n)}return(0,p.default)(e,[{key:"debugging",set:function(e){this._debugging=e}},{key:"title",get:function(){return this._title}},{key:"body",get:function(){return this._body}},{key:"subtitle",get:function(){return this._subtitle},set:function(e){this._subtitle=e,this.apns.subtitle=e,this.mpns.subtitle=e,this.fcm.subtitle=e}},{key:"badge",get:function(){return this._badge},set:function(e){this._badge=e,this.apns.badge=e,this.mpns.badge=e,this.fcm.badge=e}},{key:"sound",get:function(){return this._sound},set:function(e){this._sound=e,this.apns.sound=e,this.mpns.sound=e,this.fcm.sound=e}}]),(0,p.default)(e,[{key:"buildPayload",value:function(e){var t={};if(e.includes("apns")||e.includes("apns2")){this.apns._apnsPushType=e.includes("apns")?"apns":"apns2";var n=this.apns.toObject();n&&Object.keys(n).length&&(t.pn_apns=n)}if(e.includes("mpns")){var i=this.mpns.toObject();i&&Object.keys(i).length&&(t.pn_mpns=i)}if(e.includes("fcm")){var a=this.fcm.toObject();a&&Object.keys(a).length&&(t.pn_gcm=a)}return Object.keys(t).length&&this._debugging&&(t.pn_debug=!0),t}}]),e}();t.default=x},function(e,t,n){var i=n(43);e.exports=function(e,t){if(null==e)return{};var n,a,o=i(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,i,a={},o=Object.keys(e);for(i=0;i=0||(a[n]=e[n]);return a}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(7)),o=i(n(5)),s=i(n(6)),r=i(n(4)),c=(i(n(8)),n(2),function(){function e(t,n){(0,o.default)(this,e),(0,r.default)(this,"_config",void 0),(0,r.default)(this,"_cbor",void 0),(0,r.default)(this,"_userTokens",void 0),(0,r.default)(this,"_spaceTokens",void 0),(0,r.default)(this,"_userToken",void 0),(0,r.default)(this,"_spaceToken",void 0),this._config=t,this._cbor=n,this._initializeTokens()}return(0,s.default)(e,[{key:"_initializeTokens",value:function(){this._userTokens={},this._spaceTokens={},this._userToken=void 0,this._spaceToken=void 0}},{key:"_setToken",value:function(e){var t=this,n=this.parseToken(e);n&&n.resources&&(n.resources.users&&Object.keys(n.resources.users).forEach((function(n){t._userTokens[n]=e})),n.resources.spaces&&Object.keys(n.resources.spaces).forEach((function(n){t._spaceTokens[n]=e}))),n&&n.patterns&&(n.patterns.users&&Object.keys(n.patterns.users).length>0&&(this._userToken=e),n.patterns.spaces&&Object.keys(n.patterns.spaces).length>0&&(this._spaceToken=e))}},{key:"setToken",value:function(e){e&&e.length>0&&this._setToken(e)}},{key:"setTokens",value:function(e){var t=this;e&&e.length&&"object"===(0,a.default)(e)&&e.forEach((function(e){t.setToken(e)}))}},{key:"getTokens",value:function(e){var t=this,n={users:{},spaces:{}};return e?(e.user&&(n.user=this._userToken),e.space&&(n.space=this._spaceToken),e.users&&e.users.forEach((function(e){n.users[e]=t._userTokens[e]})),e.space&&e.spaces.forEach((function(e){n.spaces[e]=t._spaceTokens[e]}))):(this._userToken&&(n.user=this._userToken),this._spaceToken&&(n.space=this._spaceToken),Object.keys(this._userTokens).forEach((function(e){n.users[e]=t._userTokens[e]})),Object.keys(this._spaceTokens).forEach((function(e){n.spaces[e]=t._spaceTokens[e]}))),n}},{key:"getToken",value:function(e,t){var n;return t?"user"===e?n=this._userTokens[t]:"space"===e&&(n=this._spaceTokens[t]):"user"===e?n=this._userToken:"space"===e&&(n=this._spaceToken),n}},{key:"extractPermissions",value:function(e){var t={create:!1,read:!1,write:!1,manage:!1,delete:!1};return 16==(16&e)&&(t.create=!0),8==(8&e)&&(t.delete=!0),4==(4&e)&&(t.manage=!0),2==(2&e)&&(t.write=!0),1==(1&e)&&(t.read=!0),t}},{key:"parseToken",value:function(e){var t=this,n=this._cbor.decodeToken(e);if(void 0!==n){var i=Object.keys(n.res.usr),a=Object.keys(n.res.spc),o=Object.keys(n.pat.usr),s=Object.keys(n.pat.spc),r={version:n.v,timestamp:n.t,ttl:n.ttl},c=i.length>0,u=a.length>0;(c||u)&&(r.resources={},c&&(r.resources.users={},i.forEach((function(e){r.resources.users[e]=t.extractPermissions(n.res.usr[e])}))),u&&(r.resources.spaces={},a.forEach((function(e){r.resources.spaces[e]=t.extractPermissions(n.res.spc[e])}))));var p=o.length>0,l=s.length>0;return(p||l)&&(r.patterns={},p&&(r.patterns.users={},o.forEach((function(e){r.patterns.users[e]=t.extractPermissions(n.pat.usr[e])}))),l&&(r.patterns.spaces={},s.forEach((function(e){r.patterns.spaces[e]=t.extractPermissions(n.pat.spc[e])})))),Object.keys(n.meta).length>0&&(r.meta=n.meta),r.signature=n.sig,r}}},{key:"clearTokens",value:function(){this._initializeTokens()}}]),e}());t.default=c,e.exports=t.default},function(e,t,n){var i=n(12),a=n(15),o=n(46),s=n(47);function r(t){var n="function"==typeof Map?new Map:void 0;return e.exports=r=function(e){if(null===e||!o(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return s(e,arguments,i(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),a(t,e)},r(t)}e.exports=r},function(e,t){e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}},function(e,t,n){var i=n(15),a=n(48);function o(t,n,s){return a()?e.exports=o=Reflect.construct:e.exports=o=function(e,t,n){var a=[null];a.push.apply(a,t);var o=new(Function.bind.apply(e,a));return n&&i(o,n.prototype),o},o.apply(null,arguments)}e.exports=o},function(e,t){e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNAddChannelsToGroupOperation},t.validateParams=function(e,t){var n=t.channels,i=t.channelGroup,a=e.config;if(!i)return"Missing Channel Group";if(!n||0===n.length)return"Missing Channels";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,i=e.config;return"/v1/channel-registration/sub-key/".concat(i.subscribeKey,"/channel-group/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channels;return{add:(void 0===n?[]:n).join(",")}},t.handleResponse=function(){return{}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNRemoveChannelsFromGroupOperation},t.validateParams=function(e,t){var n=t.channels,i=t.channelGroup,a=e.config;if(!i)return"Missing Channel Group";if(!n||0===n.length)return"Missing Channels";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,i=e.config;return"/v1/channel-registration/sub-key/".concat(i.subscribeKey,"/channel-group/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channels;return{remove:(void 0===n?[]:n).join(",")}},t.handleResponse=function(){return{}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNRemoveGroupOperation},t.validateParams=function(e,t){var n=t.channelGroup,i=e.config;if(!n)return"Missing Channel Group";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,i=e.config;return"/v1/channel-registration/sub-key/".concat(i.subscribeKey,"/channel-group/").concat(o.default.encodeString(n),"/remove")},t.isAuthSupported=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(){return{}},t.handleResponse=function(){return{}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNChannelGroupsOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e){var t=e.config;return"/v1/channel-registration/sub-key/".concat(t.subscribeKey,"/channel-group")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{groups:t.payload.groups}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNChannelsForGroupOperation},t.validateParams=function(e,t){var n=t.channelGroup,i=e.config;if(!n)return"Missing Channel Group";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,i=e.config;return"/v1/channel-registration/sub-key/".concat(i.subscribeKey,"/channel-group/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{channels:t.payload.channels}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,i=t.pushGateway,a=t.channels,o=t.topic,s=e.config;if(!n)return"Missing Device ID (device)";if(!i)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===i&&!o)return"Missing APNS2 topic";if(!a||0===a.length)return"Missing Channels";if(!s.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,i=t.pushGateway,a=e.config;if("apns2"===i)return"/v2/push/sub-key/".concat(a.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(a.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,i=t.channels,a=void 0===i?[]:i,o=t.environment,s=void 0===o?"development":o,r=t.topic,c={type:n,add:a.join(",")};"apns2"===n&&delete(c=Object.assign({},c,{environment:s,topic:r})).type;return c},t.handleResponse=function(){return{}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,i=t.pushGateway,a=t.channels,o=t.topic,s=e.config;if(!n)return"Missing Device ID (device)";if(!i)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===i&&!o)return"Missing APNS2 topic";if(!a||0===a.length)return"Missing Channels";if(!s.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,i=t.pushGateway,a=e.config;if("apns2"===i)return"/v2/push/sub-key/".concat(a.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(a.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,i=t.channels,a=void 0===i?[]:i,o=t.environment,s=void 0===o?"development":o,r=t.topic,c={type:n,remove:a.join(",")};"apns2"===n&&delete(c=Object.assign({},c,{environment:s,topic:r})).type;return c},t.handleResponse=function(){return{}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,i=t.pushGateway,a=t.topic,o=e.config;if(!n)return"Missing Device ID (device)";if(!i)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===i&&!a)return"Missing APNS2 topic";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,i=t.pushGateway,a=e.config;if("apns2"===i)return"/v2/push/sub-key/".concat(a.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(a.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,i=t.environment,a=void 0===i?"development":i,o=t.topic,s={type:n};"apns2"===n&&delete(s=Object.assign({},s,{environment:a,topic:o})).type;return s},t.handleResponse=function(e,t){return{channels:t}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNRemoveAllPushNotificationsOperation},t.validateParams=function(e,t){var n=t.device,i=t.pushGateway,a=t.topic,o=e.config;if(!n)return"Missing Device ID (device)";if(!i)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===i&&!a)return"Missing APNS2 topic";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,i=t.pushGateway,a=e.config;if("apns2"===i)return"/v2/push/sub-key/".concat(a.subscribeKey,"/devices-apns2/").concat(n,"/remove");return"/v1/push/sub-key/".concat(a.subscribeKey,"/devices/").concat(n,"/remove")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,i=t.environment,a=void 0===i?"development":i,o=t.topic,s={type:n};"apns2"===n&&delete(s=Object.assign({},s,{environment:a,topic:o})).type;return s},t.handleResponse=function(){return{}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUnsubscribeOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,i=t.channels,a=void 0===i?[]:i,s=a.length>0?a.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(o.default.encodeString(s),"/leave")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,a={};i.length>0&&(a["channel-group"]=i.join(","));return a},t.handleResponse=function(){return{}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNWhereNowOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,i=t.uuid,a=void 0===i?n.UUID:i;return"/v2/presence/sub-key/".concat(n.subscribeKey,"/uuid/").concat(a)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){if(!t.payload)return{channels:[]};return{channels:t.payload.channels}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNHeartbeatOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,i=t.channels,a=void 0===i?[]:i,s=a.length>0?a.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(o.default.encodeString(s),"/heartbeat")},t.isAuthSupported=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,a=t.state,o=void 0===a?{}:a,s=e.config,r={};i.length>0&&(r["channel-group"]=i.join(","));return r.state=JSON.stringify(o),r.heartbeat=s.getPresenceTimeout(),r},t.handleResponse=function(){return{}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNGetStateOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,i=t.uuid,a=void 0===i?n.UUID:i,s=t.channels,r=void 0===s?[]:s,c=r.length>0?r.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(o.default.encodeString(c),"/uuid/").concat(a)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,a={};i.length>0&&(a["channel-group"]=i.join(","));return a},t.handleResponse=function(e,t,n){var i=n.channels,a=void 0===i?[]:i,o=n.channelGroups,s=void 0===o?[]:o,r={};1===a.length&&0===s.length?r[a[0]]=t.payload:r=t.payload;return{channels:r}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNSetStateOperation},t.validateParams=function(e,t){var n=e.config,i=t.state,a=t.channels,o=void 0===a?[]:a,s=t.channelGroups,r=void 0===s?[]:s;if(!i)return"Missing State";if(!n.subscribeKey)return"Missing Subscribe Key";if(0===o.length&&0===r.length)return"Please provide a list of channels and/or channel-groups"},t.getURL=function(e,t){var n=e.config,i=t.channels,a=void 0===i?[]:i,s=a.length>0?a.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(o.default.encodeString(s),"/uuid/").concat(n.UUID,"/data")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.state,i=t.channelGroups,a=void 0===i?[]:i,o={};o.state=JSON.stringify(n),a.length>0&&(o["channel-group"]=a.join(","));return o},t.handleResponse=function(e,t){return{state:t.payload}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return o.default.PNHereNowOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,i=t.channels,a=void 0===i?[]:i,o=t.channelGroups,r=void 0===o?[]:o,c="/v2/presence/sub-key/".concat(n.subscribeKey);if(a.length>0||r.length>0){var u=a.length>0?a.join(","):",";c+="/channel/".concat(s.default.encodeString(u))}return c},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,i=void 0===n?[]:n,a=t.includeUUIDs,o=void 0===a||a,s=t.includeState,r=void 0!==s&&s,u=t.queryParameters,p=void 0===u?{}:u,l={};o||(l.disable_uuids=1);r&&(l.state=1);i.length>0&&(l["channel-group"]=i.join(","));return l=c(c({},l),p)},t.handleResponse=function(e,t,n){var i,a=n.channels,o=void 0===a?[]:a,s=n.channelGroups,r=void 0===s?[]:s,c=n.includeUUIDs,u=void 0===c||c,p=n.includeState,l=void 0!==p&&p;i=o.length>1||r.length>0||0===r.length&&0===o.length?function(){var e={};return e.totalChannels=t.payload.total_channels,e.totalOccupancy=t.payload.total_occupancy,e.channels={},Object.keys(t.payload.channels).forEach((function(n){var i=t.payload.channels[n],a=[];return e.channels[n]={occupants:a,name:n,occupancy:i.occupancy},u&&i.uuids.forEach((function(e){l?a.push({state:e.state,uuid:e.uuid}):a.push({state:null,uuid:e})})),e})),e}():function(){var e={},n=[];return e.totalChannels=1,e.totalOccupancy=t.occupancy,e.channels={},e.channels[o[0]]={occupants:n,name:o[0],occupancy:t.occupancy},u&&t.uuids&&t.uuids.forEach((function(e){l?n.push({state:e.state,uuid:e.uuid}):n.push({state:null,uuid:e})})),e}();return i};var a=i(n(4)),o=(n(2),i(n(1))),s=i(n(3));function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function c(e){for(var t=1;t15)return"Action.type value exceed maximum length of 15"},t.usePost=function(){return!0},t.postURL=function(e,t){var n=e.config,i=t.channel,a=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(i,"/message/").concat(a)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.getRequestHeaders=function(){return{"Content-Type":"application/json"}},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.postPayload=function(e,t){return t.action},t.handleResponse=function(e,t){return{data:t.data}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNRemoveMessageActionOperation},t.validateParams=function(e,t){var n=e.config,i=t.channel,a=t.actionTimetoken;if(!t.messageTimetoken)return"Missing message timetoken";if(!a)return"Missing action timetoken";if(!n.subscribeKey)return"Missing Subscribe Key";if(!i)return"Missing message channel"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config,i=t.channel,a=t.actionTimetoken,o=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(i,"/message/").concat(o,"/action/").concat(a)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{data:t.data}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNGetMessageActionsOperation},t.validateParams=function(e,t){var n=e.config,i=t.channel;if(!n.subscribeKey)return"Missing Subscribe Key";if(!i)return"Missing message channel"},t.getURL=function(e,t){var n=e.config,i=t.channel;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.limit,i=t.start,a=t.end,o={};n&&(o.limit=n);i&&(o.start=i);a&&(o.end=a);return o},t.handleResponse=function(e,t){var n={data:t.data,start:null,end:null};n.data.length&&(n.end=n.data[n.data.length-1].actionTimetoken,n.start=n.data[0].actionTimetoken);return n};n(2);var a=i(n(1))},function(e,t,n){},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(1)),o={getOperation:function(){return a.default.PNListFilesOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channel))return"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status,data:t.data}}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(1)),o={getOperation:function(){return a.default.PNGenerateUploadUrlOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?void 0:"name can't be empty":"channel can't be empty"},usePost:function(){return!0},postURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/generate-upload-url")},postPayload:function(e,t){return{name:t.name}},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status,data:t.data,file_upload_request:t.file_upload_request}}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(7)),o=i(n(1)),s=i(n(3)),r={getOperation:function(){return o.default.PNPublishFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.fileId)?(null==t?void 0:t.fileName)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config,i=n.publishKey,a=n.subscribeKey,o=function(e,t){var n=e.crypto,i=e.config,a=JSON.stringify(t);return i.cipherKey&&(a=n.encrypt(a),a=JSON.stringify(a)),a||""}(e,{message:t.message,file:{name:t.fileName,id:t.fileId}});return"/v1/files/publish-file/".concat(i,"/").concat(a,"/0/").concat(t.channel,"/0/").concat(s.default.encodeString(o))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(e,t){var n={};return t.ttl&&(n.ttl=t.ttl),t.store&&(n.store=t.store?"1":"0"),t.meta&&"object"===(0,a.default)(t.meta)&&(n.meta=JSON.stringify(t.meta)),n},handleResponse:function(e,t){return{timetoken:t[2]}}};t.default=r,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(10)),o=i(n(11)),s=n(18);t.default=function(e){var t,n,i,r,c,u,p,l,d,f=(i=(t=e).generateUploadUrl,r=t.publishFile,c=t.modules,u=c.PubNubFile,p=c.config,l=c.cryptography,d=c.networking,n=(0,o.default)(a.default.mark((function e(t){var n,o,c,f,m,h,v,g,b,x,y,k,_,w,P,T,O,j,S;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.channel,o=t.file,c=t.message,f=t.cipherKey,m=t.meta,h=t.ttl,v=t.store,n){e.next=3;break}throw new s.PubNubError("Validation failed, check status for details",(0,s.createValidationError)("channel can't be empty"));case 3:if(o){e.next=5;break}throw new s.PubNubError("Validation failed, check status for details",(0,s.createValidationError)("file can't be empty"));case 5:return g=u.create(o),e.next=8,i({channel:n,name:g.name});case 8:if(b=e.sent,x=b.file_upload_request,y=x.url,k=x.form_fields,_=b.data,w=_.id,P=_.name,!(null!=f?f:p.cipherKey)){e.next=19;break}return e.next=18,l.encryptFile(null!=f?f:p.cipherKey,g,u);case 18:g=e.sent;case 19:if(T=k,g.mimeType&&(T=k.map((function(e){var t;return"Content-Type"===e.key?{key:e.key,value:null!==(t=g.mimeType)&&void 0!==t?t:""}:e}))),e.prev=21,"undefined"==typeof Blob){e.next=34;break}return e.t0=d,e.t1=y,e.t2=T,e.next=28,g.toFile();case 28:return e.t3=e.sent,e.next=31,e.t0.FILE.call(e.t0,e.t1,e.t2,e.t3);case 31:O=e.sent,e.next=43;break;case 34:return e.t4=d,e.t5=y,e.t6=T,e.next=39,g.toBuffer();case 39:return e.t7=e.sent,e.next=42,e.t4.FILE.call(e.t4,e.t5,e.t6,e.t7);case 42:O=e.sent;case 43:e.next=48;break;case 45:throw e.prev=45,e.t8=e.catch(21),new s.PubNubError("Upload to bucket failed",e.t8);case 48:if(204===O.status){e.next=50;break}throw new s.PubNubError("Upload to bucket was unsuccessful",O);case 50:j=5,S=!1;case 52:if(S||!(j>0)){e.next=64;break}return e.prev=53,e.next=56,r({channel:n,message:c,fileId:w,fileName:P,meta:m,store:v,ttl:h});case 56:S=!0,e.next=62;break;case 59:e.prev=59,e.t9=e.catch(53),j-=1;case 62:e.next=52;break;case 64:if(S){e.next=68;break}throw new s.PubNubError("Publish failed. You may want to execute that operation manually using pubnub.publishFile",{channel:n,id:w,name:P});case 68:return e.abrupt("return",{id:w,name:P});case 69:case"end":return e.stop()}}),e,null,[[21,45],[53,59]])}))),function(e){return n.apply(this,arguments)});return function(e,t){var n=f(e);return"function"==typeof t?(n.then((function(e){return t(null,e)})).catch((function(e){return t(e,null)})),n):n}},e.exports=t.default},function(e,t,n){var i=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function r(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{r({},"")}catch(e){r=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var a=t&&t.prototype instanceof l?t:l,o=Object.create(a.prototype),s=new w(i||[]);return o._invoke=function(e,t,n){var i="suspendedStart";return function(a,o){if("executing"===i)throw new Error("Generator is already running");if("completed"===i){if("throw"===a)throw o;return T()}for(n.method=a,n.arg=o;;){var s=n.delegate;if(s){var r=y(s,n);if(r){if(r===p)continue;return r}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===i)throw i="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i="executing";var c=u(e,t,n);if("normal"===c.type){if(i=n.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(i="completed",n.method="throw",n.arg=c.arg)}}}(e,n,s),o}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var p={};function l(){}function d(){}function f(){}var m={};m[a]=function(){return this};var h=Object.getPrototypeOf,v=h&&h(h(P([])));v&&v!==t&&n.call(v,a)&&(m=v);var g=f.prototype=l.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){r(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){var i;this._invoke=function(a,o){function s(){return new t((function(i,s){!function i(a,o,s,r){var c=u(e[a],e,o);if("throw"!==c.type){var p=c.arg,l=p.value;return l&&"object"==typeof l&&n.call(l,"__await")?t.resolve(l.__await).then((function(e){i("next",e,s,r)}),(function(e){i("throw",e,s,r)})):t.resolve(l).then((function(e){p.value=e,s(p)}),(function(e){return i("throw",e,s,r)}))}r(c.arg)}(a,o,i,s)}))}return i=i?i.then(s,s):s()}}function y(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,y(e,t),"throw"===t.method))return p;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var i=u(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,p;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function P(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,o=function t(){for(;++i=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var r=n.call(o,"catchLoc"),c=n.call(o,"finallyLoc");if(r&&c){if(this.prev=0;--i){var a=this.tryEntries[i];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var i=n.completion;if("throw"===i.type){var a=i.arg;_(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:P(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},e}(e.exports);try{regeneratorRuntime=i}catch(e){Function("r","regeneratorRuntime = r")(i)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(18);t.default=function(e,t){var n=e.config,a=t.channel,o=t.id,s=t.name;if(!a)throw new i.PubNubError("Validation failed, check status for details",(0,i.createValidationError)("channel can't be empty"));if(!o)throw new i.PubNubError("Validation failed, check status for details",(0,i.createValidationError)("file id can't be empty"));if(!s)throw new i.PubNubError("Validation failed, check status for details",(0,i.createValidationError)("file name can't be empty"));return"".concat(n.origin,"/v1/files/").concat(n.subscribeKey,"/channels/").concat(a,"/files/").concat(o,"/").concat(s)},e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,o=i(n(10)),s=i(n(11)),r=i(n(1)),c={getOperation:function(){return r.default.PNDownloadFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?(null==t?void 0:t.id)?void 0:"id can't be empty":"name can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},ignoreBody:function(){return!0},forceBuffered:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:(a=(0,s.default)(o.default.mark((function e(t,n,i){var a,s,r,c,u,p;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=t.PubNubFile,r=t.config,c=t.cryptography,u=n.response.body,!r.cipherKey){e.next=6;break}return e.next=5,c.decrypt(null!==(p=i.cipherKey)&&void 0!==p?p:r.cipherKey,u);case 5:u=e.sent;case 6:return e.abrupt("return",s.create({data:u,name:null!==(a=n.response.name)&&void 0!==a?a:i.name,mimeType:n.response.type}));case 7:case"end":return e.stop()}}),e)}))),function(e,t,n){return a.apply(this,arguments)})};t.default=c,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(1)),o={getOperation:function(){return a.default.PNListFilesOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.id)?(null==t?void 0:t.name)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},useDelete:function(){return!0},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status}}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(9)),o=i(n(1)),s={getOperation:function(){return o.default.PNGetAllUUIDMetadataOperation},validateParams:function(){},getURL:function(e){var t=e.config;return"/v2/objects/".concat(t.subscribeKey,"/uuids")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("user")},prepareParams:function(e,t){var n,i,o,s,r,c,u,p,l={};((null==t||null===(n=t.include)||void 0===n?void 0:n.customFields)&&(l.include="custom"),null==t||null===(i=t.include)||void 0===i?void 0:i.totalCount)&&(l.count=null===(r=t.include)||void 0===r?void 0:r.totalCount);(null==t||null===(o=t.page)||void 0===o?void 0:o.next)&&(l.start=null===(c=t.page)||void 0===c?void 0:c.next);(null==t||null===(s=t.page)||void 0===s?void 0:s.prev)&&(l.end=null===(u=t.page)||void 0===u?void 0:u.prev);((null==t?void 0:t.filter)&&(l.filter=t.filter),l.limit=null==t?void 0:t.limit,null==t?void 0:t.sort)&&(l.sort=Object.entries(null!==(p=t.sort)&&void 0!==p?p:{}).map((function(e){var t=(0,a.default)(e,2),n=t[0],i=t[1];return"asc"===i||"desc"===i?"".concat(n,":").concat(i):n})));return l},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,next:t.next,prev:t.prev}}};t.default=s,e.exports=t.default},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],i=!0,a=!1,o=void 0;try{for(var s,r=e[Symbol.iterator]();!(i=(s=r.next()).done)&&(n.push(s.value),!t||n.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(a)throw o}}return n}}},function(e,t,n){var i=n(80);e.exports=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0&&(i.include=o)}return i},t.postPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUpdateUserOperation},t.validateParams=function(e,t){var n=e.config,i=t.id,a=t.name,o=t.custom;if(!i)return"Missing User.id";if(!a)return"Missing User.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(o&&!Object.values(o).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePatch=function(){return!0},t.getURL=function(e,t){var n=e.config,i=t.id;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(i)},t.patchURL=function(e,t){var n=e.config,i=t.id;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.id)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,i={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var a=[];n.customFields&&a.push("custom");var o=a.join(",");o.length>0&&(i.include=o)}return i},t.patchPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNDeleteUserOperation},t.validateParams=function(e,t){var n=e.config;if(!t)return"Missing UserId";if(!n.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t)||e.tokenManager.getToken("user")},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNGetUserOperation},t.validateParams=function(e,t){if(!t.userId)return"Missing userId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,i={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var a=[];n.customFields&&a.push("custom");var o=a.join(",");o.length>0&&(i.include=o)}return i},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNGetUsersOperation},t.validateParams=function(){},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/users")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e){return e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o=t.filter,s={};i&&(s.limit=i);if(n){var r=[];n.totalCount&&(s.count=!0),n.customFields&&r.push("custom");var c=r.join(",");c.length>0&&(s.include=c)}a&&(a.next&&(s.start=a.next),a.prev&&(s.end=a.prev));o&&(s.filter=o);return s},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNCreateSpaceOperation},t.validateParams=function(e,t){var n=e.config,i=t.id,a=t.name,o=t.custom;if(!i)return"Missing Space.id";if(!a)return"Missing Space.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(o&&!Object.values(o).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePost=function(){return!0},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.postURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.id)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,i={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var a=[];n.customFields&&a.push("custom");var o=a.join(",");o.length>0&&(i.include=o)}return i},t.postPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUpdateSpaceOperation},t.validateParams=function(e,t){var n=e.config,i=t.id,a=t.name,o=t.custom;if(!i)return"Missing Space.id";if(!a)return"Missing Space.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(o&&!Object.values(o).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePatch=function(){return!0},t.getURL=function(e,t){var n=e.config,i=t.id;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(i)},t.patchURL=function(e,t){var n=e.config,i=t.id;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.id)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,i={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var a=[];n.customFields&&a.push("custom");var o=a.join(",");o.length>0&&(i.include=o)}return i},t.patchPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNDeleteSpaceOperation},t.validateParams=function(e,t){var n=e.config;if(!t)return"Missing SpaceId";if(!n.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t)||e.tokenManager.getToken("space")},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNGetSpacesOperation},t.validateParams=function(){},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e){return e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o=t.filter,s={};i&&(s.limit=i);if(n){var r=[];n.totalCount&&(s.count=!0),n.customFields&&r.push("custom");var c=r.join(",");c.length>0&&(s.include=c)}a&&(a.next&&(s.start=a.next),a.prev&&(s.end=a.prev));o&&(s.filter=o);return s},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNGetSpaceOperation},t.validateParams=function(e,t){if(!t.spaceId)return"Missing spaceId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,i={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var a=[];n.customFields&&a.push("custom");var o=a.join(",");o.length>0&&(i.include=o)}return i},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNGetMembersOperation},t.validateParams=function(e,t){if(!t.spaceId)return"Missing spaceId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o=t.filter,s={};i&&(s.limit=i);if(n){var r=[];n.totalCount&&(s.count=!0),n.customFields&&r.push("custom"),n.userFields&&r.push("user"),n.customUserFields&&r.push("user.custom");var c=r.join(",");c.length>0&&(s.include=c)}a&&(a.next&&(s.start=a.next),a.prev&&(s.end=a.prev));o&&(s.filter=o);return s},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,i=t.users;if(!n)return"Missing spaceId";if(!i)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o={};i&&(o.limit=i);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var r=s.join(",");r.length>0&&(o.include=r)}a&&(a.next&&(o.start=a.next),a.prev&&(o.end=a.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.users,i={};n&&n.length>0&&(i.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),i.add.push(t)})));return i}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,i=t.users;if(!n)return"Missing spaceId";if(!i)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o={};i&&(o.limit=i);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var r=s.join(",");r.length>0&&(o.include=r)}a&&(a.next&&(o.start=a.next),a.prev&&(o.end=a.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.addMembers,i=t.updateMembers,a=t.removeMembers,o=t.users,s={};n&&n.length>0&&(s.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),s.add.push(t)})));i&&i.length>0&&(s.update=[],i.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),s.update.push(t)})));o&&o.length>0&&(s.update=s.update||[],o.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),s.update.push(t)})));a&&a.length>0&&(s.remove=[],a.forEach((function(e){s.remove.push({id:e})})));return s}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,i=t.users;if(!n)return"Missing spaceId";if(!i)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o={};i&&(o.limit=i);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var r=s.join(",");r.length>0&&(o.include=r)}a&&(a.next&&(o.start=a.next),a.prev&&(o.end=a.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.users,i={};n&&n.length>0&&(i.remove=[],n.forEach((function(e){i.remove.push({id:e})})));return i}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNGetMembershipsOperation},t.validateParams=function(e,t){if(!t.userId)return"Missing userId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o=t.filter,s={};i&&(s.limit=i);if(n){var r=[];n.totalCount&&(s.count=!0),n.customFields&&r.push("custom"),n.spaceFields&&r.push("space"),n.customSpaceFields&&r.push("space.custom");var c=r.join(",");c.length>0&&(s.include=c)}a&&(a.next&&(s.start=a.next),a.prev&&(s.end=a.prev));o&&(s.filter=o);return s},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,i=t.spaces;if(!n)return"Missing userId";if(!i)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o={};i&&(o.limit=i);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var r=s.join(",");r.length>0&&(o.include=r)}a&&(a.next&&(o.start=a.next),a.prev&&(o.end=a.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.addMemberships,i=t.updateMemberships,a=t.removeMemberships,o=t.spaces,s={};n&&n.length>0&&(s.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),s.add.push(t)})));i&&i.length>0&&(s.update=[],i.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),s.update.push(t)})));o&&o.length>0&&(s.update=s.update||[],o.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),s.update.push(t)})));a&&a.length>0&&(s.remove=[],a.forEach((function(e){s.remove.push({id:e})})));return s}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,i=t.spaces;if(!n)return"Missing userId";if(!i)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o={};i&&(o.limit=i);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var r=s.join(",");r.length>0&&(o.include=r)}a&&(a.next&&(o.start=a.next),a.prev&&(o.end=a.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.spaces,i={};n&&n.length>0&&(i.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),i.add.push(t)})));return i}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,i=t.spaces;if(!n)return"Missing userId";if(!i)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,i=t.limit,a=t.page,o={};i&&(o.limit=i);if(n){var s=[];n.totalCount&&(o.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var r=s.join(",");r.length>0&&(o.include=r)}a&&(a.next&&(o.start=a.next),a.prev&&(o.end=a.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.spaces,i={};n&&n.length>0&&(i.remove=[],n.forEach((function(e){i.remove.push({id:e})})));return i}(0,t)},t.handleResponse=function(e,t){return t};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNAccessManagerAudit},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e){var t=e.config;return"/v2/auth/audit/sub-key/".concat(t.subscribeKey)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(e,t){var n=t.channel,i=t.channelGroup,a=t.authKeys,o=void 0===a?[]:a,s={};n&&(s.channel=n);i&&(s["channel-group"]=i);o.length>0&&(s.auth=o.join(","));return s},t.handleResponse=function(e,t){return t.payload};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNAccessManagerGrant},t.validateParams=function(e){var t=e.config;if(!t.subscribeKey)return"Missing Subscribe Key";if(!t.publishKey)return"Missing Publish Key";if(!t.secretKey)return"Missing Secret Key"},t.getURL=function(e){var t=e.config;return"/v2/auth/grant/sub-key/".concat(t.subscribeKey)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(e,t){var n=t.channels,i=void 0===n?[]:n,a=t.channelGroups,o=void 0===a?[]:a,s=t.ttl,r=t.read,c=void 0!==r&&r,u=t.write,p=void 0!==u&&u,l=t.manage,d=void 0!==l&&l,f=t.authKeys,m=void 0===f?[]:f,h=t.delete,v={};v.r=c?"1":"0",v.w=p?"1":"0",v.m=d?"1":"0",v.d=h?"1":"0",i.length>0&&(v.channel=i.join(","));o.length>0&&(v["channel-group"]=o.join(","));m.length>0&&(v.auth=m.join(","));(s||0===s)&&(v.ttl=s);return v},t.handleResponse=function(){return{}};n(2);var a=i(n(1))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNAccessManagerGrantToken},t.extractPermissions=o,t.validateParams=function(e,t){var n=e.config;if(!n.subscribeKey)return"Missing Subscribe Key";if(!n.publishKey)return"Missing Publish Key";if(!n.secretKey)return"Missing Secret Key";if(!t.resources&&!t.patterns)return"Missing either Resources or Patterns.";if(t.resources&&(!t.resources.users||0===Object.keys(t.resources.users).length)&&(!t.resources.spaces||0===Object.keys(t.resources.spaces).length)||t.patterns&&(!t.patterns.users||0===Object.keys(t.patterns.users).length)&&(!t.patterns.spaces||0===Object.keys(t.patterns.spaces).length))return"Missing values for either Resources or Patterns."},t.postURL=function(e){var t=e.config;return"/v3/pam/".concat(t.subscribeKey,"/grant")},t.usePost=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(){return{}},t.postPayload=function(e,t){return function(e,t){var n=t.ttl,i=t.resources,a=t.patterns,s=t.meta,r={ttl:0,permissions:{resources:{channels:{},groups:{},users:{},spaces:{}},patterns:{channels:{},groups:{},users:{},spaces:{}},meta:{}}};if(i){var c=i.users,u=i.spaces;c&&Object.keys(c).forEach((function(e){r.permissions.resources.users[e]=o(c[e])})),u&&Object.keys(u).forEach((function(e){r.permissions.resources.spaces[e]=o(u[e])}))}if(a){var p=a.users,l=a.spaces;p&&Object.keys(p).forEach((function(e){r.permissions.patterns.users[e]=o(p[e])})),l&&Object.keys(l).forEach((function(e){r.permissions.patterns.spaces[e]=o(l[e])}))}(n||0===n)&&(r.ttl=n);s&&(r.permissions.meta=s);return r}(0,t)},t.handleResponse=function(e,t){return t.data.token};n(2);var a=i(n(1));function o(e){var t=0;return e.create&&(t|=16),e.delete&&(t|=8),e.manage&&(t|=4),e.write&&(t|=2),e.read&&(t|=1),t}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return o.default.PNPublishOperation},t.validateParams=function(e,t){var n=e.config,i=t.message;if(!t.channel)return"Missing Channel";if(!i)return"Missing Message";if(!n.subscribeKey)return"Missing Subscribe Key"},t.usePost=function(e,t){var n=t.sendByPost;return void 0!==n&&n},t.getURL=function(e,t){var n=e.config,i=t.channel,a=t.message,o=r(e,a);return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(s.default.encodeString(i),"/0/").concat(s.default.encodeString(o))},t.postURL=function(e,t){var n=e.config,i=t.channel;return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(s.default.encodeString(i),"/0")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.postPayload=function(e,t){var n=t.message;return r(e,n)},t.prepareParams=function(e,t){var n=t.meta,i=t.replicate,o=void 0===i||i,s=t.storeInHistory,r=t.ttl,c={};null!=s&&(c.store=s?"1":"0");r&&(c.ttl=r);!1===o&&(c.norep="true");n&&"object"===(0,a.default)(n)&&(c.meta=JSON.stringify(n));return c},t.handleResponse=function(e,t){return{timetoken:t[2]}};var a=i(n(7)),o=(n(2),i(n(1))),s=i(n(3));function r(e,t){var n=e.crypto,i=e.config,a=JSON.stringify(t);return i.cipherKey&&(a=n.encrypt(a),a=JSON.stringify(a)),a}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNSignalOperation},t.validateParams=function(e,t){var n=e.config,i=t.message;if(!t.channel)return"Missing Channel";if(!i)return"Missing Message";if(!n.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,i=t.channel,a=t.message,s=(r=a,JSON.stringify(r));var r;return"/signal/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(o.default.encodeString(i),"/0/").concat(o.default.encodeString(s))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{timetoken:t[2]}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNHistoryOperation},t.validateParams=function(e,t){var n=t.channel,i=e.config;if(!n)return"Missing channel";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channel,i=e.config;return"/v2/history/sub-key/".concat(i.subscribeKey,"/channel/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,i=t.end,a=t.reverse,o=t.count,s=void 0===o?100:o,r=t.stringifiedTimeToken,c=void 0!==r&&r,u=t.includeMeta,p=void 0!==u&&u,l=t.includeUuid,d=void 0===l||l,f=t.includeMessageType,m=void 0===f||f,h={include_token:"true"};h.count=s,n&&(h.start=n);i&&(h.end=i);c&&(h.string_message_token="true");null!=a&&(h.reverse=a.toString());p&&(h.include_meta="true");d&&(h.include_uuid="true");m&&(h.include_message_type="true");return h},t.handleResponse=function(e,t){var n={messages:[],startTimeToken:t[1],endTimeToken:t[2]};Array.isArray(t[0])&&t[0].forEach((function(t){var i={timetoken:t.timetoken,entry:s(e,t.message)};t.meta&&(i.meta=t.meta),n.messages.push(i)}));return n};n(2);var a=i(n(1)),o=i(n(3));function s(e,t){var n=e.config,i=e.crypto;if(!n.cipherKey)return t;try{return i.decrypt(t)}catch(e){return t}}},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNDeleteMessagesOperation},t.validateParams=function(e,t){var n=t.channel,i=e.config;if(!n)return"Missing channel";if(!i.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=t.channel,i=e.config;return"/v3/history/sub-key/".concat(i.subscribeKey,"/channel/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,i=t.end,a={};n&&(a.start=n);i&&(a.end=i);return a},t.handleResponse=function(e,t){return t.payload};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return o.default.PNMessageCounts},t.validateParams=function(e,t){var n=t.channels,i=t.timetoken,a=t.channelTimetokens,o=e.config;if(!n)return"Missing channel";if(i&&a)return"timetoken and channelTimetokens are incompatible together";if(i&&a&&a.length>1&&n.length!==a.length)return"Length of channelTimetokens and channels do not match";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channels,i=e.config,a=n.join(",");return"/v3/history/sub-key/".concat(i.subscribeKey,"/message-counts/").concat(s.default.encodeString(a))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.timetoken,i=t.channelTimetokens,o={};if(i&&1===i.length){var s=(0,a.default)(i,1)[0];o.timetoken=s}else i?o.channelsTimetoken=i.join(","):n&&(o.timetoken=n);return o},t.handleResponse=function(e,t){return{channels:t.channels}};var a=i(n(9)),o=i(n(1)),s=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNFetchMessagesOperation},t.validateParams=function(e,t){var n=t.channels,i=t.includeMessageActions,a=void 0!==i&&i,o=e.config;if(!n||0===n.length)return"Missing channels";if(!o.subscribeKey)return"Missing Subscribe Key";if(a&&n.length>1)throw new TypeError("History can return actions data for a single channel only. Either pass a single channel or disable the includeMessageActions flag.")},t.getURL=function(e,t){var n=t.channels,i=void 0===n?[]:n,a=t.includeMessageActions,s=void 0!==a&&a,r=e.config,c=s?"history-with-actions":"history",u=i.length>0?i.join(","):",";return"/v3/".concat(c,"/sub-key/").concat(r.subscribeKey,"/channel/").concat(o.default.encodeString(u))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,i=t.end,a=t.count,o=t.stringifiedTimeToken,s=void 0!==o&&o,r=t.includeMeta,c=void 0!==r&&r,u=t.includeUuid,p=void 0===u||u,l=t.includeMessageType,d=void 0===l||l,f={};a&&(f.max=a);n&&(f.start=n);i&&(f.end=i);s&&(f.string_message_token="true");c&&(f.include_meta="true");p&&(f.include_uuid="true");d&&(f.include_message_type="true");return f},t.handleResponse=function(e,t){var n={channels:{}};return Object.keys(t.channels||{}).forEach((function(i){n.channels[i]=[],(t.channels[i]||[]).forEach((function(t){var a={};a.channel=i,a.timetoken=t.timetoken,a.message=function(e,t){var n=e.config,i=e.crypto;if(!n.cipherKey)return t;try{return i.decrypt(t)}catch(e){return t}}(e,t.message),a.messageType=t.message_type,a.uuid=t.uuid,t.actions&&(a.actions=t.actions,a.data=t.actions),t.meta&&(a.meta=t.meta),n.channels[i].push(a)}))})),n};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return a.default.PNSubscribeOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,i=t.channels,a=void 0===i?[]:i,s=a.length>0?a.join(","):",";return"/v2/subscribe/".concat(n.subscribeKey,"/").concat(o.default.encodeString(s),"/0")},t.getRequestTimeout=function(e){return e.config.getSubscribeTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=e.config,i=t.state,a=t.channelGroups,o=void 0===a?[]:a,s=t.timetoken,r=t.filterExpression,c=t.region,u={heartbeat:n.getPresenceTimeout()};o.length>0&&(u["channel-group"]=o.join(","));r&&r.length>0&&(u["filter-expr"]=r);Object.keys(i).length&&(u.state=JSON.stringify(i));s&&(u.tt=s);c&&(u.tr=c);return u},t.handleResponse=function(e,t){var n=[];t.m.forEach((function(e){var t={publishTimetoken:e.p.t,region:e.p.r},i={shard:parseInt(e.a,10),subscriptionMatch:e.b,channel:e.c,messageType:e.e,payload:e.d,flags:e.f,issuingClientId:e.i,subscribeKey:e.k,originationTimetoken:e.o,userMetadata:e.u,publishMetaData:t};n.push(i)}));var i={timetoken:t.t.t,region:t.t.r};return{messages:n,metadata:i}};n(2);var a=i(n(1)),o=i(n(3))},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(5)),o=i(n(6)),s=i(n(4)),r=(i(n(8)),i(n(13))),c=(n(2),function(){function e(t){var n=this;(0,a.default)(this,e),(0,s.default)(this,"_modules",void 0),(0,s.default)(this,"_config",void 0),(0,s.default)(this,"_maxSubDomain",void 0),(0,s.default)(this,"_currentSubDomain",void 0),(0,s.default)(this,"_standardOrigin",void 0),(0,s.default)(this,"_subscribeOrigin",void 0),(0,s.default)(this,"_providedFQDN",void 0),(0,s.default)(this,"_requestTimeout",void 0),(0,s.default)(this,"_coreParams",void 0),this._modules={},Object.keys(t).forEach((function(e){n._modules[e]=t[e].bind(n)}))}return(0,o.default)(e,[{key:"init",value:function(e){this._config=e,this._maxSubDomain=20,this._currentSubDomain=Math.floor(Math.random()*this._maxSubDomain),this._providedFQDN=(this._config.secure?"https://":"http://")+this._config.origin,this._coreParams={},this.shiftStandardOrigin()}},{key:"nextOrigin",value:function(){return this._providedFQDN.match(/ps\.pndsn\.com$/i)?(this._currentSubDomain+=1,this._currentSubDomain>=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("ps.pndsn.com","ps".concat(e,".pndsn.com"))):this._providedFQDN;var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"FILE",value:function(e,t,n){return this._modules.file(e,t,n)}},{key:"POST",value:function(e,t,n,i){return this._modules.post(e,t,n,i)}},{key:"PATCH",value:function(e,t,n,i){return this._modules.patch(e,t,n,i)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return r.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return r.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return r.default.PNNetworkIssuesCategory;if(e.timeout)return r.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return r.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return r.default.PNBadRequestCategory;if(e.response.forbidden)return r.default.PNAccessDeniedCategory}return r.default.PNUnknownCategory}}]),e}());t.default=c,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i={get:function(e){try{return localStorage.getItem(e)}catch(e){return null}},set:function(e,t){try{return localStorage.setItem(e,t)}catch(e){return null}}};t.default=i,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n(7)),o=i(n(5)),s=i(n(6)),r=i(n(4)),c=function(){function e(t,n){(0,o.default)(this,e),(0,r.default)(this,"_base64ToBinary",void 0),(0,r.default)(this,"_cborReader",void 0),this._base64ToBinary=n,this._decode=t}return(0,s.default)(e,[{key:"decodeToken",value:function(e){var t="";e.length%4==3?t="=":e.length%4==2&&(t="==");var n=e.replace(/-/gi,"+").replace(/_/gi,"/")+t,i=this._decode(this._base64ToBinary(n));if("object"===(0,a.default)(i))return i}}]),e}();t.default=c,e.exports=t.default},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.file=function(e,t,n){return u.apply(this,arguments)},t.get=function(e,t,n){var i=s.default.get(this.getStandardOrigin()+t.url).set(t.headers).query(e);return c.call(this,i,t,n)},t.post=function(e,t,n,i){var a=s.default.post(this.getStandardOrigin()+n.url).query(e).set(n.headers).send(t);return c.call(this,a,n,i)},t.patch=function(e,t,n,i){var a=s.default.patch(this.getStandardOrigin()+n.url).query(e).set(n.headers).send(t);return c.call(this,a,n,i)},t.del=function(e,t,n){var i=s.default.delete(this.getStandardOrigin()+t.url).set(t.headers).query(e);return c.call(this,i,t,n)};var a=i(n(10)),o=i(n(11)),s=i(n(125));n(2);function r(e){var t=(new Date).getTime(),n=(new Date).toISOString(),i=console&&console.log?console:window&&window.console&&window.console.log?window.console:console;i.log("<<<<<"),i.log("[".concat(n,"]"),"\n",e.url,"\n",e.qs),i.log("-----"),e.on("response",(function(n){var a=(new Date).getTime()-t,o=(new Date).toISOString();i.log(">>>>>>"),i.log("[".concat(o," / ").concat(a,"]"),"\n",e.url,"\n",e.qs,"\n",n.text),i.log("-----")}))}function c(e,t,n){var i=this;this._config.logVerbosity&&(e=e.use(r)),this._config.proxy&&this._modules.proxy&&(e=this._modules.proxy.call(this,e)),this._config.keepAlive&&this._modules.keepAlive&&(e=this._modules.keepAlive(e));var a=e;return!0===t.forceBuffered?a="undefined"==typeof Blob?a.buffer().responseType("arraybuffer"):a.responseType("arraybuffer"):!1===t.forceBuffered&&(a=a.buffer(!1)),a.timeout(t.timeout).end((function(e,a){var o,s={};if(s.error=null!==e,s.operation=t.operation,a&&a.status&&(s.statusCode=a.status),e){if(e.response&&e.response.text&&!i._config.logVerbosity)try{s.errorData=JSON.parse(e.response.text)}catch(t){s.errorData=e}else s.errorData=e;return s.category=i._detectErrorCategory(e),n(s,null)}if(t.ignoreBody)o={headers:a.headers,redirects:a.redirects,response:a};else try{o=JSON.parse(a.text)}catch(e){return s.errorData=a,s.error=!0,n(s,null)}return o.error&&1===o.error&&o.status&&o.message&&o.service?(s.errorData=o,s.statusCode=o.status,s.error=!0,s.category=i._detectErrorCategory(s),n(s,null)):(o.error&&o.error.message&&(s.errorData=o.error),n(s,o))}))}function u(){return(u=(0,o.default)(a.default.mark((function e(t,n,i){var o,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=s.default.post(t),n.forEach((function(e){var t=e.key,n=e.value;o=o.field(t,n)})),o.attach("file",i,{contentType:"application/octet-stream"}),e.next=5,o;case 5:return r=e.sent,e.abrupt("return",r);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,n){var i;"undefined"!=typeof window?i=window:"undefined"!=typeof self?i=self:(console.warn("Using browser-only version of superagent in non-browser environment"),i=this);var a=n(126),o=n(127),s=n(27),r=n(128),c=n(130);function u(){}var p=t=e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1==arguments.length?new t.Request("GET",e):new t.Request(e,n)};t.Request=g,p.getXHR=function(){if(!(!i.XMLHttpRequest||i.location&&"file:"==i.location.protocol&&i.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only version of superagent could not find XHR")};var l="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function d(e){if(!s(e))return e;var t=[];for(var n in e)f(t,n,e[n]);return t.join("&")}function f(e,t,n){if(null!=n)if(Array.isArray(n))n.forEach((function(n){f(e,t,n)}));else if(s(n))for(var i in n)f(e,t+"["+i+"]",n[i]);else e.push(encodeURIComponent(t)+"="+encodeURIComponent(n));else null===n&&e.push(encodeURIComponent(t))}function m(e){for(var t,n,i={},a=e.split("&"),o=0,s=a.length;o=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4==n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.onprogress=i.bind(null,"download"),t.upload&&(t.upload.onprogress=i.bind(null,"upload"))}catch(e){}try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof n&&!this._isHost(n)){var a=this._header["content-type"],o=this._serializer||p.serialize[a?a.split(";")[0]:""];!o&&h(a)&&(o=p.serialize["application/json"]),o&&(n=o(n))}for(var s in this.header)null!=this.header[s]&&this.header.hasOwnProperty(s)&&t.setRequestHeader(s,this.header[s]);return this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0!==n?n:null),this},p.agent=function(){return new c},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach((function(e){c.prototype[e.toLowerCase()]=function(t,n){var i=new p.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}})),c.prototype.del=c.prototype.delete,p.get=function(e,t,n){var i=p("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},p.head=function(e,t,n){var i=p("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},p.options=function(e,t,n){var i=p("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},p.del=b,p.delete=b,p.patch=function(e,t,n){var i=p("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},p.post=function(e,t,n){var i=p("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},p.put=function(e,t,n){var i=p("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},function(e,t,n){function i(e){if(e)return function(e){for(var t in i.prototype)e[t]=i.prototype[t];return e}(e)}e.exports=i,i.prototype.on=i.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},i.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var a=0;a=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!=t.status)return!0;if(e){if(e.code&&~o.indexOf(e.code))return!0;if(e.timeout&&"ECONNABORTED"==e.code)return!0;if(e.crossDomain)return!0}return!1},a.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},a.prototype.then=function(e,t){if(!this._fullfilledPromise){var n=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise((function(e,t){n.end((function(n,i){n?t(n):e(i)}))}))}return this._fullfilledPromise.then(e,t)},a.prototype.catch=function(e){return this.then(void 0,e)},a.prototype.use=function(e){return e(this),this},a.prototype.ok=function(e){if("function"!=typeof e)throw Error("Callback required");return this._okCallback=e,this},a.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},a.prototype.get=function(e){return this._header[e.toLowerCase()]},a.prototype.getHeader=a.prototype.get,a.prototype.set=function(e,t){if(i(e)){for(var n in e)this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},a.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},a.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),i(e)){for(var n in e)this.field(n,e[n]);return this}if(Array.isArray(t)){for(var a in t)this.field(e,t[a]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=""+t),this._getFormData().append(e,t),this},a.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},a.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic "+i(e+":"+t));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer "+e)}return this},a.prototype.withCredentials=function(e){return null==e&&(e=!0),this._withCredentials=e,this},a.prototype.redirects=function(e){return this._maxRedirects=e,this},a.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw TypeError("Invalid argument");return this._maxResponseSize=e,this},a.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},a.prototype.send=function(e){var t=i(e),n=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&i(this._data))for(var a in e)this._data[a]=e[a];else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"==n?this._data?this._data+"&"+e:e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},a.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},a.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.indexOf("?")>=0?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.substring(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,t)+"?"+n.join("&")}}},a.prototype._appendQueryString=function(){console.trace("Unsupported")},a.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error(e+t+"ms exceeded");i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.abort(),this.callback(i)}},a.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout((function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")}),this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout((function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")}),this._responseTimeout))}},function(e,t,n){"use strict";var i=n(129);function a(e){if(e)return function(e){for(var t in a.prototype)e[t]=a.prototype[t];return e}(e)}e.exports=a,a.prototype.get=function(e){return this.header[e.toLowerCase()]},a.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var a in n)this[a]=n[a];this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},a.prototype._setStatusProperties=function(e){var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.redirect=3==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.created=201==e,this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.forbidden=403==e,this.notFound=404==e,this.unprocessableEntity=422==e}},function(e,t,n){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce((function(e,t){var n=t.split(/ *= */),i=n.shift(),a=n.shift();return i&&a&&(e[i]=a),e}),{})},t.parseLinks=function(e){return e.split(/ *, */).reduce((function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e}),{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},function(e,t){function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach((function(e){n.prototype[e]=function(){return this._defaults.push({fn:e,arguments:arguments}),this}})),n.prototype._setDefaults=function(e){this._defaults.forEach((function(t){e[t.fn].apply(e,t.arguments)}))},e.exports=n},function(e,t,n){"use strict";(function(i){var a=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(10)),s=a(n(11)),r=a(n(5)),c=a(n(6)),u=a(n(4)),p=a(n(137));function l(e,t){var n=new Uint8Array(e.byteLength+t.byteLength);return n.set(new Uint8Array(e),0),n.set(new Uint8Array(t),e.byteLength),n.buffer}var d=function(){function e(){(0,r.default)(this,e)}var t,n,a,u,d,f,m,h,v;return(0,c.default)(e,[{key:"encrypt",value:(v=(0,s.default)(o.default.mark((function e(t,n){var i;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getKey(t);case 2:if(i=e.sent,!(n instanceof ArrayBuffer)){e.next=7;break}return e.abrupt("return",this.encryptArrayBuffer(i,n));case 7:if("string"!=typeof n){e.next=11;break}return e.abrupt("return",this.encryptString(i,n));case 11:throw new Error("Cannot encrypt this file. In browsers file encryption supports only string or ArrayBuffer");case 12:case"end":return e.stop()}}),e,this)}))),function(e,t){return v.apply(this,arguments)})},{key:"decrypt",value:(h=(0,s.default)(o.default.mark((function e(t,n){var i;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getKey(t);case 2:if(i=e.sent,!(n instanceof ArrayBuffer)){e.next=7;break}return e.abrupt("return",this.decryptArrayBuffer(i,n));case 7:if("string"!=typeof n){e.next=11;break}return e.abrupt("return",this.decryptString(i,n));case 11:throw new Error("Cannot decrypt this file. In browsers file decryption supports only string or ArrayBuffer");case 12:case"end":return e.stop()}}),e,this)}))),function(e,t){return h.apply(this,arguments)})},{key:"encryptFile",value:(m=(0,s.default)(o.default.mark((function e(t,n,i){var a,s,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getKey(t);case 2:return a=e.sent,e.next=5,n.toArrayBuffer();case 5:return s=e.sent,e.next=8,this.encryptArrayBuffer(a,s);case 8:return r=e.sent,e.abrupt("return",i.create({name:n.name,mimeType:"application/octet-stream",data:r}));case 10:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return m.apply(this,arguments)})},{key:"decryptFile",value:(f=(0,s.default)(o.default.mark((function e(t,n,i){var a,s,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getKey(t);case 2:return a=e.sent,e.next=5,n.toArrayBuffer();case 5:return s=e.sent,e.next=8,this.decryptArrayBuffer(a,s);case 8:if(r=e.sent,!(n.data instanceof ArrayBuffer)){e.next=13;break}return e.abrupt("return",i.create({name:n.name,data:r}));case 13:throw new Error("Cannot decrypt this file. In browser environment file decryption supports only ArrayBuffer.");case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return f.apply(this,arguments)})},{key:"getKey",value:(d=(0,s.default)(o.default.mark((function e(t){var n,a,s;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.from(t),e.next=3,p.default.subtle.digest("SHA-256",n.buffer);case 3:return a=e.sent,s=i.from(i.from(a).toString("hex").slice(0,32),"utf8").buffer,e.abrupt("return",p.default.subtle.importKey("raw",s,"AES-CBC",!0,["encrypt","decrypt"]));case 6:case"end":return e.stop()}}),e)}))),function(e){return d.apply(this,arguments)})},{key:"encryptArrayBuffer",value:(u=(0,s.default)(o.default.mark((function e(t,n){var i;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=p.default.getRandomValues(new Uint8Array(16)),e.t0=l,e.t1=i.buffer,e.next=5,p.default.subtle.encrypt({name:"AES-CBC",iv:i},t,n);case 5:return e.t2=e.sent,e.abrupt("return",(0,e.t0)(e.t1,e.t2));case 7:case"end":return e.stop()}}),e)}))),function(e,t){return u.apply(this,arguments)})},{key:"decryptArrayBuffer",value:(a=(0,s.default)(o.default.mark((function e(t,n){var i;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=n.slice(0,16),e.abrupt("return",p.default.subtle.decrypt({name:"AES-CBC",iv:i},t,n.slice(16)));case 2:case"end":return e.stop()}}),e)}))),function(e,t){return a.apply(this,arguments)})},{key:"encryptString",value:(n=(0,s.default)(o.default.mark((function e(t,n){var a,s,r,c;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=p.default.getRandomValues(new Uint8Array(16)),s=i.from(n).buffer,e.next=4,p.default.subtle.encrypt({name:"AES-CBC",iv:a},t,s);case 4:return r=e.sent,c=l(a.buffer,r),e.abrupt("return",i.from(c).toString("utf8"));case 7:case"end":return e.stop()}}),e)}))),function(e,t){return n.apply(this,arguments)})},{key:"decryptString",value:(t=(0,s.default)(o.default.mark((function e(t,n){var a,s,r,c;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=i.from(n),s=a.slice(0,16),r=a.slice(16),e.next=5,p.default.subtle.decrypt({name:"AES-CBC",iv:s},t,r);case 5:return c=e.sent,e.abrupt("return",i.from(c).toString("utf8"));case 7:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})},{key:"algo",get:function(){return"aes-256-cbc"}}]),e}();t.default=d,(0,u.default)(d,"IV_LENGTH",16),e.exports=t.default}).call(this,n(21).Buffer)},function(e,t,n){"use strict";var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,o,s=i(n(10)),r=i(n(11)),c=i(n(5)),u=i(n(6)),p=i(n(4)),l=n(133),d=(n(26),o=a=function(){function e(t){if((0,c.default)(this,e),(0,p.default)(this,"data",void 0),(0,p.default)(this,"name",void 0),(0,p.default)(this,"mimeType",void 0),t instanceof File)this.data=t,this.name=this.data.name,this.mimeType=this.data.type;else if(t.data){var n=t.data;this.data=new File([n],t.name,{type:t.mimeType}),this.name=t.name,t.mimeType?this.mimeType=t.mimeType:this.mimeType=(0,l.lookup)(this.name)}if(void 0===this.data)throw new Error("Couldn't construct a file out of supplied options.");if(void 0===this.name)throw new Error("Couldn't guess filename out of the options. Please provide one.")}var t,n,i,a,o;return(0,u.default)(e,null,[{key:"create",value:function(e){return new this(e)}}]),(0,u.default)(e,[{key:"toBuffer",value:(o=(0,r.default)(s.default.mark((function e(){return s.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("This feature is only supported in Node.js environments.");case 1:case"end":return e.stop()}}),e)}))),function(){return o.apply(this,arguments)})},{key:"toStream",value:(a=(0,r.default)(s.default.mark((function e(){return s.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("This feature is only supported in Node.js environments.");case 1:case"end":return e.stop()}}),e)}))),function(){return a.apply(this,arguments)})},{key:"toArrayBuffer",value:(i=(0,r.default)(s.default.mark((function e(){var t=this;return s.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var i=new FileReader;i.addEventListener("load",(function(){if(i.result instanceof ArrayBuffer)return e(i.result)})),i.addEventListener("error",(function(){n(i.error)})),i.readAsArrayBuffer(t.data)})));case 1:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)})},{key:"toString",value:(n=(0,r.default)(s.default.mark((function e(){var t=this;return s.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var i=new FileReader;i.addEventListener("load",(function(){if("string"==typeof i.result)return e(i.result)})),i.addEventListener("error",(function(){n(i.error)})),i.readAsBinaryString(t.data)})));case 1:case"end":return e.stop()}}),e)}))),function(){return n.apply(this,arguments)})},{key:"toFile",value:(t=(0,r.default)(s.default.mark((function e(){return s.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.data);case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),(0,p.default)(a,"supportsFile","undefined"!=typeof File),(0,p.default)(a,"supportsArrayBuffer",!0),(0,p.default)(a,"supportsBuffer",!1),(0,p.default)(a,"supportsStream",!1),(0,p.default)(a,"supportsString",!0),o);t.default=d,e.exports=t.default},function(e,t,n){"use strict"; -/*! - * mime-types - * Copyright(c) 2014 Jonathan Ong - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */var i,a,o,s=n(134),r=n(136).extname,c=/^\s*([^;\s]*)(?:;|\s|$)/,u=/^text\//i;function p(e){if(!e||"string"!=typeof e)return!1;var t=c.exec(e),n=t&&s[t[1].toLowerCase()];return n&&n.charset?n.charset:!(!t||!u.test(t[1]))&&"UTF-8"}t.charset=p,t.charsets={lookup:p},t.contentType=function(e){if(!e||"string"!=typeof e)return!1;var n=-1===e.indexOf("/")?t.lookup(e):e;if(!n)return!1;if(-1===n.indexOf("charset")){var i=t.charset(n);i&&(n+="; charset="+i.toLowerCase())}return n},t.extension=function(e){if(!e||"string"!=typeof e)return!1;var n=c.exec(e),i=n&&t.extensions[n[1].toLowerCase()];if(!i||!i.length)return!1;return i[0]},t.extensions=Object.create(null),t.lookup=function(e){if(!e||"string"!=typeof e)return!1;var n=r("x."+e).toLowerCase().substr(1);if(!n)return!1;return t.types[n]||!1},t.types=Object.create(null),i=t.extensions,a=t.types,o=["nginx","apache",void 0,"iana"],Object.keys(s).forEach((function(e){var t=s[e],n=t.extensions;if(n&&n.length){i[e]=n;for(var r=0;rp||u===p&&"application/"===a[c].substr(0,12)))continue}a[c]=e}}}))},function(e,t,n){ -/*! - * mime-db - * Copyright(c) 2014 Jonathan Ong - * MIT Licensed - */ -e.exports=n(135)},function(e){e.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["ecma","es"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/mrb-publish+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana"},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana"},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["keynote"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana"},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana"},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana"},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana"},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana"},"image/avcs":{"source":"iana"},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shex":{"extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana"},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')},function(e,t,n){(function(e){function n(e,t){for(var n=0,i=e.length-1;i>=0;i--){var a=e[i];"."===a?e.splice(i,1):".."===a?(e.splice(i,1),n++):n&&(e.splice(i,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var n=[],i=0;i=-1&&!a;o--){var s=o>=0?arguments[o]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,a="/"===s.charAt(0))}return(a?"/":"")+(t=n(i(t.split("/"),(function(e){return!!e})),!a).join("/"))||"."},t.normalize=function(e){var o=t.isAbsolute(e),s="/"===a(e,-1);return(e=n(i(e.split("/"),(function(e){return!!e})),!o).join("/"))||o||(e="."),e&&s&&(e+="/"),(o?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(i(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,n){function i(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var a=i(e.split("/")),o=i(n.split("/")),s=Math.min(a.length,o.length),r=s,c=0;c=1;--o)if(47===(t=e.charCodeAt(o))){if(!a){i=o;break}}else a=!1;return-1===i?n?"/":".":n&&1===i?"/":e.slice(0,i)},t.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,i=-1,a=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!a){n=t+1;break}}else-1===i&&(a=!1,i=t+1);return-1===i?"":e.slice(n,i)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,i=-1,a=!0,o=0,s=e.length-1;s>=0;--s){var r=e.charCodeAt(s);if(47!==r)-1===i&&(a=!1,i=s+1),46===r?-1===t?t=s:1!==o&&(o=1):-1!==t&&(o=-1);else if(!a){n=s+1;break}}return-1===t||-1===i||0===o||1===o&&t===i-1&&t===n+1?"":e.slice(t,i)};var a="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,n(25))},function(e,t,n){"use strict";n.r(t), +var r=n(33),i=n(34),o=n(35);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function p(e,t){if(u.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return B(e).length;default:if(r)return F(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return E(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return A(this,t,n);case"latin1":case"binary":return M(this,t,n);case"base64":return T(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function v(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if("number"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,i){var o,a=1,s=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var l=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var f=!0,d=0;di&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function T(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+f<=n)switch(f){case 1:c<128&&(l=c);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&c)<<6|63&o)>127&&(l=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(l=u)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=f}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),c=this.slice(r,i),l=e.slice(t,n),f=0;fi)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return m(this,e,t,n);case"utf8":case"utf-8":return _(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return P(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function A(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function C(e,t,n,r,i,o){if(!u.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function U(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function j(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function K(e,t,n,r,o){return o||j(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function I(e,t,n,r,o){return o||j(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||C(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o=0&&(o*=256);)this[t+i]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):U(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):U(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);C(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);C(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):U(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||C(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):U(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return K(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return K(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return I(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return I(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function B(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(D,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function G(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(32))},function(e,t,n){"use strict";var r,i,o,a,s,u=u||function(e,t){var n={},r=n.lib={},i=function(){},o=r.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},a=r.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes;if(e=e.sigBytes,this.clamp(),r%4)for(var i=0;i>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new a.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new a.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,o=this.blockSize,s=i/(4*o);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*o,i=e.min(4*t,i),t){for(var u=0;ul;){var f;e:{f=c;for(var d=e.sqrt(f),h=2;h<=d;h++)if(!(f%h)){f=!1;break e}f=!0}f&&(8>l&&(o[l]=s(e.pow(c,.5))),a[l]=s(e.pow(c,1/3)),l++),c++}var p=[];i=i.SHA256=r.extend({_doReset:function(){this._hash=new n.init(o.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],o=n[2],s=n[3],u=n[4],c=n[5],l=n[6],f=n[7],d=0;64>d;d++){if(16>d)p[d]=0|e[t+d];else{var h=p[d-15],g=p[d-2];p[d]=((h<<25|h>>>7)^(h<<14|h>>>18)^h>>>3)+p[d-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+p[d-16]}h=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+a[d]+p[d],g=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&o^i&o),f=l,l=c,c=u,u=s+h|0,s=o,o=i,i=r,r=h+g|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+f|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=r._createHelper(i),t.HmacSHA256=r._createHmacHelper(i)}(Math),i=(r=u).enc.Utf8,r.algo.HMAC=r.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),a=this._iKey=t.clone(),s=o.words,u=a.words,c=0;c>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;4>a&&i+.75*a>>6*(3-a)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;(r=n.charAt(64))&&-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,o=0;o>>6-o%4*2;r[i>>>2]|=(s|u)<<24-i%4*8,i++}return a.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,r,i,o,a){return((e=e+(t&n|~t&r)+i+a)<>>32-o)+t}function n(e,t,n,r,i,o,a){return((e=e+(t&r|n&~r)+i+a)<>>32-o)+t}function r(e,t,n,r,i,o,a){return((e=e+(t^n^r)+i+a)<>>32-o)+t}function i(e,t,n,r,i,o,a){return((e=e+(n^(t|~r))+i+a)<>>32-o)+t}for(var o=u,a=(c=o.lib).WordArray,s=c.Hasher,c=o.algo,l=[],f=0;64>f;f++)l[f]=4294967296*e.abs(e.sin(f+1))|0;c=c.MD5=s.extend({_doReset:function(){this._hash=new a.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,o){for(var a=0;16>a;a++){var s=e[u=o+a];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}a=this._hash.words;var u=e[o+0],c=(s=e[o+1],e[o+2]),f=e[o+3],d=e[o+4],h=e[o+5],p=e[o+6],g=e[o+7],v=e[o+8],y=e[o+9],b=e[o+10],m=e[o+11],_=e[o+12],k=e[o+13],P=e[o+14],w=e[o+15],O=t(O=a[0],A=a[1],S=a[2],T=a[3],u,7,l[0]),T=t(T,O,A,S,s,12,l[1]),S=t(S,T,O,A,c,17,l[2]),A=t(A,S,T,O,f,22,l[3]);O=t(O,A,S,T,d,7,l[4]),T=t(T,O,A,S,h,12,l[5]),S=t(S,T,O,A,p,17,l[6]),A=t(A,S,T,O,g,22,l[7]),O=t(O,A,S,T,v,7,l[8]),T=t(T,O,A,S,y,12,l[9]),S=t(S,T,O,A,b,17,l[10]),A=t(A,S,T,O,m,22,l[11]),O=t(O,A,S,T,_,7,l[12]),T=t(T,O,A,S,k,12,l[13]),S=t(S,T,O,A,P,17,l[14]),O=n(O,A=t(A,S,T,O,w,22,l[15]),S,T,s,5,l[16]),T=n(T,O,A,S,p,9,l[17]),S=n(S,T,O,A,m,14,l[18]),A=n(A,S,T,O,u,20,l[19]),O=n(O,A,S,T,h,5,l[20]),T=n(T,O,A,S,b,9,l[21]),S=n(S,T,O,A,w,14,l[22]),A=n(A,S,T,O,d,20,l[23]),O=n(O,A,S,T,y,5,l[24]),T=n(T,O,A,S,P,9,l[25]),S=n(S,T,O,A,f,14,l[26]),A=n(A,S,T,O,v,20,l[27]),O=n(O,A,S,T,k,5,l[28]),T=n(T,O,A,S,c,9,l[29]),S=n(S,T,O,A,g,14,l[30]),O=r(O,A=n(A,S,T,O,_,20,l[31]),S,T,h,4,l[32]),T=r(T,O,A,S,v,11,l[33]),S=r(S,T,O,A,m,16,l[34]),A=r(A,S,T,O,P,23,l[35]),O=r(O,A,S,T,s,4,l[36]),T=r(T,O,A,S,d,11,l[37]),S=r(S,T,O,A,g,16,l[38]),A=r(A,S,T,O,b,23,l[39]),O=r(O,A,S,T,k,4,l[40]),T=r(T,O,A,S,u,11,l[41]),S=r(S,T,O,A,f,16,l[42]),A=r(A,S,T,O,p,23,l[43]),O=r(O,A,S,T,y,4,l[44]),T=r(T,O,A,S,_,11,l[45]),S=r(S,T,O,A,w,16,l[46]),O=i(O,A=r(A,S,T,O,c,23,l[47]),S,T,u,6,l[48]),T=i(T,O,A,S,g,10,l[49]),S=i(S,T,O,A,P,15,l[50]),A=i(A,S,T,O,h,21,l[51]),O=i(O,A,S,T,_,6,l[52]),T=i(T,O,A,S,f,10,l[53]),S=i(S,T,O,A,b,15,l[54]),A=i(A,S,T,O,s,21,l[55]),O=i(O,A,S,T,v,6,l[56]),T=i(T,O,A,S,w,10,l[57]),S=i(S,T,O,A,p,15,l[58]),A=i(A,S,T,O,k,21,l[59]),O=i(O,A,S,T,d,6,l[60]),T=i(T,O,A,S,m,10,l[61]),S=i(S,T,O,A,c,15,l[62]),A=i(A,S,T,O,y,21,l[63]);a[0]=a[0]+O|0,a[1]=a[1]+A|0,a[2]=a[2]+S|0,a[3]=a[3]+T|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var o=e.floor(r/4294967296);for(n[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,r=0;4>r;r++)i=n[r],n[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),o.MD5=s._createHelper(c),o.HmacMD5=s._createHmacHelper(c)}(Math),function(){var e,t=u,n=(e=t.lib).Base,r=e.WordArray,i=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),i=r.create(),o=i.words,a=s.keySize,s=s.iterations;o.length>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:c,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var d=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),h=(c=(p.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(o)},parse:function(e){var t=(e=o.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return d.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:c}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,d.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),p=(p.kdf={}).OpenSSL={execute:function(e,t,n,i){return i||(i=r.random(8)),e=a.create({keySize:t+n}).compute(e,i),n=r.create(e.words.slice(t),4*n),e.sigBytes=4*t,d.create({key:e,iv:n,salt:i})}},g=t.PasswordBasedCipher=h.extend({cfg:h.cfg.extend({kdf:p}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=h.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,h.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=u,t=e.lib.BlockCipher,n=e.algo,r=[],i=[],o=[],a=[],s=[],c=[],l=[],f=[],d=[],h=[],p=[],g=0;256>g;g++)p[g]=128>g?g<<1:g<<1^283;var v=0,y=0;for(g=0;256>g;g++){var b=(b=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&b^99;r[v]=b,i[b]=v;var m=p[v],_=p[m],k=p[_],P=257*p[b]^16843008*b;o[v]=P<<24|P>>>8,a[v]=P<<16|P>>>16,s[v]=P<<8|P>>>24,c[v]=P,P=16843009*k^65537*_^257*m^16843008*v,l[b]=P<<24|P>>>8,f[b]=P<<16|P>>>16,d[b]=P<<8|P>>>24,h[b]=P,v?(v=m^p[p[p[k^m]]],y^=p[p[y]]):v=y=1}var w=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],o=0;o>>24]<<24|r[a>>>16&255]<<16|r[a>>>8&255]<<8|r[255&a]):(a=r[(a=a<<8|a>>>24)>>>24]<<24|r[a>>>16&255]<<16|r[a>>>8&255]<<8|r[255&a],a^=w[o/t|0]<<24),i[o]=i[o-t]^a}for(e=this._invKeySchedule=[],t=0;tt||4>=o?a:l[r[a>>>24]]^f[r[a>>>16&255]]^d[r[a>>>8&255]]^h[r[255&a]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,a,s,c,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,l,f,d,h,i),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,o,a,s){for(var u=this._nRounds,c=e[t]^n[0],l=e[t+1]^n[1],f=e[t+2]^n[2],d=e[t+3]^n[3],h=4,p=1;p>>24]^i[l>>>16&255]^o[f>>>8&255]^a[255&d]^n[h++],v=r[l>>>24]^i[f>>>16&255]^o[d>>>8&255]^a[255&c]^n[h++],y=r[f>>>24]^i[d>>>16&255]^o[c>>>8&255]^a[255&l]^n[h++];d=r[d>>>24]^i[c>>>16&255]^o[l>>>8&255]^a[255&f]^n[h++],c=g,l=v,f=y}g=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&d])^n[h++],v=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[d>>>8&255]<<8|s[255&c])^n[h++],y=(s[f>>>24]<<24|s[d>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^n[h++],d=(s[d>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^n[h++],e[t]=g,e[t+1]=v,e[t+2]=y,e[t+3]=d},keySize:8});e.AES=t._createHelper(n)}(),u.mode.ECB=((s=u.lib.BlockCipherMode.extend()).Encryptor=s.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),s.Decryptor=s.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),s),e.exports=u},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),o=r(n(6)),a=r(n(4)),s=(n(2),r(n(13))),u=function(){function e(){(0,i.default)(this,e),(0,a.default)(this,"_listeners",void 0),this._listeners=[]}return(0,o.default)(e,[{key:"addListener",value:function(e){this._listeners.push(e)}},{key:"removeListener",value:function(e){var t=[];this._listeners.forEach((function(n){n!==e&&t.push(n)})),this._listeners=t}},{key:"removeAllListeners",value:function(){this._listeners=[]}},{key:"announcePresence",value:function(e){this._listeners.forEach((function(t){t.presence&&t.presence(e)}))}},{key:"announceStatus",value:function(e){this._listeners.forEach((function(t){t.status&&t.status(e)}))}},{key:"announceMessage",value:function(e){this._listeners.forEach((function(t){t.message&&t.message(e)}))}},{key:"announceSignal",value:function(e){this._listeners.forEach((function(t){t.signal&&t.signal(e)}))}},{key:"announceMessageAction",value:function(e){this._listeners.forEach((function(t){t.messageAction&&t.messageAction(e)}))}},{key:"announceFile",value:function(e){this._listeners.forEach((function(t){t.file&&t.file(e)}))}},{key:"announceObjects",value:function(e){this._listeners.forEach((function(t){t.objects&&t.objects(e)}))}},{key:"announceUser",value:function(e){this._listeners.forEach((function(t){t.user&&t.user(e)}))}},{key:"announceSpace",value:function(e){this._listeners.forEach((function(t){t.space&&t.space(e)}))}},{key:"announceMembership",value:function(e){this._listeners.forEach((function(t){t.membership&&t.membership(e)}))}},{key:"announceNetworkUp",value:function(){var e={};e.category=s.default.PNNetworkUpCategory,this.announceStatus(e)}},{key:"announceNetworkDown",value:function(){var e={};e.category=s.default.PNNetworkDownCategory,this.announceStatus(e)}}]),e}();t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNTimeOperation},t.getURL=function(){return"/time/0"},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(){return{}},t.isAuthSupported=function(){return!1},t.handleResponse=function(e,t){return{timetoken:t[0]}},t.validateParams=function(){};n(2);var i=r(n(1))},function(e,t,n){},function(e,t,n){"use strict";e.exports=function(e){return null!==e&&"object"==typeof e}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),o=r(n(14)),a=r(n(16)),s=r(n(12)),u=r(n(7)),c=r(n(28)),l=r(n(29)),f=r(n(121)),d=r(n(22)),h=r(n(122)),p=r(n(123)),g=n(124),v=(n(2),r(n(131))),y=r(n(132));function b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=(0,s.default)(e);if(t){var i=(0,s.default)(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return(0,a.default)(this,n)}}function m(e){if(!navigator||!navigator.sendBeacon)return!1;navigator.sendBeacon(e)}function _(e){for(var t=d.default.enc.Base64.parse(e).words,n=new ArrayBuffer(4*t.length),r=new Uint8Array(n),i=0,o=0,a=0;a>24,r[o+1]=(16711680&s)>>16,r[o+2]=(65280&s)>>8,r[o+3]=255&s}for(var u=o+3;u>=o;u-=1)0===r[u]&&(i+=1);return i>0?r.buffer.slice(0,r.byteLength-i):r.buffer}function k(e){var t=function(e){return e&&"object"===(0,u.default)(e)&&e.constructor===Object};if(!t(e))return e;var n={};return Object.keys(e).forEach((function(r){var i=function(e){return"string"==typeof e||e instanceof String}(r),o=r,a=e[r];Array.isArray(r)||i&&r.indexOf(",")>=0?o=(i?r.split(","):r).reduce((function(e,t){return e+=String.fromCharCode(t)}),""):(function(e){return"number"==typeof e&&isFinite(e)}(r)||i&&!isNaN(r))&&(o=String.fromCharCode(i?parseInt(r,10):10));n[o]=t(a)?k(a):a})),n}var P=function(e){(0,o.default)(n,e);var t=b(n);function n(e){var r;(0,i.default)(this,n);var o=e.listenToBrowserNetworkEvents,a=void 0===o||o;return e.db=h.default,e.sdkFamily="Web",e.networking=new f.default({del:g.del,get:g.get,post:g.post,patch:g.patch,sendBeacon:m,file:g.file}),e.cbor=new p.default((function(e){return k(c.default.decode(e))}),_),e.PubNubFile=y.default,e.cryptography=new v.default,r=t.call(this,e),a&&(window.addEventListener("offline",(function(){r.networkDownDetected()})),window.addEventListener("online",(function(){r.networkUpDetected()}))),r}return n}(l.default);t.default=P,e.exports=t.default},function(e,t,n){var r,i;!function(o,a){"use strict";var s=Math.pow(2,-24),u=Math.pow(2,32),c=Math.pow(2,53);void 0===(i="function"==typeof(r={encode:function(e){var t,n=new ArrayBuffer(256),r=new DataView(n),i=0;function o(e){for(var o=n.byteLength,a=i+e;o>2,c=0;c>6),r.push(128|63&u)):u<55296?(r.push(224|u>>12),r.push(128|u>>6&63),r.push(128|63&u)):(u=(1023&u)<<10,u|=1023&t.charCodeAt(++n),u+=65536,r.push(240|u>>18),r.push(128|u>>12&63),r.push(128|u>>6&63),r.push(128|63&u))}return f(3,r.length),l(r);default:var d;if(Array.isArray(t))for(f(4,d=t.length),n=0;n>5!==e)throw"Invalid indefinite length element";return n}function g(e,t){for(var n=0;n>10),e.push(56320|1023&r))}}"function"!=typeof t&&(t=function(e){return e}),"function"!=typeof n&&(n=function(){});var v=function e(){var u,f,v=c(),y=v>>5,b=31&v;if(7===y)switch(b){case 25:return function(){var e=new ArrayBuffer(4),t=new DataView(e),n=l(),r=32768&n,i=31744&n,o=1023&n;if(31744===i)i=261120;else if(0!==i)i+=114688;else if(0!==o)return o*s;return t.setUint32(0,r<<16|i<<13|o<<13),t.getFloat32(0)}();case 26:return o(r.getFloat32(i),4);case 27:return o(r.getFloat64(i),8)}if((f=h(b))<0&&(y<2||6=0;)_+=f,m.push(a(f));var k=new Uint8Array(_),P=0;for(u=0;u=0;)g(w,f);else g(w,f);return String.fromCharCode.apply(null,w);case 4:var O;if(f<0)for(O=[];!d();)O.push(e());else for(O=new Array(f),u=0;u1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i1?t-1:0),i=1;i0?a-4:a;for(n=0;n>16&255,u[l++]=t>>8&255,u[l++]=255&t;2===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[l++]=255&t);1===s&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t);return u},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,o=[],a=0,s=n-i;as?s:a+16383));1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function l(e,t,n){for(var i,o,a=[],s=t;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var o,a,s=8*i-r-1,u=(1<>1,l=-7,f=n?i-1:0,d=n?-1:1,h=e[t+f];for(f+=d,o=h&(1<<-l)-1,h>>=-l,l+=s;l>0;o=256*o+e[t+f],f+=d,l-=8);for(a=o&(1<<-l)-1,o>>=-l,l+=r;l>0;a=256*a+e[t+f],f+=d,l-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),o-=c}return(h?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,s,u,c=8*o-i-1,l=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=l):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?d/u:d*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=l?(s=0,a=l):a+f>=1?(s=(t*u-1)*Math.pow(2,i),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[n+h]=255&s,h+=p,s/=256,i-=8);for(a=a<0;e[n+h]=255&a,h+=p,a/=256,c-=8);e[n+h-p]|=128*g}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),o=r(n(5)),a=r(n(6)),s=r(n(4)),u=(r(n(20)),r(n(8)),r(n(23)),r(n(37))),c=r(n(38)),l=r(n(3)),f=(n(2),r(n(13))),d=function(){function e(t){var n=t.subscribeEndpoint,r=t.leaveEndpoint,i=t.heartbeatEndpoint,a=t.setStateEndpoint,l=t.timeEndpoint,f=t.getFileUrl,d=t.config,h=t.crypto,p=t.listenerManager;(0,o.default)(this,e),(0,s.default)(this,"_crypto",void 0),(0,s.default)(this,"_config",void 0),(0,s.default)(this,"_listenerManager",void 0),(0,s.default)(this,"_reconnectionManager",void 0),(0,s.default)(this,"_leaveEndpoint",void 0),(0,s.default)(this,"_heartbeatEndpoint",void 0),(0,s.default)(this,"_setStateEndpoint",void 0),(0,s.default)(this,"_subscribeEndpoint",void 0),(0,s.default)(this,"_getFileUrl",void 0),(0,s.default)(this,"_channels",void 0),(0,s.default)(this,"_presenceChannels",void 0),(0,s.default)(this,"_heartbeatChannels",void 0),(0,s.default)(this,"_heartbeatChannelGroups",void 0),(0,s.default)(this,"_channelGroups",void 0),(0,s.default)(this,"_presenceChannelGroups",void 0),(0,s.default)(this,"_currentTimetoken",void 0),(0,s.default)(this,"_lastTimetoken",void 0),(0,s.default)(this,"_storedTimetoken",void 0),(0,s.default)(this,"_region",void 0),(0,s.default)(this,"_subscribeCall",void 0),(0,s.default)(this,"_heartbeatTimer",void 0),(0,s.default)(this,"_subscriptionStatusAnnounced",void 0),(0,s.default)(this,"_autoNetworkDetection",void 0),(0,s.default)(this,"_isOnline",void 0),(0,s.default)(this,"_pendingChannelSubscriptions",void 0),(0,s.default)(this,"_pendingChannelGroupSubscriptions",void 0),(0,s.default)(this,"_dedupingManager",void 0),this._listenerManager=p,this._config=d,this._leaveEndpoint=r,this._heartbeatEndpoint=i,this._setStateEndpoint=a,this._subscribeEndpoint=n,this._getFileUrl=f,this._crypto=h,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new u.default({timeEndpoint:l}),this._dedupingManager=new c.default({config:d})}return(0,a.default)(e,[{key:"adaptStateChange",value:function(e,t){var n=this,r=e.state,i=e.channels,o=void 0===i?[]:i,a=e.channelGroups,s=void 0===a?[]:a;return o.forEach((function(e){e in n._channels&&(n._channels[e].state=r)})),s.forEach((function(e){e in n._channelGroups&&(n._channelGroups[e].state=r)})),this._setStateEndpoint({state:r,channels:o,channelGroups:s},t)}},{key:"adaptPresenceChange",value:function(e){var t=this,n=e.connected,r=e.channels,i=void 0===r?[]:r,o=e.channelGroups,a=void 0===o?[]:o;n?(i.forEach((function(e){t._heartbeatChannels[e]={state:{}}})),a.forEach((function(e){t._heartbeatChannelGroups[e]={state:{}}}))):(i.forEach((function(e){e in t._heartbeatChannels&&delete t._heartbeatChannels[e]})),a.forEach((function(e){e in t._heartbeatChannelGroups&&delete t._heartbeatChannelGroups[e]})),!1===this._config.suppressLeaveEvents&&this._leaveEndpoint({channels:i,channelGroups:a},(function(e){t._listenerManager.announceStatus(e)}))),this.reconnect()}},{key:"adaptSubscribeChange",value:function(e){var t=this,n=e.timetoken,r=e.channels,i=void 0===r?[]:r,o=e.channelGroups,a=void 0===o?[]:o,s=e.withPresence,u=void 0!==s&&s,c=e.withHeartbeats,l=void 0!==c&&c;this._config.subscribeKey&&""!==this._config.subscribeKey?(n&&(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=n),"0"!==this._currentTimetoken&&0!==this._currentTimetoken&&(this._storedTimetoken=this._currentTimetoken,this._currentTimetoken=0),i.forEach((function(e){t._channels[e]={state:{}},u&&(t._presenceChannels[e]={}),(l||t._config.getHeartbeatInterval())&&(t._heartbeatChannels[e]={}),t._pendingChannelSubscriptions.push(e)})),a.forEach((function(e){t._channelGroups[e]={state:{}},u&&(t._presenceChannelGroups[e]={}),(l||t._config.getHeartbeatInterval())&&(t._heartbeatChannelGroups[e]={}),t._pendingChannelGroupSubscriptions.push(e)})),this._subscriptionStatusAnnounced=!1,this.reconnect()):console&&console.log&&console.log("subscribe key missing; aborting subscribe")}},{key:"adaptUnsubscribeChange",value:function(e,t){var n=this,r=e.channels,i=void 0===r?[]:r,o=e.channelGroups,a=void 0===o?[]:o,s=[],u=[];i.forEach((function(e){e in n._channels&&(delete n._channels[e],s.push(e),e in n._heartbeatChannels&&delete n._heartbeatChannels[e]),e in n._presenceChannels&&(delete n._presenceChannels[e],s.push(e))})),a.forEach((function(e){e in n._channelGroups&&(delete n._channelGroups[e],u.push(e),e in n._heartbeatChannelGroups&&delete n._heartbeatChannelGroups[e]),e in n._presenceChannelGroups&&(delete n._channelGroups[e],u.push(e))})),0===s.length&&0===u.length||(!1!==this._config.suppressLeaveEvents||t||this._leaveEndpoint({channels:s,channelGroups:u},(function(e){e.affectedChannels=s,e.affectedChannelGroups=u,e.currentTimetoken=n._currentTimetoken,e.lastTimetoken=n._lastTimetoken,n._listenerManager.announceStatus(e)})),0===Object.keys(this._channels).length&&0===Object.keys(this._presenceChannels).length&&0===Object.keys(this._channelGroups).length&&0===Object.keys(this._presenceChannelGroups).length&&(this._lastTimetoken=0,this._currentTimetoken=0,this._storedTimetoken=null,this._region=null,this._reconnectionManager.stopPolling()),this.reconnect())}},{key:"unsubscribeAll",value:function(e){this.adaptUnsubscribeChange({channels:this.getSubscribedChannels(),channelGroups:this.getSubscribedChannelGroups()},e)}},{key:"getHeartbeatChannels",value:function(){return Object.keys(this._heartbeatChannels)}},{key:"getHeartbeatChannelGroups",value:function(){return Object.keys(this._heartbeatChannelGroups)}},{key:"getSubscribedChannels",value:function(){return Object.keys(this._channels)}},{key:"getSubscribedChannelGroups",value:function(){return Object.keys(this._channelGroups)}},{key:"reconnect",value:function(){this._startSubscribeLoop(),this._registerHeartbeatTimer()}},{key:"disconnect",value:function(){this._stopSubscribeLoop(),this._stopHeartbeatTimer(),this._reconnectionManager.stopPolling()}},{key:"_registerHeartbeatTimer",value:function(){this._stopHeartbeatTimer(),0!==this._config.getHeartbeatInterval()&&void 0!==this._config.getHeartbeatInterval()&&(this._performHeartbeatLoop(),this._heartbeatTimer=setInterval(this._performHeartbeatLoop.bind(this),1e3*this._config.getHeartbeatInterval()))}},{key:"_stopHeartbeatTimer",value:function(){this._heartbeatTimer&&(clearInterval(this._heartbeatTimer),this._heartbeatTimer=null)}},{key:"_performHeartbeatLoop",value:function(){var e=this,t=this.getHeartbeatChannels(),n=this.getHeartbeatChannelGroups(),r={};if(0!==t.length||0!==n.length){this.getSubscribedChannels().forEach((function(t){var n=e._channels[t].state;Object.keys(n).length&&(r[t]=n)})),this.getSubscribedChannelGroups().forEach((function(t){var n=e._channelGroups[t].state;Object.keys(n).length&&(r[t]=n)}));this._heartbeatEndpoint({channels:t,channelGroups:n,state:r},function(t){t.error&&e._config.announceFailedHeartbeats&&e._listenerManager.announceStatus(t),t.error&&e._config.autoNetworkDetection&&e._isOnline&&(e._isOnline=!1,e.disconnect(),e._listenerManager.announceNetworkDown(),e.reconnect()),!t.error&&e._config.announceSuccessfulHeartbeats&&e._listenerManager.announceStatus(t)}.bind(this))}}},{key:"_startSubscribeLoop",value:function(){var e=this;this._stopSubscribeLoop();var t={},n=[],r=[];if(Object.keys(this._channels).forEach((function(r){var i=e._channels[r].state;Object.keys(i).length&&(t[r]=i),n.push(r)})),Object.keys(this._presenceChannels).forEach((function(e){n.push("".concat(e,"-pnpres"))})),Object.keys(this._channelGroups).forEach((function(n){var i=e._channelGroups[n].state;Object.keys(i).length&&(t[n]=i),r.push(n)})),Object.keys(this._presenceChannelGroups).forEach((function(e){r.push("".concat(e,"-pnpres"))})),0!==n.length||0!==r.length){var i={channels:n,channelGroups:r,state:t,timetoken:this._currentTimetoken,filterExpression:this._config.filterExpression,region:this._region};this._subscribeCall=this._subscribeEndpoint(i,this._processSubscribeResponse.bind(this))}}},{key:"_processSubscribeResponse",value:function(e,t){var n=this;if(e.error)e.category===f.default.PNTimeoutCategory?this._startSubscribeLoop():e.category===f.default.PNNetworkIssuesCategory?(this.disconnect(),e.error&&this._config.autoNetworkDetection&&this._isOnline&&(this._isOnline=!1,this._listenerManager.announceNetworkDown()),this._reconnectionManager.onReconnection((function(){n._config.autoNetworkDetection&&!n._isOnline&&(n._isOnline=!0,n._listenerManager.announceNetworkUp()),n.reconnect(),n._subscriptionStatusAnnounced=!0;var t={category:f.default.PNReconnectedCategory,operation:e.operation,lastTimetoken:n._lastTimetoken,currentTimetoken:n._currentTimetoken};n._listenerManager.announceStatus(t)})),this._reconnectionManager.startPolling(),this._listenerManager.announceStatus(e)):e.category===f.default.PNBadRequestCategory?(this._stopHeartbeatTimer(),this._listenerManager.announceStatus(e)):this._listenerManager.announceStatus(e);else{if(this._storedTimetoken?(this._currentTimetoken=this._storedTimetoken,this._storedTimetoken=null):(this._lastTimetoken=this._currentTimetoken,this._currentTimetoken=t.metadata.timetoken),!this._subscriptionStatusAnnounced){var r={};r.category=f.default.PNConnectedCategory,r.operation=e.operation,r.affectedChannels=this._pendingChannelSubscriptions,r.subscribedChannels=this.getSubscribedChannels(),r.affectedChannelGroups=this._pendingChannelGroupSubscriptions,r.lastTimetoken=this._lastTimetoken,r.currentTimetoken=this._currentTimetoken,this._subscriptionStatusAnnounced=!0,this._listenerManager.announceStatus(r),this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[]}var o=t.messages||[],a=this._config,s=a.requestMessageCountThreshold,u=a.dedupeOnSubscribe;if(s&&o.length>=s){var c={};c.category=f.default.PNRequestMessageCountExceededCategory,c.operation=e.operation,this._listenerManager.announceStatus(c)}o.forEach((function(e){var t=e.channel,r=e.subscriptionMatch,o=e.publishMetaData;if(t===r&&(r=null),u){if(n._dedupingManager.isDuplicate(e))return;n._dedupingManager.addEntry(e)}if(l.default.endsWith(e.channel,"-pnpres")){var a={channel:null,subscription:null};a.actualChannel=null!=r?t:null,a.subscribedChannel=null!=r?r:t,t&&(a.channel=t.substring(0,t.lastIndexOf("-pnpres"))),r&&(a.subscription=r.substring(0,r.lastIndexOf("-pnpres"))),a.action=e.payload.action,a.state=e.payload.data,a.timetoken=o.publishTimetoken,a.occupancy=e.payload.occupancy,a.uuid=e.payload.uuid,a.timestamp=e.payload.timestamp,e.payload.join&&(a.join=e.payload.join),e.payload.leave&&(a.leave=e.payload.leave),e.payload.timeout&&(a.timeout=e.payload.timeout),n._listenerManager.announcePresence(a)}else if(1===e.messageType){var s={channel:null,subscription:null};s.channel=t,s.subscription=r,s.timetoken=o.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),s.message=e.payload,n._listenerManager.announceSignal(s)}else if(2===e.messageType){var c={channel:null,subscription:null};c.channel=t,c.subscription=r,c.timetoken=o.publishTimetoken,c.publisher=e.issuingClientId,e.userMetadata&&(c.userMetadata=e.userMetadata),c.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},n._listenerManager.announceObjects(c),"user"===e.payload.type?n._listenerManager.announceUser(c):"space"===e.payload.type?n._listenerManager.announceSpace(c):"membership"===e.payload.type&&n._listenerManager.announceMembership(c)}else if(3===e.messageType){var f={};f.channel=t,f.subscription=r,f.timetoken=o.publishTimetoken,f.publisher=e.issuingClientId,f.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},f.event=e.payload.event,n._listenerManager.announceMessageAction(f)}else if(4===e.messageType){var d={};d.channel=t,d.subscription=r,d.timetoken=o.publishTimetoken,d.publisher=e.issuingClientId;var h=e.payload;if(n._config.cipherKey){var p=n._crypto.decrypt(e.payload);"object"===(0,i.default)(p)&&null!==p&&(h=p)}e.userMetadata&&(d.userMetadata=e.userMetadata),d.message=h.message,d.file={id:h.file.id,name:h.file.name,url:n._getFileUrl({id:h.file.id,name:h.file.name,channel:t})},n._listenerManager.announceFile(d)}else{var g={channel:null,subscription:null};g.actualChannel=null!=r?t:null,g.subscribedChannel=null!=r?r:t,g.channel=t,g.subscription=r,g.timetoken=o.publishTimetoken,g.publisher=e.issuingClientId,e.userMetadata&&(g.userMetadata=e.userMetadata),n._config.cipherKey?g.message=n._crypto.decrypt(e.payload):g.message=e.payload,n._listenerManager.announceMessage(g)}})),this._region=t.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}]),e}();t.default=d,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),o=r(n(6)),a=r(n(4)),s=(r(n(24)),n(2),function(){function e(t){var n=t.timeEndpoint;(0,i.default)(this,e),(0,a.default)(this,"_reconnectionCallback",void 0),(0,a.default)(this,"_timeEndpoint",void 0),(0,a.default)(this,"_timeTimer",void 0),this._timeEndpoint=n}return(0,o.default)(e,[{key:"onReconnection",value:function(e){this._reconnectionCallback=e}},{key:"startPolling",value:function(){this._timeTimer=setInterval(this._performTimeLoop.bind(this),3e3)}},{key:"stopPolling",value:function(){clearInterval(this._timeTimer)}},{key:"_performTimeLoop",value:function(){var e=this;this._timeEndpoint((function(t){t.error||(clearInterval(e._timeTimer),e._reconnectionCallback())}))}}]),e}());t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),o=r(n(6)),a=r(n(4)),s=(r(n(8)),n(2),function(){function e(t){var n=t.config;(0,i.default)(this,e),(0,a.default)(this,"_config",void 0),(0,a.default)(this,"hashHistory",void 0),this.hashHistory=[],this._config=n}return(0,o.default)(e,[{key:"getKey",value:function(e){var t=function(e){var t=0;if(0===e.length)return t;for(var n=0;n=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}]),e}());t.default=s,e.exports=t.default},function(e,t){var n,r,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,c=[],l=!1,f=-1;function d(){l&&u&&(l=!1,u.length?c=u.concat(c):f=-1,c.length&&h())}function h(){if(!l){var e=s(d);l=!0;for(var t=c.length;t;){for(u=c,c=[];++f1)for(var n=1;n0&&(t["l_".concat(n)]=i)})),t}},{key:"startLatencyMeasure",value:function(e,t){e!==s.default.PNSubscribeOperation&&t&&(this._trackedLatencies[t]=Date.now())}},{key:"stopLatencyMeasure",value:function(e,t){if(e!==s.default.PNSubscribeOperation&&t){var n=this._endpointName(e),r=this._latencies[n],i=this._trackedLatencies[t];r||(r=this._latencies[n]=[]),r.push(Date.now()-i),r.length>this._maximumSamplesCount&&r.splice(0,r.length-this._maximumSamplesCount),delete this._trackedLatencies[t]}}},{key:"_averageLatency",value:function(e){return Math.floor(e.reduce((function(e,t){return e+t}),0)/e.length)}},{key:"_endpointName",value:function(e){var t=null;switch(e){case s.default.PNPublishOperation:t="pub";break;case s.default.PNSignalOperation:t="sig";break;case s.default.PNHistoryOperation:case s.default.PNFetchMessagesOperation:case s.default.PNDeleteMessagesOperation:case s.default.PNMessageCounts:t="hist";break;case s.default.PNUnsubscribeOperation:case s.default.PNWhereNowOperation:case s.default.PNHereNowOperation:case s.default.PNHeartbeatOperation:case s.default.PNSetStateOperation:case s.default.PNGetStateOperation:t="pres";break;case s.default.PNAddChannelsToGroupOperation:case s.default.PNRemoveChannelsFromGroupOperation:case s.default.PNChannelGroupsOperation:case s.default.PNRemoveGroupOperation:case s.default.PNChannelsForGroupOperation:t="cg";break;case s.default.PNPushNotificationEnabledChannelsOperation:case s.default.PNRemoveAllPushNotificationsOperation:t="push";break;case s.default.PNCreateUserOperation:case s.default.PNUpdateUserOperation:case s.default.PNDeleteUserOperation:case s.default.PNGetUserOperation:case s.default.PNGetUsersOperation:case s.default.PNCreateSpaceOperation:case s.default.PNUpdateSpaceOperation:case s.default.PNDeleteSpaceOperation:case s.default.PNGetSpaceOperation:case s.default.PNGetSpacesOperation:case s.default.PNGetMembersOperation:case s.default.PNUpdateMembersOperation:case s.default.PNGetMembershipsOperation:case s.default.PNUpdateMembershipsOperation:t="obj";break;case s.default.PNAddMessageActionOperation:case s.default.PNRemoveMessageActionOperation:case s.default.PNGetMessageActionsOperation:t="msga";break;case s.default.PNAccessManagerGrant:case s.default.PNAccessManagerAudit:t="pam";break;case s.default.PNAccessManagerGrantToken:t="pam3";break;default:t="time"}return t}}]),e}();t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.FCMNotificationPayload=t.MPNSNotificationPayload=t.APNSNotificationPayload=void 0;var i=r(n(42)),o=r(n(19)),a=r(n(14)),s=r(n(16)),u=r(n(12)),c=r(n(5)),l=r(n(6)),f=r(n(4));n(2);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t2){var r=this._payload,o=(r.notification,r.data,(0,i.default)(r,["notification","data"]));e=h(h({},e),o)}return this._isSilent?e.notification=this._payload.notification:t=this._payload.notification,Object.keys(e).length&&(n.data=e),t&&Object.keys(t).length&&(n.notification=t),Object.keys(n).length?n:null}},{key:"notification",get:function(){return this._payload.notification}},{key:"data",get:function(){return this._payload.data}},{key:"title",get:function(){return this._title},set:function(e){e&&e.length&&(this._payload.notification.title=e,this._title=e)}},{key:"body",get:function(){return this._body},set:function(e){e&&e.length&&(this._payload.notification.body=e,this._body=e)}},{key:"sound",get:function(){return this._sound},set:function(e){e&&e.length&&(this._payload.notification.sound=e,this._sound=e)}},{key:"icon",get:function(){return this._icon},set:function(e){e&&e.length&&(this._payload.notification.icon=e,this._icon=e)}},{key:"tag",get:function(){return this._tag},set:function(e){e&&e.length&&(this._payload.notification.tag=e,this._tag=e)}},{key:"silent",set:function(e){this._isSilent=e}}]),n}(g);t.FCMNotificationPayload=b;var m=function(){function e(t,n){(0,c.default)(this,e),(0,f.default)(this,"_payload",void 0),(0,f.default)(this,"_debugging",void 0),(0,f.default)(this,"_subtitle",void 0),(0,f.default)(this,"_badge",void 0),(0,f.default)(this,"_sound",void 0),(0,f.default)(this,"_title",void 0),(0,f.default)(this,"_body",void 0),(0,f.default)(this,"apns",void 0),(0,f.default)(this,"mpns",void 0),(0,f.default)(this,"fcm",void 0),this._payload={apns:{},mpns:{},fcm:{}},this._title=t,this._body=n,this.apns=new v(this._payload.apns,t,n),this.mpns=new y(this._payload.mpns,t,n),this.fcm=new b(this._payload.fcm,t,n)}return(0,l.default)(e,[{key:"debugging",set:function(e){this._debugging=e}},{key:"title",get:function(){return this._title}},{key:"body",get:function(){return this._body}},{key:"subtitle",get:function(){return this._subtitle},set:function(e){this._subtitle=e,this.apns.subtitle=e,this.mpns.subtitle=e,this.fcm.subtitle=e}},{key:"badge",get:function(){return this._badge},set:function(e){this._badge=e,this.apns.badge=e,this.mpns.badge=e,this.fcm.badge=e}},{key:"sound",get:function(){return this._sound},set:function(e){this._sound=e,this.apns.sound=e,this.mpns.sound=e,this.fcm.sound=e}}]),(0,l.default)(e,[{key:"buildPayload",value:function(e){var t={};if(e.includes("apns")||e.includes("apns2")){this.apns._apnsPushType=e.includes("apns")?"apns":"apns2";var n=this.apns.toObject();n&&Object.keys(n).length&&(t.pn_apns=n)}if(e.includes("mpns")){var r=this.mpns.toObject();r&&Object.keys(r).length&&(t.pn_mpns=r)}if(e.includes("fcm")){var i=this.fcm.toObject();i&&Object.keys(i).length&&(t.pn_gcm=i)}return Object.keys(t).length&&this._debugging&&(t.pn_debug=!0),t}}]),e}();t.default=m},function(e,t,n){var r=n(43);e.exports=function(e,t){if(null==e)return{};var n,i,o=r(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),o=r(n(5)),a=r(n(6)),s=r(n(4)),u=(r(n(8)),n(2),function(){function e(t,n){(0,o.default)(this,e),(0,s.default)(this,"_config",void 0),(0,s.default)(this,"_cbor",void 0),(0,s.default)(this,"_userTokens",void 0),(0,s.default)(this,"_spaceTokens",void 0),(0,s.default)(this,"_userToken",void 0),(0,s.default)(this,"_spaceToken",void 0),this._config=t,this._cbor=n,this._initializeTokens()}return(0,a.default)(e,[{key:"_initializeTokens",value:function(){this._userTokens={},this._spaceTokens={},this._userToken=void 0,this._spaceToken=void 0}},{key:"_setToken",value:function(e){var t=this,n=this.parseToken(e);n&&n.resources&&(n.resources.users&&Object.keys(n.resources.users).forEach((function(n){t._userTokens[n]=e})),n.resources.spaces&&Object.keys(n.resources.spaces).forEach((function(n){t._spaceTokens[n]=e}))),n&&n.patterns&&(n.patterns.users&&Object.keys(n.patterns.users).length>0&&(this._userToken=e),n.patterns.spaces&&Object.keys(n.patterns.spaces).length>0&&(this._spaceToken=e))}},{key:"setToken",value:function(e){e&&e.length>0&&this._setToken(e)}},{key:"setTokens",value:function(e){var t=this;e&&e.length&&"object"===(0,i.default)(e)&&e.forEach((function(e){t.setToken(e)}))}},{key:"getTokens",value:function(e){var t=this,n={users:{},spaces:{}};return e?(e.user&&(n.user=this._userToken),e.space&&(n.space=this._spaceToken),e.users&&e.users.forEach((function(e){n.users[e]=t._userTokens[e]})),e.space&&e.spaces.forEach((function(e){n.spaces[e]=t._spaceTokens[e]}))):(this._userToken&&(n.user=this._userToken),this._spaceToken&&(n.space=this._spaceToken),Object.keys(this._userTokens).forEach((function(e){n.users[e]=t._userTokens[e]})),Object.keys(this._spaceTokens).forEach((function(e){n.spaces[e]=t._spaceTokens[e]}))),n}},{key:"getToken",value:function(e,t){var n;return t?"user"===e?n=this._userTokens[t]:"space"===e&&(n=this._spaceTokens[t]):"user"===e?n=this._userToken:"space"===e&&(n=this._spaceToken),n}},{key:"extractPermissions",value:function(e){var t={create:!1,read:!1,write:!1,manage:!1,delete:!1};return 16==(16&e)&&(t.create=!0),8==(8&e)&&(t.delete=!0),4==(4&e)&&(t.manage=!0),2==(2&e)&&(t.write=!0),1==(1&e)&&(t.read=!0),t}},{key:"parseToken",value:function(e){var t=this,n=this._cbor.decodeToken(e);if(void 0!==n){var r=Object.keys(n.res.usr),i=Object.keys(n.res.spc),o=Object.keys(n.pat.usr),a=Object.keys(n.pat.spc),s={version:n.v,timestamp:n.t,ttl:n.ttl},u=r.length>0,c=i.length>0;(u||c)&&(s.resources={},u&&(s.resources.users={},r.forEach((function(e){s.resources.users[e]=t.extractPermissions(n.res.usr[e])}))),c&&(s.resources.spaces={},i.forEach((function(e){s.resources.spaces[e]=t.extractPermissions(n.res.spc[e])}))));var l=o.length>0,f=a.length>0;return(l||f)&&(s.patterns={},l&&(s.patterns.users={},o.forEach((function(e){s.patterns.users[e]=t.extractPermissions(n.pat.usr[e])}))),f&&(s.patterns.spaces={},a.forEach((function(e){s.patterns.spaces[e]=t.extractPermissions(n.pat.spc[e])})))),Object.keys(n.meta).length>0&&(s.meta=n.meta),s.signature=n.sig,s}}},{key:"clearTokens",value:function(){this._initializeTokens()}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){var r=n(12),i=n(15),o=n(46),a=n(47);function s(t){var n="function"==typeof Map?new Map:void 0;return e.exports=s=function(e){if(null===e||!o(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return a(e,arguments,r(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),i(t,e)},s(t)}e.exports=s},function(e,t){e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}},function(e,t,n){var r=n(15),i=n(48);function o(t,n,a){return i()?e.exports=o=Reflect.construct:e.exports=o=function(e,t,n){var i=[null];i.push.apply(i,t);var o=new(Function.bind.apply(e,i));return n&&r(o,n.prototype),o},o.apply(null,arguments)}e.exports=o},function(e,t){e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAddChannelsToGroupOperation},t.validateParams=function(e,t){var n=t.channels,r=t.channelGroup,i=e.config;if(!r)return"Missing Channel Group";if(!n||0===n.length)return"Missing Channels";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channels;return{add:(void 0===n?[]:n).join(",")}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveChannelsFromGroupOperation},t.validateParams=function(e,t){var n=t.channels,r=t.channelGroup,i=e.config;if(!r)return"Missing Channel Group";if(!n||0===n.length)return"Missing Channels";if(!i.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channels;return{remove:(void 0===n?[]:n).join(",")}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveGroupOperation},t.validateParams=function(e,t){var n=t.channelGroup,r=e.config;if(!n)return"Missing Channel Group";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(o.default.encodeString(n),"/remove")},t.isAuthSupported=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(){return{}},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNChannelGroupsOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e){var t=e.config;return"/v1/channel-registration/sub-key/".concat(t.subscribeKey,"/channel-group")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{groups:t.payload.groups}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNChannelsForGroupOperation},t.validateParams=function(e,t){var n=t.channelGroup,r=e.config;if(!n)return"Missing Channel Group";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channelGroup,r=e.config;return"/v1/channel-registration/sub-key/".concat(r.subscribeKey,"/channel-group/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{channels:t.payload.channels}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.channels,o=t.topic,a=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!o)return"Missing APNS2 topic";if(!i||0===i.length)return"Missing Channels";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.channels,i=void 0===r?[]:r,o=t.environment,a=void 0===o?"development":o,s=t.topic,u={type:n,add:i.join(",")};"apns2"===n&&delete(u=Object.assign({},u,{environment:a,topic:s})).type;return u},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.channels,o=t.topic,a=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!o)return"Missing APNS2 topic";if(!i||0===i.length)return"Missing Channels";if(!a.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.channels,i=void 0===r?[]:r,o=t.environment,a=void 0===o?"development":o,s=t.topic,u={type:n,remove:i.join(",")};"apns2"===n&&delete(u=Object.assign({},u,{environment:a,topic:s})).type;return u},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNPushNotificationEnabledChannelsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.topic,o=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!i)return"Missing APNS2 topic";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n);return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.environment,i=void 0===r?"development":r,o=t.topic,a={type:n};"apns2"===n&&delete(a=Object.assign({},a,{environment:i,topic:o})).type;return a},t.handleResponse=function(e,t){return{channels:t}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveAllPushNotificationsOperation},t.validateParams=function(e,t){var n=t.device,r=t.pushGateway,i=t.topic,o=e.config;if(!n)return"Missing Device ID (device)";if(!r)return"Missing GW Type (pushGateway: gcm, apns or apns2)";if("apns2"===r&&!i)return"Missing APNS2 topic";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.device,r=t.pushGateway,i=e.config;if("apns2"===r)return"/v2/push/sub-key/".concat(i.subscribeKey,"/devices-apns2/").concat(n,"/remove");return"/v1/push/sub-key/".concat(i.subscribeKey,"/devices/").concat(n,"/remove")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.pushGateway,r=t.environment,i=void 0===r?"development":r,o=t.topic,a={type:n};"apns2"===n&&delete(a=Object.assign({},a,{environment:i,topic:o})).type;return a},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUnsubscribeOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,a=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(o.default.encodeString(a),"/leave")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i={};r.length>0&&(i["channel-group"]=r.join(","));return i},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNWhereNowOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.uuid,i=void 0===r?n.UUID:r;return"/v2/presence/sub-key/".concat(n.subscribeKey,"/uuid/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){if(!t.payload)return{channels:[]};return{channels:t.payload.channels}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNHeartbeatOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,a=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(o.default.encodeString(a),"/heartbeat")},t.isAuthSupported=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i=t.state,o=void 0===i?{}:i,a=e.config,s={};r.length>0&&(s["channel-group"]=r.join(","));return s.state=JSON.stringify(o),s.heartbeat=a.getPresenceTimeout(),s},t.handleResponse=function(){return{}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetStateOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.uuid,i=void 0===r?n.UUID:r,a=t.channels,s=void 0===a?[]:a,u=s.length>0?s.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(o.default.encodeString(u),"/uuid/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i={};r.length>0&&(i["channel-group"]=r.join(","));return i},t.handleResponse=function(e,t,n){var r=n.channels,i=void 0===r?[]:r,o=n.channelGroups,a=void 0===o?[]:o,s={};1===i.length&&0===a.length?s[i[0]]=t.payload:s=t.payload;return{channels:s}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSetStateOperation},t.validateParams=function(e,t){var n=e.config,r=t.state,i=t.channels,o=void 0===i?[]:i,a=t.channelGroups,s=void 0===a?[]:a;if(!r)return"Missing State";if(!n.subscribeKey)return"Missing Subscribe Key";if(0===o.length&&0===s.length)return"Please provide a list of channels and/or channel-groups"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,a=i.length>0?i.join(","):",";return"/v2/presence/sub-key/".concat(n.subscribeKey,"/channel/").concat(o.default.encodeString(a),"/uuid/").concat(n.UUID,"/data")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.state,r=t.channelGroups,i=void 0===r?[]:r,o={};o.state=JSON.stringify(n),i.length>0&&(o["channel-group"]=i.join(","));return o},t.handleResponse=function(e,t){return{state:t.payload}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return o.default.PNHereNowOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,o=t.channelGroups,s=void 0===o?[]:o,u="/v2/presence/sub-key/".concat(n.subscribeKey);if(i.length>0||s.length>0){var c=i.length>0?i.join(","):",";u+="/channel/".concat(a.default.encodeString(c))}return u},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.channelGroups,r=void 0===n?[]:n,i=t.includeUUIDs,o=void 0===i||i,a=t.includeState,s=void 0!==a&&a,c=t.queryParameters,l=void 0===c?{}:c,f={};o||(f.disable_uuids=1);s&&(f.state=1);r.length>0&&(f["channel-group"]=r.join(","));return f=u(u({},f),l)},t.handleResponse=function(e,t,n){var r,i=n.channels,o=void 0===i?[]:i,a=n.channelGroups,s=void 0===a?[]:a,u=n.includeUUIDs,c=void 0===u||u,l=n.includeState,f=void 0!==l&&l;r=o.length>1||s.length>0||0===s.length&&0===o.length?function(){var e={};return e.totalChannels=t.payload.total_channels,e.totalOccupancy=t.payload.total_occupancy,e.channels={},Object.keys(t.payload.channels).forEach((function(n){var r=t.payload.channels[n],i=[];return e.channels[n]={occupants:i,name:n,occupancy:r.occupancy},c&&r.uuids.forEach((function(e){f?i.push({state:e.state,uuid:e.uuid}):i.push({state:null,uuid:e})})),e})),e}():function(){var e={},n=[];return e.totalChannels=1,e.totalOccupancy=t.occupancy,e.channels={},e.channels[o[0]]={occupants:n,name:o[0],occupancy:t.occupancy},c&&t.uuids&&t.uuids.forEach((function(e){f?n.push({state:e.state,uuid:e.uuid}):n.push({state:null,uuid:e})})),e}();return r};var i=r(n(4)),o=(n(2),r(n(1))),a=r(n(3));function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t15)return"Action.type value exceed maximum length of 15"},t.usePost=function(){return!0},t.postURL=function(e,t){var n=e.config,r=t.channel,i=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r,"/message/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.getRequestHeaders=function(){return{"Content-Type":"application/json"}},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.postPayload=function(e,t){return t.action},t.handleResponse=function(e,t){return{data:t.data}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNRemoveMessageActionOperation},t.validateParams=function(e,t){var n=e.config,r=t.channel,i=t.actionTimetoken;if(!t.messageTimetoken)return"Missing message timetoken";if(!i)return"Missing action timetoken";if(!n.subscribeKey)return"Missing Subscribe Key";if(!r)return"Missing message channel"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.actionTimetoken,o=t.messageTimetoken;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r,"/message/").concat(o,"/action/").concat(i)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{data:t.data}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMessageActionsOperation},t.validateParams=function(e,t){var n=e.config,r=t.channel;if(!n.subscribeKey)return"Missing Subscribe Key";if(!r)return"Missing message channel"},t.getURL=function(e,t){var n=e.config,r=t.channel;return"/v1/message-actions/".concat(n.subscribeKey,"/channel/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.limit,r=t.start,i=t.end,o={};n&&(o.limit=n);r&&(o.start=r);i&&(o.end=i);return o},t.handleResponse=function(e,t){var n={data:t.data,start:null,end:null};n.data.length&&(n.end=n.data[n.data.length-1].actionTimetoken,n.start=n.data[0].actionTimetoken);return n};n(2);var i=r(n(1))},function(e,t,n){},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),o={getOperation:function(){return i.default.PNListFilesOperation},validateParams:function(e,t){if(!(null==t?void 0:t.channel))return"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(e,t){var n={};return t.limit&&(n.limit=t.limit),t.next&&(n.next=t.next),n},handleResponse:function(e,t){return{status:t.status,data:t.data,next:t.next,count:t.count}}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),o={getOperation:function(){return i.default.PNGenerateUploadUrlOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?void 0:"name can't be empty":"channel can't be empty"},usePost:function(){return!0},postURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/generate-upload-url")},postPayload:function(e,t){return{name:t.name}},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status,data:t.data,file_upload_request:t.file_upload_request}}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),o=r(n(1)),a=r(n(3)),s={getOperation:function(){return o.default.PNPublishFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.fileId)?(null==t?void 0:t.fileName)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config,r=n.publishKey,i=n.subscribeKey,o=function(e,t){var n=e.crypto,r=e.config,i=JSON.stringify(t);return r.cipherKey&&(i=n.encrypt(i),i=JSON.stringify(i)),i||""}(e,{message:t.message,file:{name:t.fileName,id:t.fileId}});return"/v1/files/publish-file/".concat(r,"/").concat(i,"/0/").concat(t.channel,"/0/").concat(a.default.encodeString(o))},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(e,t){var n={};return t.ttl&&(n.ttl=t.ttl),void 0!==t.storeInHistory&&(n.store=t.storeInHistory?"1":"0"),t.meta&&"object"===(0,i.default)(t.meta)&&(n.meta=JSON.stringify(t.meta)),n},handleResponse:function(e,t){return{timetoken:t[2]}}};t.default=s,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(10)),o=r(n(11)),a=n(18);t.default=function(e){var t,n,r,s,u,c,l,f,d,h=(r=(t=e).generateUploadUrl,s=t.publishFile,u=t.modules,c=u.PubNubFile,l=u.config,f=u.cryptography,d=u.networking,n=(0,o.default)(i.default.mark((function e(t){var n,o,u,h,p,g,v,y,b,m,_,k,P,w,O,T,S,A,M;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.channel,o=t.file,u=t.message,h=t.cipherKey,p=t.meta,g=t.ttl,v=t.storeInHistory,n){e.next=3;break}throw new a.PubNubError("Validation failed, check status for details",(0,a.createValidationError)("channel can't be empty"));case 3:if(o){e.next=5;break}throw new a.PubNubError("Validation failed, check status for details",(0,a.createValidationError)("file can't be empty"));case 5:return y=c.create(o),e.next=8,r({channel:n,name:y.name});case 8:if(b=e.sent,m=b.file_upload_request,_=m.url,k=m.form_fields,P=b.data,w=P.id,O=P.name,!(null!=h?h:l.cipherKey)){e.next=19;break}return e.next=18,f.encryptFile(null!=h?h:l.cipherKey,y,c);case 18:y=e.sent;case 19:if(T=k,y.mimeType&&(T=k.map((function(e){return"Content-Type"===e.key?{key:e.key,value:y.mimeType}:e}))),e.prev=21,!c.supportsFile){e.next=34;break}return e.t0=d,e.t1=_,e.t2=T,e.next=28,y.toFile();case 28:return e.t3=e.sent,e.next=31,e.t0.FILE.call(e.t0,e.t1,e.t2,e.t3);case 31:S=e.sent,e.next=59;break;case 34:if(!c.supportsBuffer){e.next=46;break}return e.t4=d,e.t5=_,e.t6=T,e.next=40,y.toBuffer();case 40:return e.t7=e.sent,e.next=43,e.t4.FILE.call(e.t4,e.t5,e.t6,e.t7);case 43:S=e.sent,e.next=59;break;case 46:if(!c.supportsBlob){e.next=58;break}return e.t8=d,e.t9=_,e.t10=T,e.next=52,y.toBlob();case 52:return e.t11=e.sent,e.next=55,e.t8.FILE.call(e.t8,e.t9,e.t10,e.t11);case 55:S=e.sent,e.next=59;break;case 58:throw new Error("Unsupported environment");case 59:e.next=64;break;case 61:throw e.prev=61,e.t12=e.catch(21),new a.PubNubError("Upload to bucket failed",e.t12);case 64:if(204===S.status){e.next=66;break}throw new a.PubNubError("Upload to bucket was unsuccessful",S);case 66:A=5,M=!1;case 68:if(M||!(A>0)){e.next=80;break}return e.prev=69,e.next=72,s({channel:n,message:u,fileId:w,fileName:O,meta:p,storeInHistory:v,ttl:g});case 72:M=!0,e.next=78;break;case 75:e.prev=75,e.t13=e.catch(69),A-=1;case 78:e.next=68;break;case 80:if(M){e.next=84;break}throw new a.PubNubError("Publish failed. You may want to execute that operation manually using pubnub.publishFile",{channel:n,id:w,name:O});case 84:return e.abrupt("return",{id:w,name:O});case 85:case"end":return e.stop()}}),e,null,[[21,61],[69,75]])}))),function(e){return n.apply(this,arguments)});return function(e,t){var n=h(e);return"function"==typeof t?(n.then((function(e){return t(null,e)})).catch((function(e){return t(e,null)})),n):n}},e.exports=t.default},function(e,t,n){var r=function(e){"use strict";var t=Object.prototype,n=t.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var i=t&&t.prototype instanceof f?t:f,o=Object.create(i.prototype),a=new w(r||[]);return o._invoke=function(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return T()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=_(a,n);if(s){if(s===l)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=c(e,t,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(e,n,a),o}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l={};function f(){}function d(){}function h(){}var p={};p[i]=function(){return this};var g=Object.getPrototypeOf,v=g&&g(g(O([])));v&&v!==t&&n.call(v,i)&&(p=v);var y=h.prototype=f.prototype=Object.create(p);function b(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function m(e,t){var r;this._invoke=function(i,o){function a(){return new t((function(r,a){!function r(i,o,a,s){var u=c(e[i],e,o);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,a,s)}),(function(e){r("throw",e,a,s)})):t.resolve(f).then((function(e){l.value=e,a(l)}),(function(e){return r("throw",e,a,s)}))}s(u.arg)}(i,o,r,a)}))}return r=r?r.then(a,a):a()}}function _(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=c(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,l;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function P(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function O(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function t(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),u=n.call(o,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),P(n),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;P(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:O(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(18);t.default=function(e,t){var n=e.config,i=t.channel,o=t.id,a=t.name;if(!i)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("channel can't be empty"));if(!o)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("file id can't be empty"));if(!a)throw new r.PubNubError("Validation failed, check status for details",(0,r.createValidationError)("file name can't be empty"));return"https://".concat(n.origin,"/v1/files/").concat(n.subscribeKey,"/channels/").concat(i,"/files/").concat(o,"/").concat(a)},e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i,o=r(n(10)),a=r(n(11)),s=r(n(1)),u={getOperation:function(){return s.default.PNDownloadFileOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.name)?(null==t?void 0:t.id)?void 0:"id can't be empty":"name can't be empty":"channel can't be empty"},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},ignoreBody:function(){return!0},forceBuffered:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:(i=(0,a.default)(o.default.mark((function e(t,n,r){var i,a,s,u,c,l;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.PubNubFile,s=t.config,u=t.cryptography,c=n.response.body,!s.cipherKey){e.next=6;break}return e.next=5,u.decrypt(null!==(l=r.cipherKey)&&void 0!==l?l:s.cipherKey,c);case 5:c=e.sent;case 6:return e.abrupt("return",a.create({data:c,name:null!==(i=n.response.name)&&void 0!==i?i:r.name,mimeType:n.response.type}));case 7:case"end":return e.stop()}}),e)}))),function(e,t,n){return i.apply(this,arguments)})};t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(1)),o={getOperation:function(){return i.default.PNListFilesOperation},validateParams:function(e,t){return(null==t?void 0:t.channel)?(null==t?void 0:t.id)?(null==t?void 0:t.name)?void 0:"file name can't be empty":"file id can't be empty":"channel can't be empty"},useDelete:function(){return!0},getURL:function(e,t){var n=e.config;return"/v1/files/".concat(n.subscribeKey,"/channels/").concat(t.channel,"/files/").concat(t.id,"/").concat(t.name)},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("fileUpload")},prepareParams:function(){return{}},handleResponse:function(e,t){return{status:t.status}}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(9)),o=r(n(1)),a={getOperation:function(){return o.default.PNGetAllUUIDMetadataOperation},validateParams:function(){},getURL:function(e){var t=e.config;return"/v2/objects/".concat(t.subscribeKey,"/uuids")},getRequestTimeout:function(e){return e.config.getTransactionTimeout()},isAuthSupported:function(){return!0},getAuthToken:function(e){return e.tokenManager.getToken("user")},prepareParams:function(e,t){var n,r,o,a,s,u,c,l,f={};((null==t||null===(n=t.include)||void 0===n?void 0:n.customFields)&&(f.include="custom"),null==t||null===(r=t.include)||void 0===r?void 0:r.totalCount)&&(f.count=null===(s=t.include)||void 0===s?void 0:s.totalCount);(null==t||null===(o=t.page)||void 0===o?void 0:o.next)&&(f.start=null===(u=t.page)||void 0===u?void 0:u.next);(null==t||null===(a=t.page)||void 0===a?void 0:a.prev)&&(f.end=null===(c=t.page)||void 0===c?void 0:c.prev);((null==t?void 0:t.filter)&&(f.filter=t.filter),f.limit=null==t?void 0:t.limit,null==t?void 0:t.sort)&&(f.sort=Object.entries(null!==(l=t.sort)&&void 0!==l?l:{}).map((function(e){var t=(0,i.default)(e,2),n=t[0],r=t[1];return"asc"===r||"desc"===r?"".concat(n,":").concat(r):n})));return f},handleResponse:function(e,t){return{status:t.status,data:t.data,totalCount:t.totalCount,next:t.next,prev:t.prev}}};t.default=a,e.exports=t.default},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}},function(e,t,n){var r=n(80);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(r.include=o)}return r},t.postPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateUserOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,o=t.custom;if(!r)return"Missing User.id";if(!i)return"Missing User.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(o&&!Object.values(o).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePatch=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(r)},t.patchURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.id)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var o=i.join(",");o.length>0&&(r.include=o)}return r},t.patchPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteUserOperation},t.validateParams=function(e,t){var n=e.config;if(!t)return"Missing UserId";if(!n.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t)||e.tokenManager.getToken("user")},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetUserOperation},t.validateParams=function(e,t){if(!t.userId)return"Missing userId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var o=i.join(",");o.length>0&&(r.include=o)}return r},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetUsersOperation},t.validateParams=function(){},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/users")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e){return e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o=t.filter,a={};r&&(a.limit=r);if(n){var s=[];n.totalCount&&(a.count=!0),n.customFields&&s.push("custom");var u=s.join(",");u.length>0&&(a.include=u)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));o&&(a.filter=o);return a},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNCreateSpaceOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,o=t.custom;if(!r)return"Missing Space.id";if(!i)return"Missing Space.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(o&&!Object.values(o).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePost=function(){return!0},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.postURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.id)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var o=i.join(",");o.length>0&&(r.include=o)}return r},t.postPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateSpaceOperation},t.validateParams=function(e,t){var n=e.config,r=t.id,i=t.name,o=t.custom;if(!r)return"Missing Space.id";if(!i)return"Missing Space.name";if(!n.subscribeKey)return"Missing Subscribe Key";if(o&&!Object.values(o).every((function(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e})))return"Invalid custom type, only string, number and boolean values are allowed."},t.usePatch=function(){return!0},t.getURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(r)},t.patchURL=function(e,t){var n=e.config,r=t.id;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(r)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.id)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var o=i.join(",");o.length>0&&(r.include=o)}return r},t.patchPayload=function(e,t){return function(e,t){return t}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteSpaceOperation},t.validateParams=function(e,t){var n=e.config;if(!t)return"Missing SpaceId";if(!n.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t)||e.tokenManager.getToken("space")},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetSpacesOperation},t.validateParams=function(){},t.getURL=function(e){var t=e.config;return"/v1/objects/".concat(t.subscribeKey,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e){return e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o=t.filter,a={};r&&(a.limit=r);if(n){var s=[];n.totalCount&&(a.count=!0),n.customFields&&s.push("custom");var u=s.join(",");u.length>0&&(a.include=u)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));o&&(a.filter=o);return a},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetSpaceOperation},t.validateParams=function(e,t){if(!t.spaceId)return"Missing spaceId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r={};n?void 0===n.customFields&&(n.customFields=!0):n={customFields:!0};if(n){var i=[];n.customFields&&i.push("custom");var o=i.join(",");o.length>0&&(r.include=o)}return r},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMembersOperation},t.validateParams=function(e,t){if(!t.spaceId)return"Missing spaceId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o=t.filter,a={};r&&(a.limit=r);if(n){var s=[];n.totalCount&&(a.count=!0),n.customFields&&s.push("custom"),n.userFields&&s.push("user"),n.customUserFields&&s.push("user.custom");var u=s.join(",");u.length>0&&(a.include=u)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));o&&(a.filter=o);return a},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o={};r&&(o.limit=r);if(n){var a=[];n.totalCount&&(o.count=!0),n.customFields&&a.push("custom"),n.spaceFields&&a.push("space"),n.customSpaceFields&&a.push("space.custom");var s=a.join(",");s.length>0&&(o.include=s)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.users,r={};n&&n.length>0&&(r.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),r.add.push(t)})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o={};r&&(o.limit=r);if(n){var a=[];n.totalCount&&(o.count=!0),n.customFields&&a.push("custom"),n.spaceFields&&a.push("space"),n.customSpaceFields&&a.push("space.custom");var s=a.join(",");s.length>0&&(o.include=s)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.addMembers,r=t.updateMembers,i=t.removeMembers,o=t.users,a={};n&&n.length>0&&(a.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),a.add.push(t)})));r&&r.length>0&&(a.update=[],r.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),a.update.push(t)})));o&&o.length>0&&(a.update=a.update||[],o.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),a.update.push(t)})));i&&i.length>0&&(a.remove=[],i.forEach((function(e){a.remove.push({id:e})})));return a}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembersOperation},t.validateParams=function(e,t){var n=t.spaceId,r=t.users;if(!n)return"Missing spaceId";if(!r)return"Missing users"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/spaces/").concat(t.spaceId,"/users")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("space",t.spaceId)||e.tokenManager.getToken("space")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o={};r&&(o.limit=r);if(n){var a=[];n.totalCount&&(o.count=!0),n.customFields&&a.push("custom"),n.spaceFields&&a.push("space"),n.customSpaceFields&&a.push("space.custom");var s=a.join(",");s.length>0&&(o.include=s)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.users,r={};n&&n.length>0&&(r.remove=[],n.forEach((function(e){r.remove.push({id:e})})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNGetMembershipsOperation},t.validateParams=function(e,t){if(!t.userId)return"Missing userId"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o=t.filter,a={};r&&(a.limit=r);if(n){var s=[];n.totalCount&&(a.count=!0),n.customFields&&s.push("custom"),n.spaceFields&&s.push("space"),n.customSpaceFields&&s.push("space.custom");var u=s.join(",");u.length>0&&(a.include=u)}i&&(i.next&&(a.start=i.next),i.prev&&(a.end=i.prev));o&&(a.filter=o);return a},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o={};r&&(o.limit=r);if(n){var a=[];n.totalCount&&(o.count=!0),n.customFields&&a.push("custom"),n.spaceFields&&a.push("space"),n.customSpaceFields&&a.push("space.custom");var s=a.join(",");s.length>0&&(o.include=s)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.addMemberships,r=t.updateMemberships,i=t.removeMemberships,o=t.spaces,a={};n&&n.length>0&&(a.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),a.add.push(t)})));r&&r.length>0&&(a.update=[],r.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),a.update.push(t)})));o&&o.length>0&&(a.update=a.update||[],o.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),a.update.push(t)})));i&&i.length>0&&(a.remove=[],i.forEach((function(e){a.remove.push({id:e})})));return a}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o={};r&&(o.limit=r);if(n){var a=[];n.totalCount&&(o.count=!0),n.customFields&&a.push("custom"),n.spaceFields&&a.push("space"),n.customSpaceFields&&a.push("space.custom");var s=a.join(",");s.length>0&&(o.include=s)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.spaces,r={};n&&n.length>0&&(r.add=[],n.forEach((function(e){var t={id:e.id};e.custom&&(t.custom=e.custom),r.add.push(t)})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNUpdateMembershipsOperation},t.validateParams=function(e,t){var n=t.userId,r=t.spaces;if(!n)return"Missing userId";if(!r)return"Missing spaces"},t.getURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.patchURL=function(e,t){var n=e.config;return"/v1/objects/".concat(n.subscribeKey,"/users/").concat(t.userId,"/spaces")},t.usePatch=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.getAuthToken=function(e,t){return e.tokenManager.getToken("user",t.userId)||e.tokenManager.getToken("user")},t.prepareParams=function(e,t){var n=t.include,r=t.limit,i=t.page,o={};r&&(o.limit=r);if(n){var a=[];n.totalCount&&(o.count=!0),n.customFields&&a.push("custom"),n.spaceFields&&a.push("space"),n.customSpaceFields&&a.push("space.custom");var s=a.join(",");s.length>0&&(o.include=s)}i&&(i.next&&(o.start=i.next),i.prev&&(o.end=i.prev));return o},t.patchPayload=function(e,t){return function(e,t){var n=t.spaces,r={};n&&n.length>0&&(r.remove=[],n.forEach((function(e){r.remove.push({id:e})})));return r}(0,t)},t.handleResponse=function(e,t){return t};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerAudit},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e){var t=e.config;return"/v2/auth/audit/sub-key/".concat(t.subscribeKey)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(e,t){var n=t.channel,r=t.channelGroup,i=t.authKeys,o=void 0===i?[]:i,a={};n&&(a.channel=n);r&&(a["channel-group"]=r);o.length>0&&(a.auth=o.join(","));return a},t.handleResponse=function(e,t){return t.payload};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerGrant},t.validateParams=function(e){var t=e.config;if(!t.subscribeKey)return"Missing Subscribe Key";if(!t.publishKey)return"Missing Publish Key";if(!t.secretKey)return"Missing Secret Key"},t.getURL=function(e){var t=e.config;return"/v2/auth/grant/sub-key/".concat(t.subscribeKey)},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(e,t){var n=t.channels,r=void 0===n?[]:n,i=t.channelGroups,o=void 0===i?[]:i,a=t.ttl,s=t.read,u=void 0!==s&&s,c=t.write,l=void 0!==c&&c,f=t.manage,d=void 0!==f&&f,h=t.authKeys,p=void 0===h?[]:h,g=t.delete,v={};v.r=u?"1":"0",v.w=l?"1":"0",v.m=d?"1":"0",v.d=g?"1":"0",r.length>0&&(v.channel=r.join(","));o.length>0&&(v["channel-group"]=o.join(","));p.length>0&&(v.auth=p.join(","));(a||0===a)&&(v.ttl=a);return v},t.handleResponse=function(){return{}};n(2);var i=r(n(1))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNAccessManagerGrantToken},t.extractPermissions=o,t.validateParams=function(e,t){var n=e.config;if(!n.subscribeKey)return"Missing Subscribe Key";if(!n.publishKey)return"Missing Publish Key";if(!n.secretKey)return"Missing Secret Key";if(!t.resources&&!t.patterns)return"Missing either Resources or Patterns.";if(t.resources&&(!t.resources.users||0===Object.keys(t.resources.users).length)&&(!t.resources.spaces||0===Object.keys(t.resources.spaces).length)||t.patterns&&(!t.patterns.users||0===Object.keys(t.patterns.users).length)&&(!t.patterns.spaces||0===Object.keys(t.patterns.spaces).length))return"Missing values for either Resources or Patterns."},t.postURL=function(e){var t=e.config;return"/v3/pam/".concat(t.subscribeKey,"/grant")},t.usePost=function(){return!0},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!1},t.prepareParams=function(){return{}},t.postPayload=function(e,t){return function(e,t){var n=t.ttl,r=t.resources,i=t.patterns,a=t.meta,s={ttl:0,permissions:{resources:{channels:{},groups:{},users:{},spaces:{}},patterns:{channels:{},groups:{},users:{},spaces:{}},meta:{}}};if(r){var u=r.users,c=r.spaces;u&&Object.keys(u).forEach((function(e){s.permissions.resources.users[e]=o(u[e])})),c&&Object.keys(c).forEach((function(e){s.permissions.resources.spaces[e]=o(c[e])}))}if(i){var l=i.users,f=i.spaces;l&&Object.keys(l).forEach((function(e){s.permissions.patterns.users[e]=o(l[e])})),f&&Object.keys(f).forEach((function(e){s.permissions.patterns.spaces[e]=o(f[e])}))}(n||0===n)&&(s.ttl=n);a&&(s.permissions.meta=a);return s}(0,t)},t.handleResponse=function(e,t){return t.data.token};n(2);var i=r(n(1));function o(e){var t=0;return e.create&&(t|=16),e.delete&&(t|=8),e.manage&&(t|=4),e.write&&(t|=2),e.read&&(t|=1),t}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return o.default.PNPublishOperation},t.validateParams=function(e,t){var n=e.config,r=t.message;if(!t.channel)return"Missing Channel";if(!r)return"Missing Message";if(!n.subscribeKey)return"Missing Subscribe Key"},t.usePost=function(e,t){var n=t.sendByPost;return void 0!==n&&n},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.message,o=s(e,i);return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(a.default.encodeString(r),"/0/").concat(a.default.encodeString(o))},t.postURL=function(e,t){var n=e.config,r=t.channel;return"/publish/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(a.default.encodeString(r),"/0")},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.postPayload=function(e,t){var n=t.message;return s(e,n)},t.prepareParams=function(e,t){var n=t.meta,r=t.replicate,o=void 0===r||r,a=t.storeInHistory,s=t.ttl,u={};null!=a&&(u.store=a?"1":"0");s&&(u.ttl=s);!1===o&&(u.norep="true");n&&"object"===(0,i.default)(n)&&(u.meta=JSON.stringify(n));return u},t.handleResponse=function(e,t){return{timetoken:t[2]}};var i=r(n(7)),o=(n(2),r(n(1))),a=r(n(3));function s(e,t){var n=e.crypto,r=e.config,i=JSON.stringify(t);return r.cipherKey&&(i=n.encrypt(i),i=JSON.stringify(i)),i}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSignalOperation},t.validateParams=function(e,t){var n=e.config,r=t.message;if(!t.channel)return"Missing Channel";if(!r)return"Missing Message";if(!n.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channel,i=t.message,a=(s=i,JSON.stringify(s));var s;return"/signal/".concat(n.publishKey,"/").concat(n.subscribeKey,"/0/").concat(o.default.encodeString(r),"/0/").concat(o.default.encodeString(a))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(){return{}},t.handleResponse=function(e,t){return{timetoken:t[2]}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNHistoryOperation},t.validateParams=function(e,t){var n=t.channel,r=e.config;if(!n)return"Missing channel";if(!r.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channel,r=e.config;return"/v2/history/sub-key/".concat(r.subscribeKey,"/channel/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i=t.reverse,o=t.count,a=void 0===o?100:o,s=t.stringifiedTimeToken,u=void 0!==s&&s,c=t.includeMeta,l=void 0!==c&&c,f={include_token:"true"};f.count=a,n&&(f.start=n);r&&(f.end=r);u&&(f.string_message_token="true");null!=i&&(f.reverse=i.toString());l&&(f.include_meta="true");return f},t.handleResponse=function(e,t){var n={messages:[],startTimeToken:t[1],endTimeToken:t[2]};Array.isArray(t[0])&&t[0].forEach((function(t){var r={timetoken:t.timetoken,entry:a(e,t.message)};t.meta&&(r.meta=t.meta),n.messages.push(r)}));return n};n(2);var i=r(n(1)),o=r(n(3));function a(e,t){var n=e.config,r=e.crypto;if(!n.cipherKey)return t;try{return r.decrypt(t)}catch(e){return t}}},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNDeleteMessagesOperation},t.validateParams=function(e,t){var n=t.channel,r=e.config;if(!n)return"Missing channel";if(!r.subscribeKey)return"Missing Subscribe Key"},t.useDelete=function(){return!0},t.getURL=function(e,t){var n=t.channel,r=e.config;return"/v3/history/sub-key/".concat(r.subscribeKey,"/channel/").concat(o.default.encodeString(n))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i={};n&&(i.start=n);r&&(i.end=r);return i},t.handleResponse=function(e,t){return t.payload};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return o.default.PNMessageCounts},t.validateParams=function(e,t){var n=t.channels,r=t.timetoken,i=t.channelTimetokens,o=e.config;if(!n)return"Missing channel";if(r&&i)return"timetoken and channelTimetokens are incompatible together";if(r&&i&&i.length>1&&n.length!==i.length)return"Length of channelTimetokens and channels do not match";if(!o.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=t.channels,r=e.config,i=n.join(",");return"/v3/history/sub-key/".concat(r.subscribeKey,"/message-counts/").concat(a.default.encodeString(i))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.timetoken,r=t.channelTimetokens,o={};if(r&&1===r.length){var a=(0,i.default)(r,1)[0];o.timetoken=a}else r?o.channelsTimetoken=r.join(","):n&&(o.timetoken=n);return o},t.handleResponse=function(e,t){return{channels:t.channels}};var i=r(n(9)),o=r(n(1)),a=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNFetchMessagesOperation},t.validateParams=function(e,t){var n=t.channels,r=t.includeMessageActions,i=void 0!==r&&r,o=e.config;if(!n||0===n.length)return"Missing channels";if(!o.subscribeKey)return"Missing Subscribe Key";if(i&&n.length>1)throw new TypeError("History can return actions data for a single channel only. Either pass a single channel or disable the includeMessageActions flag.")},t.getURL=function(e,t){var n=t.channels,r=void 0===n?[]:n,i=t.includeMessageActions,a=void 0!==i&&i,s=e.config,u=a?"history-with-actions":"history",c=r.length>0?r.join(","):",";return"/v3/".concat(u,"/sub-key/").concat(s.subscribeKey,"/channel/").concat(o.default.encodeString(c))},t.getRequestTimeout=function(e){return e.config.getTransactionTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=t.start,r=t.end,i=t.count,o=t.stringifiedTimeToken,a=void 0!==o&&o,s=t.includeMeta,u=void 0!==s&&s,c=t.includeUuid,l=t.includeUUID,f=void 0===l||l,d=t.includeMessageType,h=void 0===d||d,p={};i&&(p.max=i);n&&(p.start=n);r&&(p.end=r);a&&(p.string_message_token="true");u&&(p.include_meta="true");f&&!1!==c&&(p.include_uuid="true");h&&(p.include_message_type="true");return p},t.handleResponse=function(e,t){var n={channels:{}};return Object.keys(t.channels||{}).forEach((function(r){n.channels[r]=[],(t.channels[r]||[]).forEach((function(t){var i={};i.channel=r,i.timetoken=t.timetoken,i.message=function(e,t){var n=e.config,r=e.crypto;if(!n.cipherKey)return t;try{return r.decrypt(t)}catch(e){return t}}(e,t.message),i.messageType=t.message_type,i.uuid=t.uuid,t.actions&&(i.actions=t.actions,i.data=t.actions),t.meta&&(i.meta=t.meta),n.channels[r].push(i)}))})),n};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.getOperation=function(){return i.default.PNSubscribeOperation},t.validateParams=function(e){if(!e.config.subscribeKey)return"Missing Subscribe Key"},t.getURL=function(e,t){var n=e.config,r=t.channels,i=void 0===r?[]:r,a=i.length>0?i.join(","):",";return"/v2/subscribe/".concat(n.subscribeKey,"/").concat(o.default.encodeString(a),"/0")},t.getRequestTimeout=function(e){return e.config.getSubscribeTimeout()},t.isAuthSupported=function(){return!0},t.prepareParams=function(e,t){var n=e.config,r=t.state,i=t.channelGroups,o=void 0===i?[]:i,a=t.timetoken,s=t.filterExpression,u=t.region,c={heartbeat:n.getPresenceTimeout()};o.length>0&&(c["channel-group"]=o.join(","));s&&s.length>0&&(c["filter-expr"]=s);Object.keys(r).length&&(c.state=JSON.stringify(r));a&&(c.tt=a);u&&(c.tr=u);return c},t.handleResponse=function(e,t){var n=[];t.m.forEach((function(e){var t={publishTimetoken:e.p.t,region:e.p.r},r={shard:parseInt(e.a,10),subscriptionMatch:e.b,channel:e.c,messageType:e.e,payload:e.d,flags:e.f,issuingClientId:e.i,subscribeKey:e.k,originationTimetoken:e.o,userMetadata:e.u,publishMetaData:t};n.push(r)}));var r={timetoken:t.t.t,region:t.t.r};return{messages:n,metadata:r}};n(2);var i=r(n(1)),o=r(n(3))},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(5)),o=r(n(6)),a=r(n(4)),s=(r(n(8)),r(n(13))),u=(n(2),function(){function e(t){var n=this;(0,i.default)(this,e),(0,a.default)(this,"_modules",void 0),(0,a.default)(this,"_config",void 0),(0,a.default)(this,"_maxSubDomain",void 0),(0,a.default)(this,"_currentSubDomain",void 0),(0,a.default)(this,"_standardOrigin",void 0),(0,a.default)(this,"_subscribeOrigin",void 0),(0,a.default)(this,"_providedFQDN",void 0),(0,a.default)(this,"_requestTimeout",void 0),(0,a.default)(this,"_coreParams",void 0),this._modules={},Object.keys(t).forEach((function(e){n._modules[e]=t[e].bind(n)}))}return(0,o.default)(e,[{key:"init",value:function(e){this._config=e,this._maxSubDomain=20,this._currentSubDomain=Math.floor(Math.random()*this._maxSubDomain),this._providedFQDN=(this._config.secure?"https://":"http://")+this._config.origin,this._coreParams={},this.shiftStandardOrigin()}},{key:"nextOrigin",value:function(){return this._providedFQDN.match(/ps\.pndsn\.com$/i)?(this._currentSubDomain+=1,this._currentSubDomain>=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("ps.pndsn.com","ps".concat(e,".pndsn.com"))):this._providedFQDN;var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"FILE",value:function(e,t,n){return this._modules.file(e,t,n)}},{key:"POST",value:function(e,t,n,r){return this._modules.post(e,t,n,r)}},{key:"PATCH",value:function(e,t,n,r){return this._modules.patch(e,t,n,r)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return s.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return s.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return s.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return s.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return s.default.PNNetworkIssuesCategory;if(e.timeout)return s.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return s.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return s.default.PNBadRequestCategory;if(e.response.forbidden)return s.default.PNAccessDeniedCategory}return s.default.PNUnknownCategory}}]),e}());t.default=u,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={get:function(e){try{return localStorage.getItem(e)}catch(e){return null}},set:function(e,t){try{return localStorage.setItem(e,t)}catch(e){return null}}};t.default=r,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=r(n(7)),o=r(n(5)),a=r(n(6)),s=r(n(4)),u=function(){function e(t,n){(0,o.default)(this,e),(0,s.default)(this,"_base64ToBinary",void 0),(0,s.default)(this,"_cborReader",void 0),this._base64ToBinary=n,this._decode=t}return(0,a.default)(e,[{key:"decodeToken",value:function(e){var t="";e.length%4==3?t="=":e.length%4==2&&(t="==");var n=e.replace(/-/gi,"+").replace(/_/gi,"/")+t,r=this._decode(this._base64ToBinary(n));if("object"===(0,i.default)(r))return r}}]),e}();t.default=u,e.exports=t.default},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.file=function(e,t,n){return c.apply(this,arguments)},t.get=function(e,t,n){var r=a.default.get(this.getStandardOrigin()+t.url).set(t.headers).query(e);return u.call(this,r,t,n)},t.post=function(e,t,n,r){var i=a.default.post(this.getStandardOrigin()+n.url).query(e).set(n.headers).send(t);return u.call(this,i,n,r)},t.patch=function(e,t,n,r){var i=a.default.patch(this.getStandardOrigin()+n.url).query(e).set(n.headers).send(t);return u.call(this,i,n,r)},t.del=function(e,t,n){var r=a.default.delete(this.getStandardOrigin()+t.url).set(t.headers).query(e);return u.call(this,r,t,n)};var i=r(n(10)),o=r(n(11)),a=r(n(125));n(2);function s(e){var t=(new Date).getTime(),n=(new Date).toISOString(),r=console&&console.log?console:window&&window.console&&window.console.log?window.console:console;r.log("<<<<<"),r.log("[".concat(n,"]"),"\n",e.url,"\n",e.qs),r.log("-----"),e.on("response",(function(n){var i=(new Date).getTime()-t,o=(new Date).toISOString();r.log(">>>>>>"),r.log("[".concat(o," / ").concat(i,"]"),"\n",e.url,"\n",e.qs,"\n",n.text),r.log("-----")}))}function u(e,t,n){var r=this;this._config.logVerbosity&&(e=e.use(s)),this._config.proxy&&this._modules.proxy&&(e=this._modules.proxy.call(this,e)),this._config.keepAlive&&this._modules.keepAlive&&(e=this._modules.keepAlive(e));var i=e;return!0===t.forceBuffered?i="undefined"==typeof Blob?i.buffer().responseType("arraybuffer"):i.responseType("arraybuffer"):!1===t.forceBuffered&&(i=i.buffer(!1)),i.timeout(t.timeout).end((function(e,i){var o,a={};if(a.error=null!==e,a.operation=t.operation,i&&i.status&&(a.statusCode=i.status),e){if(e.response&&e.response.text&&!r._config.logVerbosity)try{a.errorData=JSON.parse(e.response.text)}catch(t){a.errorData=e}else a.errorData=e;return a.category=r._detectErrorCategory(e),n(a,null)}if(t.ignoreBody)o={headers:i.headers,redirects:i.redirects,response:i};else try{o=JSON.parse(i.text)}catch(e){return a.errorData=i,a.error=!0,n(a,null)}return o.error&&1===o.error&&o.status&&o.message&&o.service?(a.errorData=o,a.statusCode=o.status,a.error=!0,a.category=r._detectErrorCategory(a),n(a,null)):(o.error&&o.error.message&&(a.errorData=o.error),n(a,o))}))}function c(){return(c=(0,o.default)(i.default.mark((function e(t,n,r){var o,s;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=a.default.post(t),n.forEach((function(e){var t=e.key,n=e.value;o=o.field(t,n)})),o.attach("file",r,{contentType:"application/octet-stream"}),e.next=5,o;case 5:return s=e.sent,e.abrupt("return",s);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},function(e,t,n){var r;"undefined"!=typeof window?r=window:"undefined"!=typeof self?r=self:(console.warn("Using browser-only version of superagent in non-browser environment"),r=this);var i=n(126),o=n(127),a=n(26),s=n(128),u=n(130);function c(){}var l=t=e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1==arguments.length?new t.Request("GET",e):new t.Request(e,n)};t.Request=y,l.getXHR=function(){if(!(!r.XMLHttpRequest||r.location&&"file:"==r.location.protocol&&r.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only version of superagent could not find XHR")};var f="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function d(e){if(!a(e))return e;var t=[];for(var n in e)h(t,n,e[n]);return t.join("&")}function h(e,t,n){if(null!=n)if(Array.isArray(n))n.forEach((function(n){h(e,t,n)}));else if(a(n))for(var r in n)h(e,t+"["+r+"]",n[r]);else e.push(encodeURIComponent(t)+"="+encodeURIComponent(n));else null===n&&e.push(encodeURIComponent(t))}function p(e){for(var t,n,r={},i=e.split("&"),o=0,a=i.length;o=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4==n){var r;try{r=t.status}catch(e){r=0}if(!r){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var r=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.onprogress=r.bind(null,"download"),t.upload&&(t.upload.onprogress=r.bind(null,"upload"))}catch(e){}try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof n&&!this._isHost(n)){var i=this._header["content-type"],o=this._serializer||l.serialize[i?i.split(";")[0]:""];!o&&g(i)&&(o=l.serialize["application/json"]),o&&(n=o(n))}for(var a in this.header)null!=this.header[a]&&this.header.hasOwnProperty(a)&&t.setRequestHeader(a,this.header[a]);return this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0!==n?n:null),this},l.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach((function(e){u.prototype[e.toLowerCase()]=function(t,n){var r=new l.Request(e,t);return this._setDefaults(r),n&&r.end(n),r}})),u.prototype.del=u.prototype.delete,l.get=function(e,t,n){var r=l("GET",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},l.head=function(e,t,n){var r=l("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},l.options=function(e,t,n){var r=l("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},l.del=b,l.delete=b,l.patch=function(e,t,n){var r=l("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},l.post=function(e,t,n){var r=l("POST",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},l.put=function(e,t,n){var r=l("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}},function(e,t,n){function r(e){if(e)return function(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}(e)}e.exports=r,r.prototype.on=r.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},r.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var i=0;i=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!=t.status)return!0;if(e){if(e.code&&~o.indexOf(e.code))return!0;if(e.timeout&&"ECONNABORTED"==e.code)return!0;if(e.crossDomain)return!0}return!1},i.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},i.prototype.then=function(e,t){if(!this._fullfilledPromise){var n=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise((function(e,t){n.end((function(n,r){n?t(n):e(r)}))}))}return this._fullfilledPromise.then(e,t)},i.prototype.catch=function(e){return this.then(void 0,e)},i.prototype.use=function(e){return e(this),this},i.prototype.ok=function(e){if("function"!=typeof e)throw Error("Callback required");return this._okCallback=e,this},i.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},i.prototype.get=function(e){return this._header[e.toLowerCase()]},i.prototype.getHeader=i.prototype.get,i.prototype.set=function(e,t){if(r(e)){for(var n in e)this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},i.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},i.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),r(e)){for(var n in e)this.field(n,e[n]);return this}if(Array.isArray(t)){for(var i in t)this.field(e,t[i]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=""+t),this._getFormData().append(e,t),this},i.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},i.prototype._auth=function(e,t,n,r){switch(n.type){case"basic":this.set("Authorization","Basic "+r(e+":"+t));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer "+e)}return this},i.prototype.withCredentials=function(e){return null==e&&(e=!0),this._withCredentials=e,this},i.prototype.redirects=function(e){return this._maxRedirects=e,this},i.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw TypeError("Invalid argument");return this._maxResponseSize=e,this},i.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},i.prototype.send=function(e){var t=r(e),n=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&r(this._data))for(var i in e)this._data[i]=e[i];else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"==n?this._data?this._data+"&"+e:e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},i.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},i.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.indexOf("?")>=0?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.substring(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,t)+"?"+n.join("&")}}},i.prototype._appendQueryString=function(){console.trace("Unsupported")},i.prototype._timeoutError=function(e,t,n){if(!this._aborted){var r=new Error(e+t+"ms exceeded");r.timeout=t,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.abort(),this.callback(r)}},i.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout((function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")}),this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout((function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")}),this._responseTimeout))}},function(e,t,n){"use strict";var r=n(129);function i(e){if(e)return function(e){for(var t in i.prototype)e[t]=i.prototype[t];return e}(e)}e.exports=i,i.prototype.get=function(e){return this.header[e.toLowerCase()]},i.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=r.type(t);var n=r.params(t);for(var i in n)this[i]=n[i];this.links={};try{e.link&&(this.links=r.parseLinks(e.link))}catch(e){}},i.prototype._setStatusProperties=function(e){var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.redirect=3==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.created=201==e,this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.forbidden=403==e,this.notFound=404==e,this.unprocessableEntity=422==e}},function(e,t,n){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce((function(e,t){var n=t.split(/ *= */),r=n.shift(),i=n.shift();return r&&i&&(e[r]=i),e}),{})},t.parseLinks=function(e){return e.split(/ *, */).reduce((function(e,t){var n=t.split(/ *; */),r=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=r,e}),{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},function(e,t){function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach((function(e){n.prototype[e]=function(){return this._defaults.push({fn:e,arguments:arguments}),this}})),n.prototype._setDefaults=function(e){this._defaults.forEach((function(t){e[t.fn].apply(e,t.arguments)}))},e.exports=n},function(e,t,n){"use strict";(function(r){var i=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=i(n(10)),a=i(n(11)),s=i(n(5)),u=i(n(6)),c=i(n(4)),l=i(n(133));function f(e,t){var n=new Uint8Array(e.byteLength+t.byteLength);return n.set(new Uint8Array(e),0),n.set(new Uint8Array(t),e.byteLength),n.buffer}var d=function(){function e(){(0,s.default)(this,e)}var t,n,i,c,d,h,p,g,v;return(0,u.default)(e,[{key:"encrypt",value:(v=(0,a.default)(o.default.mark((function e(t,n){var r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getKey(t);case 2:if(r=e.sent,!(n instanceof ArrayBuffer)){e.next=7;break}return e.abrupt("return",this.encryptArrayBuffer(r,n));case 7:if("string"!=typeof n){e.next=11;break}return e.abrupt("return",this.encryptString(r,n));case 11:throw new Error("Cannot encrypt this file. In browsers file encryption supports only string or ArrayBuffer");case 12:case"end":return e.stop()}}),e,this)}))),function(e,t){return v.apply(this,arguments)})},{key:"decrypt",value:(g=(0,a.default)(o.default.mark((function e(t,n){var r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getKey(t);case 2:if(r=e.sent,!(n instanceof ArrayBuffer)){e.next=7;break}return e.abrupt("return",this.decryptArrayBuffer(r,n));case 7:if("string"!=typeof n){e.next=11;break}return e.abrupt("return",this.decryptString(r,n));case 11:throw new Error("Cannot decrypt this file. In browsers file decryption supports only string or ArrayBuffer");case 12:case"end":return e.stop()}}),e,this)}))),function(e,t){return g.apply(this,arguments)})},{key:"encryptFile",value:(p=(0,a.default)(o.default.mark((function e(t,n,r){var i,a,s;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getKey(t);case 2:return i=e.sent,e.next=5,n.toArrayBuffer();case 5:return a=e.sent,e.next=8,this.encryptArrayBuffer(i,a);case 8:return s=e.sent,e.abrupt("return",r.create({name:n.name,mimeType:"application/octet-stream",data:s}));case 10:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return p.apply(this,arguments)})},{key:"decryptFile",value:(h=(0,a.default)(o.default.mark((function e(t,n,r){var i,a,s;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getKey(t);case 2:return i=e.sent,e.next=5,n.toArrayBuffer();case 5:return a=e.sent,e.next=8,this.decryptArrayBuffer(i,a);case 8:if(s=e.sent,!(n.data instanceof ArrayBuffer)){e.next=13;break}return e.abrupt("return",r.create({name:n.name,data:s}));case 13:throw new Error("Cannot decrypt this file. In browser environment file decryption supports only ArrayBuffer.");case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return h.apply(this,arguments)})},{key:"getKey",value:(d=(0,a.default)(o.default.mark((function e(t){var n,i,a;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.from(t),e.next=3,l.default.subtle.digest("SHA-256",n.buffer);case 3:return i=e.sent,a=r.from(r.from(i).toString("hex").slice(0,32),"utf8").buffer,e.abrupt("return",l.default.subtle.importKey("raw",a,"AES-CBC",!0,["encrypt","decrypt"]));case 6:case"end":return e.stop()}}),e)}))),function(e){return d.apply(this,arguments)})},{key:"encryptArrayBuffer",value:(c=(0,a.default)(o.default.mark((function e(t,n){var r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.default.getRandomValues(new Uint8Array(16)),e.t0=f,e.t1=r.buffer,e.next=5,l.default.subtle.encrypt({name:"AES-CBC",iv:r},t,n);case 5:return e.t2=e.sent,e.abrupt("return",(0,e.t0)(e.t1,e.t2));case 7:case"end":return e.stop()}}),e)}))),function(e,t){return c.apply(this,arguments)})},{key:"decryptArrayBuffer",value:(i=(0,a.default)(o.default.mark((function e(t,n){var r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.slice(0,16),e.abrupt("return",l.default.subtle.decrypt({name:"AES-CBC",iv:r},t,n.slice(16)));case 2:case"end":return e.stop()}}),e)}))),function(e,t){return i.apply(this,arguments)})},{key:"encryptString",value:(n=(0,a.default)(o.default.mark((function e(t,n){var i,a,s,u;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=l.default.getRandomValues(new Uint8Array(16)),a=r.from(n).buffer,e.next=4,l.default.subtle.encrypt({name:"AES-CBC",iv:i},t,a);case 4:return s=e.sent,u=f(i.buffer,s),e.abrupt("return",r.from(u).toString("utf8"));case 7:case"end":return e.stop()}}),e)}))),function(e,t){return n.apply(this,arguments)})},{key:"decryptString",value:(t=(0,a.default)(o.default.mark((function e(t,n){var i,a,s,u;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=r.from(n),a=i.slice(0,16),s=i.slice(16),e.next=5,l.default.subtle.decrypt({name:"AES-CBC",iv:a},t,s);case 5:return u=e.sent,e.abrupt("return",r.from(u).toString("utf8"));case 7:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})},{key:"algo",get:function(){return"aes-256-cbc"}}]),e}();t.default=d,(0,c.default)(d,"IV_LENGTH",16),e.exports=t.default}).call(this,n(21).Buffer)},function(e,t,n){"use strict";var r=n(0);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i,o,a=r(n(10)),s=r(n(11)),u=r(n(5)),c=r(n(6)),l=r(n(4)),f=(n(25),o=i=function(){function e(t){if((0,u.default)(this,e),(0,l.default)(this,"data",void 0),(0,l.default)(this,"name",void 0),(0,l.default)(this,"mimeType",void 0),t instanceof File)this.data=t,this.name=this.data.name,this.mimeType=this.data.type;else if(t.data){var n=t.data;this.data=new File([n],t.name,{type:t.mimeType}),this.name=t.name,t.mimeType&&(this.mimeType=t.mimeType)}if(void 0===this.data)throw new Error("Couldn't construct a file out of supplied options.");if(void 0===this.name)throw new Error("Couldn't guess filename out of the options. Please provide one.")}var t,n,r,i,o,f;return(0,c.default)(e,null,[{key:"create",value:function(e){return new this(e)}}]),(0,c.default)(e,[{key:"toBuffer",value:(f=(0,s.default)(a.default.mark((function e(){return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("This feature is only supported in Node.js environments.");case 1:case"end":return e.stop()}}),e)}))),function(){return f.apply(this,arguments)})},{key:"toStream",value:(o=(0,s.default)(a.default.mark((function e(){return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("This feature is only supported in Node.js environments.");case 1:case"end":return e.stop()}}),e)}))),function(){return o.apply(this,arguments)})},{key:"toBlob",value:(i=(0,s.default)(a.default.mark((function e(){return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.data);case 1:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"toArrayBuffer",value:(r=(0,s.default)(a.default.mark((function e(){var t=this;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new FileReader;r.addEventListener("load",(function(){if(r.result instanceof ArrayBuffer)return e(r.result)})),r.addEventListener("error",(function(){n(r.error)})),r.readAsArrayBuffer(t.data)})));case 1:case"end":return e.stop()}}),e)}))),function(){return r.apply(this,arguments)})},{key:"toString",value:(n=(0,s.default)(a.default.mark((function e(){var t=this;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new FileReader;r.addEventListener("load",(function(){if("string"==typeof r.result)return e(r.result)})),r.addEventListener("error",(function(){n(r.error)})),r.readAsBinaryString(t.data)})));case 1:case"end":return e.stop()}}),e)}))),function(){return n.apply(this,arguments)})},{key:"toFile",value:(t=(0,s.default)(a.default.mark((function e(){return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.data);case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),(0,l.default)(i,"supportsFile","undefined"!=typeof File),(0,l.default)(i,"supportsBlob",!0),(0,l.default)(i,"supportsArrayBuffer",!0),(0,l.default)(i,"supportsBuffer",!1),(0,l.default)(i,"supportsStream",!1),(0,l.default)(i,"supportsString",!0),o);t.default=f,e.exports=t.default},function(e,t,n){"use strict";n.r(t), /** * @file Web Cryptography API shim * @author Artem S Vybornov * @license MIT */ -function(e,t){"function"==typeof define&&define.amd?define([],(function(){return t(e)})):"object"==typeof module&&module.exports?module.exports=t(e):t(e)}("undefined"!=typeof self?self:void 0,(function(e){if("function"!=typeof Promise)throw"Promise support required";var t=e.crypto||e.msCrypto;if(t){var n=t.subtle||t.webkitSubtle;if(n){var i=e.Crypto||t.constructor||Object,a=e.SubtleCrypto||n.constructor||Object,o=(e.CryptoKey||e.Key,e.navigator.userAgent.indexOf("Edge/")>-1),s=!!e.msCrypto&&!o,r=!t.subtle&&!!t.webkitSubtle;if(s||r){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},u={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach((function(e){var i=n[e];n[e]=function(a,o,c){var u,p,l,m,y=[].slice.call(arguments);switch(e){case"generateKey":u=h(a),p=o,l=c;break;case"importKey":u=h(c),p=y[3],l=y[4],"jwk"===a&&((o=g(o)).alg||(o.alg=v(u)),o.key_ops||(o.key_ops="oct"!==o.kty?"d"in o?l.filter(T):l.filter(P):l.slice()),y[1]=b(o));break;case"unwrapKey":u=y[4],p=y[5],l=y[6],y[2]=c._key}if("generateKey"===e&&"HMAC"===u.name&&u.hash)return u.length=u.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[u.hash.name],n.importKey("raw",t.getRandomValues(new Uint8Array(u.length+7>>3)),u,p,l);if(r&&"generateKey"===e&&"RSASSA-PKCS1-v1_5"===u.name&&(!u.modulusLength||u.modulusLength>=2048))return(a=h(a)).name="RSAES-PKCS1-v1_5",delete a.hash,n.generateKey(a,!0,["encrypt","decrypt"]).then((function(e){return Promise.all([n.exportKey("jwk",e.publicKey),n.exportKey("jwk",e.privateKey)])})).then((function(e){return e[0].alg=e[1].alg=v(u),e[0].key_ops=l.filter(P),e[1].key_ops=l.filter(T),Promise.all([n.importKey("jwk",e[0],u,!0,e[0].key_ops),n.importKey("jwk",e[1],u,p,e[1].key_ops)])})).then((function(e){return{publicKey:e[0],privateKey:e[1]}}));if((r||s&&"SHA-1"===(u.hash||{}).name)&&"importKey"===e&&"jwk"===a&&"HMAC"===u.name&&"oct"===o.kty)return n.importKey("raw",f(d(o.k)),c,y[3],y[4]);if(r&&"importKey"===e&&("spki"===a||"pkcs8"===a))return n.importKey("jwk",x(o),c,y[3],y[4]);if(s&&"unwrapKey"===e)return n.decrypt(y[3],c,o).then((function(e){return n.importKey(a,e,y[4],y[5],y[6])}));try{m=i.apply(n,y)}catch(e){return Promise.reject(e)}return s&&(m=new Promise((function(e,t){m.onabort=m.onerror=function(e){t(e)},m.oncomplete=function(t){e(t.target.result)}}))),m=m.then((function(e){return"HMAC"===u.name&&(u.length||(u.length=8*e.algorithm.length)),0==u.name.search("RSA")&&(u.modulusLength||(u.modulusLength=(e.publicKey||e).algorithm.modulusLength),u.publicExponent||(u.publicExponent=(e.publicKey||e).algorithm.publicExponent)),e=e.publicKey&&e.privateKey?{publicKey:new w(e.publicKey,u,p,l.filter(P)),privateKey:new w(e.privateKey,u,p,l.filter(T))}:new w(e,u,p,l)}))}})),["exportKey","wrapKey"].forEach((function(e){var t=n[e];n[e]=function(i,a,o){var c,u=[].slice.call(arguments);switch(e){case"exportKey":u[1]=a._key;break;case"wrapKey":u[1]=a._key,u[2]=o._key}if((r||s&&"SHA-1"===(a.algorithm.hash||{}).name)&&"exportKey"===e&&"jwk"===i&&"HMAC"===a.algorithm.name&&(u[0]="raw"),!r||"exportKey"!==e||"spki"!==i&&"pkcs8"!==i||(u[0]="jwk"),s&&"wrapKey"===e)return n.exportKey(i,a).then((function(e){return"jwk"===i&&(e=f(unescape(encodeURIComponent(JSON.stringify(g(e)))))),n.encrypt(u[3],o,e)}));try{c=t.apply(n,u)}catch(e){return Promise.reject(e)}return s&&(c=new Promise((function(e,t){c.onabort=c.onerror=function(e){t(e)},c.oncomplete=function(t){e(t.target.result)}}))),"exportKey"===e&&"jwk"===i&&(c=c.then((function(e){return(r||s&&"SHA-1"===(a.algorithm.hash||{}).name)&&"HMAC"===a.algorithm.name?{kty:"oct",alg:v(a.algorithm),key_ops:a.usages.slice(),ext:!0,k:l(m(e))}:((e=g(e)).alg||(e.alg=v(a.algorithm)),e.key_ops||(e.key_ops="public"===a.type?a.usages.filter(P):"private"===a.type?a.usages.filter(T):a.usages.slice()),e)}))),!r||"exportKey"!==e||"spki"!==i&&"pkcs8"!==i||(c=c.then((function(e){return e=y(g(e))}))),c}})),["encrypt","decrypt","sign","verify"].forEach((function(e){var t=n[e];n[e]=function(i,a,o,r){if(s&&(!o.byteLength||r&&!r.byteLength))throw new Error("Empy input is not allowed");var c,u=[].slice.call(arguments),p=h(i);if(s&&"decrypt"===e&&"AES-GCM"===p.name){var l=i.tagLength>>3;u[2]=(o.buffer||o).slice(0,o.byteLength-l),i.tag=(o.buffer||o).slice(o.byteLength-l)}u[1]=a._key;try{c=t.apply(n,u)}catch(e){return Promise.reject(e)}return s&&(c=new Promise((function(t,n){c.onabort=c.onerror=function(e){n(e)},c.oncomplete=function(n){n=n.target.result;if("encrypt"===e&&n instanceof AesGcmEncryptResult){var i=n.ciphertext,a=n.tag;(n=new Uint8Array(i.byteLength+a.byteLength)).set(new Uint8Array(i),0),n.set(new Uint8Array(a),i.byteLength),n=n.buffer}t(n)}}))),c}})),s){var p=n.digest;n.digest=function(e,t){if(!t.byteLength)throw new Error("Empy input is not allowed");var i;try{i=p.call(n,e,t)}catch(e){return Promise.reject(e)}return i=new Promise((function(e,t){i.onabort=i.onerror=function(e){t(e)},i.oncomplete=function(t){e(t.target.result)}}))},e.crypto=Object.create(t,{getRandomValues:{value:function(e){return t.getRandomValues(e)}},subtle:{value:n}}),e.CryptoKey=w}r&&(t.subtle=n,e.Crypto=i,e.SubtleCrypto=a,e.CryptoKey=w)}}}function l(e){return btoa(e).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function d(e){return e=(e+="===").slice(0,-e.length%4),atob(e.replace(/-/g,"+").replace(/_/g,"/"))}function f(e){for(var t=new Uint8Array(e.length),n=0;n2&&(n=!0,t.shift());var i={ext:!0};switch(t[0][0]){case"1.2.840.113549.1.1.1":var a=["n","e","d","p","q","dp","dq","qi"],o=k(t[1]);n&&o.shift();for(var s=0;s2&&(i=!0,o.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",t=o;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(_(t)).buffer),i?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(_(n)).buffer}function k(e,t){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),t||(t={pos:0,end:e.length}),t.end-t.pos<2||t.end>e.length)throw new RangeError("Malformed DER");var n,i=e[t.pos++],a=e[t.pos++];if(a>=128){if(a&=127,t.end-t.pos=128){var r=i;i=4;for(t.splice(a,0,r>>24&255,r>>16&255,r>>8&255,255&r);i>1&&!(r>>24);)r<<=8,i--;i<4&&t.splice(a,4-i),i|=128}return t.splice(a-2,2,n,i),t}function w(e,t,n,i){Object.defineProperties(this,{_key:{value:e},type:{value:e.type,enumerable:!0},extractable:{value:void 0===n?e.extractable:n,enumerable:!0},algorithm:{value:void 0===t?e.algorithm:t,enumerable:!0},usages:{value:void 0===i?e.usages:i,enumerable:!0}})}function P(e){return"verify"===e||"encrypt"===e||"wrapKey"===e}function T(e){return"sign"===e||"decrypt"===e||"unwrapKey"===e}}));t.default=window.crypto}])})); \ No newline at end of file +function(e,t){"function"==typeof define&&define.amd?define([],(function(){return t(e)})):"object"==typeof module&&module.exports?module.exports=t(e):t(e)}("undefined"!=typeof self?self:void 0,(function(e){if("function"!=typeof Promise)throw"Promise support required";var t=e.crypto||e.msCrypto;if(t){var n=t.subtle||t.webkitSubtle;if(n){var r=e.Crypto||t.constructor||Object,i=e.SubtleCrypto||n.constructor||Object,o=(e.CryptoKey||e.Key,e.navigator.userAgent.indexOf("Edge/")>-1),a=!!e.msCrypto&&!o,s=!t.subtle&&!!t.webkitSubtle;if(a||s){var u={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},c={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach((function(e){var r=n[e];n[e]=function(i,o,u){var c,l,f,p,_=[].slice.call(arguments);switch(e){case"generateKey":c=g(i),l=o,f=u;break;case"importKey":c=g(u),l=_[3],f=_[4],"jwk"===i&&((o=y(o)).alg||(o.alg=v(c)),o.key_ops||(o.key_ops="oct"!==o.kty?"d"in o?f.filter(T):f.filter(O):f.slice()),_[1]=b(o));break;case"unwrapKey":c=_[4],l=_[5],f=_[6],_[2]=u._key}if("generateKey"===e&&"HMAC"===c.name&&c.hash)return c.length=c.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[c.hash.name],n.importKey("raw",t.getRandomValues(new Uint8Array(c.length+7>>3)),c,l,f);if(s&&"generateKey"===e&&"RSASSA-PKCS1-v1_5"===c.name&&(!c.modulusLength||c.modulusLength>=2048))return(i=g(i)).name="RSAES-PKCS1-v1_5",delete i.hash,n.generateKey(i,!0,["encrypt","decrypt"]).then((function(e){return Promise.all([n.exportKey("jwk",e.publicKey),n.exportKey("jwk",e.privateKey)])})).then((function(e){return e[0].alg=e[1].alg=v(c),e[0].key_ops=f.filter(O),e[1].key_ops=f.filter(T),Promise.all([n.importKey("jwk",e[0],c,!0,e[0].key_ops),n.importKey("jwk",e[1],c,l,e[1].key_ops)])})).then((function(e){return{publicKey:e[0],privateKey:e[1]}}));if((s||a&&"SHA-1"===(c.hash||{}).name)&&"importKey"===e&&"jwk"===i&&"HMAC"===c.name&&"oct"===o.kty)return n.importKey("raw",h(d(o.k)),u,_[3],_[4]);if(s&&"importKey"===e&&("spki"===i||"pkcs8"===i))return n.importKey("jwk",m(o),u,_[3],_[4]);if(a&&"unwrapKey"===e)return n.decrypt(_[3],u,o).then((function(e){return n.importKey(i,e,_[4],_[5],_[6])}));try{p=r.apply(n,_)}catch(e){return Promise.reject(e)}return a&&(p=new Promise((function(e,t){p.onabort=p.onerror=function(e){t(e)},p.oncomplete=function(t){e(t.target.result)}}))),p=p.then((function(e){return"HMAC"===c.name&&(c.length||(c.length=8*e.algorithm.length)),0==c.name.search("RSA")&&(c.modulusLength||(c.modulusLength=(e.publicKey||e).algorithm.modulusLength),c.publicExponent||(c.publicExponent=(e.publicKey||e).algorithm.publicExponent)),e=e.publicKey&&e.privateKey?{publicKey:new w(e.publicKey,c,l,f.filter(O)),privateKey:new w(e.privateKey,c,l,f.filter(T))}:new w(e,c,l,f)}))}})),["exportKey","wrapKey"].forEach((function(e){var t=n[e];n[e]=function(r,i,o){var u,c=[].slice.call(arguments);switch(e){case"exportKey":c[1]=i._key;break;case"wrapKey":c[1]=i._key,c[2]=o._key}if((s||a&&"SHA-1"===(i.algorithm.hash||{}).name)&&"exportKey"===e&&"jwk"===r&&"HMAC"===i.algorithm.name&&(c[0]="raw"),!s||"exportKey"!==e||"spki"!==r&&"pkcs8"!==r||(c[0]="jwk"),a&&"wrapKey"===e)return n.exportKey(r,i).then((function(e){return"jwk"===r&&(e=h(unescape(encodeURIComponent(JSON.stringify(y(e)))))),n.encrypt(c[3],o,e)}));try{u=t.apply(n,c)}catch(e){return Promise.reject(e)}return a&&(u=new Promise((function(e,t){u.onabort=u.onerror=function(e){t(e)},u.oncomplete=function(t){e(t.target.result)}}))),"exportKey"===e&&"jwk"===r&&(u=u.then((function(e){return(s||a&&"SHA-1"===(i.algorithm.hash||{}).name)&&"HMAC"===i.algorithm.name?{kty:"oct",alg:v(i.algorithm),key_ops:i.usages.slice(),ext:!0,k:f(p(e))}:((e=y(e)).alg||(e.alg=v(i.algorithm)),e.key_ops||(e.key_ops="public"===i.type?i.usages.filter(O):"private"===i.type?i.usages.filter(T):i.usages.slice()),e)}))),!s||"exportKey"!==e||"spki"!==r&&"pkcs8"!==r||(u=u.then((function(e){return e=_(y(e))}))),u}})),["encrypt","decrypt","sign","verify"].forEach((function(e){var t=n[e];n[e]=function(r,i,o,s){if(a&&(!o.byteLength||s&&!s.byteLength))throw new Error("Empy input is not allowed");var u,c=[].slice.call(arguments),l=g(r);if(a&&"decrypt"===e&&"AES-GCM"===l.name){var f=r.tagLength>>3;c[2]=(o.buffer||o).slice(0,o.byteLength-f),r.tag=(o.buffer||o).slice(o.byteLength-f)}c[1]=i._key;try{u=t.apply(n,c)}catch(e){return Promise.reject(e)}return a&&(u=new Promise((function(t,n){u.onabort=u.onerror=function(e){n(e)},u.oncomplete=function(n){n=n.target.result;if("encrypt"===e&&n instanceof AesGcmEncryptResult){var r=n.ciphertext,i=n.tag;(n=new Uint8Array(r.byteLength+i.byteLength)).set(new Uint8Array(r),0),n.set(new Uint8Array(i),r.byteLength),n=n.buffer}t(n)}}))),u}})),a){var l=n.digest;n.digest=function(e,t){if(!t.byteLength)throw new Error("Empy input is not allowed");var r;try{r=l.call(n,e,t)}catch(e){return Promise.reject(e)}return r=new Promise((function(e,t){r.onabort=r.onerror=function(e){t(e)},r.oncomplete=function(t){e(t.target.result)}}))},e.crypto=Object.create(t,{getRandomValues:{value:function(e){return t.getRandomValues(e)}},subtle:{value:n}}),e.CryptoKey=w}s&&(t.subtle=n,e.Crypto=r,e.SubtleCrypto=i,e.CryptoKey=w)}}}function f(e){return btoa(e).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function d(e){return e=(e+="===").slice(0,-e.length%4),atob(e.replace(/-/g,"+").replace(/_/g,"/"))}function h(e){for(var t=new Uint8Array(e.length),n=0;n2&&(n=!0,t.shift());var r={ext:!0};switch(t[0][0]){case"1.2.840.113549.1.1.1":var i=["n","e","d","p","q","dp","dq","qi"],o=k(t[1]);n&&o.shift();for(var a=0;a2&&(r=!0,o.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",t=o;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(P(t)).buffer),r?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(P(n)).buffer}function k(e,t){if(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),t||(t={pos:0,end:e.length}),t.end-t.pos<2||t.end>e.length)throw new RangeError("Malformed DER");var n,r=e[t.pos++],i=e[t.pos++];if(i>=128){if(i&=127,t.end-t.pos=128){var s=r;r=4;for(t.splice(i,0,s>>24&255,s>>16&255,s>>8&255,255&s);r>1&&!(s>>24);)s<<=8,r--;r<4&&t.splice(i,4-r),r|=128}return t.splice(i-2,2,n,r),t}function w(e,t,n,r){Object.defineProperties(this,{_key:{value:e},type:{value:e.type,enumerable:!0},extractable:{value:void 0===n?e.extractable:n,enumerable:!0},algorithm:{value:void 0===t?e.algorithm:t,enumerable:!0},usages:{value:void 0===r?e.usages:r,enumerable:!0}})}function O(e){return"verify"===e||"encrypt"===e||"wrapKey"===e}function T(e){return"sign"===e||"decrypt"===e||"unwrapKey"===e}}));t.default=window.crypto}])})); \ No newline at end of file diff --git a/lib/core/components/config.js b/lib/core/components/config.js index a5726f2cd..00bffbb8e 100644 --- a/lib/core/components/config.js +++ b/lib/core/components/config.js @@ -229,7 +229,7 @@ var _default = function () { }, { key: "getVersion", value: function getVersion() { - return '4.29.2'; + return '4.29.3'; } }, { key: "_addPnsdkSuffix", diff --git a/lib/core/components/config.js.map b/lib/core/components/config.js.map index 29e0036d6..17bb6ca41 100644 --- a/lib/core/components/config.js.map +++ b/lib/core/components/config.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/components/config.js"],"names":["PRESENCE_TIMEOUT_MINIMUM","PRESENCE_TIMEOUT_DEFAULT","setup","db","_PNSDKSuffix","_db","instanceId","uuidGenerator","createUUID","secretKey","secret_key","subscribeKey","subscribe_key","publishKey","publish_key","sdkName","sdkFamily","partnerId","setAuthKey","authKey","setCipherKey","cipherKey","setFilterExpression","filterExpression","origin","secure","ssl","restore","proxy","keepAlive","keepAliveSettings","autoNetworkDetection","dedupeOnSubscribe","maximumCacheSize","customEncrypt","customDecrypt","fileUploadPublishRetryLimit","useRandomIVs","location","protocol","logVerbosity","suppressLeaveEvents","announceFailedHeartbeats","announceSuccessfulHeartbeats","useInstanceId","useRequestId","requestMessageCountThreshold","setTransactionTimeout","transactionalRequestTimeout","setSubscribeTimeout","subscribeRequestTimeout","setSendBeaconConfig","useSendBeacon","presenceTimeout","setPresenceTimeout","_presenceTimeout","heartbeatInterval","setHeartbeatInterval","setUUID","_decideUUID","uuid","val","UUID","set","console","log","_heartbeatInterval","_subscribeRequestTimeout","_transactionalRequestTimeout","_useSendBeacon","name","suffix","separator","Object","keys","reduce","result","key","providedUUID","get"],"mappings":"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","sourcesContent":["/* @flow */\n/* global location */\n\nimport uuidGenerator from './uuid';\nimport { InternalSetupStruct, DatabaseInterface, KeepAliveStruct, ProxyStruct } from '../flow_interfaces';\n\nconst PRESENCE_TIMEOUT_MINIMUM: number = 20;\nconst PRESENCE_TIMEOUT_DEFAULT: number = 300;\n\ntype ConfigConstructArgs = {\n setup: InternalSetupStruct,\n db: DatabaseInterface,\n};\n\nexport default class {\n _db: DatabaseInterface;\n\n subscribeKey: string;\n publishKey: string;\n secretKey: string;\n cipherKey: string;\n authKey: string;\n UUID: string;\n\n proxy: ProxyStruct;\n\n /*\n if _useInstanceId is true, this instanceId will be added to all requests\n */\n instanceId: string;\n\n /*\n If the SDK is running as part of another SDK built atop of it, allow a custom pnsdk with name and version.\n */\n sdkName: string;\n\n /*\n keep track of the SDK family for identifier generator\n */\n sdkFamily: string;\n\n /*\n If the SDK is operated by a partner, allow a custom pnsdk item for them.\n */\n partnerId: string;\n\n /*\n filter expression to pass along when subscribing.\n */\n filterExpression: string;\n /*\n configuration to supress leave events; when a presence leave is performed\n this configuration will disallow the leave event from happening\n */\n suppressLeaveEvents: boolean;\n\n /*\n use SSL for http requests?\n */\n secure: boolean;\n\n // Custom optional origin.\n origin: string;\n\n // log verbosity: true to output lots of info\n logVerbosity: boolean;\n\n // if instanceId config is true, the SDK will pass the unique instance identifier to the server as instanceId=\n useInstanceId: boolean;\n\n // if requestId config is true, the SDK will pass a unique request identifier with each request as request_id=\n useRequestId: boolean;\n\n // use connection keep-alive for http requests\n keepAlive: ?boolean;\n\n keepAliveSettings: ?KeepAliveStruct;\n\n // if autoNetworkDetection config is true, the SDK will emit NetworkUp and NetworkDown when there changes in the networking\n autoNetworkDetection: ?boolean;\n\n // alert when a heartbeat works out.\n announceSuccessfulHeartbeats: boolean;\n announceFailedHeartbeats: boolean;\n\n /*\n how long the server will wait before declaring that the client is gone.\n */\n _presenceTimeout: number;\n\n /*\n how often (in seconds) the client should announce its presence to server\n */\n _heartbeatInterval: number;\n\n /*\n how long to wait for the server when running the subscribe loop\n */\n _subscribeRequestTimeout: number;\n /*\n how long to wait for the server when making transactional requests\n */\n _transactionalRequestTimeout: number;\n /*\n use send beacon API when unsubscribing.\n https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon\n */\n _useSendBeacon: boolean;\n\n /*\n allow frameworks to append to the PNSDK parameter\n the key should be an identifier for the specific framework to prevent duplicates\n */\n _PNSDKSuffix: { [key: string]: string };\n\n /*\n if set, the SDK will alert if more messages arrive in one subscribe than the theshold\n */\n requestMessageCountThreshold: number;\n\n /*\n Restore subscription list on disconnection.\n */\n restore: boolean;\n\n /*\n support for client deduping\n */\n dedupeOnSubscribe: boolean;\n\n maximumCacheSize: number;\n\n /*\n support customp encryption and decryption functions.\n */\n customEncrypt: Function; // function to support custome encryption of messages\n\n customDecrypt: Function; // function used to decrypt old version messages\n\n // File Upload\n\n // How many times the publish-file should be retried before giving up\n fileUploadPublishRetryLimit: number;\n useRandomIVs: boolean;\n\n constructor({ setup, db }: ConfigConstructArgs) {\n this._PNSDKSuffix = {};\n this._db = db;\n\n this.instanceId = `pn-${uuidGenerator.createUUID()}`;\n this.secretKey = setup.secretKey || setup.secret_key;\n this.subscribeKey = setup.subscribeKey || setup.subscribe_key;\n this.publishKey = setup.publishKey || setup.publish_key;\n this.sdkName = setup.sdkName;\n this.sdkFamily = setup.sdkFamily;\n this.partnerId = setup.partnerId;\n this.setAuthKey(setup.authKey);\n this.setCipherKey(setup.cipherKey);\n\n this.setFilterExpression(setup.filterExpression);\n\n this.origin = setup.origin || 'ps.pndsn.com';\n this.secure = setup.ssl || false;\n this.restore = setup.restore || false;\n this.proxy = setup.proxy;\n this.keepAlive = setup.keepAlive;\n this.keepAliveSettings = setup.keepAliveSettings;\n this.autoNetworkDetection = setup.autoNetworkDetection || false;\n\n this.dedupeOnSubscribe = setup.dedupeOnSubscribe || false;\n this.maximumCacheSize = setup.maximumCacheSize || 100;\n\n this.customEncrypt = setup.customEncrypt;\n this.customDecrypt = setup.customDecrypt;\n\n this.fileUploadPublishRetryLimit = setup.fileUploadPublishRetryLimit ?? 5;\n this.useRandomIVs = setup.useRandomIVs ?? false;\n\n // if location config exist and we are in https, force secure to true.\n if (typeof location !== 'undefined' && location.protocol === 'https:') {\n this.secure = true;\n }\n\n this.logVerbosity = setup.logVerbosity || false;\n this.suppressLeaveEvents = setup.suppressLeaveEvents || false;\n\n this.announceFailedHeartbeats = setup.announceFailedHeartbeats || true;\n this.announceSuccessfulHeartbeats = setup.announceSuccessfulHeartbeats || false;\n\n this.useInstanceId = setup.useInstanceId || false;\n this.useRequestId = setup.useRequestId || false;\n\n this.requestMessageCountThreshold = setup.requestMessageCountThreshold;\n\n // set timeout to how long a transaction request will wait for the server (default 15 seconds)\n this.setTransactionTimeout(setup.transactionalRequestTimeout || 15 * 1000);\n // set timeout to how long a subscribe event loop will run (default 310 seconds)\n this.setSubscribeTimeout(setup.subscribeRequestTimeout || 310 * 1000);\n // set config on beacon (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon) usage\n this.setSendBeaconConfig(setup.useSendBeacon || true);\n // how long the SDK will report the client to be alive before issuing a timeout\n if (setup.presenceTimeout) {\n this.setPresenceTimeout(setup.presenceTimeout);\n } else {\n this._presenceTimeout = PRESENCE_TIMEOUT_DEFAULT;\n }\n\n if (setup.heartbeatInterval != null) {\n this.setHeartbeatInterval(setup.heartbeatInterval);\n }\n\n this.setUUID(this._decideUUID(setup.uuid)); // UUID decision depends on subKey.\n }\n\n // exposed setters\n getAuthKey(): string {\n return this.authKey;\n }\n\n setAuthKey(val: string): this {\n this.authKey = val;\n return this;\n }\n\n setCipherKey(val: string): this {\n this.cipherKey = val;\n return this;\n }\n\n getUUID(): string {\n return this.UUID;\n }\n\n setUUID(val: string): this {\n if (this._db && this._db.set) this._db.set(`${this.subscribeKey}uuid`, val);\n this.UUID = val;\n return this;\n }\n\n getFilterExpression(): string {\n return this.filterExpression;\n }\n\n setFilterExpression(val: string): this {\n this.filterExpression = val;\n return this;\n }\n\n getPresenceTimeout(): number {\n return this._presenceTimeout;\n }\n\n setPresenceTimeout(val: number): this {\n if (val >= PRESENCE_TIMEOUT_MINIMUM) {\n this._presenceTimeout = val;\n } else {\n this._presenceTimeout = PRESENCE_TIMEOUT_MINIMUM;\n\n // eslint-disable-next-line no-console\n console.log('WARNING: Presence timeout is less than the minimum. Using minimum value: ', this._presenceTimeout);\n }\n\n this.setHeartbeatInterval(this._presenceTimeout / 2 - 1);\n\n return this;\n }\n\n setProxy(proxy: ProxyStruct) {\n this.proxy = proxy;\n }\n\n getHeartbeatInterval(): number {\n return this._heartbeatInterval;\n }\n\n setHeartbeatInterval(val: number): this {\n this._heartbeatInterval = val;\n return this;\n }\n\n // deprecated setters.\n getSubscribeTimeout(): number {\n return this._subscribeRequestTimeout;\n }\n\n setSubscribeTimeout(val: number): this {\n this._subscribeRequestTimeout = val;\n return this;\n }\n\n getTransactionTimeout(): number {\n return this._transactionalRequestTimeout;\n }\n\n setTransactionTimeout(val: number): this {\n this._transactionalRequestTimeout = val;\n return this;\n }\n\n isSendBeaconEnabled(): boolean {\n return this._useSendBeacon;\n }\n\n setSendBeaconConfig(val: boolean): this {\n this._useSendBeacon = val;\n return this;\n }\n\n getVersion(): string {\n return '4.29.2';\n }\n\n _addPnsdkSuffix(name: string, suffix: string) {\n this._PNSDKSuffix[name] = suffix;\n }\n\n _getPnsdkSuffix(separator: string): string {\n return Object.keys(this._PNSDKSuffix).reduce((result, key) => result + separator + this._PNSDKSuffix[key], '');\n }\n\n _decideUUID(providedUUID: string): string {\n // if the uuid was provided by setup, use this UUID.\n if (providedUUID) {\n return providedUUID;\n }\n\n // if the database module is enabled and we have something saved, use this.\n if (this._db && this._db.get && this._db.get(`${this.subscribeKey}uuid`)) {\n return this._db.get(`${this.subscribeKey}uuid`);\n }\n\n // randomize the UUID and push to storage\n return `pn-${uuidGenerator.createUUID()}`;\n }\n}\n"],"file":"config.js"} \ No newline at end of file +{"version":3,"sources":["core/components/config.js"],"names":["PRESENCE_TIMEOUT_MINIMUM","PRESENCE_TIMEOUT_DEFAULT","setup","db","_PNSDKSuffix","_db","instanceId","uuidGenerator","createUUID","secretKey","secret_key","subscribeKey","subscribe_key","publishKey","publish_key","sdkName","sdkFamily","partnerId","setAuthKey","authKey","setCipherKey","cipherKey","setFilterExpression","filterExpression","origin","secure","ssl","restore","proxy","keepAlive","keepAliveSettings","autoNetworkDetection","dedupeOnSubscribe","maximumCacheSize","customEncrypt","customDecrypt","fileUploadPublishRetryLimit","useRandomIVs","location","protocol","logVerbosity","suppressLeaveEvents","announceFailedHeartbeats","announceSuccessfulHeartbeats","useInstanceId","useRequestId","requestMessageCountThreshold","setTransactionTimeout","transactionalRequestTimeout","setSubscribeTimeout","subscribeRequestTimeout","setSendBeaconConfig","useSendBeacon","presenceTimeout","setPresenceTimeout","_presenceTimeout","heartbeatInterval","setHeartbeatInterval","setUUID","_decideUUID","uuid","val","UUID","set","console","log","_heartbeatInterval","_subscribeRequestTimeout","_transactionalRequestTimeout","_useSendBeacon","name","suffix","separator","Object","keys","reduce","result","key","providedUUID","get"],"mappings":"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","sourcesContent":["/* @flow */\n/* global location */\n\nimport uuidGenerator from './uuid';\nimport { InternalSetupStruct, DatabaseInterface, KeepAliveStruct, ProxyStruct } from '../flow_interfaces';\n\nconst PRESENCE_TIMEOUT_MINIMUM: number = 20;\nconst PRESENCE_TIMEOUT_DEFAULT: number = 300;\n\ntype ConfigConstructArgs = {\n setup: InternalSetupStruct,\n db: DatabaseInterface,\n};\n\nexport default class {\n _db: DatabaseInterface;\n\n subscribeKey: string;\n publishKey: string;\n secretKey: string;\n cipherKey: string;\n authKey: string;\n UUID: string;\n\n proxy: ProxyStruct;\n\n /*\n if _useInstanceId is true, this instanceId will be added to all requests\n */\n instanceId: string;\n\n /*\n If the SDK is running as part of another SDK built atop of it, allow a custom pnsdk with name and version.\n */\n sdkName: string;\n\n /*\n keep track of the SDK family for identifier generator\n */\n sdkFamily: string;\n\n /*\n If the SDK is operated by a partner, allow a custom pnsdk item for them.\n */\n partnerId: string;\n\n /*\n filter expression to pass along when subscribing.\n */\n filterExpression: string;\n /*\n configuration to supress leave events; when a presence leave is performed\n this configuration will disallow the leave event from happening\n */\n suppressLeaveEvents: boolean;\n\n /*\n use SSL for http requests?\n */\n secure: boolean;\n\n // Custom optional origin.\n origin: string;\n\n // log verbosity: true to output lots of info\n logVerbosity: boolean;\n\n // if instanceId config is true, the SDK will pass the unique instance identifier to the server as instanceId=\n useInstanceId: boolean;\n\n // if requestId config is true, the SDK will pass a unique request identifier with each request as request_id=\n useRequestId: boolean;\n\n // use connection keep-alive for http requests\n keepAlive: ?boolean;\n\n keepAliveSettings: ?KeepAliveStruct;\n\n // if autoNetworkDetection config is true, the SDK will emit NetworkUp and NetworkDown when there changes in the networking\n autoNetworkDetection: ?boolean;\n\n // alert when a heartbeat works out.\n announceSuccessfulHeartbeats: boolean;\n announceFailedHeartbeats: boolean;\n\n /*\n how long the server will wait before declaring that the client is gone.\n */\n _presenceTimeout: number;\n\n /*\n how often (in seconds) the client should announce its presence to server\n */\n _heartbeatInterval: number;\n\n /*\n how long to wait for the server when running the subscribe loop\n */\n _subscribeRequestTimeout: number;\n /*\n how long to wait for the server when making transactional requests\n */\n _transactionalRequestTimeout: number;\n /*\n use send beacon API when unsubscribing.\n https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon\n */\n _useSendBeacon: boolean;\n\n /*\n allow frameworks to append to the PNSDK parameter\n the key should be an identifier for the specific framework to prevent duplicates\n */\n _PNSDKSuffix: { [key: string]: string };\n\n /*\n if set, the SDK will alert if more messages arrive in one subscribe than the theshold\n */\n requestMessageCountThreshold: number;\n\n /*\n Restore subscription list on disconnection.\n */\n restore: boolean;\n\n /*\n support for client deduping\n */\n dedupeOnSubscribe: boolean;\n\n maximumCacheSize: number;\n\n /*\n support customp encryption and decryption functions.\n */\n customEncrypt: Function; // function to support custome encryption of messages\n\n customDecrypt: Function; // function used to decrypt old version messages\n\n // File Upload\n\n // How many times the publish-file should be retried before giving up\n fileUploadPublishRetryLimit: number;\n useRandomIVs: boolean;\n\n constructor({ setup, db }: ConfigConstructArgs) {\n this._PNSDKSuffix = {};\n this._db = db;\n\n this.instanceId = `pn-${uuidGenerator.createUUID()}`;\n this.secretKey = setup.secretKey || setup.secret_key;\n this.subscribeKey = setup.subscribeKey || setup.subscribe_key;\n this.publishKey = setup.publishKey || setup.publish_key;\n this.sdkName = setup.sdkName;\n this.sdkFamily = setup.sdkFamily;\n this.partnerId = setup.partnerId;\n this.setAuthKey(setup.authKey);\n this.setCipherKey(setup.cipherKey);\n\n this.setFilterExpression(setup.filterExpression);\n\n this.origin = setup.origin || 'ps.pndsn.com';\n this.secure = setup.ssl || false;\n this.restore = setup.restore || false;\n this.proxy = setup.proxy;\n this.keepAlive = setup.keepAlive;\n this.keepAliveSettings = setup.keepAliveSettings;\n this.autoNetworkDetection = setup.autoNetworkDetection || false;\n\n this.dedupeOnSubscribe = setup.dedupeOnSubscribe || false;\n this.maximumCacheSize = setup.maximumCacheSize || 100;\n\n this.customEncrypt = setup.customEncrypt;\n this.customDecrypt = setup.customDecrypt;\n\n this.fileUploadPublishRetryLimit = setup.fileUploadPublishRetryLimit ?? 5;\n this.useRandomIVs = setup.useRandomIVs ?? false;\n\n // if location config exist and we are in https, force secure to true.\n if (typeof location !== 'undefined' && location.protocol === 'https:') {\n this.secure = true;\n }\n\n this.logVerbosity = setup.logVerbosity || false;\n this.suppressLeaveEvents = setup.suppressLeaveEvents || false;\n\n this.announceFailedHeartbeats = setup.announceFailedHeartbeats || true;\n this.announceSuccessfulHeartbeats = setup.announceSuccessfulHeartbeats || false;\n\n this.useInstanceId = setup.useInstanceId || false;\n this.useRequestId = setup.useRequestId || false;\n\n this.requestMessageCountThreshold = setup.requestMessageCountThreshold;\n\n // set timeout to how long a transaction request will wait for the server (default 15 seconds)\n this.setTransactionTimeout(setup.transactionalRequestTimeout || 15 * 1000);\n // set timeout to how long a subscribe event loop will run (default 310 seconds)\n this.setSubscribeTimeout(setup.subscribeRequestTimeout || 310 * 1000);\n // set config on beacon (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon) usage\n this.setSendBeaconConfig(setup.useSendBeacon || true);\n // how long the SDK will report the client to be alive before issuing a timeout\n if (setup.presenceTimeout) {\n this.setPresenceTimeout(setup.presenceTimeout);\n } else {\n this._presenceTimeout = PRESENCE_TIMEOUT_DEFAULT;\n }\n\n if (setup.heartbeatInterval != null) {\n this.setHeartbeatInterval(setup.heartbeatInterval);\n }\n\n this.setUUID(this._decideUUID(setup.uuid)); // UUID decision depends on subKey.\n }\n\n // exposed setters\n getAuthKey(): string {\n return this.authKey;\n }\n\n setAuthKey(val: string): this {\n this.authKey = val;\n return this;\n }\n\n setCipherKey(val: string): this {\n this.cipherKey = val;\n return this;\n }\n\n getUUID(): string {\n return this.UUID;\n }\n\n setUUID(val: string): this {\n if (this._db && this._db.set) this._db.set(`${this.subscribeKey}uuid`, val);\n this.UUID = val;\n return this;\n }\n\n getFilterExpression(): string {\n return this.filterExpression;\n }\n\n setFilterExpression(val: string): this {\n this.filterExpression = val;\n return this;\n }\n\n getPresenceTimeout(): number {\n return this._presenceTimeout;\n }\n\n setPresenceTimeout(val: number): this {\n if (val >= PRESENCE_TIMEOUT_MINIMUM) {\n this._presenceTimeout = val;\n } else {\n this._presenceTimeout = PRESENCE_TIMEOUT_MINIMUM;\n\n // eslint-disable-next-line no-console\n console.log('WARNING: Presence timeout is less than the minimum. Using minimum value: ', this._presenceTimeout);\n }\n\n this.setHeartbeatInterval(this._presenceTimeout / 2 - 1);\n\n return this;\n }\n\n setProxy(proxy: ProxyStruct) {\n this.proxy = proxy;\n }\n\n getHeartbeatInterval(): number {\n return this._heartbeatInterval;\n }\n\n setHeartbeatInterval(val: number): this {\n this._heartbeatInterval = val;\n return this;\n }\n\n // deprecated setters.\n getSubscribeTimeout(): number {\n return this._subscribeRequestTimeout;\n }\n\n setSubscribeTimeout(val: number): this {\n this._subscribeRequestTimeout = val;\n return this;\n }\n\n getTransactionTimeout(): number {\n return this._transactionalRequestTimeout;\n }\n\n setTransactionTimeout(val: number): this {\n this._transactionalRequestTimeout = val;\n return this;\n }\n\n isSendBeaconEnabled(): boolean {\n return this._useSendBeacon;\n }\n\n setSendBeaconConfig(val: boolean): this {\n this._useSendBeacon = val;\n return this;\n }\n\n getVersion(): string {\n return '4.29.3';\n }\n\n _addPnsdkSuffix(name: string, suffix: string) {\n this._PNSDKSuffix[name] = suffix;\n }\n\n _getPnsdkSuffix(separator: string): string {\n return Object.keys(this._PNSDKSuffix).reduce((result, key) => result + separator + this._PNSDKSuffix[key], '');\n }\n\n _decideUUID(providedUUID: string): string {\n // if the uuid was provided by setup, use this UUID.\n if (providedUUID) {\n return providedUUID;\n }\n\n // if the database module is enabled and we have something saved, use this.\n if (this._db && this._db.get && this._db.get(`${this.subscribeKey}uuid`)) {\n return this._db.get(`${this.subscribeKey}uuid`);\n }\n\n // randomize the UUID and push to storage\n return `pn-${uuidGenerator.createUUID()}`;\n }\n}\n"],"file":"config.js"} \ No newline at end of file diff --git a/lib/core/components/endpoint.js b/lib/core/components/endpoint.js index 29f2e5cfb..ca1e0d1f0 100644 --- a/lib/core/components/endpoint.js +++ b/lib/core/components/endpoint.js @@ -131,6 +131,11 @@ function signRequest(modules, url, outgoingParams, incomingParams, endpoint) { crypto = modules.crypto; var httpMethod = getHttpMethod(modules, endpoint, incomingParams); outgoingParams.timestamp = Math.floor(new Date().getTime() / 1000); + + if (endpoint.getOperation() === 'PNPublishOperation' && endpoint.usePost && endpoint.usePost(modules, incomingParams)) { + httpMethod = 'GET'; + } + var signInput = "".concat(httpMethod, "\n").concat(config.publishKey, "\n").concat(url, "\n").concat(_utils["default"].signPamFromParams(outgoingParams), "\n"); if (httpMethod === 'POST') { diff --git a/lib/core/components/endpoint.js.map b/lib/core/components/endpoint.js.map index 285d2f032..81b4ada1e 100644 --- a/lib/core/components/endpoint.js.map +++ b/lib/core/components/endpoint.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/components/endpoint.js"],"names":["PubNubError","message","status","name","constructor","Error","createError","errorPayload","type","error","createValidationError","decideURL","endpoint","modules","incomingParams","usePost","postURL","usePatch","patchURL","getURL","getAuthToken","token","generatePNSDK","config","sdkName","base","sdkFamily","partnerId","getVersion","pnsdkSuffix","_getPnsdkSuffix","length","getHttpMethod","useDelete","signRequest","url","outgoingParams","crypto","httpMethod","timestamp","Math","floor","Date","getTime","signInput","publishKey","utils","signPamFromParams","payload","postPayload","JSON","stringify","patchPayload","signature","HMACSHA256","replace","networking","telemetryManager","requestId","uuidGenerator","createUUID","callback","promiseComponent","getOperation","operationConstants","PNTimeOperation","PNChannelGroupsOperation","Promise","createPromise","validationResult","validateParams","reject","promise","prepareParams","callInstance","networkingParams","operation","timeout","getRequestTimeout","headers","getRequestHeaders","ignoreBody","forceBuffered","uuid","UUID","pnsdk","telemetryLatencies","operationsLatencyForRequest","Object","keys","useInstanceId","instanceid","instanceId","useRequestId","requestid","isAuthSupported","tokenOrKey","getAuthKey","auth","secretKey","onResponse","stopLatencyMeasure","responseP","handleResponse","then","resolve","result","fulfill","e","startLatencyMeasure","POST","PATCH","DELETE","GET","PNSubscribeOperation"],"mappings":"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","sourcesContent":["import uuidGenerator from './uuid';\nimport { StatusAnnouncement } from '../flow_interfaces';\nimport utils from '../utils';\nimport Config from './config';\nimport operationConstants from '../constants/operations';\n\nexport class PubNubError extends Error {\n constructor(message, status) {\n super(message);\n this.name = this.constructor.name;\n this.status = status;\n this.message = message;\n }\n}\n\nfunction createError(errorPayload: Object, type: string): Object {\n errorPayload.type = type;\n errorPayload.error = true;\n return errorPayload;\n}\n\nexport function createValidationError(message: string): Object {\n return createError({ message }, 'validationError');\n}\n\nfunction decideURL(endpoint, modules, incomingParams) {\n if (endpoint.usePost && endpoint.usePost(modules, incomingParams)) {\n return endpoint.postURL(modules, incomingParams);\n } else if (endpoint.usePatch && endpoint.usePatch(modules, incomingParams)) {\n return endpoint.patchURL(modules, incomingParams);\n } else {\n return endpoint.getURL(modules, incomingParams);\n }\n}\n\nfunction getAuthToken(endpoint, modules, incomingParams) {\n let token;\n\n if (endpoint.getAuthToken) {\n token = endpoint.getAuthToken(modules, incomingParams);\n }\n\n return token;\n}\n\nfunction generatePNSDK(config: Config): string {\n if (config.sdkName) {\n return config.sdkName;\n }\n\n let base = `PubNub-JS-${config.sdkFamily}`;\n\n if (config.partnerId) {\n base += `-${config.partnerId}`;\n }\n\n base += `/${config.getVersion()}`;\n\n let pnsdkSuffix = config._getPnsdkSuffix(' ');\n\n if (pnsdkSuffix.length > 0) {\n base += pnsdkSuffix;\n }\n\n return base;\n}\n\nfunction getHttpMethod(modules, endpoint, incomingParams) {\n if (endpoint.usePost && endpoint.usePost(modules, incomingParams)) {\n return 'POST';\n } else if (endpoint.usePatch && endpoint.usePatch(modules, incomingParams)) {\n return 'PATCH';\n } else if (endpoint.useDelete && endpoint.useDelete(modules, incomingParams)) {\n return 'DELETE';\n } else {\n return 'GET';\n }\n}\n\nfunction signRequest(modules, url, outgoingParams, incomingParams, endpoint) {\n let { config, crypto } = modules;\n\n let httpMethod = getHttpMethod(modules, endpoint, incomingParams);\n\n outgoingParams.timestamp = Math.floor(new Date().getTime() / 1000);\n let signInput = `${httpMethod}\\n${config.publishKey}\\n${url}\\n${utils.signPamFromParams(outgoingParams)}\\n`;\n\n if (httpMethod === 'POST') {\n let payload = endpoint.postPayload(modules, incomingParams);\n if (typeof payload === 'string') {\n signInput += payload;\n } else {\n signInput += JSON.stringify(payload);\n }\n } else if (httpMethod === 'PATCH') {\n let payload = endpoint.patchPayload(modules, incomingParams);\n if (typeof payload === 'string') {\n signInput += payload;\n } else {\n signInput += JSON.stringify(payload);\n }\n }\n\n let signature = `v2.${crypto.HMACSHA256(signInput)}`;\n signature = signature.replace(/\\+/g, '-');\n signature = signature.replace(/\\//g, '_');\n signature = signature.replace(/=+$/, '');\n\n outgoingParams.signature = signature;\n}\n\nexport default function (modules, endpoint, ...args) {\n let { networking, config, telemetryManager } = modules;\n const requestId = uuidGenerator.createUUID();\n let callback = null;\n let promiseComponent = null;\n let incomingParams = {};\n\n if (\n endpoint.getOperation() === operationConstants.PNTimeOperation ||\n endpoint.getOperation() === operationConstants.PNChannelGroupsOperation\n ) {\n callback = args[0];\n } else {\n incomingParams = args[0];\n callback = args[1];\n }\n\n // bridge in Promise support.\n if (typeof Promise !== 'undefined' && !callback) {\n promiseComponent = utils.createPromise();\n }\n\n let validationResult = endpoint.validateParams(modules, incomingParams);\n\n if (validationResult) {\n if (callback) {\n return callback(createValidationError(validationResult));\n } else if (promiseComponent) {\n promiseComponent.reject(\n new PubNubError('Validation failed, check status for details', createValidationError(validationResult))\n );\n return promiseComponent.promise;\n }\n return;\n }\n\n let outgoingParams = endpoint.prepareParams(modules, incomingParams);\n let url = decideURL(endpoint, modules, incomingParams);\n let callInstance;\n let networkingParams = {\n url,\n operation: endpoint.getOperation(),\n timeout: endpoint.getRequestTimeout(modules),\n headers: endpoint.getRequestHeaders ? endpoint.getRequestHeaders() : {},\n ignoreBody: typeof endpoint.ignoreBody === 'function' ? endpoint.ignoreBody(modules) : false,\n forceBuffered:\n typeof endpoint.forceBuffered === 'function' ? endpoint.forceBuffered(modules, incomingParams) : null,\n };\n\n outgoingParams.uuid = config.UUID;\n outgoingParams.pnsdk = generatePNSDK(config);\n\n // Add telemetry information (if there is any available).\n const telemetryLatencies = telemetryManager.operationsLatencyForRequest();\n if (Object.keys(telemetryLatencies).length) {\n outgoingParams = { ...outgoingParams, ...telemetryLatencies };\n }\n\n if (config.useInstanceId) {\n outgoingParams.instanceid = config.instanceId;\n }\n\n if (config.useRequestId) {\n outgoingParams.requestid = requestId;\n }\n\n if (endpoint.isAuthSupported()) {\n let token = getAuthToken(endpoint, modules, incomingParams);\n let tokenOrKey = token || config.getAuthKey();\n\n if (tokenOrKey) {\n outgoingParams.auth = tokenOrKey;\n }\n }\n\n if (config.secretKey) {\n signRequest(modules, url, outgoingParams, incomingParams, endpoint);\n }\n\n let onResponse = (status: StatusAnnouncement, payload: Object) => {\n if (status.error) {\n if (callback) {\n callback(status);\n } else if (promiseComponent) {\n promiseComponent.reject(new PubNubError('PubNub call failed, check status for details', status));\n }\n return;\n }\n\n // Stop endpoint latency tracking.\n telemetryManager.stopLatencyMeasure(endpoint.getOperation(), requestId);\n\n let responseP = endpoint.handleResponse(modules, payload, incomingParams);\n\n if (typeof responseP.then !== 'function') {\n responseP = Promise.resolve(responseP);\n }\n\n responseP\n .then((result) => {\n if (callback) {\n callback(status, result);\n } else if (promiseComponent) {\n promiseComponent.fulfill(result);\n }\n })\n .catch((e) => {\n if (callback) {\n callback(e, null);\n } else if (promiseComponent) {\n promiseComponent.reject(new PubNubError('PubNub call failed, check status for details', e));\n }\n });\n };\n\n // Start endpoint latency tracking.\n telemetryManager.startLatencyMeasure(endpoint.getOperation(), requestId);\n\n if (getHttpMethod(modules, endpoint, incomingParams) === 'POST') {\n let payload = endpoint.postPayload(modules, incomingParams);\n callInstance = networking.POST(outgoingParams, payload, networkingParams, onResponse);\n } else if (getHttpMethod(modules, endpoint, incomingParams) === 'PATCH') {\n let payload = endpoint.patchPayload(modules, incomingParams);\n callInstance = networking.PATCH(outgoingParams, payload, networkingParams, onResponse);\n } else if (getHttpMethod(modules, endpoint, incomingParams) === 'DELETE') {\n callInstance = networking.DELETE(outgoingParams, networkingParams, onResponse);\n } else {\n callInstance = networking.GET(outgoingParams, networkingParams, onResponse);\n }\n\n if (endpoint.getOperation() === operationConstants.PNSubscribeOperation) {\n return callInstance;\n }\n\n if (promiseComponent) {\n return promiseComponent.promise;\n }\n}\n"],"file":"endpoint.js"} \ No newline at end of file +{"version":3,"sources":["core/components/endpoint.js"],"names":["PubNubError","message","status","name","constructor","Error","createError","errorPayload","type","error","createValidationError","decideURL","endpoint","modules","incomingParams","usePost","postURL","usePatch","patchURL","getURL","getAuthToken","token","generatePNSDK","config","sdkName","base","sdkFamily","partnerId","getVersion","pnsdkSuffix","_getPnsdkSuffix","length","getHttpMethod","useDelete","signRequest","url","outgoingParams","crypto","httpMethod","timestamp","Math","floor","Date","getTime","getOperation","signInput","publishKey","utils","signPamFromParams","payload","postPayload","JSON","stringify","patchPayload","signature","HMACSHA256","replace","networking","telemetryManager","requestId","uuidGenerator","createUUID","callback","promiseComponent","operationConstants","PNTimeOperation","PNChannelGroupsOperation","Promise","createPromise","validationResult","validateParams","reject","promise","prepareParams","callInstance","networkingParams","operation","timeout","getRequestTimeout","headers","getRequestHeaders","ignoreBody","forceBuffered","uuid","UUID","pnsdk","telemetryLatencies","operationsLatencyForRequest","Object","keys","useInstanceId","instanceid","instanceId","useRequestId","requestid","isAuthSupported","tokenOrKey","getAuthKey","auth","secretKey","onResponse","stopLatencyMeasure","responseP","handleResponse","then","resolve","result","fulfill","e","startLatencyMeasure","POST","PATCH","DELETE","GET","PNSubscribeOperation"],"mappings":"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","sourcesContent":["import uuidGenerator from './uuid';\nimport { StatusAnnouncement } from '../flow_interfaces';\nimport utils from '../utils';\nimport Config from './config';\nimport operationConstants from '../constants/operations';\n\nexport class PubNubError extends Error {\n constructor(message, status) {\n super(message);\n this.name = this.constructor.name;\n this.status = status;\n this.message = message;\n }\n}\n\nfunction createError(errorPayload: Object, type: string): Object {\n errorPayload.type = type;\n errorPayload.error = true;\n return errorPayload;\n}\n\nexport function createValidationError(message: string): Object {\n return createError({ message }, 'validationError');\n}\n\nfunction decideURL(endpoint, modules, incomingParams) {\n if (endpoint.usePost && endpoint.usePost(modules, incomingParams)) {\n return endpoint.postURL(modules, incomingParams);\n } else if (endpoint.usePatch && endpoint.usePatch(modules, incomingParams)) {\n return endpoint.patchURL(modules, incomingParams);\n } else {\n return endpoint.getURL(modules, incomingParams);\n }\n}\n\nfunction getAuthToken(endpoint, modules, incomingParams) {\n let token;\n\n if (endpoint.getAuthToken) {\n token = endpoint.getAuthToken(modules, incomingParams);\n }\n\n return token;\n}\n\nfunction generatePNSDK(config: Config): string {\n if (config.sdkName) {\n return config.sdkName;\n }\n\n let base = `PubNub-JS-${config.sdkFamily}`;\n\n if (config.partnerId) {\n base += `-${config.partnerId}`;\n }\n\n base += `/${config.getVersion()}`;\n\n let pnsdkSuffix = config._getPnsdkSuffix(' ');\n\n if (pnsdkSuffix.length > 0) {\n base += pnsdkSuffix;\n }\n\n return base;\n}\n\nfunction getHttpMethod(modules, endpoint, incomingParams) {\n if (endpoint.usePost && endpoint.usePost(modules, incomingParams)) {\n return 'POST';\n } else if (endpoint.usePatch && endpoint.usePatch(modules, incomingParams)) {\n return 'PATCH';\n } else if (endpoint.useDelete && endpoint.useDelete(modules, incomingParams)) {\n return 'DELETE';\n } else {\n return 'GET';\n }\n}\n\nfunction signRequest(modules, url, outgoingParams, incomingParams, endpoint) {\n let { config, crypto } = modules;\n\n let httpMethod = getHttpMethod(modules, endpoint, incomingParams);\n\n outgoingParams.timestamp = Math.floor(new Date().getTime() / 1000);\n\n // This is because of a server-side bug, old publish using post should be deprecated\n if (endpoint.getOperation() === 'PNPublishOperation' && endpoint.usePost && endpoint.usePost(modules, incomingParams)) {\n httpMethod = 'GET';\n }\n\n let signInput = `${httpMethod}\\n${config.publishKey}\\n${url}\\n${utils.signPamFromParams(outgoingParams)}\\n`;\n\n if (httpMethod === 'POST') {\n let payload = endpoint.postPayload(modules, incomingParams);\n if (typeof payload === 'string') {\n signInput += payload;\n } else {\n signInput += JSON.stringify(payload);\n }\n } else if (httpMethod === 'PATCH') {\n let payload = endpoint.patchPayload(modules, incomingParams);\n if (typeof payload === 'string') {\n signInput += payload;\n } else {\n signInput += JSON.stringify(payload);\n }\n }\n\n let signature = `v2.${crypto.HMACSHA256(signInput)}`;\n signature = signature.replace(/\\+/g, '-');\n signature = signature.replace(/\\//g, '_');\n signature = signature.replace(/=+$/, '');\n\n outgoingParams.signature = signature;\n}\n\nexport default function (modules, endpoint, ...args) {\n let { networking, config, telemetryManager } = modules;\n const requestId = uuidGenerator.createUUID();\n let callback = null;\n let promiseComponent = null;\n let incomingParams = {};\n\n if (\n endpoint.getOperation() === operationConstants.PNTimeOperation ||\n endpoint.getOperation() === operationConstants.PNChannelGroupsOperation\n ) {\n callback = args[0];\n } else {\n incomingParams = args[0];\n callback = args[1];\n }\n\n // bridge in Promise support.\n if (typeof Promise !== 'undefined' && !callback) {\n promiseComponent = utils.createPromise();\n }\n\n let validationResult = endpoint.validateParams(modules, incomingParams);\n\n if (validationResult) {\n if (callback) {\n return callback(createValidationError(validationResult));\n } else if (promiseComponent) {\n promiseComponent.reject(\n new PubNubError('Validation failed, check status for details', createValidationError(validationResult))\n );\n return promiseComponent.promise;\n }\n return;\n }\n\n let outgoingParams = endpoint.prepareParams(modules, incomingParams);\n let url = decideURL(endpoint, modules, incomingParams);\n let callInstance;\n let networkingParams = {\n url,\n operation: endpoint.getOperation(),\n timeout: endpoint.getRequestTimeout(modules),\n headers: endpoint.getRequestHeaders ? endpoint.getRequestHeaders() : {},\n ignoreBody: typeof endpoint.ignoreBody === 'function' ? endpoint.ignoreBody(modules) : false,\n forceBuffered:\n typeof endpoint.forceBuffered === 'function' ? endpoint.forceBuffered(modules, incomingParams) : null,\n };\n\n outgoingParams.uuid = config.UUID;\n outgoingParams.pnsdk = generatePNSDK(config);\n\n // Add telemetry information (if there is any available).\n const telemetryLatencies = telemetryManager.operationsLatencyForRequest();\n if (Object.keys(telemetryLatencies).length) {\n outgoingParams = { ...outgoingParams, ...telemetryLatencies };\n }\n\n if (config.useInstanceId) {\n outgoingParams.instanceid = config.instanceId;\n }\n\n if (config.useRequestId) {\n outgoingParams.requestid = requestId;\n }\n\n if (endpoint.isAuthSupported()) {\n let token = getAuthToken(endpoint, modules, incomingParams);\n let tokenOrKey = token || config.getAuthKey();\n\n if (tokenOrKey) {\n outgoingParams.auth = tokenOrKey;\n }\n }\n\n if (config.secretKey) {\n signRequest(modules, url, outgoingParams, incomingParams, endpoint);\n }\n\n let onResponse = (status: StatusAnnouncement, payload: Object) => {\n if (status.error) {\n if (callback) {\n callback(status);\n } else if (promiseComponent) {\n promiseComponent.reject(new PubNubError('PubNub call failed, check status for details', status));\n }\n return;\n }\n\n // Stop endpoint latency tracking.\n telemetryManager.stopLatencyMeasure(endpoint.getOperation(), requestId);\n\n let responseP = endpoint.handleResponse(modules, payload, incomingParams);\n\n if (typeof responseP.then !== 'function') {\n responseP = Promise.resolve(responseP);\n }\n\n responseP\n .then((result) => {\n if (callback) {\n callback(status, result);\n } else if (promiseComponent) {\n promiseComponent.fulfill(result);\n }\n })\n .catch((e) => {\n if (callback) {\n callback(e, null);\n } else if (promiseComponent) {\n promiseComponent.reject(new PubNubError('PubNub call failed, check status for details', e));\n }\n });\n };\n\n // Start endpoint latency tracking.\n telemetryManager.startLatencyMeasure(endpoint.getOperation(), requestId);\n\n if (getHttpMethod(modules, endpoint, incomingParams) === 'POST') {\n let payload = endpoint.postPayload(modules, incomingParams);\n callInstance = networking.POST(outgoingParams, payload, networkingParams, onResponse);\n } else if (getHttpMethod(modules, endpoint, incomingParams) === 'PATCH') {\n let payload = endpoint.patchPayload(modules, incomingParams);\n callInstance = networking.PATCH(outgoingParams, payload, networkingParams, onResponse);\n } else if (getHttpMethod(modules, endpoint, incomingParams) === 'DELETE') {\n callInstance = networking.DELETE(outgoingParams, networkingParams, onResponse);\n } else {\n callInstance = networking.GET(outgoingParams, networkingParams, onResponse);\n }\n\n if (endpoint.getOperation() === operationConstants.PNSubscribeOperation) {\n return callInstance;\n }\n\n if (promiseComponent) {\n return promiseComponent.promise;\n }\n}\n"],"file":"endpoint.js"} \ No newline at end of file diff --git a/lib/core/components/subscription_manager.js b/lib/core/components/subscription_manager.js index bd04ee93f..fabefbb0d 100644 --- a/lib/core/components/subscription_manager.js +++ b/lib/core/components/subscription_manager.js @@ -679,6 +679,10 @@ var _default = function () { } } + if (message.userMetadata) { + _announce4.userMetadata = message.userMetadata; + } + _announce4.message = msgPayload.message; _announce4.file = { id: msgPayload.file.id, diff --git a/lib/core/components/subscription_manager.js.map b/lib/core/components/subscription_manager.js.map index 719d66d64..3d86513a4 100644 --- a/lib/core/components/subscription_manager.js.map +++ b/lib/core/components/subscription_manager.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/components/subscription_manager.js"],"names":["subscribeEndpoint","leaveEndpoint","heartbeatEndpoint","setStateEndpoint","timeEndpoint","getFileUrl","config","crypto","listenerManager","_listenerManager","_config","_leaveEndpoint","_heartbeatEndpoint","_setStateEndpoint","_subscribeEndpoint","_getFileUrl","_crypto","_channels","_presenceChannels","_heartbeatChannels","_heartbeatChannelGroups","_channelGroups","_presenceChannelGroups","_pendingChannelSubscriptions","_pendingChannelGroupSubscriptions","_currentTimetoken","_lastTimetoken","_storedTimetoken","_subscriptionStatusAnnounced","_isOnline","_reconnectionManager","ReconnectionManager","_dedupingManager","DedupingManager","args","callback","state","channels","channelGroups","forEach","channel","channelGroup","connected","suppressLeaveEvents","status","announceStatus","reconnect","timetoken","withPresence","withHeartbeats","subscribeKey","console","log","getHeartbeatInterval","push","isOffline","actualChannels","actualChannelGroups","length","affectedChannels","affectedChannelGroups","currentTimetoken","lastTimetoken","Object","keys","_region","stopPolling","adaptUnsubscribeChange","getSubscribedChannels","getSubscribedChannelGroups","_startSubscribeLoop","_registerHeartbeatTimer","_stopSubscribeLoop","_stopHeartbeatTimer","undefined","_performHeartbeatLoop","_heartbeatTimer","setInterval","bind","clearInterval","heartbeatChannels","getHeartbeatChannels","heartbeatChannelGroups","getHeartbeatChannelGroups","presenceState","channelState","channelGroupState","onHeartbeat","error","announceFailedHeartbeats","autoNetworkDetection","disconnect","announceNetworkDown","announceSuccessfulHeartbeats","subscribeArgs","filterExpression","region","_subscribeCall","_processSubscribeResponse","payload","category","categoryConstants","PNTimeoutCategory","PNNetworkIssuesCategory","onReconnection","announceNetworkUp","reconnectedAnnounce","PNReconnectedCategory","operation","startPolling","PNBadRequestCategory","metadata","connectedAnnounce","PNConnectedCategory","subscribedChannels","messages","requestMessageCountThreshold","dedupeOnSubscribe","countAnnouncement","PNRequestMessageCountExceededCategory","message","subscriptionMatch","publishMetaData","isDuplicate","addEntry","utils","endsWith","announce","subscription","actualChannel","subscribedChannel","substring","lastIndexOf","action","data","publishTimetoken","occupancy","uuid","timestamp","join","leave","timeout","announcePresence","messageType","publisher","issuingClientId","userMetadata","announceSignal","event","type","announceObjects","announceUser","announceSpace","announceMembership","messageTimetoken","actionTimetoken","value","announceMessageAction","msgPayload","cipherKey","decryptedPayload","decrypt","file","id","name","url","announceFile","announceMessage","abort"],"mappings":"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","sourcesContent":["/* @flow */\nimport Crypto from '../components/cryptography';\nimport Config from '../components/config';\nimport ListenerManager from '../components/listener_manager';\nimport ReconnectionManager from '../components/reconnection_manager';\nimport DedupingManager from '../components/deduping_manager';\nimport utils from '../utils';\nimport {\n MessageActionAnnouncement,\n MessageAnnouncement,\n SignalAnnouncement,\n ObjectAnnouncement,\n SubscribeEnvelope,\n StatusAnnouncement,\n PresenceAnnouncement,\n FileAnnouncement,\n} from '../flow_interfaces';\nimport categoryConstants from '../constants/categories';\n\ntype SubscribeArgs = {\n channels: Array,\n channelGroups: Array,\n withPresence: ?boolean,\n timetoken: ?number,\n withHeartbeats: ?boolean,\n};\n\ntype PresenceArgs = {\n channels: Array,\n channelGroups: Array,\n connected: boolean,\n};\n\ntype UnsubscribeArgs = {\n channels: Array,\n channelGroups: Array,\n};\n\ntype StateArgs = {\n channels: Array,\n channelGroups: Array,\n state: Object,\n};\n\ntype SubscriptionManagerConstruct = {\n leaveEndpoint: Function,\n subscribeEndpoint: Function,\n timeEndpoint: Function,\n heartbeatEndpoint: Function,\n setStateEndpoint: Function,\n getFileUrl: ({| id: string, name: string, channel: string |}) => string,\n config: Config,\n crypto: Crypto,\n listenerManager: ListenerManager,\n};\n\nexport default class {\n _crypto: Crypto;\n _config: Config;\n _listenerManager: ListenerManager;\n _reconnectionManager: ReconnectionManager;\n\n _leaveEndpoint: Function;\n _heartbeatEndpoint: Function;\n _setStateEndpoint: Function;\n _subscribeEndpoint: Function;\n _getFileUrl: ({| id: string, name: string, channel: string |}) => string;\n\n _channels: Object;\n _presenceChannels: Object;\n\n _heartbeatChannels: Object;\n _heartbeatChannelGroups: Object;\n\n _channelGroups: Object;\n _presenceChannelGroups: Object;\n\n _currentTimetoken: number;\n _lastTimetoken: number;\n _storedTimetoken: ?number;\n\n _region: ?number;\n\n _subscribeCall: ?Object;\n _heartbeatTimer: ?number;\n\n _subscriptionStatusAnnounced: boolean;\n\n _autoNetworkDetection: boolean;\n _isOnline: boolean;\n\n // store pending connection elements\n _pendingChannelSubscriptions: Array;\n _pendingChannelGroupSubscriptions: Array;\n //\n\n _dedupingManager: DedupingManager;\n\n constructor({\n subscribeEndpoint,\n leaveEndpoint,\n heartbeatEndpoint,\n setStateEndpoint,\n timeEndpoint,\n getFileUrl,\n config,\n crypto,\n listenerManager,\n }: SubscriptionManagerConstruct) {\n this._listenerManager = listenerManager;\n this._config = config;\n\n this._leaveEndpoint = leaveEndpoint;\n this._heartbeatEndpoint = heartbeatEndpoint;\n this._setStateEndpoint = setStateEndpoint;\n this._subscribeEndpoint = subscribeEndpoint;\n this._getFileUrl = getFileUrl;\n\n this._crypto = crypto;\n\n this._channels = {};\n this._presenceChannels = {};\n\n this._heartbeatChannels = {};\n this._heartbeatChannelGroups = {};\n\n this._channelGroups = {};\n this._presenceChannelGroups = {};\n\n this._pendingChannelSubscriptions = [];\n this._pendingChannelGroupSubscriptions = [];\n\n this._currentTimetoken = 0;\n this._lastTimetoken = 0;\n this._storedTimetoken = null;\n\n this._subscriptionStatusAnnounced = false;\n\n this._isOnline = true;\n\n this._reconnectionManager = new ReconnectionManager({ timeEndpoint });\n this._dedupingManager = new DedupingManager({ config });\n }\n\n adaptStateChange(args: StateArgs, callback: Function) {\n const { state, channels = [], channelGroups = [] } = args;\n\n channels.forEach((channel) => {\n if (channel in this._channels) this._channels[channel].state = state;\n });\n\n channelGroups.forEach((channelGroup) => {\n if (channelGroup in this._channelGroups) {\n this._channelGroups[channelGroup].state = state;\n }\n });\n\n return this._setStateEndpoint({ state, channels, channelGroups }, callback);\n }\n\n adaptPresenceChange(args: PresenceArgs) {\n const { connected, channels = [], channelGroups = [] } = args;\n\n if (connected) {\n channels.forEach((channel: string) => {\n this._heartbeatChannels[channel] = { state: {} };\n });\n\n channelGroups.forEach((channelGroup: string) => {\n this._heartbeatChannelGroups[channelGroup] = { state: {} };\n });\n } else {\n channels.forEach((channel) => {\n if (channel in this._heartbeatChannels) {\n delete this._heartbeatChannels[channel];\n }\n });\n\n channelGroups.forEach((channelGroup) => {\n if (channelGroup in this._heartbeatChannelGroups) {\n delete this._heartbeatChannelGroups[channelGroup];\n }\n });\n\n if (this._config.suppressLeaveEvents === false) {\n this._leaveEndpoint({ channels, channelGroups }, (status) => {\n this._listenerManager.announceStatus(status);\n });\n }\n }\n\n this.reconnect();\n }\n\n adaptSubscribeChange(args: SubscribeArgs) {\n const { timetoken, channels = [], channelGroups = [], withPresence = false, withHeartbeats = false } = args;\n\n if (!this._config.subscribeKey || this._config.subscribeKey === '') {\n // eslint-disable-next-line\n if (console && console.log) {\n console.log('subscribe key missing; aborting subscribe'); //eslint-disable-line\n }\n return;\n }\n\n if (timetoken) {\n this._lastTimetoken = this._currentTimetoken;\n this._currentTimetoken = timetoken;\n }\n\n // reset the current timetoken to get a connect event.\n // $FlowFixMe\n if (this._currentTimetoken !== '0' && this._currentTimetoken !== 0) {\n this._storedTimetoken = this._currentTimetoken;\n this._currentTimetoken = 0;\n }\n\n channels.forEach((channel: string) => {\n this._channels[channel] = { state: {} };\n if (withPresence) this._presenceChannels[channel] = {};\n if (withHeartbeats || this._config.getHeartbeatInterval()) this._heartbeatChannels[channel] = {};\n\n this._pendingChannelSubscriptions.push(channel);\n });\n\n channelGroups.forEach((channelGroup: string) => {\n this._channelGroups[channelGroup] = { state: {} };\n if (withPresence) this._presenceChannelGroups[channelGroup] = {};\n if (withHeartbeats || this._config.getHeartbeatInterval()) this._heartbeatChannelGroups[channelGroup] = {};\n\n this._pendingChannelGroupSubscriptions.push(channelGroup);\n });\n\n this._subscriptionStatusAnnounced = false;\n this.reconnect();\n }\n\n adaptUnsubscribeChange(args: UnsubscribeArgs, isOffline: boolean) {\n const { channels = [], channelGroups = [] } = args;\n\n // keep track of which channels and channel groups\n // we are going to unsubscribe from.\n const actualChannels = [];\n const actualChannelGroups = [];\n //\n\n channels.forEach((channel) => {\n if (channel in this._channels) {\n delete this._channels[channel];\n actualChannels.push(channel);\n\n if (channel in this._heartbeatChannels) {\n delete this._heartbeatChannels[channel];\n }\n }\n if (channel in this._presenceChannels) {\n delete this._presenceChannels[channel];\n actualChannels.push(channel);\n }\n });\n\n channelGroups.forEach((channelGroup) => {\n if (channelGroup in this._channelGroups) {\n delete this._channelGroups[channelGroup];\n actualChannelGroups.push(channelGroup);\n\n if (channelGroup in this._heartbeatChannelGroups) {\n delete this._heartbeatChannelGroups[channelGroup];\n }\n }\n if (channelGroup in this._presenceChannelGroups) {\n delete this._channelGroups[channelGroup];\n actualChannelGroups.push(channelGroup);\n }\n });\n\n // no-op if there are no channels and cg's to unsubscribe from.\n if (actualChannels.length === 0 && actualChannelGroups.length === 0) {\n return;\n }\n\n if (this._config.suppressLeaveEvents === false && !isOffline) {\n this._leaveEndpoint({ channels: actualChannels, channelGroups: actualChannelGroups }, (status) => {\n status.affectedChannels = actualChannels;\n status.affectedChannelGroups = actualChannelGroups;\n status.currentTimetoken = this._currentTimetoken;\n status.lastTimetoken = this._lastTimetoken;\n this._listenerManager.announceStatus(status);\n });\n }\n\n // if we have nothing to subscribe to, reset the timetoken.\n if (\n Object.keys(this._channels).length === 0 &&\n Object.keys(this._presenceChannels).length === 0 &&\n Object.keys(this._channelGroups).length === 0 &&\n Object.keys(this._presenceChannelGroups).length === 0\n ) {\n this._lastTimetoken = 0;\n this._currentTimetoken = 0;\n this._storedTimetoken = null;\n this._region = null;\n this._reconnectionManager.stopPolling();\n }\n\n this.reconnect();\n }\n\n unsubscribeAll(isOffline: boolean) {\n this.adaptUnsubscribeChange(\n {\n channels: this.getSubscribedChannels(),\n channelGroups: this.getSubscribedChannelGroups(),\n },\n isOffline\n );\n }\n\n getHeartbeatChannels(): Array {\n return Object.keys(this._heartbeatChannels);\n }\n\n getHeartbeatChannelGroups(): Array {\n return Object.keys(this._heartbeatChannelGroups);\n }\n\n getSubscribedChannels(): Array {\n return Object.keys(this._channels);\n }\n\n getSubscribedChannelGroups(): Array {\n return Object.keys(this._channelGroups);\n }\n\n reconnect() {\n this._startSubscribeLoop();\n this._registerHeartbeatTimer();\n }\n\n disconnect() {\n this._stopSubscribeLoop();\n this._stopHeartbeatTimer();\n this._reconnectionManager.stopPolling();\n }\n\n _registerHeartbeatTimer() {\n this._stopHeartbeatTimer();\n\n // if the interval is 0 or undefined, do not queue up heartbeating\n if (this._config.getHeartbeatInterval() === 0 || this._config.getHeartbeatInterval() === undefined) {\n return;\n }\n\n this._performHeartbeatLoop();\n // $FlowFixMe\n this._heartbeatTimer = setInterval(\n this._performHeartbeatLoop.bind(this),\n this._config.getHeartbeatInterval() * 1000\n );\n }\n\n _stopHeartbeatTimer() {\n if (this._heartbeatTimer) {\n // $FlowFixMe\n clearInterval(this._heartbeatTimer);\n this._heartbeatTimer = null;\n }\n }\n\n _performHeartbeatLoop() {\n const heartbeatChannels = this.getHeartbeatChannels();\n\n const heartbeatChannelGroups = this.getHeartbeatChannelGroups();\n\n let presenceState = {};\n\n if (heartbeatChannels.length === 0 && heartbeatChannelGroups.length === 0) {\n return;\n }\n\n this.getSubscribedChannels().forEach((channel) => {\n let channelState = this._channels[channel].state;\n if (Object.keys(channelState).length) {\n presenceState[channel] = channelState;\n }\n });\n\n this.getSubscribedChannelGroups().forEach((channelGroup) => {\n let channelGroupState = this._channelGroups[channelGroup].state;\n if (Object.keys(channelGroupState).length) {\n presenceState[channelGroup] = channelGroupState;\n }\n });\n\n let onHeartbeat = (status: StatusAnnouncement) => {\n if (status.error && this._config.announceFailedHeartbeats) {\n this._listenerManager.announceStatus(status);\n }\n\n if (status.error && this._config.autoNetworkDetection && this._isOnline) {\n this._isOnline = false;\n this.disconnect();\n this._listenerManager.announceNetworkDown();\n this.reconnect();\n }\n\n if (!status.error && this._config.announceSuccessfulHeartbeats) {\n this._listenerManager.announceStatus(status);\n }\n };\n\n this._heartbeatEndpoint(\n {\n channels: heartbeatChannels,\n channelGroups: heartbeatChannelGroups,\n state: presenceState,\n },\n onHeartbeat.bind(this)\n );\n }\n\n _startSubscribeLoop() {\n this._stopSubscribeLoop();\n let presenceState = {};\n let channels = [];\n let channelGroups = [];\n\n Object.keys(this._channels).forEach((channel) => {\n let channelState = this._channels[channel].state;\n\n if (Object.keys(channelState).length) {\n presenceState[channel] = channelState;\n }\n\n channels.push(channel);\n });\n Object.keys(this._presenceChannels).forEach((channel) => {\n channels.push(`${channel}-pnpres`);\n });\n\n Object.keys(this._channelGroups).forEach((channelGroup) => {\n let channelGroupState = this._channelGroups[channelGroup].state;\n\n if (Object.keys(channelGroupState).length) {\n presenceState[channelGroup] = channelGroupState;\n }\n\n channelGroups.push(channelGroup);\n });\n Object.keys(this._presenceChannelGroups).forEach((channelGroup) => {\n channelGroups.push(`${channelGroup}-pnpres`);\n });\n\n if (channels.length === 0 && channelGroups.length === 0) {\n return;\n }\n\n const subscribeArgs = {\n channels,\n channelGroups,\n state: presenceState,\n timetoken: this._currentTimetoken,\n filterExpression: this._config.filterExpression,\n region: this._region,\n };\n\n this._subscribeCall = this._subscribeEndpoint(subscribeArgs, this._processSubscribeResponse.bind(this));\n }\n\n _processSubscribeResponse(status: StatusAnnouncement, payload: SubscribeEnvelope) {\n if (status.error) {\n // if we timeout from server, restart the loop.\n if (status.category === categoryConstants.PNTimeoutCategory) {\n this._startSubscribeLoop();\n } else if (status.category === categoryConstants.PNNetworkIssuesCategory) {\n // we lost internet connection, alert the reconnection manager and terminate all loops\n this.disconnect();\n\n if (status.error && this._config.autoNetworkDetection && this._isOnline) {\n this._isOnline = false;\n this._listenerManager.announceNetworkDown();\n }\n\n this._reconnectionManager.onReconnection(() => {\n if (this._config.autoNetworkDetection && !this._isOnline) {\n this._isOnline = true;\n this._listenerManager.announceNetworkUp();\n }\n this.reconnect();\n this._subscriptionStatusAnnounced = true;\n let reconnectedAnnounce: StatusAnnouncement = {\n category: categoryConstants.PNReconnectedCategory,\n operation: status.operation,\n lastTimetoken: this._lastTimetoken,\n currentTimetoken: this._currentTimetoken,\n };\n this._listenerManager.announceStatus(reconnectedAnnounce);\n });\n\n this._reconnectionManager.startPolling();\n this._listenerManager.announceStatus(status);\n } else if (status.category === categoryConstants.PNBadRequestCategory) {\n this._stopHeartbeatTimer();\n this._listenerManager.announceStatus(status);\n } else {\n this._listenerManager.announceStatus(status);\n }\n\n return;\n }\n\n if (this._storedTimetoken) {\n this._currentTimetoken = this._storedTimetoken;\n this._storedTimetoken = null;\n } else {\n this._lastTimetoken = this._currentTimetoken;\n this._currentTimetoken = payload.metadata.timetoken;\n }\n\n if (!this._subscriptionStatusAnnounced) {\n let connectedAnnounce: StatusAnnouncement = {};\n connectedAnnounce.category = categoryConstants.PNConnectedCategory;\n connectedAnnounce.operation = status.operation;\n connectedAnnounce.affectedChannels = this._pendingChannelSubscriptions;\n connectedAnnounce.subscribedChannels = this.getSubscribedChannels();\n connectedAnnounce.affectedChannelGroups = this._pendingChannelGroupSubscriptions;\n connectedAnnounce.lastTimetoken = this._lastTimetoken;\n connectedAnnounce.currentTimetoken = this._currentTimetoken;\n this._subscriptionStatusAnnounced = true;\n this._listenerManager.announceStatus(connectedAnnounce);\n\n // clear the pending connections list\n this._pendingChannelSubscriptions = [];\n this._pendingChannelGroupSubscriptions = [];\n }\n\n let messages = payload.messages || [];\n let { requestMessageCountThreshold, dedupeOnSubscribe } = this._config;\n\n if (requestMessageCountThreshold && messages.length >= requestMessageCountThreshold) {\n let countAnnouncement: StatusAnnouncement = {};\n countAnnouncement.category = categoryConstants.PNRequestMessageCountExceededCategory;\n countAnnouncement.operation = status.operation;\n this._listenerManager.announceStatus(countAnnouncement);\n }\n\n messages.forEach((message) => {\n let channel = message.channel;\n let subscriptionMatch = message.subscriptionMatch;\n let publishMetaData = message.publishMetaData;\n\n if (channel === subscriptionMatch) {\n subscriptionMatch = null;\n }\n\n if (dedupeOnSubscribe) {\n if (this._dedupingManager.isDuplicate(message)) {\n return;\n } else {\n this._dedupingManager.addEntry(message);\n }\n }\n\n if (utils.endsWith(message.channel, '-pnpres')) {\n let announce: PresenceAnnouncement = {};\n announce.channel = null;\n announce.subscription = null;\n\n // deprecated -->\n announce.actualChannel = subscriptionMatch != null ? channel : null;\n announce.subscribedChannel = subscriptionMatch != null ? subscriptionMatch : channel;\n // <-- deprecated\n\n if (channel) {\n announce.channel = channel.substring(0, channel.lastIndexOf('-pnpres'));\n }\n\n if (subscriptionMatch) {\n announce.subscription = subscriptionMatch.substring(0, subscriptionMatch.lastIndexOf('-pnpres'));\n }\n\n announce.action = message.payload.action;\n announce.state = message.payload.data;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.occupancy = message.payload.occupancy;\n announce.uuid = message.payload.uuid;\n announce.timestamp = message.payload.timestamp;\n\n if (message.payload.join) {\n announce.join = message.payload.join;\n }\n\n if (message.payload.leave) {\n announce.leave = message.payload.leave;\n }\n\n if (message.payload.timeout) {\n announce.timeout = message.payload.timeout;\n }\n\n this._listenerManager.announcePresence(announce);\n } else if (message.messageType === 1) {\n // this is a signal message\n let announce: SignalAnnouncement = {};\n announce.channel = null;\n announce.subscription = null;\n\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n if (message.userMetadata) {\n announce.userMetadata = message.userMetadata;\n }\n\n announce.message = message.payload;\n\n this._listenerManager.announceSignal(announce);\n } else if (message.messageType === 2) {\n // this is an object message\n\n let announce: ObjectAnnouncement = {};\n\n announce.channel = null;\n announce.subscription = null;\n\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n if (message.userMetadata) {\n announce.userMetadata = message.userMetadata;\n }\n\n announce.message = {\n event: message.payload.event,\n type: message.payload.type,\n data: message.payload.data,\n };\n\n this._listenerManager.announceObjects(announce);\n\n if (message.payload.type === 'user') {\n this._listenerManager.announceUser(announce);\n } else if (message.payload.type === 'space') {\n this._listenerManager.announceSpace(announce);\n } else if (message.payload.type === 'membership') {\n this._listenerManager.announceMembership(announce);\n }\n } else if (message.messageType === 3) {\n // this is a message action\n let announce: MessageActionAnnouncement = {};\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n announce.data = {\n messageTimetoken: message.payload.data.messageTimetoken,\n actionTimetoken: message.payload.data.actionTimetoken,\n type: message.payload.data.type,\n uuid: message.issuingClientId,\n value: message.payload.data.value,\n };\n\n announce.event = message.payload.event;\n\n this._listenerManager.announceMessageAction(announce);\n } else if (message.messageType === 4) {\n // this is a file message\n let announce: FileAnnouncement = {};\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n let msgPayload = message.payload;\n\n if (this._config.cipherKey) {\n const decryptedPayload = this._crypto.decrypt(message.payload);\n\n if (typeof decryptedPayload === 'object' && decryptedPayload !== null) {\n msgPayload = decryptedPayload;\n }\n }\n\n announce.message = msgPayload.message;\n\n announce.file = {\n id: msgPayload.file.id,\n name: msgPayload.file.name,\n url: this._getFileUrl({\n id: msgPayload.file.id,\n name: msgPayload.file.name,\n channel,\n }),\n };\n\n this._listenerManager.announceFile(announce);\n } else {\n let announce: MessageAnnouncement = {};\n announce.channel = null;\n announce.subscription = null;\n\n // deprecated -->\n announce.actualChannel = subscriptionMatch != null ? channel : null;\n announce.subscribedChannel = subscriptionMatch != null ? subscriptionMatch : channel;\n // <-- deprecated\n\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n if (message.userMetadata) {\n announce.userMetadata = message.userMetadata;\n }\n\n if (this._config.cipherKey) {\n announce.message = this._crypto.decrypt(message.payload);\n } else {\n announce.message = message.payload;\n }\n\n this._listenerManager.announceMessage(announce);\n }\n });\n\n this._region = payload.metadata.region;\n this._startSubscribeLoop();\n }\n\n _stopSubscribeLoop() {\n if (this._subscribeCall) {\n if (typeof this._subscribeCall.abort === 'function') {\n this._subscribeCall.abort();\n }\n this._subscribeCall = null;\n }\n }\n}\n"],"file":"subscription_manager.js"} \ No newline at end of file +{"version":3,"sources":["core/components/subscription_manager.js"],"names":["subscribeEndpoint","leaveEndpoint","heartbeatEndpoint","setStateEndpoint","timeEndpoint","getFileUrl","config","crypto","listenerManager","_listenerManager","_config","_leaveEndpoint","_heartbeatEndpoint","_setStateEndpoint","_subscribeEndpoint","_getFileUrl","_crypto","_channels","_presenceChannels","_heartbeatChannels","_heartbeatChannelGroups","_channelGroups","_presenceChannelGroups","_pendingChannelSubscriptions","_pendingChannelGroupSubscriptions","_currentTimetoken","_lastTimetoken","_storedTimetoken","_subscriptionStatusAnnounced","_isOnline","_reconnectionManager","ReconnectionManager","_dedupingManager","DedupingManager","args","callback","state","channels","channelGroups","forEach","channel","channelGroup","connected","suppressLeaveEvents","status","announceStatus","reconnect","timetoken","withPresence","withHeartbeats","subscribeKey","console","log","getHeartbeatInterval","push","isOffline","actualChannels","actualChannelGroups","length","affectedChannels","affectedChannelGroups","currentTimetoken","lastTimetoken","Object","keys","_region","stopPolling","adaptUnsubscribeChange","getSubscribedChannels","getSubscribedChannelGroups","_startSubscribeLoop","_registerHeartbeatTimer","_stopSubscribeLoop","_stopHeartbeatTimer","undefined","_performHeartbeatLoop","_heartbeatTimer","setInterval","bind","clearInterval","heartbeatChannels","getHeartbeatChannels","heartbeatChannelGroups","getHeartbeatChannelGroups","presenceState","channelState","channelGroupState","onHeartbeat","error","announceFailedHeartbeats","autoNetworkDetection","disconnect","announceNetworkDown","announceSuccessfulHeartbeats","subscribeArgs","filterExpression","region","_subscribeCall","_processSubscribeResponse","payload","category","categoryConstants","PNTimeoutCategory","PNNetworkIssuesCategory","onReconnection","announceNetworkUp","reconnectedAnnounce","PNReconnectedCategory","operation","startPolling","PNBadRequestCategory","metadata","connectedAnnounce","PNConnectedCategory","subscribedChannels","messages","requestMessageCountThreshold","dedupeOnSubscribe","countAnnouncement","PNRequestMessageCountExceededCategory","message","subscriptionMatch","publishMetaData","isDuplicate","addEntry","utils","endsWith","announce","subscription","actualChannel","subscribedChannel","substring","lastIndexOf","action","data","publishTimetoken","occupancy","uuid","timestamp","join","leave","timeout","announcePresence","messageType","publisher","issuingClientId","userMetadata","announceSignal","event","type","announceObjects","announceUser","announceSpace","announceMembership","messageTimetoken","actionTimetoken","value","announceMessageAction","msgPayload","cipherKey","decryptedPayload","decrypt","file","id","name","url","announceFile","announceMessage","abort"],"mappings":"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","sourcesContent":["/* @flow */\nimport Crypto from '../components/cryptography';\nimport Config from '../components/config';\nimport ListenerManager from '../components/listener_manager';\nimport ReconnectionManager from '../components/reconnection_manager';\nimport DedupingManager from '../components/deduping_manager';\nimport utils from '../utils';\nimport {\n MessageActionAnnouncement,\n MessageAnnouncement,\n SignalAnnouncement,\n ObjectAnnouncement,\n SubscribeEnvelope,\n StatusAnnouncement,\n PresenceAnnouncement,\n FileAnnouncement,\n} from '../flow_interfaces';\nimport categoryConstants from '../constants/categories';\n\ntype SubscribeArgs = {\n channels: Array,\n channelGroups: Array,\n withPresence: ?boolean,\n timetoken: ?number,\n withHeartbeats: ?boolean,\n};\n\ntype PresenceArgs = {\n channels: Array,\n channelGroups: Array,\n connected: boolean,\n};\n\ntype UnsubscribeArgs = {\n channels: Array,\n channelGroups: Array,\n};\n\ntype StateArgs = {\n channels: Array,\n channelGroups: Array,\n state: Object,\n};\n\ntype SubscriptionManagerConstruct = {\n leaveEndpoint: Function,\n subscribeEndpoint: Function,\n timeEndpoint: Function,\n heartbeatEndpoint: Function,\n setStateEndpoint: Function,\n getFileUrl: ({| id: string, name: string, channel: string |}) => string,\n config: Config,\n crypto: Crypto,\n listenerManager: ListenerManager,\n};\n\nexport default class {\n _crypto: Crypto;\n _config: Config;\n _listenerManager: ListenerManager;\n _reconnectionManager: ReconnectionManager;\n\n _leaveEndpoint: Function;\n _heartbeatEndpoint: Function;\n _setStateEndpoint: Function;\n _subscribeEndpoint: Function;\n _getFileUrl: ({| id: string, name: string, channel: string |}) => string;\n\n _channels: Object;\n _presenceChannels: Object;\n\n _heartbeatChannels: Object;\n _heartbeatChannelGroups: Object;\n\n _channelGroups: Object;\n _presenceChannelGroups: Object;\n\n _currentTimetoken: number;\n _lastTimetoken: number;\n _storedTimetoken: ?number;\n\n _region: ?number;\n\n _subscribeCall: ?Object;\n _heartbeatTimer: ?number;\n\n _subscriptionStatusAnnounced: boolean;\n\n _autoNetworkDetection: boolean;\n _isOnline: boolean;\n\n // store pending connection elements\n _pendingChannelSubscriptions: Array;\n _pendingChannelGroupSubscriptions: Array;\n //\n\n _dedupingManager: DedupingManager;\n\n constructor({\n subscribeEndpoint,\n leaveEndpoint,\n heartbeatEndpoint,\n setStateEndpoint,\n timeEndpoint,\n getFileUrl,\n config,\n crypto,\n listenerManager,\n }: SubscriptionManagerConstruct) {\n this._listenerManager = listenerManager;\n this._config = config;\n\n this._leaveEndpoint = leaveEndpoint;\n this._heartbeatEndpoint = heartbeatEndpoint;\n this._setStateEndpoint = setStateEndpoint;\n this._subscribeEndpoint = subscribeEndpoint;\n this._getFileUrl = getFileUrl;\n\n this._crypto = crypto;\n\n this._channels = {};\n this._presenceChannels = {};\n\n this._heartbeatChannels = {};\n this._heartbeatChannelGroups = {};\n\n this._channelGroups = {};\n this._presenceChannelGroups = {};\n\n this._pendingChannelSubscriptions = [];\n this._pendingChannelGroupSubscriptions = [];\n\n this._currentTimetoken = 0;\n this._lastTimetoken = 0;\n this._storedTimetoken = null;\n\n this._subscriptionStatusAnnounced = false;\n\n this._isOnline = true;\n\n this._reconnectionManager = new ReconnectionManager({ timeEndpoint });\n this._dedupingManager = new DedupingManager({ config });\n }\n\n adaptStateChange(args: StateArgs, callback: Function) {\n const { state, channels = [], channelGroups = [] } = args;\n\n channels.forEach((channel) => {\n if (channel in this._channels) this._channels[channel].state = state;\n });\n\n channelGroups.forEach((channelGroup) => {\n if (channelGroup in this._channelGroups) {\n this._channelGroups[channelGroup].state = state;\n }\n });\n\n return this._setStateEndpoint({ state, channels, channelGroups }, callback);\n }\n\n adaptPresenceChange(args: PresenceArgs) {\n const { connected, channels = [], channelGroups = [] } = args;\n\n if (connected) {\n channels.forEach((channel: string) => {\n this._heartbeatChannels[channel] = { state: {} };\n });\n\n channelGroups.forEach((channelGroup: string) => {\n this._heartbeatChannelGroups[channelGroup] = { state: {} };\n });\n } else {\n channels.forEach((channel) => {\n if (channel in this._heartbeatChannels) {\n delete this._heartbeatChannels[channel];\n }\n });\n\n channelGroups.forEach((channelGroup) => {\n if (channelGroup in this._heartbeatChannelGroups) {\n delete this._heartbeatChannelGroups[channelGroup];\n }\n });\n\n if (this._config.suppressLeaveEvents === false) {\n this._leaveEndpoint({ channels, channelGroups }, (status) => {\n this._listenerManager.announceStatus(status);\n });\n }\n }\n\n this.reconnect();\n }\n\n adaptSubscribeChange(args: SubscribeArgs) {\n const { timetoken, channels = [], channelGroups = [], withPresence = false, withHeartbeats = false } = args;\n\n if (!this._config.subscribeKey || this._config.subscribeKey === '') {\n // eslint-disable-next-line\n if (console && console.log) {\n console.log('subscribe key missing; aborting subscribe'); //eslint-disable-line\n }\n return;\n }\n\n if (timetoken) {\n this._lastTimetoken = this._currentTimetoken;\n this._currentTimetoken = timetoken;\n }\n\n // reset the current timetoken to get a connect event.\n // $FlowFixMe\n if (this._currentTimetoken !== '0' && this._currentTimetoken !== 0) {\n this._storedTimetoken = this._currentTimetoken;\n this._currentTimetoken = 0;\n }\n\n channels.forEach((channel: string) => {\n this._channels[channel] = { state: {} };\n if (withPresence) this._presenceChannels[channel] = {};\n if (withHeartbeats || this._config.getHeartbeatInterval()) this._heartbeatChannels[channel] = {};\n\n this._pendingChannelSubscriptions.push(channel);\n });\n\n channelGroups.forEach((channelGroup: string) => {\n this._channelGroups[channelGroup] = { state: {} };\n if (withPresence) this._presenceChannelGroups[channelGroup] = {};\n if (withHeartbeats || this._config.getHeartbeatInterval()) this._heartbeatChannelGroups[channelGroup] = {};\n\n this._pendingChannelGroupSubscriptions.push(channelGroup);\n });\n\n this._subscriptionStatusAnnounced = false;\n this.reconnect();\n }\n\n adaptUnsubscribeChange(args: UnsubscribeArgs, isOffline: boolean) {\n const { channels = [], channelGroups = [] } = args;\n\n // keep track of which channels and channel groups\n // we are going to unsubscribe from.\n const actualChannels = [];\n const actualChannelGroups = [];\n //\n\n channels.forEach((channel) => {\n if (channel in this._channels) {\n delete this._channels[channel];\n actualChannels.push(channel);\n\n if (channel in this._heartbeatChannels) {\n delete this._heartbeatChannels[channel];\n }\n }\n if (channel in this._presenceChannels) {\n delete this._presenceChannels[channel];\n actualChannels.push(channel);\n }\n });\n\n channelGroups.forEach((channelGroup) => {\n if (channelGroup in this._channelGroups) {\n delete this._channelGroups[channelGroup];\n actualChannelGroups.push(channelGroup);\n\n if (channelGroup in this._heartbeatChannelGroups) {\n delete this._heartbeatChannelGroups[channelGroup];\n }\n }\n if (channelGroup in this._presenceChannelGroups) {\n delete this._channelGroups[channelGroup];\n actualChannelGroups.push(channelGroup);\n }\n });\n\n // no-op if there are no channels and cg's to unsubscribe from.\n if (actualChannels.length === 0 && actualChannelGroups.length === 0) {\n return;\n }\n\n if (this._config.suppressLeaveEvents === false && !isOffline) {\n this._leaveEndpoint({ channels: actualChannels, channelGroups: actualChannelGroups }, (status) => {\n status.affectedChannels = actualChannels;\n status.affectedChannelGroups = actualChannelGroups;\n status.currentTimetoken = this._currentTimetoken;\n status.lastTimetoken = this._lastTimetoken;\n this._listenerManager.announceStatus(status);\n });\n }\n\n // if we have nothing to subscribe to, reset the timetoken.\n if (\n Object.keys(this._channels).length === 0 &&\n Object.keys(this._presenceChannels).length === 0 &&\n Object.keys(this._channelGroups).length === 0 &&\n Object.keys(this._presenceChannelGroups).length === 0\n ) {\n this._lastTimetoken = 0;\n this._currentTimetoken = 0;\n this._storedTimetoken = null;\n this._region = null;\n this._reconnectionManager.stopPolling();\n }\n\n this.reconnect();\n }\n\n unsubscribeAll(isOffline: boolean) {\n this.adaptUnsubscribeChange(\n {\n channels: this.getSubscribedChannels(),\n channelGroups: this.getSubscribedChannelGroups(),\n },\n isOffline\n );\n }\n\n getHeartbeatChannels(): Array {\n return Object.keys(this._heartbeatChannels);\n }\n\n getHeartbeatChannelGroups(): Array {\n return Object.keys(this._heartbeatChannelGroups);\n }\n\n getSubscribedChannels(): Array {\n return Object.keys(this._channels);\n }\n\n getSubscribedChannelGroups(): Array {\n return Object.keys(this._channelGroups);\n }\n\n reconnect() {\n this._startSubscribeLoop();\n this._registerHeartbeatTimer();\n }\n\n disconnect() {\n this._stopSubscribeLoop();\n this._stopHeartbeatTimer();\n this._reconnectionManager.stopPolling();\n }\n\n _registerHeartbeatTimer() {\n this._stopHeartbeatTimer();\n\n // if the interval is 0 or undefined, do not queue up heartbeating\n if (this._config.getHeartbeatInterval() === 0 || this._config.getHeartbeatInterval() === undefined) {\n return;\n }\n\n this._performHeartbeatLoop();\n // $FlowFixMe\n this._heartbeatTimer = setInterval(\n this._performHeartbeatLoop.bind(this),\n this._config.getHeartbeatInterval() * 1000\n );\n }\n\n _stopHeartbeatTimer() {\n if (this._heartbeatTimer) {\n // $FlowFixMe\n clearInterval(this._heartbeatTimer);\n this._heartbeatTimer = null;\n }\n }\n\n _performHeartbeatLoop() {\n const heartbeatChannels = this.getHeartbeatChannels();\n\n const heartbeatChannelGroups = this.getHeartbeatChannelGroups();\n\n let presenceState = {};\n\n if (heartbeatChannels.length === 0 && heartbeatChannelGroups.length === 0) {\n return;\n }\n\n this.getSubscribedChannels().forEach((channel) => {\n let channelState = this._channels[channel].state;\n if (Object.keys(channelState).length) {\n presenceState[channel] = channelState;\n }\n });\n\n this.getSubscribedChannelGroups().forEach((channelGroup) => {\n let channelGroupState = this._channelGroups[channelGroup].state;\n if (Object.keys(channelGroupState).length) {\n presenceState[channelGroup] = channelGroupState;\n }\n });\n\n let onHeartbeat = (status: StatusAnnouncement) => {\n if (status.error && this._config.announceFailedHeartbeats) {\n this._listenerManager.announceStatus(status);\n }\n\n if (status.error && this._config.autoNetworkDetection && this._isOnline) {\n this._isOnline = false;\n this.disconnect();\n this._listenerManager.announceNetworkDown();\n this.reconnect();\n }\n\n if (!status.error && this._config.announceSuccessfulHeartbeats) {\n this._listenerManager.announceStatus(status);\n }\n };\n\n this._heartbeatEndpoint(\n {\n channels: heartbeatChannels,\n channelGroups: heartbeatChannelGroups,\n state: presenceState,\n },\n onHeartbeat.bind(this)\n );\n }\n\n _startSubscribeLoop() {\n this._stopSubscribeLoop();\n let presenceState = {};\n let channels = [];\n let channelGroups = [];\n\n Object.keys(this._channels).forEach((channel) => {\n let channelState = this._channels[channel].state;\n\n if (Object.keys(channelState).length) {\n presenceState[channel] = channelState;\n }\n\n channels.push(channel);\n });\n Object.keys(this._presenceChannels).forEach((channel) => {\n channels.push(`${channel}-pnpres`);\n });\n\n Object.keys(this._channelGroups).forEach((channelGroup) => {\n let channelGroupState = this._channelGroups[channelGroup].state;\n\n if (Object.keys(channelGroupState).length) {\n presenceState[channelGroup] = channelGroupState;\n }\n\n channelGroups.push(channelGroup);\n });\n Object.keys(this._presenceChannelGroups).forEach((channelGroup) => {\n channelGroups.push(`${channelGroup}-pnpres`);\n });\n\n if (channels.length === 0 && channelGroups.length === 0) {\n return;\n }\n\n const subscribeArgs = {\n channels,\n channelGroups,\n state: presenceState,\n timetoken: this._currentTimetoken,\n filterExpression: this._config.filterExpression,\n region: this._region,\n };\n\n this._subscribeCall = this._subscribeEndpoint(subscribeArgs, this._processSubscribeResponse.bind(this));\n }\n\n _processSubscribeResponse(status: StatusAnnouncement, payload: SubscribeEnvelope) {\n if (status.error) {\n // if we timeout from server, restart the loop.\n if (status.category === categoryConstants.PNTimeoutCategory) {\n this._startSubscribeLoop();\n } else if (status.category === categoryConstants.PNNetworkIssuesCategory) {\n // we lost internet connection, alert the reconnection manager and terminate all loops\n this.disconnect();\n\n if (status.error && this._config.autoNetworkDetection && this._isOnline) {\n this._isOnline = false;\n this._listenerManager.announceNetworkDown();\n }\n\n this._reconnectionManager.onReconnection(() => {\n if (this._config.autoNetworkDetection && !this._isOnline) {\n this._isOnline = true;\n this._listenerManager.announceNetworkUp();\n }\n this.reconnect();\n this._subscriptionStatusAnnounced = true;\n let reconnectedAnnounce: StatusAnnouncement = {\n category: categoryConstants.PNReconnectedCategory,\n operation: status.operation,\n lastTimetoken: this._lastTimetoken,\n currentTimetoken: this._currentTimetoken,\n };\n this._listenerManager.announceStatus(reconnectedAnnounce);\n });\n\n this._reconnectionManager.startPolling();\n this._listenerManager.announceStatus(status);\n } else if (status.category === categoryConstants.PNBadRequestCategory) {\n this._stopHeartbeatTimer();\n this._listenerManager.announceStatus(status);\n } else {\n this._listenerManager.announceStatus(status);\n }\n\n return;\n }\n\n if (this._storedTimetoken) {\n this._currentTimetoken = this._storedTimetoken;\n this._storedTimetoken = null;\n } else {\n this._lastTimetoken = this._currentTimetoken;\n this._currentTimetoken = payload.metadata.timetoken;\n }\n\n if (!this._subscriptionStatusAnnounced) {\n let connectedAnnounce: StatusAnnouncement = {};\n connectedAnnounce.category = categoryConstants.PNConnectedCategory;\n connectedAnnounce.operation = status.operation;\n connectedAnnounce.affectedChannels = this._pendingChannelSubscriptions;\n connectedAnnounce.subscribedChannels = this.getSubscribedChannels();\n connectedAnnounce.affectedChannelGroups = this._pendingChannelGroupSubscriptions;\n connectedAnnounce.lastTimetoken = this._lastTimetoken;\n connectedAnnounce.currentTimetoken = this._currentTimetoken;\n this._subscriptionStatusAnnounced = true;\n this._listenerManager.announceStatus(connectedAnnounce);\n\n // clear the pending connections list\n this._pendingChannelSubscriptions = [];\n this._pendingChannelGroupSubscriptions = [];\n }\n\n let messages = payload.messages || [];\n let { requestMessageCountThreshold, dedupeOnSubscribe } = this._config;\n\n if (requestMessageCountThreshold && messages.length >= requestMessageCountThreshold) {\n let countAnnouncement: StatusAnnouncement = {};\n countAnnouncement.category = categoryConstants.PNRequestMessageCountExceededCategory;\n countAnnouncement.operation = status.operation;\n this._listenerManager.announceStatus(countAnnouncement);\n }\n\n messages.forEach((message) => {\n let channel = message.channel;\n let subscriptionMatch = message.subscriptionMatch;\n let publishMetaData = message.publishMetaData;\n\n if (channel === subscriptionMatch) {\n subscriptionMatch = null;\n }\n\n if (dedupeOnSubscribe) {\n if (this._dedupingManager.isDuplicate(message)) {\n return;\n } else {\n this._dedupingManager.addEntry(message);\n }\n }\n\n if (utils.endsWith(message.channel, '-pnpres')) {\n let announce: PresenceAnnouncement = {};\n announce.channel = null;\n announce.subscription = null;\n\n // deprecated -->\n announce.actualChannel = subscriptionMatch != null ? channel : null;\n announce.subscribedChannel = subscriptionMatch != null ? subscriptionMatch : channel;\n // <-- deprecated\n\n if (channel) {\n announce.channel = channel.substring(0, channel.lastIndexOf('-pnpres'));\n }\n\n if (subscriptionMatch) {\n announce.subscription = subscriptionMatch.substring(0, subscriptionMatch.lastIndexOf('-pnpres'));\n }\n\n announce.action = message.payload.action;\n announce.state = message.payload.data;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.occupancy = message.payload.occupancy;\n announce.uuid = message.payload.uuid;\n announce.timestamp = message.payload.timestamp;\n\n if (message.payload.join) {\n announce.join = message.payload.join;\n }\n\n if (message.payload.leave) {\n announce.leave = message.payload.leave;\n }\n\n if (message.payload.timeout) {\n announce.timeout = message.payload.timeout;\n }\n\n this._listenerManager.announcePresence(announce);\n } else if (message.messageType === 1) {\n // this is a signal message\n let announce: SignalAnnouncement = {};\n announce.channel = null;\n announce.subscription = null;\n\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n if (message.userMetadata) {\n announce.userMetadata = message.userMetadata;\n }\n\n announce.message = message.payload;\n\n this._listenerManager.announceSignal(announce);\n } else if (message.messageType === 2) {\n // this is an object message\n\n let announce: ObjectAnnouncement = {};\n\n announce.channel = null;\n announce.subscription = null;\n\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n if (message.userMetadata) {\n announce.userMetadata = message.userMetadata;\n }\n\n announce.message = {\n event: message.payload.event,\n type: message.payload.type,\n data: message.payload.data,\n };\n\n this._listenerManager.announceObjects(announce);\n\n if (message.payload.type === 'user') {\n this._listenerManager.announceUser(announce);\n } else if (message.payload.type === 'space') {\n this._listenerManager.announceSpace(announce);\n } else if (message.payload.type === 'membership') {\n this._listenerManager.announceMembership(announce);\n }\n } else if (message.messageType === 3) {\n // this is a message action\n let announce: MessageActionAnnouncement = {};\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n announce.data = {\n messageTimetoken: message.payload.data.messageTimetoken,\n actionTimetoken: message.payload.data.actionTimetoken,\n type: message.payload.data.type,\n uuid: message.issuingClientId,\n value: message.payload.data.value,\n };\n\n announce.event = message.payload.event;\n\n this._listenerManager.announceMessageAction(announce);\n } else if (message.messageType === 4) {\n // this is a file message\n let announce: FileAnnouncement = {};\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n let msgPayload = message.payload;\n\n if (this._config.cipherKey) {\n const decryptedPayload = this._crypto.decrypt(message.payload);\n\n if (typeof decryptedPayload === 'object' && decryptedPayload !== null) {\n msgPayload = decryptedPayload;\n }\n }\n\n if (message.userMetadata) {\n announce.userMetadata = message.userMetadata;\n }\n\n announce.message = msgPayload.message;\n\n announce.file = {\n id: msgPayload.file.id,\n name: msgPayload.file.name,\n url: this._getFileUrl({\n id: msgPayload.file.id,\n name: msgPayload.file.name,\n channel,\n }),\n };\n\n this._listenerManager.announceFile(announce);\n } else {\n let announce: MessageAnnouncement = {};\n announce.channel = null;\n announce.subscription = null;\n\n // deprecated -->\n announce.actualChannel = subscriptionMatch != null ? channel : null;\n announce.subscribedChannel = subscriptionMatch != null ? subscriptionMatch : channel;\n // <-- deprecated\n\n announce.channel = channel;\n announce.subscription = subscriptionMatch;\n announce.timetoken = publishMetaData.publishTimetoken;\n announce.publisher = message.issuingClientId;\n\n if (message.userMetadata) {\n announce.userMetadata = message.userMetadata;\n }\n\n if (this._config.cipherKey) {\n announce.message = this._crypto.decrypt(message.payload);\n } else {\n announce.message = message.payload;\n }\n\n this._listenerManager.announceMessage(announce);\n }\n });\n\n this._region = payload.metadata.region;\n this._startSubscribeLoop();\n }\n\n _stopSubscribeLoop() {\n if (this._subscribeCall) {\n if (typeof this._subscribeCall.abort === 'function') {\n this._subscribeCall.abort();\n }\n this._subscribeCall = null;\n }\n }\n}\n"],"file":"subscription_manager.js"} \ No newline at end of file diff --git a/lib/core/endpoints/fetch_messages.js b/lib/core/endpoints/fetch_messages.js index 7be745911..71c9a1e77 100644 --- a/lib/core/endpoints/fetch_messages.js +++ b/lib/core/endpoints/fetch_messages.js @@ -76,8 +76,9 @@ function prepareParams(modules, incomingParams) { stringifiedTimeToken = _incomingParams$strin === void 0 ? false : _incomingParams$strin, _incomingParams$inclu3 = incomingParams.includeMeta, includeMeta = _incomingParams$inclu3 === void 0 ? false : _incomingParams$inclu3, - _incomingParams$inclu4 = incomingParams.includeUuid, - includeUuid = _incomingParams$inclu4 === void 0 ? true : _incomingParams$inclu4, + includeUuid = incomingParams.includeUuid, + _incomingParams$inclu4 = incomingParams.includeUUID, + includeUUID = _incomingParams$inclu4 === void 0 ? true : _incomingParams$inclu4, _incomingParams$inclu5 = incomingParams.includeMessageType, includeMessageType = _incomingParams$inclu5 === void 0 ? true : _incomingParams$inclu5; var outgoingParams = {}; @@ -86,7 +87,7 @@ function prepareParams(modules, incomingParams) { if (end) outgoingParams.end = end; if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (includeMeta) outgoingParams.include_meta = 'true'; - if (includeUuid) outgoingParams.include_uuid = 'true'; + if (includeUUID && includeUuid !== false) outgoingParams.include_uuid = 'true'; if (includeMessageType) outgoingParams.include_message_type = 'true'; return outgoingParams; } diff --git a/lib/core/endpoints/fetch_messages.js.map b/lib/core/endpoints/fetch_messages.js.map index 1a337efb0..89bce2eb8 100644 --- a/lib/core/endpoints/fetch_messages.js.map +++ b/lib/core/endpoints/fetch_messages.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/endpoints/fetch_messages.js"],"names":["__processMessage","modules","message","config","crypto","cipherKey","decrypt","e","getOperation","operationConstants","PNFetchMessagesOperation","validateParams","incomingParams","channels","includeMessageActions","length","subscribeKey","TypeError","getURL","endpoint","stringifiedChannels","join","utils","encodeString","getRequestTimeout","getTransactionTimeout","isAuthSupported","prepareParams","start","end","count","stringifiedTimeToken","includeMeta","includeUuid","includeMessageType","outgoingParams","max","string_message_token","include_meta","include_uuid","include_message_type","handleResponse","serverResponse","response","Object","keys","forEach","channelName","messageEnvelope","announce","channel","timetoken","messageType","message_type","uuid","actions","data","meta","push"],"mappings":";;;;;;;;;;;;;;;AAEA;;AAOA;;AACA;;AAEA,SAASA,gBAAT,CAA0BC,OAA1B,EAAmCC,OAAnC,EAAmE;AAAA,MAC3DC,MAD2D,GACxCF,OADwC,CAC3DE,MAD2D;AAAA,MACnDC,MADmD,GACxCH,OADwC,CACnDG,MADmD;AAEjE,MAAI,CAACD,MAAM,CAACE,SAAZ,EAAuB,OAAOH,OAAP;;AAEvB,MAAI;AACF,WAAOE,MAAM,CAACE,OAAP,CAAeJ,OAAf,CAAP;AACD,GAFD,CAEE,OAAOK,CAAP,EAAU;AACV,WAAOL,OAAP;AACD;AACF;;AAEM,SAASM,YAAT,GAAgC;AACrC,SAAOC,uBAAmBC,wBAA1B;AACD;;AAEM,SAASC,cAAT,CACLV,OADK,EAELW,cAFK,EAGL;AAAA,MACMC,QADN,GACkDD,cADlD,CACMC,QADN;AAAA,8BACkDD,cADlD,CACgBE,qBADhB;AAAA,MACgBA,qBADhB,sCACwC,KADxC;AAAA,MAEMX,MAFN,GAEiBF,OAFjB,CAEME,MAFN;AAIA,MAAI,CAACU,QAAD,IAAaA,QAAQ,CAACE,MAAT,KAAoB,CAArC,EAAwC,OAAO,kBAAP;AACxC,MAAI,CAACZ,MAAM,CAACa,YAAZ,EAA0B,OAAO,uBAAP;;AAE1B,MAAIF,qBAAqB,IAAID,QAAQ,CAACE,MAAT,GAAkB,CAA/C,EAAkD;AAChD,UAAM,IAAIE,SAAJ,CAAc,oIAAd,CAAN;AACD;AACF;;AAEM,SAASC,MAAT,CACLjB,OADK,EAELW,cAFK,EAGG;AAAA,8BAC+CA,cAD/C,CACFC,QADE;AAAA,MACFA,QADE,sCACS,EADT;AAAA,+BAC+CD,cAD/C,CACaE,qBADb;AAAA,MACaA,qBADb,uCACqC,KADrC;AAAA,MAEFX,MAFE,GAESF,OAFT,CAEFE,MAFE;AAGR,MAAMgB,QAAQ,GAAG,CAACL,qBAAD,GAAyB,SAAzB,GAAqC,sBAAtD;AAEA,MAAIM,mBAAmB,GAAGP,QAAQ,CAACE,MAAT,GAAkB,CAAlB,GAAsBF,QAAQ,CAACQ,IAAT,CAAc,GAAd,CAAtB,GAA2C,GAArE;AACA,uBAAcF,QAAd,sBACEhB,MAAM,CAACa,YADT,sBAEYM,kBAAMC,YAAN,CAAmBH,mBAAnB,CAFZ;AAGD;;AAEM,SAASI,iBAAT,OAA+D;AAAA,MAAlCrB,MAAkC,QAAlCA,MAAkC;AACpE,SAAOA,MAAM,CAACsB,qBAAP,EAAP;AACD;;AAEM,SAASC,eAAT,GAAoC;AACzC,SAAO,IAAP;AACD;;AAEM,SAASC,aAAT,CACL1B,OADK,EAELW,cAFK,EAGG;AAAA,MAENgB,KAFM,GASJhB,cATI,CAENgB,KAFM;AAAA,MAGNC,GAHM,GASJjB,cATI,CAGNiB,GAHM;AAAA,MAINC,KAJM,GASJlB,cATI,CAINkB,KAJM;AAAA,8BASJlB,cATI,CAKNmB,oBALM;AAAA,MAKNA,oBALM,sCAKiB,KALjB;AAAA,+BASJnB,cATI,CAMNoB,WANM;AAAA,MAMNA,WANM,uCAMQ,KANR;AAAA,+BASJpB,cATI,CAONqB,WAPM;AAAA,MAONA,WAPM,uCAOQ,IAPR;AAAA,+BASJrB,cATI,CAQNsB,kBARM;AAAA,MAQNA,kBARM,uCAQe,IARf;AAUR,MAAIC,cAAsB,GAAG,EAA7B;AAEA,MAAIL,KAAJ,EAAWK,cAAc,CAACC,GAAf,GAAqBN,KAArB;AACX,MAAIF,KAAJ,EAAWO,cAAc,CAACP,KAAf,GAAuBA,KAAvB;AACX,MAAIC,GAAJ,EAASM,cAAc,CAACN,GAAf,GAAqBA,GAArB;AACT,MAAIE,oBAAJ,EAA0BI,cAAc,CAACE,oBAAf,GAAsC,MAAtC;AAC1B,MAAIL,WAAJ,EAAiBG,cAAc,CAACG,YAAf,GAA8B,MAA9B;AACjB,MAAIL,WAAJ,EAAiBE,cAAc,CAACI,YAAf,GAA8B,MAA9B;AACjB,MAAIL,kBAAJ,EAAwBC,cAAc,CAACK,oBAAf,GAAsC,MAAtC;AAExB,SAAOL,cAAP;AACD;;AAEM,SAASM,cAAT,CACLxC,OADK,EAELyC,cAFK,EAGkB;AACvB,MAAMC,QAA+B,GAAG;AACtC9B,IAAAA,QAAQ,EAAE;AAD4B,GAAxC;AAIA+B,EAAAA,MAAM,CAACC,IAAP,CAAYH,cAAc,CAAC7B,QAAf,IAA2B,EAAvC,EAA2CiC,OAA3C,CAAmD,UAACC,WAAD,EAAiB;AAClEJ,IAAAA,QAAQ,CAAC9B,QAAT,CAAkBkC,WAAlB,IAAiC,EAAjC;AAEA,KAACL,cAAc,CAAC7B,QAAf,CAAwBkC,WAAxB,KAAwC,EAAzC,EAA6CD,OAA7C,CAAqD,UAACE,eAAD,EAAqB;AACxE,UAAIC,QAA6B,GAAG,EAApC;AACAA,MAAAA,QAAQ,CAACC,OAAT,GAAmBH,WAAnB;AACAE,MAAAA,QAAQ,CAACE,SAAT,GAAqBH,eAAe,CAACG,SAArC;AACAF,MAAAA,QAAQ,CAAC/C,OAAT,GAAmBF,gBAAgB,CAACC,OAAD,EAAU+C,eAAe,CAAC9C,OAA1B,CAAnC;AACA+C,MAAAA,QAAQ,CAACG,WAAT,GAAuBJ,eAAe,CAACK,YAAvC;AACAJ,MAAAA,QAAQ,CAACK,IAAT,GAAgBN,eAAe,CAACM,IAAhC;;AAEA,UAAIN,eAAe,CAACO,OAApB,EAA6B;AAC3BN,QAAAA,QAAQ,CAACM,OAAT,GAAmBP,eAAe,CAACO,OAAnC;AAGAN,QAAAA,QAAQ,CAACO,IAAT,GAAgBR,eAAe,CAACO,OAAhC;AACD;;AACD,UAAIP,eAAe,CAACS,IAApB,EAA0B;AACxBR,QAAAA,QAAQ,CAACQ,IAAT,GAAgBT,eAAe,CAACS,IAAhC;AACD;;AAEDd,MAAAA,QAAQ,CAAC9B,QAAT,CAAkBkC,WAAlB,EAA+BW,IAA/B,CAAoCT,QAApC;AACD,KAnBD;AAoBD,GAvBD;AAyBA,SAAON,QAAP;AACD","sourcesContent":["/* @flow */\n\nimport {\n FetchMessagesArguments,\n FetchMessagesResponse,\n MessageAnnouncement,\n HistoryV3Response,\n ModulesInject,\n} from '../flow_interfaces';\nimport operationConstants from '../constants/operations';\nimport utils from '../utils';\n\nfunction __processMessage(modules, message: Object): Object | null {\n let { config, crypto } = modules;\n if (!config.cipherKey) return message;\n\n try {\n return crypto.decrypt(message);\n } catch (e) {\n return message;\n }\n}\n\nexport function getOperation(): string {\n return operationConstants.PNFetchMessagesOperation;\n}\n\nexport function validateParams(\n modules: ModulesInject,\n incomingParams: FetchMessagesArguments\n) {\n let { channels, includeMessageActions = false } = incomingParams;\n let { config } = modules;\n\n if (!channels || channels.length === 0) return 'Missing channels';\n if (!config.subscribeKey) return 'Missing Subscribe Key';\n\n if (includeMessageActions && channels.length > 1) {\n throw new TypeError('History can return actions data for a single channel only. Either pass a single channel or disable the includeMessageActions flag.');\n }\n}\n\nexport function getURL(\n modules: ModulesInject,\n incomingParams: FetchMessagesArguments\n): string {\n let { channels = [], includeMessageActions = false } = incomingParams;\n let { config } = modules;\n const endpoint = !includeMessageActions ? 'history' : 'history-with-actions';\n\n let stringifiedChannels = channels.length > 0 ? channels.join(',') : ',';\n return `/v3/${endpoint}/sub-key/${\n config.subscribeKey\n }/channel/${utils.encodeString(stringifiedChannels)}`;\n}\n\nexport function getRequestTimeout({ config }: ModulesInject): boolean {\n return config.getTransactionTimeout();\n}\n\nexport function isAuthSupported(): boolean {\n return true;\n}\n\nexport function prepareParams(\n modules: ModulesInject,\n incomingParams: FetchMessagesArguments\n): Object {\n const {\n start,\n end,\n count,\n stringifiedTimeToken = false,\n includeMeta = false,\n includeUuid = true,\n includeMessageType = true\n } = incomingParams;\n let outgoingParams: Object = {};\n\n if (count) outgoingParams.max = count;\n if (start) outgoingParams.start = start;\n if (end) outgoingParams.end = end;\n if (stringifiedTimeToken) outgoingParams.string_message_token = 'true';\n if (includeMeta) outgoingParams.include_meta = 'true';\n if (includeUuid) outgoingParams.include_uuid = 'true';\n if (includeMessageType) outgoingParams.include_message_type = 'true';\n\n return outgoingParams;\n}\n\nexport function handleResponse(\n modules: ModulesInject,\n serverResponse: HistoryV3Response\n): FetchMessagesResponse {\n const response: FetchMessagesResponse = {\n channels: {},\n };\n\n Object.keys(serverResponse.channels || {}).forEach((channelName) => {\n response.channels[channelName] = [];\n\n (serverResponse.channels[channelName] || []).forEach((messageEnvelope) => {\n let announce: MessageAnnouncement = {};\n announce.channel = channelName;\n announce.timetoken = messageEnvelope.timetoken;\n announce.message = __processMessage(modules, messageEnvelope.message);\n announce.messageType = messageEnvelope.message_type;\n announce.uuid = messageEnvelope.uuid;\n\n if (messageEnvelope.actions) {\n announce.actions = messageEnvelope.actions;\n\n // This should be kept for few updates for existing clients consistency.\n announce.data = messageEnvelope.actions;\n }\n if (messageEnvelope.meta) {\n announce.meta = messageEnvelope.meta;\n }\n\n response.channels[channelName].push(announce);\n });\n });\n\n return response;\n}\n"],"file":"fetch_messages.js"} \ No newline at end of file +{"version":3,"sources":["core/endpoints/fetch_messages.js"],"names":["__processMessage","modules","message","config","crypto","cipherKey","decrypt","e","getOperation","operationConstants","PNFetchMessagesOperation","validateParams","incomingParams","channels","includeMessageActions","length","subscribeKey","TypeError","getURL","endpoint","stringifiedChannels","join","utils","encodeString","getRequestTimeout","getTransactionTimeout","isAuthSupported","prepareParams","start","end","count","stringifiedTimeToken","includeMeta","includeUuid","includeUUID","includeMessageType","outgoingParams","max","string_message_token","include_meta","include_uuid","include_message_type","handleResponse","serverResponse","response","Object","keys","forEach","channelName","messageEnvelope","announce","channel","timetoken","messageType","message_type","uuid","actions","data","meta","push"],"mappings":"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","sourcesContent":["/* @flow */\n\nimport {\n FetchMessagesArguments,\n FetchMessagesResponse,\n MessageAnnouncement,\n HistoryV3Response,\n ModulesInject,\n} from '../flow_interfaces';\nimport operationConstants from '../constants/operations';\nimport utils from '../utils';\n\nfunction __processMessage(modules, message: Object): Object | null {\n let { config, crypto } = modules;\n if (!config.cipherKey) return message;\n\n try {\n return crypto.decrypt(message);\n } catch (e) {\n return message;\n }\n}\n\nexport function getOperation(): string {\n return operationConstants.PNFetchMessagesOperation;\n}\n\nexport function validateParams(\n modules: ModulesInject,\n incomingParams: FetchMessagesArguments\n) {\n let { channels, includeMessageActions = false } = incomingParams;\n let { config } = modules;\n\n if (!channels || channels.length === 0) return 'Missing channels';\n if (!config.subscribeKey) return 'Missing Subscribe Key';\n\n if (includeMessageActions && channels.length > 1) {\n throw new TypeError('History can return actions data for a single channel only. Either pass a single channel or disable the includeMessageActions flag.');\n }\n}\n\nexport function getURL(\n modules: ModulesInject,\n incomingParams: FetchMessagesArguments\n): string {\n let { channels = [], includeMessageActions = false } = incomingParams;\n let { config } = modules;\n const endpoint = !includeMessageActions ? 'history' : 'history-with-actions';\n\n let stringifiedChannels = channels.length > 0 ? channels.join(',') : ',';\n return `/v3/${endpoint}/sub-key/${\n config.subscribeKey\n }/channel/${utils.encodeString(stringifiedChannels)}`;\n}\n\nexport function getRequestTimeout({ config }: ModulesInject): boolean {\n return config.getTransactionTimeout();\n}\n\nexport function isAuthSupported(): boolean {\n return true;\n}\n\nexport function prepareParams(\n modules: ModulesInject,\n incomingParams: FetchMessagesArguments\n): Object {\n const {\n start,\n end,\n count,\n stringifiedTimeToken = false,\n includeMeta = false,\n includeUuid,\n includeUUID = true,\n includeMessageType = true\n } = incomingParams;\n let outgoingParams: Object = {};\n\n if (count) outgoingParams.max = count;\n if (start) outgoingParams.start = start;\n if (end) outgoingParams.end = end;\n if (stringifiedTimeToken) outgoingParams.string_message_token = 'true';\n if (includeMeta) outgoingParams.include_meta = 'true';\n if (includeUUID && includeUuid !== false) outgoingParams.include_uuid = 'true';\n if (includeMessageType) outgoingParams.include_message_type = 'true';\n\n return outgoingParams;\n}\n\nexport function handleResponse(\n modules: ModulesInject,\n serverResponse: HistoryV3Response\n): FetchMessagesResponse {\n const response: FetchMessagesResponse = {\n channels: {},\n };\n\n Object.keys(serverResponse.channels || {}).forEach((channelName) => {\n response.channels[channelName] = [];\n\n (serverResponse.channels[channelName] || []).forEach((messageEnvelope) => {\n let announce: MessageAnnouncement = {};\n announce.channel = channelName;\n announce.timetoken = messageEnvelope.timetoken;\n announce.message = __processMessage(modules, messageEnvelope.message);\n announce.messageType = messageEnvelope.message_type;\n announce.uuid = messageEnvelope.uuid;\n\n if (messageEnvelope.actions) {\n announce.actions = messageEnvelope.actions;\n\n // This should be kept for few updates for existing clients consistency.\n announce.data = messageEnvelope.actions;\n }\n if (messageEnvelope.meta) {\n announce.meta = messageEnvelope.meta;\n }\n\n response.channels[channelName].push(announce);\n });\n });\n\n return response;\n}\n"],"file":"fetch_messages.js"} \ No newline at end of file diff --git a/lib/core/endpoints/file_upload/get_file_url.js b/lib/core/endpoints/file_upload/get_file_url.js index 8bc216285..d7c830d6f 100644 --- a/lib/core/endpoints/file_upload/get_file_url.js +++ b/lib/core/endpoints/file_upload/get_file_url.js @@ -25,7 +25,7 @@ var _default = function _default(_ref, _ref2) { throw new _endpoint.PubNubError('Validation failed, check status for details', (0, _endpoint.createValidationError)("file name can't be empty")); } - return "".concat(config.origin, "/v1/files/").concat(config.subscribeKey, "/channels/").concat(channel, "/files/").concat(id, "/").concat(name); + return "https://".concat(config.origin, "/v1/files/").concat(config.subscribeKey, "/channels/").concat(channel, "/files/").concat(id, "/").concat(name); }; exports["default"] = _default; diff --git a/lib/core/endpoints/file_upload/get_file_url.js.map b/lib/core/endpoints/file_upload/get_file_url.js.map index 36c4d3b7e..ba44ee535 100644 --- a/lib/core/endpoints/file_upload/get_file_url.js.map +++ b/lib/core/endpoints/file_upload/get_file_url.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/endpoints/file_upload/get_file_url.js"],"names":["config","channel","id","name","PubNubError","origin","subscribeKey"],"mappings":";;;;;;;AAEA;;eAIe,+BAAoF;AAAA,MAAjFA,MAAiF,QAAjFA,MAAiF;AAAA,MAA5DC,OAA4D,SAA5DA,OAA4D;AAAA,MAAnDC,EAAmD,SAAnDA,EAAmD;AAAA,MAA/CC,IAA+C,SAA/CA,IAA+C;;AACjG,MAAI,CAACF,OAAL,EAAc;AACZ,UAAM,IAAIG,qBAAJ,CACJ,6CADI,EAEJ,qCAAsB,wBAAtB,CAFI,CAAN;AAID;;AAED,MAAI,CAACF,EAAL,EAAS;AACP,UAAM,IAAIE,qBAAJ,CACJ,6CADI,EAEJ,qCAAsB,wBAAtB,CAFI,CAAN;AAID;;AAED,MAAI,CAACD,IAAL,EAAW;AACT,UAAM,IAAIC,qBAAJ,CACJ,6CADI,EAEJ,qCAAsB,0BAAtB,CAFI,CAAN;AAID;;AAED,mBAAUJ,MAAM,CAACK,MAAjB,uBAAoCL,MAAM,CAACM,YAA3C,uBAAoEL,OAApE,oBAAqFC,EAArF,cAA2FC,IAA3F;AACD,C","sourcesContent":["/** @flow */\n\nimport { PubNubError, createValidationError } from '../../components/endpoint';\nimport type { Modules } from '../endpoint';\nimport type { GetFileUrlParams, GetFileUrlResult } from './types';\n\nexport default ({ config }: Modules, { channel, id, name }: GetFileUrlParams): GetFileUrlResult => {\n if (!channel) {\n throw new PubNubError(\n 'Validation failed, check status for details',\n createValidationError(\"channel can't be empty\")\n );\n }\n\n if (!id) {\n throw new PubNubError(\n 'Validation failed, check status for details',\n createValidationError(\"file id can't be empty\")\n );\n }\n\n if (!name) {\n throw new PubNubError(\n 'Validation failed, check status for details',\n createValidationError(\"file name can't be empty\")\n );\n }\n\n return `${config.origin}/v1/files/${config.subscribeKey}/channels/${channel}/files/${id}/${name}`;\n};\n"],"file":"get_file_url.js"} \ No newline at end of file +{"version":3,"sources":["core/endpoints/file_upload/get_file_url.js"],"names":["config","channel","id","name","PubNubError","origin","subscribeKey"],"mappings":";;;;;;;AAEA;;eAIe,+BAAoF;AAAA,MAAjFA,MAAiF,QAAjFA,MAAiF;AAAA,MAA5DC,OAA4D,SAA5DA,OAA4D;AAAA,MAAnDC,EAAmD,SAAnDA,EAAmD;AAAA,MAA/CC,IAA+C,SAA/CA,IAA+C;;AACjG,MAAI,CAACF,OAAL,EAAc;AACZ,UAAM,IAAIG,qBAAJ,CACJ,6CADI,EAEJ,qCAAsB,wBAAtB,CAFI,CAAN;AAID;;AAED,MAAI,CAACF,EAAL,EAAS;AACP,UAAM,IAAIE,qBAAJ,CACJ,6CADI,EAEJ,qCAAsB,wBAAtB,CAFI,CAAN;AAID;;AAED,MAAI,CAACD,IAAL,EAAW;AACT,UAAM,IAAIC,qBAAJ,CACJ,6CADI,EAEJ,qCAAsB,0BAAtB,CAFI,CAAN;AAID;;AAED,2BAAkBJ,MAAM,CAACK,MAAzB,uBAA4CL,MAAM,CAACM,YAAnD,uBAA4EL,OAA5E,oBAA6FC,EAA7F,cAAmGC,IAAnG;AACD,C","sourcesContent":["/** @flow */\n\nimport { PubNubError, createValidationError } from '../../components/endpoint';\nimport type { Modules } from '../endpoint';\nimport type { GetFileUrlParams, GetFileUrlResult } from './types';\n\nexport default ({ config }: Modules, { channel, id, name }: GetFileUrlParams): GetFileUrlResult => {\n if (!channel) {\n throw new PubNubError(\n 'Validation failed, check status for details',\n createValidationError(\"channel can't be empty\")\n );\n }\n\n if (!id) {\n throw new PubNubError(\n 'Validation failed, check status for details',\n createValidationError(\"file id can't be empty\")\n );\n }\n\n if (!name) {\n throw new PubNubError(\n 'Validation failed, check status for details',\n createValidationError(\"file name can't be empty\")\n );\n }\n\n return `https://${config.origin}/v1/files/${config.subscribeKey}/channels/${channel}/files/${id}/${name}`;\n};\n"],"file":"get_file_url.js"} \ No newline at end of file diff --git a/lib/core/endpoints/file_upload/list_files.js b/lib/core/endpoints/file_upload/list_files.js index bcf0e2f0f..f827a0bcb 100644 --- a/lib/core/endpoints/file_upload/list_files.js +++ b/lib/core/endpoints/file_upload/list_files.js @@ -33,13 +33,25 @@ var endpoint = { var tokenManager = _ref3.tokenManager; return tokenManager.getToken('fileUpload'); }, - prepareParams: function prepareParams() { - return {}; + prepareParams: function prepareParams(_, params) { + var outParams = {}; + + if (params.limit) { + outParams.limit = params.limit; + } + + if (params.next) { + outParams.next = params.next; + } + + return outParams; }, handleResponse: function handleResponse(_, response) { return { status: response.status, - data: response.data + data: response.data, + next: response.next, + count: response.count }; } }; diff --git a/lib/core/endpoints/file_upload/list_files.js.map b/lib/core/endpoints/file_upload/list_files.js.map index 8420dfb8c..81358f141 100644 --- a/lib/core/endpoints/file_upload/list_files.js.map +++ b/lib/core/endpoints/file_upload/list_files.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/endpoints/file_upload/list_files.js"],"names":["endpoint","getOperation","operationConstants","PNListFilesOperation","validateParams","_","params","channel","getURL","config","subscribeKey","getRequestTimeout","getTransactionTimeout","isAuthSupported","getAuthToken","tokenManager","getToken","prepareParams","handleResponse","response","status","data"],"mappings":";;;;;;;;;AAGA;;AAGA,IAAMA,QAA0D,GAAG;AACjEC,EAAAA,YAAY,EAAE;AAAA,WAAMC,uBAAmBC,oBAAzB;AAAA,GADmD;AAGjEC,EAAAA,cAAc,EAAE,wBAACC,CAAD,EAAIC,MAAJ,EAAe;AAC7B,QAAI,EAACA,MAAD,aAACA,MAAD,uBAACA,MAAM,CAAEC,OAAT,CAAJ,EAAsB;AACpB,aAAO,yBAAP;AACD;AACF,GAPgE;AASjEC,EAAAA,MAAM,EAAE,sBAAaF,MAAb;AAAA,QAAGG,MAAH,QAAGA,MAAH;AAAA,+BAAqCA,MAAM,CAACC,YAA5C,uBAAqEJ,MAAM,CAACC,OAA5E;AAAA,GATyD;AAWjEI,EAAAA,iBAAiB,EAAE;AAAA,QAAGF,MAAH,SAAGA,MAAH;AAAA,WAAgBA,MAAM,CAACG,qBAAP,EAAhB;AAAA,GAX8C;AAajEC,EAAAA,eAAe,EAAE;AAAA,WAAM,IAAN;AAAA,GAbgD;AAejEC,EAAAA,YAAY,EAAE;AAAA,QAAGC,YAAH,SAAGA,YAAH;AAAA,WAAsBA,YAAY,CAACC,QAAb,CAAsB,YAAtB,CAAtB;AAAA,GAfmD;AAiBjEC,EAAAA,aAAa,EAAE;AAAA,WAAO,EAAP;AAAA,GAjBkD;AAmBjEC,EAAAA,cAAc,EAAE,wBAACb,CAAD,EAAIc,QAAJ;AAAA,WAAmC;AACjDC,MAAAA,MAAM,EAAED,QAAQ,CAACC,MADgC;AAEjDC,MAAAA,IAAI,EAAEF,QAAQ,CAACE;AAFkC,KAAnC;AAAA;AAnBiD,CAAnE;eAyBerB,Q","sourcesContent":["/** @flow */\n\nimport type { EndpointConfig } from '../endpoint';\nimport operationConstants from '../../constants/operations';\nimport type { ListFilesParams, ListFilesResult } from './types';\n\nconst endpoint: EndpointConfig = {\n getOperation: () => operationConstants.PNListFilesOperation,\n\n validateParams: (_, params) => {\n if (!params?.channel) {\n return 'channel can\\'t be empty';\n }\n },\n\n getURL: ({ config }, params) => `/v1/files/${config.subscribeKey}/channels/${params.channel}/files`,\n\n getRequestTimeout: ({ config }) => config.getTransactionTimeout(),\n\n isAuthSupported: () => true,\n\n getAuthToken: ({ tokenManager }) => tokenManager.getToken('fileUpload'),\n\n prepareParams: () => ({}),\n\n handleResponse: (_, response): ListFilesResult => ({\n status: response.status,\n data: response.data,\n }),\n};\n\nexport default endpoint;\n"],"file":"list_files.js"} \ No newline at end of file +{"version":3,"sources":["core/endpoints/file_upload/list_files.js"],"names":["endpoint","getOperation","operationConstants","PNListFilesOperation","validateParams","_","params","channel","getURL","config","subscribeKey","getRequestTimeout","getTransactionTimeout","isAuthSupported","getAuthToken","tokenManager","getToken","prepareParams","outParams","limit","next","handleResponse","response","status","data","count"],"mappings":";;;;;;;;;AAGA;;AAGA,IAAMA,QAA0D,GAAG;AACjEC,EAAAA,YAAY,EAAE;AAAA,WAAMC,uBAAmBC,oBAAzB;AAAA,GADmD;AAGjEC,EAAAA,cAAc,EAAE,wBAACC,CAAD,EAAIC,MAAJ,EAAe;AAC7B,QAAI,EAACA,MAAD,aAACA,MAAD,uBAACA,MAAM,CAAEC,OAAT,CAAJ,EAAsB;AACpB,aAAO,yBAAP;AACD;AACF,GAPgE;AASjEC,EAAAA,MAAM,EAAE,sBAAaF,MAAb;AAAA,QAAGG,MAAH,QAAGA,MAAH;AAAA,+BAAqCA,MAAM,CAACC,YAA5C,uBAAqEJ,MAAM,CAACC,OAA5E;AAAA,GATyD;AAWjEI,EAAAA,iBAAiB,EAAE;AAAA,QAAGF,MAAH,SAAGA,MAAH;AAAA,WAAgBA,MAAM,CAACG,qBAAP,EAAhB;AAAA,GAX8C;AAajEC,EAAAA,eAAe,EAAE;AAAA,WAAM,IAAN;AAAA,GAbgD;AAejEC,EAAAA,YAAY,EAAE;AAAA,QAAGC,YAAH,SAAGA,YAAH;AAAA,WAAsBA,YAAY,CAACC,QAAb,CAAsB,YAAtB,CAAtB;AAAA,GAfmD;AAiBjEC,EAAAA,aAAa,EAAE,uBAACZ,CAAD,EAAIC,MAAJ,EAAe;AAC5B,QAAMY,SAAS,GAAG,EAAlB;;AAEA,QAAIZ,MAAM,CAACa,KAAX,EAAkB;AAChBD,MAAAA,SAAS,CAACC,KAAV,GAAkBb,MAAM,CAACa,KAAzB;AACD;;AAED,QAAIb,MAAM,CAACc,IAAX,EAAiB;AACfF,MAAAA,SAAS,CAACE,IAAV,GAAiBd,MAAM,CAACc,IAAxB;AACD;;AAED,WAAOF,SAAP;AACD,GA7BgE;AA+BjEG,EAAAA,cAAc,EAAE,wBAAChB,CAAD,EAAIiB,QAAJ;AAAA,WAAmC;AACjDC,MAAAA,MAAM,EAAED,QAAQ,CAACC,MADgC;AAEjDC,MAAAA,IAAI,EAAEF,QAAQ,CAACE,IAFkC;AAGjDJ,MAAAA,IAAI,EAAEE,QAAQ,CAACF,IAHkC;AAIjDK,MAAAA,KAAK,EAAEH,QAAQ,CAACG;AAJiC,KAAnC;AAAA;AA/BiD,CAAnE;eAuCezB,Q","sourcesContent":["/** @flow */\n\nimport type { EndpointConfig } from '../endpoint';\nimport operationConstants from '../../constants/operations';\nimport type { ListFilesParams, ListFilesResult } from './types';\n\nconst endpoint: EndpointConfig = {\n getOperation: () => operationConstants.PNListFilesOperation,\n\n validateParams: (_, params) => {\n if (!params?.channel) {\n return 'channel can\\'t be empty';\n }\n },\n\n getURL: ({ config }, params) => `/v1/files/${config.subscribeKey}/channels/${params.channel}/files`,\n\n getRequestTimeout: ({ config }) => config.getTransactionTimeout(),\n\n isAuthSupported: () => true,\n\n getAuthToken: ({ tokenManager }) => tokenManager.getToken('fileUpload'),\n\n prepareParams: (_, params) => {\n const outParams = {};\n\n if (params.limit) {\n outParams.limit = params.limit;\n }\n\n if (params.next) {\n outParams.next = params.next;\n }\n\n return outParams;\n },\n\n handleResponse: (_, response): ListFilesResult => ({\n status: response.status,\n data: response.data,\n next: response.next,\n count: response.count,\n }),\n};\n\nexport default endpoint;\n"],"file":"list_files.js"} \ No newline at end of file diff --git a/lib/core/endpoints/file_upload/publish_file.js b/lib/core/endpoints/file_upload/publish_file.js index cbcec82a9..0ad4d2a3e 100644 --- a/lib/core/endpoints/file_upload/publish_file.js +++ b/lib/core/endpoints/file_upload/publish_file.js @@ -75,8 +75,8 @@ var endpoint = { outParams.ttl = params.ttl; } - if (params.store) { - outParams.store = params.store ? '1' : '0'; + if (params.storeInHistory !== undefined) { + outParams.store = params.storeInHistory ? '1' : '0'; } if (params.meta && (0, _typeof2["default"])(params.meta) === 'object') { diff --git a/lib/core/endpoints/file_upload/publish_file.js.map b/lib/core/endpoints/file_upload/publish_file.js.map index 241309b9f..322988c37 100644 --- a/lib/core/endpoints/file_upload/publish_file.js.map +++ b/lib/core/endpoints/file_upload/publish_file.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/endpoints/file_upload/publish_file.js"],"names":["preparePayload","payload","crypto","config","stringifiedPayload","JSON","stringify","cipherKey","encrypt","endpoint","getOperation","operationConstants","PNPublishFileOperation","validateParams","_","params","channel","fileId","fileName","getURL","modules","publishKey","subscribeKey","message","file","name","id","utils","encodeString","getRequestTimeout","getTransactionTimeout","isAuthSupported","getAuthToken","tokenManager","getToken","prepareParams","outParams","ttl","store","meta","handleResponse","response","timetoken"],"mappings":"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","sourcesContent":["/** @flow */\n\nimport type { EndpointConfig, Modules } from '../endpoint';\nimport operationConstants from '../../constants/operations';\nimport type { PublishFileParams, PublishFileResult } from './types';\nimport utils from '../../utils';\n\nconst preparePayload = ({ crypto, config }: Modules, payload: any): string => {\n let stringifiedPayload = JSON.stringify(payload);\n\n if (config.cipherKey) {\n stringifiedPayload = crypto.encrypt(stringifiedPayload);\n stringifiedPayload = JSON.stringify(stringifiedPayload);\n }\n\n return stringifiedPayload || '';\n};\n\nconst endpoint: EndpointConfig = {\n getOperation: () => operationConstants.PNPublishFileOperation,\n\n validateParams: (_, params) => {\n if (!params?.channel) {\n return \"channel can't be empty\";\n }\n\n if (!params?.fileId) {\n return \"file id can't be empty\";\n }\n\n if (!params?.fileName) {\n return \"file name can't be empty\";\n }\n },\n\n getURL: (modules, params) => {\n const { publishKey, subscribeKey } = modules.config;\n\n const message = {\n message: params.message,\n file: {\n name: params.fileName,\n id: params.fileId,\n },\n };\n\n const payload = preparePayload(modules, message);\n\n return `/v1/files/publish-file/${publishKey}/${subscribeKey}/0/${params.channel}/0/${utils.encodeString(payload)}`;\n },\n\n getRequestTimeout: ({ config }) => config.getTransactionTimeout(),\n\n isAuthSupported: () => true,\n\n getAuthToken: ({ tokenManager }) => tokenManager.getToken('fileUpload'),\n\n prepareParams: (_, params) => {\n const outParams = {};\n\n if (params.ttl) {\n outParams.ttl = params.ttl;\n }\n\n if (params.store) {\n outParams.store = params.store ? '1' : '0';\n }\n\n if (params.meta && typeof params.meta === 'object') {\n outParams.meta = JSON.stringify(params.meta);\n }\n\n return outParams;\n },\n\n handleResponse: (_, response): PublishFileResult => ({\n timetoken: response['2'],\n }),\n};\n\nexport default endpoint;\n"],"file":"publish_file.js"} \ No newline at end of file +{"version":3,"sources":["core/endpoints/file_upload/publish_file.js"],"names":["preparePayload","payload","crypto","config","stringifiedPayload","JSON","stringify","cipherKey","encrypt","endpoint","getOperation","operationConstants","PNPublishFileOperation","validateParams","_","params","channel","fileId","fileName","getURL","modules","publishKey","subscribeKey","message","file","name","id","utils","encodeString","getRequestTimeout","getTransactionTimeout","isAuthSupported","getAuthToken","tokenManager","getToken","prepareParams","outParams","ttl","storeInHistory","undefined","store","meta","handleResponse","response","timetoken"],"mappings":"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","sourcesContent":["/** @flow */\n\nimport type { EndpointConfig, Modules } from '../endpoint';\nimport operationConstants from '../../constants/operations';\nimport type { PublishFileParams, PublishFileResult } from './types';\nimport utils from '../../utils';\n\nconst preparePayload = ({ crypto, config }: Modules, payload: any): string => {\n let stringifiedPayload = JSON.stringify(payload);\n\n if (config.cipherKey) {\n stringifiedPayload = crypto.encrypt(stringifiedPayload);\n stringifiedPayload = JSON.stringify(stringifiedPayload);\n }\n\n return stringifiedPayload || '';\n};\n\nconst endpoint: EndpointConfig = {\n getOperation: () => operationConstants.PNPublishFileOperation,\n\n validateParams: (_, params) => {\n if (!params?.channel) {\n return \"channel can't be empty\";\n }\n\n if (!params?.fileId) {\n return \"file id can't be empty\";\n }\n\n if (!params?.fileName) {\n return \"file name can't be empty\";\n }\n },\n\n getURL: (modules, params) => {\n const { publishKey, subscribeKey } = modules.config;\n\n const message = {\n message: params.message,\n file: {\n name: params.fileName,\n id: params.fileId,\n },\n };\n\n const payload = preparePayload(modules, message);\n\n return `/v1/files/publish-file/${publishKey}/${subscribeKey}/0/${params.channel}/0/${utils.encodeString(payload)}`;\n },\n\n getRequestTimeout: ({ config }) => config.getTransactionTimeout(),\n\n isAuthSupported: () => true,\n\n getAuthToken: ({ tokenManager }) => tokenManager.getToken('fileUpload'),\n\n prepareParams: (_, params) => {\n const outParams = {};\n\n if (params.ttl) {\n outParams.ttl = params.ttl;\n }\n\n if (params.storeInHistory !== undefined) {\n outParams.store = params.storeInHistory ? '1' : '0';\n }\n\n if (params.meta && typeof params.meta === 'object') {\n outParams.meta = JSON.stringify(params.meta);\n }\n\n return outParams;\n },\n\n handleResponse: (_, response): PublishFileResult => ({\n timetoken: response['2'],\n }),\n};\n\nexport default endpoint;\n"],"file":"publish_file.js"} \ No newline at end of file diff --git a/lib/core/endpoints/file_upload/send_file.js b/lib/core/endpoints/file_upload/send_file.js index 5003bed69..7e6fc5c98 100644 --- a/lib/core/endpoints/file_upload/send_file.js +++ b/lib/core/endpoints/file_upload/send_file.js @@ -23,13 +23,13 @@ var sendFile = function sendFile(_ref) { networking = _ref$modules.networking; return function () { var _ref3 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(_ref2) { - var channel, input, message, cipherKey, meta, ttl, store, file, _yield$generateUpload, _yield$generateUpload2, url, formFields, _yield$generateUpload3, id, name, formFieldsWithMimeType, result, retries, wasSuccessful; + var channel, input, message, cipherKey, meta, ttl, storeInHistory, file, _yield$generateUpload, _yield$generateUpload2, url, formFields, _yield$generateUpload3, id, name, formFieldsWithMimeType, result, retries, wasSuccessful; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: - channel = _ref2.channel, input = _ref2.file, message = _ref2.message, cipherKey = _ref2.cipherKey, meta = _ref2.meta, ttl = _ref2.ttl, store = _ref2.store; + channel = _ref2.channel, input = _ref2.file, message = _ref2.message, cipherKey = _ref2.cipherKey, meta = _ref2.meta, ttl = _ref2.ttl, storeInHistory = _ref2.storeInHistory; if (channel) { _context.next = 3; @@ -79,18 +79,16 @@ var sendFile = function sendFile(_ref) { if (file.mimeType) { formFieldsWithMimeType = formFields.map(function (entry) { - var _file$mimeType; - if (entry.key === 'Content-Type') return { key: entry.key, - value: (_file$mimeType = file.mimeType) !== null && _file$mimeType !== void 0 ? _file$mimeType : '' + value: file.mimeType };else return entry; }); } _context.prev = 21; - if (!(typeof Blob !== 'undefined')) { + if (!PubNubFile.supportsFile) { _context.next = 34; break; } @@ -108,80 +106,112 @@ var sendFile = function sendFile(_ref) { case 31: result = _context.sent; - _context.next = 43; + _context.next = 59; break; case 34: + if (!PubNubFile.supportsBuffer) { + _context.next = 46; + break; + } + _context.t4 = networking; _context.t5 = url; _context.t6 = formFieldsWithMimeType; - _context.next = 39; + _context.next = 40; return file.toBuffer(); - case 39: + case 40: _context.t7 = _context.sent; - _context.next = 42; + _context.next = 43; return _context.t4.FILE.call(_context.t4, _context.t5, _context.t6, _context.t7); - case 42: + case 43: result = _context.sent; + _context.next = 59; + break; - case 43: - _context.next = 48; + case 46: + if (!PubNubFile.supportsBlob) { + _context.next = 58; + break; + } + + _context.t8 = networking; + _context.t9 = url; + _context.t10 = formFieldsWithMimeType; + _context.next = 52; + return file.toBlob(); + + case 52: + _context.t11 = _context.sent; + _context.next = 55; + return _context.t8.FILE.call(_context.t8, _context.t9, _context.t10, _context.t11); + + case 55: + result = _context.sent; + _context.next = 59; + break; + + case 58: + throw new Error('Unsupported environment'); + + case 59: + _context.next = 64; break; - case 45: - _context.prev = 45; - _context.t8 = _context["catch"](21); - throw new _endpoint.PubNubError('Upload to bucket failed', _context.t8); + case 61: + _context.prev = 61; + _context.t12 = _context["catch"](21); + throw new _endpoint.PubNubError('Upload to bucket failed', _context.t12); - case 48: + case 64: if (!(result.status !== 204)) { - _context.next = 50; + _context.next = 66; break; } throw new _endpoint.PubNubError('Upload to bucket was unsuccessful', result); - case 50: + case 66: retries = 5; wasSuccessful = false; - case 52: + case 68: if (!(!wasSuccessful && retries > 0)) { - _context.next = 64; + _context.next = 80; break; } - _context.prev = 53; - _context.next = 56; + _context.prev = 69; + _context.next = 72; return publishFile({ channel: channel, message: message, fileId: id, fileName: name, meta: meta, - store: store, + storeInHistory: storeInHistory, ttl: ttl }); - case 56: + case 72: wasSuccessful = true; - _context.next = 62; + _context.next = 78; break; - case 59: - _context.prev = 59; - _context.t9 = _context["catch"](53); + case 75: + _context.prev = 75; + _context.t13 = _context["catch"](69); retries -= 1; - case 62: - _context.next = 52; + case 78: + _context.next = 68; break; - case 64: + case 80: if (wasSuccessful) { - _context.next = 68; + _context.next = 84; break; } @@ -191,18 +221,18 @@ var sendFile = function sendFile(_ref) { name: name }); - case 68: + case 84: return _context.abrupt("return", { id: id, name: name }); - case 69: + case 85: case "end": return _context.stop(); } } - }, _callee, null, [[21, 45], [53, 59]]); + }, _callee, null, [[21, 61], [69, 75]]); })); return function (_x) { diff --git a/lib/core/endpoints/file_upload/send_file.js.map b/lib/core/endpoints/file_upload/send_file.js.map index 4100f0535..af3bc4885 100644 --- a/lib/core/endpoints/file_upload/send_file.js.map +++ b/lib/core/endpoints/file_upload/send_file.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/endpoints/file_upload/send_file.js"],"names":["sendFile","generateUploadUrl","publishFile","modules","PubNubFile","config","cryptography","networking","channel","input","file","message","cipherKey","meta","ttl","store","PubNubError","create","name","file_upload_request","url","formFields","form_fields","data","id","encryptFile","formFieldsWithMimeType","mimeType","map","entry","key","value","Blob","toFile","FILE","result","toBuffer","status","retries","wasSuccessful","fileId","fileName","deps","f","params","cb","resultP","then","error"],"mappings":"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","sourcesContent":["/** @flow */\n\nimport { PubNubError, createValidationError } from '../../components/endpoint';\nimport type {\n SendFileParams,\n SendFileResult,\n GenerateUploadUrlParams,\n GenerateUploadUrlResult,\n PublishFileParams,\n PublishFileResult,\n} from './types';\n\nimport type { Modules } from '../endpoint';\n\ntype Dependencies = {|\n generateUploadUrl: (params: GenerateUploadUrlParams) => Promise,\n publishFile: (params: PublishFileParams) => Promise,\n modules: Modules,\n|};\n\nconst sendFile = ({\n generateUploadUrl,\n publishFile,\n modules: { PubNubFile, config, cryptography, networking },\n}: Dependencies) => async ({\n channel,\n file: input,\n message,\n cipherKey,\n meta,\n ttl,\n store,\n}: SendFileParams): Promise => {\n if (!channel) {\n throw new PubNubError(\n 'Validation failed, check status for details',\n createValidationError(\"channel can't be empty\")\n );\n }\n\n if (!input) {\n throw new PubNubError('Validation failed, check status for details', createValidationError(\"file can't be empty\"));\n }\n\n let file = PubNubFile.create(input);\n\n const {\n file_upload_request: { url, form_fields: formFields },\n data: { id, name },\n } = await generateUploadUrl({ channel, name: file.name });\n\n if (cipherKey ?? config.cipherKey) {\n file = await cryptography.encryptFile(cipherKey ?? config.cipherKey, file, PubNubFile);\n }\n\n let formFieldsWithMimeType = formFields;\n\n if (file.mimeType) {\n formFieldsWithMimeType = formFields.map((entry) => {\n if (entry.key === 'Content-Type') return { key: entry.key, value: file.mimeType ?? '' };\n else return entry;\n });\n }\n\n let result;\n\n try {\n if (typeof Blob !== 'undefined') {\n result = await networking.FILE(url, formFieldsWithMimeType, await file.toFile());\n } else {\n result = await networking.FILE(url, formFieldsWithMimeType, await file.toBuffer());\n }\n } catch (e) {\n throw new PubNubError('Upload to bucket failed', e);\n }\n\n if (result.status !== 204) {\n throw new PubNubError('Upload to bucket was unsuccessful', result);\n }\n\n let retries = 5;\n let wasSuccessful = false;\n\n while (!wasSuccessful && retries > 0) {\n try {\n await publishFile({\n channel,\n message,\n fileId: id,\n fileName: name,\n meta,\n store,\n ttl,\n });\n\n wasSuccessful = true;\n } catch (e) {\n retries -= 1;\n }\n }\n if (!wasSuccessful) {\n throw new PubNubError('Publish failed. You may want to execute that operation manually using pubnub.publishFile', {\n channel,\n id,\n name,\n });\n } else {\n return {\n id,\n name,\n };\n }\n};\n\nexport default (deps: Dependencies) => {\n const f = sendFile(deps);\n\n return (params: SendFileParams, cb?: (error: any, params: SendFileResult) => void): Promise => {\n const resultP = f(params);\n\n if (typeof cb === 'function') {\n resultP.then((result) => cb(null, result)).catch((error) => cb(error, (null: any)));\n\n return resultP;\n } else {\n return resultP;\n }\n };\n};\n"],"file":"send_file.js"} \ No newline at end of file +{"version":3,"sources":["core/endpoints/file_upload/send_file.js"],"names":["sendFile","generateUploadUrl","publishFile","modules","PubNubFile","config","cryptography","networking","channel","input","file","message","cipherKey","meta","ttl","storeInHistory","PubNubError","create","name","file_upload_request","url","formFields","form_fields","data","id","encryptFile","formFieldsWithMimeType","mimeType","map","entry","key","value","supportsFile","toFile","FILE","result","supportsBuffer","toBuffer","supportsBlob","toBlob","Error","status","retries","wasSuccessful","fileId","fileName","deps","f","params","cb","resultP","then","error"],"mappings":"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","sourcesContent":["/** @flow */\n\nimport { PubNubError, createValidationError } from '../../components/endpoint';\nimport type {\n SendFileParams,\n SendFileResult,\n GenerateUploadUrlParams,\n GenerateUploadUrlResult,\n PublishFileParams,\n PublishFileResult,\n} from './types';\n\nimport type { Modules } from '../endpoint';\n\ntype Dependencies = {|\n generateUploadUrl: (params: GenerateUploadUrlParams) => Promise,\n publishFile: (params: PublishFileParams) => Promise,\n modules: Modules,\n|};\n\nconst sendFile = ({\n generateUploadUrl,\n publishFile,\n modules: { PubNubFile, config, cryptography, networking },\n}: Dependencies) => async ({\n channel,\n file: input,\n message,\n cipherKey,\n meta,\n ttl,\n storeInHistory,\n}: SendFileParams): Promise => {\n if (!channel) {\n throw new PubNubError(\n 'Validation failed, check status for details',\n createValidationError(\"channel can't be empty\")\n );\n }\n\n if (!input) {\n throw new PubNubError('Validation failed, check status for details', createValidationError(\"file can't be empty\"));\n }\n\n let file = PubNubFile.create(input);\n\n const {\n file_upload_request: { url, form_fields: formFields },\n data: { id, name },\n } = await generateUploadUrl({ channel, name: file.name });\n\n if (cipherKey ?? config.cipherKey) {\n file = await cryptography.encryptFile(cipherKey ?? config.cipherKey, file, PubNubFile);\n }\n\n let formFieldsWithMimeType = formFields;\n\n if (file.mimeType) {\n formFieldsWithMimeType = formFields.map((entry) => {\n if (entry.key === 'Content-Type') return { key: entry.key, value: file.mimeType };\n else return entry;\n });\n }\n\n let result;\n\n try {\n if (PubNubFile.supportsFile) {\n result = await networking.FILE(url, formFieldsWithMimeType, await file.toFile());\n } else if (PubNubFile.supportsBuffer) {\n result = await networking.FILE(url, formFieldsWithMimeType, await file.toBuffer());\n } else if (PubNubFile.supportsBlob) {\n result = await networking.FILE(url, formFieldsWithMimeType, await file.toBlob());\n } else {\n throw new Error('Unsupported environment');\n }\n } catch (e) {\n throw new PubNubError('Upload to bucket failed', e);\n }\n\n if (result.status !== 204) {\n throw new PubNubError('Upload to bucket was unsuccessful', result);\n }\n\n let retries = 5;\n let wasSuccessful = false;\n\n while (!wasSuccessful && retries > 0) {\n try {\n await publishFile({\n channel,\n message,\n fileId: id,\n fileName: name,\n meta,\n storeInHistory,\n ttl,\n });\n\n wasSuccessful = true;\n } catch (e) {\n retries -= 1;\n }\n }\n if (!wasSuccessful) {\n throw new PubNubError('Publish failed. You may want to execute that operation manually using pubnub.publishFile', {\n channel,\n id,\n name,\n });\n } else {\n return {\n id,\n name,\n };\n }\n};\n\nexport default (deps: Dependencies) => {\n const f = sendFile(deps);\n\n return (params: SendFileParams, cb?: (error: any, params: SendFileResult) => void): Promise => {\n const resultP = f(params);\n\n if (typeof cb === 'function') {\n resultP.then((result) => cb(null, result)).catch((error) => cb(error, (null: any)));\n\n return resultP;\n } else {\n return resultP;\n }\n };\n};\n"],"file":"send_file.js"} \ No newline at end of file diff --git a/lib/core/endpoints/history/get_history.js b/lib/core/endpoints/history/get_history.js index c1e33754a..1b84607ae 100644 --- a/lib/core/endpoints/history/get_history.js +++ b/lib/core/endpoints/history/get_history.js @@ -66,11 +66,7 @@ function prepareParams(modules, incomingParams) { _incomingParams$strin = incomingParams.stringifiedTimeToken, stringifiedTimeToken = _incomingParams$strin === void 0 ? false : _incomingParams$strin, _incomingParams$inclu = incomingParams.includeMeta, - includeMeta = _incomingParams$inclu === void 0 ? false : _incomingParams$inclu, - _incomingParams$inclu2 = incomingParams.includeUuid, - includeUuid = _incomingParams$inclu2 === void 0 ? true : _incomingParams$inclu2, - _incomingParams$inclu3 = incomingParams.includeMessageType, - includeMessageType = _incomingParams$inclu3 === void 0 ? true : _incomingParams$inclu3; + includeMeta = _incomingParams$inclu === void 0 ? false : _incomingParams$inclu; var outgoingParams = { include_token: 'true' }; @@ -80,8 +76,6 @@ function prepareParams(modules, incomingParams) { if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (reverse != null) outgoingParams.reverse = reverse.toString(); if (includeMeta) outgoingParams.include_meta = 'true'; - if (includeUuid) outgoingParams.include_uuid = 'true'; - if (includeMessageType) outgoingParams.include_message_type = 'true'; return outgoingParams; } diff --git a/lib/core/endpoints/history/get_history.js.map b/lib/core/endpoints/history/get_history.js.map index 3ccab5f05..6e2fc975c 100644 --- a/lib/core/endpoints/history/get_history.js.map +++ b/lib/core/endpoints/history/get_history.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/endpoints/history/get_history.js"],"names":["__processMessage","modules","message","config","crypto","cipherKey","decrypt","e","getOperation","operationConstants","PNHistoryOperation","validateParams","incomingParams","channel","subscribeKey","getURL","utils","encodeString","getRequestTimeout","getTransactionTimeout","isAuthSupported","prepareParams","start","end","reverse","count","stringifiedTimeToken","includeMeta","includeUuid","includeMessageType","outgoingParams","include_token","string_message_token","toString","include_meta","include_uuid","include_message_type","handleResponse","serverResponse","response","messages","startTimeToken","endTimeToken","Array","isArray","forEach","serverHistoryItem","item","timetoken","entry","meta","push"],"mappings":"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","sourcesContent":["/* @flow */\n\nimport {\n FetchHistoryArguments,\n HistoryResponse,\n HistoryItem,\n ModulesInject,\n} from '../../flow_interfaces';\nimport operationConstants from '../../constants/operations';\nimport utils from '../../utils';\n\nfunction __processMessage(modules, message: Object): Object | null {\n let { config, crypto } = modules;\n if (!config.cipherKey) return message;\n\n try {\n return crypto.decrypt(message);\n } catch (e) {\n return message;\n }\n}\n\nexport function getOperation(): string {\n return operationConstants.PNHistoryOperation;\n}\n\nexport function validateParams(\n modules: ModulesInject,\n incomingParams: FetchHistoryArguments\n) {\n let { channel } = incomingParams;\n let { config } = modules;\n\n if (!channel) return 'Missing channel';\n if (!config.subscribeKey) return 'Missing Subscribe Key';\n}\n\nexport function getURL(\n modules: ModulesInject,\n incomingParams: FetchHistoryArguments\n): string {\n let { channel } = incomingParams;\n let { config } = modules;\n return `/v2/history/sub-key/${\n config.subscribeKey\n }/channel/${utils.encodeString(channel)}`;\n}\n\nexport function getRequestTimeout({ config }: ModulesInject): boolean {\n return config.getTransactionTimeout();\n}\n\nexport function isAuthSupported(): boolean {\n return true;\n}\n\nexport function prepareParams(\n modules: ModulesInject,\n incomingParams: FetchHistoryArguments\n): Object {\n const {\n start,\n end,\n reverse,\n count = 100,\n stringifiedTimeToken = false,\n includeMeta = false,\n includeUuid = true,\n includeMessageType = true\n } = incomingParams;\n let outgoingParams: Object = {\n include_token: 'true',\n };\n\n outgoingParams.count = count;\n if (start) outgoingParams.start = start;\n if (end) outgoingParams.end = end;\n if (stringifiedTimeToken) outgoingParams.string_message_token = 'true';\n if (reverse != null) outgoingParams.reverse = reverse.toString();\n if (includeMeta) outgoingParams.include_meta = 'true';\n if (includeUuid) outgoingParams.include_uuid = 'true';\n if (includeMessageType) outgoingParams.include_message_type = 'true';\n\n return outgoingParams;\n}\n\nexport function handleResponse(\n modules: ModulesInject,\n serverResponse: FetchHistoryArguments\n): HistoryResponse {\n const response: HistoryResponse = {\n messages: [],\n startTimeToken: serverResponse[1],\n endTimeToken: serverResponse[2],\n };\n\n if (Array.isArray(serverResponse[0])) {\n serverResponse[0].forEach((serverHistoryItem) => {\n const item: HistoryItem = {\n timetoken: serverHistoryItem.timetoken,\n entry: __processMessage(modules, serverHistoryItem.message),\n };\n\n if (serverHistoryItem.meta) {\n item.meta = serverHistoryItem.meta;\n }\n\n response.messages.push(item);\n });\n }\n\n return response;\n}\n"],"file":"get_history.js"} \ No newline at end of file +{"version":3,"sources":["core/endpoints/history/get_history.js"],"names":["__processMessage","modules","message","config","crypto","cipherKey","decrypt","e","getOperation","operationConstants","PNHistoryOperation","validateParams","incomingParams","channel","subscribeKey","getURL","utils","encodeString","getRequestTimeout","getTransactionTimeout","isAuthSupported","prepareParams","start","end","reverse","count","stringifiedTimeToken","includeMeta","outgoingParams","include_token","string_message_token","toString","include_meta","handleResponse","serverResponse","response","messages","startTimeToken","endTimeToken","Array","isArray","forEach","serverHistoryItem","item","timetoken","entry","meta","push"],"mappings":"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","sourcesContent":["/* @flow */\n\nimport {\n FetchHistoryArguments,\n HistoryResponse,\n HistoryItem,\n ModulesInject,\n} from '../../flow_interfaces';\nimport operationConstants from '../../constants/operations';\nimport utils from '../../utils';\n\nfunction __processMessage(modules, message: Object): Object | null {\n let { config, crypto } = modules;\n if (!config.cipherKey) return message;\n\n try {\n return crypto.decrypt(message);\n } catch (e) {\n return message;\n }\n}\n\nexport function getOperation(): string {\n return operationConstants.PNHistoryOperation;\n}\n\nexport function validateParams(\n modules: ModulesInject,\n incomingParams: FetchHistoryArguments\n) {\n let { channel } = incomingParams;\n let { config } = modules;\n\n if (!channel) return 'Missing channel';\n if (!config.subscribeKey) return 'Missing Subscribe Key';\n}\n\nexport function getURL(\n modules: ModulesInject,\n incomingParams: FetchHistoryArguments\n): string {\n let { channel } = incomingParams;\n let { config } = modules;\n return `/v2/history/sub-key/${\n config.subscribeKey\n }/channel/${utils.encodeString(channel)}`;\n}\n\nexport function getRequestTimeout({ config }: ModulesInject): boolean {\n return config.getTransactionTimeout();\n}\n\nexport function isAuthSupported(): boolean {\n return true;\n}\n\nexport function prepareParams(\n modules: ModulesInject,\n incomingParams: FetchHistoryArguments\n): Object {\n const {\n start,\n end,\n reverse,\n count = 100,\n stringifiedTimeToken = false,\n includeMeta = false,\n } = incomingParams;\n let outgoingParams: Object = {\n include_token: 'true',\n };\n\n outgoingParams.count = count;\n if (start) outgoingParams.start = start;\n if (end) outgoingParams.end = end;\n if (stringifiedTimeToken) outgoingParams.string_message_token = 'true';\n if (reverse != null) outgoingParams.reverse = reverse.toString();\n if (includeMeta) outgoingParams.include_meta = 'true';\n\n return outgoingParams;\n}\n\nexport function handleResponse(\n modules: ModulesInject,\n serverResponse: FetchHistoryArguments\n): HistoryResponse {\n const response: HistoryResponse = {\n messages: [],\n startTimeToken: serverResponse[1],\n endTimeToken: serverResponse[2],\n };\n\n if (Array.isArray(serverResponse[0])) {\n serverResponse[0].forEach((serverHistoryItem) => {\n const item: HistoryItem = {\n timetoken: serverHistoryItem.timetoken,\n entry: __processMessage(modules, serverHistoryItem.message),\n };\n\n if (serverHistoryItem.meta) {\n item.meta = serverHistoryItem.meta;\n }\n\n response.messages.push(item);\n });\n }\n\n return response;\n}\n"],"file":"get_history.js"} \ No newline at end of file diff --git a/lib/file/modules/node.js b/lib/file/modules/node.js index 4283f9792..9292afc92 100644 --- a/lib/file/modules/node.js +++ b/lib/file/modules/node.js @@ -17,8 +17,6 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); -var _mimeTypes = require("mime-types"); - var _stream = require("stream"); var _fs = require("fs"); @@ -53,7 +51,6 @@ var PubNubFile = (_temp = _class = function () { if (stream instanceof _fs.ReadStream) { this.name = (0, _path.basename)(stream.path); - this.mimeType = (0, _mimeTypes.lookup)(stream.path); } } else if (data instanceof Buffer) { this.data = Buffer.from(data); @@ -63,7 +60,6 @@ var PubNubFile = (_temp = _class = function () { if (name) { this.name = (0, _path.basename)(name); - this.mimeType = (0, _mimeTypes.lookup)(name); } if (mimeType) { @@ -232,9 +228,33 @@ var PubNubFile = (_temp = _class = function () { return toFile; }() + }, { + key: "toBlob", + value: function () { + var _toBlob = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() { + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + throw new Error('This feature is only supported in browser environments.'); + + case 1: + case "end": + return _context5.stop(); + } + } + }, _callee5); + })); + + function toBlob() { + return _toBlob.apply(this, arguments); + } + + return toBlob; + }() }]); return PubNubFile; -}(), (0, _defineProperty2["default"])(_class, "supportsFile", false), (0, _defineProperty2["default"])(_class, "supportsBuffer", typeof Buffer !== 'undefined'), (0, _defineProperty2["default"])(_class, "supportsStream", true), (0, _defineProperty2["default"])(_class, "supportsString", true), (0, _defineProperty2["default"])(_class, "supportsArrayBuffer", false), _temp); +}(), (0, _defineProperty2["default"])(_class, "supportsBlob", false), (0, _defineProperty2["default"])(_class, "supportsFile", false), (0, _defineProperty2["default"])(_class, "supportsBuffer", typeof Buffer !== 'undefined'), (0, _defineProperty2["default"])(_class, "supportsStream", true), (0, _defineProperty2["default"])(_class, "supportsString", true), (0, _defineProperty2["default"])(_class, "supportsArrayBuffer", false), _temp); var _default = PubNubFile; exports["default"] = _default; module.exports = exports.default; diff --git a/lib/file/modules/node.js.map b/lib/file/modules/node.js.map index 9be4b25a8..0880f7758 100644 --- a/lib/file/modules/node.js.map +++ b/lib/file/modules/node.js.map @@ -1 +1 @@ -{"version":3,"sources":["file/modules/node.js"],"names":["PubNubFile","config","stream","data","encoding","name","mimeType","Readable","ReadStream","path","Buffer","from","undefined","Error","Promise","resolve","reject","chunks","on","chunk","push","once","concat","toBuffer","buffer","toString","input","read","PassThrough","pipe"],"mappings":"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","sourcesContent":["/** @flow */\n\nimport { lookup } from 'mime-types';\n\nimport { Readable, PassThrough } from 'stream';\nimport { ReadStream } from 'fs';\nimport { basename } from 'path';\n\nimport { IFile, FileClass } from '../';\n\ntype PubNubFileNodeConstructor = {|\n stream?: Readable,\n data?: string | Buffer,\n encoding?: string,\n name?: string,\n mimeType?: string,\n|};\n\ntype PubNubFileNodeSupportedInputType = Readable | Buffer | string;\n\nconst PubNubFile: FileClass = class PubNubFile implements IFile {\n static supportsFile = false;\n static supportsBuffer = typeof Buffer !== 'undefined';\n static supportsStream = true;\n static supportsString = true;\n static supportsArrayBuffer = false;\n\n data: PubNubFileNodeSupportedInputType;\n\n name: string;\n mimeType: string;\n\n static create(config: PubNubFileNodeConstructor) {\n return new this(config);\n }\n\n constructor({ stream, data, encoding, name, mimeType }: PubNubFileNodeConstructor) {\n if (stream instanceof Readable) {\n this.data = stream;\n\n if (stream instanceof ReadStream) {\n // $FlowFixMe: incomplete flow node definitions\n this.name = basename(stream.path);\n // $FlowFixMe: incomplete flow node definitions\n this.mimeType = lookup(stream.path);\n }\n } else if (data instanceof Buffer) {\n this.data = Buffer.from(data);\n } else if (typeof data === 'string') {\n // $FlowFixMe: incomplete flow node definitions\n this.data = Buffer.from(data, encoding ?? 'utf8');\n }\n\n if (name) {\n this.name = basename(name);\n this.mimeType = lookup(name);\n }\n\n if (mimeType) {\n this.mimeType = mimeType;\n }\n\n if (this.data === undefined) {\n throw new Error(\"Couldn't construct a file out of supplied options.\");\n }\n\n if (this.name === undefined) {\n throw new Error(\"Couldn't guess filename out of the options. Please provide one.\");\n }\n }\n\n toBuffer(): Promise {\n if (this.data instanceof Buffer) {\n return Promise.resolve(Buffer.from(this.data));\n }\n\n if (this.data instanceof Readable) {\n const stream = this.data;\n return new Promise((resolve, reject) => {\n const chunks = [];\n\n stream.on('data', (chunk) => chunks.push(chunk));\n stream.once('error', reject);\n stream.once('end', () => {\n resolve(Buffer.concat(chunks));\n });\n });\n }\n\n if (typeof this.data === 'string') {\n return Promise.resolve(Buffer.from(this.data));\n }\n\n throw new Error(\"Can't cast to 'buffer'.\");\n }\n\n async toArrayBuffer() {\n throw new Error('This feature is only supported in browser environments.');\n }\n\n async toString(encoding: buffer$NonBufferEncoding = 'utf8') {\n const buffer = await this.toBuffer();\n\n return buffer.toString(encoding);\n }\n\n async toStream() {\n if (!(this.data instanceof Readable)) {\n const input = this.data;\n\n return new Readable({\n read() {\n this.push(Buffer.from(input));\n this.push(null);\n },\n });\n }\n\n const stream = new PassThrough();\n\n if (this.data instanceof Readable) {\n this.data.pipe(stream);\n }\n\n return stream;\n }\n\n async toFile() {\n throw new Error('This feature is only supported in browser environments.');\n }\n};\n\nexport default PubNubFile;\n"],"file":"node.js"} \ No newline at end of file +{"version":3,"sources":["file/modules/node.js"],"names":["PubNubFile","config","stream","data","encoding","name","mimeType","Readable","ReadStream","path","Buffer","from","undefined","Error","Promise","resolve","reject","chunks","on","chunk","push","once","concat","toBuffer","buffer","toString","input","read","PassThrough","pipe"],"mappings":"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","sourcesContent":["/** @flow */\n\nimport { Readable, PassThrough } from 'stream';\nimport { ReadStream } from 'fs';\nimport { basename } from 'path';\n\nimport { IFile, FileClass } from '../';\n\ntype PubNubFileNodeConstructor = {|\n stream?: Readable,\n data?: string | Buffer,\n encoding?: string,\n name?: string,\n mimeType?: string,\n|};\n\ntype PubNubFileNodeSupportedInputType = Readable | Buffer | string;\n\nconst PubNubFile: FileClass = class PubNubFile implements IFile {\n static supportsBlob = false;\n static supportsFile = false;\n static supportsBuffer = typeof Buffer !== 'undefined';\n static supportsStream = true;\n static supportsString = true;\n static supportsArrayBuffer = false;\n\n data: PubNubFileNodeSupportedInputType;\n\n name: string;\n mimeType: string;\n\n static create(config: PubNubFileNodeConstructor) {\n return new this(config);\n }\n\n constructor({ stream, data, encoding, name, mimeType }: PubNubFileNodeConstructor) {\n if (stream instanceof Readable) {\n this.data = stream;\n\n if (stream instanceof ReadStream) {\n // $FlowFixMe: incomplete flow node definitions\n this.name = basename(stream.path);\n }\n } else if (data instanceof Buffer) {\n this.data = Buffer.from(data);\n } else if (typeof data === 'string') {\n // $FlowFixMe: incomplete flow node definitions\n this.data = Buffer.from(data, encoding ?? 'utf8');\n }\n\n if (name) {\n this.name = basename(name);\n }\n\n if (mimeType) {\n this.mimeType = mimeType;\n }\n\n if (this.data === undefined) {\n throw new Error(\"Couldn't construct a file out of supplied options.\");\n }\n\n if (this.name === undefined) {\n throw new Error(\"Couldn't guess filename out of the options. Please provide one.\");\n }\n }\n\n toBuffer(): Promise {\n if (this.data instanceof Buffer) {\n return Promise.resolve(Buffer.from(this.data));\n }\n\n if (this.data instanceof Readable) {\n const stream = this.data;\n return new Promise((resolve, reject) => {\n const chunks = [];\n\n stream.on('data', (chunk) => chunks.push(chunk));\n stream.once('error', reject);\n stream.once('end', () => {\n resolve(Buffer.concat(chunks));\n });\n });\n }\n\n if (typeof this.data === 'string') {\n return Promise.resolve(Buffer.from(this.data));\n }\n\n throw new Error(\"Can't cast to 'buffer'.\");\n }\n\n async toArrayBuffer() {\n throw new Error('This feature is only supported in browser environments.');\n }\n\n async toString(encoding: buffer$NonBufferEncoding = 'utf8') {\n const buffer = await this.toBuffer();\n\n return buffer.toString(encoding);\n }\n\n async toStream() {\n if (!(this.data instanceof Readable)) {\n const input = this.data;\n\n return new Readable({\n read() {\n this.push(Buffer.from(input));\n this.push(null);\n },\n });\n }\n\n const stream = new PassThrough();\n\n if (this.data instanceof Readable) {\n this.data.pipe(stream);\n }\n\n return stream;\n }\n\n async toFile() {\n throw new Error('This feature is only supported in browser environments.');\n }\n\n async toBlob() {\n throw new Error('This feature is only supported in browser environments.');\n }\n};\n\nexport default PubNubFile;\n"],"file":"node.js"} \ No newline at end of file diff --git a/lib/file/modules/web.js b/lib/file/modules/web.js index 7b767d402..b62c1c38e 100644 --- a/lib/file/modules/web.js +++ b/lib/file/modules/web.js @@ -17,8 +17,6 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); -var _mimeTypes = require("mime-types"); - var _ = require("../"); var _class, _temp; @@ -50,8 +48,6 @@ var PubNubFile = (_temp = _class = function () { if (config.mimeType) { this.mimeType = config.mimeType; - } else { - this.mimeType = (0, _mimeTypes.lookup)(this.name); } } @@ -112,17 +108,41 @@ var PubNubFile = (_temp = _class = function () { return toStream; }() + }, { + key: "toBlob", + value: function () { + var _toBlob = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", this.data); + + case 1: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function toBlob() { + return _toBlob.apply(this, arguments); + } + + return toBlob; + }() }, { key: "toArrayBuffer", value: function () { - var _toArrayBuffer = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() { + var _toArrayBuffer = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() { var _this = this; - return _regenerator["default"].wrap(function _callee3$(_context3) { + return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { - switch (_context3.prev = _context3.next) { + switch (_context4.prev = _context4.next) { case 0: - return _context3.abrupt("return", new Promise(function (resolve, reject) { + return _context4.abrupt("return", new Promise(function (resolve, reject) { var reader = new FileReader(); reader.addEventListener('load', function () { if (reader.result instanceof ArrayBuffer) { @@ -137,10 +157,10 @@ var PubNubFile = (_temp = _class = function () { case 1: case "end": - return _context3.stop(); + return _context4.stop(); } } - }, _callee3); + }, _callee4); })); function toArrayBuffer() { @@ -152,14 +172,14 @@ var PubNubFile = (_temp = _class = function () { }, { key: "toString", value: function () { - var _toString = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() { + var _toString = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() { var _this2 = this; - return _regenerator["default"].wrap(function _callee4$(_context4) { + return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) { - switch (_context4.prev = _context4.next) { + switch (_context5.prev = _context5.next) { case 0: - return _context4.abrupt("return", new Promise(function (resolve, reject) { + return _context5.abrupt("return", new Promise(function (resolve, reject) { var reader = new FileReader(); reader.addEventListener('load', function () { if (typeof reader.result === 'string') { @@ -174,10 +194,10 @@ var PubNubFile = (_temp = _class = function () { case 1: case "end": - return _context4.stop(); + return _context5.stop(); } } - }, _callee4); + }, _callee5); })); function toString() { @@ -189,19 +209,19 @@ var PubNubFile = (_temp = _class = function () { }, { key: "toFile", value: function () { - var _toFile = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() { - return _regenerator["default"].wrap(function _callee5$(_context5) { + var _toFile = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() { + return _regenerator["default"].wrap(function _callee6$(_context6) { while (1) { - switch (_context5.prev = _context5.next) { + switch (_context6.prev = _context6.next) { case 0: - return _context5.abrupt("return", this.data); + return _context6.abrupt("return", this.data); case 1: case "end": - return _context5.stop(); + return _context6.stop(); } } - }, _callee5, this); + }, _callee6, this); })); function toFile() { @@ -212,7 +232,7 @@ var PubNubFile = (_temp = _class = function () { }() }]); return PubNubFile; -}(), (0, _defineProperty2["default"])(_class, "supportsFile", typeof File !== 'undefined'), (0, _defineProperty2["default"])(_class, "supportsArrayBuffer", true), (0, _defineProperty2["default"])(_class, "supportsBuffer", false), (0, _defineProperty2["default"])(_class, "supportsStream", false), (0, _defineProperty2["default"])(_class, "supportsString", true), _temp); +}(), (0, _defineProperty2["default"])(_class, "supportsFile", typeof File !== 'undefined'), (0, _defineProperty2["default"])(_class, "supportsBlob", true), (0, _defineProperty2["default"])(_class, "supportsArrayBuffer", true), (0, _defineProperty2["default"])(_class, "supportsBuffer", false), (0, _defineProperty2["default"])(_class, "supportsStream", false), (0, _defineProperty2["default"])(_class, "supportsString", true), _temp); var _default = PubNubFile; exports["default"] = _default; module.exports = exports.default; diff --git a/lib/file/modules/web.js.map b/lib/file/modules/web.js.map index 3fc13cb8f..15a5f8bad 100644 --- a/lib/file/modules/web.js.map +++ b/lib/file/modules/web.js.map @@ -1 +1 @@ -{"version":3,"sources":["file/modules/web.js"],"names":["PubNubFile","config","File","data","name","mimeType","type","contents","undefined","Error","Promise","resolve","reject","reader","FileReader","addEventListener","result","ArrayBuffer","error","readAsArrayBuffer","readAsBinaryString"],"mappings":"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","sourcesContent":["/** @flow */\n\nimport { lookup } from 'mime-types';\n\nimport { IFile, FileClass } from '../';\n\ntype PubNubFileWebConstructor =\n | File\n | {|\n data: string,\n name: string,\n mimeType: string,\n |}\n | {|\n data: ArrayBuffer,\n name: string,\n mimeType: string,\n |};\n\nconst PubNubFile: FileClass = class PubNubFile implements IFile {\n static supportsFile = typeof File !== 'undefined';\n static supportsArrayBuffer = true;\n static supportsBuffer = false;\n static supportsStream = false;\n static supportsString = true;\n\n static create(config: PubNubFileWebConstructor) {\n return new this(config);\n }\n\n data: any;\n\n name: string;\n mimeType: string;\n\n constructor(config: PubNubFileWebConstructor) {\n if (config instanceof File) {\n this.data = config;\n\n this.name = this.data.name;\n this.mimeType = this.data.type;\n } else if (config.data) {\n let contents = config.data;\n\n this.data = new File([contents], config.name, { type: config.mimeType });\n\n this.name = config.name;\n\n if (config.mimeType) {\n this.mimeType = config.mimeType;\n } else {\n this.mimeType = lookup(this.name);\n }\n }\n\n if (this.data === undefined) {\n throw new Error(\"Couldn't construct a file out of supplied options.\");\n }\n\n if (this.name === undefined) {\n throw new Error(\"Couldn't guess filename out of the options. Please provide one.\");\n }\n }\n\n async toBuffer() {\n throw new Error('This feature is only supported in Node.js environments.');\n }\n\n async toStream() {\n throw new Error('This feature is only supported in Node.js environments.');\n }\n\n async toArrayBuffer() {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () => {\n if (reader.result instanceof ArrayBuffer) {\n return resolve(reader.result);\n }\n });\n\n reader.addEventListener('error', () => {\n reject(reader.error);\n });\n\n reader.readAsArrayBuffer(this.data);\n });\n }\n\n async toString() {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () => {\n if (typeof reader.result === 'string') {\n return resolve(reader.result);\n }\n });\n\n reader.addEventListener('error', () => {\n reject(reader.error);\n });\n\n reader.readAsBinaryString(this.data);\n });\n }\n\n async toFile() {\n return this.data;\n }\n};\n\nexport default PubNubFile;\n"],"file":"web.js"} \ No newline at end of file +{"version":3,"sources":["file/modules/web.js"],"names":["PubNubFile","config","File","data","name","mimeType","type","contents","undefined","Error","Promise","resolve","reject","reader","FileReader","addEventListener","result","ArrayBuffer","error","readAsArrayBuffer","readAsBinaryString"],"mappings":"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","sourcesContent":["/** @flow */\n\nimport { IFile, FileClass } from '../';\n\ntype PubNubFileWebConstructor =\n | File\n | {|\n data: string,\n name: string,\n mimeType: string,\n |}\n | {|\n data: ArrayBuffer,\n name: string,\n mimeType: string,\n |};\n\nconst PubNubFile: FileClass = class PubNubFile implements IFile {\n static supportsFile = typeof File !== 'undefined';\n static supportsBlob = true;\n static supportsArrayBuffer = true;\n static supportsBuffer = false;\n static supportsStream = false;\n static supportsString = true;\n\n static create(config: PubNubFileWebConstructor) {\n return new this(config);\n }\n\n data: any;\n\n name: string;\n mimeType: string;\n\n constructor(config: PubNubFileWebConstructor) {\n if (config instanceof File) {\n this.data = config;\n\n this.name = this.data.name;\n this.mimeType = this.data.type;\n } else if (config.data) {\n let contents = config.data;\n\n this.data = new File([contents], config.name, { type: config.mimeType });\n\n this.name = config.name;\n\n if (config.mimeType) {\n this.mimeType = config.mimeType;\n }\n }\n\n if (this.data === undefined) {\n throw new Error(\"Couldn't construct a file out of supplied options.\");\n }\n\n if (this.name === undefined) {\n throw new Error(\"Couldn't guess filename out of the options. Please provide one.\");\n }\n }\n\n async toBuffer() {\n throw new Error('This feature is only supported in Node.js environments.');\n }\n\n async toStream() {\n throw new Error('This feature is only supported in Node.js environments.');\n }\n\n async toBlob() {\n return this.data;\n }\n\n async toArrayBuffer() {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () => {\n if (reader.result instanceof ArrayBuffer) {\n return resolve(reader.result);\n }\n });\n\n reader.addEventListener('error', () => {\n reject(reader.error);\n });\n\n reader.readAsArrayBuffer(this.data);\n });\n }\n\n async toString() {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.addEventListener('load', () => {\n if (typeof reader.result === 'string') {\n return resolve(reader.result);\n }\n });\n\n reader.addEventListener('error', () => {\n reject(reader.error);\n });\n\n reader.readAsBinaryString(this.data);\n });\n }\n\n async toFile() {\n return this.data;\n }\n};\n\nexport default PubNubFile;\n"],"file":"web.js"} \ No newline at end of file diff --git a/lib/react_native/index.js b/lib/react_native/index.js index f2340c010..768c84a47 100644 --- a/lib/react_native/index.js +++ b/lib/react_native/index.js @@ -29,6 +29,10 @@ var _webNode = require("../networking/modules/web-node"); var _flow_interfaces = require("../core/flow_interfaces"); +var _web = _interopRequireDefault(require("../crypto/modules/web")); + +var _web2 = _interopRequireDefault(require("../file/modules/web")); + function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } @@ -42,16 +46,19 @@ var _default = function (_PubNubCore) { (0, _classCallCheck2["default"])(this, _default); setup.db = new _common["default"](); setup.cbor = new _common2["default"](_cborSync["default"].decode, function (base64String) { - return new Buffer.from(base64String, 'base64'); + return Buffer.from(base64String, 'base64'); }); + setup.PubNubFile = _web2["default"]; + setup.cryptography = new _web["default"](); setup.networking = new _networking["default"]({ del: _webNode.del, get: _webNode.get, post: _webNode.post, - patch: _webNode.patch + patch: _webNode.patch, + file: _webNode.file }); setup.sdkFamily = 'ReactNative'; - setup.ssl = true; + setup.ssl = false; return _super.call(this, setup); } diff --git a/lib/react_native/index.js.map b/lib/react_native/index.js.map index 1baee1ff8..db2e294e3 100644 --- a/lib/react_native/index.js.map +++ b/lib/react_native/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["react_native/index.js"],"names":["setup","db","Database","cbor","Cbor","CborReader","decode","base64String","Buffer","from","networking","Networking","del","get","post","patch","sdkFamily","ssl","PubNubCore"],"mappings":";;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;AAGE,oBAAYA,KAAZ,EAAwC;AAAA;AACtCA,IAAAA,KAAK,CAACC,EAAN,GAAW,IAAIC,kBAAJ,EAAX;AACAF,IAAAA,KAAK,CAACG,IAAN,GAAa,IAAIC,mBAAJ,CAASC,qBAAWC,MAApB,EAA4B,UAACC,YAAD;AAAA,aAAkB,IAAIC,MAAM,CAACC,IAAX,CAAgBF,YAAhB,EAA8B,QAA9B,CAAlB;AAAA,KAA5B,CAAb;AACAP,IAAAA,KAAK,CAACU,UAAN,GAAmB,IAAIC,sBAAJ,CAAe;AAAEC,MAAAA,GAAG,EAAHA,YAAF;AAAOC,MAAAA,GAAG,EAAHA,YAAP;AAAYC,MAAAA,IAAI,EAAJA,aAAZ;AAAkBC,MAAAA,KAAK,EAALA;AAAlB,KAAf,CAAnB;AACAf,IAAAA,KAAK,CAACgB,SAAN,GAAkB,aAAlB;AACAhB,IAAAA,KAAK,CAACiB,GAAN,GAAY,IAAZ;AALsC,6BAMhCjB,KANgC;AAOvC;;;EAR0BkB,wB","sourcesContent":["/* @flow */\n\nimport CborReader from 'cbor-sync';\nimport PubNubCore from '../core/pubnub-common';\nimport Networking from '../networking';\nimport Database from '../db/common';\nimport Cbor from '../cbor/common';\nimport { del, get, post, patch } from '../networking/modules/web-node';\nimport { InternalSetupStruct } from '../core/flow_interfaces';\n\nexport default class extends PubNubCore {\n constructor(setup: InternalSetupStruct) {\n setup.db = new Database();\n setup.cbor = new Cbor(CborReader.decode, (base64String) => new Buffer.from(base64String, 'base64'));\n setup.networking = new Networking({ del, get, post, patch });\n setup.sdkFamily = 'ReactNative';\n setup.ssl = true;\n super(setup);\n }\n}\n"],"file":"index.js"} \ No newline at end of file +{"version":3,"sources":["react_native/index.js"],"names":["setup","db","Database","cbor","Cbor","CborReader","decode","base64String","Buffer","from","PubNubFile","cryptography","WebCryptography","networking","Networking","del","get","post","patch","file","sdkFamily","ssl","PubNubCore"],"mappings":";;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;;AAGE,oBAAYA,KAAZ,EAAwC;AAAA;AACtCA,IAAAA,KAAK,CAACC,EAAN,GAAW,IAAIC,kBAAJ,EAAX;AACAF,IAAAA,KAAK,CAACG,IAAN,GAAa,IAAIC,mBAAJ,CAASC,qBAAWC,MAApB,EAA4B,UAACC,YAAD;AAAA,aAAkBC,MAAM,CAACC,IAAP,CAAYF,YAAZ,EAA0B,QAA1B,CAAlB;AAAA,KAA5B,CAAb;AAEAP,IAAAA,KAAK,CAACU,UAAN,GAAmBA,gBAAnB;AACAV,IAAAA,KAAK,CAACW,YAAN,GAAqB,IAAIC,eAAJ,EAArB;AAEAZ,IAAAA,KAAK,CAACa,UAAN,GAAmB,IAAIC,sBAAJ,CAAe;AAAEC,MAAAA,GAAG,EAAHA,YAAF;AAAOC,MAAAA,GAAG,EAAHA,YAAP;AAAYC,MAAAA,IAAI,EAAJA,aAAZ;AAAkBC,MAAAA,KAAK,EAALA,cAAlB;AAAyBC,MAAAA,IAAI,EAAJA;AAAzB,KAAf,CAAnB;AACAnB,IAAAA,KAAK,CAACoB,SAAN,GAAkB,aAAlB;AACApB,IAAAA,KAAK,CAACqB,GAAN,GAAY,KAAZ;AATsC,6BAWhCrB,KAXgC;AAYvC;;;EAb0BsB,wB","sourcesContent":["/* @flow */\n\nimport CborReader from 'cbor-sync';\nimport PubNubCore from '../core/pubnub-common';\nimport Networking from '../networking';\nimport Database from '../db/common';\nimport Cbor from '../cbor/common';\nimport { del, get, post, patch, file } from '../networking/modules/web-node';\nimport { InternalSetupStruct } from '../core/flow_interfaces';\n\nimport WebCryptography from '../crypto/modules/web';\nimport PubNubFile from '../file/modules/web';\n\nexport default class extends PubNubCore {\n constructor(setup: InternalSetupStruct) {\n setup.db = new Database();\n setup.cbor = new Cbor(CborReader.decode, (base64String) => Buffer.from(base64String, 'base64'));\n\n setup.PubNubFile = PubNubFile;\n setup.cryptography = new WebCryptography();\n\n setup.networking = new Networking({ del, get, post, patch, file });\n setup.sdkFamily = 'ReactNative';\n setup.ssl = false;\n\n super(setup);\n }\n}\n"],"file":"index.js"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0b5459fe5..185401749 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "pubnub", - "version": "4.29.1", + "version": "4.29.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index fa75910cf..fffc0303a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pubnub", - "version": "4.29.2", + "version": "4.29.3", "author": "PubNub ", "description": "Publish & Subscribe Real-time Messaging with PubNub", "bin": {}, @@ -43,7 +43,6 @@ "cbor-sync": "^1.0.4", "isomorphic-webcrypto": "^2.3.6", "lil-uuid": "^0.1.1", - "mime-types": "^2.1.27", "superagent": "^3.8.1", "superagent-proxy": "^2.0.0" }, @@ -119,9 +118,5 @@ "license": "MIT", "engine": { "node": ">=0.8" - }, - "prettier": { - "singleQuote": true, - "printWidth": 120 } } diff --git a/src/core/components/config.js b/src/core/components/config.js index 6ed904faf..e3c40b7f4 100644 --- a/src/core/components/config.js +++ b/src/core/components/config.js @@ -307,7 +307,7 @@ export default class { } getVersion(): string { - return '4.29.2'; + return '4.29.3'; } _addPnsdkSuffix(name: string, suffix: string) { diff --git a/src/core/components/endpoint.js b/src/core/components/endpoint.js index 64e94c978..7b8a0149d 100644 --- a/src/core/components/endpoint.js +++ b/src/core/components/endpoint.js @@ -83,6 +83,12 @@ function signRequest(modules, url, outgoingParams, incomingParams, endpoint) { let httpMethod = getHttpMethod(modules, endpoint, incomingParams); outgoingParams.timestamp = Math.floor(new Date().getTime() / 1000); + + // This is because of a server-side bug, old publish using post should be deprecated + if (endpoint.getOperation() === 'PNPublishOperation' && endpoint.usePost && endpoint.usePost(modules, incomingParams)) { + httpMethod = 'GET'; + } + let signInput = `${httpMethod}\n${config.publishKey}\n${url}\n${utils.signPamFromParams(outgoingParams)}\n`; if (httpMethod === 'POST') { diff --git a/src/core/components/subscription_manager.js b/src/core/components/subscription_manager.js index 693b245b2..df964ea0e 100644 --- a/src/core/components/subscription_manager.js +++ b/src/core/components/subscription_manager.js @@ -686,6 +686,10 @@ export default class { } } + if (message.userMetadata) { + announce.userMetadata = message.userMetadata; + } + announce.message = msgPayload.message; announce.file = { diff --git a/src/core/endpoints/fetch_messages.js b/src/core/endpoints/fetch_messages.js index 9808f14dc..a5ce66eea 100644 --- a/src/core/endpoints/fetch_messages.js +++ b/src/core/endpoints/fetch_messages.js @@ -72,7 +72,8 @@ export function prepareParams( count, stringifiedTimeToken = false, includeMeta = false, - includeUuid = true, + includeUuid, + includeUUID = true, includeMessageType = true } = incomingParams; let outgoingParams: Object = {}; @@ -82,7 +83,7 @@ export function prepareParams( if (end) outgoingParams.end = end; if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (includeMeta) outgoingParams.include_meta = 'true'; - if (includeUuid) outgoingParams.include_uuid = 'true'; + if (includeUUID && includeUuid !== false) outgoingParams.include_uuid = 'true'; if (includeMessageType) outgoingParams.include_message_type = 'true'; return outgoingParams; diff --git a/src/core/endpoints/file_upload/get_file_url.js b/src/core/endpoints/file_upload/get_file_url.js index 24ffa4457..540ade80a 100644 --- a/src/core/endpoints/file_upload/get_file_url.js +++ b/src/core/endpoints/file_upload/get_file_url.js @@ -26,5 +26,5 @@ export default ({ config }: Modules, { channel, id, name }: GetFileUrlParams): G ); } - return `${config.origin}/v1/files/${config.subscribeKey}/channels/${channel}/files/${id}/${name}`; + return `https://${config.origin}/v1/files/${config.subscribeKey}/channels/${channel}/files/${id}/${name}`; }; diff --git a/src/core/endpoints/file_upload/list_files.js b/src/core/endpoints/file_upload/list_files.js index 0c7518dc4..187377b6f 100644 --- a/src/core/endpoints/file_upload/list_files.js +++ b/src/core/endpoints/file_upload/list_files.js @@ -21,11 +21,25 @@ const endpoint: EndpointConfig = { getAuthToken: ({ tokenManager }) => tokenManager.getToken('fileUpload'), - prepareParams: () => ({}), + prepareParams: (_, params) => { + const outParams = {}; + + if (params.limit) { + outParams.limit = params.limit; + } + + if (params.next) { + outParams.next = params.next; + } + + return outParams; + }, handleResponse: (_, response): ListFilesResult => ({ status: response.status, data: response.data, + next: response.next, + count: response.count, }), }; diff --git a/src/core/endpoints/file_upload/publish_file.js b/src/core/endpoints/file_upload/publish_file.js index 251828403..28530e396 100644 --- a/src/core/endpoints/file_upload/publish_file.js +++ b/src/core/endpoints/file_upload/publish_file.js @@ -62,8 +62,8 @@ const endpoint: EndpointConfig = { outParams.ttl = params.ttl; } - if (params.store) { - outParams.store = params.store ? '1' : '0'; + if (params.storeInHistory !== undefined) { + outParams.store = params.storeInHistory ? '1' : '0'; } if (params.meta && typeof params.meta === 'object') { diff --git a/src/core/endpoints/file_upload/send_file.js b/src/core/endpoints/file_upload/send_file.js index 8237e5f7c..89dff73ba 100644 --- a/src/core/endpoints/file_upload/send_file.js +++ b/src/core/endpoints/file_upload/send_file.js @@ -29,7 +29,7 @@ const sendFile = ({ cipherKey, meta, ttl, - store, + storeInHistory, }: SendFileParams): Promise => { if (!channel) { throw new PubNubError( @@ -57,7 +57,7 @@ const sendFile = ({ if (file.mimeType) { formFieldsWithMimeType = formFields.map((entry) => { - if (entry.key === 'Content-Type') return { key: entry.key, value: file.mimeType ?? '' }; + if (entry.key === 'Content-Type') return { key: entry.key, value: file.mimeType }; else return entry; }); } @@ -65,10 +65,14 @@ const sendFile = ({ let result; try { - if (typeof Blob !== 'undefined') { + if (PubNubFile.supportsFile) { result = await networking.FILE(url, formFieldsWithMimeType, await file.toFile()); - } else { + } else if (PubNubFile.supportsBuffer) { result = await networking.FILE(url, formFieldsWithMimeType, await file.toBuffer()); + } else if (PubNubFile.supportsBlob) { + result = await networking.FILE(url, formFieldsWithMimeType, await file.toBlob()); + } else { + throw new Error('Unsupported environment'); } } catch (e) { throw new PubNubError('Upload to bucket failed', e); @@ -89,7 +93,7 @@ const sendFile = ({ fileId: id, fileName: name, meta, - store, + storeInHistory, ttl, }); diff --git a/src/core/endpoints/file_upload/types.js b/src/core/endpoints/file_upload/types.js index fab4abefc..b1e73b0ab 100644 --- a/src/core/endpoints/file_upload/types.js +++ b/src/core/endpoints/file_upload/types.js @@ -11,11 +11,15 @@ export type FileDescriptor = {| export type ListFilesParams = {| channel: string, + limit?: number, + next?: string, |}; export type ListFilesResult = {| status: number, data: $ReadOnlyArray, + next: string, + count: number, |}; export type GenerateUploadUrlParams = {| @@ -42,7 +46,7 @@ export type PublishFileParams = {| message: any, fileId: string, fileName: string, - store?: boolean, + storeInHistory?: boolean, ttl?: number, meta?: any, |}; @@ -56,7 +60,7 @@ export type SendFileParams = {| file: any, message?: any, cipherKey?: string, - store?: boolean, + storeInHistory?: boolean, ttl?: number, meta?: any, |}; diff --git a/src/core/endpoints/history/get_history.js b/src/core/endpoints/history/get_history.js index bbb921746..7dfe2bd97 100644 --- a/src/core/endpoints/history/get_history.js +++ b/src/core/endpoints/history/get_history.js @@ -65,8 +65,6 @@ export function prepareParams( count = 100, stringifiedTimeToken = false, includeMeta = false, - includeUuid = true, - includeMessageType = true } = incomingParams; let outgoingParams: Object = { include_token: 'true', @@ -78,8 +76,6 @@ export function prepareParams( if (stringifiedTimeToken) outgoingParams.string_message_token = 'true'; if (reverse != null) outgoingParams.reverse = reverse.toString(); if (includeMeta) outgoingParams.include_meta = 'true'; - if (includeUuid) outgoingParams.include_uuid = 'true'; - if (includeMessageType) outgoingParams.include_message_type = 'true'; return outgoingParams; } diff --git a/src/file/index.js b/src/file/index.js index b98407517..f4348b964 100644 --- a/src/file/index.js +++ b/src/file/index.js @@ -13,9 +13,11 @@ export interface IFile { toBuffer(): Promise; toString(encoding: buffer$NonBufferEncoding): Promise; toFile(): Promise; + toBlob(): Promise; } export interface FileClass { + supportsBlob: boolean; supportsFile: boolean; supportsBuffer: boolean; supportsStream: boolean; diff --git a/src/file/modules/node.js b/src/file/modules/node.js index db1de61c8..416ceb32b 100644 --- a/src/file/modules/node.js +++ b/src/file/modules/node.js @@ -1,7 +1,5 @@ /** @flow */ -import { lookup } from 'mime-types'; - import { Readable, PassThrough } from 'stream'; import { ReadStream } from 'fs'; import { basename } from 'path'; @@ -19,6 +17,7 @@ type PubNubFileNodeConstructor = {| type PubNubFileNodeSupportedInputType = Readable | Buffer | string; const PubNubFile: FileClass = class PubNubFile implements IFile { + static supportsBlob = false; static supportsFile = false; static supportsBuffer = typeof Buffer !== 'undefined'; static supportsStream = true; @@ -41,8 +40,6 @@ const PubNubFile: FileClass = class PubNubFile implements IFile { if (stream instanceof ReadStream) { // $FlowFixMe: incomplete flow node definitions this.name = basename(stream.path); - // $FlowFixMe: incomplete flow node definitions - this.mimeType = lookup(stream.path); } } else if (data instanceof Buffer) { this.data = Buffer.from(data); @@ -53,7 +50,6 @@ const PubNubFile: FileClass = class PubNubFile implements IFile { if (name) { this.name = basename(name); - this.mimeType = lookup(name); } if (mimeType) { @@ -128,6 +124,10 @@ const PubNubFile: FileClass = class PubNubFile implements IFile { async toFile() { throw new Error('This feature is only supported in browser environments.'); } + + async toBlob() { + throw new Error('This feature is only supported in browser environments.'); + } }; export default PubNubFile; diff --git a/src/file/modules/web.js b/src/file/modules/web.js index adb4d9873..fae3209fc 100644 --- a/src/file/modules/web.js +++ b/src/file/modules/web.js @@ -1,7 +1,5 @@ /** @flow */ -import { lookup } from 'mime-types'; - import { IFile, FileClass } from '../'; type PubNubFileWebConstructor = @@ -19,6 +17,7 @@ type PubNubFileWebConstructor = const PubNubFile: FileClass = class PubNubFile implements IFile { static supportsFile = typeof File !== 'undefined'; + static supportsBlob = true; static supportsArrayBuffer = true; static supportsBuffer = false; static supportsStream = false; @@ -48,8 +47,6 @@ const PubNubFile: FileClass = class PubNubFile implements IFile { if (config.mimeType) { this.mimeType = config.mimeType; - } else { - this.mimeType = lookup(this.name); } } @@ -70,6 +67,10 @@ const PubNubFile: FileClass = class PubNubFile implements IFile { throw new Error('This feature is only supported in Node.js environments.'); } + async toBlob() { + return this.data; + } + async toArrayBuffer() { return new Promise((resolve, reject) => { const reader = new FileReader(); diff --git a/src/react_native/index.js b/src/react_native/index.js index 78b3bc2ca..cd2103f5d 100644 --- a/src/react_native/index.js +++ b/src/react_native/index.js @@ -5,16 +5,24 @@ import PubNubCore from '../core/pubnub-common'; import Networking from '../networking'; import Database from '../db/common'; import Cbor from '../cbor/common'; -import { del, get, post, patch } from '../networking/modules/web-node'; +import { del, get, post, patch, file } from '../networking/modules/web-node'; import { InternalSetupStruct } from '../core/flow_interfaces'; +import WebCryptography from '../crypto/modules/web'; +import PubNubFile from '../file/modules/web'; + export default class extends PubNubCore { constructor(setup: InternalSetupStruct) { setup.db = new Database(); - setup.cbor = new Cbor(CborReader.decode, (base64String) => new Buffer.from(base64String, 'base64')); - setup.networking = new Networking({ del, get, post, patch }); + setup.cbor = new Cbor(CborReader.decode, (base64String) => Buffer.from(base64String, 'base64')); + + setup.PubNubFile = PubNubFile; + setup.cryptography = new WebCryptography(); + + setup.networking = new Networking({ del, get, post, patch, file }); setup.sdkFamily = 'ReactNative'; - setup.ssl = true; + setup.ssl = false; + super(setup); } } diff --git a/test/feature/.gitignore b/test/feature/.gitignore new file mode 100644 index 000000000..325a56443 --- /dev/null +++ b/test/feature/.gitignore @@ -0,0 +1 @@ +output.json \ No newline at end of file diff --git a/test/feature/file_upload.node.test.js b/test/feature/file_upload.node.test.js index f623be595..1f48c11dd 100644 --- a/test/feature/file_upload.node.test.js +++ b/test/feature/file_upload.node.test.js @@ -11,6 +11,9 @@ describe('File Upload API v1 tests', () => { const SUBSCRIBE_KEY = 'demo-36'; const PUBLISH_KEY = 'demo-36'; + // const ORIGIN = 'ingress-files.aws-pdx-1.ps.pn'; + const ORIGIN = undefined; + const TEST_PREFIX = 'javascript-fileUploadApiV1-tests'; const UUID = `${TEST_PREFIX}-main`; const UUID_1 = `${TEST_PREFIX}-uuid-1`; @@ -19,16 +22,14 @@ describe('File Upload API v1 tests', () => { const FILE_1 = `${TEST_PREFIX}-file-1`; - let pubnub = new PubNub({ - subscribeKey: SUBSCRIBE_KEY, - publishKey: PUBLISH_KEY, - }); + let pubnub; describe('with encryption', () => { pubnub = new PubNub({ subscribeKey: SUBSCRIBE_KEY, publishKey: PUBLISH_KEY, uuid: UUID, + origin: ORIGIN, cipherKey: 'abcdef', // logVerbosity: true, }); @@ -40,6 +41,7 @@ describe('File Upload API v1 tests', () => { pubnub = new PubNub({ subscribeKey: SUBSCRIBE_KEY, publishKey: PUBLISH_KEY, + origin: ORIGIN, uuid: UUID, }); @@ -64,11 +66,17 @@ describe('File Upload API v1 tests', () => { const file = await pubnub.downloadFile({ ...result, channel: CHANNEL_1 }); - const output = await file.toBuffer(); + const fileStream = await file.toStream(); + const outputStream = fs.createWriteStream(`${__dirname}/output.json`); - const testFileBuffer = fs.readFileSync(`${__dirname}/input.json`); + fileStream.pipe(outputStream); - expect(output.toString('utf8')).to.equal(testFileBuffer.toString('utf8')); + outputStream.once('end', () => { + const expectedFileBuffer = fs.readFileSync(`${__dirname}/input.json`); + const actualFileBuffer = fs.readFileSync(`${__dirname}/output.json`); + + expect(actualFileBuffer.toString('utf8')).to.equal(expectedFileBuffer.toString('utf8')); + }); }).timeout(20000); it('should handle node.js buffers', async () => { @@ -131,10 +139,12 @@ describe('File Upload API v1 tests', () => { }).timeout(10000); it('should list all available files on a channel', async () => { - const result = await pubnub.listFiles({ channel: CHANNEL_1 }); + const result = await pubnub.listFiles({ channel: CHANNEL_1, limit: 10 }); expect(result.status).to.equal(200); expect(result.data).to.have.length.greaterThan(0); + expect(result.next).to.exist; + expect(result.count).to.exist; }); it('should handle file delete', async () => { diff --git a/test/integration/endpoints/history.test.js b/test/integration/endpoints/history.test.js index be4a22ed8..a97dfb884 100644 --- a/test/integration/endpoints/history.test.js +++ b/test/integration/endpoints/history.test.js @@ -75,8 +75,6 @@ describe('history endpoints', () => { pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, uuid: 'myUUID', string_message_token: true, - include_uuid: 'true', - include_message_type: 'true', }) .reply( 200, @@ -110,8 +108,6 @@ describe('history endpoints', () => { pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, uuid: 'myUUID', string_message_token: true, - include_uuid: 'true', - include_message_type: 'true', }) .reply( 200, diff --git a/test/integration/operations/heartbeat.test.js b/test/integration/operations/heartbeat.test.js index 4f54998e2..dae373613 100644 --- a/test/integration/operations/heartbeat.test.js +++ b/test/integration/operations/heartbeat.test.js @@ -34,6 +34,27 @@ describe('heartbeat', () => { }); describe('#heartbeat', () => { + it('heartbeat loop should not get started when heartbeatInterval not set', async () => { + pubnub = new PubNub({ + subscribeKey: 'mySubscribeKey', + publishKey: 'myPublishKey', + uuid: 'myUUID', + announceSuccessfulHeartbeats: true, + }); + const scope = utils + .createNock() + .get('/v2/presence/sub-key/mySubscribeKey/channel/ch1%2Cch2/heartbeat') + .query({ + pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, + uuid: 'myUUID', + heartbeat: '300', + state: '{}', + }) + .reply(200, '{"status": 200, "message": "OK", "service": "Presence"}'); + pubnub.subscribe({ channels: ['ch1', 'ch2'], withHeartbeats: true }); + await expect(scope).to.have.not.been.requested; + }); + it('supports heartbeating for one channel', (done) => { const scope = utils .createNock()