From f53eba77e2d9f874e8fdc238895b88e4d9fdf6d0 Mon Sep 17 00:00:00 2001 From: Henri Pihkala Date: Sun, 1 Apr 2018 17:38:19 +0200 Subject: [PATCH 01/18] installed webpack and es6-ified everything --- .babelrc | 4 + .editorconfig | 3 - .eslintrc.js | 93 + .gitignore | 1 + dist/streamr-client.js | 2124 +++++++++++ dist/streamr-client.js.map | 1 + dist/streamr-client.min.js | 1 + examples/browser.html | 6 +- examples/node.js | 33 +- package-lock.json | 7023 +++++++++++++++++++++++++++++++++++ package.json | 41 +- src/Connection.js | 70 + src/Protocol.js | 61 + src/StreamrClient.js | 382 ++ src/Subscription.js | 201 + src/index.js | 6 + src/shims/ws.js | 2 + streamr-client.js | 1057 ------ test/streamr-client.spec.js | 1785 +++++++++ test/test.streamr-client.js | 1509 -------- webpack.config.js | 57 + 21 files changed, 11860 insertions(+), 2600 deletions(-) create mode 100644 .babelrc create mode 100644 .eslintrc.js create mode 100644 dist/streamr-client.js create mode 100644 dist/streamr-client.js.map create mode 100644 dist/streamr-client.min.js create mode 100644 package-lock.json create mode 100644 src/Connection.js create mode 100644 src/Protocol.js create mode 100644 src/StreamrClient.js create mode 100644 src/Subscription.js create mode 100644 src/index.js create mode 100644 src/shims/ws.js delete mode 100644 streamr-client.js create mode 100644 test/streamr-client.spec.js delete mode 100644 test/test.streamr-client.js create mode 100644 webpack.config.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 000000000..2c15bca7a --- /dev/null +++ b/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["env"], + "plugins": ["babel-plugin-add-module-exports"] +} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig index 28ae0a289..8cc966fec 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,2 @@ # Top-most EditorConfig file root = true - -[*.{js,html}] -indent_style = tab diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 000000000..39b3cfce0 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,93 @@ +const WARN = 1, ERROR = 2 + +module.exports = exports = { + + extends: [ + 'eslint:recommended' + ], + + parser: 'babel-eslint', + parserOptions: { + ecmaVersion: 6, + sourceType: 'module', + ecmaFeatures: { + modules: true, + experimentalObjectRestSpread: true, + destructuring: true + } + }, + + env: { + es6: true, + node: true, + browser: true, + mocha: true, + jest: true + }, + + plugins: [], + + settings: {}, + + rules: { + 'no-debugger': WARN, + 'no-console': [ + WARN, + { + allow: [ + 'warn', + 'error' + ] + } + ], + 'semi': [ERROR, 'never'], + 'no-unused-vars': WARN, + 'curly': [ERROR, 'all'], + 'keyword-spacing': [ERROR, { + before: true, + after: true + }], + 'quotes': [ERROR, 'single'], + 'space-before-function-paren': [ERROR, { + anonymous: 'never', + named: 'never', + asyncArrow: 'always' + }], + 'space-before-blocks': [ERROR, 'always'], + 'space-in-parens': [ERROR, 'never'], + 'space-unary-ops': [ERROR, { + words: true, + nonwords: false + }], + 'brace-style': [ERROR, '1tbs'], + 'newline-per-chained-call': [ERROR, { + ignoreChainWithDepth: 2 + }], + 'object-curly-newline': [ERROR, { + ObjectExpression: { + minProperties: 1 + }, + ObjectPattern: 'never' + }], + 'indent': [ERROR, 4, { + SwitchCase: WARN, + MemberExpression: WARN, + ObjectExpression: WARN + }], + 'object-property-newline': [ERROR, { + allowMultiplePropertiesPerLine: true + }], + 'no-empty': [ERROR, { + allowEmptyCatch: true, + }], + 'eol-last': [ERROR, 'always'], + 'no-multiple-empty-lines': [ERROR, { + max: 1, + maxBOF: 0 + }], + 'no-trailing-spaces': ERROR, + 'template-curly-spacing': [ERROR, 'never'], + 'no-unexpected-multiline': ERROR, + 'wrap-iife': [ERROR, 'inside'] + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 34ababd72..5d0a2eaed 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ node_modules .lock-wscript .idea *.iml +.DS_Store diff --git a/dist/streamr-client.js b/dist/streamr-client.js new file mode 100644 index 000000000..76b4797ee --- /dev/null +++ b/dist/streamr-client.js @@ -0,0 +1,2124 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("streamr-client", [], factory); + else if(typeof exports === 'object') + exports["streamr-client"] = factory(); + else + root["StreamrClient"] = factory(); +})(typeof self !== 'undefined' ? self : this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 4); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var has = Object.prototype.hasOwnProperty + , prefix = '~'; + +/** + * Constructor to create a storage for our `EE` objects. + * An `Events` instance is a plain object whose properties are event names. + * + * @constructor + * @private + */ +function Events() {} + +// +// We try to not inherit from `Object.prototype`. In some engines creating an +// instance in this way is faster than calling `Object.create(null)` directly. +// If `Object.create(null)` is not supported we prefix the event names with a +// character to make sure that the built-in object properties are not +// overridden or used as an attack vector. +// +if (Object.create) { + Events.prototype = Object.create(null); + + // + // This hack is needed because the `__proto__` property is still inherited in + // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5. + // + if (!new Events().__proto__) prefix = false; +} + +/** + * Representation of a single event listener. + * + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} [once=false] Specify if the listener is a one-time listener. + * @constructor + * @private + */ +function EE(fn, context, once) { + this.fn = fn; + this.context = context; + this.once = once || false; +} + +/** + * Add a listener for a given event. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} once Specify if the listener is a one-time listener. + * @returns {EventEmitter} + * @private + */ +function addListener(emitter, event, fn, context, once) { + if (typeof fn !== 'function') { + throw new TypeError('The listener must be a function'); + } + + var listener = new EE(fn, context || emitter, once) + , evt = prefix ? prefix + event : event; + + if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++; + else if (!emitter._events[evt].fn) emitter._events[evt].push(listener); + else emitter._events[evt] = [emitter._events[evt], listener]; + + return emitter; +} + +/** + * Clear event by name. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} evt The Event name. + * @private + */ +function clearEvent(emitter, evt) { + if (--emitter._eventsCount === 0) emitter._events = new Events(); + else delete emitter._events[evt]; +} + +/** + * Minimal `EventEmitter` interface that is molded against the Node.js + * `EventEmitter` interface. + * + * @constructor + * @public + */ +function EventEmitter() { + this._events = new Events(); + this._eventsCount = 0; +} + +/** + * Return an array listing the events for which the emitter has registered + * listeners. + * + * @returns {Array} + * @public + */ +EventEmitter.prototype.eventNames = function eventNames() { + var names = [] + , events + , name; + + if (this._eventsCount === 0) return names; + + for (name in (events = this._events)) { + if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); + } + + if (Object.getOwnPropertySymbols) { + return names.concat(Object.getOwnPropertySymbols(events)); + } + + return names; +}; + +/** + * Return the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Array} The registered listeners. + * @public + */ +EventEmitter.prototype.listeners = function listeners(event) { + var evt = prefix ? prefix + event : event + , handlers = this._events[evt]; + + if (!handlers) return []; + if (handlers.fn) return [handlers.fn]; + + for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) { + ee[i] = handlers[i].fn; + } + + return ee; +}; + +/** + * Return the number of listeners listening to a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Number} The number of listeners. + * @public + */ +EventEmitter.prototype.listenerCount = function listenerCount(event) { + var evt = prefix ? prefix + event : event + , listeners = this._events[evt]; + + if (!listeners) return 0; + if (listeners.fn) return 1; + return listeners.length; +}; + +/** + * Calls each of the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Boolean} `true` if the event had listeners, else `false`. + * @public + */ +EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return false; + + var listeners = this._events[evt] + , len = arguments.length + , args + , i; + + if (listeners.fn) { + if (listeners.once) this.removeListener(event, listeners.fn, undefined, true); + + switch (len) { + case 1: return listeners.fn.call(listeners.context), true; + case 2: return listeners.fn.call(listeners.context, a1), true; + case 3: return listeners.fn.call(listeners.context, a1, a2), true; + case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true; + case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; + case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; + } + + for (i = 1, args = new Array(len -1); i < len; i++) { + args[i - 1] = arguments[i]; + } + + listeners.fn.apply(listeners.context, args); + } else { + var length = listeners.length + , j; + + for (i = 0; i < length; i++) { + if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true); + + switch (len) { + case 1: listeners[i].fn.call(listeners[i].context); break; + case 2: listeners[i].fn.call(listeners[i].context, a1); break; + case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break; + case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break; + default: + if (!args) for (j = 1, args = new Array(len -1); j < len; j++) { + args[j - 1] = arguments[j]; + } + + listeners[i].fn.apply(listeners[i].context, args); + } + } + } + + return true; +}; + +/** + * Add a listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.on = function on(event, fn, context) { + return addListener(this, event, fn, context, false); +}; + +/** + * Add a one-time listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.once = function once(event, fn, context) { + return addListener(this, event, fn, context, true); +}; + +/** + * Remove the listeners of a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn Only remove the listeners that match this function. + * @param {*} context Only remove the listeners that have this context. + * @param {Boolean} once Only remove one-time listeners. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return this; + if (!fn) { + clearEvent(this, evt); + return this; + } + + var listeners = this._events[evt]; + + if (listeners.fn) { + if ( + listeners.fn === fn && + (!once || listeners.once) && + (!context || listeners.context === context) + ) { + clearEvent(this, evt); + } + } else { + for (var i = 0, events = [], length = listeners.length; i < length; i++) { + if ( + listeners[i].fn !== fn || + (once && !listeners[i].once) || + (context && listeners[i].context !== context) + ) { + events.push(listeners[i]); + } + } + + // + // Reset the array, or remove it completely if we have no more listeners. + // + if (events.length) this._events[evt] = events.length === 1 ? events[0] : events; + else clearEvent(this, evt); + } + + return this; +}; + +/** + * Remove all listeners, or those of the specified event. + * + * @param {(String|Symbol)} [event] The event name. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { + var evt; + + if (event) { + evt = prefix ? prefix + event : event; + if (this._events[evt]) clearEvent(this, evt); + } else { + this._events = new Events(); + this._eventsCount = 0; + } + + return this; +}; + +// +// Alias methods names because people roll like that. +// +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; +EventEmitter.prototype.addListener = EventEmitter.prototype.on; + +// +// Expose the prefix. +// +EventEmitter.prefixed = prefix; + +// +// Allow `EventEmitter` to be imported as module namespace. +// +EventEmitter.EventEmitter = EventEmitter; + +// +// Expose the module. +// +if (true) { + module.exports = EventEmitter; +} + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process) {/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = __webpack_require__(7); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', + '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', + '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', + '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', + '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', + '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', + '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', + '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', + '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', + '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', + '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} + +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6))) + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.decodeBrowserWrapper = decodeBrowserWrapper; +exports.decodeMessage = decodeMessage; +exports.createSubscribeRequest = createSubscribeRequest; +exports.isByeMessage = isByeMessage; +var CONTENT_TYPE_JSON = 27; +var FIELDS_BY_PROTOCOL_VERSION = { + '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content'] +}; +var MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']; +var BYE_KEY = '_bye'; + +function decodeBrowserWrapper(rawMsg) { + var jsonMsg = JSON.parse(rawMsg); + var version = jsonMsg[0]; + if (version !== 0) { + throw 'Unknown message version: ' + version; + } + + return { + type: MESSAGE_TYPES[jsonMsg[1]], + subId: jsonMsg[2], + msg: jsonMsg[3] + }; +} + +function decodeMessage(type, message) { + if (type === 'b' || type === 'u') { + if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) { + throw 'Unsupported version: ' + message[0]; + } + var result = {}; + var fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]; + + for (var i = 0; i < message.length; i++) { + + // Parse content if necessary + if (fields[i] === 'content') { + if (result.contentType === CONTENT_TYPE_JSON) { + message[i] = JSON.parse(message[i]); + } else { + throw 'Unknown content type: ' + result.contentType; + } + } + + result[fields[i]] = message[i]; + } + return result; + } else { + return message; + } +} + +function createSubscribeRequest(stream, resendOptions) { + var req = { + stream: stream + }; + Object.keys(resendOptions).forEach(function (key) { + req[key] = resendOptions[key]; + }); + return req; +} + +function isByeMessage(message) { + return !!message[BYE_KEY]; +} + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var WebSocket = typeof window !== 'undefined' ? window.WebSocket : __webpack_require__(3); +module.exports = WebSocket; + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _StreamrClient = __webpack_require__(5); + +var _StreamrClient2 = _interopRequireDefault(_StreamrClient); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +//import Subscription from './Subscription' +//import Connection from './Connection' +//import * as Protocol from './Protocol' + +exports.default = _StreamrClient2.default; +module.exports = exports['default']; + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _eventemitter = __webpack_require__(0); + +var _eventemitter2 = _interopRequireDefault(_eventemitter); + +var _debug = __webpack_require__(1); + +var _debug2 = _interopRequireDefault(_debug); + +var _Subscription = __webpack_require__(9); + +var _Subscription2 = _interopRequireDefault(_Subscription); + +var _Connection = __webpack_require__(10); + +var _Connection2 = _interopRequireDefault(_Connection); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var StreamrClient = function (_EventEmitter) { + _inherits(StreamrClient, _EventEmitter); + + function StreamrClient(options) { + _classCallCheck(this, StreamrClient); + + // Default options + var _this = _possibleConstructorReturn(this, (StreamrClient.__proto__ || Object.getPrototypeOf(StreamrClient)).call(this)); + + _this.options = { + // The server to connect to + url: 'wss://www.streamr.com/api/v1/ws', + // Automatically connect on first subscribe + autoConnect: true, + // Automatically disconnect on last unsubscribe + autoDisconnect: true, + authKey: null + }; + _this.subsByStream = {}; + _this.subById = {}; + + _this.connection = null; + _this.connected = false; + + Object.assign(_this.options, options || {}); + return _this; + } + + _createClass(StreamrClient, [{ + key: '_addSubscription', + value: function _addSubscription(sub) { + this.subById[sub.id] = sub; + + if (!this.subsByStream[sub.streamId]) { + this.subsByStream[sub.streamId] = [sub]; + } else { + this.subsByStream[sub.streamId].push(sub); + } + } + }, { + key: '_removeSubscription', + value: function _removeSubscription(sub) { + delete this.subById[sub.id]; + + if (this.subsByStream[sub.streamId]) { + this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter(function (it) { + return it !== sub; + }); + + if (this.subsByStream[sub.streamId].length === 0) { + delete this.subsByStream[sub.streamId]; + } + } + } + }, { + key: 'getSubscriptions', + value: function getSubscriptions(streamId) { + return this.subsByStream[streamId] || []; + } + }, { + key: 'subscribe', + value: function subscribe(options, callback, legacyOptions) { + var _this2 = this; + + if (!options) { + throw 'subscribe: Invalid arguments: subscription options is required!'; + } else if (!callback) { + throw 'subscribe: Invalid arguments: callback is required!'; + } + + // Backwards compatibility for giving a streamId as first argument + if (typeof options === 'string') { + options = { + stream: options + }; + } else if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object') { + throw 'subscribe: options must be an object'; + } + + // Backwards compatibility for giving an options object as third argument + Object.assign(options, legacyOptions); + + if (!options.stream) { + throw 'subscribe: Invalid arguments: options.stream is not given'; + } + + // Create the Subscription object and bind handlers + var sub = new _Subscription2.default(options.stream, options.partition || 0, options.authKey || this.options.authKey, callback, options); + sub.on('gap', function (from, to) { + _this2._requestResend(sub, { + resend_from: from, resend_to: to + }); + }); + sub.on('done', function () { + (0, _debug2.default)('done event for sub %d', sub.id); + _this2.unsubscribe(sub); + }); + + // Add to lookups + this._addSubscription(sub); + + // If connected, emit a subscribe request + if (this.connected) { + this._resendAndSubscribe(sub); + } else if (this.options.autoConnect) { + this.connect(); + } + + return sub; + } + }, { + key: 'unsubscribe', + value: function unsubscribe(sub) { + if (!sub || !sub.streamId) { + throw 'unsubscribe: please give a Subscription object as an argument!'; + } + + // If this is the last subscription for this stream, unsubscribe the client too + if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) { + sub.unsubscribing = true; + this._requestUnsubscribe(sub.streamId); + } else if (!sub.unsubscribing) { + // Else the sub can be cleaned off immediately + this._removeSubscription(sub); + sub.emit('unsubscribed'); + this._checkAutoDisconnect(); + } + } + }, { + key: 'unsubscribeAll', + value: function unsubscribeAll(streamId) { + var _this3 = this; + + if (!streamId) { + throw 'unsubscribeAll: a stream id is required!'; + } else if (typeof streamId !== 'string') { + throw 'unsubscribe: stream id must be a string!'; + } + + if (this.subsByStream[streamId]) { + // Copy the list to avoid concurrent modifications + var l = this.subsByStream[streamId].slice(); + l.forEach(function (sub) { + _this3.unsubscribe(sub); + }); + } + } + }, { + key: 'isConnected', + value: function isConnected() { + return this.connected; + } + }, { + key: 'reconnect', + value: function reconnect() { + return this.connect(true); + } + }, { + key: 'connect', + value: function connect() { + var _this4 = this; + + if (this.connected) { + (0, _debug2.default)('connect() called while already connected, doing nothing...'); + return; + } else if (this.connecting) { + (0, _debug2.default)('connect() called while connecting, doing nothing...'); + return; + } + + (0, _debug2.default)('Connecting to %s', this.options.url); + this.connecting = true; + this.disconnecting = false; + + this.connection = new _Connection2.default(this.options); + + // Broadcast messages to all subs listening on stream + this.connection.on('b', function (msg) { + // Notify the Subscriptions for this stream. If this is not the message each individual Subscription + // is expecting, they will either ignore it or request resend via gap event. + var streamId = msg.streamId; + var subs = _this4.subsByStream[streamId]; + if (subs) { + for (var i = 0; i < subs.length; i++) { + subs[i].handleMessage(msg, false); + } + } else { + (0, _debug2.default)('WARN: message received for stream with no subscriptions: %s', streamId); + } + }); + + // Unicast messages to a specific subscription only + this.connection.on('u', function (msg, sub) { + if (sub !== undefined && _this4.subById[sub] !== undefined) { + _this4.subById[sub].handleMessage(msg, true); + } else { + (0, _debug2.default)('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub); + } + }); + + this.connection.on('subscribed', function (response) { + if (response.error) { + _this4.handleError('Error subscribing to ' + response.stream + ': ' + response.error); + } else { + var subs = _this4.subsByStream[response.stream]; + delete subs._subscribing; + + (0, _debug2.default)('Client subscribed: %o', response); + + // Report subscribed to all non-resending Subscriptions for this stream + subs.filter(function (sub) { + return !sub.resending; + }).forEach(function (sub) { + sub.emit('subscribed'); + }); + } + }); + + this.connection.on('unsubscribed', function (response) { + (0, _debug2.default)('Client unsubscribed: %o', response); + + if (_this4.subsByStream[response.stream]) { + // Copy the list to avoid concurrent modifications + var l = _this4.subsByStream[response.stream].slice(); + l.forEach(function (sub) { + _this4._removeSubscription(sub); + sub.emit('unsubscribed'); + }); + } + + _this4._checkAutoDisconnect(); + }); + + // Route resending state messages to corresponding Subscriptions + this.connection.on('resending', function (response) { + if (_this4.subById[response.sub]) { + _this4.subById[response.sub].emit('resending', response); + } else { + (0, _debug2.default)('resent: Subscription %d is gone already', response.sub); + } + }); + + this.connection.on('no_resend', function (response) { + if (_this4.subById[response.sub]) { + _this4.subById[response.sub].emit('no_resend', response); + } else { + (0, _debug2.default)('resent: Subscription %d is gone already', response.sub); + } + }); + + this.connection.on('resent', function (response) { + if (_this4.subById[response.sub]) { + _this4.subById[response.sub].emit('resent', response); + } else { + (0, _debug2.default)('resent: Subscription %d is gone already', response.sub); + } + }); + + // On connect/reconnect, send pending subscription requests + this.connection.on('connected', function () { + (0, _debug2.default)('Connected!'); + _this4.connected = true; + _this4.connecting = false; + _this4.disconnecting = false; + _this4.emit('connected'); + + Object.keys(_this4.subsByStream).forEach(function (streamId) { + var subs = _this4.subsByStream[streamId]; + subs.forEach(function (sub) { + if (!sub.isSubscribed()) { + _this4._resendAndSubscribe(sub); + } + }); + }); + }); + + this.connection.on('disconnected', function () { + (0, _debug2.default)('Disconnected.'); + _this4.connected = false; + _this4.connecting = false; + _this4.disconnecting = false; + _this4.emit('disconnected'); + + Object.keys(_this4.subsByStream).forEach(function (streamId) { + var subs = _this4.subsByStream[streamId]; + delete subs._subscribing; + subs.forEach(function (sub) { + sub.emit('disconnected'); + }); + }); + }); + + this.connection.connect(); // TODO: i did not find this anywhere else? + return this.subsByStream; + } + }, { + key: 'pause', + value: function pause() { + this.connection.disconnect(); + } + }, { + key: 'disconnect', + value: function disconnect() { + var _this5 = this; + + this.connecting = false; + this.disconnecting = true; + + Object.keys(this.subsByStream).forEach(function (streamId) { + _this5.unsubscribeAll(streamId); + }); + + this.connection.disconnect(); + } + }, { + key: '_checkAutoDisconnect', + value: function _checkAutoDisconnect() { + // Disconnect if no longer subscribed to any streams + if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) { + (0, _debug2.default)('Disconnecting due to no longer being subscribed to any streams'); + this.disconnect(); + } + } + }, { + key: '_resendAndSubscribe', + value: function _resendAndSubscribe(sub) { + var _this6 = this; + + if (!sub.subscribing && !sub.resending) { + sub.subscribing = true; + this._requestSubscribe(sub); + + // Once subscribed, ask for a resend + sub.once('subscribed', function () { + if (sub.hasResendOptions()) { + _this6._requestResend(sub); + } + }); + } + } + }, { + key: '_requestSubscribe', + value: function _requestSubscribe(sub) { + var subs = this.subsByStream[sub.streamId]; + + var subscribedSubs = subs.filter(function (it) { + return it.isSubscribed(); + }); + + // If this is the first subscription for this stream, send a subscription request to the server + if (!subs._subscribing && subscribedSubs.length === 0) { + var req = Object.assign({}, sub.options, { + type: 'subscribe', stream: sub.streamId, authKey: sub.authKey + }); + (0, _debug2.default)('_requestSubscribe: subscribing client: %o', req); + subs._subscribing = true; + this.connection.send(req); + } else if (subscribedSubs.length > 0) { + // If there already is a subscribed subscription for this stream, this new one will just join it immediately + (0, _debug2.default)('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId); + + setTimeout(function () { + sub.emit('subscribed'); + }, 0); + } + } + }, { + key: '_requestUnsubscribe', + value: function _requestUnsubscribe(streamId) { + (0, _debug2.default)('Client unsubscribing stream %o', streamId); + this.connection.send({ + type: 'unsubscribe', + stream: streamId + }); + } + }, { + key: '_requestResend', + value: function _requestResend(sub, resendOptions) { + // If overriding resendOptions are given, need to remove resend options in sub.options + var options = Object.assign({}, sub.getEffectiveResendOptions()); + if (resendOptions) { + Object.keys(options).forEach(function (key) { + if (key.match(/resend_.*/)) { + delete options[key]; + } + }); + } + + sub.resending = true; + + var request = Object.assign({}, options, resendOptions, { + type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.authKey, sub: sub.id + }); + (0, _debug2.default)('_requestResend: %o', request); + this.connection.send(request); + } + }, { + key: 'handleError', + value: function handleError(msg) { + (0, _debug2.default)(msg); + this.emit('error', msg); + } + }]); + + return StreamrClient; +}(_eventemitter2.default); + +exports.default = StreamrClient; +module.exports = exports['default']; + +/***/ }), +/* 6 */ +/***/ (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; }; + + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = __webpack_require__(8); + +/** + * Active `debug` instances. + */ +exports.instances = []; + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + var prevTime; + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + exports.instances.push(debug); + + return debug; +} + +function destroy () { + var index = exports.instances.indexOf(this); + if (index !== -1) { + exports.instances.splice(index, 1); + return true; + } else { + return false; + } +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < exports.instances.length; i++) { + var instance = exports.instances[i]; + instance.enabled = exports.enabled(instance.namespace); + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} + + +/***/ }), +/* 8 */ +/***/ (function(module, exports) { + +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isNaN(val) === false) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + if (ms >= d) { + return Math.round(ms / d) + 'd'; + } + if (ms >= h) { + return Math.round(ms / h) + 'h'; + } + if (ms >= m) { + return Math.round(ms / m) + 'm'; + } + if (ms >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + return plural(ms, d, 'day') || + plural(ms, h, 'hour') || + plural(ms, m, 'minute') || + plural(ms, s, 'second') || + ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, n, name) { + if (ms < n) { + return; + } + if (ms < n * 1.5) { + return Math.floor(ms / n) + ' ' + name; + } + return Math.ceil(ms / n) + ' ' + name + 's'; +} + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _eventemitter = __webpack_require__(0); + +var _eventemitter2 = _interopRequireDefault(_eventemitter); + +var _debug = __webpack_require__(1); + +var _debug2 = _interopRequireDefault(_debug); + +var _Protocol = __webpack_require__(2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var subId = 0; +function generateSubscriptionId() { + var id = subId++; + return id.toString(); +} + +var Subscription = function (_EventEmitter) { + _inherits(Subscription, _EventEmitter); + + function Subscription(streamId, streamPartition, authKey, callback, options) { + _classCallCheck(this, Subscription); + + var _this = _possibleConstructorReturn(this, (Subscription.__proto__ || Object.getPrototypeOf(Subscription)).call(this)); + + if (!streamId) { + throw 'No stream id given!'; + } + if (!callback) { + throw 'No callback given!'; + } + + _this.id = generateSubscriptionId(); + _this.streamId = streamId; + _this.streamPartition = streamPartition; + _this.authKey = authKey; + _this.callback = callback; + _this.options = options || {}; + _this.queue = []; + _this.subscribing = false; + _this.subscribed = false; + _this.lastReceivedOffset = null; + + // Check that multiple resend options are not given + var resendOptionCount = 0; + if (_this.options.resend_all) { + resendOptionCount++; + } + if (_this.options.resend_from != null) { + resendOptionCount++; + } + if (_this.options.resend_last != null) { + resendOptionCount++; + } + if (_this.options.resend_from_time != null) { + resendOptionCount++; + } + if (resendOptionCount > 1) { + throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options); + } + + // Automatically convert Date objects to numbers for resend_from_time + if (_this.options.resend_from_time != null && typeof _this.options.resend_from_time !== 'number') { + + if (typeof _this.options.resend_from_time.getTime === 'function') { + _this.options.resend_from_time = _this.options.resend_from_time.getTime(); + } else { + throw 'resend_from_time option must be a Date object or a number representing time!'; + } + } + + /*** Message handlers ***/ + + _this.on('subscribed', function () { + (0, _debug2.default)('Sub %s subscribed to stream: %s', _this.id, _this.streamId); + _this.subscribed = true; + _this.subscribing = false; + }); + + _this.on('unsubscribed', function () { + (0, _debug2.default)('Sub %s unsubscribed: %s', _this.id, _this.streamId); + _this.subscribed = false; + _this.subscribing = false; + _this.unsubscribing = false; + _this.resending = false; + }); + + _this.on('resending', function (response) { + (0, _debug2.default)('Sub %s resending: %o', _this.id, response); + // this.resending = true was set elsewhere before making the request + }); + + _this.on('no_resend', function (response) { + (0, _debug2.default)('Sub %s no_resend: %o', _this.id, response); + _this.resending = false; + _this.checkQueue(); + }); + + _this.on('resent', function (response) { + (0, _debug2.default)('Sub %s resent: %o', _this.id, response); + _this.resending = false; + _this.checkQueue(); + }); + + _this.on('connected', function () {}); + + _this.on('disconnected', function () { + _this.subscribed = false; + _this.subscribing = false; + _this.resending = false; + }); + return _this; + } + + _createClass(Subscription, [{ + key: 'handleMessage', + value: function handleMessage(msg, isResend) { + var content = msg.content; + var offset = msg.offset; + var previousOffset = msg.previousOffset; + + if (previousOffset == null) { + (0, _debug2.default)('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg); + } + + // TODO: check this.options.resend_last ? + // If resending, queue broadcasted messages + if (this.resending && !isResend) { + this.queue.push(msg); + } else { + // Gap check + if (previousOffset != null && // previousOffset is required to check for gaps + this.lastReceivedOffset != null && // and we need to know what msg was the previous one + previousOffset > this.lastReceivedOffset && // previous message had larger offset than our previous msg => gap! + !this.resending) { + + // Queue the message to be processed after resend + this.queue.push(msg); + + var from = this.lastReceivedOffset + 1; + var to = previousOffset; + (0, _debug2.default)('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to); + this.emit('gap', from, to); + } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) { + // Prevent double-processing of messages for any reason + (0, _debug2.default)('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset); + } else { + // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset + this.lastReceivedOffset = offset; + this.callback(content, msg); + if ((0, _Protocol.isByeMessage)(content)) { + this.emit('done'); + } + } + } + } + }, { + key: 'checkQueue', + value: function checkQueue() { + if (this.queue.length) { + (0, _debug2.default)('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId); + + var i = void 0; + var length = this.queue.length; + + var originalQueue = this.queue; + this.queue = []; + + for (i = 0; i < length; i++) { + var msg = originalQueue[i]; + this.handleMessage(msg, false); + } + } + } + }, { + key: 'hasResendOptions', + value: function hasResendOptions() { + return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0; + } + + /** + * Resend needs can change if messages have already been received. + * This function always returns the effective resend options: + * + * If messages have been received: + * - resend_all becomes resend_from + * - resend_from becomes resend_from the latest received message + * - resend_from_time becomes resend_from the latest received message + * - resend_last stays the same + */ + + }, { + key: 'getEffectiveResendOptions', + value: function getEffectiveResendOptions() { + if (this.hasReceivedMessages() && this.hasResendOptions()) { + if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) { + return { + resend_from: this.lastReceivedOffset + 1 + }; + } else if (this.options.resend_last) { + return this.options; + } + } else { + return this.options; + } + } + }, { + key: 'hasReceivedMessages', + value: function hasReceivedMessages() { + return this.lastReceivedOffset != null; + } + }, { + key: 'isSubscribed', + value: function isSubscribed() { + return this.subscribed; + } + }]); + + return Subscription; +}(_eventemitter2.default); + +exports.default = Subscription; +module.exports = exports['default']; + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _eventemitter = __webpack_require__(0); + +var _eventemitter2 = _interopRequireDefault(_eventemitter); + +var _debug = __webpack_require__(1); + +var _debug2 = _interopRequireDefault(_debug); + +var _ws = __webpack_require__(3); + +var _ws2 = _interopRequireDefault(_ws); + +var _Protocol = __webpack_require__(2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Connection = function (_EventEmitter) { + _inherits(Connection, _EventEmitter); + + function Connection(options) { + _classCallCheck(this, Connection); + + var _this = _possibleConstructorReturn(this, (Connection.__proto__ || Object.getPrototypeOf(Connection)).call(this)); + + if (!options.url) { + throw 'URL is not defined!'; + } + _this.options = options; + _this.connected = false; + _this.connecting = false; + _this.disconnecting = false; + + if (options.autoConnect) { + _this.connect(); + } + return _this; + } + + _createClass(Connection, [{ + key: 'connect', + value: function connect() { + var _this2 = this; + + if (!(this.connected || this.connecting)) { + this.connecting = true; + + this.socket = new _ws2.default(this.options.url); + this.socket.binaryType = 'arraybuffer'; + this.emit('connecting'); + + this.socket.onopen = function () { + (0, _debug2.default)('Connected to ', _this2.options.url); + _this2.connected = true; + _this2.connecting = false; + _this2.emit('connected'); + }; + + this.socket.onclose = function () { + if (!_this2.disconnecting) { + (0, _debug2.default)('Connection lost. Attempting to reconnect'); + setTimeout(function () { + _this2.connect(); + }, 2000); + } else { + _this2.disconnecting = false; + } + + _this2.connected = false; + _this2.connecting = false; + _this2.emit('disconnected'); + }; + + this.socket.onmessage = function (messageEvent) { + var decoded = (0, _Protocol.decodeBrowserWrapper)(messageEvent.data); + _this2.emit(decoded.type, (0, _Protocol.decodeMessage)(decoded.type, decoded.msg), decoded.subId); + }; + } + } + }, { + key: 'disconnect', + value: function disconnect() { + if (this.socket !== undefined && (this.connected || this.connecting)) { + this.disconnecting = true; + this.socket.close(); + } + } + }, { + key: 'send', + value: function send(req) { + this.socket.send(JSON.stringify(req)); + } + }]); + + return Connection; +}(_eventemitter2.default); + +exports.default = Connection; +module.exports = exports['default']; + +/***/ }) +/******/ ]); +}); +//# sourceMappingURL=streamr-client.js.map \ No newline at end of file diff --git a/dist/streamr-client.js.map b/dist/streamr-client.js.map new file mode 100644 index 000000000..9f5f2166b --- /dev/null +++ b/dist/streamr-client.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 33ce94fadfb06747b70a","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./src/Protocol.js","webpack:///./src/shims/ws.js","webpack:///./src/index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./src/Subscription.js","webpack:///./src/Connection.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","Object","keys","forEach","key","WebSocket","window","require","module","exports","StreamrClient","options","url","autoConnect","autoDisconnect","authKey","subsByStream","subById","connection","connected","assign","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","stringify","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AC7DA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;QC3LgBA,oB,GAAAA,oB;QAcAC,a,GAAAA,a;QA2BAC,sB,GAAAA,sB;QAUAC,Y,GAAAA,Y;AA1DhB,IAAMC,oBAAoB,EAA1B;AACA,IAAMC,6BAA8B;AAChC,UAAM,CAAC,SAAD,EAAY,UAAZ,EAAwB,iBAAxB,EAA2C,WAA3C,EAAwD,KAAxD,EAA+D,QAA/D,EAAyE,gBAAzE,EAA2F,aAA3F,EAA0G,SAA1G;AAD0B,CAApC;AAGA,IAAMC,gBAAgB,CAAC,GAAD,EAAM,GAAN,EAAW,YAAX,EAAyB,cAAzB,EAAyC,WAAzC,EAAsD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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACtLtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,4BAA4B;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,aAAa,8BAA8B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AChOA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","file":"streamr-client.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 33ce94fadfb06747b70a","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 0\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 1\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","const WebSocket = typeof window !== 'undefined' ? window.WebSocket : require('ws')\nmodule.exports = WebSocket\n\n\n\n// WEBPACK FOOTER //\n// ./src/shims/ws.js","import StreamrClient from './StreamrClient'\n//import Subscription from './Subscription'\n//import Connection from './Connection'\n//import * as Protocol from './Protocol'\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n authKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.authKey || this.options.authKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.authKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.authKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // 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\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // 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.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 6\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 7\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 8\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, authKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.authKey = authKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/streamr-client.min.js b/dist/streamr-client.min.js new file mode 100644 index 000000000..ac1813676 --- /dev/null +++ b/dist/streamr-client.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("streamr-client",[],t):"object"==typeof exports?exports["streamr-client"]=t():e.StreamrClient=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(s){if(n[s])return n[s].exports;var r=n[s]={i:s,l:!1,exports:{}};return e[s].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,s){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:s})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=4)}([function(e,t,n){"use strict";function s(){}function r(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,s,o){if("function"!=typeof n)throw new TypeError("The listener must be a function");var i=new r(n,s||e,o),c=a?a+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],i]:e._events[c].push(i):(e._events[c]=i,e._eventsCount++),e}function i(e,t){0==--e._eventsCount?e._events=new s:delete e._events[t]}function c(){this._events=new s,this._eventsCount=0}var u=Object.prototype.hasOwnProperty,a="~";Object.create&&(s.prototype=Object.create(null),(new s).__proto__||(a=!1)),c.prototype.eventNames=function(){var e,t,n=[];if(0===this._eventsCount)return n;for(t in e=this._events)u.call(e,t)&&n.push(a?t.slice(1):t);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},c.prototype.listeners=function(e){var t=a?a+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var s=0,r=n.length,o=new Array(r);s=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function o(e){var n=this.useColors;if(e[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+e[0]+(n?"%c ":" ")+"+"+t.humanize(this.diff),n){var s="color: "+this.color;e.splice(1,0,s,"color: inherit");var r=0,o=0;e[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(r++,"%c"===e&&(o=r))}),e.splice(o,0,s)}}function i(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function c(e){try{null==e?t.storage.removeItem("debug"):t.storage.debug=e}catch(e){}}function u(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==s&&"env"in s&&(e=s.env.DEBUG),e}t=e.exports=n(7),t.log=i,t.formatArgs=o,t.save=c,t.load=u,t.useColors=r,t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(u())}).call(t,n(6))},function(e,t,n){"use strict";function s(e){var t=JSON.parse(e),n=t[0];if(0!==n)throw"Unknown message version: "+n;return{type:a[t[1]],subId:t[2],msg:t[3]}}function r(e,t){if("b"===e||"u"===e){if(void 0===u[t[0]])throw"Unsupported version: "+t[0];for(var n={},s=u[t[0]],r=0;r0&&((0,d.default)("_requestSubscribe: another subscription for same stream: %s, insta-subscribing",e.streamId),setTimeout(function(){e.emit("subscribed")},0));else{var s=Object.assign({},e.options,{type:"subscribe",stream:e.streamId,authKey:e.authKey});(0,d.default)("_requestSubscribe: subscribing client: %o",s),t._subscribing=!0,this.connection.send(s)}}},{key:"_requestUnsubscribe",value:function(e){(0,d.default)("Client unsubscribing stream %o",e),this.connection.send({type:"unsubscribe",stream:e})}},{key:"_requestResend",value:function(e,t){var n=Object.assign({},e.getEffectiveResendOptions());t&&Object.keys(n).forEach(function(e){e.match(/resend_.*/)&&delete n[e]}),e.resending=!0;var s=Object.assign({},n,t,{type:"resend",stream:e.streamId,partition:e.streamPartition,authKey:e.authKey,sub:e.id});(0,d.default)("_requestResend: %o",s),this.connection.send(s)}},{key:"handleError",value:function(e){(0,d.default)(e),this.emit("error",e)}}]),t}(f.default);t.default=y,e.exports=t.default},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function r(e){if(f===setTimeout)return setTimeout(e,0);if((f===n||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function o(e){if(l===clearTimeout)return clearTimeout(e);if((l===s||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(e);try{return l(e)}catch(t){try{return l.call(null,e)}catch(t){return l.call(this,e)}}}function i(){p&&h&&(p=!1,h.length?b=h.concat(b):m=-1,b.length&&c())}function c(){if(!p){var e=r(i);p=!0;for(var t=b.length;t;){for(h=b,b=[];++m1)for(var n=1;n100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*f;case"days":case"day":case"d":return n*a;case"hours":case"hour":case"hrs":case"hr":case"h":return n*u;case"minutes":case"minute":case"mins":case"min":case"m":return n*c;case"seconds":case"second":case"secs":case"sec":case"s":return n*i;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function s(e){return e>=a?Math.round(e/a)+"d":e>=u?Math.round(e/u)+"h":e>=c?Math.round(e/c)+"m":e>=i?Math.round(e/i)+"s":e+"ms"}function r(e){return o(e,a,"day")||o(e,u,"hour")||o(e,c,"minute")||o(e,i,"second")||e+" ms"}function o(e,t,n){if(!(e0)return n(e);if("number"===o&&!1===isNaN(e))return t.long?r(e):s(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function c(){return(b++).toString()}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n1)throw"Multiple resend options active! Please use only one: "+JSON.stringify(u);if(null!=a.options.resend_from_time&&"number"!=typeof a.options.resend_from_time){if("function"!=typeof a.options.resend_from_time.getTime)throw"resend_from_time option must be a Date object or a number representing time!";a.options.resend_from_time=a.options.resend_from_time.getTime()}return a.on("subscribed",function(){(0,d.default)("Sub %s subscribed to stream: %s",a.id,a.streamId),a.subscribed=!0,a.subscribing=!1}),a.on("unsubscribed",function(){(0,d.default)("Sub %s unsubscribed: %s",a.id,a.streamId),a.subscribed=!1,a.subscribing=!1,a.unsubscribing=!1,a.resending=!1}),a.on("resending",function(e){(0,d.default)("Sub %s resending: %o",a.id,e)}),a.on("no_resend",function(e){(0,d.default)("Sub %s no_resend: %o",a.id,e),a.resending=!1,a.checkQueue()}),a.on("resent",function(e){(0,d.default)("Sub %s resent: %o",a.id,e),a.resending=!1,a.checkQueue()}),a.on("connected",function(){}),a.on("disconnected",function(){a.subscribed=!1,a.subscribing=!1,a.resending=!1}),a}return i(t,e),u(t,[{key:"handleMessage",value:function(e,t){var n=e.content,s=e.offset,r=e.previousOffset;if(null==r&&(0,d.default)("handleMessage: prevOffset is null, gap detection is impossible! message: %o",e),this.resending&&!t)this.queue.push(e);else if(null!=r&&null!=this.lastReceivedOffset&&r>this.lastReceivedOffset&&!this.resending){this.queue.push(e);var o=this.lastReceivedOffset+1,i=r;(0,d.default)("Gap detected, requesting resend for stream %s from %d to %d",this.streamId,o,i),this.emit("gap",o,i)}else null!=this.lastReceivedOffset&&s<=this.lastReceivedOffset?(0,d.default)("Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.",this.id,s,this.lastReceivedOffset):(this.lastReceivedOffset=s,this.callback(n,e),(0,h.isByeMessage)(n)&&this.emit("done"))}},{key:"checkQueue",value:function(){if(this.queue.length){(0,d.default)("Attempting to process %d queued messages for stream %s",this.queue.length,this.streamId);var e=void 0,t=this.queue.length,n=this.queue;for(this.queue=[],e=0;e=0||this.options.resend_from_time>=0||this.options.resend_last>0}},{key:"getEffectiveResendOptions",value:function(){return this.hasReceivedMessages()&&this.hasResendOptions()?this.options.resend_all||this.options.resend_from||this.options.resend_from_time?{resend_from:this.lastReceivedOffset+1}:this.options.resend_last?this.options:void 0:this.options}},{key:"hasReceivedMessages",value:function(){return null!=this.lastReceivedOffset}},{key:"isSubscribed",value:function(){return this.subscribed}}]),t}(f.default);t.default=p,e.exports=t.default},function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(e,t){for(var n=0;n - + + diff --git a/examples/node.js b/examples/node.js index 8487b1241..b9755fa9c 100644 --- a/examples/node.js +++ b/examples/node.js @@ -40,3 +40,8 @@ subscription.on('resent', function() { subscription.on('no_resend', function() { console.log('Nothing to resend for '+subscription.streamId) }) + +console.log('Attempting to get stream') +client.getStream('7wa7APtlTq6EC5iTCBy6dw').then((stream) => { + console.log(stream) +}) diff --git a/package-lock.json b/package-lock.json index d1b42cc77..df121447b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -522,6 +522,17 @@ "trim-right": "1.0.1" } }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, "babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", @@ -568,6 +579,18 @@ "babel-types": "6.26.0" } }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, "babel-helper-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", @@ -700,18 +723,59 @@ "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", "dev": true }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", "dev": true }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, "babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", "dev": true }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.0" + } + }, "babel-plugin-transform-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", @@ -723,6 +787,31 @@ "babel-runtime": "6.26.0" } }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", @@ -968,6 +1057,16 @@ "babel-runtime": "6.26.0" } }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, "babel-plugin-transform-regenerator": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", @@ -977,6 +1076,15 @@ "regenerator-transform": "0.10.1" } }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, "babel-plugin-transform-strict-mode": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", @@ -991,7 +1099,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "core-js": "2.5.4", @@ -1001,11 +1108,16 @@ "regenerator-runtime": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" } } }, + "babel-preset-2017": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/babel-preset-2017/-/babel-preset-2017-0.0.0.tgz", + "integrity": "sha1-slRU/93BAvEZqjWGxDTh/zc3vck=", + "dev": true + }, "babel-preset-env": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", @@ -1044,6 +1156,31 @@ "semver": "5.5.0" } }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-preset-stage-3": "6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-generator-functions": "6.24.1", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0" + } + }, "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", @@ -1063,7 +1200,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, "requires": { "core-js": "2.5.4", "regenerator-runtime": "0.11.1" @@ -1729,8 +1865,7 @@ "core-js": { "version": "2.5.4", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.4.tgz", - "integrity": "sha1-8si/GB8qgLkvNgEhQpzmOi8K6uA=", - "dev": true + "integrity": "sha1-8si/GB8qgLkvNgEhQpzmOi8K6uA=" }, "core-util-is": { "version": "1.0.2", @@ -5243,8 +5378,7 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "querystring-es3": { "version": "0.2.1", @@ -5373,8 +5507,7 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "regenerator-transform": { "version": "0.10.1", diff --git a/package.json b/package.json index fd1fdb825..8edc15ee7 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,10 @@ "babel-eslint": "^8.0.3", "babel-loader": "^7.1.2", "babel-plugin-add-module-exports": "^0.2.1", + "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-2017": "0.0.0", "babel-preset-env": "^1.6.1", + "babel-preset-stage-2": "^6.24.1", "chai": "^4.1.2", "eslint": "^4.13.1", "eslint-loader": "^1.9.0", @@ -39,8 +42,10 @@ "yargs": "^10.0.3" }, "dependencies": { + "babel-runtime": "^6.26.0", "debug": "^3.1.0", "eventemitter3": "^3.0.1", + "querystring": "^0.2.0", "ws": "^5.1.0" } } diff --git a/src/index.js b/src/index.js index 5d1f35932..2430704ca 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,7 @@ import StreamrClient from './StreamrClient' -//import Subscription from './Subscription' -//import Connection from './Connection' -//import * as Protocol from './Protocol' +import AllEndpoints from './rest/AllEndpoints' + +// Mixin the rest endpoints to the StreamrClient +Object.assign(StreamrClient.prototype, AllEndpoints) export default StreamrClient diff --git a/src/rest/StreamEndpoints.js b/src/rest/StreamEndpoints.js index 22a511292..1c44d3a3b 100644 --- a/src/rest/StreamEndpoints.js +++ b/src/rest/StreamEndpoints.js @@ -60,9 +60,9 @@ export async function produceToStream(streamId, data, apiKey = this.options.apiK // Send data to the stream return await authFetch(this.options.restUrl + '/streams/' + streamId + '/data', apiKey, - { - ...requestOptions, + Object.assign({}, requestOptions, { method: 'POST', body: JSON.stringify(data) }) + ) } diff --git a/src/rest/utils.js b/src/rest/utils.js index cce985b4b..7d5f9eaa4 100644 --- a/src/rest/utils.js +++ b/src/rest/utils.js @@ -1,10 +1,9 @@ export async function authFetch(url, apiKey, opts = {}) { - let req = { + let req = Object.assign({}, opts, { headers: apiKey ? { Authorization: 'token '+ apiKey - } : undefined, - ...opts - } + } : undefined + }) let res = await fetch(url, req) diff --git a/webpack.config.js b/webpack.config.js index e87bddfd0..42f72b332 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -40,7 +40,11 @@ const config = { { test: /(\.jsx|\.js)$/, loader: 'babel-loader', - exclude: /(node_modules|bower_components)/ + exclude: /(node_modules|bower_components)/, + query: { + plugins: ['transform-runtime'] + + } }, { test: /(\.jsx|\.js)$/, From 183607221223ff2ea3561ecaa911ecd84cdd96a2 Mon Sep 17 00:00:00 2001 From: Henri Pihkala Date: Mon, 2 Apr 2018 16:16:45 +0200 Subject: [PATCH 08/18] added node-fetch + its shim for browser --- dist/streamr-client.node.js | 2184 ++++++++++++++++++++++++++----- dist/streamr-client.node.js.map | 2 +- dist/streamr-client.web.js | 23 +- dist/streamr-client.web.js.map | 2 +- dist/streamr-client.web.min.js | 2 +- package-lock.json | 9 +- package.json | 4 +- src/rest/utils.js | 2 + src/shim/node-fetch.js | 7 + src/shim/ws.js | 2 + 10 files changed, 1922 insertions(+), 315 deletions(-) create mode 100644 src/shim/node-fetch.js diff --git a/dist/streamr-client.node.js b/dist/streamr-client.node.js index 07891d57a..7b38edf7a 100644 --- a/dist/streamr-client.node.js +++ b/dist/streamr-client.node.js @@ -70,7 +70,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 82); +/******/ return __webpack_require__(__webpack_require__.s = 85); /******/ }) /************************************************************************/ /******/ ([ @@ -97,7 +97,7 @@ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef /* 2 */ /***/ (function(module, exports, __webpack_require__) { -var store = __webpack_require__(36)('wks'); +var store = __webpack_require__(39)('wks'); var uid = __webpack_require__(20); var Symbol = __webpack_require__(1).Symbol; var USE_SYMBOL = typeof Symbol == 'function'; @@ -194,8 +194,8 @@ module.exports = function (it) { /***/ (function(module, exports, __webpack_require__) { var anObject = __webpack_require__(4); -var IE8_DOM_DEFINE = __webpack_require__(51); -var toPrimitive = __webpack_require__(32); +var IE8_DOM_DEFINE = __webpack_require__(54); +var toPrimitive = __webpack_require__(35); var dP = Object.defineProperty; exports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) { @@ -258,7 +258,7 @@ module.exports = function (it, key) { /* 10 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(83), __esModule: true }; +module.exports = { "default": __webpack_require__(86), __esModule: true }; /***/ }), /* 11 */ @@ -278,8 +278,8 @@ module.exports = function (exec) { /***/ (function(module, exports, __webpack_require__) { // to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = __webpack_require__(53); -var defined = __webpack_require__(33); +var IObject = __webpack_require__(56); +var defined = __webpack_require__(36); module.exports = function (it) { return IObject(defined(it)); }; @@ -316,8 +316,8 @@ module.exports = function (fn, that, length) { /***/ (function(module, exports, __webpack_require__) { // 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = __webpack_require__(52); -var enumBugKeys = __webpack_require__(37); +var $keys = __webpack_require__(55); +var enumBugKeys = __webpack_require__(40); module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); @@ -406,7 +406,7 @@ exports.f = {}.propertyIsEnumerable; /***/ (function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) -var defined = __webpack_require__(33); +var defined = __webpack_require__(36); module.exports = function (it) { return Object(defined(it)); }; @@ -421,11 +421,11 @@ module.exports = function (it) { exports.__esModule = true; -var _iterator = __webpack_require__(91); +var _iterator = __webpack_require__(94); var _iterator2 = _interopRequireDefault(_iterator); -var _symbol = __webpack_require__(99); +var _symbol = __webpack_require__(102); var _symbol2 = _interopRequireDefault(_symbol); @@ -483,7 +483,7 @@ exports.default = function (instance, Constructor) { exports.__esModule = true; -var _defineProperty = __webpack_require__(110); +var _defineProperty = __webpack_require__(113); var _defineProperty2 = _interopRequireDefault(_defineProperty); @@ -517,9 +517,9 @@ exports.default = function () { */ if (typeof process === 'undefined' || process.type === 'renderer') { - module.exports = __webpack_require__(120); + module.exports = __webpack_require__(123); } else { - module.exports = __webpack_require__(122); + module.exports = __webpack_require__(125); } @@ -527,19 +527,31 @@ if (typeof process === 'undefined' || process.type === 'renderer') { /* 29 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(129), __esModule: true }; +module.exports = { "default": __webpack_require__(132), __esModule: true }; /***/ }), /* 30 */ +/***/ (function(module, exports) { + +module.exports = require("http"); + +/***/ }), +/* 31 */ +/***/ (function(module, exports) { + +module.exports = require("url"); + +/***/ }), +/* 32 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const Limiter = __webpack_require__(135); -const zlib = __webpack_require__(136); +const Limiter = __webpack_require__(137); +const zlib = __webpack_require__(74); -const bufferUtil = __webpack_require__(47); +const bufferUtil = __webpack_require__(50); const constants = __webpack_require__(17); const TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]); @@ -1053,7 +1065,13 @@ function inflateOnError (err) { /***/ }), -/* 31 */ +/* 33 */ +/***/ (function(module, exports) { + +module.exports = require("stream"); + +/***/ }), +/* 34 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(6); @@ -1066,7 +1084,7 @@ module.exports = function (it) { /***/ }), -/* 32 */ +/* 35 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) @@ -1084,7 +1102,7 @@ module.exports = function (it, S) { /***/ }), -/* 33 */ +/* 36 */ /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) @@ -1095,7 +1113,7 @@ module.exports = function (it) { /***/ }), -/* 34 */ +/* 37 */ /***/ (function(module, exports) { // 7.1.4 ToInteger @@ -1107,10 +1125,10 @@ module.exports = function (it) { /***/ }), -/* 35 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { -var shared = __webpack_require__(36)('keys'); +var shared = __webpack_require__(39)('keys'); var uid = __webpack_require__(20); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); @@ -1118,7 +1136,7 @@ module.exports = function (key) { /***/ }), -/* 36 */ +/* 39 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(1); @@ -1130,7 +1148,7 @@ module.exports = function (key) { /***/ }), -/* 37 */ +/* 40 */ /***/ (function(module, exports) { // IE 8- don't enum bug keys @@ -1140,34 +1158,34 @@ module.exports = ( /***/ }), -/* 38 */ +/* 41 */ /***/ (function(module, exports) { exports.f = Object.getOwnPropertySymbols; /***/ }), -/* 39 */ +/* 42 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = __webpack_require__(4); -var dPs = __webpack_require__(95); -var enumBugKeys = __webpack_require__(37); -var IE_PROTO = __webpack_require__(35)('IE_PROTO'); +var dPs = __webpack_require__(98); +var enumBugKeys = __webpack_require__(40); +var IE_PROTO = __webpack_require__(38)('IE_PROTO'); var Empty = function () { /* empty */ }; var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function () { // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(31)('iframe'); + var iframe = __webpack_require__(34)('iframe'); var i = enumBugKeys.length; var lt = '<'; var gt = '>'; var iframeDocument; iframe.style.display = 'none'; - __webpack_require__(60).appendChild(iframe); + __webpack_require__(63).appendChild(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url // createDict = iframe.contentWindow.Object; // html.removeChild(iframe); @@ -1194,20 +1212,20 @@ module.exports = Object.create || function create(O, Properties) { /***/ }), -/* 40 */ +/* 43 */ /***/ (function(module, exports, __webpack_require__) { exports.f = __webpack_require__(2); /***/ }), -/* 41 */ +/* 44 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(1); var core = __webpack_require__(0); var LIBRARY = __webpack_require__(24); -var wksExt = __webpack_require__(40); +var wksExt = __webpack_require__(43); var defineProperty = __webpack_require__(5).f; module.exports = function (name) { var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); @@ -1216,13 +1234,13 @@ module.exports = function (name) { /***/ }), -/* 42 */ +/* 45 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(108), __esModule: true }; +module.exports = { "default": __webpack_require__(111), __esModule: true }; /***/ }), -/* 43 */ +/* 46 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1245,7 +1263,7 @@ exports.default = function (self, call) { }; /***/ }), -/* 44 */ +/* 47 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1253,11 +1271,11 @@ exports.default = function (self, call) { exports.__esModule = true; -var _setPrototypeOf = __webpack_require__(113); +var _setPrototypeOf = __webpack_require__(116); var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); -var _create = __webpack_require__(117); +var _create = __webpack_require__(120); var _create2 = _interopRequireDefault(_create); @@ -1284,7 +1302,7 @@ exports.default = function (subClass, superClass) { }; /***/ }), -/* 45 */ +/* 48 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1627,13 +1645,13 @@ if (true) { /***/ }), -/* 46 */ +/* 49 */ /***/ (function(module, exports) { module.exports = require("crypto"); /***/ }), -/* 47 */ +/* 50 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1701,14 +1719,14 @@ try { /***/ }), -/* 48 */ +/* 51 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(142); /***/ }), -/* 49 */ +/* 52 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1752,7 +1770,7 @@ exports.default = function (fn) { }; /***/ }), -/* 50 */ +/* 53 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1777,22 +1795,22 @@ module.exports.f = function (C) { /***/ }), -/* 51 */ +/* 54 */ /***/ (function(module, exports, __webpack_require__) { module.exports = !__webpack_require__(7) && !__webpack_require__(11)(function () { - return Object.defineProperty(__webpack_require__(31)('div'), 'a', { get: function () { return 7; } }).a != 7; + return Object.defineProperty(__webpack_require__(34)('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), -/* 52 */ +/* 55 */ /***/ (function(module, exports, __webpack_require__) { var has = __webpack_require__(9); var toIObject = __webpack_require__(12); -var arrayIndexOf = __webpack_require__(86)(false); -var IE_PROTO = __webpack_require__(35)('IE_PROTO'); +var arrayIndexOf = __webpack_require__(89)(false); +var IE_PROTO = __webpack_require__(38)('IE_PROTO'); module.exports = function (object, names) { var O = toIObject(object); @@ -1809,7 +1827,7 @@ module.exports = function (object, names) { /***/ }), -/* 53 */ +/* 56 */ /***/ (function(module, exports, __webpack_require__) { // fallback for non-array-like ES3 and non-enumerable old V8 strings @@ -1821,11 +1839,11 @@ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { /***/ }), -/* 54 */ +/* 57 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.15 ToLength -var toInteger = __webpack_require__(34); +var toInteger = __webpack_require__(37); var min = Math.min; module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 @@ -1833,13 +1851,13 @@ module.exports = function (it) { /***/ }), -/* 55 */ +/* 58 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(89), __esModule: true }; +module.exports = { "default": __webpack_require__(92), __esModule: true }; /***/ }), -/* 56 */ +/* 59 */ /***/ (function(module, exports, __webpack_require__) { // most Object methods by ES6 should accept primitives @@ -1855,15 +1873,15 @@ module.exports = function (KEY, exec) { /***/ }), -/* 57 */ +/* 60 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var $at = __webpack_require__(93)(true); +var $at = __webpack_require__(96)(true); // 21.1.3.27 String.prototype[@@iterator]() -__webpack_require__(58)(String, 'String', function (iterated) { +__webpack_require__(61)(String, 'String', function (iterated) { this._t = String(iterated); // target this._i = 0; // next index // 21.1.5.2.1 %StringIteratorPrototype%.next() @@ -1879,19 +1897,19 @@ __webpack_require__(58)(String, 'String', function (iterated) { /***/ }), -/* 58 */ +/* 61 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var LIBRARY = __webpack_require__(24); var $export = __webpack_require__(3); -var redefine = __webpack_require__(59); +var redefine = __webpack_require__(62); var hide = __webpack_require__(8); var Iterators = __webpack_require__(16); -var $iterCreate = __webpack_require__(94); +var $iterCreate = __webpack_require__(97); var setToStringTag = __webpack_require__(25); -var getPrototypeOf = __webpack_require__(61); +var getPrototypeOf = __webpack_require__(64); var ITERATOR = __webpack_require__(2)('iterator'); var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` var FF_ITERATOR = '@@iterator'; @@ -1955,14 +1973,14 @@ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE /***/ }), -/* 59 */ +/* 62 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(8); /***/ }), -/* 60 */ +/* 63 */ /***/ (function(module, exports, __webpack_require__) { var document = __webpack_require__(1).document; @@ -1970,13 +1988,13 @@ module.exports = document && document.documentElement; /***/ }), -/* 61 */ +/* 64 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = __webpack_require__(9); var toObject = __webpack_require__(22); -var IE_PROTO = __webpack_require__(35)('IE_PROTO'); +var IE_PROTO = __webpack_require__(38)('IE_PROTO'); var ObjectProto = Object.prototype; module.exports = Object.getPrototypeOf || function (O) { @@ -1989,10 +2007,10 @@ module.exports = Object.getPrototypeOf || function (O) { /***/ }), -/* 62 */ +/* 65 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(96); +__webpack_require__(99); var global = __webpack_require__(1); var hide = __webpack_require__(8); var Iterators = __webpack_require__(16); @@ -2014,12 +2032,12 @@ for (var i = 0; i < DOMIterables.length; i++) { /***/ }), -/* 63 */ +/* 66 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) -var $keys = __webpack_require__(52); -var hiddenKeys = __webpack_require__(37).concat('length', 'prototype'); +var $keys = __webpack_require__(55); +var hiddenKeys = __webpack_require__(40).concat('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); @@ -2027,15 +2045,15 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { /***/ }), -/* 64 */ +/* 67 */ /***/ (function(module, exports, __webpack_require__) { var pIE = __webpack_require__(21); var createDesc = __webpack_require__(19); var toIObject = __webpack_require__(12); -var toPrimitive = __webpack_require__(32); +var toPrimitive = __webpack_require__(35); var has = __webpack_require__(9); -var IE8_DOM_DEFINE = __webpack_require__(51); +var IE8_DOM_DEFINE = __webpack_require__(54); var gOPD = Object.getOwnPropertyDescriptor; exports.f = __webpack_require__(7) ? gOPD : function getOwnPropertyDescriptor(O, P) { @@ -2049,13 +2067,13 @@ exports.f = __webpack_require__(7) ? gOPD : function getOwnPropertyDescriptor(O, /***/ }), -/* 65 */ +/* 68 */ /***/ (function(module, exports) { /***/ }), -/* 66 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { @@ -2071,7 +2089,7 @@ exports.coerce = coerce; exports.disable = disable; exports.enable = enable; exports.enabled = enabled; -exports.humanize = __webpack_require__(121); +exports.humanize = __webpack_require__(124); /** * Active `debug` instances. @@ -2286,7 +2304,7 @@ function coerce(val) { /***/ }), -/* 67 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2296,7 +2314,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _keys = __webpack_require__(55); +var _keys = __webpack_require__(58); var _keys2 = _interopRequireDefault(_keys); @@ -2370,26 +2388,26 @@ function isByeMessage(message) { } /***/ }), -/* 68 */ +/* 71 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const EventEmitter = __webpack_require__(69); -const crypto = __webpack_require__(46); -const https = __webpack_require__(132); -const http = __webpack_require__(70); -const net = __webpack_require__(133); -const tls = __webpack_require__(134); -const url = __webpack_require__(71); +const EventEmitter = __webpack_require__(72); +const crypto = __webpack_require__(49); +const https = __webpack_require__(73); +const http = __webpack_require__(30); +const net = __webpack_require__(135); +const tls = __webpack_require__(136); +const url = __webpack_require__(31); -const PerMessageDeflate = __webpack_require__(30); -const EventTarget = __webpack_require__(137); -const extension = __webpack_require__(72); +const PerMessageDeflate = __webpack_require__(32); +const EventTarget = __webpack_require__(138); +const extension = __webpack_require__(75); const constants = __webpack_require__(17); -const Receiver = __webpack_require__(73); -const Sender = __webpack_require__(75); +const Receiver = __webpack_require__(76); +const Sender = __webpack_require__(78); const readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED']; const kWebSocket = constants.kWebSocket; @@ -3195,25 +3213,25 @@ function socketOnError () { /***/ }), -/* 69 */ +/* 72 */ /***/ (function(module, exports) { module.exports = require("events"); /***/ }), -/* 70 */ +/* 73 */ /***/ (function(module, exports) { -module.exports = require("http"); +module.exports = require("https"); /***/ }), -/* 71 */ +/* 74 */ /***/ (function(module, exports) { -module.exports = require("url"); +module.exports = require("zlib"); /***/ }), -/* 72 */ +/* 75 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3431,17 +3449,17 @@ module.exports = { format, parse }; /***/ }), -/* 73 */ +/* 76 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stream = __webpack_require__(138); +const stream = __webpack_require__(33); -const PerMessageDeflate = __webpack_require__(30); -const bufferUtil = __webpack_require__(47); -const validation = __webpack_require__(74); +const PerMessageDeflate = __webpack_require__(32); +const bufferUtil = __webpack_require__(50); +const validation = __webpack_require__(77); const constants = __webpack_require__(17); const GET_INFO = 0; @@ -3951,7 +3969,7 @@ function toArrayBuffer (buf) { /***/ }), -/* 74 */ +/* 77 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3987,17 +4005,17 @@ exports.isValidStatusCode = (code) => { /***/ }), -/* 75 */ +/* 78 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const crypto = __webpack_require__(46); +const crypto = __webpack_require__(49); -const PerMessageDeflate = __webpack_require__(30); -const bufferUtil = __webpack_require__(47); -const validation = __webpack_require__(74); +const PerMessageDeflate = __webpack_require__(32); +const bufferUtil = __webpack_require__(50); +const validation = __webpack_require__(77); const constants = __webpack_require__(17); /** @@ -4395,7 +4413,7 @@ function viewToBuffer (view) { /***/ }), -/* 76 */ +/* 79 */ /***/ (function(module, exports, __webpack_require__) { // getting tag from 19.1.3.6 Object.prototype.toString() @@ -4424,7 +4442,7 @@ module.exports = function (it) { /***/ }), -/* 77 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { // 7.3.20 SpeciesConstructor(O, defaultConstructor) @@ -4439,13 +4457,13 @@ module.exports = function (O, D) { /***/ }), -/* 78 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { var ctx = __webpack_require__(13); var invoke = __webpack_require__(152); -var html = __webpack_require__(60); -var cel = __webpack_require__(31); +var html = __webpack_require__(63); +var cel = __webpack_require__(34); var global = __webpack_require__(1); var process = global.process; var setTask = global.setImmediate; @@ -4529,7 +4547,7 @@ module.exports = { /***/ }), -/* 79 */ +/* 82 */ /***/ (function(module, exports) { module.exports = function (exec) { @@ -4542,12 +4560,12 @@ module.exports = function (exec) { /***/ }), -/* 80 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { var anObject = __webpack_require__(4); var isObject = __webpack_require__(6); -var newPromiseCapability = __webpack_require__(50); +var newPromiseCapability = __webpack_require__(53); module.exports = function (C, x) { anObject(C); @@ -4560,7 +4578,7 @@ module.exports = function (C, x) { /***/ }), -/* 81 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4571,7 +4589,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.authFetch = undefined; -var _regenerator = __webpack_require__(48); +var _regenerator = __webpack_require__(51); var _regenerator2 = _interopRequireDefault(_regenerator); @@ -4579,7 +4597,7 @@ var _assign = __webpack_require__(10); var _assign2 = _interopRequireDefault(_assign); -var _asyncToGenerator2 = __webpack_require__(49); +var _asyncToGenerator2 = __webpack_require__(52); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); @@ -4597,7 +4615,7 @@ var authFetch = exports.authFetch = function () { } : undefined }); _context.next = 3; - return fetch(url, req); + return (0, _nodeFetch2.default)(url, req); case 3: res = _context.sent; @@ -4648,10 +4666,14 @@ var authFetch = exports.authFetch = function () { }; }(); +var _nodeFetch = __webpack_require__(161); + +var _nodeFetch2 = _interopRequireDefault(_nodeFetch); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), -/* 82 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4665,7 +4687,7 @@ var _assign = __webpack_require__(10); var _assign2 = _interopRequireDefault(_assign); -var _StreamrClient = __webpack_require__(88); +var _StreamrClient = __webpack_require__(91); var _StreamrClient2 = _interopRequireDefault(_StreamrClient); @@ -4682,35 +4704,35 @@ exports.default = _StreamrClient2.default; module.exports = exports['default']; /***/ }), -/* 83 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(84); +__webpack_require__(87); module.exports = __webpack_require__(0).Object.assign; /***/ }), -/* 84 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.3.1 Object.assign(target, source) var $export = __webpack_require__(3); -$export($export.S + $export.F, 'Object', { assign: __webpack_require__(85) }); +$export($export.S + $export.F, 'Object', { assign: __webpack_require__(88) }); /***/ }), -/* 85 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; // 19.1.2.1 Object.assign(target, source, ...) var getKeys = __webpack_require__(14); -var gOPS = __webpack_require__(38); +var gOPS = __webpack_require__(41); var pIE = __webpack_require__(21); var toObject = __webpack_require__(22); -var IObject = __webpack_require__(53); +var IObject = __webpack_require__(56); var $assign = Object.assign; // should work with symbols and should have deterministic property order (V8 bug) @@ -4741,14 +4763,14 @@ module.exports = !$assign || __webpack_require__(11)(function () { /***/ }), -/* 86 */ +/* 89 */ /***/ (function(module, exports, __webpack_require__) { // false -> Array#indexOf // true -> Array#includes var toIObject = __webpack_require__(12); -var toLength = __webpack_require__(54); -var toAbsoluteIndex = __webpack_require__(87); +var toLength = __webpack_require__(57); +var toAbsoluteIndex = __webpack_require__(90); module.exports = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIObject($this); @@ -4770,10 +4792,10 @@ module.exports = function (IS_INCLUDES) { /***/ }), -/* 87 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { -var toInteger = __webpack_require__(34); +var toInteger = __webpack_require__(37); var max = Math.max; var min = Math.min; module.exports = function (index, length) { @@ -4783,7 +4805,7 @@ module.exports = function (index, length) { /***/ }), -/* 88 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4793,7 +4815,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _keys = __webpack_require__(55); +var _keys = __webpack_require__(58); var _keys2 = _interopRequireDefault(_keys); @@ -4805,7 +4827,7 @@ var _assign = __webpack_require__(10); var _assign2 = _interopRequireDefault(_assign); -var _getPrototypeOf = __webpack_require__(42); +var _getPrototypeOf = __webpack_require__(45); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); @@ -4817,15 +4839,15 @@ var _createClass2 = __webpack_require__(27); var _createClass3 = _interopRequireDefault(_createClass2); -var _possibleConstructorReturn2 = __webpack_require__(43); +var _possibleConstructorReturn2 = __webpack_require__(46); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); -var _inherits2 = __webpack_require__(44); +var _inherits2 = __webpack_require__(47); var _inherits3 = _interopRequireDefault(_inherits2); -var _eventemitter = __webpack_require__(45); +var _eventemitter = __webpack_require__(48); var _eventemitter2 = _interopRequireDefault(_eventemitter); @@ -4833,11 +4855,11 @@ var _debug = __webpack_require__(28); var _debug2 = _interopRequireDefault(_debug); -var _Subscription = __webpack_require__(128); +var _Subscription = __webpack_require__(131); var _Subscription2 = _interopRequireDefault(_Subscription); -var _Connection = __webpack_require__(130); +var _Connection = __webpack_require__(133); var _Connection2 = _interopRequireDefault(_Connection); @@ -5254,22 +5276,22 @@ exports.default = StreamrClient; module.exports = exports['default']; /***/ }), -/* 89 */ +/* 92 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(90); +__webpack_require__(93); module.exports = __webpack_require__(0).Object.keys; /***/ }), -/* 90 */ +/* 93 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.14 Object.keys(O) var toObject = __webpack_require__(22); var $keys = __webpack_require__(14); -__webpack_require__(56)('keys', function () { +__webpack_require__(59)('keys', function () { return function keys(it) { return $keys(toObject(it)); }; @@ -5277,26 +5299,26 @@ __webpack_require__(56)('keys', function () { /***/ }), -/* 91 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(92), __esModule: true }; +module.exports = { "default": __webpack_require__(95), __esModule: true }; /***/ }), -/* 92 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(57); -__webpack_require__(62); -module.exports = __webpack_require__(40).f('iterator'); +__webpack_require__(60); +__webpack_require__(65); +module.exports = __webpack_require__(43).f('iterator'); /***/ }), -/* 93 */ +/* 96 */ /***/ (function(module, exports, __webpack_require__) { -var toInteger = __webpack_require__(34); -var defined = __webpack_require__(33); +var toInteger = __webpack_require__(37); +var defined = __webpack_require__(36); // true -> String#at // false -> String#codePointAt module.exports = function (TO_STRING) { @@ -5315,12 +5337,12 @@ module.exports = function (TO_STRING) { /***/ }), -/* 94 */ +/* 97 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var create = __webpack_require__(39); +var create = __webpack_require__(42); var descriptor = __webpack_require__(19); var setToStringTag = __webpack_require__(25); var IteratorPrototype = {}; @@ -5335,7 +5357,7 @@ module.exports = function (Constructor, NAME, next) { /***/ }), -/* 95 */ +/* 98 */ /***/ (function(module, exports, __webpack_require__) { var dP = __webpack_require__(5); @@ -5354,13 +5376,13 @@ module.exports = __webpack_require__(7) ? Object.defineProperties : function def /***/ }), -/* 96 */ +/* 99 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var addToUnscopables = __webpack_require__(97); -var step = __webpack_require__(98); +var addToUnscopables = __webpack_require__(100); +var step = __webpack_require__(101); var Iterators = __webpack_require__(16); var toIObject = __webpack_require__(12); @@ -5368,7 +5390,7 @@ var toIObject = __webpack_require__(12); // 22.1.3.13 Array.prototype.keys() // 22.1.3.29 Array.prototype.values() // 22.1.3.30 Array.prototype[@@iterator]() -module.exports = __webpack_require__(58)(Array, 'Array', function (iterated, kind) { +module.exports = __webpack_require__(61)(Array, 'Array', function (iterated, kind) { this._t = toIObject(iterated); // target this._i = 0; // next index this._k = kind; // kind @@ -5395,14 +5417,14 @@ addToUnscopables('entries'); /***/ }), -/* 97 */ +/* 100 */ /***/ (function(module, exports) { module.exports = function () { /* empty */ }; /***/ }), -/* 98 */ +/* 101 */ /***/ (function(module, exports) { module.exports = function (done, value) { @@ -5411,24 +5433,24 @@ module.exports = function (done, value) { /***/ }), -/* 99 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(100), __esModule: true }; +module.exports = { "default": __webpack_require__(103), __esModule: true }; /***/ }), -/* 100 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(101); -__webpack_require__(65); -__webpack_require__(106); -__webpack_require__(107); +__webpack_require__(104); +__webpack_require__(68); +__webpack_require__(109); +__webpack_require__(110); module.exports = __webpack_require__(0).Symbol; /***/ }), -/* 101 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5438,25 +5460,25 @@ var global = __webpack_require__(1); var has = __webpack_require__(9); var DESCRIPTORS = __webpack_require__(7); var $export = __webpack_require__(3); -var redefine = __webpack_require__(59); -var META = __webpack_require__(102).KEY; +var redefine = __webpack_require__(62); +var META = __webpack_require__(105).KEY; var $fails = __webpack_require__(11); -var shared = __webpack_require__(36); +var shared = __webpack_require__(39); var setToStringTag = __webpack_require__(25); var uid = __webpack_require__(20); var wks = __webpack_require__(2); -var wksExt = __webpack_require__(40); -var wksDefine = __webpack_require__(41); -var enumKeys = __webpack_require__(103); -var isArray = __webpack_require__(104); +var wksExt = __webpack_require__(43); +var wksDefine = __webpack_require__(44); +var enumKeys = __webpack_require__(106); +var isArray = __webpack_require__(107); var anObject = __webpack_require__(4); var isObject = __webpack_require__(6); var toIObject = __webpack_require__(12); -var toPrimitive = __webpack_require__(32); +var toPrimitive = __webpack_require__(35); var createDesc = __webpack_require__(19); -var _create = __webpack_require__(39); -var gOPNExt = __webpack_require__(105); -var $GOPD = __webpack_require__(64); +var _create = __webpack_require__(42); +var gOPNExt = __webpack_require__(108); +var $GOPD = __webpack_require__(67); var $DP = __webpack_require__(5); var $keys = __webpack_require__(14); var gOPD = $GOPD.f; @@ -5581,9 +5603,9 @@ if (!USE_NATIVE) { $GOPD.f = $getOwnPropertyDescriptor; $DP.f = $defineProperty; - __webpack_require__(63).f = gOPNExt.f = $getOwnPropertyNames; + __webpack_require__(66).f = gOPNExt.f = $getOwnPropertyNames; __webpack_require__(21).f = $propertyIsEnumerable; - __webpack_require__(38).f = $getOwnPropertySymbols; + __webpack_require__(41).f = $getOwnPropertySymbols; if (DESCRIPTORS && !__webpack_require__(24)) { redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); @@ -5669,7 +5691,7 @@ setToStringTag(global.JSON, 'JSON', true); /***/ }), -/* 102 */ +/* 105 */ /***/ (function(module, exports, __webpack_require__) { var META = __webpack_require__(20)('meta'); @@ -5728,12 +5750,12 @@ var meta = module.exports = { /***/ }), -/* 103 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { // all enumerable object keys, includes symbols var getKeys = __webpack_require__(14); -var gOPS = __webpack_require__(38); +var gOPS = __webpack_require__(41); var pIE = __webpack_require__(21); module.exports = function (it) { var result = getKeys(it); @@ -5749,7 +5771,7 @@ module.exports = function (it) { /***/ }), -/* 104 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { // 7.2.2 IsArray(argument) @@ -5760,12 +5782,12 @@ module.exports = Array.isArray || function isArray(arg) { /***/ }), -/* 105 */ +/* 108 */ /***/ (function(module, exports, __webpack_require__) { // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window var toIObject = __webpack_require__(12); -var gOPN = __webpack_require__(63).f; +var gOPN = __webpack_require__(66).f; var toString = {}.toString; var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames @@ -5785,36 +5807,36 @@ module.exports.f = function getOwnPropertyNames(it) { /***/ }), -/* 106 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(41)('asyncIterator'); +__webpack_require__(44)('asyncIterator'); /***/ }), -/* 107 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(41)('observable'); +__webpack_require__(44)('observable'); /***/ }), -/* 108 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(109); +__webpack_require__(112); module.exports = __webpack_require__(0).Object.getPrototypeOf; /***/ }), -/* 109 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.9 Object.getPrototypeOf(O) var toObject = __webpack_require__(22); -var $getPrototypeOf = __webpack_require__(61); +var $getPrototypeOf = __webpack_require__(64); -__webpack_require__(56)('getPrototypeOf', function () { +__webpack_require__(59)('getPrototypeOf', function () { return function getPrototypeOf(it) { return $getPrototypeOf(toObject(it)); }; @@ -5822,16 +5844,16 @@ __webpack_require__(56)('getPrototypeOf', function () { /***/ }), -/* 110 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(111), __esModule: true }; +module.exports = { "default": __webpack_require__(114), __esModule: true }; /***/ }), -/* 111 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(112); +__webpack_require__(115); var $Object = __webpack_require__(0).Object; module.exports = function defineProperty(it, key, desc) { return $Object.defineProperty(it, key, desc); @@ -5839,7 +5861,7 @@ module.exports = function defineProperty(it, key, desc) { /***/ }), -/* 112 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(3); @@ -5848,30 +5870,30 @@ $export($export.S + $export.F * !__webpack_require__(7), 'Object', { definePrope /***/ }), -/* 113 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(114), __esModule: true }; +module.exports = { "default": __webpack_require__(117), __esModule: true }; /***/ }), -/* 114 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(115); +__webpack_require__(118); module.exports = __webpack_require__(0).Object.setPrototypeOf; /***/ }), -/* 115 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.3.19 Object.setPrototypeOf(O, proto) var $export = __webpack_require__(3); -$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(116).set }); +$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(119).set }); /***/ }), -/* 116 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { // Works with __proto__ only. Old v8 can't work with null proto objects. @@ -5886,7 +5908,7 @@ module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line function (test, buggy, set) { try { - set = __webpack_require__(13)(Function.call, __webpack_require__(64).f(Object.prototype, '__proto__').set, 2); + set = __webpack_require__(13)(Function.call, __webpack_require__(67).f(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); } catch (e) { buggy = true; } @@ -5902,16 +5924,16 @@ module.exports = { /***/ }), -/* 117 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = { "default": __webpack_require__(118), __esModule: true }; +module.exports = { "default": __webpack_require__(121), __esModule: true }; /***/ }), -/* 118 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(119); +__webpack_require__(122); var $Object = __webpack_require__(0).Object; module.exports = function create(P, D) { return $Object.create(P, D); @@ -5919,16 +5941,16 @@ module.exports = function create(P, D) { /***/ }), -/* 119 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { var $export = __webpack_require__(3); // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -$export($export.S, 'Object', { create: __webpack_require__(39) }); +$export($export.S, 'Object', { create: __webpack_require__(42) }); /***/ }), -/* 120 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -5937,7 +5959,7 @@ $export($export.S, 'Object', { create: __webpack_require__(39) }); * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(66); +exports = module.exports = __webpack_require__(69); exports.log = log; exports.formatArgs = formatArgs; exports.save = save; @@ -6129,7 +6151,7 @@ function localstorage() { /***/ }), -/* 121 */ +/* 124 */ /***/ (function(module, exports) { /** @@ -6287,15 +6309,15 @@ function plural(ms, n, name) { /***/ }), -/* 122 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { /** * Module dependencies. */ -var tty = __webpack_require__(123); -var util = __webpack_require__(124); +var tty = __webpack_require__(126); +var util = __webpack_require__(127); /** * This is the Node.js implementation of `debug()`. @@ -6303,7 +6325,7 @@ var util = __webpack_require__(124); * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(66); +exports = module.exports = __webpack_require__(69); exports.init = init; exports.log = log; exports.formatArgs = formatArgs; @@ -6318,7 +6340,7 @@ exports.useColors = useColors; exports.colors = [ 6, 2, 3, 4, 5, 1 ]; try { - var supportsColor = __webpack_require__(125); + var supportsColor = __webpack_require__(128); if (supportsColor && supportsColor.level >= 2) { exports.colors = [ 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, @@ -6479,25 +6501,25 @@ exports.enable(load()); /***/ }), -/* 123 */ +/* 126 */ /***/ (function(module, exports) { module.exports = require("tty"); /***/ }), -/* 124 */ +/* 127 */ /***/ (function(module, exports) { module.exports = require("util"); /***/ }), -/* 125 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const os = __webpack_require__(126); -const hasFlag = __webpack_require__(127); +const os = __webpack_require__(129); +const hasFlag = __webpack_require__(130); const env = process.env; @@ -6613,13 +6635,13 @@ module.exports = process && support(supportLevel); /***/ }), -/* 126 */ +/* 129 */ /***/ (function(module, exports) { module.exports = require("os"); /***/ }), -/* 127 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6636,7 +6658,7 @@ module.exports = function (flag, argv) { /***/ }), -/* 128 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6650,7 +6672,7 @@ var _stringify = __webpack_require__(29); var _stringify2 = _interopRequireDefault(_stringify); -var _getPrototypeOf = __webpack_require__(42); +var _getPrototypeOf = __webpack_require__(45); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); @@ -6662,15 +6684,15 @@ var _createClass2 = __webpack_require__(27); var _createClass3 = _interopRequireDefault(_createClass2); -var _possibleConstructorReturn2 = __webpack_require__(43); +var _possibleConstructorReturn2 = __webpack_require__(46); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); -var _inherits2 = __webpack_require__(44); +var _inherits2 = __webpack_require__(47); var _inherits3 = _interopRequireDefault(_inherits2); -var _eventemitter = __webpack_require__(45); +var _eventemitter = __webpack_require__(48); var _eventemitter2 = _interopRequireDefault(_eventemitter); @@ -6678,7 +6700,7 @@ var _debug = __webpack_require__(28); var _debug2 = _interopRequireDefault(_debug); -var _Protocol = __webpack_require__(67); +var _Protocol = __webpack_require__(70); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -6895,7 +6917,7 @@ exports.default = Subscription; module.exports = exports['default']; /***/ }), -/* 129 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { var core = __webpack_require__(0); @@ -6906,7 +6928,7 @@ module.exports = function stringify(it) { // eslint-disable-line no-unused-vars /***/ }), -/* 130 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6920,7 +6942,7 @@ var _stringify = __webpack_require__(29); var _stringify2 = _interopRequireDefault(_stringify); -var _getPrototypeOf = __webpack_require__(42); +var _getPrototypeOf = __webpack_require__(45); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); @@ -6932,15 +6954,15 @@ var _createClass2 = __webpack_require__(27); var _createClass3 = _interopRequireDefault(_createClass2); -var _possibleConstructorReturn2 = __webpack_require__(43); +var _possibleConstructorReturn2 = __webpack_require__(46); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); -var _inherits2 = __webpack_require__(44); +var _inherits2 = __webpack_require__(47); var _inherits3 = _interopRequireDefault(_inherits2); -var _eventemitter = __webpack_require__(45); +var _eventemitter = __webpack_require__(48); var _eventemitter2 = _interopRequireDefault(_eventemitter); @@ -6948,11 +6970,11 @@ var _debug = __webpack_require__(28); var _debug2 = _interopRequireDefault(_debug); -var _ws = __webpack_require__(131); +var _ws = __webpack_require__(134); var _ws2 = _interopRequireDefault(_ws); -var _Protocol = __webpack_require__(67); +var _Protocol = __webpack_require__(70); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -7039,41 +7061,35 @@ exports.default = Connection; module.exports = exports['default']; /***/ }), -/* 131 */ +/* 134 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const WebSocket = __webpack_require__(68); +const WebSocket = __webpack_require__(71); WebSocket.Server = __webpack_require__(139); -WebSocket.Receiver = __webpack_require__(73); -WebSocket.Sender = __webpack_require__(75); +WebSocket.Receiver = __webpack_require__(76); +WebSocket.Sender = __webpack_require__(78); module.exports = WebSocket; /***/ }), -/* 132 */ -/***/ (function(module, exports) { - -module.exports = require("https"); - -/***/ }), -/* 133 */ +/* 135 */ /***/ (function(module, exports) { module.exports = require("net"); /***/ }), -/* 134 */ +/* 136 */ /***/ (function(module, exports) { module.exports = require("tls"); /***/ }), -/* 135 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -7147,14 +7163,8 @@ module.exports = Queue; /***/ }), -/* 136 */ -/***/ (function(module, exports) { - -module.exports = require("zlib"); - -/***/ }), -/* 137 */ -/***/ (function(module, exports, __webpack_require__) { +/* 138 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -7329,12 +7339,6 @@ const EventTarget = { module.exports = EventTarget; -/***/ }), -/* 138 */ -/***/ (function(module, exports) { - -module.exports = require("stream"); - /***/ }), /* 139 */ /***/ (function(module, exports, __webpack_require__) { @@ -7342,15 +7346,15 @@ module.exports = require("stream"); "use strict"; -const EventEmitter = __webpack_require__(69); -const crypto = __webpack_require__(46); -const http = __webpack_require__(70); -const url = __webpack_require__(71); +const EventEmitter = __webpack_require__(72); +const crypto = __webpack_require__(49); +const http = __webpack_require__(30); +const url = __webpack_require__(31); -const PerMessageDeflate = __webpack_require__(30); -const extension = __webpack_require__(72); +const PerMessageDeflate = __webpack_require__(32); +const extension = __webpack_require__(75); const constants = __webpack_require__(17); -const WebSocket = __webpack_require__(68); +const WebSocket = __webpack_require__(71); /** * Class representing a WebSocket server. @@ -7744,11 +7748,11 @@ var _stringify = __webpack_require__(29); var _stringify2 = _interopRequireDefault(_stringify); -var _regenerator = __webpack_require__(48); +var _regenerator = __webpack_require__(51); var _regenerator2 = _interopRequireDefault(_regenerator); -var _asyncToGenerator2 = __webpack_require__(49); +var _asyncToGenerator2 = __webpack_require__(52); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); @@ -7945,7 +7949,7 @@ var _Stream = __webpack_require__(160); var _Stream2 = _interopRequireDefault(_Stream); -var _utils = __webpack_require__(81); +var _utils = __webpack_require__(84); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -8733,9 +8737,9 @@ module.exports = { "default": __webpack_require__(145), __esModule: true }; /* 145 */ /***/ (function(module, exports, __webpack_require__) { +__webpack_require__(68); +__webpack_require__(60); __webpack_require__(65); -__webpack_require__(57); -__webpack_require__(62); __webpack_require__(146); __webpack_require__(157); __webpack_require__(158); @@ -8751,18 +8755,18 @@ module.exports = __webpack_require__(0).Promise; var LIBRARY = __webpack_require__(24); var global = __webpack_require__(1); var ctx = __webpack_require__(13); -var classof = __webpack_require__(76); +var classof = __webpack_require__(79); var $export = __webpack_require__(3); var isObject = __webpack_require__(6); var aFunction = __webpack_require__(18); var anInstance = __webpack_require__(147); var forOf = __webpack_require__(148); -var speciesConstructor = __webpack_require__(77); -var task = __webpack_require__(78).set; +var speciesConstructor = __webpack_require__(80); +var task = __webpack_require__(81).set; var microtask = __webpack_require__(153)(); -var newPromiseCapabilityModule = __webpack_require__(50); -var perform = __webpack_require__(79); -var promiseResolve = __webpack_require__(80); +var newPromiseCapabilityModule = __webpack_require__(53); +var perform = __webpack_require__(82); +var promiseResolve = __webpack_require__(83); var PROMISE = 'Promise'; var TypeError = global.TypeError; var process = global.process; @@ -9045,7 +9049,7 @@ var ctx = __webpack_require__(13); var call = __webpack_require__(149); var isArrayIter = __webpack_require__(150); var anObject = __webpack_require__(4); -var toLength = __webpack_require__(54); +var toLength = __webpack_require__(57); var getIterFn = __webpack_require__(151); var BREAK = {}; var RETURN = {}; @@ -9104,7 +9108,7 @@ module.exports = function (it) { /* 151 */ /***/ (function(module, exports, __webpack_require__) { -var classof = __webpack_require__(76); +var classof = __webpack_require__(79); var ITERATOR = __webpack_require__(2)('iterator'); var Iterators = __webpack_require__(16); module.exports = __webpack_require__(0).getIteratorMethod = function (it) { @@ -9141,7 +9145,7 @@ module.exports = function (fn, args, that) { /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(1); -var macrotask = __webpack_require__(78).set; +var macrotask = __webpack_require__(81).set; var Observer = global.MutationObserver || global.WebKitMutationObserver; var process = global.process; var Promise = global.Promise; @@ -9282,8 +9286,8 @@ module.exports = function (exec, skipClosing) { var $export = __webpack_require__(3); var core = __webpack_require__(0); var global = __webpack_require__(1); -var speciesConstructor = __webpack_require__(77); -var promiseResolve = __webpack_require__(80); +var speciesConstructor = __webpack_require__(80); +var promiseResolve = __webpack_require__(83); $export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { var C = speciesConstructor(this, core.Promise || global.Promise); @@ -9307,8 +9311,8 @@ $export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { // https://github.com/tc39/proposal-promise-try var $export = __webpack_require__(3); -var newPromiseCapability = __webpack_require__(50); -var perform = __webpack_require__(79); +var newPromiseCapability = __webpack_require__(53); +var perform = __webpack_require__(82); $export($export.S, 'Promise', { 'try': function (callbackfn) { var promiseCapability = newPromiseCapability.f(this); @@ -9339,11 +9343,11 @@ var _stringify = __webpack_require__(29); var _stringify2 = _interopRequireDefault(_stringify); -var _regenerator = __webpack_require__(48); +var _regenerator = __webpack_require__(51); var _regenerator2 = _interopRequireDefault(_regenerator); -var _asyncToGenerator2 = __webpack_require__(49); +var _asyncToGenerator2 = __webpack_require__(52); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); @@ -9359,7 +9363,7 @@ var _createClass2 = __webpack_require__(27); var _createClass3 = _interopRequireDefault(_createClass2); -var _utils = __webpack_require__(81); +var _utils = __webpack_require__(84); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -9538,6 +9542,1568 @@ var Stream = function () { exports.default = Stream; module.exports = exports['default']; +/***/ }), +/* 161 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Headers", function() { return Headers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Request", function() { return Request; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Response", function() { return Response; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FetchError", function() { return FetchError; }); +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js +// (MIT licensed) + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +/** + * body.js + * + * Body interface provides common methods for Request and Response + */ + +const Stream = __webpack_require__(33); + +var _require = __webpack_require__(33); + +const PassThrough = _require.PassThrough; + + +let convert; +try { + convert = __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module \"encoding\""); e.code = 'MODULE_NOT_FOUND'; throw e; }())).convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (typeof body === 'string') { + // body is string + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + } else if (body instanceof Blob) { + // body is blob + } else if (Buffer.isBuffer(body)) { + // body is buffer + } else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is array buffer + } else if (body instanceof Stream) { + // body is stream + } else { + // none of the above + // coerce to string + body = String(body); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + _this[INTERNALS].error = new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } + +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + // body is null + if (this.body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is string + if (typeof this.body === 'string') { + return Body.Promise.resolve(Buffer.from(this.body)); + } + + // body is blob + if (this.body instanceof Blob) { + return Body.Promise.resolve(this.body[BUFFER]); + } + + // body is buffer + if (Buffer.isBuffer(this.body)) { + return Body.Promise.resolve(this.body); + } + + // body is buffer + if (Object.prototype.toString.call(this.body) === '[object ArrayBuffer]') { + return Body.Promise.resolve(Buffer.from(this.body)); + } + + // istanbul ignore if: should never happen + if (!(this.body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream error, such as incorrect content-encoding + _this4.body.on('error', function (err) { + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + }); + + _this4.body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + _this4.body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) { + // no op + } else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +/** + * response.js + * + * Response class provides content decoding + */ + +var _require$1 = __webpack_require__(30); + +const STATUS_CODES = _require$1.STATUS_CODES; + + +const INTERNALS$1 = Symbol('Response internals'); + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers: new Headers(opts.headers) + }; + } + + get url() { + return this[INTERNALS$1].url; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * request.js + * + * Request class contains server only options + * + * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/. + */ + +var _require$2 = __webpack_require__(31); + +const format_url = _require$2.format; +const parse_url = _require$2.parse; + + +const INTERNALS$2 = Symbol('Request internals'); + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parse_url(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parse_url(`${input}`); + } + input = {}; + } else { + parsedURL = parse_url(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (init.body != null) { + const contentType = extractContentType(this); + if (contentType !== null && !headers.has('Content-Type')) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + if (!headers.has('Connection') && !request.agent) { + headers.set('Connection', 'close'); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent: request.agent + }); +} + +/** + * index.js + * + * a request API compatible with window.fetch + * + * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/. + */ + +const http = __webpack_require__(30); +const https = __webpack_require__(73); + +var _require$3 = __webpack_require__(33); + +const PassThrough$1 = _require$3.PassThrough; + +var _require2 = __webpack_require__(31); + +const resolve_url = _require2.resolve; + +const zlib = __webpack_require__(74); + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + + // send request + const req = send(options); + let reqTimeout; + + function finalize() { + req.abort(); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + finalize(); + }); + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + const locationURL = location === null ? null : resolve_url(request.url, location); + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + headers.set('Location', locationURL); + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body + }; + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + let body = res.pipe(new PassThrough$1()); + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + resolve(new Response(body, response_options)); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + resolve(new Response(body, response_options)); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + resolve(new Response(body, response_options)); + }); + return; + } + + // otherwise, use response as-is + resolve(new Response(body, response_options)); + }); + + writeToStream(req, request); + }); +} + +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// Needed for TypeScript. +fetch.default = fetch; + +// expose Promise +fetch.Promise = global.Promise; + +/* harmony default export */ __webpack_exports__["default"] = (fetch); + + + /***/ }) /******/ ]); }); diff --git a/dist/streamr-client.node.js.map b/dist/streamr-client.node.js.map index c10ba2fb3..c26415326 100644 --- a/dist/streamr-client.node.js.map +++ b/dist/streamr-client.node.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 2d60fa12822e6a2ddd22","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/ws/lib/constants.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/debug/src/index.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/ws/lib/permessage-deflate.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///external \"crypto\"","webpack:///./node_modules/ws/lib/buffer-util.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./src/Protocol.js","webpack:///./node_modules/ws/lib/websocket.js","webpack:///external \"events\"","webpack:///external \"http\"","webpack:///external \"url\"","webpack:///./node_modules/ws/lib/extension.js","webpack:///./node_modules/ws/lib/receiver.js","webpack:///./node_modules/ws/lib/validation.js","webpack:///./node_modules/ws/lib/sender.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/rest/utils.js","webpack:///./src/index.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/debug/src/node.js","webpack:///external \"tty\"","webpack:///external \"util\"","webpack:///./node_modules/supports-color/index.js","webpack:///external \"os\"","webpack:///./node_modules/has-flag/index.js","webpack:///./src/Subscription.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./src/Connection.js","webpack:///./node_modules/ws/index.js","webpack:///external \"https\"","webpack:///external \"net\"","webpack:///external \"tls\"","webpack:///./node_modules/async-limiter/index.js","webpack:///external \"zlib\"","webpack:///./node_modules/ws/lib/event-target.js","webpack:///external \"stream\"","webpack:///./node_modules/ws/lib/websocket-server.js","webpack:///./src/rest/AllEndpoints.js","webpack:///./src/rest/StreamEndpoints.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///external \"querystring\"","webpack:///./src/rest/domain/Stream.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","forEach","key","url","apiKey","opts","headers","Authorization","fetch","res","text","ok","status","authFetch","prototype","StreamrClient","options","restUrl","autoConnect","autoDisconnect","authKey","subsByStream","subById","connection","connected","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close","StreamEndpoints","endpoints","json","getStream","name","public","getStreamByName","description","method","body","createStream","getOrCreateStream","requestOptions","produceToStream","Stream","client","props","_client","getPermissions","permissions","find","permission","anonymous","operation"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;;ACJA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;AC1BD;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;ACTA,kBAAkB,yD;;;;;;;ACAlB;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,iBAAiB;AAC9B;AACA,aAAa,iBAAiB;AAC9B;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,IAAI;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,IAAI,KAAK,MAAM;AAC/D;AACA;AACA;AACA,WAAW;AACX;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA,SAAS;AACT,gDAAgD,IAAI;AACpD;;AAEA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA,wBAAwB,qCAAqC,aAAa;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACngBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA,kBAAkB,yD;;;;;;;ACAlB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AChCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA,mC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,SAAS;AAC3C,CAAC;AACD;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;;AAEA,oBAAoB;AACpB;;;;;;;AC5DA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL;AACA,E;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACpEA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;A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CA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD,kBAAkB,0BAA0B;AAC5C,iBAAiB,yBAAyB;AAC1C,eAAe,uBAAuB;;AAEtC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,uCAAuC,wBAAwB;AAC/D,gCAAgC,4BAA4B;AAC5D;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,SAAS;AAC7C;;AAEA;AACA;AACA;AACA;AACA,SAAS,0BAA0B,EAAE,iBAAiB;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,mBAAmB,GAAG,mBAAmB;AAC/D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,6DAA6D,eAAe;AAC5E,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,gCAAgC;AAC3C;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACjzBA,mC;;;;;;ACAA,iC;;;;;;ACAA,gC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,wBAAwB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO,4BAA4B;AACnC;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,EAAE;AACnE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,iEAAiE,EAAE;AACnE;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,EAAE,GAAG,EAAE,UAAU;AACtE,OAAO,UAAU;AACjB,KAAK;AACL,GAAG;AACH;;AAEA,kBAAkB;;;;;;;;AClNlB;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,mDAAmD,aAAa;AAChE;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,iDAAiD,aAAa;AAC9D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,0DAA0D,KAAK;AAC/D;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;AChgBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;AChZA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnFA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFCXO,iBAAyBqB,GAAzB,EAA8BC,MAA9B;AAAA,YAAsCC,IAAtC,uEAA6C,EAA7C;AAAA;AAAA;AAAA;AAAA;AAAA;AACCL,2BADD,GACO,s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,GAAR,CAAP;AACH;AACJ,iBALL;AAMH;;AAEDuB,gBAAImC,SAAJ,GAAgB,IAAhB;;AAEA,gBAAIY,UAAU,sBAAc,EAAd,EAAkBxD,OAAlB,EAA2BjB,aAA3B,EAA0C;AACpDX,sBAAM,QAD8C,EACpCU,QAAQ2B,IAAIE,QADwB,EACdM,WAAWR,IAAIgD,eADD,EACkBrD,SAASK,IAAIL,OAD/B,EACwCK,KAAKA,IAAIC;AADjD,aAA1C,CAAd;AAGA,iCAAM,oBAAN,EAA4B8C,OAA5B;AACA,iBAAKjD,UAAL,CAAgB6C,IAAhB,CAAqBI,OAArB;AACH;;;oCAEWlF,G,EAAK;AACb,iCAAMA,GAAN;AACA,iBAAK2D,IAAL,CAAU,OAAV,EAAmB3D,GAAnB;AACH;;;;;kBAvXgByB,a;;;;;;;ACNrB;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;;AAEA;AACA,2FAAkF,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;ACjCA,8BAA8B;;;;;;;ACA9B;AACA,UAAU;AACV;;;;;;;ACFA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;;;;;;;ACAA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,oEAAuE,2CAA4C;;;;;;;ACFnH,kBAAkB,yD;;;;;;ACAlB;AACA;;;;;;;ACDA;AACA;AACA,8BAA8B,+CAA8C;;;;;;;ACF5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,8BAA8B,kCAAsC;;;;;;;ACFpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;AClMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,2CAA2C,yBAAyB;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,IAAI;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,EAAE;AACnD,sCAAsC;;AAEtC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;A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ACA;AACA;;AAEA;;;;;;;AClEA,iC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;ACzKA,mC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,YAAY;AACzB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,iBAAiB;AAC9B,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kDAAkD;AACjF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,qBAAqB;AAClC,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B;;;;;;;ACttBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACpRD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACbA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;ACXH,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;IAEqBC,M;AAEjB,oBAAYC,MAAZ,EAAoBC,KAApB,EAA2B;AAAA;;AACvB,aAAKC,OAAL,GAAeF,MAAf;AACA,8BAAc,IAAd,EAAoBC,KAApB;AACH;;;;;;oBAEoBlH,M,uEAAS,KAAKmH,OAAL,CAAavG,OAAb,CAAqBZ,M;;;;;;uCAClC,sBAAU,KAAKmH,OAAL,CAAavG,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EAAiFtB,MAAjF,C;;;;;;;;;;;;;;;;;;;;;;;oBAGFA,M,uEAAS,KAAKmH,OAAL,CAAavG,OAAb,CAAqBZ,M;;;;;;;uCACjB,KAAKoH,cAAL,CAAoBpH,MAApB,C;;;AAApBqH,2C;kEACGA,YAAYC,IAAZ,CAAiB,UAACC,UAAD;AAAA,2CAAiBA,WAAWC,SAAX,IAAwBD,WAAWE,SAAX,KAAyB,MAAlE;AAAA,iCAAjB,MAAgGrI,S;;;;;;;;;;;;;;;;;;;;oBAG1FY,M,uEAAS,KAAKmH,OAAL,CAAavG,OAAb,CAAqBZ,M;;;;;;uCAC9B,sBAAU,KAAKmH,OAAL,CAAavG,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EACTtB,MADS,EAET;AACI0G,4CAAQ,MADZ;AAEIC,0CAAM,yBAAe;AACjBa,mDAAW,IADM;AAEjBC,mDAAW;AAFM,qCAAf;AAFV,iCAFS,C;;;;;;;;;;;;;;;;;;;;;;;oBAWEzH,M,uEAAS,KAAKmH,OAAL,CAAavG,OAAb,CAAqBZ,M;;;;;;uCAChC,sBAAU,KAAKmH,OAAL,CAAavG,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,eAAjE,EAAkFtB,MAAlF,C;;;;;;;;;;;;;;;;;;;;;;;oBAGJA,M,uEAAS,KAAKmH,OAAL,CAAavG,OAAb,CAAqBZ,M;;;;;;;uCACtB,sBAAU,KAAKY,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqC,KAAKS,EAApD,EACbtB,MADa,EAEb;AACI0G,4CAAQ,KADZ;AAEIC,0CAAM,yBAAe,IAAf;AAFV,iCAFa,C;;;AAAbP,oC;kEAMGA,OAAO,IAAIY,MAAJ,CAAW,KAAKG,OAAhB,EAAyBf,IAAzB,CAAP,GAAwChH,S;;;;;;;;;;;;;;;;;;;;kBAvClC4H,M","file":"streamr-client.node.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 82);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2d60fa12822e6a2ddd22","var core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 4\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 5\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 8\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 9\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 10\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 11\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 14\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 15\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 16\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'],\n GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',\n kStatusCode: Symbol('status-code'),\n kWebSocket: Symbol('websocket'),\n EMPTY_BUFFER: Buffer.alloc(0),\n NOOP: () => {}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/constants.js\n// module id = 17\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 18\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 19\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 20\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 21\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 22\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 23\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 24\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 26\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = 27\n// module chunks = 0","/**\n * Detect Electron renderer process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer') {\n module.exports = require('./browser.js');\n} else {\n module.exports = require('./node.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/index.js\n// module id = 28\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 29\n// module chunks = 0","'use strict';\n\nconst Limiter = require('async-limiter');\nconst zlib = require('zlib');\n\nconst bufferUtil = require('./buffer-util');\nconst constants = require('./constants');\n\nconst TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);\nconst EMPTY_BLOCK = Buffer.from([0x00]);\n\nconst kPerMessageDeflate = Symbol('permessage-deflate');\nconst kWriteInProgress = Symbol('write-in-progress');\nconst kPendingClose = Symbol('pending-close');\nconst kTotalLength = Symbol('total-length');\nconst kCallback = Symbol('callback');\nconst kBuffers = Symbol('buffers');\nconst kError = Symbol('error');\n\n//\n// We limit zlib concurrency, which prevents severe memory fragmentation\n// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913\n// and https://github.com/websockets/ws/issues/1202\n//\n// Intentionally global; it's the global thread pool that's an issue.\n//\nlet zlibLimiter;\n\n/**\n * permessage-deflate implementation.\n */\nclass PerMessageDeflate {\n /**\n * Creates a PerMessageDeflate instance.\n *\n * @param {Object} options Configuration options\n * @param {Boolean} options.serverNoContextTakeover Request/accept disabling\n * of server context takeover\n * @param {Boolean} options.clientNoContextTakeover Advertise/acknowledge\n * disabling of client context takeover\n * @param {(Boolean|Number)} options.serverMaxWindowBits Request/confirm the\n * use of a custom server window size\n * @param {(Boolean|Number)} options.clientMaxWindowBits Advertise support\n * for, or request, a custom client window size\n * @param {Object} options.zlibDeflateOptions Options to pass to zlib on deflate\n * @param {Object} options.zlibInflateOptions Options to pass to zlib on inflate\n * @param {Number} options.threshold Size (in bytes) below which messages\n * should not be compressed\n * @param {Number} options.concurrencyLimit The number of concurrent calls to\n * zlib\n * @param {Boolean} isServer Create the instance in either server or client\n * mode\n * @param {Number} maxPayload The maximum allowed message length\n */\n constructor (options, isServer, maxPayload) {\n this._maxPayload = maxPayload | 0;\n this._options = options || {};\n this._threshold = this._options.threshold !== undefined\n ? this._options.threshold\n : 1024;\n this._isServer = !!isServer;\n this._deflate = null;\n this._inflate = null;\n\n this.params = null;\n\n if (!zlibLimiter) {\n const concurrency = this._options.concurrencyLimit !== undefined\n ? this._options.concurrencyLimit\n : 10;\n zlibLimiter = new Limiter({ concurrency });\n }\n }\n\n /**\n * @type {String}\n */\n static get extensionName () {\n return 'permessage-deflate';\n }\n\n /**\n * Create an extension negotiation offer.\n *\n * @return {Object} Extension parameters\n * @public\n */\n offer () {\n const params = {};\n\n if (this._options.serverNoContextTakeover) {\n params.server_no_context_takeover = true;\n }\n if (this._options.clientNoContextTakeover) {\n params.client_no_context_takeover = true;\n }\n if (this._options.serverMaxWindowBits) {\n params.server_max_window_bits = this._options.serverMaxWindowBits;\n }\n if (this._options.clientMaxWindowBits) {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n } else if (this._options.clientMaxWindowBits == null) {\n params.client_max_window_bits = true;\n }\n\n return params;\n }\n\n /**\n * Accept an extension negotiation offer/response.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Object} Accepted configuration\n * @public\n */\n accept (configurations) {\n configurations = this.normalizeParams(configurations);\n\n this.params = this._isServer\n ? this.acceptAsServer(configurations)\n : this.acceptAsClient(configurations);\n\n return this.params;\n }\n\n /**\n * Releases all resources used by the extension.\n *\n * @public\n */\n cleanup () {\n if (this._inflate) {\n if (this._inflate[kWriteInProgress]) {\n this._inflate[kPendingClose] = true;\n } else {\n this._inflate.close();\n this._inflate = null;\n }\n }\n if (this._deflate) {\n if (this._deflate[kWriteInProgress]) {\n this._deflate[kPendingClose] = true;\n } else {\n this._deflate.close();\n this._deflate = null;\n }\n }\n }\n\n /**\n * Accept an extension negotiation offer.\n *\n * @param {Array} offers The extension negotiation offers\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsServer (offers) {\n const opts = this._options;\n const accepted = offers.find((params) => {\n if (\n (opts.serverNoContextTakeover === false &&\n params.server_no_context_takeover) ||\n (params.server_max_window_bits &&\n (opts.serverMaxWindowBits === false ||\n (typeof opts.serverMaxWindowBits === 'number' &&\n opts.serverMaxWindowBits > params.server_max_window_bits))) ||\n (typeof opts.clientMaxWindowBits === 'number' &&\n !params.client_max_window_bits)\n ) {\n return false;\n }\n\n return true;\n });\n\n if (!accepted) {\n throw new Error('None of the extension offers can be accepted');\n }\n\n if (opts.serverNoContextTakeover) {\n accepted.server_no_context_takeover = true;\n }\n if (opts.clientNoContextTakeover) {\n accepted.client_no_context_takeover = true;\n }\n if (typeof opts.serverMaxWindowBits === 'number') {\n accepted.server_max_window_bits = opts.serverMaxWindowBits;\n }\n if (typeof opts.clientMaxWindowBits === 'number') {\n accepted.client_max_window_bits = opts.clientMaxWindowBits;\n } else if (\n accepted.client_max_window_bits === true ||\n opts.clientMaxWindowBits === false\n ) {\n delete accepted.client_max_window_bits;\n }\n\n return accepted;\n }\n\n /**\n * Accept the extension negotiation response.\n *\n * @param {Array} response The extension negotiation response\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsClient (response) {\n const params = response[0];\n\n if (\n this._options.clientNoContextTakeover === false &&\n params.client_no_context_takeover\n ) {\n throw new Error('Unexpected parameter \"client_no_context_takeover\"');\n }\n\n if (!params.client_max_window_bits) {\n if (typeof this._options.clientMaxWindowBits === 'number') {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n }\n } else if (\n this._options.clientMaxWindowBits === false ||\n (typeof this._options.clientMaxWindowBits === 'number' &&\n params.client_max_window_bits > this._options.clientMaxWindowBits)\n ) {\n throw new Error(\n 'Unexpected or invalid parameter \"client_max_window_bits\"'\n );\n }\n\n return params;\n }\n\n /**\n * Normalize parameters.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Array} The offers/response with normalized parameters\n * @private\n */\n normalizeParams (configurations) {\n configurations.forEach((params) => {\n Object.keys(params).forEach((key) => {\n var value = params[key];\n\n if (value.length > 1) {\n throw new Error(`Parameter \"${key}\" must have only a single value`);\n }\n\n value = value[0];\n\n if (key === 'client_max_window_bits') {\n if (value !== true) {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (!this._isServer) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else if (key === 'server_max_window_bits') {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (\n key === 'client_no_context_takeover' ||\n key === 'server_no_context_takeover'\n ) {\n if (value !== true) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else {\n throw new Error(`Unknown parameter \"${key}\"`);\n }\n\n params[key] = value;\n });\n });\n\n return configurations;\n }\n\n /**\n * Decompress data. Concurrency limited by async-limiter.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n decompress (data, fin, callback) {\n zlibLimiter.push((done) => {\n this._decompress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Compress data. Concurrency limited by async-limiter.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n compress (data, fin, callback) {\n zlibLimiter.push((done) => {\n this._compress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Decompress data.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _decompress (data, fin, callback) {\n const endpoint = this._isServer ? 'client' : 'server';\n\n if (!this._inflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits = typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._inflate = zlib.createInflateRaw(\n Object.assign({}, this._options.zlibInflateOptions, { windowBits })\n );\n this._inflate[kPerMessageDeflate] = this;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n this._inflate.on('error', inflateOnError);\n this._inflate.on('data', inflateOnData);\n }\n\n this._inflate[kCallback] = callback;\n this._inflate[kWriteInProgress] = true;\n\n this._inflate.write(data);\n if (fin) this._inflate.write(TRAILER);\n\n this._inflate.flush(() => {\n const err = this._inflate[kError];\n\n if (err) {\n this._inflate.close();\n this._inflate = null;\n callback(err);\n return;\n }\n\n const data = bufferUtil.concat(\n this._inflate[kBuffers],\n this._inflate[kTotalLength]\n );\n\n if (\n (fin && this.params[`${endpoint}_no_context_takeover`]) ||\n this._inflate[kPendingClose]\n ) {\n this._inflate.close();\n this._inflate = null;\n } else {\n this._inflate[kWriteInProgress] = false;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n }\n\n callback(null, data);\n });\n }\n\n /**\n * Compress data.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _compress (data, fin, callback) {\n if (!data || data.length === 0) {\n process.nextTick(callback, null, EMPTY_BLOCK);\n return;\n }\n\n const endpoint = this._isServer ? 'server' : 'client';\n\n if (!this._deflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits = typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._deflate = zlib.createDeflateRaw(\n Object.assign(\n // TODO deprecate memLevel/level and recommend zlibDeflateOptions instead\n {\n memLevel: this._options.memLevel,\n level: this._options.level\n },\n this._options.zlibDeflateOptions,\n { windowBits }\n )\n );\n\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n\n //\n // `zlib.DeflateRaw` emits an `'error'` event only when an attempt to use\n // it is made after it has already been closed. This cannot happen here,\n // so we only add a listener for the `'data'` event.\n //\n this._deflate.on('data', deflateOnData);\n }\n\n this._deflate[kWriteInProgress] = true;\n\n this._deflate.write(data);\n this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {\n var data = bufferUtil.concat(\n this._deflate[kBuffers],\n this._deflate[kTotalLength]\n );\n\n if (fin) data = data.slice(0, data.length - 4);\n\n if (\n (fin && this.params[`${endpoint}_no_context_takeover`]) ||\n this._deflate[kPendingClose]\n ) {\n this._deflate.close();\n this._deflate = null;\n } else {\n this._deflate[kWriteInProgress] = false;\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n }\n\n callback(null, data);\n });\n }\n}\n\nmodule.exports = PerMessageDeflate;\n\n/**\n * The listener of the `zlib.DeflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction deflateOnData (chunk) {\n this[kBuffers].push(chunk);\n this[kTotalLength] += chunk.length;\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction inflateOnData (chunk) {\n this[kTotalLength] += chunk.length;\n\n if (\n this[kPerMessageDeflate]._maxPayload < 1 ||\n this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload\n ) {\n this[kBuffers].push(chunk);\n return;\n }\n\n this[kError] = new RangeError('Max payload size exceeded');\n this[kError][constants.kStatusCode] = 1009;\n this.removeListener('data', inflateOnData);\n this.reset();\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'error'` event.\n *\n * @param {Error} err The emitted error\n * @private\n */\nfunction inflateOnError (err) {\n //\n // There is no need to call `Zlib#close()` as the handle is automatically\n // closed when an error is emitted.\n //\n this[kPerMessageDeflate]._inflate = null;\n err[constants.kStatusCode] = 1007;\n this[kCallback](err);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/permessage-deflate.js\n// module id = 30\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 31\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 32\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 33\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 34\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 35\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 36\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 37\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 38\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 39\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 40\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 41\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 42\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 43\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 44\n// module chunks = 0","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 45\n// module chunks = 0","module.exports = require(\"crypto\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"crypto\"\n// module id = 46\n// module chunks = 0","'use strict';\n\n/**\n * Merges an array of buffers into a new buffer.\n *\n * @param {Buffer[]} list The array of buffers to concat\n * @param {Number} totalLength The total length of buffers in the list\n * @return {Buffer} The resulting buffer\n * @public\n */\nconst concat = (list, totalLength) => {\n const target = Buffer.allocUnsafe(totalLength);\n var offset = 0;\n\n for (var i = 0; i < list.length; i++) {\n const buf = list[i];\n buf.copy(target, offset);\n offset += buf.length;\n }\n\n return target;\n};\n\ntry {\n const bufferUtil = require('bufferutil');\n\n module.exports = Object.assign({ concat }, bufferUtil.BufferUtil || bufferUtil);\n} catch (e) /* istanbul ignore next */ {\n /**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\n const mask = (source, mask, output, offset, length) => {\n for (var i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n };\n\n /**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\n const unmask = (buffer, mask) => {\n // Required until https://github.com/nodejs/node/issues/9006 is resolved.\n const length = buffer.length;\n for (var i = 0; i < length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n };\n\n module.exports = { concat, mask, unmask };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/buffer-util.js\n// module id = 47\n// module chunks = 0","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 48\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 49\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 50\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 51\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 52\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 53\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 54\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 55\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 56\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 57\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 58\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 59\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 60\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 61\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 62\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 63\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 64\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 66\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","'use strict';\n\nconst EventEmitter = require('events');\nconst crypto = require('crypto');\nconst https = require('https');\nconst http = require('http');\nconst net = require('net');\nconst tls = require('tls');\nconst url = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst EventTarget = require('./event-target');\nconst extension = require('./extension');\nconst constants = require('./constants');\nconst Receiver = require('./receiver');\nconst Sender = require('./sender');\n\nconst readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];\nconst kWebSocket = constants.kWebSocket;\nconst protocolVersions = [8, 13];\nconst closeTimeout = 30 * 1000; // Allow 30 seconds to terminate the connection cleanly.\n\n/**\n * Class representing a WebSocket.\n *\n * @extends EventEmitter\n */\nclass WebSocket extends EventEmitter {\n /**\n * Create a new `WebSocket`.\n *\n * @param {(String|url.Url|url.URL)} address The URL to which to connect\n * @param {(String|String[])} protocols The subprotocols\n * @param {Object} options Connection options\n */\n constructor (address, protocols, options) {\n super();\n\n this.readyState = WebSocket.CONNECTING;\n this.protocol = '';\n\n this._binaryType = constants.BINARY_TYPES[0];\n this._closeFrameReceived = false;\n this._closeFrameSent = false;\n this._closeMessage = '';\n this._closeTimer = null;\n this._closeCode = 1006;\n this._extensions = {};\n this._isServer = true;\n this._receiver = null;\n this._sender = null;\n this._socket = null;\n\n if (address !== null) {\n if (Array.isArray(protocols)) {\n protocols = protocols.join(', ');\n } else if (typeof protocols === 'object' && protocols !== null) {\n options = protocols;\n protocols = undefined;\n }\n\n initAsClient.call(this, address, protocols, options);\n }\n }\n\n get CONNECTING () { return WebSocket.CONNECTING; }\n get CLOSING () { return WebSocket.CLOSING; }\n get CLOSED () { return WebSocket.CLOSED; }\n get OPEN () { return WebSocket.OPEN; }\n\n /**\n * This deviates from the WHATWG interface since ws doesn't support the required\n * default \"blob\" type (instead we define a custom \"nodebuffer\" type).\n *\n * @type {String}\n */\n get binaryType () {\n return this._binaryType;\n }\n\n set binaryType (type) {\n if (constants.BINARY_TYPES.indexOf(type) < 0) return;\n\n this._binaryType = type;\n\n //\n // Allow to change `binaryType` on the fly.\n //\n if (this._receiver) this._receiver._binaryType = type;\n }\n\n /**\n * @type {Number}\n */\n get bufferedAmount () {\n if (!this._socket) return 0;\n\n //\n // `socket.bufferSize` is `undefined` if the socket is closed.\n //\n return (this._socket.bufferSize || 0) + this._sender._bufferedBytes;\n }\n\n /**\n * @type {String}\n */\n get extensions () {\n return Object.keys(this._extensions).join();\n }\n\n /**\n * Set up the socket and the internal resources.\n *\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Number} maxPayload The maximum allowed message size\n * @private\n */\n setSocket (socket, head, maxPayload) {\n const receiver = new Receiver(\n this._binaryType,\n this._extensions,\n maxPayload\n );\n\n this._sender = new Sender(socket, this._extensions);\n this._receiver = receiver;\n this._socket = socket;\n\n receiver[kWebSocket] = this;\n socket[kWebSocket] = this;\n\n receiver.on('conclude', receiverOnConclude);\n receiver.on('drain', receiverOnDrain);\n receiver.on('error', receiverOnError);\n receiver.on('message', receiverOnMessage);\n receiver.on('ping', receiverOnPing);\n receiver.on('pong', receiverOnPong);\n\n socket.setTimeout(0);\n socket.setNoDelay();\n\n if (head.length > 0) socket.unshift(head);\n\n socket.on('close', socketOnClose);\n socket.on('data', socketOnData);\n socket.on('end', socketOnEnd);\n socket.on('error', socketOnError);\n\n this.readyState = WebSocket.OPEN;\n this.emit('open');\n }\n\n /**\n * Emit the `'close'` event.\n *\n * @private\n */\n emitClose () {\n this.readyState = WebSocket.CLOSED;\n\n if (!this._socket) {\n this.emit('close', this._closeCode, this._closeMessage);\n return;\n }\n\n if (this._extensions[PerMessageDeflate.extensionName]) {\n this._extensions[PerMessageDeflate.extensionName].cleanup();\n }\n\n this._receiver.removeAllListeners();\n this.emit('close', this._closeCode, this._closeMessage);\n }\n\n /**\n * Start a closing handshake.\n *\n * +----------+ +-----------+ +----------+\n * - - -|ws.close()|-->|close frame|-->|ws.close()|- - -\n * | +----------+ +-----------+ +----------+ |\n * +----------+ +-----------+ |\n * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING\n * +----------+ +-----------+ |\n * | | | +---+ |\n * +------------------------+-->|fin| - - - -\n * | +---+ | +---+\n * - - - - -|fin|<---------------------+\n * +---+\n *\n * @param {Number} code Status code explaining why the connection is closing\n * @param {String} data A string explaining why the connection is closing\n * @public\n */\n close (code, data) {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this.readyState === WebSocket.CLOSING) {\n if (this._closeFrameSent && this._closeFrameReceived) this._socket.end();\n return;\n }\n\n this.readyState = WebSocket.CLOSING;\n this._sender.close(code, data, !this._isServer, (err) => {\n //\n // This error is handled by the `'error'` listener on the socket. We only\n // want to know if the close frame has been sent here.\n //\n if (err) return;\n\n this._closeFrameSent = true;\n\n if (this._socket.writable) {\n if (this._closeFrameReceived) this._socket.end();\n\n //\n // Ensure that the connection is closed even if the closing handshake\n // fails.\n //\n this._closeTimer = setTimeout(\n this._socket.destroy.bind(this._socket),\n closeTimeout\n );\n }\n });\n }\n\n /**\n * Send a ping.\n *\n * @param {*} data The data to send\n * @param {Boolean} mask Indicates whether or not to mask `data`\n * @param {Function} cb Callback which is executed when the ping is sent\n * @public\n */\n ping (data, mask, cb) {\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n if (mask === undefined) mask = !this._isServer;\n this._sender.ping(data || constants.EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a pong.\n *\n * @param {*} data The data to send\n * @param {Boolean} mask Indicates whether or not to mask `data`\n * @param {Function} cb Callback which is executed when the pong is sent\n * @public\n */\n pong (data, mask, cb) {\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n if (mask === undefined) mask = !this._isServer;\n this._sender.pong(data || constants.EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a data message.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} options.compress Specifies whether or not to compress `data`\n * @param {Boolean} options.binary Specifies whether `data` is binary or text\n * @param {Boolean} options.fin Specifies whether the fragment is the last one\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback which is executed when data is written out\n * @public\n */\n send (data, options, cb) {\n if (typeof options === 'function') {\n cb = options;\n options = {};\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n\n const opts = Object.assign({\n binary: typeof data !== 'string',\n mask: !this._isServer,\n compress: true,\n fin: true\n }, options);\n\n if (!this._extensions[PerMessageDeflate.extensionName]) {\n opts.compress = false;\n }\n\n this._sender.send(data || constants.EMPTY_BUFFER, opts, cb);\n }\n\n /**\n * Forcibly close the connection.\n *\n * @public\n */\n terminate () {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this._socket) {\n this.readyState = WebSocket.CLOSING;\n this._socket.destroy();\n }\n }\n}\n\nreadyStates.forEach((readyState, i) => {\n WebSocket[readyStates[i]] = i;\n});\n\n//\n// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes.\n// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface\n//\n['open', 'error', 'close', 'message'].forEach((method) => {\n Object.defineProperty(WebSocket.prototype, `on${method}`, {\n /**\n * Return the listener of the event.\n *\n * @return {(Function|undefined)} The event listener or `undefined`\n * @public\n */\n get () {\n const listeners = this.listeners(method);\n for (var i = 0; i < listeners.length; i++) {\n if (listeners[i]._listener) return listeners[i]._listener;\n }\n },\n /**\n * Add a listener for the event.\n *\n * @param {Function} listener The listener to add\n * @public\n */\n set (listener) {\n const listeners = this.listeners(method);\n for (var i = 0; i < listeners.length; i++) {\n //\n // Remove only the listeners added via `addEventListener`.\n //\n if (listeners[i]._listener) this.removeListener(method, listeners[i]);\n }\n this.addEventListener(method, listener);\n }\n });\n});\n\nWebSocket.prototype.addEventListener = EventTarget.addEventListener;\nWebSocket.prototype.removeEventListener = EventTarget.removeEventListener;\n\nmodule.exports = WebSocket;\n\n/**\n * Initialize a WebSocket client.\n *\n * @param {(String|url.Url|url.URL)} address The URL to which to connect\n * @param {String} protocols The subprotocols\n * @param {Object} options Connection options\n * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate\n * @param {Number} options.handshakeTimeout Timeout in milliseconds for the handshake request\n * @param {Number} options.protocolVersion Value of the `Sec-WebSocket-Version` header\n * @param {String} options.origin Value of the `Origin` or `Sec-WebSocket-Origin` header\n * @private\n */\nfunction initAsClient (address, protocols, options) {\n options = Object.assign({\n protocolVersion: protocolVersions[1],\n perMessageDeflate: true\n }, options, {\n createConnection: undefined,\n socketPath: undefined,\n hostname: undefined,\n protocol: undefined,\n timeout: undefined,\n method: undefined,\n auth: undefined,\n host: undefined,\n path: undefined,\n port: undefined\n });\n\n if (protocolVersions.indexOf(options.protocolVersion) === -1) {\n throw new RangeError(\n `Unsupported protocol version: ${options.protocolVersion} ` +\n `(supported versions: ${protocolVersions.join(', ')})`\n );\n }\n\n this._isServer = false;\n\n var parsedUrl;\n\n if (typeof address === 'object' && address.href !== undefined) {\n parsedUrl = address;\n this.url = address.href;\n } else {\n parsedUrl = url.parse(address);\n this.url = address;\n }\n\n const isUnixSocket = parsedUrl.protocol === 'ws+unix:';\n\n if (!parsedUrl.host && (!isUnixSocket || !parsedUrl.pathname)) {\n throw new Error(`Invalid URL: ${this.url}`);\n }\n\n const isSecure = parsedUrl.protocol === 'wss:' || parsedUrl.protocol === 'https:';\n const key = crypto.randomBytes(16).toString('base64');\n const httpObj = isSecure ? https : http;\n const path = parsedUrl.search\n ? `${parsedUrl.pathname || '/'}${parsedUrl.search}`\n : parsedUrl.pathname || '/';\n var perMessageDeflate;\n\n options.createConnection = isSecure ? tlsConnect : netConnect;\n options.port = parsedUrl.port || (isSecure ? 443 : 80);\n options.host = parsedUrl.hostname;\n options.headers = Object.assign({\n 'Sec-WebSocket-Version': options.protocolVersion,\n 'Sec-WebSocket-Key': key,\n 'Connection': 'Upgrade',\n 'Upgrade': 'websocket'\n }, options.headers);\n options.path = path;\n\n if (options.perMessageDeflate) {\n perMessageDeflate = new PerMessageDeflate(\n options.perMessageDeflate !== true ? options.perMessageDeflate : {},\n false\n );\n options.headers['Sec-WebSocket-Extensions'] = extension.format({\n [PerMessageDeflate.extensionName]: perMessageDeflate.offer()\n });\n }\n if (protocols) {\n options.headers['Sec-WebSocket-Protocol'] = protocols;\n }\n if (options.origin) {\n if (options.protocolVersion < 13) {\n options.headers['Sec-WebSocket-Origin'] = options.origin;\n } else {\n options.headers.Origin = options.origin;\n }\n }\n if (parsedUrl.auth) {\n options.auth = parsedUrl.auth;\n } else if (parsedUrl.username || parsedUrl.password) {\n options.auth = `${parsedUrl.username}:${parsedUrl.password}`;\n }\n\n if (isUnixSocket) {\n const parts = path.split(':');\n\n if (options.agent == null && process.versions.modules < 57) {\n //\n // Setting `socketPath` in conjunction with `createConnection` without an\n // agent throws an error on Node.js < 8. Work around the issue by using a\n // different property.\n //\n options._socketPath = parts[0];\n } else {\n options.socketPath = parts[0];\n }\n\n options.path = parts[1];\n }\n\n var req = this._req = httpObj.get(options);\n\n if (options.handshakeTimeout) {\n req.setTimeout(\n options.handshakeTimeout,\n abortHandshake.bind(null, this, req, 'Opening handshake has timed out')\n );\n }\n\n req.on('error', (err) => {\n if (this._req.aborted) return;\n\n req = this._req = null;\n this.readyState = WebSocket.CLOSING;\n this.emit('error', err);\n this.emitClose();\n });\n\n req.on('response', (res) => {\n if (this.emit('unexpected-response', req, res)) return;\n\n abortHandshake(this, req, `Unexpected server response: ${res.statusCode}`);\n });\n\n req.on('upgrade', (res, socket, head) => {\n this.emit('upgrade', res);\n\n //\n // The user may have closed the connection from a listener of the `upgrade`\n // event.\n //\n if (this.readyState !== WebSocket.CONNECTING) return;\n\n req = this._req = null;\n\n const digest = crypto.createHash('sha1')\n .update(key + constants.GUID, 'binary')\n .digest('base64');\n\n if (res.headers['sec-websocket-accept'] !== digest) {\n abortHandshake(this, socket, 'Invalid Sec-WebSocket-Accept header');\n return;\n }\n\n const serverProt = res.headers['sec-websocket-protocol'];\n const protList = (protocols || '').split(/, */);\n var protError;\n\n if (!protocols && serverProt) {\n protError = 'Server sent a subprotocol but none was requested';\n } else if (protocols && !serverProt) {\n protError = 'Server sent no subprotocol';\n } else if (serverProt && protList.indexOf(serverProt) === -1) {\n protError = 'Server sent an invalid subprotocol';\n }\n\n if (protError) {\n abortHandshake(this, socket, protError);\n return;\n }\n\n if (serverProt) this.protocol = serverProt;\n\n if (perMessageDeflate) {\n try {\n const extensions = extension.parse(\n res.headers['sec-websocket-extensions']\n );\n\n if (extensions[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(\n extensions[PerMessageDeflate.extensionName]\n );\n this._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n abortHandshake(this, socket, 'Invalid Sec-WebSocket-Extensions header');\n return;\n }\n }\n\n this.setSocket(socket, head, 0);\n });\n}\n\n/**\n * Create a `net.Socket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {net.Socket} The newly created socket used to start the connection\n * @private\n */\nfunction netConnect (options) {\n options.path = options.socketPath || options._socketPath || undefined;\n return net.connect(options);\n}\n\n/**\n * Create a `tls.TLSSocket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {tls.TLSSocket} The newly created socket used to start the connection\n * @private\n */\nfunction tlsConnect (options) {\n options.path = options.socketPath || options._socketPath || undefined;\n return tls.connect(options);\n}\n\n/**\n * Abort the handshake and emit an error.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {(http.ClientRequest|net.Socket)} stream The request to abort or the\n * socket to destroy\n * @param {String} message The error message\n * @private\n */\nfunction abortHandshake (websocket, stream, message) {\n websocket.readyState = WebSocket.CLOSING;\n\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshake);\n\n if (stream.setHeader) {\n stream.abort();\n stream.once('abort', websocket.emitClose.bind(websocket));\n websocket.emit('error', err);\n } else {\n stream.destroy(err);\n stream.once('error', websocket.emit.bind(websocket, 'error'));\n stream.once('close', websocket.emitClose.bind(websocket));\n }\n}\n\n/**\n * The listener of the `Receiver` `'conclude'` event.\n *\n * @param {Number} code The status code\n * @param {String} reason The reason for closing\n * @private\n */\nfunction receiverOnConclude (code, reason) {\n const websocket = this[kWebSocket];\n\n websocket._socket.removeListener('data', socketOnData);\n websocket._socket.resume();\n\n websocket._closeFrameReceived = true;\n websocket._closeMessage = reason;\n websocket._closeCode = code;\n\n if (code === 1005) websocket.close();\n else websocket.close(code, reason);\n}\n\n/**\n * The listener of the `Receiver` `'drain'` event.\n *\n * @private\n */\nfunction receiverOnDrain () {\n this[kWebSocket]._socket.resume();\n}\n\n/**\n * The listener of the `Receiver` `'error'` event.\n *\n * @param {(RangeError|Error)} err The emitted error\n * @private\n */\nfunction receiverOnError (err) {\n const websocket = this[kWebSocket];\n\n websocket.readyState = WebSocket.CLOSING;\n websocket._closeCode = err[constants.kStatusCode];\n websocket.emit('error', err);\n websocket._socket.destroy();\n}\n\n/**\n * The listener of the `Receiver` `'finish'` event.\n *\n * @private\n */\nfunction receiverOnFinish () {\n this[kWebSocket].emitClose();\n}\n\n/**\n * The listener of the `Receiver` `'message'` event.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The message\n * @private\n */\nfunction receiverOnMessage (data) {\n this[kWebSocket].emit('message', data);\n}\n\n/**\n * The listener of the `Receiver` `'ping'` event.\n *\n * @param {Buffer} data The data included in the ping frame\n * @private\n */\nfunction receiverOnPing (data) {\n const websocket = this[kWebSocket];\n\n websocket.pong(data, !websocket._isServer, constants.NOOP);\n websocket.emit('ping', data);\n}\n\n/**\n * The listener of the `Receiver` `'pong'` event.\n *\n * @param {Buffer} data The data included in the pong frame\n * @private\n */\nfunction receiverOnPong (data) {\n this[kWebSocket].emit('pong', data);\n}\n\n/**\n * The listener of the `net.Socket` `'close'` event.\n *\n * @private\n */\nfunction socketOnClose () {\n const websocket = this[kWebSocket];\n\n this.removeListener('close', socketOnClose);\n this.removeListener('data', socketOnData);\n this.removeListener('end', socketOnEnd);\n this[kWebSocket] = undefined;\n\n websocket.readyState = WebSocket.CLOSING;\n\n //\n // The close frame might not have been received or the `'end'` event emitted,\n // for example, if the socket was destroyed due to an error. Ensure that the\n // `receiver` stream is closed after writing any remaining buffered data to\n // it.\n //\n websocket._socket.read();\n websocket._receiver.end();\n\n clearTimeout(websocket._closeTimer);\n\n if (\n websocket._receiver._writableState.finished ||\n websocket._receiver._writableState.errorEmitted\n ) {\n websocket.emitClose();\n } else {\n websocket._receiver.on('error', receiverOnFinish);\n websocket._receiver.on('finish', receiverOnFinish);\n }\n}\n\n/**\n * The listener of the `net.Socket` `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction socketOnData (chunk) {\n if (!this[kWebSocket]._receiver.write(chunk)) {\n this.pause();\n }\n}\n\n/**\n * The listener of the `net.Socket` `'end'` event.\n *\n * @private\n */\nfunction socketOnEnd () {\n const websocket = this[kWebSocket];\n\n websocket.readyState = WebSocket.CLOSING;\n websocket._receiver.end();\n this.end();\n}\n\n/**\n * The listener of the `net.Socket` `'error'` event.\n *\n * @private\n */\nfunction socketOnError () {\n const websocket = this[kWebSocket];\n\n this.removeListener('error', socketOnError);\n this.on('error', constants.NOOP);\n\n if (websocket) {\n websocket.readyState = WebSocket.CLOSING;\n this.destroy();\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/websocket.js\n// module id = 68\n// module chunks = 0","module.exports = require(\"events\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"events\"\n// module id = 69\n// module chunks = 0","module.exports = require(\"http\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"http\"\n// module id = 70\n// module chunks = 0","module.exports = require(\"url\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"url\"\n// module id = 71\n// module chunks = 0","'use strict';\n\n//\n// Allowed token characters:\n//\n// '!', '#', '$', '%', '&', ''', '*', '+', '-',\n// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'\n//\n// tokenChars[32] === 0 // ' '\n// tokenChars[33] === 1 // '!'\n// tokenChars[34] === 0 // '\"'\n// ...\n//\nconst tokenChars = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127\n];\n\n/**\n * Adds an offer to the map of extension offers or a parameter to the map of\n * parameters.\n *\n * @param {Object} dest The map of extension offers or parameters\n * @param {String} name The extension or parameter name\n * @param {(Object|Boolean|String)} elem The extension parameters or the\n * parameter value\n * @private\n */\nfunction push (dest, name, elem) {\n if (Object.prototype.hasOwnProperty.call(dest, name)) dest[name].push(elem);\n else dest[name] = [elem];\n}\n\n/**\n * Parses the `Sec-WebSocket-Extensions` header into an object.\n *\n * @param {String} header The field value of the header\n * @return {Object} The parsed object\n * @public\n */\nfunction parse (header) {\n const offers = {};\n\n if (header === undefined || header === '') return offers;\n\n var params = {};\n var mustUnescape = false;\n var isEscaping = false;\n var inQuotes = false;\n var extensionName;\n var paramName;\n var start = -1;\n var end = -1;\n\n for (var i = 0; i < header.length; i++) {\n const code = header.charCodeAt(i);\n\n if (extensionName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20/* ' ' */|| code === 0x09/* '\\t' */) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b/* ';' */ || code === 0x2c/* ',' */) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n const name = header.slice(start, end);\n if (code === 0x2c) {\n push(offers, name, params);\n params = {};\n } else {\n extensionName = name;\n }\n\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (paramName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20 || code === 0x09) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n push(params, header.slice(start, end), true);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = {};\n extensionName = undefined;\n }\n\n start = end = -1;\n } else if (code === 0x3d/* '=' */&& start !== -1 && end === -1) {\n paramName = header.slice(start, i);\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else {\n //\n // The value of a quoted-string after unescaping must conform to the\n // token ABNF, so only token characters are valid.\n // Ref: https://tools.ietf.org/html/rfc6455#section-9.1\n //\n if (isEscaping) {\n if (tokenChars[code] !== 1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1) start = i;\n else if (!mustUnescape) mustUnescape = true;\n isEscaping = false;\n } else if (inQuotes) {\n if (tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x22/* '\"' */ && start !== -1) {\n inQuotes = false;\n end = i;\n } else if (code === 0x5c/* '\\' */) {\n isEscaping = true;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {\n inQuotes = true;\n } else if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (start !== -1 && (code === 0x20 || code === 0x09)) {\n if (end === -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n var value = header.slice(start, end);\n if (mustUnescape) {\n value = value.replace(/\\\\/g, '');\n mustUnescape = false;\n }\n push(params, paramName, value);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = {};\n extensionName = undefined;\n }\n\n paramName = undefined;\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n }\n }\n\n if (start === -1 || inQuotes) {\n throw new SyntaxError('Unexpected end of input');\n }\n\n if (end === -1) end = i;\n const token = header.slice(start, end);\n if (extensionName === undefined) {\n push(offers, token, {});\n } else {\n if (paramName === undefined) {\n push(params, token, true);\n } else if (mustUnescape) {\n push(params, paramName, token.replace(/\\\\/g, ''));\n } else {\n push(params, paramName, token);\n }\n push(offers, extensionName, params);\n }\n\n return offers;\n}\n\n/**\n * Builds the `Sec-WebSocket-Extensions` header field value.\n *\n * @param {Object} extensions The map of extensions and parameters to format\n * @return {String} A string representing the given object\n * @public\n */\nfunction format (extensions) {\n return Object.keys(extensions).map((extension) => {\n var configurations = extensions[extension];\n if (!Array.isArray(configurations)) configurations = [configurations];\n return configurations.map((params) => {\n return [extension].concat(Object.keys(params).map((k) => {\n var values = params[k];\n if (!Array.isArray(values)) values = [values];\n return values.map((v) => v === true ? k : `${k}=${v}`).join('; ');\n })).join('; ');\n }).join(', ');\n }).join(', ');\n}\n\nmodule.exports = { format, parse };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/extension.js\n// module id = 72\n// module chunks = 0","'use strict';\n\nconst stream = require('stream');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst bufferUtil = require('./buffer-util');\nconst validation = require('./validation');\nconst constants = require('./constants');\n\nconst GET_INFO = 0;\nconst GET_PAYLOAD_LENGTH_16 = 1;\nconst GET_PAYLOAD_LENGTH_64 = 2;\nconst GET_MASK = 3;\nconst GET_DATA = 4;\nconst INFLATING = 5;\n\n/**\n * HyBi Receiver implementation.\n *\n * @extends stream.Writable\n */\nclass Receiver extends stream.Writable {\n /**\n * Creates a Receiver instance.\n *\n * @param {String} binaryType The type for binary data\n * @param {Object} extensions An object containing the negotiated extensions\n * @param {Number} maxPayload The maximum allowed message length\n */\n constructor (binaryType, extensions, maxPayload) {\n super();\n\n this._binaryType = binaryType || constants.BINARY_TYPES[0];\n this[constants.kWebSocket] = undefined;\n this._extensions = extensions || {};\n this._maxPayload = maxPayload | 0;\n\n this._bufferedBytes = 0;\n this._buffers = [];\n\n this._compressed = false;\n this._payloadLength = 0;\n this._mask = undefined;\n this._fragmented = 0;\n this._masked = false;\n this._fin = false;\n this._opcode = 0;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragments = [];\n\n this._state = GET_INFO;\n this._loop = false;\n }\n\n /**\n * Implements `Writable.prototype._write()`.\n *\n * @param {Buffer} chunk The chunk of data to write\n * @param {String} encoding The character encoding of `chunk`\n * @param {Function} cb Callback\n */\n _write (chunk, encoding, cb) {\n if (this._opcode === 0x08) return cb();\n\n this._bufferedBytes += chunk.length;\n this._buffers.push(chunk);\n this.startLoop(cb);\n }\n\n /**\n * Consumes `n` bytes from the buffered data.\n *\n * @param {Number} n The number of bytes to consume\n * @return {Buffer} The consumed bytes\n * @private\n */\n consume (n) {\n this._bufferedBytes -= n;\n\n if (n === this._buffers[0].length) return this._buffers.shift();\n\n if (n < this._buffers[0].length) {\n const buf = this._buffers[0];\n this._buffers[0] = buf.slice(n);\n return buf.slice(0, n);\n }\n\n const dst = Buffer.allocUnsafe(n);\n\n do {\n const buf = this._buffers[0];\n\n if (n >= buf.length) {\n this._buffers.shift().copy(dst, dst.length - n);\n } else {\n buf.copy(dst, dst.length - n, 0, n);\n this._buffers[0] = buf.slice(n);\n }\n\n n -= buf.length;\n } while (n > 0);\n\n return dst;\n }\n\n /**\n * Starts the parsing loop.\n *\n * @param {Function} cb Callback\n * @private\n */\n startLoop (cb) {\n var err;\n this._loop = true;\n\n do {\n switch (this._state) {\n case GET_INFO:\n err = this.getInfo();\n break;\n case GET_PAYLOAD_LENGTH_16:\n err = this.getPayloadLength16();\n break;\n case GET_PAYLOAD_LENGTH_64:\n err = this.getPayloadLength64();\n break;\n case GET_MASK:\n this.getMask();\n break;\n case GET_DATA:\n err = this.getData(cb);\n break;\n default: // `INFLATING`\n this._loop = false;\n return;\n }\n } while (this._loop);\n\n cb(err);\n }\n\n /**\n * Reads the first two bytes of a frame.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getInfo () {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(2);\n\n if ((buf[0] & 0x30) !== 0x00) {\n this._loop = false;\n return error(RangeError, 'RSV2 and RSV3 must be clear', true, 1002);\n }\n\n const compressed = (buf[0] & 0x40) === 0x40;\n\n if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n this._fin = (buf[0] & 0x80) === 0x80;\n this._opcode = buf[0] & 0x0f;\n this._payloadLength = buf[1] & 0x7f;\n\n if (this._opcode === 0x00) {\n if (compressed) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n if (!this._fragmented) {\n this._loop = false;\n return error(RangeError, 'invalid opcode 0', true, 1002);\n }\n\n this._opcode = this._fragmented;\n } else if (this._opcode === 0x01 || this._opcode === 0x02) {\n if (this._fragmented) {\n this._loop = false;\n return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002);\n }\n\n this._compressed = compressed;\n } else if (this._opcode > 0x07 && this._opcode < 0x0b) {\n if (!this._fin) {\n this._loop = false;\n return error(RangeError, 'FIN must be set', true, 1002);\n }\n\n if (compressed) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n if (this._payloadLength > 0x7d) {\n this._loop = false;\n return error(\n RangeError,\n `invalid payload length ${this._payloadLength}`,\n true,\n 1002\n );\n }\n } else {\n this._loop = false;\n return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002);\n }\n\n if (!this._fin && !this._fragmented) this._fragmented = this._opcode;\n this._masked = (buf[1] & 0x80) === 0x80;\n\n if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;\n else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;\n else return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+16).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength16 () {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n this._payloadLength = this.consume(2).readUInt16BE(0);\n return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+64).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength64 () {\n if (this._bufferedBytes < 8) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(8);\n const num = buf.readUInt32BE(0);\n\n //\n // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned\n // if payload length is greater than this number.\n //\n if (num > Math.pow(2, 53 - 32) - 1) {\n this._loop = false;\n return error(\n RangeError,\n 'Unsupported WebSocket frame: payload length > 2^53 - 1',\n false,\n 1009\n );\n }\n\n this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);\n return this.haveLength();\n }\n\n /**\n * Payload length has been read.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n haveLength () {\n if (this._payloadLength && this._opcode < 0x08) {\n this._totalPayloadLength += this._payloadLength;\n if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {\n this._loop = false;\n return error(RangeError, 'Max payload size exceeded', false, 1009);\n }\n }\n\n if (this._masked) this._state = GET_MASK;\n else this._state = GET_DATA;\n }\n\n /**\n * Reads mask bytes.\n *\n * @private\n */\n getMask () {\n if (this._bufferedBytes < 4) {\n this._loop = false;\n return;\n }\n\n this._mask = this.consume(4);\n this._state = GET_DATA;\n }\n\n /**\n * Reads data bytes.\n *\n * @param {Function} cb Callback\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n getData (cb) {\n var data = constants.EMPTY_BUFFER;\n\n if (this._payloadLength) {\n if (this._bufferedBytes < this._payloadLength) {\n this._loop = false;\n return;\n }\n\n data = this.consume(this._payloadLength);\n if (this._masked) bufferUtil.unmask(data, this._mask);\n }\n\n if (this._opcode > 0x07) return this.controlMessage(data);\n\n if (this._compressed) {\n this._state = INFLATING;\n this.decompress(data, cb);\n return;\n }\n\n if (data.length) {\n //\n // This message is not compressed so its lenght is the sum of the payload\n // length of all fragments.\n //\n this._messageLength = this._totalPayloadLength;\n this._fragments.push(data);\n }\n\n return this.dataMessage();\n }\n\n /**\n * Decompresses data.\n *\n * @param {Buffer} data Compressed data\n * @param {Function} cb Callback\n * @private\n */\n decompress (data, cb) {\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n perMessageDeflate.decompress(data, this._fin, (err, buf) => {\n if (err) return cb(err);\n\n if (buf.length) {\n this._messageLength += buf.length;\n if (this._messageLength > this._maxPayload && this._maxPayload > 0) {\n return cb(error(RangeError, 'Max payload size exceeded', false, 1009));\n }\n\n this._fragments.push(buf);\n }\n\n const er = this.dataMessage();\n if (er) return cb(er);\n\n this.startLoop(cb);\n });\n }\n\n /**\n * Handles a data message.\n *\n * @return {(Error|undefined)} A possible error\n * @private\n */\n dataMessage () {\n if (this._fin) {\n const messageLength = this._messageLength;\n const fragments = this._fragments;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragmented = 0;\n this._fragments = [];\n\n if (this._opcode === 2) {\n var data;\n\n if (this._binaryType === 'nodebuffer') {\n data = toBuffer(fragments, messageLength);\n } else if (this._binaryType === 'arraybuffer') {\n data = toArrayBuffer(toBuffer(fragments, messageLength));\n } else {\n data = fragments;\n }\n\n this.emit('message', data);\n } else {\n const buf = toBuffer(fragments, messageLength);\n\n if (!validation.isValidUTF8(buf)) {\n this._loop = false;\n return error(Error, 'invalid UTF-8 sequence', true, 1007);\n }\n\n this.emit('message', buf.toString());\n }\n }\n\n this._state = GET_INFO;\n }\n\n /**\n * Handles a control message.\n *\n * @param {Buffer} data Data to handle\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n controlMessage (data) {\n if (this._opcode === 0x08) {\n this._loop = false;\n\n if (data.length === 0) {\n this.emit('conclude', 1005, '');\n this.end();\n } else if (data.length === 1) {\n return error(RangeError, 'invalid payload length 1', true, 1002);\n } else {\n const code = data.readUInt16BE(0);\n\n if (!validation.isValidStatusCode(code)) {\n return error(RangeError, `invalid status code ${code}`, true, 1002);\n }\n\n const buf = data.slice(2);\n\n if (!validation.isValidUTF8(buf)) {\n return error(Error, 'invalid UTF-8 sequence', true, 1007);\n }\n\n this.emit('conclude', code, buf.toString());\n this.end();\n }\n\n return;\n }\n\n if (this._opcode === 0x09) this.emit('ping', data);\n else this.emit('pong', data);\n\n this._state = GET_INFO;\n }\n}\n\nmodule.exports = Receiver;\n\n/**\n * Builds an error object.\n *\n * @param {(Error|RangeError)} ErrorCtor The error constructor\n * @param {String} message The error message\n * @param {Boolean} prefix Specifies whether or not to add a default prefix to\n * `message`\n * @param {Number} statusCode The status code\n * @return {(Error|RangeError)} The error\n * @private\n */\nfunction error (ErrorCtor, message, prefix, statusCode) {\n const err = new ErrorCtor(\n prefix ? `Invalid WebSocket frame: ${message}` : message\n );\n\n Error.captureStackTrace(err, error);\n err[constants.kStatusCode] = statusCode;\n return err;\n}\n\n/**\n * Makes a buffer from a list of fragments.\n *\n * @param {Buffer[]} fragments The list of fragments composing the message\n * @param {Number} messageLength The length of the message\n * @return {Buffer}\n * @private\n */\nfunction toBuffer (fragments, messageLength) {\n if (fragments.length === 1) return fragments[0];\n if (fragments.length > 1) return bufferUtil.concat(fragments, messageLength);\n return constants.EMPTY_BUFFER;\n}\n\n/**\n * Converts a buffer to an `ArrayBuffer`.\n *\n * @param {Buffer} The buffer to convert\n * @return {ArrayBuffer} Converted buffer\n */\nfunction toArrayBuffer (buf) {\n if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {\n return buf.buffer;\n }\n\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/receiver.js\n// module id = 73\n// module chunks = 0","'use strict';\n\ntry {\n const isValidUTF8 = require('utf-8-validate');\n\n exports.isValidUTF8 = typeof isValidUTF8 === 'object'\n ? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0\n : isValidUTF8;\n} catch (e) /* istanbul ignore next */ {\n exports.isValidUTF8 = () => true;\n}\n\n/**\n * Checks if a status code is allowed in a close frame.\n *\n * @param {Number} code The status code\n * @return {Boolean} `true` if the status code is valid, else `false`\n * @public\n */\nexports.isValidStatusCode = (code) => {\n return (\n (code >= 1000 &&\n code <= 1013 &&\n code !== 1004 &&\n code !== 1005 &&\n code !== 1006) ||\n (code >= 3000 && code <= 4999)\n );\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/validation.js\n// module id = 74\n// module chunks = 0","'use strict';\n\nconst crypto = require('crypto');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst bufferUtil = require('./buffer-util');\nconst validation = require('./validation');\nconst constants = require('./constants');\n\n/**\n * HyBi Sender implementation.\n */\nclass Sender {\n /**\n * Creates a Sender instance.\n *\n * @param {net.Socket} socket The connection socket\n * @param {Object} extensions An object containing the negotiated extensions\n */\n constructor (socket, extensions) {\n this._extensions = extensions || {};\n this._socket = socket;\n\n this._firstFragment = true;\n this._compress = false;\n\n this._bufferedBytes = 0;\n this._deflating = false;\n this._queue = [];\n }\n\n /**\n * Frames a piece of data according to the HyBi WebSocket protocol.\n *\n * @param {Buffer} data The data to frame\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} options.readOnly Specifies whether `data` can be modified\n * @param {Boolean} options.fin Specifies whether or not to set the FIN bit\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit\n * @return {Buffer[]} The framed data as a list of `Buffer` instances\n * @public\n */\n static frame (data, options) {\n const merge = data.length < 1024 || (options.mask && options.readOnly);\n var offset = options.mask ? 6 : 2;\n var payloadLength = data.length;\n\n if (data.length >= 65536) {\n offset += 8;\n payloadLength = 127;\n } else if (data.length > 125) {\n offset += 2;\n payloadLength = 126;\n }\n\n const target = Buffer.allocUnsafe(merge ? data.length + offset : offset);\n\n target[0] = options.fin ? options.opcode | 0x80 : options.opcode;\n if (options.rsv1) target[0] |= 0x40;\n\n if (payloadLength === 126) {\n target.writeUInt16BE(data.length, 2);\n } else if (payloadLength === 127) {\n target.writeUInt32BE(0, 2);\n target.writeUInt32BE(data.length, 6);\n }\n\n if (!options.mask) {\n target[1] = payloadLength;\n if (merge) {\n data.copy(target, offset);\n return [target];\n }\n\n return [target, data];\n }\n\n const mask = crypto.randomBytes(4);\n\n target[1] = payloadLength | 0x80;\n target[offset - 4] = mask[0];\n target[offset - 3] = mask[1];\n target[offset - 2] = mask[2];\n target[offset - 1] = mask[3];\n\n if (merge) {\n bufferUtil.mask(data, mask, target, offset, data.length);\n return [target];\n }\n\n bufferUtil.mask(data, mask, data, 0, data.length);\n return [target, data];\n }\n\n /**\n * Sends a close message to the other peer.\n *\n * @param {(Number|undefined)} code The status code component of the body\n * @param {String} data The message component of the body\n * @param {Boolean} mask Specifies whether or not to mask the message\n * @param {Function} cb Callback\n * @public\n */\n close (code, data, mask, cb) {\n var buf;\n\n if (code === undefined) {\n buf = constants.EMPTY_BUFFER;\n } else if (typeof code !== 'number' || !validation.isValidStatusCode(code)) {\n throw new TypeError('First argument must be a valid error code number');\n } else if (data === undefined || data === '') {\n buf = Buffer.allocUnsafe(2);\n buf.writeUInt16BE(code, 0);\n } else {\n buf = Buffer.allocUnsafe(2 + Buffer.byteLength(data));\n buf.writeUInt16BE(code, 0);\n buf.write(data, 2);\n }\n\n if (this._deflating) {\n this.enqueue([this.doClose, buf, mask, cb]);\n } else {\n this.doClose(buf, mask, cb);\n }\n }\n\n /**\n * Frames and sends a close message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @private\n */\n doClose (data, mask, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x08,\n mask,\n readOnly: false\n }), cb);\n }\n\n /**\n * Sends a ping message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n ping (data, mask, cb) {\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n if (this._deflating) {\n this.enqueue([this.doPing, data, mask, readOnly, cb]);\n } else {\n this.doPing(data, mask, readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a ping message.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Boolean} readOnly Specifies whether `data` can be modified\n * @param {Function} cb Callback\n * @private\n */\n doPing (data, mask, readOnly, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x09,\n mask,\n readOnly\n }), cb);\n }\n\n /**\n * Sends a pong message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n pong (data, mask, cb) {\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n if (this._deflating) {\n this.enqueue([this.doPong, data, mask, readOnly, cb]);\n } else {\n this.doPong(data, mask, readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a pong message.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Boolean} readOnly Specifies whether `data` can be modified\n * @param {Function} cb Callback\n * @private\n */\n doPong (data, mask, readOnly, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x0a,\n mask,\n readOnly\n }), cb);\n }\n\n /**\n * Sends a data message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} options.compress Specifies whether or not to compress `data`\n * @param {Boolean} options.binary Specifies whether `data` is binary or text\n * @param {Boolean} options.fin Specifies whether the fragment is the last one\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n send (data, options, cb) {\n var opcode = options.binary ? 2 : 1;\n var rsv1 = options.compress;\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n if (this._firstFragment) {\n this._firstFragment = false;\n if (rsv1 && perMessageDeflate) {\n rsv1 = data.length >= perMessageDeflate._threshold;\n }\n this._compress = rsv1;\n } else {\n rsv1 = false;\n opcode = 0;\n }\n\n if (options.fin) this._firstFragment = true;\n\n if (perMessageDeflate) {\n const opts = {\n fin: options.fin,\n rsv1,\n opcode,\n mask: options.mask,\n readOnly\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, data, this._compress, opts, cb]);\n } else {\n this.dispatch(data, this._compress, opts, cb);\n }\n } else {\n this.sendFrame(Sender.frame(data, {\n fin: options.fin,\n rsv1: false,\n opcode,\n mask: options.mask,\n readOnly\n }), cb);\n }\n }\n\n /**\n * Dispatches a data message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} compress Specifies whether or not to compress `data`\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} options.readOnly Specifies whether `data` can be modified\n * @param {Boolean} options.fin Specifies whether or not to set the FIN bit\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit\n * @param {Function} cb Callback\n * @private\n */\n dispatch (data, compress, options, cb) {\n if (!compress) {\n this.sendFrame(Sender.frame(data, options), cb);\n return;\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n this._deflating = true;\n perMessageDeflate.compress(data, options.fin, (_, buf) => {\n options.readOnly = false;\n this.sendFrame(Sender.frame(buf, options), cb);\n this._deflating = false;\n this.dequeue();\n });\n }\n\n /**\n * Executes queued send operations.\n *\n * @private\n */\n dequeue () {\n while (!this._deflating && this._queue.length) {\n const params = this._queue.shift();\n\n this._bufferedBytes -= params[1].length;\n params[0].apply(this, params.slice(1));\n }\n }\n\n /**\n * Enqueues a send operation.\n *\n * @param {Array} params Send operation parameters.\n * @private\n */\n enqueue (params) {\n this._bufferedBytes += params[1].length;\n this._queue.push(params);\n }\n\n /**\n * Sends a frame.\n *\n * @param {Buffer[]} list The frame to send\n * @param {Function} cb Callback\n * @private\n */\n sendFrame (list, cb) {\n if (list.length === 2) {\n this._socket.write(list[0]);\n this._socket.write(list[1], cb);\n } else {\n this._socket.write(list[0], cb);\n }\n }\n}\n\nmodule.exports = Sender;\n\n/**\n * Converts an `ArrayBuffer` view into a buffer.\n *\n * @param {(DataView|TypedArray)} view The view to convert\n * @return {Buffer} Converted view\n * @private\n */\nfunction viewToBuffer (view) {\n const buf = Buffer.from(view.buffer);\n\n if (view.byteLength !== view.buffer.byteLength) {\n return buf.slice(view.byteOffset, view.byteOffset + view.byteLength);\n }\n\n return buf;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/sender.js\n// module id = 75\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 76\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 77\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 78\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 79\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 80\n// module chunks = 0","export async function authFetch(url, apiKey, opts = {}) {\n let req = Object.assign({}, opts, {\n headers: apiKey ? {\n Authorization: 'token '+ apiKey\n } : undefined\n })\n\n let res = await fetch(url, req)\n\n let text = await res.text()\n\n if (res.ok && text.length) {\n try {\n return JSON.parse(text)\n } catch (err) {\n throw 'Failed to parse JSON response: '+text\n }\n } else if (res.ok) {\n return {}\n } else {\n throw 'Request to '+url+' returned with error code '+res.status+': '+text\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/utils.js","import StreamrClient from './StreamrClient'\nimport AllEndpoints from './rest/AllEndpoints'\n\n// Mixin the rest endpoints to the StreamrClient\nObject.assign(StreamrClient.prototype, AllEndpoints)\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 83\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 84\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 85\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 86\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 87\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n restUrl: 'https://www.streamr.com/api/v1',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n authKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.authKey || this.options.authKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.authKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.authKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 89\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 90\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 91\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 92\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 93\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 94\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 95\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 96\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 97\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 98\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 99\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 100\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 101\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 102\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 103\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 104\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 105\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 106\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 107\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 108\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 109\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 110\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 111\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 112\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 113\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 114\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 115\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 116\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 117\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 118\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 119\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 120\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 121\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar tty = require('tty');\nvar util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\n\n/**\n * Colors.\n */\n\nexports.colors = [ 6, 2, 3, 4, 5, 1 ];\n\ntry {\n var supportsColor = require('supports-color');\n if (supportsColor && supportsColor.level >= 2) {\n exports.colors = [\n 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68,\n 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134,\n 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,\n 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204,\n 205, 206, 207, 208, 209, 214, 215, 220, 221\n ];\n }\n} catch (err) {\n // swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(function (key) {\n return /^debug_/i.test(key);\n}).reduce(function (obj, key) {\n // camel-case\n var prop = key\n .substring(6)\n .toLowerCase()\n .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });\n\n // coerce string value into JS value\n var val = process.env[key];\n if (/^(yes|on|true|enabled)$/i.test(val)) val = true;\n else if (/^(no|off|false|disabled)$/i.test(val)) val = false;\n else if (val === 'null') val = null;\n else val = Number(val);\n\n obj[prop] = val;\n return obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n return 'colors' in exports.inspectOpts\n ? Boolean(exports.inspectOpts.colors)\n : tty.isatty(process.stderr.fd);\n}\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nexports.formatters.o = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts)\n .split('\\n').map(function(str) {\n return str.trim()\n }).join(' ');\n};\n\n/**\n * Map %o to `util.inspect()`, allowing multiple lines if needed.\n */\n\nexports.formatters.O = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts);\n};\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var name = this.namespace;\n var useColors = this.useColors;\n\n if (useColors) {\n var c = this.color;\n var colorCode = '\\u001b[3' + (c < 8 ? c : '8;5;' + c);\n var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\\u001b[0m';\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\\u001b[0m');\n } else {\n args[0] = getDate() + name + ' ' + args[0];\n }\n}\n\nfunction getDate() {\n if (exports.inspectOpts.hideDate) {\n return '';\n } else {\n return new Date().toISOString() + ' ';\n }\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log() {\n return process.stderr.write(util.format.apply(util, arguments) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n if (null == namespaces) {\n // If you set a process.env field to null or undefined, it gets cast to the\n // string 'null' or 'undefined'. Just delete instead.\n delete process.env.DEBUG;\n } else {\n process.env.DEBUG = namespaces;\n }\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n return process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init (debug) {\n debug.inspectOpts = {};\n\n var keys = Object.keys(exports.inspectOpts);\n for (var i = 0; i < keys.length; i++) {\n debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n }\n}\n\n/**\n * Enable namespaces listed in `process.env.DEBUG` initially.\n */\n\nexports.enable(load());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/node.js\n// module id = 122\n// module chunks = 0","module.exports = require(\"tty\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tty\"\n// module id = 123\n// module chunks = 0","module.exports = require(\"util\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"util\"\n// module id = 124\n// module chunks = 0","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nconst support = level => {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n};\n\nlet supportLevel = (() => {\n\tif (hasFlag('no-color') ||\n\t\thasFlag('no-colors') ||\n\t\thasFlag('color=false')) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (hasFlag('color') ||\n\t\thasFlag('colors') ||\n\t\thasFlag('color=true') ||\n\t\thasFlag('color=always')) {\n\t\treturn 1;\n\t}\n\n\tif (process.stdout && !process.stdout.isTTY) {\n\t\treturn 0;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Hyper':\n\t\t\t\treturn 3;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn 0;\n\t}\n\n\treturn 0;\n})();\n\nif ('FORCE_COLOR' in env) {\n\tsupportLevel = parseInt(env.FORCE_COLOR, 10) === 0 ? 0 : (supportLevel || 1);\n}\n\nmodule.exports = process && support(supportLevel);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/supports-color/index.js\n// module id = 125\n// module chunks = 0","module.exports = require(\"os\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"os\"\n// module id = 126\n// module chunks = 0","'use strict';\nmodule.exports = function (flag, argv) {\n\targv = argv || process.argv;\n\n\tvar terminatorPos = argv.indexOf('--');\n\tvar prefix = /^-{1,2}/.test(flag) ? '' : '--';\n\tvar pos = argv.indexOf(prefix + flag);\n\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/has-flag/index.js\n// module id = 127\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, authKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.authKey = authKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 129\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js","'use strict';\n\nconst WebSocket = require('./lib/websocket');\n\nWebSocket.Server = require('./lib/websocket-server');\nWebSocket.Receiver = require('./lib/receiver');\nWebSocket.Sender = require('./lib/sender');\n\nmodule.exports = WebSocket;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/index.js\n// module id = 131\n// module chunks = 0","module.exports = require(\"https\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"https\"\n// module id = 132\n// module chunks = 0","module.exports = require(\"net\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"net\"\n// module id = 133\n// module chunks = 0","module.exports = require(\"tls\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tls\"\n// module id = 134\n// module chunks = 0","'use strict';\n\nfunction Queue(options) {\n if (!(this instanceof Queue)) {\n return new Queue(options);\n }\n\n options = options || {};\n this.concurrency = options.concurrency || Infinity;\n this.pending = 0;\n this.jobs = [];\n this.cbs = [];\n this._done = done.bind(this);\n}\n\nvar arrayAddMethods = [\n 'push',\n 'unshift',\n 'splice'\n];\n\narrayAddMethods.forEach(function(method) {\n Queue.prototype[method] = function() {\n var methodResult = Array.prototype[method].apply(this.jobs, arguments);\n this._run();\n return methodResult;\n };\n});\n\nObject.defineProperty(Queue.prototype, 'length', {\n get: function() {\n return this.pending + this.jobs.length;\n }\n});\n\nQueue.prototype._run = function() {\n if (this.pending === this.concurrency) {\n return;\n }\n if (this.jobs.length) {\n var job = this.jobs.shift();\n this.pending++;\n job(this._done);\n this._run();\n }\n\n if (this.pending === 0) {\n while (this.cbs.length !== 0) {\n var cb = this.cbs.pop();\n process.nextTick(cb);\n }\n }\n};\n\nQueue.prototype.onDone = function(cb) {\n if (typeof cb === 'function') {\n this.cbs.push(cb);\n this._run();\n }\n};\n\nfunction done() {\n this.pending--;\n this._run();\n}\n\nmodule.exports = Queue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/async-limiter/index.js\n// module id = 135\n// module chunks = 0","module.exports = require(\"zlib\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"zlib\"\n// module id = 136\n// module chunks = 0","'use strict';\n\n/**\n * Class representing an event.\n *\n * @private\n */\nclass Event {\n /**\n * Create a new `Event`.\n *\n * @param {String} type The name of the event\n * @param {Object} target A reference to the target to which the event was dispatched\n */\n constructor (type, target) {\n this.target = target;\n this.type = type;\n }\n}\n\n/**\n * Class representing a message event.\n *\n * @extends Event\n * @private\n */\nclass MessageEvent extends Event {\n /**\n * Create a new `MessageEvent`.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (data, target) {\n super('message', target);\n\n this.data = data;\n }\n}\n\n/**\n * Class representing a close event.\n *\n * @extends Event\n * @private\n */\nclass CloseEvent extends Event {\n /**\n * Create a new `CloseEvent`.\n *\n * @param {Number} code The status code explaining why the connection is being closed\n * @param {String} reason A human-readable string explaining why the connection is closing\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (code, reason, target) {\n super('close', target);\n\n this.wasClean = target._closeFrameReceived && target._closeFrameSent;\n this.reason = reason;\n this.code = code;\n }\n}\n\n/**\n * Class representing an open event.\n *\n * @extends Event\n * @private\n */\nclass OpenEvent extends Event {\n /**\n * Create a new `OpenEvent`.\n *\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (target) {\n super('open', target);\n }\n}\n\n/**\n * Class representing an error event.\n *\n * @extends Event\n * @private\n */\nclass ErrorEvent extends Event {\n /**\n * Create a new `ErrorEvent`.\n *\n * @param {Object} error The error that generated this event\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (error, target) {\n super('error', target);\n\n this.message = error.message;\n this.error = error;\n }\n}\n\n/**\n * This provides methods for emulating the `EventTarget` interface. It's not\n * meant to be used directly.\n *\n * @mixin\n */\nconst EventTarget = {\n /**\n * Register an event listener.\n *\n * @param {String} method A string representing the event type to listen for\n * @param {Function} listener The listener to add\n * @public\n */\n addEventListener (method, listener) {\n if (typeof listener !== 'function') return;\n\n function onMessage (data) {\n listener.call(this, new MessageEvent(data, this));\n }\n\n function onClose (code, message) {\n listener.call(this, new CloseEvent(code, message, this));\n }\n\n function onError (error) {\n listener.call(this, new ErrorEvent(error, this));\n }\n\n function onOpen () {\n listener.call(this, new OpenEvent(this));\n }\n\n if (method === 'message') {\n onMessage._listener = listener;\n this.on(method, onMessage);\n } else if (method === 'close') {\n onClose._listener = listener;\n this.on(method, onClose);\n } else if (method === 'error') {\n onError._listener = listener;\n this.on(method, onError);\n } else if (method === 'open') {\n onOpen._listener = listener;\n this.on(method, onOpen);\n } else {\n this.on(method, listener);\n }\n },\n\n /**\n * Remove an event listener.\n *\n * @param {String} method A string representing the event type to remove\n * @param {Function} listener The listener to remove\n * @public\n */\n removeEventListener (method, listener) {\n const listeners = this.listeners(method);\n\n for (var i = 0; i < listeners.length; i++) {\n if (listeners[i] === listener || listeners[i]._listener === listener) {\n this.removeListener(method, listeners[i]);\n }\n }\n }\n};\n\nmodule.exports = EventTarget;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/event-target.js\n// module id = 137\n// module chunks = 0","module.exports = require(\"stream\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"stream\"\n// module id = 138\n// module chunks = 0","'use strict';\n\nconst EventEmitter = require('events');\nconst crypto = require('crypto');\nconst http = require('http');\nconst url = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst extension = require('./extension');\nconst constants = require('./constants');\nconst WebSocket = require('./websocket');\n\n/**\n * Class representing a WebSocket server.\n *\n * @extends EventEmitter\n */\nclass WebSocketServer extends EventEmitter {\n /**\n * Create a `WebSocketServer` instance.\n *\n * @param {Object} options Configuration options\n * @param {String} options.host The hostname where to bind the server\n * @param {Number} options.port The port where to bind the server\n * @param {http.Server} options.server A pre-created HTTP/S server to use\n * @param {Function} options.verifyClient An hook to reject connections\n * @param {Function} options.handleProtocols An hook to handle protocols\n * @param {String} options.path Accept only connections matching this path\n * @param {Boolean} options.noServer Enable no server mode\n * @param {Boolean} options.clientTracking Specifies whether or not to track clients\n * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate\n * @param {Number} options.maxPayload The maximum allowed message size\n * @param {Function} callback A listener for the `listening` event\n */\n constructor (options, callback) {\n super();\n\n options = Object.assign({\n maxPayload: 100 * 1024 * 1024,\n perMessageDeflate: false,\n handleProtocols: null,\n clientTracking: true,\n verifyClient: null,\n noServer: false,\n backlog: null, // use default (511 as implemented in net.js)\n server: null,\n host: null,\n path: null,\n port: null\n }, options);\n\n if (options.port == null && !options.server && !options.noServer) {\n throw new TypeError(\n 'One of the \"port\", \"server\", or \"noServer\" options must be specified'\n );\n }\n\n if (options.port != null) {\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n\n res.writeHead(426, {\n 'Content-Length': body.length,\n 'Content-Type': 'text/plain'\n });\n res.end(body);\n });\n this._server.listen(options.port, options.host, options.backlog, callback);\n } else if (options.server) {\n this._server = options.server;\n }\n\n if (this._server) {\n this._removeListeners = addListeners(this._server, {\n listening: this.emit.bind(this, 'listening'),\n error: this.emit.bind(this, 'error'),\n upgrade: (req, socket, head) => {\n this.handleUpgrade(req, socket, head, (ws) => {\n this.emit('connection', ws, req);\n });\n }\n });\n }\n\n if (options.perMessageDeflate === true) options.perMessageDeflate = {};\n if (options.clientTracking) this.clients = new Set();\n this.options = options;\n }\n\n /**\n * Returns the bound address, the address family name, and port of the server\n * as reported by the operating system if listening on an IP socket.\n * If the server is listening on a pipe or UNIX domain socket, the name is\n * returned as a string.\n *\n * @return {(Object|String|null)} The address of the server\n * @public\n */\n address () {\n if (this.options.noServer) {\n throw new Error('The server is operating in \"noServer\" mode');\n }\n\n if (!this._server) return null;\n return this._server.address();\n }\n\n /**\n * Close the server.\n *\n * @param {Function} cb Callback\n * @public\n */\n close (cb) {\n //\n // Terminate all associated clients.\n //\n if (this.clients) {\n for (const client of this.clients) client.terminate();\n }\n\n const server = this._server;\n\n if (server) {\n this._removeListeners();\n this._removeListeners = this._server = null;\n\n //\n // Close the http server if it was internally created.\n //\n if (this.options.port != null) return server.close(cb);\n }\n\n if (cb) cb();\n }\n\n /**\n * See if a given request should be handled by this server instance.\n *\n * @param {http.IncomingMessage} req Request object to inspect\n * @return {Boolean} `true` if the request is valid, else `false`\n * @public\n */\n shouldHandle (req) {\n if (this.options.path && url.parse(req.url).pathname !== this.options.path) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Handle a HTTP Upgrade request.\n *\n * @param {http.IncomingMessage} req The request object\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @public\n */\n handleUpgrade (req, socket, head, cb) {\n socket.on('error', socketOnError);\n\n const version = +req.headers['sec-websocket-version'];\n const extensions = {};\n\n if (\n req.method !== 'GET' || req.headers.upgrade.toLowerCase() !== 'websocket' ||\n !req.headers['sec-websocket-key'] || (version !== 8 && version !== 13) ||\n !this.shouldHandle(req)\n ) {\n return abortHandshake(socket, 400);\n }\n\n if (this.options.perMessageDeflate) {\n const perMessageDeflate = new PerMessageDeflate(\n this.options.perMessageDeflate,\n true,\n this.options.maxPayload\n );\n\n try {\n const offers = extension.parse(\n req.headers['sec-websocket-extensions']\n );\n\n if (offers[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);\n extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n return abortHandshake(socket, 400);\n }\n }\n\n //\n // Optionally call external client verification handler.\n //\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`],\n secure: !!(req.connection.authorized || req.connection.encrypted),\n req\n };\n\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message) => {\n if (!verified) return abortHandshake(socket, code || 401, message);\n\n this.completeUpgrade(extensions, req, socket, head, cb);\n });\n return;\n }\n\n if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);\n }\n\n this.completeUpgrade(extensions, req, socket, head, cb);\n }\n\n /**\n * Upgrade the connection to WebSocket.\n *\n * @param {Object} extensions The accepted extensions\n * @param {http.IncomingMessage} req The request object\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @private\n */\n completeUpgrade (extensions, req, socket, head, cb) {\n //\n // Destroy the socket if the client has already sent a FIN packet.\n //\n if (!socket.readable || !socket.writable) return socket.destroy();\n\n const key = crypto.createHash('sha1')\n .update(req.headers['sec-websocket-key'] + constants.GUID, 'binary')\n .digest('base64');\n\n const headers = [\n 'HTTP/1.1 101 Switching Protocols',\n 'Upgrade: websocket',\n 'Connection: Upgrade',\n `Sec-WebSocket-Accept: ${key}`\n ];\n\n const ws = new WebSocket(null);\n var protocol = req.headers['sec-websocket-protocol'];\n\n if (protocol) {\n protocol = protocol.trim().split(/ *, */);\n\n //\n // Optionally call external protocol selection handler.\n //\n if (this.options.handleProtocols) {\n protocol = this.options.handleProtocols(protocol, req);\n } else {\n protocol = protocol[0];\n }\n\n if (protocol) {\n headers.push(`Sec-WebSocket-Protocol: ${protocol}`);\n ws.protocol = protocol;\n }\n }\n\n if (extensions[PerMessageDeflate.extensionName]) {\n const params = extensions[PerMessageDeflate.extensionName].params;\n const value = extension.format({\n [PerMessageDeflate.extensionName]: [params]\n });\n headers.push(`Sec-WebSocket-Extensions: ${value}`);\n ws._extensions = extensions;\n }\n\n //\n // Allow external modification/inspection of handshake headers.\n //\n this.emit('headers', headers, req);\n\n socket.write(headers.concat('\\r\\n').join('\\r\\n'));\n socket.removeListener('error', socketOnError);\n\n ws.setSocket(socket, head, this.options.maxPayload);\n\n if (this.clients) {\n this.clients.add(ws);\n ws.on('close', () => this.clients.delete(ws));\n }\n\n cb(ws);\n }\n}\n\nmodule.exports = WebSocketServer;\n\n/**\n * Add event listeners on an `EventEmitter` using a map of \n * pairs.\n *\n * @param {EventEmitter} server The event emitter\n * @param {Object.} map The listeners to add\n * @return {Function} A function that will remove the added listeners when called\n * @private\n */\nfunction addListeners (server, map) {\n for (const event of Object.keys(map)) server.on(event, map[event]);\n\n return function removeListeners () {\n for (const event of Object.keys(map)) {\n server.removeListener(event, map[event]);\n }\n };\n}\n\n/**\n * Handle premature socket errors.\n *\n * @private\n */\nfunction socketOnError () {\n this.destroy();\n}\n\n/**\n * Close the connection when preconditions are not fulfilled.\n *\n * @param {net.Socket} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} [message] The HTTP response body\n * @private\n */\nfunction abortHandshake (socket, code, message) {\n if (socket.writable) {\n message = message || http.STATUS_CODES[code];\n socket.write(\n `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\\r\\n` +\n 'Connection: close\\r\\n' +\n 'Content-type: text/html\\r\\n' +\n `Content-Length: ${Buffer.byteLength(message)}\\r\\n` +\n '\\r\\n' +\n message\n );\n }\n\n socket.removeListener('error', socketOnError);\n socket.destroy();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/websocket-server.js\n// module id = 139\n// module chunks = 0","import * as StreamEndpoints from './StreamEndpoints'\n\nlet endpoints = Object.assign({}, StreamEndpoints)\n\nexport default endpoints\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/AllEndpoints.js","import {stringify} from 'querystring'\nimport debug from 'debug'\n\nimport Stream from './domain/Stream'\nimport {authFetch} from './utils'\n\n// These function are mixed in to StreamrClient.prototype.\n// In the below functions, 'this' is intended to be the StreamrClient\n\nexport async function getStream(streamId, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams/' + streamId\n let json = await authFetch(url, apiKey)\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getStreamByName(name, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams?' + stringify({\n name: name,\n public: false\n })\n let json = await authFetch(url, apiKey)\n return json[0] ? new Stream(this, json[0]) : undefined\n}\n\nexport async function createStream(name, description, apiKey = this.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n name, description\n })\n })\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getOrCreateStream(name, description, apiKey = this.options.apiKey) {\n // Try looking up the stream\n let json = await this.getStreamByName(name, apiKey)\n\n // If not found, try creating the stream\n if (!json) {\n json = await this.createStream(name, description, apiKey)\n debug('Created stream: %s (%s)', name, json.id)\n }\n\n // If still nothing, throw\n if (!json) {\n throw 'Unable to find or create stream: ' + name\n } else {\n return new Stream(this, json)\n }\n}\n\nexport async function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) {\n if (typeof streamId === Stream) {\n streamId = streamId.id\n }\n\n // Send data to the stream\n return await authFetch(this.options.restUrl + '/streams/' + streamId + '/data',\n apiKey,\n Object.assign({}, requestOptions, {\n method: 'POST',\n body: JSON.stringify(data)\n })\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/StreamEndpoints.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime-module.js\n// module id = 142\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 143\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 144\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 145\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 146\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 147\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 148\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 149\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 150\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 151\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 152\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 153\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 154\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 155\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 156\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 157\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 158\n// module chunks = 0","module.exports = require(\"querystring\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"querystring\"\n// module id = 159\n// module chunks = 0","import {authFetch} from '../utils'\n\nexport default class Stream {\n\n constructor(client, props) {\n this._client = client\n Object.assign(this, props)\n }\n\n async getPermissions(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey)\n }\n\n async isPublic(apiKey = this._client.options.apiKey) {\n let permissions = await this.getPermissions(apiKey)\n return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined\n }\n\n async makePublic(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n anonymous: true,\n operation: 'read'\n }),\n })\n }\n\n async detectFields(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey)\n }\n\n async update(apiKey = this._client.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'PUT',\n body: JSON.stringify(this)\n })\n return json ? new Stream(this._client, json) : undefined\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/domain/Stream.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 2df0f7e99b2be37cb715","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/ws/lib/constants.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/debug/src/index.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///external \"http\"","webpack:///external \"url\"","webpack:///./node_modules/ws/lib/permessage-deflate.js","webpack:///external \"stream\"","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///external \"crypto\"","webpack:///./node_modules/ws/lib/buffer-util.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./src/Protocol.js","webpack:///./node_modules/ws/lib/websocket.js","webpack:///external \"events\"","webpack:///external \"https\"","webpack:///external \"zlib\"","webpack:///./node_modules/ws/lib/extension.js","webpack:///./node_modules/ws/lib/receiver.js","webpack:///./node_modules/ws/lib/validation.js","webpack:///./node_modules/ws/lib/sender.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/rest/utils.js","webpack:///./src/index.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/debug/src/node.js","webpack:///external \"tty\"","webpack:///external \"util\"","webpack:///./node_modules/supports-color/index.js","webpack:///external \"os\"","webpack:///./node_modules/has-flag/index.js","webpack:///./src/Subscription.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./src/Connection.js","webpack:///./node_modules/ws/index.js","webpack:///external \"net\"","webpack:///external \"tls\"","webpack:///./node_modules/async-limiter/index.js","webpack:///./node_modules/ws/lib/event-target.js","webpack:///./node_modules/ws/lib/websocket-server.js","webpack:///./src/rest/AllEndpoints.js","webpack:///./src/rest/StreamEndpoints.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///external \"querystring\"","webpack:///./src/rest/domain/Stream.js","webpack:///./node_modules/node-fetch/lib/index.es.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","forEach","key","url","apiKey","opts","headers","Authorization","res","text","ok","status","authFetch","prototype","StreamrClient","options","restUrl","autoConnect","autoDisconnect","authKey","subsByStream","subById","connection","connected","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close","StreamEndpoints","endpoints","json","getStream","name","public","getStreamByName","description","method","body","createStream","getOrCreateStream","requestOptions","produceToStream","Stream","client","props","_client","getPermissions","permissions","find","permission","anonymous","operation"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;;ACJA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;AC1BD;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;ACTA,kBAAkB,yD;;;;;;ACAlB,iC;;;;;;ACAA,gC;;;;;;;ACAA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,iBAAiB;AAC9B;AACA,aAAa,iBAAiB;AAC9B;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,IAAI;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,IAAI,KAAK,MAAM;AAC/D;AACA;AACA;AACA,WAAW;AACX;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA,SAAS;AACT,gDAAgD,IAAI;AACpD;;AAEA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA,wBAAwB,qCAAqC,aAAa;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACngBA,mC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA,kBAAkB,yD;;;;;;;ACAlB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AChCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA,mC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,SAAS;AAC3C,CAAC;AACD;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;;AAEA,oBAAoB;AACpB;;;;;;;AC5DA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL;AACA,E;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACpEA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AA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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD,kBAAkB,0BAA0B;AAC5C,iBAAiB,yBAAyB;AAC1C,eAAe,uBAAuB;;AAEtC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,uCAAuC,wBAAwB;AAC/D,gCAAgC,4BAA4B;AAC5D;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,SAAS;AAC7C;;AAEA;AACA;AACA;AACA;AACA,SAAS,0BAA0B,EAAE,iBAAiB;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,mBAAmB,GAAG,mBAAmB;AAC/D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,6DAA6D,eAAe;AAC5E,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,gCAAgC;AAC3C;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACjzBA,mC;;;;;;ACAA,kC;;;;;;ACAA,iC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,wBAAwB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO,4BAA4B;AACnC;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,EAAE;AACnE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,iEAAiE,EAAE;AACnE;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,EAAE,GAAG,EAAE,UAAU;AACtE,OAAO,UAAU;AACjB,KAAK;AACL,GAAG;AACH;;AAEA,kBAAkB;;;;;;;;AClNlB;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,mDAAmD,aAAa;AAChE;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,iDAAiD,aAAa;AAC9D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,0DAA0D,KAAK;AAC/D;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;AChgBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;AChZA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnFA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFCTO,iBAAyBqB,GAAzB,EAA8BC,MAA9B;AAAA,YAAsCC,IAAtC,uEAA6C,EAA7C;AAAA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;;;;;;;ACAA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,oEAAuE,2CAA4C;;;;;;;ACFnH,kBAAkB,yD;;;;;;ACAlB;AACA;;;;;;;ACDA;AACA;AACA,8BAA8B,+CAA8C;;;;;;;ACF5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,8BAA8B,kCAAsC;;;;;;;ACFpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;AClMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,2CAA2C,yBAAyB;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,IAAI;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,EAAE;AACnD,sCAAsC;;AAEtC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzLA,gC;;;;;;ACAA,iC;;;;;;;ACAA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,GAAG;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;;;;;;AClHA,+B;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,kBAAkB,IAAI;AACtB;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;;;AACA;;;;AAEA;;;;AAEA,IAAIzB,QAAQ,CAAZ;AACA,SAASoF,sBAAT,GAAkC;AAC9B,QAAIhD,KAAKpC,OAAT;AACA,WAAOoC,GAAGiD,QAAH,EAAP;AACH;;IAEoBC,Y;;;AAEjB,0BAAYjD,QAAZ,EAAsB8C,eAAtB,EAAuCrD,OAAvC,EAAgDW,QAAhD,EAA0Df,OAA1D,EAAmE;AAAA;;AAAA;;AAG/D,YAAI,CAACW,QAAL,EAAe;AACX,kBAAM,qBAAN;AACH;AACD,YAAI,CAACI,QAAL,EAAe;AAC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;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;AClEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzKA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,YAAY;AACzB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,iBAAiB;AAC9B,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kDAAkD;AACjF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,qBAAqB;AAClC,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,SAAS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CA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B;;;;;;;ACttBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACpRD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACbA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AA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A;;;AAGA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kFAAkF;AAClF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,UAAU,IAAI,YAAY;AACpH,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,+EAA+E,WAAW,WAAW,YAAY;AACjH;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,QAAQ,mBAAmB;AAC3B,YAAY,mBAAmB;AAC/B,eAAe,mBAAmB;AAClC,QAAQ,mBAAmB;AAC3B,QAAQ,mBAAmB;AAC3B,QAAQ;AACR,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,SAAS;AAC9E;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE,WAAW,SAAS,eAAe;AACvG,IAAI;AACJ;;AAEA;AACA;AACA,wEAAwE,WAAW,IAAI,YAAY;AACnG,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,WAAW,eAAe,YAAY;AACnF;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,4EAA4E,WAAW,IAAI,YAAY;AACvG;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,qBAAqB;AACrB,EAAE;AACF;AACA,4CAA4C;AAC5C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,8BAA8B,WAAW,mBAAmB;AAC5D,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA,yBAAyB,KAAK;AAC9B;AACA;;AAEA;AACA,YAAY,MAAM;AAClB;AACA,yBAAyB,MAAM;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,QAAQ,mBAAmB;AAC3B,UAAU,mBAAmB;AAC7B,WAAW;AACX,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,MAAM,mBAAmB;AACzB,cAAc,mBAAmB;AACjC,WAAW,mBAAmB;AAC9B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,IAAI;AACJ;AACA,6BAA6B,MAAM;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,YAAY,mBAAmB;AAC/B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,YAAY;AAC9D;AACA,KAAK;AACL,IAAI;AACJ;;AAEA;AACA,uCAAuC,YAAY,mBAAmB,YAAY;AAClF;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8DAA8D,YAAY;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6DAA6D,YAAY;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACQ","file":"streamr-client.node.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 85);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2df0f7e99b2be37cb715","var core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 4\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 5\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 8\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 9\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 10\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 11\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 14\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 15\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 16\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'],\n GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',\n kStatusCode: Symbol('status-code'),\n kWebSocket: Symbol('websocket'),\n EMPTY_BUFFER: Buffer.alloc(0),\n NOOP: () => {}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/constants.js\n// module id = 17\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 18\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 19\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 20\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 21\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 22\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 23\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 24\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 26\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = 27\n// module chunks = 0","/**\n * Detect Electron renderer process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer') {\n module.exports = require('./browser.js');\n} else {\n module.exports = require('./node.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/index.js\n// module id = 28\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 29\n// module chunks = 0","module.exports = require(\"http\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"http\"\n// module id = 30\n// module chunks = 0","module.exports = require(\"url\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"url\"\n// module id = 31\n// module chunks = 0","'use strict';\n\nconst Limiter = require('async-limiter');\nconst zlib = require('zlib');\n\nconst bufferUtil = require('./buffer-util');\nconst constants = require('./constants');\n\nconst TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);\nconst EMPTY_BLOCK = Buffer.from([0x00]);\n\nconst kPerMessageDeflate = Symbol('permessage-deflate');\nconst kWriteInProgress = Symbol('write-in-progress');\nconst kPendingClose = Symbol('pending-close');\nconst kTotalLength = Symbol('total-length');\nconst kCallback = Symbol('callback');\nconst kBuffers = Symbol('buffers');\nconst kError = Symbol('error');\n\n//\n// We limit zlib concurrency, which prevents severe memory fragmentation\n// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913\n// and https://github.com/websockets/ws/issues/1202\n//\n// Intentionally global; it's the global thread pool that's an issue.\n//\nlet zlibLimiter;\n\n/**\n * permessage-deflate implementation.\n */\nclass PerMessageDeflate {\n /**\n * Creates a PerMessageDeflate instance.\n *\n * @param {Object} options Configuration options\n * @param {Boolean} options.serverNoContextTakeover Request/accept disabling\n * of server context takeover\n * @param {Boolean} options.clientNoContextTakeover Advertise/acknowledge\n * disabling of client context takeover\n * @param {(Boolean|Number)} options.serverMaxWindowBits Request/confirm the\n * use of a custom server window size\n * @param {(Boolean|Number)} options.clientMaxWindowBits Advertise support\n * for, or request, a custom client window size\n * @param {Object} options.zlibDeflateOptions Options to pass to zlib on deflate\n * @param {Object} options.zlibInflateOptions Options to pass to zlib on inflate\n * @param {Number} options.threshold Size (in bytes) below which messages\n * should not be compressed\n * @param {Number} options.concurrencyLimit The number of concurrent calls to\n * zlib\n * @param {Boolean} isServer Create the instance in either server or client\n * mode\n * @param {Number} maxPayload The maximum allowed message length\n */\n constructor (options, isServer, maxPayload) {\n this._maxPayload = maxPayload | 0;\n this._options = options || {};\n this._threshold = this._options.threshold !== undefined\n ? this._options.threshold\n : 1024;\n this._isServer = !!isServer;\n this._deflate = null;\n this._inflate = null;\n\n this.params = null;\n\n if (!zlibLimiter) {\n const concurrency = this._options.concurrencyLimit !== undefined\n ? this._options.concurrencyLimit\n : 10;\n zlibLimiter = new Limiter({ concurrency });\n }\n }\n\n /**\n * @type {String}\n */\n static get extensionName () {\n return 'permessage-deflate';\n }\n\n /**\n * Create an extension negotiation offer.\n *\n * @return {Object} Extension parameters\n * @public\n */\n offer () {\n const params = {};\n\n if (this._options.serverNoContextTakeover) {\n params.server_no_context_takeover = true;\n }\n if (this._options.clientNoContextTakeover) {\n params.client_no_context_takeover = true;\n }\n if (this._options.serverMaxWindowBits) {\n params.server_max_window_bits = this._options.serverMaxWindowBits;\n }\n if (this._options.clientMaxWindowBits) {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n } else if (this._options.clientMaxWindowBits == null) {\n params.client_max_window_bits = true;\n }\n\n return params;\n }\n\n /**\n * Accept an extension negotiation offer/response.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Object} Accepted configuration\n * @public\n */\n accept (configurations) {\n configurations = this.normalizeParams(configurations);\n\n this.params = this._isServer\n ? this.acceptAsServer(configurations)\n : this.acceptAsClient(configurations);\n\n return this.params;\n }\n\n /**\n * Releases all resources used by the extension.\n *\n * @public\n */\n cleanup () {\n if (this._inflate) {\n if (this._inflate[kWriteInProgress]) {\n this._inflate[kPendingClose] = true;\n } else {\n this._inflate.close();\n this._inflate = null;\n }\n }\n if (this._deflate) {\n if (this._deflate[kWriteInProgress]) {\n this._deflate[kPendingClose] = true;\n } else {\n this._deflate.close();\n this._deflate = null;\n }\n }\n }\n\n /**\n * Accept an extension negotiation offer.\n *\n * @param {Array} offers The extension negotiation offers\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsServer (offers) {\n const opts = this._options;\n const accepted = offers.find((params) => {\n if (\n (opts.serverNoContextTakeover === false &&\n params.server_no_context_takeover) ||\n (params.server_max_window_bits &&\n (opts.serverMaxWindowBits === false ||\n (typeof opts.serverMaxWindowBits === 'number' &&\n opts.serverMaxWindowBits > params.server_max_window_bits))) ||\n (typeof opts.clientMaxWindowBits === 'number' &&\n !params.client_max_window_bits)\n ) {\n return false;\n }\n\n return true;\n });\n\n if (!accepted) {\n throw new Error('None of the extension offers can be accepted');\n }\n\n if (opts.serverNoContextTakeover) {\n accepted.server_no_context_takeover = true;\n }\n if (opts.clientNoContextTakeover) {\n accepted.client_no_context_takeover = true;\n }\n if (typeof opts.serverMaxWindowBits === 'number') {\n accepted.server_max_window_bits = opts.serverMaxWindowBits;\n }\n if (typeof opts.clientMaxWindowBits === 'number') {\n accepted.client_max_window_bits = opts.clientMaxWindowBits;\n } else if (\n accepted.client_max_window_bits === true ||\n opts.clientMaxWindowBits === false\n ) {\n delete accepted.client_max_window_bits;\n }\n\n return accepted;\n }\n\n /**\n * Accept the extension negotiation response.\n *\n * @param {Array} response The extension negotiation response\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsClient (response) {\n const params = response[0];\n\n if (\n this._options.clientNoContextTakeover === false &&\n params.client_no_context_takeover\n ) {\n throw new Error('Unexpected parameter \"client_no_context_takeover\"');\n }\n\n if (!params.client_max_window_bits) {\n if (typeof this._options.clientMaxWindowBits === 'number') {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n }\n } else if (\n this._options.clientMaxWindowBits === false ||\n (typeof this._options.clientMaxWindowBits === 'number' &&\n params.client_max_window_bits > this._options.clientMaxWindowBits)\n ) {\n throw new Error(\n 'Unexpected or invalid parameter \"client_max_window_bits\"'\n );\n }\n\n return params;\n }\n\n /**\n * Normalize parameters.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Array} The offers/response with normalized parameters\n * @private\n */\n normalizeParams (configurations) {\n configurations.forEach((params) => {\n Object.keys(params).forEach((key) => {\n var value = params[key];\n\n if (value.length > 1) {\n throw new Error(`Parameter \"${key}\" must have only a single value`);\n }\n\n value = value[0];\n\n if (key === 'client_max_window_bits') {\n if (value !== true) {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (!this._isServer) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else if (key === 'server_max_window_bits') {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (\n key === 'client_no_context_takeover' ||\n key === 'server_no_context_takeover'\n ) {\n if (value !== true) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else {\n throw new Error(`Unknown parameter \"${key}\"`);\n }\n\n params[key] = value;\n });\n });\n\n return configurations;\n }\n\n /**\n * Decompress data. Concurrency limited by async-limiter.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n decompress (data, fin, callback) {\n zlibLimiter.push((done) => {\n this._decompress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Compress data. Concurrency limited by async-limiter.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n compress (data, fin, callback) {\n zlibLimiter.push((done) => {\n this._compress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Decompress data.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _decompress (data, fin, callback) {\n const endpoint = this._isServer ? 'client' : 'server';\n\n if (!this._inflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits = typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._inflate = zlib.createInflateRaw(\n Object.assign({}, this._options.zlibInflateOptions, { windowBits })\n );\n this._inflate[kPerMessageDeflate] = this;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n this._inflate.on('error', inflateOnError);\n this._inflate.on('data', inflateOnData);\n }\n\n this._inflate[kCallback] = callback;\n this._inflate[kWriteInProgress] = true;\n\n this._inflate.write(data);\n if (fin) this._inflate.write(TRAILER);\n\n this._inflate.flush(() => {\n const err = this._inflate[kError];\n\n if (err) {\n this._inflate.close();\n this._inflate = null;\n callback(err);\n return;\n }\n\n const data = bufferUtil.concat(\n this._inflate[kBuffers],\n this._inflate[kTotalLength]\n );\n\n if (\n (fin && this.params[`${endpoint}_no_context_takeover`]) ||\n this._inflate[kPendingClose]\n ) {\n this._inflate.close();\n this._inflate = null;\n } else {\n this._inflate[kWriteInProgress] = false;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n }\n\n callback(null, data);\n });\n }\n\n /**\n * Compress data.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _compress (data, fin, callback) {\n if (!data || data.length === 0) {\n process.nextTick(callback, null, EMPTY_BLOCK);\n return;\n }\n\n const endpoint = this._isServer ? 'server' : 'client';\n\n if (!this._deflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits = typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._deflate = zlib.createDeflateRaw(\n Object.assign(\n // TODO deprecate memLevel/level and recommend zlibDeflateOptions instead\n {\n memLevel: this._options.memLevel,\n level: this._options.level\n },\n this._options.zlibDeflateOptions,\n { windowBits }\n )\n );\n\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n\n //\n // `zlib.DeflateRaw` emits an `'error'` event only when an attempt to use\n // it is made after it has already been closed. This cannot happen here,\n // so we only add a listener for the `'data'` event.\n //\n this._deflate.on('data', deflateOnData);\n }\n\n this._deflate[kWriteInProgress] = true;\n\n this._deflate.write(data);\n this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {\n var data = bufferUtil.concat(\n this._deflate[kBuffers],\n this._deflate[kTotalLength]\n );\n\n if (fin) data = data.slice(0, data.length - 4);\n\n if (\n (fin && this.params[`${endpoint}_no_context_takeover`]) ||\n this._deflate[kPendingClose]\n ) {\n this._deflate.close();\n this._deflate = null;\n } else {\n this._deflate[kWriteInProgress] = false;\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n }\n\n callback(null, data);\n });\n }\n}\n\nmodule.exports = PerMessageDeflate;\n\n/**\n * The listener of the `zlib.DeflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction deflateOnData (chunk) {\n this[kBuffers].push(chunk);\n this[kTotalLength] += chunk.length;\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction inflateOnData (chunk) {\n this[kTotalLength] += chunk.length;\n\n if (\n this[kPerMessageDeflate]._maxPayload < 1 ||\n this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload\n ) {\n this[kBuffers].push(chunk);\n return;\n }\n\n this[kError] = new RangeError('Max payload size exceeded');\n this[kError][constants.kStatusCode] = 1009;\n this.removeListener('data', inflateOnData);\n this.reset();\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'error'` event.\n *\n * @param {Error} err The emitted error\n * @private\n */\nfunction inflateOnError (err) {\n //\n // There is no need to call `Zlib#close()` as the handle is automatically\n // closed when an error is emitted.\n //\n this[kPerMessageDeflate]._inflate = null;\n err[constants.kStatusCode] = 1007;\n this[kCallback](err);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/permessage-deflate.js\n// module id = 32\n// module chunks = 0","module.exports = require(\"stream\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"stream\"\n// module id = 33\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 34\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 35\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 36\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 37\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 38\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 39\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 40\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 41\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 42\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 43\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 44\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 45\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 46\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 47\n// module chunks = 0","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 48\n// module chunks = 0","module.exports = require(\"crypto\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"crypto\"\n// module id = 49\n// module chunks = 0","'use strict';\n\n/**\n * Merges an array of buffers into a new buffer.\n *\n * @param {Buffer[]} list The array of buffers to concat\n * @param {Number} totalLength The total length of buffers in the list\n * @return {Buffer} The resulting buffer\n * @public\n */\nconst concat = (list, totalLength) => {\n const target = Buffer.allocUnsafe(totalLength);\n var offset = 0;\n\n for (var i = 0; i < list.length; i++) {\n const buf = list[i];\n buf.copy(target, offset);\n offset += buf.length;\n }\n\n return target;\n};\n\ntry {\n const bufferUtil = require('bufferutil');\n\n module.exports = Object.assign({ concat }, bufferUtil.BufferUtil || bufferUtil);\n} catch (e) /* istanbul ignore next */ {\n /**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\n const mask = (source, mask, output, offset, length) => {\n for (var i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n };\n\n /**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\n const unmask = (buffer, mask) => {\n // Required until https://github.com/nodejs/node/issues/9006 is resolved.\n const length = buffer.length;\n for (var i = 0; i < length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n };\n\n module.exports = { concat, mask, unmask };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/buffer-util.js\n// module id = 50\n// module chunks = 0","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 51\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 52\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 53\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 54\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 55\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 56\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 57\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 58\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 59\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 60\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 61\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 62\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 63\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 64\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 65\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 66\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 67\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 69\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","'use strict';\n\nconst EventEmitter = require('events');\nconst crypto = require('crypto');\nconst https = require('https');\nconst http = require('http');\nconst net = require('net');\nconst tls = require('tls');\nconst url = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst EventTarget = require('./event-target');\nconst extension = require('./extension');\nconst constants = require('./constants');\nconst Receiver = require('./receiver');\nconst Sender = require('./sender');\n\nconst readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];\nconst kWebSocket = constants.kWebSocket;\nconst protocolVersions = [8, 13];\nconst closeTimeout = 30 * 1000; // Allow 30 seconds to terminate the connection cleanly.\n\n/**\n * Class representing a WebSocket.\n *\n * @extends EventEmitter\n */\nclass WebSocket extends EventEmitter {\n /**\n * Create a new `WebSocket`.\n *\n * @param {(String|url.Url|url.URL)} address The URL to which to connect\n * @param {(String|String[])} protocols The subprotocols\n * @param {Object} options Connection options\n */\n constructor (address, protocols, options) {\n super();\n\n this.readyState = WebSocket.CONNECTING;\n this.protocol = '';\n\n this._binaryType = constants.BINARY_TYPES[0];\n this._closeFrameReceived = false;\n this._closeFrameSent = false;\n this._closeMessage = '';\n this._closeTimer = null;\n this._closeCode = 1006;\n this._extensions = {};\n this._isServer = true;\n this._receiver = null;\n this._sender = null;\n this._socket = null;\n\n if (address !== null) {\n if (Array.isArray(protocols)) {\n protocols = protocols.join(', ');\n } else if (typeof protocols === 'object' && protocols !== null) {\n options = protocols;\n protocols = undefined;\n }\n\n initAsClient.call(this, address, protocols, options);\n }\n }\n\n get CONNECTING () { return WebSocket.CONNECTING; }\n get CLOSING () { return WebSocket.CLOSING; }\n get CLOSED () { return WebSocket.CLOSED; }\n get OPEN () { return WebSocket.OPEN; }\n\n /**\n * This deviates from the WHATWG interface since ws doesn't support the required\n * default \"blob\" type (instead we define a custom \"nodebuffer\" type).\n *\n * @type {String}\n */\n get binaryType () {\n return this._binaryType;\n }\n\n set binaryType (type) {\n if (constants.BINARY_TYPES.indexOf(type) < 0) return;\n\n this._binaryType = type;\n\n //\n // Allow to change `binaryType` on the fly.\n //\n if (this._receiver) this._receiver._binaryType = type;\n }\n\n /**\n * @type {Number}\n */\n get bufferedAmount () {\n if (!this._socket) return 0;\n\n //\n // `socket.bufferSize` is `undefined` if the socket is closed.\n //\n return (this._socket.bufferSize || 0) + this._sender._bufferedBytes;\n }\n\n /**\n * @type {String}\n */\n get extensions () {\n return Object.keys(this._extensions).join();\n }\n\n /**\n * Set up the socket and the internal resources.\n *\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Number} maxPayload The maximum allowed message size\n * @private\n */\n setSocket (socket, head, maxPayload) {\n const receiver = new Receiver(\n this._binaryType,\n this._extensions,\n maxPayload\n );\n\n this._sender = new Sender(socket, this._extensions);\n this._receiver = receiver;\n this._socket = socket;\n\n receiver[kWebSocket] = this;\n socket[kWebSocket] = this;\n\n receiver.on('conclude', receiverOnConclude);\n receiver.on('drain', receiverOnDrain);\n receiver.on('error', receiverOnError);\n receiver.on('message', receiverOnMessage);\n receiver.on('ping', receiverOnPing);\n receiver.on('pong', receiverOnPong);\n\n socket.setTimeout(0);\n socket.setNoDelay();\n\n if (head.length > 0) socket.unshift(head);\n\n socket.on('close', socketOnClose);\n socket.on('data', socketOnData);\n socket.on('end', socketOnEnd);\n socket.on('error', socketOnError);\n\n this.readyState = WebSocket.OPEN;\n this.emit('open');\n }\n\n /**\n * Emit the `'close'` event.\n *\n * @private\n */\n emitClose () {\n this.readyState = WebSocket.CLOSED;\n\n if (!this._socket) {\n this.emit('close', this._closeCode, this._closeMessage);\n return;\n }\n\n if (this._extensions[PerMessageDeflate.extensionName]) {\n this._extensions[PerMessageDeflate.extensionName].cleanup();\n }\n\n this._receiver.removeAllListeners();\n this.emit('close', this._closeCode, this._closeMessage);\n }\n\n /**\n * Start a closing handshake.\n *\n * +----------+ +-----------+ +----------+\n * - - -|ws.close()|-->|close frame|-->|ws.close()|- - -\n * | +----------+ +-----------+ +----------+ |\n * +----------+ +-----------+ |\n * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING\n * +----------+ +-----------+ |\n * | | | +---+ |\n * +------------------------+-->|fin| - - - -\n * | +---+ | +---+\n * - - - - -|fin|<---------------------+\n * +---+\n *\n * @param {Number} code Status code explaining why the connection is closing\n * @param {String} data A string explaining why the connection is closing\n * @public\n */\n close (code, data) {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this.readyState === WebSocket.CLOSING) {\n if (this._closeFrameSent && this._closeFrameReceived) this._socket.end();\n return;\n }\n\n this.readyState = WebSocket.CLOSING;\n this._sender.close(code, data, !this._isServer, (err) => {\n //\n // This error is handled by the `'error'` listener on the socket. We only\n // want to know if the close frame has been sent here.\n //\n if (err) return;\n\n this._closeFrameSent = true;\n\n if (this._socket.writable) {\n if (this._closeFrameReceived) this._socket.end();\n\n //\n // Ensure that the connection is closed even if the closing handshake\n // fails.\n //\n this._closeTimer = setTimeout(\n this._socket.destroy.bind(this._socket),\n closeTimeout\n );\n }\n });\n }\n\n /**\n * Send a ping.\n *\n * @param {*} data The data to send\n * @param {Boolean} mask Indicates whether or not to mask `data`\n * @param {Function} cb Callback which is executed when the ping is sent\n * @public\n */\n ping (data, mask, cb) {\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n if (mask === undefined) mask = !this._isServer;\n this._sender.ping(data || constants.EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a pong.\n *\n * @param {*} data The data to send\n * @param {Boolean} mask Indicates whether or not to mask `data`\n * @param {Function} cb Callback which is executed when the pong is sent\n * @public\n */\n pong (data, mask, cb) {\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n if (mask === undefined) mask = !this._isServer;\n this._sender.pong(data || constants.EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a data message.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} options.compress Specifies whether or not to compress `data`\n * @param {Boolean} options.binary Specifies whether `data` is binary or text\n * @param {Boolean} options.fin Specifies whether the fragment is the last one\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback which is executed when data is written out\n * @public\n */\n send (data, options, cb) {\n if (typeof options === 'function') {\n cb = options;\n options = {};\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n\n const opts = Object.assign({\n binary: typeof data !== 'string',\n mask: !this._isServer,\n compress: true,\n fin: true\n }, options);\n\n if (!this._extensions[PerMessageDeflate.extensionName]) {\n opts.compress = false;\n }\n\n this._sender.send(data || constants.EMPTY_BUFFER, opts, cb);\n }\n\n /**\n * Forcibly close the connection.\n *\n * @public\n */\n terminate () {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this._socket) {\n this.readyState = WebSocket.CLOSING;\n this._socket.destroy();\n }\n }\n}\n\nreadyStates.forEach((readyState, i) => {\n WebSocket[readyStates[i]] = i;\n});\n\n//\n// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes.\n// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface\n//\n['open', 'error', 'close', 'message'].forEach((method) => {\n Object.defineProperty(WebSocket.prototype, `on${method}`, {\n /**\n * Return the listener of the event.\n *\n * @return {(Function|undefined)} The event listener or `undefined`\n * @public\n */\n get () {\n const listeners = this.listeners(method);\n for (var i = 0; i < listeners.length; i++) {\n if (listeners[i]._listener) return listeners[i]._listener;\n }\n },\n /**\n * Add a listener for the event.\n *\n * @param {Function} listener The listener to add\n * @public\n */\n set (listener) {\n const listeners = this.listeners(method);\n for (var i = 0; i < listeners.length; i++) {\n //\n // Remove only the listeners added via `addEventListener`.\n //\n if (listeners[i]._listener) this.removeListener(method, listeners[i]);\n }\n this.addEventListener(method, listener);\n }\n });\n});\n\nWebSocket.prototype.addEventListener = EventTarget.addEventListener;\nWebSocket.prototype.removeEventListener = EventTarget.removeEventListener;\n\nmodule.exports = WebSocket;\n\n/**\n * Initialize a WebSocket client.\n *\n * @param {(String|url.Url|url.URL)} address The URL to which to connect\n * @param {String} protocols The subprotocols\n * @param {Object} options Connection options\n * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate\n * @param {Number} options.handshakeTimeout Timeout in milliseconds for the handshake request\n * @param {Number} options.protocolVersion Value of the `Sec-WebSocket-Version` header\n * @param {String} options.origin Value of the `Origin` or `Sec-WebSocket-Origin` header\n * @private\n */\nfunction initAsClient (address, protocols, options) {\n options = Object.assign({\n protocolVersion: protocolVersions[1],\n perMessageDeflate: true\n }, options, {\n createConnection: undefined,\n socketPath: undefined,\n hostname: undefined,\n protocol: undefined,\n timeout: undefined,\n method: undefined,\n auth: undefined,\n host: undefined,\n path: undefined,\n port: undefined\n });\n\n if (protocolVersions.indexOf(options.protocolVersion) === -1) {\n throw new RangeError(\n `Unsupported protocol version: ${options.protocolVersion} ` +\n `(supported versions: ${protocolVersions.join(', ')})`\n );\n }\n\n this._isServer = false;\n\n var parsedUrl;\n\n if (typeof address === 'object' && address.href !== undefined) {\n parsedUrl = address;\n this.url = address.href;\n } else {\n parsedUrl = url.parse(address);\n this.url = address;\n }\n\n const isUnixSocket = parsedUrl.protocol === 'ws+unix:';\n\n if (!parsedUrl.host && (!isUnixSocket || !parsedUrl.pathname)) {\n throw new Error(`Invalid URL: ${this.url}`);\n }\n\n const isSecure = parsedUrl.protocol === 'wss:' || parsedUrl.protocol === 'https:';\n const key = crypto.randomBytes(16).toString('base64');\n const httpObj = isSecure ? https : http;\n const path = parsedUrl.search\n ? `${parsedUrl.pathname || '/'}${parsedUrl.search}`\n : parsedUrl.pathname || '/';\n var perMessageDeflate;\n\n options.createConnection = isSecure ? tlsConnect : netConnect;\n options.port = parsedUrl.port || (isSecure ? 443 : 80);\n options.host = parsedUrl.hostname;\n options.headers = Object.assign({\n 'Sec-WebSocket-Version': options.protocolVersion,\n 'Sec-WebSocket-Key': key,\n 'Connection': 'Upgrade',\n 'Upgrade': 'websocket'\n }, options.headers);\n options.path = path;\n\n if (options.perMessageDeflate) {\n perMessageDeflate = new PerMessageDeflate(\n options.perMessageDeflate !== true ? options.perMessageDeflate : {},\n false\n );\n options.headers['Sec-WebSocket-Extensions'] = extension.format({\n [PerMessageDeflate.extensionName]: perMessageDeflate.offer()\n });\n }\n if (protocols) {\n options.headers['Sec-WebSocket-Protocol'] = protocols;\n }\n if (options.origin) {\n if (options.protocolVersion < 13) {\n options.headers['Sec-WebSocket-Origin'] = options.origin;\n } else {\n options.headers.Origin = options.origin;\n }\n }\n if (parsedUrl.auth) {\n options.auth = parsedUrl.auth;\n } else if (parsedUrl.username || parsedUrl.password) {\n options.auth = `${parsedUrl.username}:${parsedUrl.password}`;\n }\n\n if (isUnixSocket) {\n const parts = path.split(':');\n\n if (options.agent == null && process.versions.modules < 57) {\n //\n // Setting `socketPath` in conjunction with `createConnection` without an\n // agent throws an error on Node.js < 8. Work around the issue by using a\n // different property.\n //\n options._socketPath = parts[0];\n } else {\n options.socketPath = parts[0];\n }\n\n options.path = parts[1];\n }\n\n var req = this._req = httpObj.get(options);\n\n if (options.handshakeTimeout) {\n req.setTimeout(\n options.handshakeTimeout,\n abortHandshake.bind(null, this, req, 'Opening handshake has timed out')\n );\n }\n\n req.on('error', (err) => {\n if (this._req.aborted) return;\n\n req = this._req = null;\n this.readyState = WebSocket.CLOSING;\n this.emit('error', err);\n this.emitClose();\n });\n\n req.on('response', (res) => {\n if (this.emit('unexpected-response', req, res)) return;\n\n abortHandshake(this, req, `Unexpected server response: ${res.statusCode}`);\n });\n\n req.on('upgrade', (res, socket, head) => {\n this.emit('upgrade', res);\n\n //\n // The user may have closed the connection from a listener of the `upgrade`\n // event.\n //\n if (this.readyState !== WebSocket.CONNECTING) return;\n\n req = this._req = null;\n\n const digest = crypto.createHash('sha1')\n .update(key + constants.GUID, 'binary')\n .digest('base64');\n\n if (res.headers['sec-websocket-accept'] !== digest) {\n abortHandshake(this, socket, 'Invalid Sec-WebSocket-Accept header');\n return;\n }\n\n const serverProt = res.headers['sec-websocket-protocol'];\n const protList = (protocols || '').split(/, */);\n var protError;\n\n if (!protocols && serverProt) {\n protError = 'Server sent a subprotocol but none was requested';\n } else if (protocols && !serverProt) {\n protError = 'Server sent no subprotocol';\n } else if (serverProt && protList.indexOf(serverProt) === -1) {\n protError = 'Server sent an invalid subprotocol';\n }\n\n if (protError) {\n abortHandshake(this, socket, protError);\n return;\n }\n\n if (serverProt) this.protocol = serverProt;\n\n if (perMessageDeflate) {\n try {\n const extensions = extension.parse(\n res.headers['sec-websocket-extensions']\n );\n\n if (extensions[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(\n extensions[PerMessageDeflate.extensionName]\n );\n this._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n abortHandshake(this, socket, 'Invalid Sec-WebSocket-Extensions header');\n return;\n }\n }\n\n this.setSocket(socket, head, 0);\n });\n}\n\n/**\n * Create a `net.Socket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {net.Socket} The newly created socket used to start the connection\n * @private\n */\nfunction netConnect (options) {\n options.path = options.socketPath || options._socketPath || undefined;\n return net.connect(options);\n}\n\n/**\n * Create a `tls.TLSSocket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {tls.TLSSocket} The newly created socket used to start the connection\n * @private\n */\nfunction tlsConnect (options) {\n options.path = options.socketPath || options._socketPath || undefined;\n return tls.connect(options);\n}\n\n/**\n * Abort the handshake and emit an error.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {(http.ClientRequest|net.Socket)} stream The request to abort or the\n * socket to destroy\n * @param {String} message The error message\n * @private\n */\nfunction abortHandshake (websocket, stream, message) {\n websocket.readyState = WebSocket.CLOSING;\n\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshake);\n\n if (stream.setHeader) {\n stream.abort();\n stream.once('abort', websocket.emitClose.bind(websocket));\n websocket.emit('error', err);\n } else {\n stream.destroy(err);\n stream.once('error', websocket.emit.bind(websocket, 'error'));\n stream.once('close', websocket.emitClose.bind(websocket));\n }\n}\n\n/**\n * The listener of the `Receiver` `'conclude'` event.\n *\n * @param {Number} code The status code\n * @param {String} reason The reason for closing\n * @private\n */\nfunction receiverOnConclude (code, reason) {\n const websocket = this[kWebSocket];\n\n websocket._socket.removeListener('data', socketOnData);\n websocket._socket.resume();\n\n websocket._closeFrameReceived = true;\n websocket._closeMessage = reason;\n websocket._closeCode = code;\n\n if (code === 1005) websocket.close();\n else websocket.close(code, reason);\n}\n\n/**\n * The listener of the `Receiver` `'drain'` event.\n *\n * @private\n */\nfunction receiverOnDrain () {\n this[kWebSocket]._socket.resume();\n}\n\n/**\n * The listener of the `Receiver` `'error'` event.\n *\n * @param {(RangeError|Error)} err The emitted error\n * @private\n */\nfunction receiverOnError (err) {\n const websocket = this[kWebSocket];\n\n websocket.readyState = WebSocket.CLOSING;\n websocket._closeCode = err[constants.kStatusCode];\n websocket.emit('error', err);\n websocket._socket.destroy();\n}\n\n/**\n * The listener of the `Receiver` `'finish'` event.\n *\n * @private\n */\nfunction receiverOnFinish () {\n this[kWebSocket].emitClose();\n}\n\n/**\n * The listener of the `Receiver` `'message'` event.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The message\n * @private\n */\nfunction receiverOnMessage (data) {\n this[kWebSocket].emit('message', data);\n}\n\n/**\n * The listener of the `Receiver` `'ping'` event.\n *\n * @param {Buffer} data The data included in the ping frame\n * @private\n */\nfunction receiverOnPing (data) {\n const websocket = this[kWebSocket];\n\n websocket.pong(data, !websocket._isServer, constants.NOOP);\n websocket.emit('ping', data);\n}\n\n/**\n * The listener of the `Receiver` `'pong'` event.\n *\n * @param {Buffer} data The data included in the pong frame\n * @private\n */\nfunction receiverOnPong (data) {\n this[kWebSocket].emit('pong', data);\n}\n\n/**\n * The listener of the `net.Socket` `'close'` event.\n *\n * @private\n */\nfunction socketOnClose () {\n const websocket = this[kWebSocket];\n\n this.removeListener('close', socketOnClose);\n this.removeListener('data', socketOnData);\n this.removeListener('end', socketOnEnd);\n this[kWebSocket] = undefined;\n\n websocket.readyState = WebSocket.CLOSING;\n\n //\n // The close frame might not have been received or the `'end'` event emitted,\n // for example, if the socket was destroyed due to an error. Ensure that the\n // `receiver` stream is closed after writing any remaining buffered data to\n // it.\n //\n websocket._socket.read();\n websocket._receiver.end();\n\n clearTimeout(websocket._closeTimer);\n\n if (\n websocket._receiver._writableState.finished ||\n websocket._receiver._writableState.errorEmitted\n ) {\n websocket.emitClose();\n } else {\n websocket._receiver.on('error', receiverOnFinish);\n websocket._receiver.on('finish', receiverOnFinish);\n }\n}\n\n/**\n * The listener of the `net.Socket` `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction socketOnData (chunk) {\n if (!this[kWebSocket]._receiver.write(chunk)) {\n this.pause();\n }\n}\n\n/**\n * The listener of the `net.Socket` `'end'` event.\n *\n * @private\n */\nfunction socketOnEnd () {\n const websocket = this[kWebSocket];\n\n websocket.readyState = WebSocket.CLOSING;\n websocket._receiver.end();\n this.end();\n}\n\n/**\n * The listener of the `net.Socket` `'error'` event.\n *\n * @private\n */\nfunction socketOnError () {\n const websocket = this[kWebSocket];\n\n this.removeListener('error', socketOnError);\n this.on('error', constants.NOOP);\n\n if (websocket) {\n websocket.readyState = WebSocket.CLOSING;\n this.destroy();\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/websocket.js\n// module id = 71\n// module chunks = 0","module.exports = require(\"events\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"events\"\n// module id = 72\n// module chunks = 0","module.exports = require(\"https\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"https\"\n// module id = 73\n// module chunks = 0","module.exports = require(\"zlib\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"zlib\"\n// module id = 74\n// module chunks = 0","'use strict';\n\n//\n// Allowed token characters:\n//\n// '!', '#', '$', '%', '&', ''', '*', '+', '-',\n// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'\n//\n// tokenChars[32] === 0 // ' '\n// tokenChars[33] === 1 // '!'\n// tokenChars[34] === 0 // '\"'\n// ...\n//\nconst tokenChars = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127\n];\n\n/**\n * Adds an offer to the map of extension offers or a parameter to the map of\n * parameters.\n *\n * @param {Object} dest The map of extension offers or parameters\n * @param {String} name The extension or parameter name\n * @param {(Object|Boolean|String)} elem The extension parameters or the\n * parameter value\n * @private\n */\nfunction push (dest, name, elem) {\n if (Object.prototype.hasOwnProperty.call(dest, name)) dest[name].push(elem);\n else dest[name] = [elem];\n}\n\n/**\n * Parses the `Sec-WebSocket-Extensions` header into an object.\n *\n * @param {String} header The field value of the header\n * @return {Object} The parsed object\n * @public\n */\nfunction parse (header) {\n const offers = {};\n\n if (header === undefined || header === '') return offers;\n\n var params = {};\n var mustUnescape = false;\n var isEscaping = false;\n var inQuotes = false;\n var extensionName;\n var paramName;\n var start = -1;\n var end = -1;\n\n for (var i = 0; i < header.length; i++) {\n const code = header.charCodeAt(i);\n\n if (extensionName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20/* ' ' */|| code === 0x09/* '\\t' */) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b/* ';' */ || code === 0x2c/* ',' */) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n const name = header.slice(start, end);\n if (code === 0x2c) {\n push(offers, name, params);\n params = {};\n } else {\n extensionName = name;\n }\n\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (paramName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20 || code === 0x09) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n push(params, header.slice(start, end), true);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = {};\n extensionName = undefined;\n }\n\n start = end = -1;\n } else if (code === 0x3d/* '=' */&& start !== -1 && end === -1) {\n paramName = header.slice(start, i);\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else {\n //\n // The value of a quoted-string after unescaping must conform to the\n // token ABNF, so only token characters are valid.\n // Ref: https://tools.ietf.org/html/rfc6455#section-9.1\n //\n if (isEscaping) {\n if (tokenChars[code] !== 1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1) start = i;\n else if (!mustUnescape) mustUnescape = true;\n isEscaping = false;\n } else if (inQuotes) {\n if (tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x22/* '\"' */ && start !== -1) {\n inQuotes = false;\n end = i;\n } else if (code === 0x5c/* '\\' */) {\n isEscaping = true;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {\n inQuotes = true;\n } else if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (start !== -1 && (code === 0x20 || code === 0x09)) {\n if (end === -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n var value = header.slice(start, end);\n if (mustUnescape) {\n value = value.replace(/\\\\/g, '');\n mustUnescape = false;\n }\n push(params, paramName, value);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = {};\n extensionName = undefined;\n }\n\n paramName = undefined;\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n }\n }\n\n if (start === -1 || inQuotes) {\n throw new SyntaxError('Unexpected end of input');\n }\n\n if (end === -1) end = i;\n const token = header.slice(start, end);\n if (extensionName === undefined) {\n push(offers, token, {});\n } else {\n if (paramName === undefined) {\n push(params, token, true);\n } else if (mustUnescape) {\n push(params, paramName, token.replace(/\\\\/g, ''));\n } else {\n push(params, paramName, token);\n }\n push(offers, extensionName, params);\n }\n\n return offers;\n}\n\n/**\n * Builds the `Sec-WebSocket-Extensions` header field value.\n *\n * @param {Object} extensions The map of extensions and parameters to format\n * @return {String} A string representing the given object\n * @public\n */\nfunction format (extensions) {\n return Object.keys(extensions).map((extension) => {\n var configurations = extensions[extension];\n if (!Array.isArray(configurations)) configurations = [configurations];\n return configurations.map((params) => {\n return [extension].concat(Object.keys(params).map((k) => {\n var values = params[k];\n if (!Array.isArray(values)) values = [values];\n return values.map((v) => v === true ? k : `${k}=${v}`).join('; ');\n })).join('; ');\n }).join(', ');\n }).join(', ');\n}\n\nmodule.exports = { format, parse };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/extension.js\n// module id = 75\n// module chunks = 0","'use strict';\n\nconst stream = require('stream');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst bufferUtil = require('./buffer-util');\nconst validation = require('./validation');\nconst constants = require('./constants');\n\nconst GET_INFO = 0;\nconst GET_PAYLOAD_LENGTH_16 = 1;\nconst GET_PAYLOAD_LENGTH_64 = 2;\nconst GET_MASK = 3;\nconst GET_DATA = 4;\nconst INFLATING = 5;\n\n/**\n * HyBi Receiver implementation.\n *\n * @extends stream.Writable\n */\nclass Receiver extends stream.Writable {\n /**\n * Creates a Receiver instance.\n *\n * @param {String} binaryType The type for binary data\n * @param {Object} extensions An object containing the negotiated extensions\n * @param {Number} maxPayload The maximum allowed message length\n */\n constructor (binaryType, extensions, maxPayload) {\n super();\n\n this._binaryType = binaryType || constants.BINARY_TYPES[0];\n this[constants.kWebSocket] = undefined;\n this._extensions = extensions || {};\n this._maxPayload = maxPayload | 0;\n\n this._bufferedBytes = 0;\n this._buffers = [];\n\n this._compressed = false;\n this._payloadLength = 0;\n this._mask = undefined;\n this._fragmented = 0;\n this._masked = false;\n this._fin = false;\n this._opcode = 0;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragments = [];\n\n this._state = GET_INFO;\n this._loop = false;\n }\n\n /**\n * Implements `Writable.prototype._write()`.\n *\n * @param {Buffer} chunk The chunk of data to write\n * @param {String} encoding The character encoding of `chunk`\n * @param {Function} cb Callback\n */\n _write (chunk, encoding, cb) {\n if (this._opcode === 0x08) return cb();\n\n this._bufferedBytes += chunk.length;\n this._buffers.push(chunk);\n this.startLoop(cb);\n }\n\n /**\n * Consumes `n` bytes from the buffered data.\n *\n * @param {Number} n The number of bytes to consume\n * @return {Buffer} The consumed bytes\n * @private\n */\n consume (n) {\n this._bufferedBytes -= n;\n\n if (n === this._buffers[0].length) return this._buffers.shift();\n\n if (n < this._buffers[0].length) {\n const buf = this._buffers[0];\n this._buffers[0] = buf.slice(n);\n return buf.slice(0, n);\n }\n\n const dst = Buffer.allocUnsafe(n);\n\n do {\n const buf = this._buffers[0];\n\n if (n >= buf.length) {\n this._buffers.shift().copy(dst, dst.length - n);\n } else {\n buf.copy(dst, dst.length - n, 0, n);\n this._buffers[0] = buf.slice(n);\n }\n\n n -= buf.length;\n } while (n > 0);\n\n return dst;\n }\n\n /**\n * Starts the parsing loop.\n *\n * @param {Function} cb Callback\n * @private\n */\n startLoop (cb) {\n var err;\n this._loop = true;\n\n do {\n switch (this._state) {\n case GET_INFO:\n err = this.getInfo();\n break;\n case GET_PAYLOAD_LENGTH_16:\n err = this.getPayloadLength16();\n break;\n case GET_PAYLOAD_LENGTH_64:\n err = this.getPayloadLength64();\n break;\n case GET_MASK:\n this.getMask();\n break;\n case GET_DATA:\n err = this.getData(cb);\n break;\n default: // `INFLATING`\n this._loop = false;\n return;\n }\n } while (this._loop);\n\n cb(err);\n }\n\n /**\n * Reads the first two bytes of a frame.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getInfo () {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(2);\n\n if ((buf[0] & 0x30) !== 0x00) {\n this._loop = false;\n return error(RangeError, 'RSV2 and RSV3 must be clear', true, 1002);\n }\n\n const compressed = (buf[0] & 0x40) === 0x40;\n\n if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n this._fin = (buf[0] & 0x80) === 0x80;\n this._opcode = buf[0] & 0x0f;\n this._payloadLength = buf[1] & 0x7f;\n\n if (this._opcode === 0x00) {\n if (compressed) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n if (!this._fragmented) {\n this._loop = false;\n return error(RangeError, 'invalid opcode 0', true, 1002);\n }\n\n this._opcode = this._fragmented;\n } else if (this._opcode === 0x01 || this._opcode === 0x02) {\n if (this._fragmented) {\n this._loop = false;\n return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002);\n }\n\n this._compressed = compressed;\n } else if (this._opcode > 0x07 && this._opcode < 0x0b) {\n if (!this._fin) {\n this._loop = false;\n return error(RangeError, 'FIN must be set', true, 1002);\n }\n\n if (compressed) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n if (this._payloadLength > 0x7d) {\n this._loop = false;\n return error(\n RangeError,\n `invalid payload length ${this._payloadLength}`,\n true,\n 1002\n );\n }\n } else {\n this._loop = false;\n return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002);\n }\n\n if (!this._fin && !this._fragmented) this._fragmented = this._opcode;\n this._masked = (buf[1] & 0x80) === 0x80;\n\n if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;\n else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;\n else return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+16).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength16 () {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n this._payloadLength = this.consume(2).readUInt16BE(0);\n return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+64).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength64 () {\n if (this._bufferedBytes < 8) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(8);\n const num = buf.readUInt32BE(0);\n\n //\n // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned\n // if payload length is greater than this number.\n //\n if (num > Math.pow(2, 53 - 32) - 1) {\n this._loop = false;\n return error(\n RangeError,\n 'Unsupported WebSocket frame: payload length > 2^53 - 1',\n false,\n 1009\n );\n }\n\n this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);\n return this.haveLength();\n }\n\n /**\n * Payload length has been read.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n haveLength () {\n if (this._payloadLength && this._opcode < 0x08) {\n this._totalPayloadLength += this._payloadLength;\n if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {\n this._loop = false;\n return error(RangeError, 'Max payload size exceeded', false, 1009);\n }\n }\n\n if (this._masked) this._state = GET_MASK;\n else this._state = GET_DATA;\n }\n\n /**\n * Reads mask bytes.\n *\n * @private\n */\n getMask () {\n if (this._bufferedBytes < 4) {\n this._loop = false;\n return;\n }\n\n this._mask = this.consume(4);\n this._state = GET_DATA;\n }\n\n /**\n * Reads data bytes.\n *\n * @param {Function} cb Callback\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n getData (cb) {\n var data = constants.EMPTY_BUFFER;\n\n if (this._payloadLength) {\n if (this._bufferedBytes < this._payloadLength) {\n this._loop = false;\n return;\n }\n\n data = this.consume(this._payloadLength);\n if (this._masked) bufferUtil.unmask(data, this._mask);\n }\n\n if (this._opcode > 0x07) return this.controlMessage(data);\n\n if (this._compressed) {\n this._state = INFLATING;\n this.decompress(data, cb);\n return;\n }\n\n if (data.length) {\n //\n // This message is not compressed so its lenght is the sum of the payload\n // length of all fragments.\n //\n this._messageLength = this._totalPayloadLength;\n this._fragments.push(data);\n }\n\n return this.dataMessage();\n }\n\n /**\n * Decompresses data.\n *\n * @param {Buffer} data Compressed data\n * @param {Function} cb Callback\n * @private\n */\n decompress (data, cb) {\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n perMessageDeflate.decompress(data, this._fin, (err, buf) => {\n if (err) return cb(err);\n\n if (buf.length) {\n this._messageLength += buf.length;\n if (this._messageLength > this._maxPayload && this._maxPayload > 0) {\n return cb(error(RangeError, 'Max payload size exceeded', false, 1009));\n }\n\n this._fragments.push(buf);\n }\n\n const er = this.dataMessage();\n if (er) return cb(er);\n\n this.startLoop(cb);\n });\n }\n\n /**\n * Handles a data message.\n *\n * @return {(Error|undefined)} A possible error\n * @private\n */\n dataMessage () {\n if (this._fin) {\n const messageLength = this._messageLength;\n const fragments = this._fragments;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragmented = 0;\n this._fragments = [];\n\n if (this._opcode === 2) {\n var data;\n\n if (this._binaryType === 'nodebuffer') {\n data = toBuffer(fragments, messageLength);\n } else if (this._binaryType === 'arraybuffer') {\n data = toArrayBuffer(toBuffer(fragments, messageLength));\n } else {\n data = fragments;\n }\n\n this.emit('message', data);\n } else {\n const buf = toBuffer(fragments, messageLength);\n\n if (!validation.isValidUTF8(buf)) {\n this._loop = false;\n return error(Error, 'invalid UTF-8 sequence', true, 1007);\n }\n\n this.emit('message', buf.toString());\n }\n }\n\n this._state = GET_INFO;\n }\n\n /**\n * Handles a control message.\n *\n * @param {Buffer} data Data to handle\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n controlMessage (data) {\n if (this._opcode === 0x08) {\n this._loop = false;\n\n if (data.length === 0) {\n this.emit('conclude', 1005, '');\n this.end();\n } else if (data.length === 1) {\n return error(RangeError, 'invalid payload length 1', true, 1002);\n } else {\n const code = data.readUInt16BE(0);\n\n if (!validation.isValidStatusCode(code)) {\n return error(RangeError, `invalid status code ${code}`, true, 1002);\n }\n\n const buf = data.slice(2);\n\n if (!validation.isValidUTF8(buf)) {\n return error(Error, 'invalid UTF-8 sequence', true, 1007);\n }\n\n this.emit('conclude', code, buf.toString());\n this.end();\n }\n\n return;\n }\n\n if (this._opcode === 0x09) this.emit('ping', data);\n else this.emit('pong', data);\n\n this._state = GET_INFO;\n }\n}\n\nmodule.exports = Receiver;\n\n/**\n * Builds an error object.\n *\n * @param {(Error|RangeError)} ErrorCtor The error constructor\n * @param {String} message The error message\n * @param {Boolean} prefix Specifies whether or not to add a default prefix to\n * `message`\n * @param {Number} statusCode The status code\n * @return {(Error|RangeError)} The error\n * @private\n */\nfunction error (ErrorCtor, message, prefix, statusCode) {\n const err = new ErrorCtor(\n prefix ? `Invalid WebSocket frame: ${message}` : message\n );\n\n Error.captureStackTrace(err, error);\n err[constants.kStatusCode] = statusCode;\n return err;\n}\n\n/**\n * Makes a buffer from a list of fragments.\n *\n * @param {Buffer[]} fragments The list of fragments composing the message\n * @param {Number} messageLength The length of the message\n * @return {Buffer}\n * @private\n */\nfunction toBuffer (fragments, messageLength) {\n if (fragments.length === 1) return fragments[0];\n if (fragments.length > 1) return bufferUtil.concat(fragments, messageLength);\n return constants.EMPTY_BUFFER;\n}\n\n/**\n * Converts a buffer to an `ArrayBuffer`.\n *\n * @param {Buffer} The buffer to convert\n * @return {ArrayBuffer} Converted buffer\n */\nfunction toArrayBuffer (buf) {\n if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {\n return buf.buffer;\n }\n\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/receiver.js\n// module id = 76\n// module chunks = 0","'use strict';\n\ntry {\n const isValidUTF8 = require('utf-8-validate');\n\n exports.isValidUTF8 = typeof isValidUTF8 === 'object'\n ? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0\n : isValidUTF8;\n} catch (e) /* istanbul ignore next */ {\n exports.isValidUTF8 = () => true;\n}\n\n/**\n * Checks if a status code is allowed in a close frame.\n *\n * @param {Number} code The status code\n * @return {Boolean} `true` if the status code is valid, else `false`\n * @public\n */\nexports.isValidStatusCode = (code) => {\n return (\n (code >= 1000 &&\n code <= 1013 &&\n code !== 1004 &&\n code !== 1005 &&\n code !== 1006) ||\n (code >= 3000 && code <= 4999)\n );\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/validation.js\n// module id = 77\n// module chunks = 0","'use strict';\n\nconst crypto = require('crypto');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst bufferUtil = require('./buffer-util');\nconst validation = require('./validation');\nconst constants = require('./constants');\n\n/**\n * HyBi Sender implementation.\n */\nclass Sender {\n /**\n * Creates a Sender instance.\n *\n * @param {net.Socket} socket The connection socket\n * @param {Object} extensions An object containing the negotiated extensions\n */\n constructor (socket, extensions) {\n this._extensions = extensions || {};\n this._socket = socket;\n\n this._firstFragment = true;\n this._compress = false;\n\n this._bufferedBytes = 0;\n this._deflating = false;\n this._queue = [];\n }\n\n /**\n * Frames a piece of data according to the HyBi WebSocket protocol.\n *\n * @param {Buffer} data The data to frame\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} options.readOnly Specifies whether `data` can be modified\n * @param {Boolean} options.fin Specifies whether or not to set the FIN bit\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit\n * @return {Buffer[]} The framed data as a list of `Buffer` instances\n * @public\n */\n static frame (data, options) {\n const merge = data.length < 1024 || (options.mask && options.readOnly);\n var offset = options.mask ? 6 : 2;\n var payloadLength = data.length;\n\n if (data.length >= 65536) {\n offset += 8;\n payloadLength = 127;\n } else if (data.length > 125) {\n offset += 2;\n payloadLength = 126;\n }\n\n const target = Buffer.allocUnsafe(merge ? data.length + offset : offset);\n\n target[0] = options.fin ? options.opcode | 0x80 : options.opcode;\n if (options.rsv1) target[0] |= 0x40;\n\n if (payloadLength === 126) {\n target.writeUInt16BE(data.length, 2);\n } else if (payloadLength === 127) {\n target.writeUInt32BE(0, 2);\n target.writeUInt32BE(data.length, 6);\n }\n\n if (!options.mask) {\n target[1] = payloadLength;\n if (merge) {\n data.copy(target, offset);\n return [target];\n }\n\n return [target, data];\n }\n\n const mask = crypto.randomBytes(4);\n\n target[1] = payloadLength | 0x80;\n target[offset - 4] = mask[0];\n target[offset - 3] = mask[1];\n target[offset - 2] = mask[2];\n target[offset - 1] = mask[3];\n\n if (merge) {\n bufferUtil.mask(data, mask, target, offset, data.length);\n return [target];\n }\n\n bufferUtil.mask(data, mask, data, 0, data.length);\n return [target, data];\n }\n\n /**\n * Sends a close message to the other peer.\n *\n * @param {(Number|undefined)} code The status code component of the body\n * @param {String} data The message component of the body\n * @param {Boolean} mask Specifies whether or not to mask the message\n * @param {Function} cb Callback\n * @public\n */\n close (code, data, mask, cb) {\n var buf;\n\n if (code === undefined) {\n buf = constants.EMPTY_BUFFER;\n } else if (typeof code !== 'number' || !validation.isValidStatusCode(code)) {\n throw new TypeError('First argument must be a valid error code number');\n } else if (data === undefined || data === '') {\n buf = Buffer.allocUnsafe(2);\n buf.writeUInt16BE(code, 0);\n } else {\n buf = Buffer.allocUnsafe(2 + Buffer.byteLength(data));\n buf.writeUInt16BE(code, 0);\n buf.write(data, 2);\n }\n\n if (this._deflating) {\n this.enqueue([this.doClose, buf, mask, cb]);\n } else {\n this.doClose(buf, mask, cb);\n }\n }\n\n /**\n * Frames and sends a close message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @private\n */\n doClose (data, mask, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x08,\n mask,\n readOnly: false\n }), cb);\n }\n\n /**\n * Sends a ping message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n ping (data, mask, cb) {\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n if (this._deflating) {\n this.enqueue([this.doPing, data, mask, readOnly, cb]);\n } else {\n this.doPing(data, mask, readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a ping message.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Boolean} readOnly Specifies whether `data` can be modified\n * @param {Function} cb Callback\n * @private\n */\n doPing (data, mask, readOnly, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x09,\n mask,\n readOnly\n }), cb);\n }\n\n /**\n * Sends a pong message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n pong (data, mask, cb) {\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n if (this._deflating) {\n this.enqueue([this.doPong, data, mask, readOnly, cb]);\n } else {\n this.doPong(data, mask, readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a pong message.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Boolean} readOnly Specifies whether `data` can be modified\n * @param {Function} cb Callback\n * @private\n */\n doPong (data, mask, readOnly, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x0a,\n mask,\n readOnly\n }), cb);\n }\n\n /**\n * Sends a data message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} options.compress Specifies whether or not to compress `data`\n * @param {Boolean} options.binary Specifies whether `data` is binary or text\n * @param {Boolean} options.fin Specifies whether the fragment is the last one\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n send (data, options, cb) {\n var opcode = options.binary ? 2 : 1;\n var rsv1 = options.compress;\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n if (this._firstFragment) {\n this._firstFragment = false;\n if (rsv1 && perMessageDeflate) {\n rsv1 = data.length >= perMessageDeflate._threshold;\n }\n this._compress = rsv1;\n } else {\n rsv1 = false;\n opcode = 0;\n }\n\n if (options.fin) this._firstFragment = true;\n\n if (perMessageDeflate) {\n const opts = {\n fin: options.fin,\n rsv1,\n opcode,\n mask: options.mask,\n readOnly\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, data, this._compress, opts, cb]);\n } else {\n this.dispatch(data, this._compress, opts, cb);\n }\n } else {\n this.sendFrame(Sender.frame(data, {\n fin: options.fin,\n rsv1: false,\n opcode,\n mask: options.mask,\n readOnly\n }), cb);\n }\n }\n\n /**\n * Dispatches a data message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} compress Specifies whether or not to compress `data`\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} options.readOnly Specifies whether `data` can be modified\n * @param {Boolean} options.fin Specifies whether or not to set the FIN bit\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit\n * @param {Function} cb Callback\n * @private\n */\n dispatch (data, compress, options, cb) {\n if (!compress) {\n this.sendFrame(Sender.frame(data, options), cb);\n return;\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n this._deflating = true;\n perMessageDeflate.compress(data, options.fin, (_, buf) => {\n options.readOnly = false;\n this.sendFrame(Sender.frame(buf, options), cb);\n this._deflating = false;\n this.dequeue();\n });\n }\n\n /**\n * Executes queued send operations.\n *\n * @private\n */\n dequeue () {\n while (!this._deflating && this._queue.length) {\n const params = this._queue.shift();\n\n this._bufferedBytes -= params[1].length;\n params[0].apply(this, params.slice(1));\n }\n }\n\n /**\n * Enqueues a send operation.\n *\n * @param {Array} params Send operation parameters.\n * @private\n */\n enqueue (params) {\n this._bufferedBytes += params[1].length;\n this._queue.push(params);\n }\n\n /**\n * Sends a frame.\n *\n * @param {Buffer[]} list The frame to send\n * @param {Function} cb Callback\n * @private\n */\n sendFrame (list, cb) {\n if (list.length === 2) {\n this._socket.write(list[0]);\n this._socket.write(list[1], cb);\n } else {\n this._socket.write(list[0], cb);\n }\n }\n}\n\nmodule.exports = Sender;\n\n/**\n * Converts an `ArrayBuffer` view into a buffer.\n *\n * @param {(DataView|TypedArray)} view The view to convert\n * @return {Buffer} Converted view\n * @private\n */\nfunction viewToBuffer (view) {\n const buf = Buffer.from(view.buffer);\n\n if (view.byteLength !== view.buffer.byteLength) {\n return buf.slice(view.byteOffset, view.byteOffset + view.byteLength);\n }\n\n return buf;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/sender.js\n// module id = 78\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 79\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 80\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 81\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 82\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 83\n// module chunks = 0","import fetch from 'node-fetch'\n\nexport async function authFetch(url, apiKey, opts = {}) {\n let req = Object.assign({}, opts, {\n headers: apiKey ? {\n Authorization: 'token '+ apiKey\n } : undefined\n })\n\n let res = await fetch(url, req)\n\n let text = await res.text()\n\n if (res.ok && text.length) {\n try {\n return JSON.parse(text)\n } catch (err) {\n throw 'Failed to parse JSON response: '+text\n }\n } else if (res.ok) {\n return {}\n } else {\n throw 'Request to '+url+' returned with error code '+res.status+': '+text\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/utils.js","import StreamrClient from './StreamrClient'\nimport AllEndpoints from './rest/AllEndpoints'\n\n// Mixin the rest endpoints to the StreamrClient\nObject.assign(StreamrClient.prototype, AllEndpoints)\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 86\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 87\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 88\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 89\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 90\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n restUrl: 'https://www.streamr.com/api/v1',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n authKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.authKey || this.options.authKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.authKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.authKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 92\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 93\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 94\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 95\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 96\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 97\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 98\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 99\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 100\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 101\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 102\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 103\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 104\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 105\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 106\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 107\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 108\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 109\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 110\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 111\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 112\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 113\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 114\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 115\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 116\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 117\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 118\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 119\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 120\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 121\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 122\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 123\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 124\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar tty = require('tty');\nvar util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\n\n/**\n * Colors.\n */\n\nexports.colors = [ 6, 2, 3, 4, 5, 1 ];\n\ntry {\n var supportsColor = require('supports-color');\n if (supportsColor && supportsColor.level >= 2) {\n exports.colors = [\n 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68,\n 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134,\n 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,\n 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204,\n 205, 206, 207, 208, 209, 214, 215, 220, 221\n ];\n }\n} catch (err) {\n // swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(function (key) {\n return /^debug_/i.test(key);\n}).reduce(function (obj, key) {\n // camel-case\n var prop = key\n .substring(6)\n .toLowerCase()\n .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });\n\n // coerce string value into JS value\n var val = process.env[key];\n if (/^(yes|on|true|enabled)$/i.test(val)) val = true;\n else if (/^(no|off|false|disabled)$/i.test(val)) val = false;\n else if (val === 'null') val = null;\n else val = Number(val);\n\n obj[prop] = val;\n return obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n return 'colors' in exports.inspectOpts\n ? Boolean(exports.inspectOpts.colors)\n : tty.isatty(process.stderr.fd);\n}\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nexports.formatters.o = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts)\n .split('\\n').map(function(str) {\n return str.trim()\n }).join(' ');\n};\n\n/**\n * Map %o to `util.inspect()`, allowing multiple lines if needed.\n */\n\nexports.formatters.O = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts);\n};\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var name = this.namespace;\n var useColors = this.useColors;\n\n if (useColors) {\n var c = this.color;\n var colorCode = '\\u001b[3' + (c < 8 ? c : '8;5;' + c);\n var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\\u001b[0m';\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\\u001b[0m');\n } else {\n args[0] = getDate() + name + ' ' + args[0];\n }\n}\n\nfunction getDate() {\n if (exports.inspectOpts.hideDate) {\n return '';\n } else {\n return new Date().toISOString() + ' ';\n }\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log() {\n return process.stderr.write(util.format.apply(util, arguments) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n if (null == namespaces) {\n // If you set a process.env field to null or undefined, it gets cast to the\n // string 'null' or 'undefined'. Just delete instead.\n delete process.env.DEBUG;\n } else {\n process.env.DEBUG = namespaces;\n }\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n return process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init (debug) {\n debug.inspectOpts = {};\n\n var keys = Object.keys(exports.inspectOpts);\n for (var i = 0; i < keys.length; i++) {\n debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n }\n}\n\n/**\n * Enable namespaces listed in `process.env.DEBUG` initially.\n */\n\nexports.enable(load());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/node.js\n// module id = 125\n// module chunks = 0","module.exports = require(\"tty\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tty\"\n// module id = 126\n// module chunks = 0","module.exports = require(\"util\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"util\"\n// module id = 127\n// module chunks = 0","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nconst support = level => {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n};\n\nlet supportLevel = (() => {\n\tif (hasFlag('no-color') ||\n\t\thasFlag('no-colors') ||\n\t\thasFlag('color=false')) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (hasFlag('color') ||\n\t\thasFlag('colors') ||\n\t\thasFlag('color=true') ||\n\t\thasFlag('color=always')) {\n\t\treturn 1;\n\t}\n\n\tif (process.stdout && !process.stdout.isTTY) {\n\t\treturn 0;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Hyper':\n\t\t\t\treturn 3;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn 0;\n\t}\n\n\treturn 0;\n})();\n\nif ('FORCE_COLOR' in env) {\n\tsupportLevel = parseInt(env.FORCE_COLOR, 10) === 0 ? 0 : (supportLevel || 1);\n}\n\nmodule.exports = process && support(supportLevel);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/supports-color/index.js\n// module id = 128\n// module chunks = 0","module.exports = require(\"os\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"os\"\n// module id = 129\n// module chunks = 0","'use strict';\nmodule.exports = function (flag, argv) {\n\targv = argv || process.argv;\n\n\tvar terminatorPos = argv.indexOf('--');\n\tvar prefix = /^-{1,2}/.test(flag) ? '' : '--';\n\tvar pos = argv.indexOf(prefix + flag);\n\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/has-flag/index.js\n// module id = 130\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, authKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.authKey = authKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 132\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js","'use strict';\n\nconst WebSocket = require('./lib/websocket');\n\nWebSocket.Server = require('./lib/websocket-server');\nWebSocket.Receiver = require('./lib/receiver');\nWebSocket.Sender = require('./lib/sender');\n\nmodule.exports = WebSocket;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/index.js\n// module id = 134\n// module chunks = 0","module.exports = require(\"net\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"net\"\n// module id = 135\n// module chunks = 0","module.exports = require(\"tls\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tls\"\n// module id = 136\n// module chunks = 0","'use strict';\n\nfunction Queue(options) {\n if (!(this instanceof Queue)) {\n return new Queue(options);\n }\n\n options = options || {};\n this.concurrency = options.concurrency || Infinity;\n this.pending = 0;\n this.jobs = [];\n this.cbs = [];\n this._done = done.bind(this);\n}\n\nvar arrayAddMethods = [\n 'push',\n 'unshift',\n 'splice'\n];\n\narrayAddMethods.forEach(function(method) {\n Queue.prototype[method] = function() {\n var methodResult = Array.prototype[method].apply(this.jobs, arguments);\n this._run();\n return methodResult;\n };\n});\n\nObject.defineProperty(Queue.prototype, 'length', {\n get: function() {\n return this.pending + this.jobs.length;\n }\n});\n\nQueue.prototype._run = function() {\n if (this.pending === this.concurrency) {\n return;\n }\n if (this.jobs.length) {\n var job = this.jobs.shift();\n this.pending++;\n job(this._done);\n this._run();\n }\n\n if (this.pending === 0) {\n while (this.cbs.length !== 0) {\n var cb = this.cbs.pop();\n process.nextTick(cb);\n }\n }\n};\n\nQueue.prototype.onDone = function(cb) {\n if (typeof cb === 'function') {\n this.cbs.push(cb);\n this._run();\n }\n};\n\nfunction done() {\n this.pending--;\n this._run();\n}\n\nmodule.exports = Queue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/async-limiter/index.js\n// module id = 137\n// module chunks = 0","'use strict';\n\n/**\n * Class representing an event.\n *\n * @private\n */\nclass Event {\n /**\n * Create a new `Event`.\n *\n * @param {String} type The name of the event\n * @param {Object} target A reference to the target to which the event was dispatched\n */\n constructor (type, target) {\n this.target = target;\n this.type = type;\n }\n}\n\n/**\n * Class representing a message event.\n *\n * @extends Event\n * @private\n */\nclass MessageEvent extends Event {\n /**\n * Create a new `MessageEvent`.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (data, target) {\n super('message', target);\n\n this.data = data;\n }\n}\n\n/**\n * Class representing a close event.\n *\n * @extends Event\n * @private\n */\nclass CloseEvent extends Event {\n /**\n * Create a new `CloseEvent`.\n *\n * @param {Number} code The status code explaining why the connection is being closed\n * @param {String} reason A human-readable string explaining why the connection is closing\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (code, reason, target) {\n super('close', target);\n\n this.wasClean = target._closeFrameReceived && target._closeFrameSent;\n this.reason = reason;\n this.code = code;\n }\n}\n\n/**\n * Class representing an open event.\n *\n * @extends Event\n * @private\n */\nclass OpenEvent extends Event {\n /**\n * Create a new `OpenEvent`.\n *\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (target) {\n super('open', target);\n }\n}\n\n/**\n * Class representing an error event.\n *\n * @extends Event\n * @private\n */\nclass ErrorEvent extends Event {\n /**\n * Create a new `ErrorEvent`.\n *\n * @param {Object} error The error that generated this event\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (error, target) {\n super('error', target);\n\n this.message = error.message;\n this.error = error;\n }\n}\n\n/**\n * This provides methods for emulating the `EventTarget` interface. It's not\n * meant to be used directly.\n *\n * @mixin\n */\nconst EventTarget = {\n /**\n * Register an event listener.\n *\n * @param {String} method A string representing the event type to listen for\n * @param {Function} listener The listener to add\n * @public\n */\n addEventListener (method, listener) {\n if (typeof listener !== 'function') return;\n\n function onMessage (data) {\n listener.call(this, new MessageEvent(data, this));\n }\n\n function onClose (code, message) {\n listener.call(this, new CloseEvent(code, message, this));\n }\n\n function onError (error) {\n listener.call(this, new ErrorEvent(error, this));\n }\n\n function onOpen () {\n listener.call(this, new OpenEvent(this));\n }\n\n if (method === 'message') {\n onMessage._listener = listener;\n this.on(method, onMessage);\n } else if (method === 'close') {\n onClose._listener = listener;\n this.on(method, onClose);\n } else if (method === 'error') {\n onError._listener = listener;\n this.on(method, onError);\n } else if (method === 'open') {\n onOpen._listener = listener;\n this.on(method, onOpen);\n } else {\n this.on(method, listener);\n }\n },\n\n /**\n * Remove an event listener.\n *\n * @param {String} method A string representing the event type to remove\n * @param {Function} listener The listener to remove\n * @public\n */\n removeEventListener (method, listener) {\n const listeners = this.listeners(method);\n\n for (var i = 0; i < listeners.length; i++) {\n if (listeners[i] === listener || listeners[i]._listener === listener) {\n this.removeListener(method, listeners[i]);\n }\n }\n }\n};\n\nmodule.exports = EventTarget;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/event-target.js\n// module id = 138\n// module chunks = 0","'use strict';\n\nconst EventEmitter = require('events');\nconst crypto = require('crypto');\nconst http = require('http');\nconst url = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst extension = require('./extension');\nconst constants = require('./constants');\nconst WebSocket = require('./websocket');\n\n/**\n * Class representing a WebSocket server.\n *\n * @extends EventEmitter\n */\nclass WebSocketServer extends EventEmitter {\n /**\n * Create a `WebSocketServer` instance.\n *\n * @param {Object} options Configuration options\n * @param {String} options.host The hostname where to bind the server\n * @param {Number} options.port The port where to bind the server\n * @param {http.Server} options.server A pre-created HTTP/S server to use\n * @param {Function} options.verifyClient An hook to reject connections\n * @param {Function} options.handleProtocols An hook to handle protocols\n * @param {String} options.path Accept only connections matching this path\n * @param {Boolean} options.noServer Enable no server mode\n * @param {Boolean} options.clientTracking Specifies whether or not to track clients\n * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate\n * @param {Number} options.maxPayload The maximum allowed message size\n * @param {Function} callback A listener for the `listening` event\n */\n constructor (options, callback) {\n super();\n\n options = Object.assign({\n maxPayload: 100 * 1024 * 1024,\n perMessageDeflate: false,\n handleProtocols: null,\n clientTracking: true,\n verifyClient: null,\n noServer: false,\n backlog: null, // use default (511 as implemented in net.js)\n server: null,\n host: null,\n path: null,\n port: null\n }, options);\n\n if (options.port == null && !options.server && !options.noServer) {\n throw new TypeError(\n 'One of the \"port\", \"server\", or \"noServer\" options must be specified'\n );\n }\n\n if (options.port != null) {\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n\n res.writeHead(426, {\n 'Content-Length': body.length,\n 'Content-Type': 'text/plain'\n });\n res.end(body);\n });\n this._server.listen(options.port, options.host, options.backlog, callback);\n } else if (options.server) {\n this._server = options.server;\n }\n\n if (this._server) {\n this._removeListeners = addListeners(this._server, {\n listening: this.emit.bind(this, 'listening'),\n error: this.emit.bind(this, 'error'),\n upgrade: (req, socket, head) => {\n this.handleUpgrade(req, socket, head, (ws) => {\n this.emit('connection', ws, req);\n });\n }\n });\n }\n\n if (options.perMessageDeflate === true) options.perMessageDeflate = {};\n if (options.clientTracking) this.clients = new Set();\n this.options = options;\n }\n\n /**\n * Returns the bound address, the address family name, and port of the server\n * as reported by the operating system if listening on an IP socket.\n * If the server is listening on a pipe or UNIX domain socket, the name is\n * returned as a string.\n *\n * @return {(Object|String|null)} The address of the server\n * @public\n */\n address () {\n if (this.options.noServer) {\n throw new Error('The server is operating in \"noServer\" mode');\n }\n\n if (!this._server) return null;\n return this._server.address();\n }\n\n /**\n * Close the server.\n *\n * @param {Function} cb Callback\n * @public\n */\n close (cb) {\n //\n // Terminate all associated clients.\n //\n if (this.clients) {\n for (const client of this.clients) client.terminate();\n }\n\n const server = this._server;\n\n if (server) {\n this._removeListeners();\n this._removeListeners = this._server = null;\n\n //\n // Close the http server if it was internally created.\n //\n if (this.options.port != null) return server.close(cb);\n }\n\n if (cb) cb();\n }\n\n /**\n * See if a given request should be handled by this server instance.\n *\n * @param {http.IncomingMessage} req Request object to inspect\n * @return {Boolean} `true` if the request is valid, else `false`\n * @public\n */\n shouldHandle (req) {\n if (this.options.path && url.parse(req.url).pathname !== this.options.path) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Handle a HTTP Upgrade request.\n *\n * @param {http.IncomingMessage} req The request object\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @public\n */\n handleUpgrade (req, socket, head, cb) {\n socket.on('error', socketOnError);\n\n const version = +req.headers['sec-websocket-version'];\n const extensions = {};\n\n if (\n req.method !== 'GET' || req.headers.upgrade.toLowerCase() !== 'websocket' ||\n !req.headers['sec-websocket-key'] || (version !== 8 && version !== 13) ||\n !this.shouldHandle(req)\n ) {\n return abortHandshake(socket, 400);\n }\n\n if (this.options.perMessageDeflate) {\n const perMessageDeflate = new PerMessageDeflate(\n this.options.perMessageDeflate,\n true,\n this.options.maxPayload\n );\n\n try {\n const offers = extension.parse(\n req.headers['sec-websocket-extensions']\n );\n\n if (offers[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);\n extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n return abortHandshake(socket, 400);\n }\n }\n\n //\n // Optionally call external client verification handler.\n //\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`],\n secure: !!(req.connection.authorized || req.connection.encrypted),\n req\n };\n\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message) => {\n if (!verified) return abortHandshake(socket, code || 401, message);\n\n this.completeUpgrade(extensions, req, socket, head, cb);\n });\n return;\n }\n\n if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);\n }\n\n this.completeUpgrade(extensions, req, socket, head, cb);\n }\n\n /**\n * Upgrade the connection to WebSocket.\n *\n * @param {Object} extensions The accepted extensions\n * @param {http.IncomingMessage} req The request object\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @private\n */\n completeUpgrade (extensions, req, socket, head, cb) {\n //\n // Destroy the socket if the client has already sent a FIN packet.\n //\n if (!socket.readable || !socket.writable) return socket.destroy();\n\n const key = crypto.createHash('sha1')\n .update(req.headers['sec-websocket-key'] + constants.GUID, 'binary')\n .digest('base64');\n\n const headers = [\n 'HTTP/1.1 101 Switching Protocols',\n 'Upgrade: websocket',\n 'Connection: Upgrade',\n `Sec-WebSocket-Accept: ${key}`\n ];\n\n const ws = new WebSocket(null);\n var protocol = req.headers['sec-websocket-protocol'];\n\n if (protocol) {\n protocol = protocol.trim().split(/ *, */);\n\n //\n // Optionally call external protocol selection handler.\n //\n if (this.options.handleProtocols) {\n protocol = this.options.handleProtocols(protocol, req);\n } else {\n protocol = protocol[0];\n }\n\n if (protocol) {\n headers.push(`Sec-WebSocket-Protocol: ${protocol}`);\n ws.protocol = protocol;\n }\n }\n\n if (extensions[PerMessageDeflate.extensionName]) {\n const params = extensions[PerMessageDeflate.extensionName].params;\n const value = extension.format({\n [PerMessageDeflate.extensionName]: [params]\n });\n headers.push(`Sec-WebSocket-Extensions: ${value}`);\n ws._extensions = extensions;\n }\n\n //\n // Allow external modification/inspection of handshake headers.\n //\n this.emit('headers', headers, req);\n\n socket.write(headers.concat('\\r\\n').join('\\r\\n'));\n socket.removeListener('error', socketOnError);\n\n ws.setSocket(socket, head, this.options.maxPayload);\n\n if (this.clients) {\n this.clients.add(ws);\n ws.on('close', () => this.clients.delete(ws));\n }\n\n cb(ws);\n }\n}\n\nmodule.exports = WebSocketServer;\n\n/**\n * Add event listeners on an `EventEmitter` using a map of \n * pairs.\n *\n * @param {EventEmitter} server The event emitter\n * @param {Object.} map The listeners to add\n * @return {Function} A function that will remove the added listeners when called\n * @private\n */\nfunction addListeners (server, map) {\n for (const event of Object.keys(map)) server.on(event, map[event]);\n\n return function removeListeners () {\n for (const event of Object.keys(map)) {\n server.removeListener(event, map[event]);\n }\n };\n}\n\n/**\n * Handle premature socket errors.\n *\n * @private\n */\nfunction socketOnError () {\n this.destroy();\n}\n\n/**\n * Close the connection when preconditions are not fulfilled.\n *\n * @param {net.Socket} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} [message] The HTTP response body\n * @private\n */\nfunction abortHandshake (socket, code, message) {\n if (socket.writable) {\n message = message || http.STATUS_CODES[code];\n socket.write(\n `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\\r\\n` +\n 'Connection: close\\r\\n' +\n 'Content-type: text/html\\r\\n' +\n `Content-Length: ${Buffer.byteLength(message)}\\r\\n` +\n '\\r\\n' +\n message\n );\n }\n\n socket.removeListener('error', socketOnError);\n socket.destroy();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/websocket-server.js\n// module id = 139\n// module chunks = 0","import * as StreamEndpoints from './StreamEndpoints'\n\nlet endpoints = Object.assign({}, StreamEndpoints)\n\nexport default endpoints\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/AllEndpoints.js","import {stringify} from 'querystring'\nimport debug from 'debug'\n\nimport Stream from './domain/Stream'\nimport {authFetch} from './utils'\n\n// These function are mixed in to StreamrClient.prototype.\n// In the below functions, 'this' is intended to be the StreamrClient\n\nexport async function getStream(streamId, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams/' + streamId\n let json = await authFetch(url, apiKey)\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getStreamByName(name, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams?' + stringify({\n name: name,\n public: false\n })\n let json = await authFetch(url, apiKey)\n return json[0] ? new Stream(this, json[0]) : undefined\n}\n\nexport async function createStream(name, description, apiKey = this.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n name, description\n })\n })\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getOrCreateStream(name, description, apiKey = this.options.apiKey) {\n // Try looking up the stream\n let json = await this.getStreamByName(name, apiKey)\n\n // If not found, try creating the stream\n if (!json) {\n json = await this.createStream(name, description, apiKey)\n debug('Created stream: %s (%s)', name, json.id)\n }\n\n // If still nothing, throw\n if (!json) {\n throw 'Unable to find or create stream: ' + name\n } else {\n return new Stream(this, json)\n }\n}\n\nexport async function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) {\n if (typeof streamId === Stream) {\n streamId = streamId.id\n }\n\n // Send data to the stream\n return await authFetch(this.options.restUrl + '/streams/' + streamId + '/data',\n apiKey,\n Object.assign({}, requestOptions, {\n method: 'POST',\n body: JSON.stringify(data)\n })\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/StreamEndpoints.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime-module.js\n// module id = 142\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 143\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 144\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 145\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 146\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 147\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 148\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 149\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 150\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 151\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 152\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 153\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 154\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 155\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 156\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 157\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 158\n// module chunks = 0","module.exports = require(\"querystring\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"querystring\"\n// module id = 159\n// module chunks = 0","import {authFetch} from '../utils'\n\nexport default class Stream {\n\n constructor(client, props) {\n this._client = client\n Object.assign(this, props)\n }\n\n async getPermissions(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey)\n }\n\n async isPublic(apiKey = this._client.options.apiKey) {\n let permissions = await this.getPermissions(apiKey)\n return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined\n }\n\n async makePublic(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n anonymous: true,\n operation: 'read'\n }),\n })\n }\n\n async detectFields(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey)\n }\n\n async update(apiKey = this._client.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'PUT',\n body: JSON.stringify(this)\n })\n return json ? new Stream(this._client, json) : undefined\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/domain/Stream.js","// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n// (MIT licensed)\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\n/**\n * body.js\n *\n * Body interface provides common methods for Request and Response\n */\n\nconst Stream = require('stream');\n\nvar _require = require('stream');\n\nconst PassThrough = _require.PassThrough;\n\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t} else if (body instanceof Blob) {\n\t\t// body is blob\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is array buffer\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t} else {\n\t\t// none of the above\n\t\t// coerce to string\n\t\tbody = String(body);\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\t_this[INTERNALS].error = new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\t// body is null\n\tif (this.body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is string\n\tif (typeof this.body === 'string') {\n\t\treturn Body.Promise.resolve(Buffer.from(this.body));\n\t}\n\n\t// body is blob\n\tif (this.body instanceof Blob) {\n\t\treturn Body.Promise.resolve(this.body[BUFFER]);\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(this.body)) {\n\t\treturn Body.Promise.resolve(this.body);\n\t}\n\n\t// body is buffer\n\tif (Object.prototype.toString.call(this.body) === '[object ArrayBuffer]') {\n\t\treturn Body.Promise.resolve(Buffer.from(this.body));\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(this.body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream error, such as incorrect content-encoding\n\t\t_this4.body.on('error', function (err) {\n\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t});\n\n\t\t_this4.body.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\t_this4.body.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) {\n\t\t\t// no op\n\t\t} else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\n/**\n * response.js\n *\n * Response class provides content decoding\n */\n\nvar _require$1 = require('http');\n\nconst STATUS_CODES = _require$1.STATUS_CODES;\n\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders: new Headers(opts.headers)\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url;\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * request.js\n *\n * Request class contains server only options\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nvar _require$2 = require('url');\n\nconst format_url = _require$2.format;\nconst parse_url = _require$2.parse;\n\n\nconst INTERNALS$2 = Symbol('Request internals');\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parse_url(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parse_url(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parse_url(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (init.body != null) {\n\t\t\tconst contentType = extractContentType(this);\n\t\t\tif (contentType !== null && !headers.has('Content-Type')) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\tif (!headers.has('Connection') && !request.agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent: request.agent\n\t});\n}\n\n/**\n * index.js\n *\n * a request API compatible with window.fetch\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nconst http = require('http');\nconst https = require('https');\n\nvar _require$3 = require('stream');\n\nconst PassThrough$1 = _require$3.PassThrough;\n\nvar _require2 = require('url');\n\nconst resolve_url = _require2.resolve;\n\nconst zlib = require('zlib');\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\t\t\tfinalize();\n\t\t});\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tconst locationURL = location === null ? null : resolve_url(request.url, location);\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresolve(new Response(body, response_options));\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// Needed for TypeScript.\nfetch.default = fetch;\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nexport default fetch;\nexport { Headers, Request, Response, FetchError };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-fetch/lib/index.es.js\n// module id = 161\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/streamr-client.web.js b/dist/streamr-client.web.js index 7ee10571b..5d1d5f77c 100644 --- a/dist/streamr-client.web.js +++ b/dist/streamr-client.web.js @@ -1913,7 +1913,7 @@ var authFetch = exports.authFetch = function () { } : undefined }); _context.next = 3; - return fetch(url, req); + return (0, _nodeFetch2.default)(url, req); case 3: res = _context.sent; @@ -1964,6 +1964,10 @@ var authFetch = exports.authFetch = function () { }; }(); +var _nodeFetch = __webpack_require__(137); + +var _nodeFetch2 = _interopRequireDefault(_nodeFetch); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), @@ -4232,6 +4236,8 @@ module.exports = exports['default']; "use strict"; +// In browsers, the ws package is replaced with this to use native websockets + var ws = void 0; if (typeof WebSocket !== 'undefined') { @@ -6276,6 +6282,21 @@ var Stream = function () { exports.default = Stream; module.exports = exports['default']; +/***/ }), +/* 137 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +// In browsers, the node-fetch package is replaced with this to use native fetch + +if (typeof fetch !== 'undefined') { + module.exports = fetch; +} else { + module.exports = window.fetch; +} + /***/ }) /******/ ]); }); diff --git a/dist/streamr-client.web.js.map b/dist/streamr-client.web.js.map index 212bec6a8..3f57c8cb5 100644 --- a/dist/streamr-client.web.js.map +++ b/dist/streamr-client.web.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap d72ae52ee97955a91d50","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./src/Protocol.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/rest/utils.js","webpack:///./src/index.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./src/Subscription.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./src/Connection.js","webpack:///./src/shim/ws.js","webpack:///./src/rest/AllEndpoints.js","webpack:///./src/rest/StreamEndpoints.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./src/rest/domain/Stream.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","forEach","key","url","apiKey","opts","headers","Authorization","fetch","res","text","ok","status","authFetch","prototype","StreamrClient","options","restUrl","autoConnect","autoDisconnect","authKey","subsByStream","subById","connection","connected","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close","ws","WebSocket","window","module","exports","StreamEndpoints","endpoints","json","getStream","name","public","getStreamByName","description","method","body","createStream","getOrCreateStream","requestOptions","produceToStream","Stream","client","props","_client","getPermissions","permissions","find","permission","anonymous","operation"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;;ACJA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;AC1BD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AClMA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA,kBAAkB,wD;;;;;;;ACAlB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AChCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL;AACA,E;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACpEA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;QCRgBA,oB,GAAAA,oB;QAcAC,a,GAAAA,a;QA2BAC,sB,GAAAA,sB;QAUAC,Y,GAAAA,Y;;;;AA1DhB,IAAMC,oBAAoB,EAA1B;AACA,IAAMC,6BAA8B;AAChC,UAAM,CAAC,SAAD,EAAY,UAAZ,EAAwB,iBAAxB,EAA2C,WAA3C,EAAwD,KAAxD,EAA+D,QAA/D,EAAyE,gBAAzE,EAA2F,aAA3F,EAA0G,SAA1G;AAD0B,CAApC;AAGA,IAAMC,gBAAgB,CAAC,GAAD,EAAM,GAAN,EAAW,YAAX,EAAyB,cAAzB,EAAyC,WAAzC,EAAsD,QAAtD,EAAgE,WAAhE,CAAtB;AACA,IAAMC,UAAU,MAAhB;;AAEO,SAASP,oBAAT,CAA8BQ,MAA9B,EAAsC;AACzC,QAAIC,UAAUC,KAAKC,KAAL,CAAWH,MAAX,CAAd;AACA,QAAII,UAAUH,QAAQ,CAAR,CAAd;AACA,QAAIG,YAAY,CAAhB,EAAmB;AACf,cAAM,8BAA4BA,OAAlC;AACH;;AAED,WAAO;AACHC,cAAMP,cAAcG,QAAQ,CAAR,CAAd,CADH;AAEHK,eAAOL,QAAQ,CAAR,CAFJ;AAGHM,aAAKN,QAAQ,CAAR;AAHF,KAAP;AAKH;;AAEM,SAASR,aAAT,CAAuBY,IAAvB,EAA6BG,OAA7B,EAAsC;AACzC,QAAIH,SAAS,GAAT,IAAgBA,SAAS,GAA7B,EAAkC;AAC9B,YAAIR,2BAA2BW,QAAQ,CAAR,CAA3B,MAA2CC,SAA/C,EAA0D;AACtD,kBAAM,0BAA0BD,QAAQ,CAAR,CAAhC;AACH;AACD,YAAIE,SAAS,EAAb;AACA,YAAIC,SAASd,2BAA2BW,QAAQ,CAAR,CAA3B,CAAb;;AAEA,aAAK,IAAII,IAAI,CAAb,EAAgBA,IAAIJ,QAAQK,MAA5B,EAAoCD,GAApC,EAAyC;;AAErC;AACA,gBAAID,OAAOC,CAAP,MAAc,SAAlB,EAA6B;AACzB,oBAAIF,OAAOI,WAAP,KAAuBlB,iBAA3B,EAA8C;AAC1CY,4BAAQI,CAAR,IAAaV,KAAKC,KAAL,CAAWK,QAAQI,CAAR,CAAX,CAAb;AACH,iBAFD,MAEO;AACH,0BAAM,2BAA2BF,OAAOI,WAAxC;AACH;AACJ;;AAEDJ,mBAAOC,OAAOC,CAAP,CAAP,IAAoBJ,QAAQI,CAAR,CAApB;AACH;AACD,eAAOF,MAAP;AACH,KArBD,MAqBO;AACH,eAAOF,OAAP;AACH;AACJ;;AAEM,SAASd,sBAAT,CAAgCqB,MAAhC,EAAwCC,aAAxC,EAAuD;AAC1D,QAAIC,MAAM;AACNF,gBAAQA;AADF,KAAV;AAGA,wBAAYC,aAAZ,EAA2BE,OAA3B,CAAmC,UAASC,GAAT,EAAc;AAC7CF,YAAIE,GAAJ,IAAWH,cAAcG,GAAd,CAAX;AACH,KAFD;AAGA,WAAOF,GAAP;AACH;;AAEM,SAAStB,YAAT,CAAsBa,OAAtB,EAA+B;AAClC,WAAO,CAAC,CAACA,QAAQT,OAAR,CAAT;AACH,C;;;;;;AC5DD;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;A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AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;ACjCA,8BAA8B;;;;;;;ACA9B;AACA,UAAU;AACV;;;;;;;ACFA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;;;;;;;ACAA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,oEAAuE,2CAA4C;;;;;;;ACFnH,kBAAkB,yD;;;;;;ACAlB;AACA;;;;;;;ACDA;AACA;AACA,8BAA8B,+CAA8C;;;;;;;ACF5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,8BAA8B,kCAAsC;;;;;;;ACFpE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACtLtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,4BAA4B;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,aAAa,8BAA8B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AChOA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJA;;;;AACA;;;;AAEA;;;;AAEA,IAAI1B,QAAQ,CAAZ;AACA,SAASqF,sBAAT,GAAkC;AAC9B,QAAIhD,KAAKrC,OAAT;AACA,WAAOqC,GAAGiD,QAAH,EAAP;AACH;;IAEoBC,Y;;;AAEjB,0BAAYjD,QAAZ,EAAsB8C,eAAtB,EAAuCrD,OAAvC,EAAgDW,QAAhD,EAA0Df,OAA1D,EAAmE;AAAA;;AAAA;;AAG/D,YAAI,CAACW,QAAL,EAAe;AACX,kBAAM,qBAAN;AACH;AACD,YAAI,CAACI,QAAL,EAAe;AACX,kBAAM,oBAAN;AACH;;AAED,cAAKL,EAAL,GAAUgD,wBAAV;AACA,cAAK/C,QAAL,GAAgBA,QAAhB;AACA,cAAK8C,eAAL,GAAuBA,eAAvB;AACA,cAAKrD,OAAL,GAAeA,OAAf;AACA,cAAKW,QAAL,GAAgBA,QAAhB;AACA,cAAKf,OAAL,GAAeA,WAAW,EAA1B;AACA,cAAK6D,KAAL,GAAa,EAAb;AACA,cAAKd,WAAL,GAAmB,KAAnB;AACA,cAAKe,UAAL,GAAkB,KAAlB;AACA,cAAKC,kBAAL,GAA0B,IAA1B;;AAEA;AACA,YAAIC,oBAAoB,CAAxB;AACA,YAAI,MAAKhE,OAAL,CAAaiE,UAAjB,EAA6B;AACzBD;AACH;AACD,YAAI,MAAKhE,OAAL,CAAasB,WAAb,IAA4B,IAAhC,EAAsC;AAClC0C;AACH;AACD,YAAI,MAAKhE,OAAL,CAAakE,WAAb,IAA4B,IAAhC,EAAsC;AAClCF;AACH;AACD,YAAI,MAAKhE,OAAL,CAAamE,gBAAb,IAAiC,IAArC,EAA2C;AACvCH;AACH;AACD,YAAIA,oBAAoB,CAAxB,EAA2B;AACvB,kBAAM,0DAA0D,yBAAehE,OAAf,CAAhE;AACH;;AAED;AACA,YAAI,MAAKA,OAAL,CAAamE,gBAAb,IAAiC,IAAjC,IACG,OAAO,MAAKnE,OAAL,CAAamE,gBAApB,KAAyC,QADhD,EAC0D;;AAEtD,gBAAI,OAAO,MAAKnE,OAAL,CAAamE,gBAAb,CAA8BC,OAArC,KAAiD,UAArD,EAAiE;AAC7D,sBAAKpE,OAAL,CAAamE,gBAAb,GAAgC,MAAKnE,OAAL,CAAamE,gBAAb,CAA8BC,OAA9B,EAAhC;AACH,aAFD,MAEO;AACH,sBAAM,8EAAN;AACH;AACJ;;AAED;;AAEA,cAAKlD,EAAL,CAAQ,YAAR,EAAsB,YAAM;AACxB,iCAAM,iCAAN,EAAyC,MAAKR,EAA9C,EAAkD,MAAKC,QAAvD;AACA,kBAAKmD,UAAL,GAAkB,IAAlB;AACA,kBAAKf,WAAL,GAAmB,KAAnB;AACH,SAJD;;AAMA,cAAK7B,EAAL,CAAQ,cAAR,EAAwB,YAAM;AAC1B,iCAAM,yBAAN,EAAiC,MAAKR,EAAtC,EAA0C,MAAKC,QAA/C;AACA,kBAAKmD,UAAL,GAAkB,KAAlB;AACA,kBAAKf,WAAL,GAAmB,KAAnB;AACA,kBAAKjB,aAAL,GAAqB,KAArB;AACA,kBAAKc,SAAL,GAAiB,KAAjB;AACH,SAND;;AAQA,cAAK1B,EAAL,CAAQ,WAAR,EAAqB,UAACsB,QAAD,EAAc;AAC/B,iCAAM,sBAAN,EAA8B,MAAK9B,EAAnC,EAAuC8B,QAAvC;AACA;AACH,SAHD;;AAKA,cAAKtB,EAAL,CAAQ,WAAR,EAAqB,UAACsB,QAAD,EAAc;AAC/B,iCAAM,sBAAN,EAA8B,MAAK9B,EAAnC,EAAuC8B,QAAvC;AACA,kBAAKI,SAAL,GAAiB,KAAjB;AACA,kBAAKyB,UAAL;AACH,SAJD;;AAMA,cAAKnD,EAAL,CAAQ,QAAR,EAAkB,UAACsB,QAAD,EAAc;AAC5B,iCAAM,mBAAN,EAA2B,MAAK9B,EAAhC,EAAoC8B,QAApC;AACA,kBAAKI,SAAL,GAAiB,KAAjB;AACA,kBAAKyB,UAAL;AACH,SAJD;;AAMA,cAAKnD,EAAL,CAAQ,WAAR,EAAqB,YAAM,CAE1B,CAFD;;AAIA,cAAKA,EAAL,CAAQ,cAAR,EAAwB,YAAM;AAC1B,kBAAK4C,UAAL,GAAkB,KAAlB;AACA,kBAAKf,WAAL,GAAmB,KAAnB;AACA,kBAAKH,SAAL,GAAiB,KAAjB;AACH,SAJD;AAvF+D;AA4FlE;;;;sCAEatE,G,EAAKgG,Q,EAAU;AACzB,gBAAIC,UAAUjG,IAAIiG,OAAlB;AACA,gBAAIC,SAASlG,IAAIkG,MAAjB;AACA,gBAAIC,iBAAiBnG,IAAImG,cAAzB;;AAEA,gBAAIA,kBAAkB,IAAtB,EAA4B;AACxB,qCAAM,6EAAN,EAAqFnG,GAArF;AACH;;AAED;AACA;AACA,gBAAI,KAAKsE,SAAL,IAAkB,CAAC0B,QAAvB,EAAiC;AAC7B,qBAAKT,KAAL,CAAWjD,IAAX,CAAgBtC,GAAhB;AACH,aAFD,MAEO;AACH;AACA,oBAAImG,kBAAkB,IAAlB,IAA+B;AAC/B,qBAAKV,kBAAL,IAA2B,IAD3B,IACsC;AACtCU,iCAAiB,KAAKV,kBAFtB,IAE4C;AAC5C,iBAAC,KAAKnB,SAHV,EAGqB;;AAEjB;AACA,yBAAKiB,KAAL,CAAWjD,IAAX,CAAgBtC,GAAhB;;AAEA,wBAAI6C,OAAO,KAAK4C,kBAAL,GAA0B,CAArC;AACA,wBAAI3C,KAAKqD,cAAT;AACA,yCAAM,6DAAN,EAAqE,KAAK9D,QAA1E,EAAoFQ,IAApF,EAA0FC,EAA1F;AACA,yBAAKa,IAAL,CAAU,KAAV,EAAiBd,IAAjB,EAAuBC,EAAvB;AACH,iBAZD,MAYO,IAAI,KAAK2C,kBAAL,IAA2B,IAA3B,IAAmCS,UAAU,KAAKT,kBAAtD,EAA0E;AAC7E;AACA,yCAAM,gFAAN,EAAwF,KAAKrD,EAA7F,EAAiG8D,MAAjG,EAAyG,KAAKT,kBAA9G;AACH,iBAHM,MAGA;AACH;AACA,yBAAKA,kBAAL,GAA0BS,MAA1B;AACA,yBAAKzD,QAAL,CAAcwD,OAAd,EAAuBjG,GAAvB;AACA,wBAAI,4BAAaiG,OAAb,CAAJ,EAA2B;AACvB,6BAAKtC,IAAL,CAAU,MAAV;AACH;AACJ;AACJ;AACJ;;;qCAEY;AACT,gBAAI,KAAK4B,KAAL,CAAWjF,MAAf,EAAuB;AACnB,qCAAM,wDAAN,EAAgE,KAAKiF,KAAL,CAAWjF,MAA3E,EAAmF,KAAK+B,QAAxF;;AAEA,oBAAIhC,UAAJ;AACA,oBAAIC,SAAS,KAAKiF,KAAL,CAAWjF,MAAxB;;AAEA,oBAAI8F,gBAAgB,KAAKb,KAAzB;AACA,qBAAKA,KAAL,GAAa,EAAb;;AAEA,qBAAKlF,IAAI,CAAT,EAAYA,IAAIC,MAAhB,EAAwBD,GAAxB,EAA6B;AACzB,wBAAIL,MAAMoG,cAAc/F,CAAd,CAAV;AACA,yBAAK4D,aAAL,CAAmBjE,GAAnB,EAAwB,KAAxB;AACH;AACJ;AACJ;;;2CAEkB;AACf,mBAAO,KAAK0B,OAAL,CAAaiE,UAAb,KAA4B,IAA5B,IAAoC,KAAKjE,OAAL,CAAasB,WAAb,IAA4B,CAAhE,IAAqE,KAAKtB,OAAL,CAAamE,gBAAb,IAAiC,CAAtG,IAA2G,KAAKnE,OAAL,CAAakE,WAAb,GAA2B,CAA7I;AACH;;AAED;;;;;;;;;;;;;oDAU4B;AACxB,gBAAI,KAAKS,mBAAL,MAA8B,KAAKzB,gBAAL,EAAlC,EAA2D;AACvD,oBAAI,KAAKlD,OAAL,CAAaiE,UAAb,IAA2B,KAAKjE,OAAL,CAAasB,WAAxC,IAAuD,KAAKtB,OAAL,CAAamE,gBAAxE,EAA0F;AACtF,2BAAO;AACH7C,qCAAa,KAAKyC,kBAAL,GAA0B;AADpC,qBAAP;AAGH,iBAJD,MAIO,IAAI,KAAK/D,OAAL,CAAakE,WAAjB,EAA8B;AACjC,2BAAO,KAAKlE,OAAZ;AACH;AACJ,aARD,MAQO;AACH,uBAAO,KAAKA,OAAZ;AACH;AACJ;;;8CAEqB;AAClB,mBAAO,KAAK+D,kBAAL,IAA2B,IAAlC;AACH;;;uCAEc;AACX,mBAAO,KAAKD,UAAZ;AACH;;;;;kBA5LgBF,Y;;;;;;;ACXrB;AACA,uCAAuC,4BAA4B;AACnE,yCAAyC;AACzC;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJA;;;;AACA;;;;AACA;;;;AAEA;;;;IAEqBgB,U;;;AACjB,wBAAY5E,OAAZ,EAAqB;AAAA;;AAAA;;AAEjB,YAAI,CAACA,QAAQb,GAAb,EAAkB;AACd,kBAAM,qBAAN;AACH;AACD,cAAKa,OAAL,GAAeA,OAAf;AACA,cAAKQ,SAAL,GAAiB,KAAjB;AACA,cAAK6B,UAAL,GAAkB,KAAlB;AACA,cAAKT,aAAL,GAAqB,KAArB;;AAEA,YAAI5B,QAAQE,WAAZ,EAAyB;AACrB,kBAAKyB,OAAL;AACH;AAZgB;AAapB;;;;kCAES;AAAA;;AACN,gBAAI,EAAE,KAAKnB,SAAL,IAAkB,KAAK6B,UAAzB,CAAJ,EAA0C;AACtC,qBAAKA,UAAL,GAAkB,IAAlB;;AAEA,qBAAKwC,MAAL,GAAc,iBAAc,KAAK7E,OAAL,CAAab,GAA3B,CAAd;AACA,qBAAK0F,MAAL,CAAYC,UAAZ,GAAyB,aAAzB;AACA,qBAAK7C,IAAL,CAAU,YAAV;;AAEA,qBAAK4C,MAAL,CAAYE,MAAZ,GAAqB,YAAM;AACvB,yCAAM,eAAN,EAAuB,OAAK/E,OAAL,CAAab,GAApC;AACA,2BAAKqB,SAAL,GAAiB,IAAjB;AACA,2BAAK6B,UAAL,GAAkB,KAAlB;AACA,2BAAKJ,IAAL,CAAU,WAAV;AACH,iBALD;;AAOA,qBAAK4C,MAAL,CAAYG,OAAZ,GAAsB,YAAM;AACxB,wBAAI,CAAC,OAAKpD,aAAV,EAAyB;AACrB,6CAAM,0CAAN;AACAyB,mCAAW,YAAM;AACb,mCAAK1B,OAAL;AACH,yBAFD,EAEG,IAFH;AAGH,qBALD,MAKO;AACH,+BAAKC,aAAL,GAAqB,KAArB;AACH;;AAED,2BAAKpB,SAAL,GAAiB,KAAjB;AACA,2BAAK6B,UAAL,GAAkB,KAAlB;AACA,2BAAKJ,IAAL,CAAU,cAAV;AACH,iBAbD;;AAeA,qBAAK4C,MAAL,CAAYI,SAAZ,GAAwB,UAACC,YAAD,EAAkB;AACtC,wBAAIC,UAAU,oCAAqBD,aAAaE,IAAlC,CAAd;AACA,2BAAKnD,IAAL,CAAUkD,QAAQ/G,IAAlB,EAAwB,6BAAc+G,QAAQ/G,IAAtB,EAA4B+G,QAAQ7G,GAApC,CAAxB,EAAkE6G,QAAQ9G,KAA1E;AACH,iBAHD;AAIH;AACJ;;;qCAEY;AACT,gBAAI,KAAKwG,MAAL,KAAgBrG,SAAhB,KAA8B,KAAKgC,SAAL,IAAkB,KAAK6B,UAArD,CAAJ,EAAsE;AAClE,qBAAKT,aAAL,GAAqB,IAArB;AACA,qBAAKiD,MAAL,CAAYQ,KAAZ;AACH;AACJ;;;6BAEIrG,G,EAAK;AACN,iBAAK6F,MAAL,CAAYzB,IAAZ,CAAiB,yBAAepE,GAAf,CAAjB;AACH;;;;;kBA9DgB4F,U;;;;;;;;;;ACNrB,IAAIU,WAAJ;;AAEA,IAAI,OAAOC,SAAP,KAAqB,WAAzB,EAAsC;AAClCD,SAAKC,SAAL;AACH,CAFD,MAEO;AACHD,SAAKE,OAAOD,SAAZ;AACH;;AAEDE,OAAOC,OAAP,GAAiBJ,EAAjB,C;;;;;;;;;;;;;;;;;ACRA;;IAAYK,e;;;;;;AAEZ,IAAIC,YAAY,sBAAc,EAAd,EAAkBD,eAAlB,CAAhB;;kBAEeC,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEf;AACA;;;wFAEO,iBAAyBjF,QAAzB;AAAA,YAAmCvB,MAAnC,uEAA4C,KAAKY,OAAL,CAAaZ,MAAzD;AAAA;AAAA;AAAA;AAAA;AAAA;AACCD,2BADD,GACO,KAAKa,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqCU,QAD5C;AAAA;AAAA,+BAEc,sBAAUxB,GAAV,EAAeC,MAAf,CAFd;;AAAA;AAECyG,4BAFD;AAAA,yDAGIA,OAAO,qBAAW,IAAX,EAAiBA,IAAjB,CAAP,GAAgCrH,SAHpC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;oBAAesH,S;;;;;;yFAMf,kBAA+BC,IAA/B;AAAA,YAAqC3G,MAArC,uEAA8C,KAAKY,OAAL,CAAaZ,MAA3D;AAAA;AAAA;AAAA;AAAA;AAAA;AACCD,2BADD,GACO,KAAKa,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqC,4BAAU;AACrD8F,kCAAMA,IAD+C;AAErDC,oCAAQ;AAF6C,yBAAV,CAD5C;AAAA;AAAA,+BAKc,sBAAU7G,GAAV,EAAeC,MAAf,CALd;;AAAA;AAKCyG,4BALD;AAAA,0DAMIA,KAAK,CAAL,IAAU,qBAAW,IAAX,EAAiBA,KAAK,CAAL,CAAjB,CAAV,GAAsCrH,SAN1C;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;oBAAeyH,e;;;;;;yFASf,kBAA4BF,IAA5B,EAAkCG,WAAlC;AAAA,YAA+C9G,MAA/C,uEAAwD,KAAKY,OAAL,CAAaZ,MAArE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BACc,sBAAU,KAAKY,OAAL,CAAaC,OAAb,GAAuB,UAAjC,EACbb,MADa,EAEb;AACI+G,oCAAQ,MADZ;AAEIC,kCAAM,yBAAe;AACjBL,0CADiB,EACXG;AADW,6BAAf;AAFV,yBAFa,CADd;;AAAA;AACCL,4BADD;AAAA,0DASIA,OAAO,qBAAW,IAAX,EAAiBA,IAAjB,CAAP,GAAgCrH,SATpC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;oBAAe6H,Y;;;;;;yFAYf,kBAAiCN,IAAjC,EAAuCG,WAAvC;AAAA,YAAoD9G,MAApD,uEAA6D,KAAKY,OAAL,CAAaZ,MAA1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAEc,KAAK6G,eAAL,CAAqBF,IAArB,EAA2B3G,MAA3B,CAFd;;AAAA;AAECyG,4BAFD;;AAAA,4BAKEA,IALF;AAAA;AAAA;AAAA;;AAAA;AAAA,+BAMc,KAAKQ,YAAL,CAAkBN,IAAlB,EAAwBG,WAAxB,EAAqC9G,MAArC,CANd;;AAAA;AAMCyG,4BAND;;AAOC,6CAAM,yBAAN,EAAiCE,IAAjC,EAAuCF,KAAKnF,EAA5C;;AAPD;AAAA,4BAWEmF,IAXF;AAAA;AAAA;AAAA;;AAAA,8BAYO,sCAAsCE,IAZ7C;;AAAA;AAAA,0DAcQ,qBAAW,IAAX,EAAiBF,IAAjB,CAdR;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;oBAAeS,iB;;;;;;yFAkBf,kBAA+B3F,QAA/B,EAAyCyE,IAAzC;AAAA,YAA+ChG,MAA/C,uEAAwD,KAAKY,OAAL,CAAaZ,MAArE;AAAA,YAA6EmH,cAA7E,uEAA8F,EAA9F;AAAA;AAAA;AAAA;AAAA;AACH,4BAAI,QAAO5F,QAAP,uDAAOA,QAAP,uBAAJ,EAAgC;AAC5BA,uCAAWA,SAASD,EAApB;AACH;;AAED;AALG;AAAA,+BAMU,sBAAU,KAAKV,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqCU,QAArC,GAAgD,OAA1D,EACTvB,MADS,EAET,sBAAc,EAAd,EAAkBmH,cAAlB,EAAkC;AAC9BJ,oCAAQ,MADsB;AAE9BC,kCAAM,yBAAehB,IAAf;AAFwB,yBAAlC,CAFS,CANV;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;oBAAeoB,e;;;;;AAtDtB;;AACA;;;;AAEA;;;;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B;;;;;;;ACttBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACpRD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACbA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;;ACXH;;AAEA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFA;;;;IAEqBC,M;AAEjB,oBAAYC,MAAZ,EAAoBC,KAApB,EAA2B;AAAA;;AACvB,aAAKC,OAAL,GAAeF,MAAf;AACA,8BAAc,IAAd,EAAoBC,KAApB;AACH;;;;;;oBAEoBvH,M,uEAAS,KAAKwH,OAAL,CAAa5G,OAAb,CAAqBZ,M;;;;;;uCAClC,sBAAU,KAAKwH,OAAL,CAAa5G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EAAiFtB,MAAjF,C;;;;;;;;;;;;;;;;;;;;;;;oBAGFA,M,uEAAS,KAAKwH,OAAL,CAAa5G,OAAb,CAAqBZ,M;;;;;;;uCACjB,KAAKyH,cAAL,CAAoBzH,MAApB,C;;;AAApB0H,2C;kEACGA,YAAYC,IAAZ,CAAiB,UAACC,UAAD;AAAA,2CAAiBA,WAAWC,SAAX,IAAwBD,WAAWE,SAAX,KAAyB,MAAlE;AAAA,iCAAjB,MAAgG1I,S;;;;;;;;;;;;;;;;;;;;oBAG1FY,M,uEAAS,KAAKwH,OAAL,CAAa5G,OAAb,CAAqBZ,M;;;;;;uCAC9B,sBAAU,KAAKwH,OAAL,CAAa5G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EACTtB,MADS,EAET;AACI+G,4CAAQ,MADZ;AAEIC,0CAAM,yBAAe;AACjBa,mDAAW,IADM;AAEjBC,mDAAW;AAFM,qCAAf;AAFV,iCAFS,C;;;;;;;;;;;;;;;;;;;;;;;oBAWE9H,M,uEAAS,KAAKwH,OAAL,CAAa5G,OAAb,CAAqBZ,M;;;;;;uCAChC,sBAAU,KAAKwH,OAAL,CAAa5G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,eAAjE,EAAkFtB,MAAlF,C;;;;;;;;;;;;;;;;;;;;;;;oBAGJA,M,uEAAS,KAAKwH,OAAL,CAAa5G,OAAb,CAAqBZ,M;;;;;;;uCACtB,sBAAU,KAAKY,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqC,KAAKS,EAApD,EACbtB,MADa,EAEb;AACI+G,4CAAQ,KADZ;AAEIC,0CAAM,yBAAe,IAAf;AAFV,iCAFa,C;;;AAAbP,oC;kEAMGA,OAAO,IAAIY,MAAJ,CAAW,KAAKG,OAAhB,EAAyBf,IAAzB,CAAP,GAAwCrH,S;;;;;;;;;;;;;;;;;;;;kBAvClCiI,M","file":"streamr-client.web.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 69);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d72ae52ee97955a91d50","var core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 4\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 5\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 8\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 9\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 10\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 11\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 14\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 15\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 16\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 17\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 18\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 19\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 20\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 21\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 22\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 23\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 24\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = 26\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 27\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 28\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 29\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 30\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 31\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 32\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 33\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 34\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 35\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 36\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 37\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 38\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 39\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 40\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 41\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 42\n// module chunks = 0","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 43\n// module chunks = 0","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 44\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 45\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 46\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 47\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 48\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 49\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 50\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 51\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 52\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 53\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 54\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 55\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 56\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 57\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 58\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 59\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 60\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 63\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 64\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 65\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 66\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 67\n// module chunks = 0","export async function authFetch(url, apiKey, opts = {}) {\n let req = Object.assign({}, opts, {\n headers: apiKey ? {\n Authorization: 'token '+ apiKey\n } : undefined\n })\n\n let res = await fetch(url, req)\n\n let text = await res.text()\n\n if (res.ok && text.length) {\n try {\n return JSON.parse(text)\n } catch (err) {\n throw 'Failed to parse JSON response: '+text\n }\n } else if (res.ok) {\n return {}\n } else {\n throw 'Request to '+url+' returned with error code '+res.status+': '+text\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/utils.js","import StreamrClient from './StreamrClient'\nimport AllEndpoints from './rest/AllEndpoints'\n\n// Mixin the rest endpoints to the StreamrClient\nObject.assign(StreamrClient.prototype, AllEndpoints)\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 70\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 71\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 72\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 73\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 74\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n restUrl: 'https://www.streamr.com/api/v1',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n authKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.authKey || this.options.authKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.authKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.authKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 76\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 77\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 78\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 79\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 80\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 81\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 82\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 83\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 84\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 85\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 86\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 87\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 88\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 89\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 90\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 91\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 92\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 93\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 94\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 95\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 96\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 97\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 98\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 99\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 100\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 101\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 102\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 103\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 104\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 105\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 106\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // 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\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // 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.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 107\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 108\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 109\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, authKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.authKey = authKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 111\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js","let ws\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else {\n ws = window.WebSocket\n}\n\nmodule.exports = ws\n\n\n\n// WEBPACK FOOTER //\n// ./src/shim/ws.js","import * as StreamEndpoints from './StreamEndpoints'\n\nlet endpoints = Object.assign({}, StreamEndpoints)\n\nexport default endpoints\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/AllEndpoints.js","import {stringify} from 'querystring'\nimport debug from 'debug'\n\nimport Stream from './domain/Stream'\nimport {authFetch} from './utils'\n\n// These function are mixed in to StreamrClient.prototype.\n// In the below functions, 'this' is intended to be the StreamrClient\n\nexport async function getStream(streamId, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams/' + streamId\n let json = await authFetch(url, apiKey)\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getStreamByName(name, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams?' + stringify({\n name: name,\n public: false\n })\n let json = await authFetch(url, apiKey)\n return json[0] ? new Stream(this, json[0]) : undefined\n}\n\nexport async function createStream(name, description, apiKey = this.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n name, description\n })\n })\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getOrCreateStream(name, description, apiKey = this.options.apiKey) {\n // Try looking up the stream\n let json = await this.getStreamByName(name, apiKey)\n\n // If not found, try creating the stream\n if (!json) {\n json = await this.createStream(name, description, apiKey)\n debug('Created stream: %s (%s)', name, json.id)\n }\n\n // If still nothing, throw\n if (!json) {\n throw 'Unable to find or create stream: ' + name\n } else {\n return new Stream(this, json)\n }\n}\n\nexport async function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) {\n if (typeof streamId === Stream) {\n streamId = streamId.id\n }\n\n // Send data to the stream\n return await authFetch(this.options.restUrl + '/streams/' + streamId + '/data',\n apiKey,\n Object.assign({}, requestOptions, {\n method: 'POST',\n body: JSON.stringify(data)\n })\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/StreamEndpoints.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime-module.js\n// module id = 116\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 117\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 118\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 119\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 120\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 121\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 122\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 123\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 124\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 125\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 126\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 127\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 128\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 129\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 130\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 131\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 132\n// module chunks = 0","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/index.js\n// module id = 133\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/decode.js\n// module id = 134\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/encode.js\n// module id = 135\n// module chunks = 0","import {authFetch} from '../utils'\n\nexport default class Stream {\n\n constructor(client, props) {\n this._client = client\n Object.assign(this, props)\n }\n\n async getPermissions(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey)\n }\n\n async isPublic(apiKey = this._client.options.apiKey) {\n let permissions = await this.getPermissions(apiKey)\n return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined\n }\n\n async makePublic(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n anonymous: true,\n operation: 'read'\n }),\n })\n }\n\n async detectFields(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey)\n }\n\n async update(apiKey = this._client.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'PUT',\n body: JSON.stringify(this)\n })\n return json ? new Stream(this._client, json) : undefined\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/domain/Stream.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 3e4b77607767e030a6a7","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./src/Protocol.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/rest/utils.js","webpack:///./src/index.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./src/Subscription.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./src/Connection.js","webpack:///./src/shim/ws.js","webpack:///./src/rest/AllEndpoints.js","webpack:///./src/rest/StreamEndpoints.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./src/rest/domain/Stream.js","webpack:///./src/shim/node-fetch.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","forEach","key","url","apiKey","opts","headers","Authorization","res","text","ok","status","authFetch","prototype","StreamrClient","options","restUrl","autoConnect","autoDisconnect","authKey","subsByStream","subById","connection","connected","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close","ws","WebSocket","window","module","exports","StreamEndpoints","endpoints","json","getStream","name","public","getStreamByName","description","method","body","createStream","getOrCreateStream","requestOptions","produceToStream","Stream","client","props","_client","getPermissions","permissions","find","permission","anonymous","operation","fetch"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;;ACJA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;AC1BD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AClMA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA,kBAAkB,wD;;;;;;;ACAlB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AChCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL;AACA,E;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACpEA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;QCRgBA,oB,GAAAA,oB;QAcAC,a,GAAAA,a;QA2BAC,sB,GAAAA,sB;QAUAC,Y,GAAAA,Y;;;;AA1DhB,IAAMC,oBAAoB,EAA1B;AACA,IAAMC,6BAA8B;AAChC,UAAM,CAAC,SAAD,EAAY,UAAZ,EAAwB,iBAAxB,EAA2C,WAA3C,EAAwD,KAAxD,EAA+D,QAA/D,EAAyE,gBAAzE,EAA2F,aAA3F,EAA0G,SAA1G;AAD0B,CAApC;AAGA,IAAMC,gBAAgB,CAAC,GAAD,EAAM,GAAN,EAAW,YAAX,EAAyB,cAAzB,EAAyC,WAAzC,EAAsD,QAAtD,EAAgE,WAAhE,CAAtB;AACA,IAAMC,UAAU,MAAhB;;AAEO,SAASP,oBAAT,CAA8BQ,MAA9B,EAAsC;AACzC,QAAIC,UAAUC,KAAKC,KAAL,CAAWH,MAAX,CAAd;AACA,QAAII,UAAUH,QAAQ,CAAR,CAAd;AACA,QAAIG,YAAY,CAAhB,EAAmB;AACf,cAAM,8BAA4BA,OAAlC;AACH;;AAED,WAAO;AACHC,cAAMP,cAAcG,QAAQ,CAAR,CAAd,CADH;AAEHK,eAAOL,QAAQ,CAAR,CAFJ;AAGHM,aAAKN,QAAQ,CAAR;AAHF,KAAP;AAKH;;AAEM,SAASR,aAAT,CAAuBY,IAAvB,EAA6BG,OAA7B,EAAsC;AACzC,QAAIH,SAAS,GAAT,IAAgBA,SAAS,GAA7B,EAAkC;AAC9B,YAAIR,2BAA2BW,QAAQ,CAAR,CAA3B,MAA2CC,SAA/C,EAA0D;AACtD,kBAAM,0BAA0BD,QAAQ,CAAR,CAAhC;AACH;AACD,YAAIE,SAAS,EAAb;AACA,YAAIC,SAASd,2BAA2BW,QAAQ,CAAR,CAA3B,CAAb;;AAEA,aAAK,IAAII,IAAI,CAAb,EAAgBA,IAAIJ,QAAQK,MAA5B,EAAoCD,GAApC,EAAyC;;AAErC;AACA,gBAAID,OAAOC,CAAP,MAAc,SAAlB,EAA6B;AACzB,oBAAIF,OAAOI,WAAP,KAAuBlB,iBAA3B,EAA8C;AAC1CY,4BAAQI,CAAR,IAAaV,KAAKC,KAAL,CAAWK,QAAQI,CAAR,CAAX,CAAb;AACH,iBAFD,MAEO;AACH,0BAAM,2BAA2BF,OAAOI,WAAxC;AACH;AACJ;;AAEDJ,mBAAOC,OAAOC,CAAP,CAAP,IAAoBJ,QAAQI,CAAR,CAApB;AACH;AACD,eAAOF,MAAP;AACH,KArBD,MAqBO;AACH,eAAOF,OAAP;AACH;AACJ;;AAEM,SAASd,sBAAT,CAAgCqB,MAAhC,EAAwCC,aAAxC,EAAuD;AAC1D,QAAIC,MAAM;AACNF,gBAAQA;AADF,KAAV;AAGA,wBAAYC,aAAZ,EAA2BE,OAA3B,CAAmC,UAASC,GAAT,EAAc;AAC7CF,YAAIE,GAAJ,IAAWH,cAAcG,GAAd,CAAX;AACH,KAFD;AAGA,WAAOF,GAAP;AACH;;AAEM,SAAStB,YAAT,CAAsBa,OAAtB,EAA+B;AAClC,WAAO,CAAC,CAACA,QAAQT,OAAR,CAAT;AACH,C;;;;;;AC5DD;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;A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A;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;ACjCA,8BAA8B;;;;;;;ACA9B;AACA,UAAU;AACV;;;;;;;ACFA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;;;;;;;ACAA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,oEAAuE,2CAA4C;;;;;;;ACFnH,kBAAkB,yD;;;;;;ACAlB;AACA;;;;;;;ACDA;AACA;AACA,8BAA8B,+CAA8C;;;;;;;ACF5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,8BAA8B,kCAAsC;;;;;;;ACFpE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACtLtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,4BAA4B;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,aAAa,8BAA8B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AChOA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJA;;;;AACA;;;;AAEA;;;;AAEA,IAAIzB,QAAQ,CAAZ;AACA,SAASoF,sBAAT,GAAkC;AAC9B,QAAIhD,KAAKpC,OAAT;AACA,WAAOoC,GAAGiD,QAAH,EAAP;AACH;;IAEoBC,Y;;;AAEjB,0BAAYjD,QAAZ,EAAsB8C,eAAtB,EAAuCrD,OAAvC,EAAgDW,QAAhD,EAA0Df,OAA1D,EAAmE;AAAA;;AAAA;;AAG/D,YAAI,CAACW,QAAL,EAAe;AACX,kBAAM,qBAAN;AACH;AACD,YAAI,CAACI,QAAL,EAAe;AACX,kBAAM,oBAAN;AACH;;AAED,cAAKL,EAAL,GAAUgD,wBAAV;AACA,cAAK/C,QAAL,GAAg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A;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B;;;;;;;ACttBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACpRD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACbA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;;ACXH;;AAEA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFA;;;;IAEqBC,M;AAEjB,oBAAYC,MAAZ,EAAoBC,KAApB,EAA2B;AAAA;;AACvB,aAAKC,OAAL,GAAeF,MAAf;AACA,8BAAc,IAAd,EAAoBC,KAApB;AACH;;;;;;oBAEoBtH,M,uEAAS,KAAKuH,OAAL,CAAa5G,OAAb,CAAqBX,M;;;;;;uCAClC,sBAAU,KAAKuH,OAAL,CAAa5G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EAAiFrB,MAAjF,C;;;;;;;;;;;;;;;;;;;;;;;oBAGFA,M,uEAAS,KAAKuH,OAAL,CAAa5G,OAAb,CAAqBX,M;;;;;;;uCACjB,KAAKwH,cAAL,CAAoBxH,MAApB,C;;;AAApByH,2C;kEACGA,YAAYC,IAAZ,CAAiB,UAACC,UAAD;AAAA,2CAAiBA,WAAWC,SAAX,IAAwBD,WAAWE,SAAX,KAAyB,MAAlE;AAAA,iCAAjB,MAAgGzI,S;;;;;;;;;;;;;;;;;;;;oBAG1FY,M,uEAAS,KAAKuH,OAAL,CAAa5G,OAAb,CAAqBX,M;;;;;;uCAC9B,sBAAU,KAAKuH,OAAL,CAAa5G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EACTrB,MADS,EAET;AACI8G,4CAAQ,MADZ;AAEIC,0CAAM,yBAAe;AACjBa,mDAAW,IADM;AAEjBC,mDAAW;AAFM,qCAAf;AAFV,iCAFS,C;;;;;;;;;;;;;;;;;;;;;;;oBAWE7H,M,uEAAS,KAAKuH,OAAL,CAAa5G,OAAb,CAAqBX,M;;;;;;uCAChC,sBAAU,KAAKuH,OAAL,CAAa5G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,eAAjE,EAAkFrB,MAAlF,C;;;;;;;;;;;;;;;;;;;;;;;oBAGJA,M,uEAAS,KAAKuH,OAAL,CAAa5G,OAAb,CAAqBX,M;;;;;;;uCACtB,sBAAU,KAAKW,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqC,KAAKS,EAApD,EACbrB,MADa,EAEb;AACI8G,4CAAQ,KADZ;AAEIC,0CAAM,yBAAe,IAAf;AAFV,iCAFa,C;;;AAAbP,oC;kEAMGA,OAAO,IAAIY,MAAJ,CAAW,KAAKG,OAAhB,EAAyBf,IAAzB,CAAP,GAAwCpH,S;;;;;;;;;;;;;;;;;;;;kBAvClCgI,M;;;;;;;;;;ACFrB;;AAEA,IAAI,OAAOU,KAAP,KAAiB,WAArB,EAAkC;AAC9B1B,WAAOC,OAAP,GAAiByB,KAAjB;AACH,CAFD,MAEO;AACH1B,WAAOC,OAAP,GAAiBF,OAAO2B,KAAxB;AACH,C","file":"streamr-client.web.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 69);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3e4b77607767e030a6a7","var core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 4\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 5\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 8\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 9\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 10\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 11\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 14\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 15\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 16\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 17\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 18\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 19\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 20\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 21\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 22\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 23\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 24\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = 26\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 27\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 28\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 29\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 30\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 31\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 32\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 33\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 34\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 35\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 36\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 37\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 38\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 39\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 40\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 41\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 42\n// module chunks = 0","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 43\n// module chunks = 0","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 44\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 45\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 46\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 47\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 48\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 49\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 50\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 51\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 52\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 53\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 54\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 55\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 56\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 57\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 58\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 59\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 60\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 63\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 64\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 65\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 66\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 67\n// module chunks = 0","import fetch from 'node-fetch'\n\nexport async function authFetch(url, apiKey, opts = {}) {\n let req = Object.assign({}, opts, {\n headers: apiKey ? {\n Authorization: 'token '+ apiKey\n } : undefined\n })\n\n let res = await fetch(url, req)\n\n let text = await res.text()\n\n if (res.ok && text.length) {\n try {\n return JSON.parse(text)\n } catch (err) {\n throw 'Failed to parse JSON response: '+text\n }\n } else if (res.ok) {\n return {}\n } else {\n throw 'Request to '+url+' returned with error code '+res.status+': '+text\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/utils.js","import StreamrClient from './StreamrClient'\nimport AllEndpoints from './rest/AllEndpoints'\n\n// Mixin the rest endpoints to the StreamrClient\nObject.assign(StreamrClient.prototype, AllEndpoints)\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 70\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 71\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 72\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 73\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 74\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n restUrl: 'https://www.streamr.com/api/v1',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n authKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.authKey || this.options.authKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.authKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.authKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 76\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 77\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 78\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 79\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 80\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 81\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 82\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 83\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 84\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 85\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 86\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 87\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 88\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 89\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 90\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 91\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 92\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 93\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 94\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 95\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 96\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 97\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 98\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 99\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 100\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 101\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 102\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 103\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 104\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 105\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 106\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // 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\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // 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.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 107\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 108\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 109\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, authKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.authKey = authKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 111\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js","// In browsers, the ws package is replaced with this to use native websockets\n\nlet ws\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else {\n ws = window.WebSocket\n}\n\nmodule.exports = ws\n\n\n\n// WEBPACK FOOTER //\n// ./src/shim/ws.js","import * as StreamEndpoints from './StreamEndpoints'\n\nlet endpoints = Object.assign({}, StreamEndpoints)\n\nexport default endpoints\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/AllEndpoints.js","import {stringify} from 'querystring'\nimport debug from 'debug'\n\nimport Stream from './domain/Stream'\nimport {authFetch} from './utils'\n\n// These function are mixed in to StreamrClient.prototype.\n// In the below functions, 'this' is intended to be the StreamrClient\n\nexport async function getStream(streamId, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams/' + streamId\n let json = await authFetch(url, apiKey)\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getStreamByName(name, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams?' + stringify({\n name: name,\n public: false\n })\n let json = await authFetch(url, apiKey)\n return json[0] ? new Stream(this, json[0]) : undefined\n}\n\nexport async function createStream(name, description, apiKey = this.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n name, description\n })\n })\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getOrCreateStream(name, description, apiKey = this.options.apiKey) {\n // Try looking up the stream\n let json = await this.getStreamByName(name, apiKey)\n\n // If not found, try creating the stream\n if (!json) {\n json = await this.createStream(name, description, apiKey)\n debug('Created stream: %s (%s)', name, json.id)\n }\n\n // If still nothing, throw\n if (!json) {\n throw 'Unable to find or create stream: ' + name\n } else {\n return new Stream(this, json)\n }\n}\n\nexport async function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) {\n if (typeof streamId === Stream) {\n streamId = streamId.id\n }\n\n // Send data to the stream\n return await authFetch(this.options.restUrl + '/streams/' + streamId + '/data',\n apiKey,\n Object.assign({}, requestOptions, {\n method: 'POST',\n body: JSON.stringify(data)\n })\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/StreamEndpoints.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime-module.js\n// module id = 116\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 117\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 118\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 119\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 120\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 121\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 122\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 123\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 124\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 125\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 126\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 127\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 128\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 129\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 130\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 131\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 132\n// module chunks = 0","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/index.js\n// module id = 133\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/decode.js\n// module id = 134\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/encode.js\n// module id = 135\n// module chunks = 0","import {authFetch} from '../utils'\n\nexport default class Stream {\n\n constructor(client, props) {\n this._client = client\n Object.assign(this, props)\n }\n\n async getPermissions(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey)\n }\n\n async isPublic(apiKey = this._client.options.apiKey) {\n let permissions = await this.getPermissions(apiKey)\n return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined\n }\n\n async makePublic(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n anonymous: true,\n operation: 'read'\n }),\n })\n }\n\n async detectFields(apiKey = this._client.options.apiKey) {\n return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey)\n }\n\n async update(apiKey = this._client.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'PUT',\n body: JSON.stringify(this)\n })\n return json ? new Stream(this._client, json) : undefined\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/domain/Stream.js","// In browsers, the node-fetch package is replaced with this to use native fetch\n\nif (typeof fetch !== 'undefined') {\n module.exports = fetch\n} else {\n module.exports = window.fetch\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/shim/node-fetch.js"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/streamr-client.web.min.js b/dist/streamr-client.web.min.js index 9a722c70f..21ef2aa70 100644 --- a/dist/streamr-client.web.min.js +++ b/dist/streamr-client.web.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("streamr-client",[],e):"object"==typeof exports?exports["streamr-client"]=e():t.StreamrClient=e()}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=69)}([function(t,e){var n=t.exports={version:"2.5.4"};"number"==typeof __e&&(__e=n)},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(34)("wks"),o=n(19),i=n(1).Symbol,s="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=s&&i[t]||(s?i:o)("Symbol."+t))}).store=r},function(t,e,n){var r=n(1),o=n(0),i=n(13),s=n(8),u=n(9),c=function(t,e,n){var a,f,l,d=t&c.F,p=t&c.G,h=t&c.S,v=t&c.P,y=t&c.B,m=t&c.W,b=p?o:o[e]||(o[e]={}),g=b.prototype,_=p?r:h?r[e]:(r[e]||{}).prototype;for(a in p&&(n=e),n)(f=!d&&_&&void 0!==_[a])&&u(b,a)||(l=f?_[a]:n[a],b[a]=p&&"function"!=typeof _[a]?n[a]:y&&f?i(l,r):m&&_[a]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):v&&"function"==typeof l?i(Function.call,l):l,v&&((b.virtual||(b.virtual={}))[a]=l,t&c.R&&g&&!g[a]&&s(g,a,l)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,n){var r=n(6);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(4),o=n(47),i=n(30),s=Object.defineProperty;e.f=n(7)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(11)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(5),o=n(18);t.exports=n(7)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports={default:n(70),__esModule:!0}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(49),o=n(31);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(17);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(48),o=n(35);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports={}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(31);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";e.__esModule=!0;var r=s(n(78)),o=s(n(86)),i="function"==typeof o.default&&"symbol"==typeof r.default?function(t){return typeof t}:function(t){return t&&"function"==typeof o.default&&t.constructor===o.default&&t!==o.default.prototype?"symbol":typeof t};function s(t){return t&&t.__esModule?t:{default:t}}e.default="function"==typeof o.default&&"symbol"===i(r.default)?function(t){return void 0===t?"undefined":i(t)}:function(t){return t&&"function"==typeof o.default&&t.constructor===o.default&&t!==o.default.prototype?"symbol":void 0===t?"undefined":i(t)}},function(t,e){t.exports=!0},function(t,e,n){var r=n(5).f,o=n(9),i=n(2)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){"use strict";e.__esModule=!0;var r,o=n(97),i=(r=o)&&r.__esModule?r:{default:r};e.default=function(){function t(t,e){for(var n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(o())}).call(e,n(107))},function(t,e,n){t.exports={default:n(111),__esModule:!0}},function(t,e,n){var r=n(6),o=n(1).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(6);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(34)("keys"),o=n(19);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(1),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(4),o=n(82),i=n(35),s=n(33)("IE_PROTO"),u=function(){},c=function(){var t,e=n(29)("iframe"),r=i.length;for(e.style.display="none",n(56).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write(" diff --git a/examples/node.js b/examples/node.js index b9755fa9c..8487b1241 100644 --- a/examples/node.js +++ b/examples/node.js @@ -40,8 +40,3 @@ subscription.on('resent', function() { subscription.on('no_resend', function() { console.log('Nothing to resend for '+subscription.streamId) }) - -console.log('Attempting to get stream') -client.getStream('7wa7APtlTq6EC5iTCBy6dw').then((stream) => { - console.log(stream) -}) diff --git a/package.json b/package.json index d6a99bb2d..5cdb62dc6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "streamr-client", "version": "0.10.0", - "description": "JS client for subscribing to Streamr streams", + "description": "JavaScript client library for Streamr", "repository": { "type": "git", "url": "git://github.com/streamr-dev/streamr-client.git" @@ -12,9 +12,9 @@ }, "scripts": { "build": "webpack --env dev --target web && webpack --env dev --target node && webpack --env prod --target web && npm run test", - "dev": "webpack --progress --colors --watch --env dev --target web", - "test": "webpack --env dev --target node && mocha --require babel-core/register --colors ./test/*.spec.js", - "test:watch": "webpack --env dev --target node && mocha --require babel-core/register --colors -w ./test/*.spec.js" + "dev": "webpack --progress --colors --watch --env dev --target node", + "test": "webpack --env dev --target node && mocha --require babel-core/register --colors --recursive ./test", + "test:watch": "webpack --env dev --target node && mocha --require babel-core/register --colors -w --recursive ./test" }, "browser": { "ws": "./src/shim/ws.js", diff --git a/src/StreamrClient.js b/src/StreamrClient.js index 9e60d876d..cfbbd02fe 100644 --- a/src/StreamrClient.js +++ b/src/StreamrClient.js @@ -18,7 +18,7 @@ export default class StreamrClient extends EventEmitter { autoConnect: true, // Automatically disconnect on last unsubscribe autoDisconnect: true, - authKey: null + apiKey: null } this.subsByStream = {} this.subById = {} @@ -27,6 +27,11 @@ export default class StreamrClient extends EventEmitter { this.connected = false Object.assign(this.options, options || {}) + + // Backwards compatibility for option 'authKey' => 'apiKey' + if (this.options.authKey && !this.options.apiKey) { + this.options.apiKey = this.options.authKey + } } _addSubscription(sub) { @@ -81,7 +86,7 @@ export default class StreamrClient extends EventEmitter { } // Create the Subscription object and bind handlers - let sub = new Subscription(options.stream, options.partition || 0, options.authKey || this.options.authKey, callback, options) + let sub = new Subscription(options.stream, options.partition || 0, options.apiKey || this.options.apiKey, callback, options) sub.on('gap', (from, to) => { this._requestResend(sub, { resend_from: from, resend_to: to @@ -332,7 +337,7 @@ export default class StreamrClient extends EventEmitter { // If this is the first subscription for this stream, send a subscription request to the server if (!subs._subscribing && subscribedSubs.length === 0) { let req = Object.assign({}, sub.options, { - type: 'subscribe', stream: sub.streamId, authKey: sub.authKey + type: 'subscribe', stream: sub.streamId, authKey: sub.apiKey }) debug('_requestSubscribe: subscribing client: %o', req) subs._subscribing = true @@ -370,7 +375,7 @@ export default class StreamrClient extends EventEmitter { sub.resending = true let request = Object.assign({}, options, resendOptions, { - type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.authKey, sub: sub.id + type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.apiKey, sub: sub.id }) debug('_requestResend: %o', request) this.connection.send(request) diff --git a/src/Subscription.js b/src/Subscription.js index e874fb487..32e3281d8 100644 --- a/src/Subscription.js +++ b/src/Subscription.js @@ -11,7 +11,7 @@ function generateSubscriptionId() { export default class Subscription extends EventEmitter { - constructor(streamId, streamPartition, authKey, callback, options) { + constructor(streamId, streamPartition, apiKey, callback, options) { super() if (!streamId) { @@ -24,7 +24,7 @@ export default class Subscription extends EventEmitter { this.id = generateSubscriptionId() this.streamId = streamId this.streamPartition = streamPartition - this.authKey = authKey + this.apiKey = apiKey this.callback = callback this.options = options || {} this.queue = [] diff --git a/src/rest/StreamEndpoints.js b/src/rest/StreamEndpoints.js index 1c44d3a3b..98001241f 100644 --- a/src/rest/StreamEndpoints.js +++ b/src/rest/StreamEndpoints.js @@ -13,52 +13,65 @@ export async function getStream(streamId, apiKey = this.options.apiKey) { return json ? new Stream(this, json) : undefined } +export async function listStreams(query = {}, apiKey = this.options.apiKey) { + let url = this.options.restUrl + '/streams?' + stringify(query) + let json = await authFetch(url, apiKey) + return json ? json.map((stream) => new Stream(this, stream)) : [] +} + export async function getStreamByName(name, apiKey = this.options.apiKey) { - let url = this.options.restUrl + '/streams?' + stringify({ + let json = await this.listStreams({ name: name, public: false - }) - let json = await authFetch(url, apiKey) + }, apiKey) return json[0] ? new Stream(this, json[0]) : undefined } -export async function createStream(name, description, apiKey = this.options.apiKey) { +export async function createStream(props, apiKey = this.options.apiKey) { + if (!props || !props.name) { + throw 'Stream properties must contain a "name" field!' + } + let json = await authFetch(this.options.restUrl + '/streams', apiKey, { method: 'POST', - body: JSON.stringify({ - name, description - }) + body: JSON.stringify(props) }) return json ? new Stream(this, json) : undefined } -export async function getOrCreateStream(name, description, apiKey = this.options.apiKey) { - // Try looking up the stream - let json = await this.getStreamByName(name, apiKey) +export async function getOrCreateStream(props, apiKey = this.options.apiKey) { + let json + + // Try looking up the stream by id or name, whichever is defined + if (props.id) { + json = await this.getStream(props.id, apiKey) + } else if (props.name) { + json = await this.getStreamByName(props.name, apiKey) + } // If not found, try creating the stream if (!json) { - json = await this.createStream(name, description, apiKey) - debug('Created stream: %s (%s)', name, json.id) + json = await this.createStream(props, apiKey) + debug('Created stream: %s (%s)', props.name, json.id) } // If still nothing, throw if (!json) { - throw 'Unable to find or create stream: ' + name + throw 'Unable to find or create stream: ' + props.name } else { return new Stream(this, json) } } -export async function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) { - if (typeof streamId === Stream) { +export function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) { + if (streamId instanceof Stream) { streamId = streamId.id } // Send data to the stream - return await authFetch(this.options.restUrl + '/streams/' + streamId + '/data', + return authFetch(this.options.restUrl + '/streams/' + streamId + '/data', apiKey, Object.assign({}, requestOptions, { method: 'POST', diff --git a/src/rest/domain/Stream.js b/src/rest/domain/Stream.js index c071200a8..20e29f82b 100644 --- a/src/rest/domain/Stream.js +++ b/src/rest/domain/Stream.js @@ -7,8 +7,26 @@ export default class Stream { Object.assign(this, props) } - async getPermissions(apiKey = this._client.options.apiKey) { - return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey) + async update(apiKey = this._client.options.apiKey) { + let json = await authFetch(this._client.options.restUrl + '/streams/' + this.id, + apiKey, + { + method: 'PUT', + body: JSON.stringify(this) + }) + return json ? new Stream(this._client, json) : undefined + } + + delete(apiKey = this._client.options.apiKey) { + return authFetch(this._client.options.restUrl + '/streams/' + this.id, + apiKey, + { + method: 'DELETE', + }) + } + + getPermissions(apiKey = this._client.options.apiKey) { + return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey) } async isPublic(apiKey = this._client.options.apiKey) { @@ -16,8 +34,8 @@ export default class Stream { return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined } - async makePublic(apiKey = this._client.options.apiKey) { - return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', + makePublic(apiKey = this._client.options.apiKey) { + return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey, { method: 'POST', @@ -28,17 +46,12 @@ export default class Stream { }) } - async detectFields(apiKey = this._client.options.apiKey) { - return await authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey) + detectFields(apiKey = this._client.options.apiKey) { + return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey) } - async update(apiKey = this._client.options.apiKey) { - let json = await authFetch(this.options.restUrl + '/streams/' + this.id, - apiKey, - { - method: 'PUT', - body: JSON.stringify(this) - }) - return json ? new Stream(this._client, json) : undefined + produce(data, apiKey = this._client.options.apiKey, requestOptions = {}) { + return this._client.produceToStream(this.id, data, apiKey, requestOptions) } + } diff --git a/src/rest/utils.js b/src/rest/utils.js index 57dce39e0..a372d14a7 100644 --- a/src/rest/utils.js +++ b/src/rest/utils.js @@ -1,6 +1,11 @@ import fetch from 'node-fetch' +import debug from 'debug' + +const log = debug('StreamrClient:utils') export async function authFetch(url, apiKey, opts = {}) { + log('fetching: ', url, opts) + let req = Object.assign({}, opts, { headers: apiKey ? { Authorization: 'token '+ apiKey diff --git a/test/integration/StreamrClient.spec.js b/test/integration/StreamrClient.spec.js new file mode 100644 index 000000000..8dd3e1ab2 --- /dev/null +++ b/test/integration/StreamrClient.spec.js @@ -0,0 +1,218 @@ +import assert from 'assert' + +// Run against transpiled file +import StreamrClient from '../../dist/streamr-client.node' + +describe('StreamrClient', function() { + + this.timeout(10*1000) + + const dataApi = 'localhost:8890' + const engineAndEditor = 'localhost:8081/streamr-core' + const name = 'StreamrClient-integration-'+Date.now() + + let client + let createdStream + + const defaultOptions = { + url: 'ws://' + dataApi + '/api/v1/ws', + restUrl: 'http://' + engineAndEditor + '/api/v1', + apiKey: 'tester1-api-key' + } + + function createClient(opts = {}) { + opts = Object.assign({}, defaultOptions, opts) + return new StreamrClient(opts) + } + + beforeEach(function() { + client = createClient() + }) + + afterEach(function(done) { + if (client && client.isConnected()) { + client.once('disconnected', done) + client.disconnect() + client = null + } else { + client = null + done() + } + }) + + describe('Stream creation', () => { + + it('createStream', () => { + return client.createStream({ + name: name + }) + .then((stream) => { + createdStream = stream + assert(stream.id) + assert.equal(stream.name, name) + }) + }) + + it('getOrCreate an existing Stream', () => { + return client.getOrCreateStream({ + name: name + }) + .then((existingStream) => { + assert.equal(existingStream.id, createdStream.id) + assert.equal(existingStream.name, createdStream.name) + }) + }) + + it('getOrCreate a new Stream', () => { + let newName = Date.now() + .toString() + return client.getOrCreateStream({ + name: newName + }) + .then((newStream) => { + assert.notEqual(newStream.id, createdStream.id) + }) + }) + + }) + + describe('Stream.update', () => { + + it('can change stream name', () => { + createdStream.name = 'New name' + return createdStream.update() + }) + + }) + + describe('Data production', () => { + + let originalClient + let dataApiClient + + before('Hack: Create new client with data-api port as restUrl, because we dont have nginx in front', () => { + if (!createdStream._client) { + throw 'Test broken: Assumption about implementation internals is wrong' + } + originalClient = createdStream._client + createdStream._client = dataApiClient = createClient({ + restUrl: 'http://' + dataApi + '/api/v1' + }) + }) + + after('Restore above hack', () => { + if (originalClient) { + createdStream._client = originalClient + } + }) + + it('Stream.produce', () => { + return createdStream.produce({ + foo: 'bar', + count: 0 + }) + }) + + it('client.produceToStream', () => { + return dataApiClient.produceToStream(createdStream.id, { + foo: 'bar', + count: 0 + }) + }) + + it('client.produceToStream with Stream object as arg', () => { + return dataApiClient.produceToStream(createdStream, { + foo: 'bar', + count: 0 + }) + }) + + it('client.subscribe with resend', (done) => { + // This test needs some time because the write needs to have time to go to Cassandra + setTimeout(() => { + client.subscribe({ + stream: createdStream.id, + resend_last: 1 + }, (message) => { + done() + }) + }, 5000) + }) + + it('client.subscribe (realtime)', (done) => { + // Hack due to not having nginx in front: produce call needs to go to data-api port + client.options.restUrl = 'http://' + dataApi + '/api/v1' + + let id = Date.now() + + let sub = client.subscribe({ + stream: createdStream.id, + }, (message) => { + assert.equal(message.id, id) + done() + }) + + sub.on('subscribed', () => { + createdStream.produce({ + id: id + }) + }) + }) + }) + + describe('Stream configuration', () => { + + it('Stream.detectFields', () => { + // What does this return? + return createdStream.detectFields().then((stream) => { + assert.deepEqual(stream.config.fields, + [ + { + name: 'foo', + type: 'string' + }, + { + name: 'count', + type: 'number' + } + ]) + }) + }) + + }) + + describe('Stream permissions', () => { + + it('Stream.getPermissions', () => { + return createdStream.getPermissions().then((permissions) => { + assert.equal(permissions.length, 3) // read, write, share for the owner + }) + }) + + it('Stream.isPublic returns false for non-public Streams', () => { + return createdStream.isPublic().then((isPublic) => { + assert(!isPublic) + }) + }) + + it('Stream.makePublic', () => { + return createdStream.makePublic().then((result) => { + console.log(result) + return createdStream.isPublic() + }) + .then((isPublic) => { + assert(isPublic) + }) + }) + + }) + + describe('Stream deletion', () => { + + it('Stream.delete', () => { + return createdStream.delete() + }) + + }) + +}) diff --git a/test/StreamrClient.spec.js b/test/unit/StreamrClient.spec.js similarity index 94% rename from test/StreamrClient.spec.js rename to test/unit/StreamrClient.spec.js index 1e93ca41f..c21e50bba 100644 --- a/test/StreamrClient.spec.js +++ b/test/unit/StreamrClient.spec.js @@ -166,7 +166,7 @@ describe('StreamrClient', function() { return socket }) - StreamrClient = require('../src/StreamrClient') + StreamrClient = require('../../src/StreamrClient') }) beforeEach(function() { @@ -331,7 +331,7 @@ describe('StreamrClient', function() { done() }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) }) }) @@ -358,7 +358,7 @@ describe('StreamrClient', function() { client.connect() client.connection.once('connected', function() { client.subscribe({ - stream: 'stream1', authKey: 'auth', foo: 'bar' + stream: 'stream1', apiKey: 'auth', foo: 'bar' }, function(message) {}) }) }) @@ -373,7 +373,7 @@ describe('StreamrClient', function() { client.connect() client.connection.once('connected', function() { client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { foo: 'bar' }) @@ -462,7 +462,7 @@ describe('StreamrClient', function() { it('should emit a resend request after subscribed', function(done) { const sub = client.subscribe({ - stream: 'stream1', authKey: 'auth', resend_all: true + stream: 'stream1', apiKey: 'auth', resend_all: true }, function(message) {}) socket.resendHandler = function(request) { assert.equal(request.resend_all, true) @@ -482,7 +482,7 @@ describe('StreamrClient', function() { done() } client.subscribe({ - stream: 'stream1', authKey: 'auth', resend_all: true, foo: 'bar' + stream: 'stream1', apiKey: 'auth', resend_all: true, foo: 'bar' }, function(message) {}) client.connect() }) @@ -490,7 +490,7 @@ describe('StreamrClient', function() { it('should throw an error if multiple resend options are given', function() { assert.throws(function() { client.subscribe({ - stream: 'stream1', authKey: 'auth', resend_all: true, resend_last: 5 + stream: 'stream1', apiKey: 'auth', resend_all: true, resend_last: 5 }, function(message) {}) }) }) @@ -527,14 +527,14 @@ describe('StreamrClient', function() { let sub1count = 0 client.subscribe({ - stream: 'stream1', authKey: 'auth', resend_all: true + stream: 'stream1', apiKey: 'auth', resend_all: true }, function(message) { sub1count++ }) let sub2count = 0 client.subscribe({ - stream: 'stream1', authKey: 'auth', resend_last: 1 + stream: 'stream1', apiKey: 'auth', resend_last: 1 }, function(message) { sub2count++ }) @@ -573,7 +573,7 @@ describe('StreamrClient', function() { } client.subscribe({ - stream: 'stream1', authKey: 'auth', resend_all: true + stream: 'stream1', apiKey: 'auth', resend_all: true }, function(message) {}) client.connect() }) @@ -599,7 +599,7 @@ describe('StreamrClient', function() { } let sub = client.subscribe({ - stream: 'stream1', authKey: 'auth', resend_all: true + stream: 'stream1', apiKey: 'auth', resend_all: true }, function(message) {}) client.connect() }) @@ -609,7 +609,7 @@ describe('StreamrClient', function() { it('should call the callback when a message is received', function(done) { client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function() { done() }) @@ -623,7 +623,7 @@ describe('StreamrClient', function() { it('should not call the callback nor throw an exception when a message is re-received', function(done) { let callbackCounter = 0 client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { ++callbackCounter assert.equal(callbackCounter, 1) @@ -646,7 +646,7 @@ describe('StreamrClient', function() { it('should call the callback once for each message in order', function(done) { let receivedCounts = [] client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { receivedCounts.push(message.count) if (receivedCounts.length === 5) { @@ -679,7 +679,7 @@ describe('StreamrClient', function() { it('should emit unsubscribe after processing a message with the bye key', function(done) { let processed = false client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { processed = true }) @@ -700,7 +700,7 @@ describe('StreamrClient', function() { it('should direct messages to specific subscriptions if the messages contain the _sub key', function(done) { let numReceived = 0 let sub1 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { ++numReceived if (numReceived === 2) { @@ -709,7 +709,7 @@ describe('StreamrClient', function() { }) let sub2 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { throw 'sub1 should not have received a message!' }) @@ -729,7 +729,7 @@ describe('StreamrClient', function() { it('should not call the handlers with any additional keys present in the message', function(done) { client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { assert.deepEqual(message, { count: 0 @@ -751,7 +751,7 @@ describe('StreamrClient', function() { describe('unsubscribe', function() { it('should fire the unsubscribed event', function(done) { let sub = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() sub.on('subscribed', function() { @@ -764,7 +764,7 @@ describe('StreamrClient', function() { it('should unsubscribe the client from a stream when there are no more subscriptions for that stream', function(done) { let sub = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -779,7 +779,7 @@ describe('StreamrClient', function() { it('should not send another unsubscribed event if the same Subscription is unsubscribed multiple times', function(done) { let sub = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -800,10 +800,10 @@ describe('StreamrClient', function() { it('should not unsubscribe the client from a stream when there are subscriptions remaining for that stream', function(done) { let sub1 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) let sub2 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -833,7 +833,7 @@ describe('StreamrClient', function() { } let sub = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -863,7 +863,7 @@ describe('StreamrClient', function() { it('should throw error if Subscription is of wrong type', function() { let sub = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -876,7 +876,7 @@ describe('StreamrClient', function() { it('should handle messages after resubscribing', function(done) { let sub = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { throw 'This message handler should not be called' }) @@ -888,7 +888,7 @@ describe('StreamrClient', function() { sub.on('unsubscribed', function() { let newSub = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { assert.deepEqual(message, { count: 0 @@ -908,7 +908,7 @@ describe('StreamrClient', function() { client.options.autoDisconnect = true let sub1 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) let sub2 = client.subscribe('stream2', 'auth', function(message) {}) client.connect() @@ -938,7 +938,7 @@ describe('StreamrClient', function() { } let sub1 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { resend_all: true }) @@ -964,7 +964,7 @@ describe('StreamrClient', function() { client.options.autoDisconnect = false let sub1 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) let sub2 = client.subscribe('stream2', 'auth', function(message) {}) client.connect() @@ -1010,7 +1010,7 @@ describe('StreamrClient', function() { it('should reset subscriptions when calling disconnect()', function(done) { client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -1026,7 +1026,7 @@ describe('StreamrClient', function() { it('should only subscribe to new subscriptions since calling disconnect()', function(done) { client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -1072,7 +1072,7 @@ describe('StreamrClient', function() { it('should not reset subscriptions', function(done) { client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -1090,7 +1090,7 @@ describe('StreamrClient', function() { let sub1, sub2 sub1 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -1208,7 +1208,7 @@ describe('StreamrClient', function() { } client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { resend_all: true }) @@ -1229,7 +1229,7 @@ describe('StreamrClient', function() { } client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { resend_from: 7 }) @@ -1250,7 +1250,7 @@ describe('StreamrClient', function() { } client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { resend_last: 3 }) @@ -1269,7 +1269,7 @@ describe('StreamrClient', function() { }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { resend_from_time: d }) @@ -1287,7 +1287,7 @@ describe('StreamrClient', function() { stream: 'stream1', resend_from_time: d.getTime() }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { resend_from_time: d }) @@ -1301,7 +1301,7 @@ describe('StreamrClient', function() { it('should throw if resend_from_time is in invalid format', function() { assert.throws(function() { client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { resend_from_time: 'invalid' }) @@ -1310,7 +1310,7 @@ describe('StreamrClient', function() { it('should not emit a resend request if there is no gap in messages', function(done) { client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { if (message.done) { done() @@ -1338,7 +1338,7 @@ describe('StreamrClient', function() { const receivedMessages = [] client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { receivedMessages.push(message) }) @@ -1362,7 +1362,7 @@ describe('StreamrClient', function() { }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { auth: 'foo' }) @@ -1396,7 +1396,7 @@ describe('StreamrClient', function() { }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}, { auth: 'foo', resend_all: true }) @@ -1427,7 +1427,7 @@ describe('StreamrClient', function() { }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) client.connect() @@ -1457,7 +1457,7 @@ describe('StreamrClient', function() { }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { if (message.counter === 12) { done() @@ -1488,7 +1488,7 @@ describe('StreamrClient', function() { }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { if (message.counter === 12) { done() @@ -1528,7 +1528,7 @@ describe('StreamrClient', function() { }) client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) { if (message.counter === 12) { done() @@ -1559,7 +1559,7 @@ describe('StreamrClient', function() { it('no resend', function(done) { client.subscribe({ - stream: 'stream', authKey: 'auth' + stream: 'stream', apiKey: 'auth' }, msgHandler) client.connect() @@ -1592,7 +1592,7 @@ describe('StreamrClient', function() { } client.subscribe({ - stream: 'stream', authKey: 'auth' + stream: 'stream', apiKey: 'auth' }, msgHandler, { resend_all: true }) @@ -1623,7 +1623,7 @@ describe('StreamrClient', function() { } client.subscribe({ - stream: 'stream', authKey: 'auth' + stream: 'stream', apiKey: 'auth' }, msgHandler, { resend_from: 3 }) @@ -1654,7 +1654,7 @@ describe('StreamrClient', function() { } client.subscribe({ - stream: 'stream', authKey: 'auth', resend_last: 1 + stream: 'stream', apiKey: 'auth', resend_last: 1 }, msgHandler) client.connect() @@ -1682,7 +1682,7 @@ describe('StreamrClient', function() { } client.subscribe({ - stream: 'stream', authKey: 'auth', resend_last: 1 + stream: 'stream', apiKey: 'auth', resend_last: 1 }, msgHandler) client.connect() @@ -1722,10 +1722,10 @@ describe('StreamrClient', function() { let subscribeCount = 0 let sub1 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) let sub2 = client.subscribe({ - stream: 'stream2', authKey: 'auth' + stream: 'stream2', apiKey: 'auth' }, function(message) {}) let check = function(response) { if (++subscribeCount === 2) { @@ -1747,10 +1747,10 @@ describe('StreamrClient', function() { } let sub1 = client.subscribe({ - stream: 'stream1', authKey: 'auth' + stream: 'stream1', apiKey: 'auth' }, function(message) {}) let sub2 = client.subscribe({ - stream: 'stream2', authKey: 'auth' + stream: 'stream2', apiKey: 'auth' }, function(message) {}) sub1.on('unsubscribed', check) sub2.on('unsubscribed', check) From 0b375f867d527884eeb4edf7d8a6d4ac8fe21608 Mon Sep 17 00:00:00 2001 From: Henri Pihkala Date: Mon, 2 Apr 2018 21:33:23 +0200 Subject: [PATCH 10/18] build --- dist/streamr-client.node.js | 212 ++++++++++++++++---------------- dist/streamr-client.node.js.map | 2 +- dist/streamr-client.web.js | 182 ++++++++++++++------------- dist/streamr-client.web.js.map | 2 +- dist/streamr-client.web.min.js | 2 +- 5 files changed, 198 insertions(+), 202 deletions(-) diff --git a/dist/streamr-client.node.js b/dist/streamr-client.node.js index 784292f0e..911d9d6db 100644 --- a/dist/streamr-client.node.js +++ b/dist/streamr-client.node.js @@ -97,7 +97,7 @@ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef /* 2 */ /***/ (function(module, exports, __webpack_require__) { -var store = __webpack_require__(39)('wks'); +var store = __webpack_require__(38)('wks'); var uid = __webpack_require__(21); var Symbol = __webpack_require__(1).Symbol; var USE_SYMBOL = typeof Symbol == 'function'; @@ -195,7 +195,7 @@ module.exports = function (it) { var anObject = __webpack_require__(4); var IE8_DOM_DEFINE = __webpack_require__(54); -var toPrimitive = __webpack_require__(35); +var toPrimitive = __webpack_require__(34); var dP = Object.defineProperty; exports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) { @@ -279,7 +279,7 @@ module.exports = function (exec) { // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = __webpack_require__(56); -var defined = __webpack_require__(36); +var defined = __webpack_require__(35); module.exports = function (it) { return IObject(defined(it)); }; @@ -317,7 +317,7 @@ module.exports = function (fn, that, length) { // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = __webpack_require__(55); -var enumBugKeys = __webpack_require__(40); +var enumBugKeys = __webpack_require__(39); module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); @@ -422,7 +422,7 @@ exports.f = {}.propertyIsEnumerable; /***/ (function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) -var defined = __webpack_require__(36); +var defined = __webpack_require__(35); module.exports = function (it) { return Object(defined(it)); }; @@ -430,40 +430,13 @@ module.exports = function (it) { /***/ }), /* 24 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _iterator = __webpack_require__(94); - -var _iterator2 = _interopRequireDefault(_iterator); - -var _symbol = __webpack_require__(102); - -var _symbol2 = _interopRequireDefault(_symbol); - -var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof(obj); -} : function (obj) { - return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); -}; - -/***/ }), -/* 25 */ /***/ (function(module, exports) { module.exports = true; /***/ }), -/* 26 */ +/* 25 */ /***/ (function(module, exports, __webpack_require__) { var def = __webpack_require__(5).f; @@ -476,7 +449,7 @@ module.exports = function (it, tag, stat) { /***/ }), -/* 27 */ +/* 26 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -491,7 +464,7 @@ exports.default = function (instance, Constructor) { }; /***/ }), -/* 28 */ +/* 27 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -524,25 +497,25 @@ exports.default = function () { }(); /***/ }), -/* 29 */ +/* 28 */ /***/ (function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(132), __esModule: true }; /***/ }), -/* 30 */ +/* 29 */ /***/ (function(module, exports) { module.exports = require("http"); /***/ }), -/* 31 */ +/* 30 */ /***/ (function(module, exports) { module.exports = require("url"); /***/ }), -/* 32 */ +/* 31 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1065,13 +1038,13 @@ function inflateOnError (err) { /***/ }), -/* 33 */ +/* 32 */ /***/ (function(module, exports) { module.exports = require("stream"); /***/ }), -/* 34 */ +/* 33 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(6); @@ -1084,7 +1057,7 @@ module.exports = function (it) { /***/ }), -/* 35 */ +/* 34 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) @@ -1102,7 +1075,7 @@ module.exports = function (it, S) { /***/ }), -/* 36 */ +/* 35 */ /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) @@ -1113,7 +1086,7 @@ module.exports = function (it) { /***/ }), -/* 37 */ +/* 36 */ /***/ (function(module, exports) { // 7.1.4 ToInteger @@ -1125,10 +1098,10 @@ module.exports = function (it) { /***/ }), -/* 38 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { -var shared = __webpack_require__(39)('keys'); +var shared = __webpack_require__(38)('keys'); var uid = __webpack_require__(21); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); @@ -1136,7 +1109,7 @@ module.exports = function (key) { /***/ }), -/* 39 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(1); @@ -1148,7 +1121,7 @@ module.exports = function (key) { /***/ }), -/* 40 */ +/* 39 */ /***/ (function(module, exports) { // IE 8- don't enum bug keys @@ -1158,12 +1131,39 @@ module.exports = ( /***/ }), -/* 41 */ +/* 40 */ /***/ (function(module, exports) { exports.f = Object.getOwnPropertySymbols; +/***/ }), +/* 41 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _iterator = __webpack_require__(94); + +var _iterator2 = _interopRequireDefault(_iterator); + +var _symbol = __webpack_require__(102); + +var _symbol2 = _interopRequireDefault(_symbol); + +var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { + return typeof obj === "undefined" ? "undefined" : _typeof(obj); +} : function (obj) { + return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); +}; + /***/ }), /* 42 */ /***/ (function(module, exports, __webpack_require__) { @@ -1171,15 +1171,15 @@ exports.f = Object.getOwnPropertySymbols; // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = __webpack_require__(4); var dPs = __webpack_require__(98); -var enumBugKeys = __webpack_require__(40); -var IE_PROTO = __webpack_require__(38)('IE_PROTO'); +var enumBugKeys = __webpack_require__(39); +var IE_PROTO = __webpack_require__(37)('IE_PROTO'); var Empty = function () { /* empty */ }; var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function () { // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(34)('iframe'); + var iframe = __webpack_require__(33)('iframe'); var i = enumBugKeys.length; var lt = '<'; var gt = '>'; @@ -1224,7 +1224,7 @@ exports.f = __webpack_require__(2); var global = __webpack_require__(1); var core = __webpack_require__(0); -var LIBRARY = __webpack_require__(25); +var LIBRARY = __webpack_require__(24); var wksExt = __webpack_require__(43); var defineProperty = __webpack_require__(5).f; module.exports = function (name) { @@ -1248,7 +1248,7 @@ module.exports = { "default": __webpack_require__(111), __esModule: true }; exports.__esModule = true; -var _typeof2 = __webpack_require__(24); +var _typeof2 = __webpack_require__(41); var _typeof3 = _interopRequireDefault(_typeof2); @@ -1279,7 +1279,7 @@ var _create = __webpack_require__(120); var _create2 = _interopRequireDefault(_create); -var _typeof2 = __webpack_require__(24); +var _typeof2 = __webpack_require__(41); var _typeof3 = _interopRequireDefault(_typeof2); @@ -1799,7 +1799,7 @@ module.exports.f = function (C) { /***/ (function(module, exports, __webpack_require__) { module.exports = !__webpack_require__(7) && !__webpack_require__(11)(function () { - return Object.defineProperty(__webpack_require__(34)('div'), 'a', { get: function () { return 7; } }).a != 7; + return Object.defineProperty(__webpack_require__(33)('div'), 'a', { get: function () { return 7; } }).a != 7; }); @@ -1810,7 +1810,7 @@ module.exports = !__webpack_require__(7) && !__webpack_require__(11)(function () var has = __webpack_require__(9); var toIObject = __webpack_require__(12); var arrayIndexOf = __webpack_require__(89)(false); -var IE_PROTO = __webpack_require__(38)('IE_PROTO'); +var IE_PROTO = __webpack_require__(37)('IE_PROTO'); module.exports = function (object, names) { var O = toIObject(object); @@ -1843,7 +1843,7 @@ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { /***/ (function(module, exports, __webpack_require__) { // 7.1.15 ToLength -var toInteger = __webpack_require__(37); +var toInteger = __webpack_require__(36); var min = Math.min; module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 @@ -1902,13 +1902,13 @@ __webpack_require__(61)(String, 'String', function (iterated) { "use strict"; -var LIBRARY = __webpack_require__(25); +var LIBRARY = __webpack_require__(24); var $export = __webpack_require__(3); var redefine = __webpack_require__(62); var hide = __webpack_require__(8); var Iterators = __webpack_require__(16); var $iterCreate = __webpack_require__(97); -var setToStringTag = __webpack_require__(26); +var setToStringTag = __webpack_require__(25); var getPrototypeOf = __webpack_require__(64); var ITERATOR = __webpack_require__(2)('iterator'); var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` @@ -1994,7 +1994,7 @@ module.exports = document && document.documentElement; // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = __webpack_require__(9); var toObject = __webpack_require__(23); -var IE_PROTO = __webpack_require__(38)('IE_PROTO'); +var IE_PROTO = __webpack_require__(37)('IE_PROTO'); var ObjectProto = Object.prototype; module.exports = Object.getPrototypeOf || function (O) { @@ -2037,7 +2037,7 @@ for (var i = 0; i < DOMIterables.length; i++) { // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var $keys = __webpack_require__(55); -var hiddenKeys = __webpack_require__(40).concat('length', 'prototype'); +var hiddenKeys = __webpack_require__(39).concat('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); @@ -2051,7 +2051,7 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { var pIE = __webpack_require__(22); var createDesc = __webpack_require__(20); var toIObject = __webpack_require__(12); -var toPrimitive = __webpack_require__(35); +var toPrimitive = __webpack_require__(34); var has = __webpack_require__(9); var IE8_DOM_DEFINE = __webpack_require__(54); var gOPD = Object.getOwnPropertyDescriptor; @@ -2397,12 +2397,12 @@ function isByeMessage(message) { const EventEmitter = __webpack_require__(72); const crypto = __webpack_require__(49); const https = __webpack_require__(73); -const http = __webpack_require__(30); +const http = __webpack_require__(29); const net = __webpack_require__(135); const tls = __webpack_require__(136); -const url = __webpack_require__(31); +const url = __webpack_require__(30); -const PerMessageDeflate = __webpack_require__(32); +const PerMessageDeflate = __webpack_require__(31); const EventTarget = __webpack_require__(138); const extension = __webpack_require__(75); const constants = __webpack_require__(18); @@ -3455,9 +3455,9 @@ module.exports = { format, parse }; "use strict"; -const stream = __webpack_require__(33); +const stream = __webpack_require__(32); -const PerMessageDeflate = __webpack_require__(32); +const PerMessageDeflate = __webpack_require__(31); const bufferUtil = __webpack_require__(50); const validation = __webpack_require__(77); const constants = __webpack_require__(18); @@ -4013,7 +4013,7 @@ exports.isValidStatusCode = (code) => { const crypto = __webpack_require__(49); -const PerMessageDeflate = __webpack_require__(32); +const PerMessageDeflate = __webpack_require__(31); const bufferUtil = __webpack_require__(50); const validation = __webpack_require__(77); const constants = __webpack_require__(18); @@ -4463,7 +4463,7 @@ module.exports = function (O, D) { var ctx = __webpack_require__(13); var invoke = __webpack_require__(152); var html = __webpack_require__(63); -var cel = __webpack_require__(34); +var cel = __webpack_require__(33); var global = __webpack_require__(1); var process = global.process; var setTask = global.setImmediate; @@ -4737,7 +4737,7 @@ $export($export.S + $export.F, 'Object', { assign: __webpack_require__(88) }); // 19.1.2.1 Object.assign(target, source, ...) var getKeys = __webpack_require__(14); -var gOPS = __webpack_require__(41); +var gOPS = __webpack_require__(40); var pIE = __webpack_require__(22); var toObject = __webpack_require__(23); var IObject = __webpack_require__(56); @@ -4803,7 +4803,7 @@ module.exports = function (IS_INCLUDES) { /* 90 */ /***/ (function(module, exports, __webpack_require__) { -var toInteger = __webpack_require__(37); +var toInteger = __webpack_require__(36); var max = Math.max; var min = Math.min; module.exports = function (index, length) { @@ -4827,7 +4827,7 @@ var _keys = __webpack_require__(58); var _keys2 = _interopRequireDefault(_keys); -var _typeof2 = __webpack_require__(24); +var _typeof2 = __webpack_require__(41); var _typeof3 = _interopRequireDefault(_typeof2); @@ -4839,11 +4839,11 @@ var _getPrototypeOf = __webpack_require__(45); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); -var _classCallCheck2 = __webpack_require__(27); +var _classCallCheck2 = __webpack_require__(26); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _createClass2 = __webpack_require__(28); +var _createClass2 = __webpack_require__(27); var _createClass3 = _interopRequireDefault(_createClass2); @@ -5330,8 +5330,8 @@ module.exports = __webpack_require__(43).f('iterator'); /* 96 */ /***/ (function(module, exports, __webpack_require__) { -var toInteger = __webpack_require__(37); -var defined = __webpack_require__(36); +var toInteger = __webpack_require__(36); +var defined = __webpack_require__(35); // true -> String#at // false -> String#codePointAt module.exports = function (TO_STRING) { @@ -5357,7 +5357,7 @@ module.exports = function (TO_STRING) { var create = __webpack_require__(42); var descriptor = __webpack_require__(20); -var setToStringTag = __webpack_require__(26); +var setToStringTag = __webpack_require__(25); var IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() @@ -5476,8 +5476,8 @@ var $export = __webpack_require__(3); var redefine = __webpack_require__(62); var META = __webpack_require__(105).KEY; var $fails = __webpack_require__(11); -var shared = __webpack_require__(39); -var setToStringTag = __webpack_require__(26); +var shared = __webpack_require__(38); +var setToStringTag = __webpack_require__(25); var uid = __webpack_require__(21); var wks = __webpack_require__(2); var wksExt = __webpack_require__(43); @@ -5487,7 +5487,7 @@ var isArray = __webpack_require__(107); var anObject = __webpack_require__(4); var isObject = __webpack_require__(6); var toIObject = __webpack_require__(12); -var toPrimitive = __webpack_require__(35); +var toPrimitive = __webpack_require__(34); var createDesc = __webpack_require__(20); var _create = __webpack_require__(42); var gOPNExt = __webpack_require__(108); @@ -5618,9 +5618,9 @@ if (!USE_NATIVE) { $DP.f = $defineProperty; __webpack_require__(66).f = gOPNExt.f = $getOwnPropertyNames; __webpack_require__(22).f = $propertyIsEnumerable; - __webpack_require__(41).f = $getOwnPropertySymbols; + __webpack_require__(40).f = $getOwnPropertySymbols; - if (DESCRIPTORS && !__webpack_require__(25)) { + if (DESCRIPTORS && !__webpack_require__(24)) { redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); } @@ -5768,7 +5768,7 @@ var meta = module.exports = { // all enumerable object keys, includes symbols var getKeys = __webpack_require__(14); -var gOPS = __webpack_require__(41); +var gOPS = __webpack_require__(40); var pIE = __webpack_require__(22); module.exports = function (it) { var result = getKeys(it); @@ -6681,7 +6681,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _stringify = __webpack_require__(29); +var _stringify = __webpack_require__(28); var _stringify2 = _interopRequireDefault(_stringify); @@ -6689,11 +6689,11 @@ var _getPrototypeOf = __webpack_require__(45); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); -var _classCallCheck2 = __webpack_require__(27); +var _classCallCheck2 = __webpack_require__(26); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _createClass2 = __webpack_require__(28); +var _createClass2 = __webpack_require__(27); var _createClass3 = _interopRequireDefault(_createClass2); @@ -6951,7 +6951,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _stringify = __webpack_require__(29); +var _stringify = __webpack_require__(28); var _stringify2 = _interopRequireDefault(_stringify); @@ -6959,11 +6959,11 @@ var _getPrototypeOf = __webpack_require__(45); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); -var _classCallCheck2 = __webpack_require__(27); +var _classCallCheck2 = __webpack_require__(26); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _createClass2 = __webpack_require__(28); +var _createClass2 = __webpack_require__(27); var _createClass3 = _interopRequireDefault(_createClass2); @@ -7361,10 +7361,10 @@ module.exports = EventTarget; const EventEmitter = __webpack_require__(72); const crypto = __webpack_require__(49); -const http = __webpack_require__(30); -const url = __webpack_require__(31); +const http = __webpack_require__(29); +const url = __webpack_require__(30); -const PerMessageDeflate = __webpack_require__(32); +const PerMessageDeflate = __webpack_require__(31); const extension = __webpack_require__(75); const constants = __webpack_require__(18); const WebSocket = __webpack_require__(71); @@ -7753,7 +7753,7 @@ var _assign = __webpack_require__(10); var _assign2 = _interopRequireDefault(_assign); -var _stringify = __webpack_require__(29); +var _stringify = __webpack_require__(28); var _stringify2 = _interopRequireDefault(_stringify); @@ -8806,7 +8806,7 @@ module.exports = __webpack_require__(0).Promise; "use strict"; -var LIBRARY = __webpack_require__(25); +var LIBRARY = __webpack_require__(24); var global = __webpack_require__(1); var ctx = __webpack_require__(13); var classof = __webpack_require__(79); @@ -9018,7 +9018,7 @@ if (!USE_NATIVE) { } $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); -__webpack_require__(26)($Promise, PROMISE); +__webpack_require__(25)($Promise, PROMISE); __webpack_require__(155)(PROMISE); Wrapper = __webpack_require__(0)[PROMISE]; @@ -9397,7 +9397,7 @@ var _regenerator = __webpack_require__(51); var _regenerator2 = _interopRequireDefault(_regenerator); -var _stringify = __webpack_require__(29); +var _stringify = __webpack_require__(28); var _stringify2 = _interopRequireDefault(_stringify); @@ -9409,11 +9409,11 @@ var _assign = __webpack_require__(10); var _assign2 = _interopRequireDefault(_assign); -var _classCallCheck2 = __webpack_require__(27); +var _classCallCheck2 = __webpack_require__(26); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _createClass2 = __webpack_require__(28); +var _createClass2 = __webpack_require__(27); var _createClass3 = _interopRequireDefault(_createClass2); @@ -9688,9 +9688,9 @@ FetchError.prototype.name = 'FetchError'; * Body interface provides common methods for Request and Response */ -const Stream = __webpack_require__(33); +const Stream = __webpack_require__(32); -var _require = __webpack_require__(33); +var _require = __webpack_require__(32); const PassThrough = _require.PassThrough; @@ -10596,7 +10596,7 @@ function createHeadersLenient(obj) { * Response class provides content decoding */ -var _require$1 = __webpack_require__(30); +var _require$1 = __webpack_require__(29); const STATUS_CODES = _require$1.STATUS_CODES; @@ -10692,7 +10692,7 @@ Object.defineProperty(Response.prototype, Symbol.toStringTag, { * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/. */ -var _require$2 = __webpack_require__(31); +var _require$2 = __webpack_require__(30); const format_url = _require$2.format; const parse_url = _require$2.parse; @@ -10889,14 +10889,14 @@ function getNodeRequestOptions(request) { * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/. */ -const http = __webpack_require__(30); +const http = __webpack_require__(29); const https = __webpack_require__(73); -var _require$3 = __webpack_require__(33); +var _require$3 = __webpack_require__(32); const PassThrough$1 = _require$3.PassThrough; -var _require2 = __webpack_require__(31); +var _require2 = __webpack_require__(30); const resolve_url = _require2.resolve; diff --git a/dist/streamr-client.node.js.map b/dist/streamr-client.node.js.map index 5fb76da7f..bc6b7f876 100644 --- a/dist/streamr-client.node.js.map +++ b/dist/streamr-client.node.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 2545ef8bebd7aee12f6a","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/debug/src/index.js","webpack:///./node_modules/ws/lib/constants.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///external \"http\"","webpack:///external \"url\"","webpack:///./node_modules/ws/lib/permessage-deflate.js","webpack:///external \"stream\"","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///external \"crypto\"","webpack:///./node_modules/ws/lib/buffer-util.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./src/Protocol.js","webpack:///./node_modules/ws/lib/websocket.js","webpack:///external \"events\"","webpack:///external \"https\"","webpack:///external \"zlib\"","webpack:///./node_modules/ws/lib/extension.js","webpack:///./node_modules/ws/lib/receiver.js","webpack:///./node_modules/ws/lib/validation.js","webpack:///./node_modules/ws/lib/sender.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/rest/utils.js","webpack:///./src/index.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/debug/src/node.js","webpack:///external \"tty\"","webpack:///external \"util\"","webpack:///./node_modules/supports-color/index.js","webpack:///external \"os\"","webpack:///./node_modules/has-flag/index.js","webpack:///./src/Subscription.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./src/Connection.js","webpack:///./node_modules/ws/index.js","webpack:///external \"net\"","webpack:///external \"tls\"","webpack:///./node_modules/async-limiter/index.js","webpack:///./node_modules/ws/lib/event-target.js","webpack:///./node_modules/ws/lib/websocket-server.js","webpack:///./src/rest/AllEndpoints.js","webpack:///./src/rest/StreamEndpoints.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///external \"querystring\"","webpack:///./src/rest/domain/Stream.js","webpack:///./node_modules/node-fetch/lib/index.es.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","forEach","key","url","apiKey","opts","log","headers","Authorization","res","text","ok","status","authFetch","prototype","StreamrClient","options","restUrl","autoConnect","autoDisconnect","subsByStream","subById","connection","connected","authKey","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close","StreamEndpoints","endpoints","json","getStream","query","map","listStreams","name","public","getStreamByName","props","method","body","createStream","getOrCreateStream","produceToStream","requestOptions","Stream","client","_client","getPermissions","permissions","find","permission","anonymous","operation"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;ACTA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;;ACJA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;AC1BD,kBAAkB,yD;;;;;;ACAlB,iC;;;;;;ACAA,gC;;;;;;;ACAA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,iBAAiB;AAC9B;AACA,aAAa,iBAAiB;AAC9B;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,IAAI;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,IAAI,KAAK,MAAM;AAC/D;AACA;AACA;AACA,WAAW;AACX;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA,SAAS;AACT,gDAAgD,IAAI;AACpD;;AAEA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA,wBAAwB,qCAAqC,aAAa;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACngBA,mC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA,kBAAkB,yD;;;;;;;ACAlB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AChCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA,mC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,SAAS;AAC3C,CAAC;AACD;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;;AAEA,oBAAoB;AACpB;;;;;;;AC5DA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL;AACA,E;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACpEA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AA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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD,kBAAkB,0BAA0B;AAC5C,iBAAiB,yBAAyB;AAC1C,eAAe,uBAAuB;;AAEtC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,uCAAuC,wBAAwB;AAC/D,gCAAgC,4BAA4B;AAC5D;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,SAAS;AAC7C;;AAEA;AACA;AACA;AACA;AACA,SAAS,0BAA0B,EAAE,iBAAiB;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,mBAAmB,GAAG,mBAAmB;AAC/D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,6DAA6D,eAAe;AAC5E,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,gCAAgC;AAC3C;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACjzBA,mC;;;;;;ACAA,kC;;;;;;ACAA,iC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,wBAAwB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO,4BAA4B;AACnC;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,EAAE;AACnE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,iEAAiE,EAAE;AACnE;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,EAAE,GAAG,EAAE,UAAU;AACtE,OAAO,UAAU;AACjB,KAAK;AACL,GAAG;AACH;;AAEA,kBAAkB;;;;;;;;AClNlB;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,mDAAmD,aAAa;AAChE;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,iDAAiD,aAAa;AAC9D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,0DAA0D,KAAK;AAC/D;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;AChgBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;AChZA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnFA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFCNO,iBAAyBqB,GAAzB,EAA8BC,MAA9B;AAAA,YAAsCC,IAAtC,uEAA6C,EAA7C;AAAA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;ACjCA,8BAA8B;;;;;;;ACA9B;AACA,UAAU;AACV;;;;;;;ACFA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;;;;;;;ACAA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,oEAAuE,2CAA4C;;;;;;;ACFnH,kBAAkB,yD;;;;;;ACAlB;AACA;;;;;;;ACDA;AACA;AACA,8BAA8B,+CAA8C;;;;;;;ACF5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,8BAA8B,kCAAsC;;;;;;;ACFpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;AClMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,2CAA2C,yBAAyB;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,IAAI;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,EAAE;AACnD,sCAAsC;;AAEtC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzLA,gC;;;;;;ACAA,iC;;;;;;;ACAA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,GAAG;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;;;;;;AClHA,+B;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,kBAAkB,IAAI;AACtB;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;;;AACA;;;;AAEA;;;;AAEA,IAAI1B,QAAQ,CAAZ;AACA,SAASqF,sBAAT,GAAkC;AAC9B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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;AClEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzKA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,YAAY;AACzB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,iBAAiB;AAC9B,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kDAAkD;AACjF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,qBAAqB;AAClC,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,IAAI;AACnC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,gDAAgD,SAAS;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,gDAAgD,MAAM;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,0BAA0B;AACrC,YAAY,SAAS;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,KAAK,GAAG,wBAAwB;AAClD;AACA;AACA,yBAAyB,2BAA2B;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC7VA;;IAAYU,e;;;;;;AAEZ,IAAIC,YAAY,sBAAc,EAAd,EAAkBD,eAAlB,CAAhB;;kBAEeC,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEf;AACA;;;wFAEO,iBAAyB5E,QAAzB;AAAA,YAAmCvB,MAAnC,uEAA4C,KAAKY,OAAL,CAAaZ,MAAzD;AAAA;AAAA;AAAA;AAAA;AAAA;AACCD,2BADD,GACO,KAAKa,OAAL,CAAaC,OA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OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqCU,QAArC,GAAgD,OAA1D,EACHvB,MADG,EAEH,sBAAc,EAAd,EAAkBkH,cAAlB,EAAkC;AAC9BL,gBAAQ,MADsB;AAE9BC,cAAM,yBAAed,IAAf;AAFwB,KAAlC,CAFG,CAAP;AAOH,C;;;;;;AChFD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B;;;;;;;ACttBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACpRD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACbA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;ACXH,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;IAEqBmB,M;AAEjB,oBAAYC,MAAZ,EAAoBR,KAApB,EAA2B;AAAA;;A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AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kFAAkF;AAClF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,UAAU,IAAI,YAAY;AACpH,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,+EAA+E,WAAW,WAAW,YAAY;AACjH;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,QAAQ,mBAAmB;AAC3B,YAAY,mBAAmB;AAC/B,eAAe,mBAAmB;AAClC,QAAQ,mBAAmB;AAC3B,QAAQ,mBAAmB;AAC3B,QAAQ;AACR,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,SAAS;AAC9E;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE,WAAW,SAAS,eAAe;AACvG,IAAI;AACJ;;AAEA;AACA;AACA,wEAAwE,WAAW,IAAI,YAAY;AACnG,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,WAAW,eAAe,YAAY;AACnF;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,4EAA4E,WAAW,IAAI,YAAY;AACvG;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,qBAAqB;AACrB,EAAE;AACF;AACA,4CAA4C;AAC5C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,8BAA8B,WAAW,mBAAmB;AAC5D,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA,yBAAyB,KAAK;AAC9B;AACA;;AAEA;AACA,YAAY,MAAM;AAClB;AACA,yBAAyB,MAAM;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,QAAQ,mBAAmB;AAC3B,UAAU,mBAAmB;AAC7B,WAAW;AACX,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,MAAM,mBAAmB;AACzB,cAAc,mBAAmB;AACjC,WAAW,mBAAmB;AAC9B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,IAAI;AACJ;AACA,6BAA6B,MAAM;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,YAAY,mBAAmB;AAC/B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,YAAY;AAC9D;AACA,KAAK;AACL,IAAI;AACJ;;AAEA;AACA,uCAAuC,YAAY,mBAAmB,YAAY;AAClF;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8DAA8D,YAAY;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6DAA6D,YAAY;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACQ","file":"streamr-client.node.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 85);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2545ef8bebd7aee12f6a","var core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 4\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 5\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 8\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 9\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 10\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 11\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 14\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 15\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 16\n// module chunks = 0","/**\n * Detect Electron renderer process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer') {\n module.exports = require('./browser.js');\n} else {\n module.exports = require('./node.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/index.js\n// module id = 17\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'],\n GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',\n kStatusCode: Symbol('status-code'),\n kWebSocket: Symbol('websocket'),\n EMPTY_BUFFER: Buffer.alloc(0),\n NOOP: () => {}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/constants.js\n// module id = 18\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 19\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 20\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 21\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 22\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 23\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 24\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 25\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 26\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 27\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = 28\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 29\n// module chunks = 0","module.exports = require(\"http\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"http\"\n// module id = 30\n// module chunks = 0","module.exports = require(\"url\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"url\"\n// module id = 31\n// module chunks = 0","'use strict';\n\nconst Limiter = require('async-limiter');\nconst zlib = require('zlib');\n\nconst bufferUtil = require('./buffer-util');\nconst constants = require('./constants');\n\nconst TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);\nconst EMPTY_BLOCK = Buffer.from([0x00]);\n\nconst kPerMessageDeflate = Symbol('permessage-deflate');\nconst kWriteInProgress = Symbol('write-in-progress');\nconst kPendingClose = Symbol('pending-close');\nconst kTotalLength = Symbol('total-length');\nconst kCallback = Symbol('callback');\nconst kBuffers = Symbol('buffers');\nconst kError = Symbol('error');\n\n//\n// We limit zlib concurrency, which prevents severe memory fragmentation\n// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913\n// and https://github.com/websockets/ws/issues/1202\n//\n// Intentionally global; it's the global thread pool that's an issue.\n//\nlet zlibLimiter;\n\n/**\n * permessage-deflate implementation.\n */\nclass PerMessageDeflate {\n /**\n * Creates a PerMessageDeflate instance.\n *\n * @param {Object} options Configuration options\n * @param {Boolean} options.serverNoContextTakeover Request/accept disabling\n * of server context takeover\n * @param {Boolean} options.clientNoContextTakeover Advertise/acknowledge\n * disabling of client context takeover\n * @param {(Boolean|Number)} options.serverMaxWindowBits Request/confirm the\n * use of a custom server window size\n * @param {(Boolean|Number)} options.clientMaxWindowBits Advertise support\n * for, or request, a custom client window size\n * @param {Object} options.zlibDeflateOptions Options to pass to zlib on deflate\n * @param {Object} options.zlibInflateOptions Options to pass to zlib on inflate\n * @param {Number} options.threshold Size (in bytes) below which messages\n * should not be compressed\n * @param {Number} options.concurrencyLimit The number of concurrent calls to\n * zlib\n * @param {Boolean} isServer Create the instance in either server or client\n * mode\n * @param {Number} maxPayload The maximum allowed message length\n */\n constructor (options, isServer, maxPayload) {\n this._maxPayload = maxPayload | 0;\n this._options = options || {};\n this._threshold = this._options.threshold !== undefined\n ? this._options.threshold\n : 1024;\n this._isServer = !!isServer;\n this._deflate = null;\n this._inflate = null;\n\n this.params = null;\n\n if (!zlibLimiter) {\n const concurrency = this._options.concurrencyLimit !== undefined\n ? this._options.concurrencyLimit\n : 10;\n zlibLimiter = new Limiter({ concurrency });\n }\n }\n\n /**\n * @type {String}\n */\n static get extensionName () {\n return 'permessage-deflate';\n }\n\n /**\n * Create an extension negotiation offer.\n *\n * @return {Object} Extension parameters\n * @public\n */\n offer () {\n const params = {};\n\n if (this._options.serverNoContextTakeover) {\n params.server_no_context_takeover = true;\n }\n if (this._options.clientNoContextTakeover) {\n params.client_no_context_takeover = true;\n }\n if (this._options.serverMaxWindowBits) {\n params.server_max_window_bits = this._options.serverMaxWindowBits;\n }\n if (this._options.clientMaxWindowBits) {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n } else if (this._options.clientMaxWindowBits == null) {\n params.client_max_window_bits = true;\n }\n\n return params;\n }\n\n /**\n * Accept an extension negotiation offer/response.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Object} Accepted configuration\n * @public\n */\n accept (configurations) {\n configurations = this.normalizeParams(configurations);\n\n this.params = this._isServer\n ? this.acceptAsServer(configurations)\n : this.acceptAsClient(configurations);\n\n return this.params;\n }\n\n /**\n * Releases all resources used by the extension.\n *\n * @public\n */\n cleanup () {\n if (this._inflate) {\n if (this._inflate[kWriteInProgress]) {\n this._inflate[kPendingClose] = true;\n } else {\n this._inflate.close();\n this._inflate = null;\n }\n }\n if (this._deflate) {\n if (this._deflate[kWriteInProgress]) {\n this._deflate[kPendingClose] = true;\n } else {\n this._deflate.close();\n this._deflate = null;\n }\n }\n }\n\n /**\n * Accept an extension negotiation offer.\n *\n * @param {Array} offers The extension negotiation offers\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsServer (offers) {\n const opts = this._options;\n const accepted = offers.find((params) => {\n if (\n (opts.serverNoContextTakeover === false &&\n params.server_no_context_takeover) ||\n (params.server_max_window_bits &&\n (opts.serverMaxWindowBits === false ||\n (typeof opts.serverMaxWindowBits === 'number' &&\n opts.serverMaxWindowBits > params.server_max_window_bits))) ||\n (typeof opts.clientMaxWindowBits === 'number' &&\n !params.client_max_window_bits)\n ) {\n return false;\n }\n\n return true;\n });\n\n if (!accepted) {\n throw new Error('None of the extension offers can be accepted');\n }\n\n if (opts.serverNoContextTakeover) {\n accepted.server_no_context_takeover = true;\n }\n if (opts.clientNoContextTakeover) {\n accepted.client_no_context_takeover = true;\n }\n if (typeof opts.serverMaxWindowBits === 'number') {\n accepted.server_max_window_bits = opts.serverMaxWindowBits;\n }\n if (typeof opts.clientMaxWindowBits === 'number') {\n accepted.client_max_window_bits = opts.clientMaxWindowBits;\n } else if (\n accepted.client_max_window_bits === true ||\n opts.clientMaxWindowBits === false\n ) {\n delete accepted.client_max_window_bits;\n }\n\n return accepted;\n }\n\n /**\n * Accept the extension negotiation response.\n *\n * @param {Array} response The extension negotiation response\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsClient (response) {\n const params = response[0];\n\n if (\n this._options.clientNoContextTakeover === false &&\n params.client_no_context_takeover\n ) {\n throw new Error('Unexpected parameter \"client_no_context_takeover\"');\n }\n\n if (!params.client_max_window_bits) {\n if (typeof this._options.clientMaxWindowBits === 'number') {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n }\n } else if (\n this._options.clientMaxWindowBits === false ||\n (typeof this._options.clientMaxWindowBits === 'number' &&\n params.client_max_window_bits > this._options.clientMaxWindowBits)\n ) {\n throw new Error(\n 'Unexpected or invalid parameter \"client_max_window_bits\"'\n );\n }\n\n return params;\n }\n\n /**\n * Normalize parameters.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Array} The offers/response with normalized parameters\n * @private\n */\n normalizeParams (configurations) {\n configurations.forEach((params) => {\n Object.keys(params).forEach((key) => {\n var value = params[key];\n\n if (value.length > 1) {\n throw new Error(`Parameter \"${key}\" must have only a single value`);\n }\n\n value = value[0];\n\n if (key === 'client_max_window_bits') {\n if (value !== true) {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (!this._isServer) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else if (key === 'server_max_window_bits') {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (\n key === 'client_no_context_takeover' ||\n key === 'server_no_context_takeover'\n ) {\n if (value !== true) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else {\n throw new Error(`Unknown parameter \"${key}\"`);\n }\n\n params[key] = value;\n });\n });\n\n return configurations;\n }\n\n /**\n * Decompress data. Concurrency limited by async-limiter.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n decompress (data, fin, callback) {\n zlibLimiter.push((done) => {\n this._decompress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Compress data. Concurrency limited by async-limiter.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n compress (data, fin, callback) {\n zlibLimiter.push((done) => {\n this._compress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Decompress data.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _decompress (data, fin, callback) {\n const endpoint = this._isServer ? 'client' : 'server';\n\n if (!this._inflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits = typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._inflate = zlib.createInflateRaw(\n Object.assign({}, this._options.zlibInflateOptions, { windowBits })\n );\n this._inflate[kPerMessageDeflate] = this;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n this._inflate.on('error', inflateOnError);\n this._inflate.on('data', inflateOnData);\n }\n\n this._inflate[kCallback] = callback;\n this._inflate[kWriteInProgress] = true;\n\n this._inflate.write(data);\n if (fin) this._inflate.write(TRAILER);\n\n this._inflate.flush(() => {\n const err = this._inflate[kError];\n\n if (err) {\n this._inflate.close();\n this._inflate = null;\n callback(err);\n return;\n }\n\n const data = bufferUtil.concat(\n this._inflate[kBuffers],\n this._inflate[kTotalLength]\n );\n\n if (\n (fin && this.params[`${endpoint}_no_context_takeover`]) ||\n this._inflate[kPendingClose]\n ) {\n this._inflate.close();\n this._inflate = null;\n } else {\n this._inflate[kWriteInProgress] = false;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n }\n\n callback(null, data);\n });\n }\n\n /**\n * Compress data.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _compress (data, fin, callback) {\n if (!data || data.length === 0) {\n process.nextTick(callback, null, EMPTY_BLOCK);\n return;\n }\n\n const endpoint = this._isServer ? 'server' : 'client';\n\n if (!this._deflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits = typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._deflate = zlib.createDeflateRaw(\n Object.assign(\n // TODO deprecate memLevel/level and recommend zlibDeflateOptions instead\n {\n memLevel: this._options.memLevel,\n level: this._options.level\n },\n this._options.zlibDeflateOptions,\n { windowBits }\n )\n );\n\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n\n //\n // `zlib.DeflateRaw` emits an `'error'` event only when an attempt to use\n // it is made after it has already been closed. This cannot happen here,\n // so we only add a listener for the `'data'` event.\n //\n this._deflate.on('data', deflateOnData);\n }\n\n this._deflate[kWriteInProgress] = true;\n\n this._deflate.write(data);\n this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {\n var data = bufferUtil.concat(\n this._deflate[kBuffers],\n this._deflate[kTotalLength]\n );\n\n if (fin) data = data.slice(0, data.length - 4);\n\n if (\n (fin && this.params[`${endpoint}_no_context_takeover`]) ||\n this._deflate[kPendingClose]\n ) {\n this._deflate.close();\n this._deflate = null;\n } else {\n this._deflate[kWriteInProgress] = false;\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n }\n\n callback(null, data);\n });\n }\n}\n\nmodule.exports = PerMessageDeflate;\n\n/**\n * The listener of the `zlib.DeflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction deflateOnData (chunk) {\n this[kBuffers].push(chunk);\n this[kTotalLength] += chunk.length;\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction inflateOnData (chunk) {\n this[kTotalLength] += chunk.length;\n\n if (\n this[kPerMessageDeflate]._maxPayload < 1 ||\n this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload\n ) {\n this[kBuffers].push(chunk);\n return;\n }\n\n this[kError] = new RangeError('Max payload size exceeded');\n this[kError][constants.kStatusCode] = 1009;\n this.removeListener('data', inflateOnData);\n this.reset();\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'error'` event.\n *\n * @param {Error} err The emitted error\n * @private\n */\nfunction inflateOnError (err) {\n //\n // There is no need to call `Zlib#close()` as the handle is automatically\n // closed when an error is emitted.\n //\n this[kPerMessageDeflate]._inflate = null;\n err[constants.kStatusCode] = 1007;\n this[kCallback](err);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/permessage-deflate.js\n// module id = 32\n// module chunks = 0","module.exports = require(\"stream\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"stream\"\n// module id = 33\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 34\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 35\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 36\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 37\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 38\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 39\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 40\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 41\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 42\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 43\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 44\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 45\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 46\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 47\n// module chunks = 0","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 48\n// module chunks = 0","module.exports = require(\"crypto\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"crypto\"\n// module id = 49\n// module chunks = 0","'use strict';\n\n/**\n * Merges an array of buffers into a new buffer.\n *\n * @param {Buffer[]} list The array of buffers to concat\n * @param {Number} totalLength The total length of buffers in the list\n * @return {Buffer} The resulting buffer\n * @public\n */\nconst concat = (list, totalLength) => {\n const target = Buffer.allocUnsafe(totalLength);\n var offset = 0;\n\n for (var i = 0; i < list.length; i++) {\n const buf = list[i];\n buf.copy(target, offset);\n offset += buf.length;\n }\n\n return target;\n};\n\ntry {\n const bufferUtil = require('bufferutil');\n\n module.exports = Object.assign({ concat }, bufferUtil.BufferUtil || bufferUtil);\n} catch (e) /* istanbul ignore next */ {\n /**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\n const mask = (source, mask, output, offset, length) => {\n for (var i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n };\n\n /**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\n const unmask = (buffer, mask) => {\n // Required until https://github.com/nodejs/node/issues/9006 is resolved.\n const length = buffer.length;\n for (var i = 0; i < length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n };\n\n module.exports = { concat, mask, unmask };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/buffer-util.js\n// module id = 50\n// module chunks = 0","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 51\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 52\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 53\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 54\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 55\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 56\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 57\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 58\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 59\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 60\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 61\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 62\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 63\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 64\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 65\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 66\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 67\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 69\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","'use strict';\n\nconst EventEmitter = require('events');\nconst crypto = require('crypto');\nconst https = require('https');\nconst http = require('http');\nconst net = require('net');\nconst tls = require('tls');\nconst url = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst EventTarget = require('./event-target');\nconst extension = require('./extension');\nconst constants = require('./constants');\nconst Receiver = require('./receiver');\nconst Sender = require('./sender');\n\nconst readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];\nconst kWebSocket = constants.kWebSocket;\nconst protocolVersions = [8, 13];\nconst closeTimeout = 30 * 1000; // Allow 30 seconds to terminate the connection cleanly.\n\n/**\n * Class representing a WebSocket.\n *\n * @extends EventEmitter\n */\nclass WebSocket extends EventEmitter {\n /**\n * Create a new `WebSocket`.\n *\n * @param {(String|url.Url|url.URL)} address The URL to which to connect\n * @param {(String|String[])} protocols The subprotocols\n * @param {Object} options Connection options\n */\n constructor (address, protocols, options) {\n super();\n\n this.readyState = WebSocket.CONNECTING;\n this.protocol = '';\n\n this._binaryType = constants.BINARY_TYPES[0];\n this._closeFrameReceived = false;\n this._closeFrameSent = false;\n this._closeMessage = '';\n this._closeTimer = null;\n this._closeCode = 1006;\n this._extensions = {};\n this._isServer = true;\n this._receiver = null;\n this._sender = null;\n this._socket = null;\n\n if (address !== null) {\n if (Array.isArray(protocols)) {\n protocols = protocols.join(', ');\n } else if (typeof protocols === 'object' && protocols !== null) {\n options = protocols;\n protocols = undefined;\n }\n\n initAsClient.call(this, address, protocols, options);\n }\n }\n\n get CONNECTING () { return WebSocket.CONNECTING; }\n get CLOSING () { return WebSocket.CLOSING; }\n get CLOSED () { return WebSocket.CLOSED; }\n get OPEN () { return WebSocket.OPEN; }\n\n /**\n * This deviates from the WHATWG interface since ws doesn't support the required\n * default \"blob\" type (instead we define a custom \"nodebuffer\" type).\n *\n * @type {String}\n */\n get binaryType () {\n return this._binaryType;\n }\n\n set binaryType (type) {\n if (constants.BINARY_TYPES.indexOf(type) < 0) return;\n\n this._binaryType = type;\n\n //\n // Allow to change `binaryType` on the fly.\n //\n if (this._receiver) this._receiver._binaryType = type;\n }\n\n /**\n * @type {Number}\n */\n get bufferedAmount () {\n if (!this._socket) return 0;\n\n //\n // `socket.bufferSize` is `undefined` if the socket is closed.\n //\n return (this._socket.bufferSize || 0) + this._sender._bufferedBytes;\n }\n\n /**\n * @type {String}\n */\n get extensions () {\n return Object.keys(this._extensions).join();\n }\n\n /**\n * Set up the socket and the internal resources.\n *\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Number} maxPayload The maximum allowed message size\n * @private\n */\n setSocket (socket, head, maxPayload) {\n const receiver = new Receiver(\n this._binaryType,\n this._extensions,\n maxPayload\n );\n\n this._sender = new Sender(socket, this._extensions);\n this._receiver = receiver;\n this._socket = socket;\n\n receiver[kWebSocket] = this;\n socket[kWebSocket] = this;\n\n receiver.on('conclude', receiverOnConclude);\n receiver.on('drain', receiverOnDrain);\n receiver.on('error', receiverOnError);\n receiver.on('message', receiverOnMessage);\n receiver.on('ping', receiverOnPing);\n receiver.on('pong', receiverOnPong);\n\n socket.setTimeout(0);\n socket.setNoDelay();\n\n if (head.length > 0) socket.unshift(head);\n\n socket.on('close', socketOnClose);\n socket.on('data', socketOnData);\n socket.on('end', socketOnEnd);\n socket.on('error', socketOnError);\n\n this.readyState = WebSocket.OPEN;\n this.emit('open');\n }\n\n /**\n * Emit the `'close'` event.\n *\n * @private\n */\n emitClose () {\n this.readyState = WebSocket.CLOSED;\n\n if (!this._socket) {\n this.emit('close', this._closeCode, this._closeMessage);\n return;\n }\n\n if (this._extensions[PerMessageDeflate.extensionName]) {\n this._extensions[PerMessageDeflate.extensionName].cleanup();\n }\n\n this._receiver.removeAllListeners();\n this.emit('close', this._closeCode, this._closeMessage);\n }\n\n /**\n * Start a closing handshake.\n *\n * +----------+ +-----------+ +----------+\n * - - -|ws.close()|-->|close frame|-->|ws.close()|- - -\n * | +----------+ +-----------+ +----------+ |\n * +----------+ +-----------+ |\n * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING\n * +----------+ +-----------+ |\n * | | | +---+ |\n * +------------------------+-->|fin| - - - -\n * | +---+ | +---+\n * - - - - -|fin|<---------------------+\n * +---+\n *\n * @param {Number} code Status code explaining why the connection is closing\n * @param {String} data A string explaining why the connection is closing\n * @public\n */\n close (code, data) {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this.readyState === WebSocket.CLOSING) {\n if (this._closeFrameSent && this._closeFrameReceived) this._socket.end();\n return;\n }\n\n this.readyState = WebSocket.CLOSING;\n this._sender.close(code, data, !this._isServer, (err) => {\n //\n // This error is handled by the `'error'` listener on the socket. We only\n // want to know if the close frame has been sent here.\n //\n if (err) return;\n\n this._closeFrameSent = true;\n\n if (this._socket.writable) {\n if (this._closeFrameReceived) this._socket.end();\n\n //\n // Ensure that the connection is closed even if the closing handshake\n // fails.\n //\n this._closeTimer = setTimeout(\n this._socket.destroy.bind(this._socket),\n closeTimeout\n );\n }\n });\n }\n\n /**\n * Send a ping.\n *\n * @param {*} data The data to send\n * @param {Boolean} mask Indicates whether or not to mask `data`\n * @param {Function} cb Callback which is executed when the ping is sent\n * @public\n */\n ping (data, mask, cb) {\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n if (mask === undefined) mask = !this._isServer;\n this._sender.ping(data || constants.EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a pong.\n *\n * @param {*} data The data to send\n * @param {Boolean} mask Indicates whether or not to mask `data`\n * @param {Function} cb Callback which is executed when the pong is sent\n * @public\n */\n pong (data, mask, cb) {\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n if (mask === undefined) mask = !this._isServer;\n this._sender.pong(data || constants.EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a data message.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} options.compress Specifies whether or not to compress `data`\n * @param {Boolean} options.binary Specifies whether `data` is binary or text\n * @param {Boolean} options.fin Specifies whether the fragment is the last one\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback which is executed when data is written out\n * @public\n */\n send (data, options, cb) {\n if (typeof options === 'function') {\n cb = options;\n options = {};\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n\n const opts = Object.assign({\n binary: typeof data !== 'string',\n mask: !this._isServer,\n compress: true,\n fin: true\n }, options);\n\n if (!this._extensions[PerMessageDeflate.extensionName]) {\n opts.compress = false;\n }\n\n this._sender.send(data || constants.EMPTY_BUFFER, opts, cb);\n }\n\n /**\n * Forcibly close the connection.\n *\n * @public\n */\n terminate () {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this._socket) {\n this.readyState = WebSocket.CLOSING;\n this._socket.destroy();\n }\n }\n}\n\nreadyStates.forEach((readyState, i) => {\n WebSocket[readyStates[i]] = i;\n});\n\n//\n// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes.\n// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface\n//\n['open', 'error', 'close', 'message'].forEach((method) => {\n Object.defineProperty(WebSocket.prototype, `on${method}`, {\n /**\n * Return the listener of the event.\n *\n * @return {(Function|undefined)} The event listener or `undefined`\n * @public\n */\n get () {\n const listeners = this.listeners(method);\n for (var i = 0; i < listeners.length; i++) {\n if (listeners[i]._listener) return listeners[i]._listener;\n }\n },\n /**\n * Add a listener for the event.\n *\n * @param {Function} listener The listener to add\n * @public\n */\n set (listener) {\n const listeners = this.listeners(method);\n for (var i = 0; i < listeners.length; i++) {\n //\n // Remove only the listeners added via `addEventListener`.\n //\n if (listeners[i]._listener) this.removeListener(method, listeners[i]);\n }\n this.addEventListener(method, listener);\n }\n });\n});\n\nWebSocket.prototype.addEventListener = EventTarget.addEventListener;\nWebSocket.prototype.removeEventListener = EventTarget.removeEventListener;\n\nmodule.exports = WebSocket;\n\n/**\n * Initialize a WebSocket client.\n *\n * @param {(String|url.Url|url.URL)} address The URL to which to connect\n * @param {String} protocols The subprotocols\n * @param {Object} options Connection options\n * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate\n * @param {Number} options.handshakeTimeout Timeout in milliseconds for the handshake request\n * @param {Number} options.protocolVersion Value of the `Sec-WebSocket-Version` header\n * @param {String} options.origin Value of the `Origin` or `Sec-WebSocket-Origin` header\n * @private\n */\nfunction initAsClient (address, protocols, options) {\n options = Object.assign({\n protocolVersion: protocolVersions[1],\n perMessageDeflate: true\n }, options, {\n createConnection: undefined,\n socketPath: undefined,\n hostname: undefined,\n protocol: undefined,\n timeout: undefined,\n method: undefined,\n auth: undefined,\n host: undefined,\n path: undefined,\n port: undefined\n });\n\n if (protocolVersions.indexOf(options.protocolVersion) === -1) {\n throw new RangeError(\n `Unsupported protocol version: ${options.protocolVersion} ` +\n `(supported versions: ${protocolVersions.join(', ')})`\n );\n }\n\n this._isServer = false;\n\n var parsedUrl;\n\n if (typeof address === 'object' && address.href !== undefined) {\n parsedUrl = address;\n this.url = address.href;\n } else {\n parsedUrl = url.parse(address);\n this.url = address;\n }\n\n const isUnixSocket = parsedUrl.protocol === 'ws+unix:';\n\n if (!parsedUrl.host && (!isUnixSocket || !parsedUrl.pathname)) {\n throw new Error(`Invalid URL: ${this.url}`);\n }\n\n const isSecure = parsedUrl.protocol === 'wss:' || parsedUrl.protocol === 'https:';\n const key = crypto.randomBytes(16).toString('base64');\n const httpObj = isSecure ? https : http;\n const path = parsedUrl.search\n ? `${parsedUrl.pathname || '/'}${parsedUrl.search}`\n : parsedUrl.pathname || '/';\n var perMessageDeflate;\n\n options.createConnection = isSecure ? tlsConnect : netConnect;\n options.port = parsedUrl.port || (isSecure ? 443 : 80);\n options.host = parsedUrl.hostname;\n options.headers = Object.assign({\n 'Sec-WebSocket-Version': options.protocolVersion,\n 'Sec-WebSocket-Key': key,\n 'Connection': 'Upgrade',\n 'Upgrade': 'websocket'\n }, options.headers);\n options.path = path;\n\n if (options.perMessageDeflate) {\n perMessageDeflate = new PerMessageDeflate(\n options.perMessageDeflate !== true ? options.perMessageDeflate : {},\n false\n );\n options.headers['Sec-WebSocket-Extensions'] = extension.format({\n [PerMessageDeflate.extensionName]: perMessageDeflate.offer()\n });\n }\n if (protocols) {\n options.headers['Sec-WebSocket-Protocol'] = protocols;\n }\n if (options.origin) {\n if (options.protocolVersion < 13) {\n options.headers['Sec-WebSocket-Origin'] = options.origin;\n } else {\n options.headers.Origin = options.origin;\n }\n }\n if (parsedUrl.auth) {\n options.auth = parsedUrl.auth;\n } else if (parsedUrl.username || parsedUrl.password) {\n options.auth = `${parsedUrl.username}:${parsedUrl.password}`;\n }\n\n if (isUnixSocket) {\n const parts = path.split(':');\n\n if (options.agent == null && process.versions.modules < 57) {\n //\n // Setting `socketPath` in conjunction with `createConnection` without an\n // agent throws an error on Node.js < 8. Work around the issue by using a\n // different property.\n //\n options._socketPath = parts[0];\n } else {\n options.socketPath = parts[0];\n }\n\n options.path = parts[1];\n }\n\n var req = this._req = httpObj.get(options);\n\n if (options.handshakeTimeout) {\n req.setTimeout(\n options.handshakeTimeout,\n abortHandshake.bind(null, this, req, 'Opening handshake has timed out')\n );\n }\n\n req.on('error', (err) => {\n if (this._req.aborted) return;\n\n req = this._req = null;\n this.readyState = WebSocket.CLOSING;\n this.emit('error', err);\n this.emitClose();\n });\n\n req.on('response', (res) => {\n if (this.emit('unexpected-response', req, res)) return;\n\n abortHandshake(this, req, `Unexpected server response: ${res.statusCode}`);\n });\n\n req.on('upgrade', (res, socket, head) => {\n this.emit('upgrade', res);\n\n //\n // The user may have closed the connection from a listener of the `upgrade`\n // event.\n //\n if (this.readyState !== WebSocket.CONNECTING) return;\n\n req = this._req = null;\n\n const digest = crypto.createHash('sha1')\n .update(key + constants.GUID, 'binary')\n .digest('base64');\n\n if (res.headers['sec-websocket-accept'] !== digest) {\n abortHandshake(this, socket, 'Invalid Sec-WebSocket-Accept header');\n return;\n }\n\n const serverProt = res.headers['sec-websocket-protocol'];\n const protList = (protocols || '').split(/, */);\n var protError;\n\n if (!protocols && serverProt) {\n protError = 'Server sent a subprotocol but none was requested';\n } else if (protocols && !serverProt) {\n protError = 'Server sent no subprotocol';\n } else if (serverProt && protList.indexOf(serverProt) === -1) {\n protError = 'Server sent an invalid subprotocol';\n }\n\n if (protError) {\n abortHandshake(this, socket, protError);\n return;\n }\n\n if (serverProt) this.protocol = serverProt;\n\n if (perMessageDeflate) {\n try {\n const extensions = extension.parse(\n res.headers['sec-websocket-extensions']\n );\n\n if (extensions[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(\n extensions[PerMessageDeflate.extensionName]\n );\n this._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n abortHandshake(this, socket, 'Invalid Sec-WebSocket-Extensions header');\n return;\n }\n }\n\n this.setSocket(socket, head, 0);\n });\n}\n\n/**\n * Create a `net.Socket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {net.Socket} The newly created socket used to start the connection\n * @private\n */\nfunction netConnect (options) {\n options.path = options.socketPath || options._socketPath || undefined;\n return net.connect(options);\n}\n\n/**\n * Create a `tls.TLSSocket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {tls.TLSSocket} The newly created socket used to start the connection\n * @private\n */\nfunction tlsConnect (options) {\n options.path = options.socketPath || options._socketPath || undefined;\n return tls.connect(options);\n}\n\n/**\n * Abort the handshake and emit an error.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {(http.ClientRequest|net.Socket)} stream The request to abort or the\n * socket to destroy\n * @param {String} message The error message\n * @private\n */\nfunction abortHandshake (websocket, stream, message) {\n websocket.readyState = WebSocket.CLOSING;\n\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshake);\n\n if (stream.setHeader) {\n stream.abort();\n stream.once('abort', websocket.emitClose.bind(websocket));\n websocket.emit('error', err);\n } else {\n stream.destroy(err);\n stream.once('error', websocket.emit.bind(websocket, 'error'));\n stream.once('close', websocket.emitClose.bind(websocket));\n }\n}\n\n/**\n * The listener of the `Receiver` `'conclude'` event.\n *\n * @param {Number} code The status code\n * @param {String} reason The reason for closing\n * @private\n */\nfunction receiverOnConclude (code, reason) {\n const websocket = this[kWebSocket];\n\n websocket._socket.removeListener('data', socketOnData);\n websocket._socket.resume();\n\n websocket._closeFrameReceived = true;\n websocket._closeMessage = reason;\n websocket._closeCode = code;\n\n if (code === 1005) websocket.close();\n else websocket.close(code, reason);\n}\n\n/**\n * The listener of the `Receiver` `'drain'` event.\n *\n * @private\n */\nfunction receiverOnDrain () {\n this[kWebSocket]._socket.resume();\n}\n\n/**\n * The listener of the `Receiver` `'error'` event.\n *\n * @param {(RangeError|Error)} err The emitted error\n * @private\n */\nfunction receiverOnError (err) {\n const websocket = this[kWebSocket];\n\n websocket.readyState = WebSocket.CLOSING;\n websocket._closeCode = err[constants.kStatusCode];\n websocket.emit('error', err);\n websocket._socket.destroy();\n}\n\n/**\n * The listener of the `Receiver` `'finish'` event.\n *\n * @private\n */\nfunction receiverOnFinish () {\n this[kWebSocket].emitClose();\n}\n\n/**\n * The listener of the `Receiver` `'message'` event.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The message\n * @private\n */\nfunction receiverOnMessage (data) {\n this[kWebSocket].emit('message', data);\n}\n\n/**\n * The listener of the `Receiver` `'ping'` event.\n *\n * @param {Buffer} data The data included in the ping frame\n * @private\n */\nfunction receiverOnPing (data) {\n const websocket = this[kWebSocket];\n\n websocket.pong(data, !websocket._isServer, constants.NOOP);\n websocket.emit('ping', data);\n}\n\n/**\n * The listener of the `Receiver` `'pong'` event.\n *\n * @param {Buffer} data The data included in the pong frame\n * @private\n */\nfunction receiverOnPong (data) {\n this[kWebSocket].emit('pong', data);\n}\n\n/**\n * The listener of the `net.Socket` `'close'` event.\n *\n * @private\n */\nfunction socketOnClose () {\n const websocket = this[kWebSocket];\n\n this.removeListener('close', socketOnClose);\n this.removeListener('data', socketOnData);\n this.removeListener('end', socketOnEnd);\n this[kWebSocket] = undefined;\n\n websocket.readyState = WebSocket.CLOSING;\n\n //\n // The close frame might not have been received or the `'end'` event emitted,\n // for example, if the socket was destroyed due to an error. Ensure that the\n // `receiver` stream is closed after writing any remaining buffered data to\n // it.\n //\n websocket._socket.read();\n websocket._receiver.end();\n\n clearTimeout(websocket._closeTimer);\n\n if (\n websocket._receiver._writableState.finished ||\n websocket._receiver._writableState.errorEmitted\n ) {\n websocket.emitClose();\n } else {\n websocket._receiver.on('error', receiverOnFinish);\n websocket._receiver.on('finish', receiverOnFinish);\n }\n}\n\n/**\n * The listener of the `net.Socket` `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction socketOnData (chunk) {\n if (!this[kWebSocket]._receiver.write(chunk)) {\n this.pause();\n }\n}\n\n/**\n * The listener of the `net.Socket` `'end'` event.\n *\n * @private\n */\nfunction socketOnEnd () {\n const websocket = this[kWebSocket];\n\n websocket.readyState = WebSocket.CLOSING;\n websocket._receiver.end();\n this.end();\n}\n\n/**\n * The listener of the `net.Socket` `'error'` event.\n *\n * @private\n */\nfunction socketOnError () {\n const websocket = this[kWebSocket];\n\n this.removeListener('error', socketOnError);\n this.on('error', constants.NOOP);\n\n if (websocket) {\n websocket.readyState = WebSocket.CLOSING;\n this.destroy();\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/websocket.js\n// module id = 71\n// module chunks = 0","module.exports = require(\"events\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"events\"\n// module id = 72\n// module chunks = 0","module.exports = require(\"https\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"https\"\n// module id = 73\n// module chunks = 0","module.exports = require(\"zlib\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"zlib\"\n// module id = 74\n// module chunks = 0","'use strict';\n\n//\n// Allowed token characters:\n//\n// '!', '#', '$', '%', '&', ''', '*', '+', '-',\n// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'\n//\n// tokenChars[32] === 0 // ' '\n// tokenChars[33] === 1 // '!'\n// tokenChars[34] === 0 // '\"'\n// ...\n//\nconst tokenChars = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127\n];\n\n/**\n * Adds an offer to the map of extension offers or a parameter to the map of\n * parameters.\n *\n * @param {Object} dest The map of extension offers or parameters\n * @param {String} name The extension or parameter name\n * @param {(Object|Boolean|String)} elem The extension parameters or the\n * parameter value\n * @private\n */\nfunction push (dest, name, elem) {\n if (Object.prototype.hasOwnProperty.call(dest, name)) dest[name].push(elem);\n else dest[name] = [elem];\n}\n\n/**\n * Parses the `Sec-WebSocket-Extensions` header into an object.\n *\n * @param {String} header The field value of the header\n * @return {Object} The parsed object\n * @public\n */\nfunction parse (header) {\n const offers = {};\n\n if (header === undefined || header === '') return offers;\n\n var params = {};\n var mustUnescape = false;\n var isEscaping = false;\n var inQuotes = false;\n var extensionName;\n var paramName;\n var start = -1;\n var end = -1;\n\n for (var i = 0; i < header.length; i++) {\n const code = header.charCodeAt(i);\n\n if (extensionName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20/* ' ' */|| code === 0x09/* '\\t' */) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b/* ';' */ || code === 0x2c/* ',' */) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n const name = header.slice(start, end);\n if (code === 0x2c) {\n push(offers, name, params);\n params = {};\n } else {\n extensionName = name;\n }\n\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (paramName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20 || code === 0x09) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n push(params, header.slice(start, end), true);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = {};\n extensionName = undefined;\n }\n\n start = end = -1;\n } else if (code === 0x3d/* '=' */&& start !== -1 && end === -1) {\n paramName = header.slice(start, i);\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else {\n //\n // The value of a quoted-string after unescaping must conform to the\n // token ABNF, so only token characters are valid.\n // Ref: https://tools.ietf.org/html/rfc6455#section-9.1\n //\n if (isEscaping) {\n if (tokenChars[code] !== 1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1) start = i;\n else if (!mustUnescape) mustUnescape = true;\n isEscaping = false;\n } else if (inQuotes) {\n if (tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x22/* '\"' */ && start !== -1) {\n inQuotes = false;\n end = i;\n } else if (code === 0x5c/* '\\' */) {\n isEscaping = true;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {\n inQuotes = true;\n } else if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (start !== -1 && (code === 0x20 || code === 0x09)) {\n if (end === -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n var value = header.slice(start, end);\n if (mustUnescape) {\n value = value.replace(/\\\\/g, '');\n mustUnescape = false;\n }\n push(params, paramName, value);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = {};\n extensionName = undefined;\n }\n\n paramName = undefined;\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n }\n }\n\n if (start === -1 || inQuotes) {\n throw new SyntaxError('Unexpected end of input');\n }\n\n if (end === -1) end = i;\n const token = header.slice(start, end);\n if (extensionName === undefined) {\n push(offers, token, {});\n } else {\n if (paramName === undefined) {\n push(params, token, true);\n } else if (mustUnescape) {\n push(params, paramName, token.replace(/\\\\/g, ''));\n } else {\n push(params, paramName, token);\n }\n push(offers, extensionName, params);\n }\n\n return offers;\n}\n\n/**\n * Builds the `Sec-WebSocket-Extensions` header field value.\n *\n * @param {Object} extensions The map of extensions and parameters to format\n * @return {String} A string representing the given object\n * @public\n */\nfunction format (extensions) {\n return Object.keys(extensions).map((extension) => {\n var configurations = extensions[extension];\n if (!Array.isArray(configurations)) configurations = [configurations];\n return configurations.map((params) => {\n return [extension].concat(Object.keys(params).map((k) => {\n var values = params[k];\n if (!Array.isArray(values)) values = [values];\n return values.map((v) => v === true ? k : `${k}=${v}`).join('; ');\n })).join('; ');\n }).join(', ');\n }).join(', ');\n}\n\nmodule.exports = { format, parse };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/extension.js\n// module id = 75\n// module chunks = 0","'use strict';\n\nconst stream = require('stream');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst bufferUtil = require('./buffer-util');\nconst validation = require('./validation');\nconst constants = require('./constants');\n\nconst GET_INFO = 0;\nconst GET_PAYLOAD_LENGTH_16 = 1;\nconst GET_PAYLOAD_LENGTH_64 = 2;\nconst GET_MASK = 3;\nconst GET_DATA = 4;\nconst INFLATING = 5;\n\n/**\n * HyBi Receiver implementation.\n *\n * @extends stream.Writable\n */\nclass Receiver extends stream.Writable {\n /**\n * Creates a Receiver instance.\n *\n * @param {String} binaryType The type for binary data\n * @param {Object} extensions An object containing the negotiated extensions\n * @param {Number} maxPayload The maximum allowed message length\n */\n constructor (binaryType, extensions, maxPayload) {\n super();\n\n this._binaryType = binaryType || constants.BINARY_TYPES[0];\n this[constants.kWebSocket] = undefined;\n this._extensions = extensions || {};\n this._maxPayload = maxPayload | 0;\n\n this._bufferedBytes = 0;\n this._buffers = [];\n\n this._compressed = false;\n this._payloadLength = 0;\n this._mask = undefined;\n this._fragmented = 0;\n this._masked = false;\n this._fin = false;\n this._opcode = 0;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragments = [];\n\n this._state = GET_INFO;\n this._loop = false;\n }\n\n /**\n * Implements `Writable.prototype._write()`.\n *\n * @param {Buffer} chunk The chunk of data to write\n * @param {String} encoding The character encoding of `chunk`\n * @param {Function} cb Callback\n */\n _write (chunk, encoding, cb) {\n if (this._opcode === 0x08) return cb();\n\n this._bufferedBytes += chunk.length;\n this._buffers.push(chunk);\n this.startLoop(cb);\n }\n\n /**\n * Consumes `n` bytes from the buffered data.\n *\n * @param {Number} n The number of bytes to consume\n * @return {Buffer} The consumed bytes\n * @private\n */\n consume (n) {\n this._bufferedBytes -= n;\n\n if (n === this._buffers[0].length) return this._buffers.shift();\n\n if (n < this._buffers[0].length) {\n const buf = this._buffers[0];\n this._buffers[0] = buf.slice(n);\n return buf.slice(0, n);\n }\n\n const dst = Buffer.allocUnsafe(n);\n\n do {\n const buf = this._buffers[0];\n\n if (n >= buf.length) {\n this._buffers.shift().copy(dst, dst.length - n);\n } else {\n buf.copy(dst, dst.length - n, 0, n);\n this._buffers[0] = buf.slice(n);\n }\n\n n -= buf.length;\n } while (n > 0);\n\n return dst;\n }\n\n /**\n * Starts the parsing loop.\n *\n * @param {Function} cb Callback\n * @private\n */\n startLoop (cb) {\n var err;\n this._loop = true;\n\n do {\n switch (this._state) {\n case GET_INFO:\n err = this.getInfo();\n break;\n case GET_PAYLOAD_LENGTH_16:\n err = this.getPayloadLength16();\n break;\n case GET_PAYLOAD_LENGTH_64:\n err = this.getPayloadLength64();\n break;\n case GET_MASK:\n this.getMask();\n break;\n case GET_DATA:\n err = this.getData(cb);\n break;\n default: // `INFLATING`\n this._loop = false;\n return;\n }\n } while (this._loop);\n\n cb(err);\n }\n\n /**\n * Reads the first two bytes of a frame.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getInfo () {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(2);\n\n if ((buf[0] & 0x30) !== 0x00) {\n this._loop = false;\n return error(RangeError, 'RSV2 and RSV3 must be clear', true, 1002);\n }\n\n const compressed = (buf[0] & 0x40) === 0x40;\n\n if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n this._fin = (buf[0] & 0x80) === 0x80;\n this._opcode = buf[0] & 0x0f;\n this._payloadLength = buf[1] & 0x7f;\n\n if (this._opcode === 0x00) {\n if (compressed) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n if (!this._fragmented) {\n this._loop = false;\n return error(RangeError, 'invalid opcode 0', true, 1002);\n }\n\n this._opcode = this._fragmented;\n } else if (this._opcode === 0x01 || this._opcode === 0x02) {\n if (this._fragmented) {\n this._loop = false;\n return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002);\n }\n\n this._compressed = compressed;\n } else if (this._opcode > 0x07 && this._opcode < 0x0b) {\n if (!this._fin) {\n this._loop = false;\n return error(RangeError, 'FIN must be set', true, 1002);\n }\n\n if (compressed) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n if (this._payloadLength > 0x7d) {\n this._loop = false;\n return error(\n RangeError,\n `invalid payload length ${this._payloadLength}`,\n true,\n 1002\n );\n }\n } else {\n this._loop = false;\n return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002);\n }\n\n if (!this._fin && !this._fragmented) this._fragmented = this._opcode;\n this._masked = (buf[1] & 0x80) === 0x80;\n\n if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;\n else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;\n else return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+16).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength16 () {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n this._payloadLength = this.consume(2).readUInt16BE(0);\n return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+64).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength64 () {\n if (this._bufferedBytes < 8) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(8);\n const num = buf.readUInt32BE(0);\n\n //\n // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned\n // if payload length is greater than this number.\n //\n if (num > Math.pow(2, 53 - 32) - 1) {\n this._loop = false;\n return error(\n RangeError,\n 'Unsupported WebSocket frame: payload length > 2^53 - 1',\n false,\n 1009\n );\n }\n\n this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);\n return this.haveLength();\n }\n\n /**\n * Payload length has been read.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n haveLength () {\n if (this._payloadLength && this._opcode < 0x08) {\n this._totalPayloadLength += this._payloadLength;\n if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {\n this._loop = false;\n return error(RangeError, 'Max payload size exceeded', false, 1009);\n }\n }\n\n if (this._masked) this._state = GET_MASK;\n else this._state = GET_DATA;\n }\n\n /**\n * Reads mask bytes.\n *\n * @private\n */\n getMask () {\n if (this._bufferedBytes < 4) {\n this._loop = false;\n return;\n }\n\n this._mask = this.consume(4);\n this._state = GET_DATA;\n }\n\n /**\n * Reads data bytes.\n *\n * @param {Function} cb Callback\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n getData (cb) {\n var data = constants.EMPTY_BUFFER;\n\n if (this._payloadLength) {\n if (this._bufferedBytes < this._payloadLength) {\n this._loop = false;\n return;\n }\n\n data = this.consume(this._payloadLength);\n if (this._masked) bufferUtil.unmask(data, this._mask);\n }\n\n if (this._opcode > 0x07) return this.controlMessage(data);\n\n if (this._compressed) {\n this._state = INFLATING;\n this.decompress(data, cb);\n return;\n }\n\n if (data.length) {\n //\n // This message is not compressed so its lenght is the sum of the payload\n // length of all fragments.\n //\n this._messageLength = this._totalPayloadLength;\n this._fragments.push(data);\n }\n\n return this.dataMessage();\n }\n\n /**\n * Decompresses data.\n *\n * @param {Buffer} data Compressed data\n * @param {Function} cb Callback\n * @private\n */\n decompress (data, cb) {\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n perMessageDeflate.decompress(data, this._fin, (err, buf) => {\n if (err) return cb(err);\n\n if (buf.length) {\n this._messageLength += buf.length;\n if (this._messageLength > this._maxPayload && this._maxPayload > 0) {\n return cb(error(RangeError, 'Max payload size exceeded', false, 1009));\n }\n\n this._fragments.push(buf);\n }\n\n const er = this.dataMessage();\n if (er) return cb(er);\n\n this.startLoop(cb);\n });\n }\n\n /**\n * Handles a data message.\n *\n * @return {(Error|undefined)} A possible error\n * @private\n */\n dataMessage () {\n if (this._fin) {\n const messageLength = this._messageLength;\n const fragments = this._fragments;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragmented = 0;\n this._fragments = [];\n\n if (this._opcode === 2) {\n var data;\n\n if (this._binaryType === 'nodebuffer') {\n data = toBuffer(fragments, messageLength);\n } else if (this._binaryType === 'arraybuffer') {\n data = toArrayBuffer(toBuffer(fragments, messageLength));\n } else {\n data = fragments;\n }\n\n this.emit('message', data);\n } else {\n const buf = toBuffer(fragments, messageLength);\n\n if (!validation.isValidUTF8(buf)) {\n this._loop = false;\n return error(Error, 'invalid UTF-8 sequence', true, 1007);\n }\n\n this.emit('message', buf.toString());\n }\n }\n\n this._state = GET_INFO;\n }\n\n /**\n * Handles a control message.\n *\n * @param {Buffer} data Data to handle\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n controlMessage (data) {\n if (this._opcode === 0x08) {\n this._loop = false;\n\n if (data.length === 0) {\n this.emit('conclude', 1005, '');\n this.end();\n } else if (data.length === 1) {\n return error(RangeError, 'invalid payload length 1', true, 1002);\n } else {\n const code = data.readUInt16BE(0);\n\n if (!validation.isValidStatusCode(code)) {\n return error(RangeError, `invalid status code ${code}`, true, 1002);\n }\n\n const buf = data.slice(2);\n\n if (!validation.isValidUTF8(buf)) {\n return error(Error, 'invalid UTF-8 sequence', true, 1007);\n }\n\n this.emit('conclude', code, buf.toString());\n this.end();\n }\n\n return;\n }\n\n if (this._opcode === 0x09) this.emit('ping', data);\n else this.emit('pong', data);\n\n this._state = GET_INFO;\n }\n}\n\nmodule.exports = Receiver;\n\n/**\n * Builds an error object.\n *\n * @param {(Error|RangeError)} ErrorCtor The error constructor\n * @param {String} message The error message\n * @param {Boolean} prefix Specifies whether or not to add a default prefix to\n * `message`\n * @param {Number} statusCode The status code\n * @return {(Error|RangeError)} The error\n * @private\n */\nfunction error (ErrorCtor, message, prefix, statusCode) {\n const err = new ErrorCtor(\n prefix ? `Invalid WebSocket frame: ${message}` : message\n );\n\n Error.captureStackTrace(err, error);\n err[constants.kStatusCode] = statusCode;\n return err;\n}\n\n/**\n * Makes a buffer from a list of fragments.\n *\n * @param {Buffer[]} fragments The list of fragments composing the message\n * @param {Number} messageLength The length of the message\n * @return {Buffer}\n * @private\n */\nfunction toBuffer (fragments, messageLength) {\n if (fragments.length === 1) return fragments[0];\n if (fragments.length > 1) return bufferUtil.concat(fragments, messageLength);\n return constants.EMPTY_BUFFER;\n}\n\n/**\n * Converts a buffer to an `ArrayBuffer`.\n *\n * @param {Buffer} The buffer to convert\n * @return {ArrayBuffer} Converted buffer\n */\nfunction toArrayBuffer (buf) {\n if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {\n return buf.buffer;\n }\n\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/receiver.js\n// module id = 76\n// module chunks = 0","'use strict';\n\ntry {\n const isValidUTF8 = require('utf-8-validate');\n\n exports.isValidUTF8 = typeof isValidUTF8 === 'object'\n ? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0\n : isValidUTF8;\n} catch (e) /* istanbul ignore next */ {\n exports.isValidUTF8 = () => true;\n}\n\n/**\n * Checks if a status code is allowed in a close frame.\n *\n * @param {Number} code The status code\n * @return {Boolean} `true` if the status code is valid, else `false`\n * @public\n */\nexports.isValidStatusCode = (code) => {\n return (\n (code >= 1000 &&\n code <= 1013 &&\n code !== 1004 &&\n code !== 1005 &&\n code !== 1006) ||\n (code >= 3000 && code <= 4999)\n );\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/validation.js\n// module id = 77\n// module chunks = 0","'use strict';\n\nconst crypto = require('crypto');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst bufferUtil = require('./buffer-util');\nconst validation = require('./validation');\nconst constants = require('./constants');\n\n/**\n * HyBi Sender implementation.\n */\nclass Sender {\n /**\n * Creates a Sender instance.\n *\n * @param {net.Socket} socket The connection socket\n * @param {Object} extensions An object containing the negotiated extensions\n */\n constructor (socket, extensions) {\n this._extensions = extensions || {};\n this._socket = socket;\n\n this._firstFragment = true;\n this._compress = false;\n\n this._bufferedBytes = 0;\n this._deflating = false;\n this._queue = [];\n }\n\n /**\n * Frames a piece of data according to the HyBi WebSocket protocol.\n *\n * @param {Buffer} data The data to frame\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} options.readOnly Specifies whether `data` can be modified\n * @param {Boolean} options.fin Specifies whether or not to set the FIN bit\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit\n * @return {Buffer[]} The framed data as a list of `Buffer` instances\n * @public\n */\n static frame (data, options) {\n const merge = data.length < 1024 || (options.mask && options.readOnly);\n var offset = options.mask ? 6 : 2;\n var payloadLength = data.length;\n\n if (data.length >= 65536) {\n offset += 8;\n payloadLength = 127;\n } else if (data.length > 125) {\n offset += 2;\n payloadLength = 126;\n }\n\n const target = Buffer.allocUnsafe(merge ? data.length + offset : offset);\n\n target[0] = options.fin ? options.opcode | 0x80 : options.opcode;\n if (options.rsv1) target[0] |= 0x40;\n\n if (payloadLength === 126) {\n target.writeUInt16BE(data.length, 2);\n } else if (payloadLength === 127) {\n target.writeUInt32BE(0, 2);\n target.writeUInt32BE(data.length, 6);\n }\n\n if (!options.mask) {\n target[1] = payloadLength;\n if (merge) {\n data.copy(target, offset);\n return [target];\n }\n\n return [target, data];\n }\n\n const mask = crypto.randomBytes(4);\n\n target[1] = payloadLength | 0x80;\n target[offset - 4] = mask[0];\n target[offset - 3] = mask[1];\n target[offset - 2] = mask[2];\n target[offset - 1] = mask[3];\n\n if (merge) {\n bufferUtil.mask(data, mask, target, offset, data.length);\n return [target];\n }\n\n bufferUtil.mask(data, mask, data, 0, data.length);\n return [target, data];\n }\n\n /**\n * Sends a close message to the other peer.\n *\n * @param {(Number|undefined)} code The status code component of the body\n * @param {String} data The message component of the body\n * @param {Boolean} mask Specifies whether or not to mask the message\n * @param {Function} cb Callback\n * @public\n */\n close (code, data, mask, cb) {\n var buf;\n\n if (code === undefined) {\n buf = constants.EMPTY_BUFFER;\n } else if (typeof code !== 'number' || !validation.isValidStatusCode(code)) {\n throw new TypeError('First argument must be a valid error code number');\n } else if (data === undefined || data === '') {\n buf = Buffer.allocUnsafe(2);\n buf.writeUInt16BE(code, 0);\n } else {\n buf = Buffer.allocUnsafe(2 + Buffer.byteLength(data));\n buf.writeUInt16BE(code, 0);\n buf.write(data, 2);\n }\n\n if (this._deflating) {\n this.enqueue([this.doClose, buf, mask, cb]);\n } else {\n this.doClose(buf, mask, cb);\n }\n }\n\n /**\n * Frames and sends a close message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @private\n */\n doClose (data, mask, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x08,\n mask,\n readOnly: false\n }), cb);\n }\n\n /**\n * Sends a ping message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n ping (data, mask, cb) {\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n if (this._deflating) {\n this.enqueue([this.doPing, data, mask, readOnly, cb]);\n } else {\n this.doPing(data, mask, readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a ping message.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Boolean} readOnly Specifies whether `data` can be modified\n * @param {Function} cb Callback\n * @private\n */\n doPing (data, mask, readOnly, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x09,\n mask,\n readOnly\n }), cb);\n }\n\n /**\n * Sends a pong message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n pong (data, mask, cb) {\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n if (this._deflating) {\n this.enqueue([this.doPong, data, mask, readOnly, cb]);\n } else {\n this.doPong(data, mask, readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a pong message.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Boolean} readOnly Specifies whether `data` can be modified\n * @param {Function} cb Callback\n * @private\n */\n doPong (data, mask, readOnly, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x0a,\n mask,\n readOnly\n }), cb);\n }\n\n /**\n * Sends a data message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} options.compress Specifies whether or not to compress `data`\n * @param {Boolean} options.binary Specifies whether `data` is binary or text\n * @param {Boolean} options.fin Specifies whether the fragment is the last one\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n send (data, options, cb) {\n var opcode = options.binary ? 2 : 1;\n var rsv1 = options.compress;\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n if (this._firstFragment) {\n this._firstFragment = false;\n if (rsv1 && perMessageDeflate) {\n rsv1 = data.length >= perMessageDeflate._threshold;\n }\n this._compress = rsv1;\n } else {\n rsv1 = false;\n opcode = 0;\n }\n\n if (options.fin) this._firstFragment = true;\n\n if (perMessageDeflate) {\n const opts = {\n fin: options.fin,\n rsv1,\n opcode,\n mask: options.mask,\n readOnly\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, data, this._compress, opts, cb]);\n } else {\n this.dispatch(data, this._compress, opts, cb);\n }\n } else {\n this.sendFrame(Sender.frame(data, {\n fin: options.fin,\n rsv1: false,\n opcode,\n mask: options.mask,\n readOnly\n }), cb);\n }\n }\n\n /**\n * Dispatches a data message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} compress Specifies whether or not to compress `data`\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} options.readOnly Specifies whether `data` can be modified\n * @param {Boolean} options.fin Specifies whether or not to set the FIN bit\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit\n * @param {Function} cb Callback\n * @private\n */\n dispatch (data, compress, options, cb) {\n if (!compress) {\n this.sendFrame(Sender.frame(data, options), cb);\n return;\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n this._deflating = true;\n perMessageDeflate.compress(data, options.fin, (_, buf) => {\n options.readOnly = false;\n this.sendFrame(Sender.frame(buf, options), cb);\n this._deflating = false;\n this.dequeue();\n });\n }\n\n /**\n * Executes queued send operations.\n *\n * @private\n */\n dequeue () {\n while (!this._deflating && this._queue.length) {\n const params = this._queue.shift();\n\n this._bufferedBytes -= params[1].length;\n params[0].apply(this, params.slice(1));\n }\n }\n\n /**\n * Enqueues a send operation.\n *\n * @param {Array} params Send operation parameters.\n * @private\n */\n enqueue (params) {\n this._bufferedBytes += params[1].length;\n this._queue.push(params);\n }\n\n /**\n * Sends a frame.\n *\n * @param {Buffer[]} list The frame to send\n * @param {Function} cb Callback\n * @private\n */\n sendFrame (list, cb) {\n if (list.length === 2) {\n this._socket.write(list[0]);\n this._socket.write(list[1], cb);\n } else {\n this._socket.write(list[0], cb);\n }\n }\n}\n\nmodule.exports = Sender;\n\n/**\n * Converts an `ArrayBuffer` view into a buffer.\n *\n * @param {(DataView|TypedArray)} view The view to convert\n * @return {Buffer} Converted view\n * @private\n */\nfunction viewToBuffer (view) {\n const buf = Buffer.from(view.buffer);\n\n if (view.byteLength !== view.buffer.byteLength) {\n return buf.slice(view.byteOffset, view.byteOffset + view.byteLength);\n }\n\n return buf;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/sender.js\n// module id = 78\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 79\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 80\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 81\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 82\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 83\n// module chunks = 0","import fetch from 'node-fetch'\nimport debug from 'debug'\n\nconst log = debug('StreamrClient:utils')\n\nexport async function authFetch(url, apiKey, opts = {}) {\n log('fetching: ', url, opts)\n\n let req = Object.assign({}, opts, {\n headers: apiKey ? {\n Authorization: 'token '+ apiKey\n } : undefined\n })\n\n let res = await fetch(url, req)\n\n let text = await res.text()\n\n if (res.ok && text.length) {\n try {\n return JSON.parse(text)\n } catch (err) {\n throw 'Failed to parse JSON response: '+text\n }\n } else if (res.ok) {\n return {}\n } else {\n throw 'Request to '+url+' returned with error code '+res.status+': '+text\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/utils.js","import StreamrClient from './StreamrClient'\nimport AllEndpoints from './rest/AllEndpoints'\n\n// Mixin the rest endpoints to the StreamrClient\nObject.assign(StreamrClient.prototype, AllEndpoints)\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 86\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 87\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 88\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 89\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 90\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n restUrl: 'https://www.streamr.com/api/v1',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n apiKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n\n // Backwards compatibility for option 'authKey' => 'apiKey'\n if (this.options.authKey && !this.options.apiKey) {\n this.options.apiKey = this.options.authKey\n }\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.apiKey || this.options.apiKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.apiKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.apiKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 92\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 93\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 94\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 95\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 96\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 97\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 98\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 99\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 100\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 101\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 102\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 103\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 104\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 105\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 106\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 107\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 108\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 109\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 110\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 111\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 112\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 113\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 114\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 115\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 116\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 117\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 118\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 119\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 120\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 121\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 122\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 123\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 124\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar tty = require('tty');\nvar util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\n\n/**\n * Colors.\n */\n\nexports.colors = [ 6, 2, 3, 4, 5, 1 ];\n\ntry {\n var supportsColor = require('supports-color');\n if (supportsColor && supportsColor.level >= 2) {\n exports.colors = [\n 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68,\n 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134,\n 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,\n 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204,\n 205, 206, 207, 208, 209, 214, 215, 220, 221\n ];\n }\n} catch (err) {\n // swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(function (key) {\n return /^debug_/i.test(key);\n}).reduce(function (obj, key) {\n // camel-case\n var prop = key\n .substring(6)\n .toLowerCase()\n .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });\n\n // coerce string value into JS value\n var val = process.env[key];\n if (/^(yes|on|true|enabled)$/i.test(val)) val = true;\n else if (/^(no|off|false|disabled)$/i.test(val)) val = false;\n else if (val === 'null') val = null;\n else val = Number(val);\n\n obj[prop] = val;\n return obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n return 'colors' in exports.inspectOpts\n ? Boolean(exports.inspectOpts.colors)\n : tty.isatty(process.stderr.fd);\n}\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nexports.formatters.o = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts)\n .split('\\n').map(function(str) {\n return str.trim()\n }).join(' ');\n};\n\n/**\n * Map %o to `util.inspect()`, allowing multiple lines if needed.\n */\n\nexports.formatters.O = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts);\n};\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var name = this.namespace;\n var useColors = this.useColors;\n\n if (useColors) {\n var c = this.color;\n var colorCode = '\\u001b[3' + (c < 8 ? c : '8;5;' + c);\n var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\\u001b[0m';\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\\u001b[0m');\n } else {\n args[0] = getDate() + name + ' ' + args[0];\n }\n}\n\nfunction getDate() {\n if (exports.inspectOpts.hideDate) {\n return '';\n } else {\n return new Date().toISOString() + ' ';\n }\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log() {\n return process.stderr.write(util.format.apply(util, arguments) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n if (null == namespaces) {\n // If you set a process.env field to null or undefined, it gets cast to the\n // string 'null' or 'undefined'. Just delete instead.\n delete process.env.DEBUG;\n } else {\n process.env.DEBUG = namespaces;\n }\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n return process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init (debug) {\n debug.inspectOpts = {};\n\n var keys = Object.keys(exports.inspectOpts);\n for (var i = 0; i < keys.length; i++) {\n debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n }\n}\n\n/**\n * Enable namespaces listed in `process.env.DEBUG` initially.\n */\n\nexports.enable(load());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/node.js\n// module id = 125\n// module chunks = 0","module.exports = require(\"tty\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tty\"\n// module id = 126\n// module chunks = 0","module.exports = require(\"util\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"util\"\n// module id = 127\n// module chunks = 0","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nconst support = level => {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n};\n\nlet supportLevel = (() => {\n\tif (hasFlag('no-color') ||\n\t\thasFlag('no-colors') ||\n\t\thasFlag('color=false')) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (hasFlag('color') ||\n\t\thasFlag('colors') ||\n\t\thasFlag('color=true') ||\n\t\thasFlag('color=always')) {\n\t\treturn 1;\n\t}\n\n\tif (process.stdout && !process.stdout.isTTY) {\n\t\treturn 0;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Hyper':\n\t\t\t\treturn 3;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn 0;\n\t}\n\n\treturn 0;\n})();\n\nif ('FORCE_COLOR' in env) {\n\tsupportLevel = parseInt(env.FORCE_COLOR, 10) === 0 ? 0 : (supportLevel || 1);\n}\n\nmodule.exports = process && support(supportLevel);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/supports-color/index.js\n// module id = 128\n// module chunks = 0","module.exports = require(\"os\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"os\"\n// module id = 129\n// module chunks = 0","'use strict';\nmodule.exports = function (flag, argv) {\n\targv = argv || process.argv;\n\n\tvar terminatorPos = argv.indexOf('--');\n\tvar prefix = /^-{1,2}/.test(flag) ? '' : '--';\n\tvar pos = argv.indexOf(prefix + flag);\n\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/has-flag/index.js\n// module id = 130\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, apiKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.apiKey = apiKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 132\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js","'use strict';\n\nconst WebSocket = require('./lib/websocket');\n\nWebSocket.Server = require('./lib/websocket-server');\nWebSocket.Receiver = require('./lib/receiver');\nWebSocket.Sender = require('./lib/sender');\n\nmodule.exports = WebSocket;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/index.js\n// module id = 134\n// module chunks = 0","module.exports = require(\"net\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"net\"\n// module id = 135\n// module chunks = 0","module.exports = require(\"tls\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tls\"\n// module id = 136\n// module chunks = 0","'use strict';\n\nfunction Queue(options) {\n if (!(this instanceof Queue)) {\n return new Queue(options);\n }\n\n options = options || {};\n this.concurrency = options.concurrency || Infinity;\n this.pending = 0;\n this.jobs = [];\n this.cbs = [];\n this._done = done.bind(this);\n}\n\nvar arrayAddMethods = [\n 'push',\n 'unshift',\n 'splice'\n];\n\narrayAddMethods.forEach(function(method) {\n Queue.prototype[method] = function() {\n var methodResult = Array.prototype[method].apply(this.jobs, arguments);\n this._run();\n return methodResult;\n };\n});\n\nObject.defineProperty(Queue.prototype, 'length', {\n get: function() {\n return this.pending + this.jobs.length;\n }\n});\n\nQueue.prototype._run = function() {\n if (this.pending === this.concurrency) {\n return;\n }\n if (this.jobs.length) {\n var job = this.jobs.shift();\n this.pending++;\n job(this._done);\n this._run();\n }\n\n if (this.pending === 0) {\n while (this.cbs.length !== 0) {\n var cb = this.cbs.pop();\n process.nextTick(cb);\n }\n }\n};\n\nQueue.prototype.onDone = function(cb) {\n if (typeof cb === 'function') {\n this.cbs.push(cb);\n this._run();\n }\n};\n\nfunction done() {\n this.pending--;\n this._run();\n}\n\nmodule.exports = Queue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/async-limiter/index.js\n// module id = 137\n// module chunks = 0","'use strict';\n\n/**\n * Class representing an event.\n *\n * @private\n */\nclass Event {\n /**\n * Create a new `Event`.\n *\n * @param {String} type The name of the event\n * @param {Object} target A reference to the target to which the event was dispatched\n */\n constructor (type, target) {\n this.target = target;\n this.type = type;\n }\n}\n\n/**\n * Class representing a message event.\n *\n * @extends Event\n * @private\n */\nclass MessageEvent extends Event {\n /**\n * Create a new `MessageEvent`.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (data, target) {\n super('message', target);\n\n this.data = data;\n }\n}\n\n/**\n * Class representing a close event.\n *\n * @extends Event\n * @private\n */\nclass CloseEvent extends Event {\n /**\n * Create a new `CloseEvent`.\n *\n * @param {Number} code The status code explaining why the connection is being closed\n * @param {String} reason A human-readable string explaining why the connection is closing\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (code, reason, target) {\n super('close', target);\n\n this.wasClean = target._closeFrameReceived && target._closeFrameSent;\n this.reason = reason;\n this.code = code;\n }\n}\n\n/**\n * Class representing an open event.\n *\n * @extends Event\n * @private\n */\nclass OpenEvent extends Event {\n /**\n * Create a new `OpenEvent`.\n *\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (target) {\n super('open', target);\n }\n}\n\n/**\n * Class representing an error event.\n *\n * @extends Event\n * @private\n */\nclass ErrorEvent extends Event {\n /**\n * Create a new `ErrorEvent`.\n *\n * @param {Object} error The error that generated this event\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (error, target) {\n super('error', target);\n\n this.message = error.message;\n this.error = error;\n }\n}\n\n/**\n * This provides methods for emulating the `EventTarget` interface. It's not\n * meant to be used directly.\n *\n * @mixin\n */\nconst EventTarget = {\n /**\n * Register an event listener.\n *\n * @param {String} method A string representing the event type to listen for\n * @param {Function} listener The listener to add\n * @public\n */\n addEventListener (method, listener) {\n if (typeof listener !== 'function') return;\n\n function onMessage (data) {\n listener.call(this, new MessageEvent(data, this));\n }\n\n function onClose (code, message) {\n listener.call(this, new CloseEvent(code, message, this));\n }\n\n function onError (error) {\n listener.call(this, new ErrorEvent(error, this));\n }\n\n function onOpen () {\n listener.call(this, new OpenEvent(this));\n }\n\n if (method === 'message') {\n onMessage._listener = listener;\n this.on(method, onMessage);\n } else if (method === 'close') {\n onClose._listener = listener;\n this.on(method, onClose);\n } else if (method === 'error') {\n onError._listener = listener;\n this.on(method, onError);\n } else if (method === 'open') {\n onOpen._listener = listener;\n this.on(method, onOpen);\n } else {\n this.on(method, listener);\n }\n },\n\n /**\n * Remove an event listener.\n *\n * @param {String} method A string representing the event type to remove\n * @param {Function} listener The listener to remove\n * @public\n */\n removeEventListener (method, listener) {\n const listeners = this.listeners(method);\n\n for (var i = 0; i < listeners.length; i++) {\n if (listeners[i] === listener || listeners[i]._listener === listener) {\n this.removeListener(method, listeners[i]);\n }\n }\n }\n};\n\nmodule.exports = EventTarget;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/event-target.js\n// module id = 138\n// module chunks = 0","'use strict';\n\nconst EventEmitter = require('events');\nconst crypto = require('crypto');\nconst http = require('http');\nconst url = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst extension = require('./extension');\nconst constants = require('./constants');\nconst WebSocket = require('./websocket');\n\n/**\n * Class representing a WebSocket server.\n *\n * @extends EventEmitter\n */\nclass WebSocketServer extends EventEmitter {\n /**\n * Create a `WebSocketServer` instance.\n *\n * @param {Object} options Configuration options\n * @param {String} options.host The hostname where to bind the server\n * @param {Number} options.port The port where to bind the server\n * @param {http.Server} options.server A pre-created HTTP/S server to use\n * @param {Function} options.verifyClient An hook to reject connections\n * @param {Function} options.handleProtocols An hook to handle protocols\n * @param {String} options.path Accept only connections matching this path\n * @param {Boolean} options.noServer Enable no server mode\n * @param {Boolean} options.clientTracking Specifies whether or not to track clients\n * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate\n * @param {Number} options.maxPayload The maximum allowed message size\n * @param {Function} callback A listener for the `listening` event\n */\n constructor (options, callback) {\n super();\n\n options = Object.assign({\n maxPayload: 100 * 1024 * 1024,\n perMessageDeflate: false,\n handleProtocols: null,\n clientTracking: true,\n verifyClient: null,\n noServer: false,\n backlog: null, // use default (511 as implemented in net.js)\n server: null,\n host: null,\n path: null,\n port: null\n }, options);\n\n if (options.port == null && !options.server && !options.noServer) {\n throw new TypeError(\n 'One of the \"port\", \"server\", or \"noServer\" options must be specified'\n );\n }\n\n if (options.port != null) {\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n\n res.writeHead(426, {\n 'Content-Length': body.length,\n 'Content-Type': 'text/plain'\n });\n res.end(body);\n });\n this._server.listen(options.port, options.host, options.backlog, callback);\n } else if (options.server) {\n this._server = options.server;\n }\n\n if (this._server) {\n this._removeListeners = addListeners(this._server, {\n listening: this.emit.bind(this, 'listening'),\n error: this.emit.bind(this, 'error'),\n upgrade: (req, socket, head) => {\n this.handleUpgrade(req, socket, head, (ws) => {\n this.emit('connection', ws, req);\n });\n }\n });\n }\n\n if (options.perMessageDeflate === true) options.perMessageDeflate = {};\n if (options.clientTracking) this.clients = new Set();\n this.options = options;\n }\n\n /**\n * Returns the bound address, the address family name, and port of the server\n * as reported by the operating system if listening on an IP socket.\n * If the server is listening on a pipe or UNIX domain socket, the name is\n * returned as a string.\n *\n * @return {(Object|String|null)} The address of the server\n * @public\n */\n address () {\n if (this.options.noServer) {\n throw new Error('The server is operating in \"noServer\" mode');\n }\n\n if (!this._server) return null;\n return this._server.address();\n }\n\n /**\n * Close the server.\n *\n * @param {Function} cb Callback\n * @public\n */\n close (cb) {\n //\n // Terminate all associated clients.\n //\n if (this.clients) {\n for (const client of this.clients) client.terminate();\n }\n\n const server = this._server;\n\n if (server) {\n this._removeListeners();\n this._removeListeners = this._server = null;\n\n //\n // Close the http server if it was internally created.\n //\n if (this.options.port != null) return server.close(cb);\n }\n\n if (cb) cb();\n }\n\n /**\n * See if a given request should be handled by this server instance.\n *\n * @param {http.IncomingMessage} req Request object to inspect\n * @return {Boolean} `true` if the request is valid, else `false`\n * @public\n */\n shouldHandle (req) {\n if (this.options.path && url.parse(req.url).pathname !== this.options.path) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Handle a HTTP Upgrade request.\n *\n * @param {http.IncomingMessage} req The request object\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @public\n */\n handleUpgrade (req, socket, head, cb) {\n socket.on('error', socketOnError);\n\n const version = +req.headers['sec-websocket-version'];\n const extensions = {};\n\n if (\n req.method !== 'GET' || req.headers.upgrade.toLowerCase() !== 'websocket' ||\n !req.headers['sec-websocket-key'] || (version !== 8 && version !== 13) ||\n !this.shouldHandle(req)\n ) {\n return abortHandshake(socket, 400);\n }\n\n if (this.options.perMessageDeflate) {\n const perMessageDeflate = new PerMessageDeflate(\n this.options.perMessageDeflate,\n true,\n this.options.maxPayload\n );\n\n try {\n const offers = extension.parse(\n req.headers['sec-websocket-extensions']\n );\n\n if (offers[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);\n extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n return abortHandshake(socket, 400);\n }\n }\n\n //\n // Optionally call external client verification handler.\n //\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`],\n secure: !!(req.connection.authorized || req.connection.encrypted),\n req\n };\n\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message) => {\n if (!verified) return abortHandshake(socket, code || 401, message);\n\n this.completeUpgrade(extensions, req, socket, head, cb);\n });\n return;\n }\n\n if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);\n }\n\n this.completeUpgrade(extensions, req, socket, head, cb);\n }\n\n /**\n * Upgrade the connection to WebSocket.\n *\n * @param {Object} extensions The accepted extensions\n * @param {http.IncomingMessage} req The request object\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @private\n */\n completeUpgrade (extensions, req, socket, head, cb) {\n //\n // Destroy the socket if the client has already sent a FIN packet.\n //\n if (!socket.readable || !socket.writable) return socket.destroy();\n\n const key = crypto.createHash('sha1')\n .update(req.headers['sec-websocket-key'] + constants.GUID, 'binary')\n .digest('base64');\n\n const headers = [\n 'HTTP/1.1 101 Switching Protocols',\n 'Upgrade: websocket',\n 'Connection: Upgrade',\n `Sec-WebSocket-Accept: ${key}`\n ];\n\n const ws = new WebSocket(null);\n var protocol = req.headers['sec-websocket-protocol'];\n\n if (protocol) {\n protocol = protocol.trim().split(/ *, */);\n\n //\n // Optionally call external protocol selection handler.\n //\n if (this.options.handleProtocols) {\n protocol = this.options.handleProtocols(protocol, req);\n } else {\n protocol = protocol[0];\n }\n\n if (protocol) {\n headers.push(`Sec-WebSocket-Protocol: ${protocol}`);\n ws.protocol = protocol;\n }\n }\n\n if (extensions[PerMessageDeflate.extensionName]) {\n const params = extensions[PerMessageDeflate.extensionName].params;\n const value = extension.format({\n [PerMessageDeflate.extensionName]: [params]\n });\n headers.push(`Sec-WebSocket-Extensions: ${value}`);\n ws._extensions = extensions;\n }\n\n //\n // Allow external modification/inspection of handshake headers.\n //\n this.emit('headers', headers, req);\n\n socket.write(headers.concat('\\r\\n').join('\\r\\n'));\n socket.removeListener('error', socketOnError);\n\n ws.setSocket(socket, head, this.options.maxPayload);\n\n if (this.clients) {\n this.clients.add(ws);\n ws.on('close', () => this.clients.delete(ws));\n }\n\n cb(ws);\n }\n}\n\nmodule.exports = WebSocketServer;\n\n/**\n * Add event listeners on an `EventEmitter` using a map of \n * pairs.\n *\n * @param {EventEmitter} server The event emitter\n * @param {Object.} map The listeners to add\n * @return {Function} A function that will remove the added listeners when called\n * @private\n */\nfunction addListeners (server, map) {\n for (const event of Object.keys(map)) server.on(event, map[event]);\n\n return function removeListeners () {\n for (const event of Object.keys(map)) {\n server.removeListener(event, map[event]);\n }\n };\n}\n\n/**\n * Handle premature socket errors.\n *\n * @private\n */\nfunction socketOnError () {\n this.destroy();\n}\n\n/**\n * Close the connection when preconditions are not fulfilled.\n *\n * @param {net.Socket} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} [message] The HTTP response body\n * @private\n */\nfunction abortHandshake (socket, code, message) {\n if (socket.writable) {\n message = message || http.STATUS_CODES[code];\n socket.write(\n `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\\r\\n` +\n 'Connection: close\\r\\n' +\n 'Content-type: text/html\\r\\n' +\n `Content-Length: ${Buffer.byteLength(message)}\\r\\n` +\n '\\r\\n' +\n message\n );\n }\n\n socket.removeListener('error', socketOnError);\n socket.destroy();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/websocket-server.js\n// module id = 139\n// module chunks = 0","import * as StreamEndpoints from './StreamEndpoints'\n\nlet endpoints = Object.assign({}, StreamEndpoints)\n\nexport default endpoints\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/AllEndpoints.js","import {stringify} from 'querystring'\nimport debug from 'debug'\n\nimport Stream from './domain/Stream'\nimport {authFetch} from './utils'\n\n// These function are mixed in to StreamrClient.prototype.\n// In the below functions, 'this' is intended to be the StreamrClient\n\nexport async function getStream(streamId, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams/' + streamId\n let json = await authFetch(url, apiKey)\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function listStreams(query = {}, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams?' + stringify(query)\n let json = await authFetch(url, apiKey)\n return json ? json.map((stream) => new Stream(this, stream)) : []\n}\n\nexport async function getStreamByName(name, apiKey = this.options.apiKey) {\n let json = await this.listStreams({\n name: name,\n public: false\n }, apiKey)\n return json[0] ? new Stream(this, json[0]) : undefined\n}\n\nexport async function createStream(props, apiKey = this.options.apiKey) {\n if (!props || !props.name) {\n throw 'Stream properties must contain a \"name\" field!'\n }\n\n let json = await authFetch(this.options.restUrl + '/streams',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify(props)\n })\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getOrCreateStream(props, apiKey = this.options.apiKey) {\n let json\n\n // Try looking up the stream by id or name, whichever is defined\n if (props.id) {\n json = await this.getStream(props.id, apiKey)\n } else if (props.name) {\n json = await this.getStreamByName(props.name, apiKey)\n }\n\n // If not found, try creating the stream\n if (!json) {\n json = await this.createStream(props, apiKey)\n debug('Created stream: %s (%s)', props.name, json.id)\n }\n\n // If still nothing, throw\n if (!json) {\n throw 'Unable to find or create stream: ' + props.name\n } else {\n return new Stream(this, json)\n }\n}\n\nexport function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) {\n if (streamId instanceof Stream) {\n streamId = streamId.id\n }\n\n // Send data to the stream\n return authFetch(this.options.restUrl + '/streams/' + streamId + '/data',\n apiKey,\n Object.assign({}, requestOptions, {\n method: 'POST',\n body: JSON.stringify(data)\n })\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/StreamEndpoints.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime-module.js\n// module id = 142\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 143\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 144\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 145\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 146\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 147\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 148\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 149\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 150\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 151\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 152\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 153\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 154\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 155\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 156\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 157\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 158\n// module chunks = 0","module.exports = require(\"querystring\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"querystring\"\n// module id = 159\n// module chunks = 0","import {authFetch} from '../utils'\n\nexport default class Stream {\n\n constructor(client, props) {\n this._client = client\n Object.assign(this, props)\n }\n\n async update(apiKey = this._client.options.apiKey) {\n let json = await authFetch(this._client.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'PUT',\n body: JSON.stringify(this)\n })\n return json ? new Stream(this._client, json) : undefined\n }\n\n delete(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'DELETE',\n })\n }\n\n getPermissions(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey)\n }\n\n async isPublic(apiKey = this._client.options.apiKey) {\n let permissions = await this.getPermissions(apiKey)\n return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined\n }\n\n makePublic(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n anonymous: true,\n operation: 'read'\n }),\n })\n }\n\n detectFields(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey)\n }\n\n produce(data, apiKey = this._client.options.apiKey, requestOptions = {}) {\n return this._client.produceToStream(this.id, data, apiKey, requestOptions)\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/domain/Stream.js","// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n// (MIT licensed)\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\n/**\n * body.js\n *\n * Body interface provides common methods for Request and Response\n */\n\nconst Stream = require('stream');\n\nvar _require = require('stream');\n\nconst PassThrough = _require.PassThrough;\n\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t} else if (body instanceof Blob) {\n\t\t// body is blob\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is array buffer\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t} else {\n\t\t// none of the above\n\t\t// coerce to string\n\t\tbody = String(body);\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\t_this[INTERNALS].error = new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\t// body is null\n\tif (this.body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is string\n\tif (typeof this.body === 'string') {\n\t\treturn Body.Promise.resolve(Buffer.from(this.body));\n\t}\n\n\t// body is blob\n\tif (this.body instanceof Blob) {\n\t\treturn Body.Promise.resolve(this.body[BUFFER]);\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(this.body)) {\n\t\treturn Body.Promise.resolve(this.body);\n\t}\n\n\t// body is buffer\n\tif (Object.prototype.toString.call(this.body) === '[object ArrayBuffer]') {\n\t\treturn Body.Promise.resolve(Buffer.from(this.body));\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(this.body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream error, such as incorrect content-encoding\n\t\t_this4.body.on('error', function (err) {\n\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t});\n\n\t\t_this4.body.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\t_this4.body.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) {\n\t\t\t// no op\n\t\t} else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\n/**\n * response.js\n *\n * Response class provides content decoding\n */\n\nvar _require$1 = require('http');\n\nconst STATUS_CODES = _require$1.STATUS_CODES;\n\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders: new Headers(opts.headers)\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url;\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * request.js\n *\n * Request class contains server only options\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nvar _require$2 = require('url');\n\nconst format_url = _require$2.format;\nconst parse_url = _require$2.parse;\n\n\nconst INTERNALS$2 = Symbol('Request internals');\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parse_url(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parse_url(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parse_url(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (init.body != null) {\n\t\t\tconst contentType = extractContentType(this);\n\t\t\tif (contentType !== null && !headers.has('Content-Type')) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\tif (!headers.has('Connection') && !request.agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent: request.agent\n\t});\n}\n\n/**\n * index.js\n *\n * a request API compatible with window.fetch\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nconst http = require('http');\nconst https = require('https');\n\nvar _require$3 = require('stream');\n\nconst PassThrough$1 = _require$3.PassThrough;\n\nvar _require2 = require('url');\n\nconst resolve_url = _require2.resolve;\n\nconst zlib = require('zlib');\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\t\t\tfinalize();\n\t\t});\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tconst locationURL = location === null ? null : resolve_url(request.url, location);\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresolve(new Response(body, response_options));\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// Needed for TypeScript.\nfetch.default = fetch;\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nexport default fetch;\nexport { Headers, Request, Response, FetchError };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-fetch/lib/index.es.js\n// module id = 161\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 1f3680f2818f762aaf55","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/debug/src/index.js","webpack:///./node_modules/ws/lib/constants.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///external \"http\"","webpack:///external \"url\"","webpack:///./node_modules/ws/lib/permessage-deflate.js","webpack:///external \"stream\"","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///external \"crypto\"","webpack:///./node_modules/ws/lib/buffer-util.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./src/Protocol.js","webpack:///./node_modules/ws/lib/websocket.js","webpack:///external \"events\"","webpack:///external \"https\"","webpack:///external \"zlib\"","webpack:///./node_modules/ws/lib/extension.js","webpack:///./node_modules/ws/lib/receiver.js","webpack:///./node_modules/ws/lib/validation.js","webpack:///./node_modules/ws/lib/sender.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/rest/utils.js","webpack:///./src/index.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/ms/index.js","webpack:///./node_modules/debug/src/node.js","webpack:///external \"tty\"","webpack:///external \"util\"","webpack:///./node_modules/supports-color/index.js","webpack:///external \"os\"","webpack:///./node_modules/has-flag/index.js","webpack:///./src/Subscription.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./src/Connection.js","webpack:///./node_modules/ws/index.js","webpack:///external \"net\"","webpack:///external \"tls\"","webpack:///./node_modules/async-limiter/index.js","webpack:///./node_modules/ws/lib/event-target.js","webpack:///./node_modules/ws/lib/websocket-server.js","webpack:///./src/rest/AllEndpoints.js","webpack:///./src/rest/StreamEndpoints.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///external \"querystring\"","webpack:///./src/rest/domain/Stream.js","webpack:///./node_modules/node-fetch/lib/index.es.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","forEach","key","url","apiKey","opts","log","headers","Authorization","res","text","ok","status","authFetch","prototype","StreamrClient","options","restUrl","autoConnect","autoDisconnect","subsByStream","subById","connection","connected","authKey","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close","StreamEndpoints","endpoints","json","getStream","query","map","listStreams","name","public","getStreamByName","props","method","body","createStream","getOrCreateStream","produceToStream","requestOptions","Stream","client","_client","getPermissions","permissions","find","permission","anonymous","operation"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;ACTA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;AC1BD,kBAAkB,yD;;;;;;ACAlB,iC;;;;;;ACAA,gC;;;;;;;ACAA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,iBAAiB;AAC9B;AACA,aAAa,iBAAiB;AAC9B;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC,cAAc;AAC/C;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,IAAI;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,IAAI,KAAK,MAAM;AAC/D;AACA;AACA;AACA,WAAW;AACX;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,8CAA8C,IAAI,KAAK,MAAM;AAC7D;AACA;AACA,SAAS;AACT,gDAAgD,IAAI;AACpD;;AAEA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA,wBAAwB,qCAAqC,aAAa;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACngBA,mC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA,kBAAkB,yD;;;;;;;ACAlB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AChCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA,mC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,SAAS;AAC3C,CAAC;AACD;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;;AAEA,oBAAoB;AACpB;;;;;;;AC5DA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL;AACA,E;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACpEA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AA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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD,kBAAkB,0BAA0B;AAC5C,iBAAiB,yBAAyB;AAC1C,eAAe,uBAAuB;;AAEtC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,gBAAgB;AAC7D,cAAc,6BAA6B;AAC3C;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,kDAAkD,OAAO;AACzD;AACA;AACA;AACA,gBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,yBAAyB;AACpC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,uCAAuC,wBAAwB;AAC/D,gCAAgC,4BAA4B;AAC5D;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,SAAS;AAC7C;;AAEA;AACA;AACA;AACA;AACA,SAAS,0BAA0B,EAAE,iBAAiB;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,mBAAmB,GAAG,mBAAmB;AAC/D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,6DAA6D,eAAe;AAC5E,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,gCAAgC;AAC3C;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACjzBA,mC;;;;;;ACAA,kC;;;;;;ACAA,iC;;;;;;;ACAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,wBAAwB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO,4BAA4B;AACnC;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,EAAE;AACnE;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT,iEAAiE,EAAE;AACnE;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,iEAAiE,EAAE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP,+DAA+D,EAAE;AACjE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B;AAC1B,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,EAAE,GAAG,EAAE,UAAU;AACtE,OAAO,UAAU;AACjB,KAAK;AACL,GAAG;AACH;;AAEA,kBAAkB;;;;;;;;AClNlB;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,mDAAmD,aAAa;AAChE;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,iDAAiD,aAAa;AAC9D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,0DAA0D,KAAK;AAC/D;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB,YAAY,mBAAmB;AAC/B;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;AChgBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5BA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;AChZA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnFA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFCNO,iBAAyBqB,GAAzB,EAA8BC,MAA9B;AAAA,YAAsCC,IAAtC,uEAA6C,EAA7C;AAAA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;ACjCA,8BAA8B;;;;;;;ACA9B;AACA,UAAU;AACV;;;;;;;ACFA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;;;;;;;ACAA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,oEAAuE,2CAA4C;;;;;;;ACFnH,kBAAkB,yD;;;;;;ACAlB;AACA;;;;;;;ACDA;AACA;AACA,8BAA8B,+CAA8C;;;;;;;ACF5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,8BAA8B,kCAAsC;;;;;;;ACFpE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;AClMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvJA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,2CAA2C,yBAAyB;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,IAAI;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,EAAE;AACnD,sCAAsC;;AAEtC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzLA,gC;;;;;;ACAA,iC;;;;;;;ACAA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,GAAG;AACpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;;;;;;AClHA,+B;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,kBAAkB,IAAI;AACtB;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;;;;AACA;;;;AAEA;;;;AAEA,IAAI1B,QAAQ,CAAZ;AACA,SAASqF,sBAAT,GAAkC;AAC9B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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;AClEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,UAAU;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACzKA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,YAAY;AACzB,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,aAAa,iBAAiB;AAC9B,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kDAAkD;AACjF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,qBAAqB;AAClC,aAAa,WAAW;AACxB,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,IAAI;AACnC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,gDAAgD,SAAS;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,gDAAgD,MAAM;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,0BAA0B;AACrC,YAAY,SAAS;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,KAAK,GAAG,wBAAwB;AAClD;AACA;AACA,yBAAyB,2BAA2B;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC7VA;;IAAYU,e;;;;;;AAEZ,IAAIC,YAAY,sBAAc,EAAd,EAAkBD,eAAlB,CAAhB;;kBAEeC,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEf;AACA;;;wFAEO,iBAAyB5E,QAAzB;AAAA,YAAmCvB,MAAnC,uEAA4C,KAAKY,OAAL,CAAaZ,MAAzD;AAAA;AAAA;AAAA;AAAA;AAAA;AACCD,2BADD,GACO,KAAKa,OAAL,CAAaC,OA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OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqCU,QAArC,GAAgD,OAA1D,EACHvB,MADG,EAEH,sBAAc,EAAd,EAAkBkH,cAAlB,EAAkC;AAC9BL,gBAAQ,MADsB;AAE9BC,cAAM,yBAAed,IAAf;AAFwB,KAAlC,CAFG,CAAP;AAOH,C;;;;;;AChFD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B;;;;;;;ACttBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACpRD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACbA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;ACXH,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;;;IAEqBmB,M;AAEjB,oBAAYC,MAAZ,EAAoBR,KAApB,EAA2B;AAAA;;A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AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;;AAGA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kFAAkF;AAClF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,UAAU,IAAI,YAAY;AACpH,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,+EAA+E,WAAW,WAAW,YAAY;AACjH;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,QAAQ,mBAAmB;AAC3B,YAAY,mBAAmB;AAC/B,eAAe,mBAAmB;AAClC,QAAQ,mBAAmB;AAC3B,QAAQ,mBAAmB;AAC3B,QAAQ;AACR,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,SAAS;AAC9E;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE,WAAW,SAAS,eAAe;AACvG,IAAI;AACJ;;AAEA;AACA;AACA,wEAAwE,WAAW,IAAI,YAAY;AACnG,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,WAAW,eAAe,YAAY;AACnF;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,4EAA4E,WAAW,IAAI,YAAY;AACvG;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,qBAAqB;AACrB,EAAE;AACF;AACA,4CAA4C;AAC5C,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,8BAA8B,WAAW,mBAAmB;AAC5D,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA,yBAAyB,KAAK;AAC9B;AACA;;AAEA;AACA,YAAY,MAAM;AAClB;AACA,yBAAyB,MAAM;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,QAAQ,mBAAmB;AAC3B,UAAU,mBAAmB;AAC7B,WAAW;AACX,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA,OAAO,mBAAmB;AAC1B,UAAU,mBAAmB;AAC7B,MAAM,mBAAmB;AACzB,cAAc,mBAAmB;AACjC,WAAW,mBAAmB;AAC9B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,IAAI;AACJ;AACA,6BAA6B,MAAM;AACnC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH,iEAAiE;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,UAAU,mBAAmB;AAC7B,OAAO,mBAAmB;AAC1B,WAAW,mBAAmB;AAC9B,YAAY,mBAAmB;AAC/B,SAAS;AACT,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,YAAY;AAC9D;AACA,KAAK;AACL,IAAI;AACJ;;AAEA;AACA,uCAAuC,YAAY,mBAAmB,YAAY;AAClF;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8DAA8D,YAAY;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6DAA6D,YAAY;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACQ","file":"streamr-client.node.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 85);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 1f3680f2818f762aaf55","var core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 4\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 5\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 8\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 9\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 10\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 11\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 14\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 15\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 16\n// module chunks = 0","/**\n * Detect Electron renderer process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer') {\n module.exports = require('./browser.js');\n} else {\n module.exports = require('./node.js');\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/index.js\n// module id = 17\n// module chunks = 0","'use strict';\n\nmodule.exports = {\n BINARY_TYPES: ['nodebuffer', 'arraybuffer', 'fragments'],\n GUID: '258EAFA5-E914-47DA-95CA-C5AB0DC85B11',\n kStatusCode: Symbol('status-code'),\n kWebSocket: Symbol('websocket'),\n EMPTY_BUFFER: Buffer.alloc(0),\n NOOP: () => {}\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/constants.js\n// module id = 18\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 19\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 20\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 21\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 22\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 23\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 24\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 26\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = 27\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 28\n// module chunks = 0","module.exports = require(\"http\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"http\"\n// module id = 29\n// module chunks = 0","module.exports = require(\"url\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"url\"\n// module id = 30\n// module chunks = 0","'use strict';\n\nconst Limiter = require('async-limiter');\nconst zlib = require('zlib');\n\nconst bufferUtil = require('./buffer-util');\nconst constants = require('./constants');\n\nconst TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);\nconst EMPTY_BLOCK = Buffer.from([0x00]);\n\nconst kPerMessageDeflate = Symbol('permessage-deflate');\nconst kWriteInProgress = Symbol('write-in-progress');\nconst kPendingClose = Symbol('pending-close');\nconst kTotalLength = Symbol('total-length');\nconst kCallback = Symbol('callback');\nconst kBuffers = Symbol('buffers');\nconst kError = Symbol('error');\n\n//\n// We limit zlib concurrency, which prevents severe memory fragmentation\n// as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913\n// and https://github.com/websockets/ws/issues/1202\n//\n// Intentionally global; it's the global thread pool that's an issue.\n//\nlet zlibLimiter;\n\n/**\n * permessage-deflate implementation.\n */\nclass PerMessageDeflate {\n /**\n * Creates a PerMessageDeflate instance.\n *\n * @param {Object} options Configuration options\n * @param {Boolean} options.serverNoContextTakeover Request/accept disabling\n * of server context takeover\n * @param {Boolean} options.clientNoContextTakeover Advertise/acknowledge\n * disabling of client context takeover\n * @param {(Boolean|Number)} options.serverMaxWindowBits Request/confirm the\n * use of a custom server window size\n * @param {(Boolean|Number)} options.clientMaxWindowBits Advertise support\n * for, or request, a custom client window size\n * @param {Object} options.zlibDeflateOptions Options to pass to zlib on deflate\n * @param {Object} options.zlibInflateOptions Options to pass to zlib on inflate\n * @param {Number} options.threshold Size (in bytes) below which messages\n * should not be compressed\n * @param {Number} options.concurrencyLimit The number of concurrent calls to\n * zlib\n * @param {Boolean} isServer Create the instance in either server or client\n * mode\n * @param {Number} maxPayload The maximum allowed message length\n */\n constructor (options, isServer, maxPayload) {\n this._maxPayload = maxPayload | 0;\n this._options = options || {};\n this._threshold = this._options.threshold !== undefined\n ? this._options.threshold\n : 1024;\n this._isServer = !!isServer;\n this._deflate = null;\n this._inflate = null;\n\n this.params = null;\n\n if (!zlibLimiter) {\n const concurrency = this._options.concurrencyLimit !== undefined\n ? this._options.concurrencyLimit\n : 10;\n zlibLimiter = new Limiter({ concurrency });\n }\n }\n\n /**\n * @type {String}\n */\n static get extensionName () {\n return 'permessage-deflate';\n }\n\n /**\n * Create an extension negotiation offer.\n *\n * @return {Object} Extension parameters\n * @public\n */\n offer () {\n const params = {};\n\n if (this._options.serverNoContextTakeover) {\n params.server_no_context_takeover = true;\n }\n if (this._options.clientNoContextTakeover) {\n params.client_no_context_takeover = true;\n }\n if (this._options.serverMaxWindowBits) {\n params.server_max_window_bits = this._options.serverMaxWindowBits;\n }\n if (this._options.clientMaxWindowBits) {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n } else if (this._options.clientMaxWindowBits == null) {\n params.client_max_window_bits = true;\n }\n\n return params;\n }\n\n /**\n * Accept an extension negotiation offer/response.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Object} Accepted configuration\n * @public\n */\n accept (configurations) {\n configurations = this.normalizeParams(configurations);\n\n this.params = this._isServer\n ? this.acceptAsServer(configurations)\n : this.acceptAsClient(configurations);\n\n return this.params;\n }\n\n /**\n * Releases all resources used by the extension.\n *\n * @public\n */\n cleanup () {\n if (this._inflate) {\n if (this._inflate[kWriteInProgress]) {\n this._inflate[kPendingClose] = true;\n } else {\n this._inflate.close();\n this._inflate = null;\n }\n }\n if (this._deflate) {\n if (this._deflate[kWriteInProgress]) {\n this._deflate[kPendingClose] = true;\n } else {\n this._deflate.close();\n this._deflate = null;\n }\n }\n }\n\n /**\n * Accept an extension negotiation offer.\n *\n * @param {Array} offers The extension negotiation offers\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsServer (offers) {\n const opts = this._options;\n const accepted = offers.find((params) => {\n if (\n (opts.serverNoContextTakeover === false &&\n params.server_no_context_takeover) ||\n (params.server_max_window_bits &&\n (opts.serverMaxWindowBits === false ||\n (typeof opts.serverMaxWindowBits === 'number' &&\n opts.serverMaxWindowBits > params.server_max_window_bits))) ||\n (typeof opts.clientMaxWindowBits === 'number' &&\n !params.client_max_window_bits)\n ) {\n return false;\n }\n\n return true;\n });\n\n if (!accepted) {\n throw new Error('None of the extension offers can be accepted');\n }\n\n if (opts.serverNoContextTakeover) {\n accepted.server_no_context_takeover = true;\n }\n if (opts.clientNoContextTakeover) {\n accepted.client_no_context_takeover = true;\n }\n if (typeof opts.serverMaxWindowBits === 'number') {\n accepted.server_max_window_bits = opts.serverMaxWindowBits;\n }\n if (typeof opts.clientMaxWindowBits === 'number') {\n accepted.client_max_window_bits = opts.clientMaxWindowBits;\n } else if (\n accepted.client_max_window_bits === true ||\n opts.clientMaxWindowBits === false\n ) {\n delete accepted.client_max_window_bits;\n }\n\n return accepted;\n }\n\n /**\n * Accept the extension negotiation response.\n *\n * @param {Array} response The extension negotiation response\n * @return {Object} Accepted configuration\n * @private\n */\n acceptAsClient (response) {\n const params = response[0];\n\n if (\n this._options.clientNoContextTakeover === false &&\n params.client_no_context_takeover\n ) {\n throw new Error('Unexpected parameter \"client_no_context_takeover\"');\n }\n\n if (!params.client_max_window_bits) {\n if (typeof this._options.clientMaxWindowBits === 'number') {\n params.client_max_window_bits = this._options.clientMaxWindowBits;\n }\n } else if (\n this._options.clientMaxWindowBits === false ||\n (typeof this._options.clientMaxWindowBits === 'number' &&\n params.client_max_window_bits > this._options.clientMaxWindowBits)\n ) {\n throw new Error(\n 'Unexpected or invalid parameter \"client_max_window_bits\"'\n );\n }\n\n return params;\n }\n\n /**\n * Normalize parameters.\n *\n * @param {Array} configurations The extension negotiation offers/reponse\n * @return {Array} The offers/response with normalized parameters\n * @private\n */\n normalizeParams (configurations) {\n configurations.forEach((params) => {\n Object.keys(params).forEach((key) => {\n var value = params[key];\n\n if (value.length > 1) {\n throw new Error(`Parameter \"${key}\" must have only a single value`);\n }\n\n value = value[0];\n\n if (key === 'client_max_window_bits') {\n if (value !== true) {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (!this._isServer) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else if (key === 'server_max_window_bits') {\n const num = +value;\n if (!Number.isInteger(num) || num < 8 || num > 15) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n value = num;\n } else if (\n key === 'client_no_context_takeover' ||\n key === 'server_no_context_takeover'\n ) {\n if (value !== true) {\n throw new TypeError(\n `Invalid value for parameter \"${key}\": ${value}`\n );\n }\n } else {\n throw new Error(`Unknown parameter \"${key}\"`);\n }\n\n params[key] = value;\n });\n });\n\n return configurations;\n }\n\n /**\n * Decompress data. Concurrency limited by async-limiter.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n decompress (data, fin, callback) {\n zlibLimiter.push((done) => {\n this._decompress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Compress data. Concurrency limited by async-limiter.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @public\n */\n compress (data, fin, callback) {\n zlibLimiter.push((done) => {\n this._compress(data, fin, (err, result) => {\n done();\n callback(err, result);\n });\n });\n }\n\n /**\n * Decompress data.\n *\n * @param {Buffer} data Compressed data\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _decompress (data, fin, callback) {\n const endpoint = this._isServer ? 'client' : 'server';\n\n if (!this._inflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits = typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._inflate = zlib.createInflateRaw(\n Object.assign({}, this._options.zlibInflateOptions, { windowBits })\n );\n this._inflate[kPerMessageDeflate] = this;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n this._inflate.on('error', inflateOnError);\n this._inflate.on('data', inflateOnData);\n }\n\n this._inflate[kCallback] = callback;\n this._inflate[kWriteInProgress] = true;\n\n this._inflate.write(data);\n if (fin) this._inflate.write(TRAILER);\n\n this._inflate.flush(() => {\n const err = this._inflate[kError];\n\n if (err) {\n this._inflate.close();\n this._inflate = null;\n callback(err);\n return;\n }\n\n const data = bufferUtil.concat(\n this._inflate[kBuffers],\n this._inflate[kTotalLength]\n );\n\n if (\n (fin && this.params[`${endpoint}_no_context_takeover`]) ||\n this._inflate[kPendingClose]\n ) {\n this._inflate.close();\n this._inflate = null;\n } else {\n this._inflate[kWriteInProgress] = false;\n this._inflate[kTotalLength] = 0;\n this._inflate[kBuffers] = [];\n }\n\n callback(null, data);\n });\n }\n\n /**\n * Compress data.\n *\n * @param {Buffer} data Data to compress\n * @param {Boolean} fin Specifies whether or not this is the last fragment\n * @param {Function} callback Callback\n * @private\n */\n _compress (data, fin, callback) {\n if (!data || data.length === 0) {\n process.nextTick(callback, null, EMPTY_BLOCK);\n return;\n }\n\n const endpoint = this._isServer ? 'server' : 'client';\n\n if (!this._deflate) {\n const key = `${endpoint}_max_window_bits`;\n const windowBits = typeof this.params[key] !== 'number'\n ? zlib.Z_DEFAULT_WINDOWBITS\n : this.params[key];\n\n this._deflate = zlib.createDeflateRaw(\n Object.assign(\n // TODO deprecate memLevel/level and recommend zlibDeflateOptions instead\n {\n memLevel: this._options.memLevel,\n level: this._options.level\n },\n this._options.zlibDeflateOptions,\n { windowBits }\n )\n );\n\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n\n //\n // `zlib.DeflateRaw` emits an `'error'` event only when an attempt to use\n // it is made after it has already been closed. This cannot happen here,\n // so we only add a listener for the `'data'` event.\n //\n this._deflate.on('data', deflateOnData);\n }\n\n this._deflate[kWriteInProgress] = true;\n\n this._deflate.write(data);\n this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {\n var data = bufferUtil.concat(\n this._deflate[kBuffers],\n this._deflate[kTotalLength]\n );\n\n if (fin) data = data.slice(0, data.length - 4);\n\n if (\n (fin && this.params[`${endpoint}_no_context_takeover`]) ||\n this._deflate[kPendingClose]\n ) {\n this._deflate.close();\n this._deflate = null;\n } else {\n this._deflate[kWriteInProgress] = false;\n this._deflate[kTotalLength] = 0;\n this._deflate[kBuffers] = [];\n }\n\n callback(null, data);\n });\n }\n}\n\nmodule.exports = PerMessageDeflate;\n\n/**\n * The listener of the `zlib.DeflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction deflateOnData (chunk) {\n this[kBuffers].push(chunk);\n this[kTotalLength] += chunk.length;\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction inflateOnData (chunk) {\n this[kTotalLength] += chunk.length;\n\n if (\n this[kPerMessageDeflate]._maxPayload < 1 ||\n this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload\n ) {\n this[kBuffers].push(chunk);\n return;\n }\n\n this[kError] = new RangeError('Max payload size exceeded');\n this[kError][constants.kStatusCode] = 1009;\n this.removeListener('data', inflateOnData);\n this.reset();\n}\n\n/**\n * The listener of the `zlib.InflateRaw` stream `'error'` event.\n *\n * @param {Error} err The emitted error\n * @private\n */\nfunction inflateOnError (err) {\n //\n // There is no need to call `Zlib#close()` as the handle is automatically\n // closed when an error is emitted.\n //\n this[kPerMessageDeflate]._inflate = null;\n err[constants.kStatusCode] = 1007;\n this[kCallback](err);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/permessage-deflate.js\n// module id = 31\n// module chunks = 0","module.exports = require(\"stream\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"stream\"\n// module id = 32\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 33\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 34\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 35\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 36\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 37\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 38\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 39\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 40\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 41\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 42\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 43\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 44\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 45\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 46\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 47\n// module chunks = 0","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 48\n// module chunks = 0","module.exports = require(\"crypto\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"crypto\"\n// module id = 49\n// module chunks = 0","'use strict';\n\n/**\n * Merges an array of buffers into a new buffer.\n *\n * @param {Buffer[]} list The array of buffers to concat\n * @param {Number} totalLength The total length of buffers in the list\n * @return {Buffer} The resulting buffer\n * @public\n */\nconst concat = (list, totalLength) => {\n const target = Buffer.allocUnsafe(totalLength);\n var offset = 0;\n\n for (var i = 0; i < list.length; i++) {\n const buf = list[i];\n buf.copy(target, offset);\n offset += buf.length;\n }\n\n return target;\n};\n\ntry {\n const bufferUtil = require('bufferutil');\n\n module.exports = Object.assign({ concat }, bufferUtil.BufferUtil || bufferUtil);\n} catch (e) /* istanbul ignore next */ {\n /**\n * Masks a buffer using the given mask.\n *\n * @param {Buffer} source The buffer to mask\n * @param {Buffer} mask The mask to use\n * @param {Buffer} output The buffer where to store the result\n * @param {Number} offset The offset at which to start writing\n * @param {Number} length The number of bytes to mask.\n * @public\n */\n const mask = (source, mask, output, offset, length) => {\n for (var i = 0; i < length; i++) {\n output[offset + i] = source[i] ^ mask[i & 3];\n }\n };\n\n /**\n * Unmasks a buffer using the given mask.\n *\n * @param {Buffer} buffer The buffer to unmask\n * @param {Buffer} mask The mask to use\n * @public\n */\n const unmask = (buffer, mask) => {\n // Required until https://github.com/nodejs/node/issues/9006 is resolved.\n const length = buffer.length;\n for (var i = 0; i < length; i++) {\n buffer[i] ^= mask[i & 3];\n }\n };\n\n module.exports = { concat, mask, unmask };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/buffer-util.js\n// module id = 50\n// module chunks = 0","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 51\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 52\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 53\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 54\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 55\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 56\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 57\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 58\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 59\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 60\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 61\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 62\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 63\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 64\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 65\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 66\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 67\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 69\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","'use strict';\n\nconst EventEmitter = require('events');\nconst crypto = require('crypto');\nconst https = require('https');\nconst http = require('http');\nconst net = require('net');\nconst tls = require('tls');\nconst url = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst EventTarget = require('./event-target');\nconst extension = require('./extension');\nconst constants = require('./constants');\nconst Receiver = require('./receiver');\nconst Sender = require('./sender');\n\nconst readyStates = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];\nconst kWebSocket = constants.kWebSocket;\nconst protocolVersions = [8, 13];\nconst closeTimeout = 30 * 1000; // Allow 30 seconds to terminate the connection cleanly.\n\n/**\n * Class representing a WebSocket.\n *\n * @extends EventEmitter\n */\nclass WebSocket extends EventEmitter {\n /**\n * Create a new `WebSocket`.\n *\n * @param {(String|url.Url|url.URL)} address The URL to which to connect\n * @param {(String|String[])} protocols The subprotocols\n * @param {Object} options Connection options\n */\n constructor (address, protocols, options) {\n super();\n\n this.readyState = WebSocket.CONNECTING;\n this.protocol = '';\n\n this._binaryType = constants.BINARY_TYPES[0];\n this._closeFrameReceived = false;\n this._closeFrameSent = false;\n this._closeMessage = '';\n this._closeTimer = null;\n this._closeCode = 1006;\n this._extensions = {};\n this._isServer = true;\n this._receiver = null;\n this._sender = null;\n this._socket = null;\n\n if (address !== null) {\n if (Array.isArray(protocols)) {\n protocols = protocols.join(', ');\n } else if (typeof protocols === 'object' && protocols !== null) {\n options = protocols;\n protocols = undefined;\n }\n\n initAsClient.call(this, address, protocols, options);\n }\n }\n\n get CONNECTING () { return WebSocket.CONNECTING; }\n get CLOSING () { return WebSocket.CLOSING; }\n get CLOSED () { return WebSocket.CLOSED; }\n get OPEN () { return WebSocket.OPEN; }\n\n /**\n * This deviates from the WHATWG interface since ws doesn't support the required\n * default \"blob\" type (instead we define a custom \"nodebuffer\" type).\n *\n * @type {String}\n */\n get binaryType () {\n return this._binaryType;\n }\n\n set binaryType (type) {\n if (constants.BINARY_TYPES.indexOf(type) < 0) return;\n\n this._binaryType = type;\n\n //\n // Allow to change `binaryType` on the fly.\n //\n if (this._receiver) this._receiver._binaryType = type;\n }\n\n /**\n * @type {Number}\n */\n get bufferedAmount () {\n if (!this._socket) return 0;\n\n //\n // `socket.bufferSize` is `undefined` if the socket is closed.\n //\n return (this._socket.bufferSize || 0) + this._sender._bufferedBytes;\n }\n\n /**\n * @type {String}\n */\n get extensions () {\n return Object.keys(this._extensions).join();\n }\n\n /**\n * Set up the socket and the internal resources.\n *\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Number} maxPayload The maximum allowed message size\n * @private\n */\n setSocket (socket, head, maxPayload) {\n const receiver = new Receiver(\n this._binaryType,\n this._extensions,\n maxPayload\n );\n\n this._sender = new Sender(socket, this._extensions);\n this._receiver = receiver;\n this._socket = socket;\n\n receiver[kWebSocket] = this;\n socket[kWebSocket] = this;\n\n receiver.on('conclude', receiverOnConclude);\n receiver.on('drain', receiverOnDrain);\n receiver.on('error', receiverOnError);\n receiver.on('message', receiverOnMessage);\n receiver.on('ping', receiverOnPing);\n receiver.on('pong', receiverOnPong);\n\n socket.setTimeout(0);\n socket.setNoDelay();\n\n if (head.length > 0) socket.unshift(head);\n\n socket.on('close', socketOnClose);\n socket.on('data', socketOnData);\n socket.on('end', socketOnEnd);\n socket.on('error', socketOnError);\n\n this.readyState = WebSocket.OPEN;\n this.emit('open');\n }\n\n /**\n * Emit the `'close'` event.\n *\n * @private\n */\n emitClose () {\n this.readyState = WebSocket.CLOSED;\n\n if (!this._socket) {\n this.emit('close', this._closeCode, this._closeMessage);\n return;\n }\n\n if (this._extensions[PerMessageDeflate.extensionName]) {\n this._extensions[PerMessageDeflate.extensionName].cleanup();\n }\n\n this._receiver.removeAllListeners();\n this.emit('close', this._closeCode, this._closeMessage);\n }\n\n /**\n * Start a closing handshake.\n *\n * +----------+ +-----------+ +----------+\n * - - -|ws.close()|-->|close frame|-->|ws.close()|- - -\n * | +----------+ +-----------+ +----------+ |\n * +----------+ +-----------+ |\n * CLOSING |ws.close()|<--|close frame|<--+-----+ CLOSING\n * +----------+ +-----------+ |\n * | | | +---+ |\n * +------------------------+-->|fin| - - - -\n * | +---+ | +---+\n * - - - - -|fin|<---------------------+\n * +---+\n *\n * @param {Number} code Status code explaining why the connection is closing\n * @param {String} data A string explaining why the connection is closing\n * @public\n */\n close (code, data) {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this.readyState === WebSocket.CLOSING) {\n if (this._closeFrameSent && this._closeFrameReceived) this._socket.end();\n return;\n }\n\n this.readyState = WebSocket.CLOSING;\n this._sender.close(code, data, !this._isServer, (err) => {\n //\n // This error is handled by the `'error'` listener on the socket. We only\n // want to know if the close frame has been sent here.\n //\n if (err) return;\n\n this._closeFrameSent = true;\n\n if (this._socket.writable) {\n if (this._closeFrameReceived) this._socket.end();\n\n //\n // Ensure that the connection is closed even if the closing handshake\n // fails.\n //\n this._closeTimer = setTimeout(\n this._socket.destroy.bind(this._socket),\n closeTimeout\n );\n }\n });\n }\n\n /**\n * Send a ping.\n *\n * @param {*} data The data to send\n * @param {Boolean} mask Indicates whether or not to mask `data`\n * @param {Function} cb Callback which is executed when the ping is sent\n * @public\n */\n ping (data, mask, cb) {\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n if (mask === undefined) mask = !this._isServer;\n this._sender.ping(data || constants.EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a pong.\n *\n * @param {*} data The data to send\n * @param {Boolean} mask Indicates whether or not to mask `data`\n * @param {Function} cb Callback which is executed when the pong is sent\n * @public\n */\n pong (data, mask, cb) {\n if (typeof data === 'function') {\n cb = data;\n data = mask = undefined;\n } else if (typeof mask === 'function') {\n cb = mask;\n mask = undefined;\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n if (mask === undefined) mask = !this._isServer;\n this._sender.pong(data || constants.EMPTY_BUFFER, mask, cb);\n }\n\n /**\n * Send a data message.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} options.compress Specifies whether or not to compress `data`\n * @param {Boolean} options.binary Specifies whether `data` is binary or text\n * @param {Boolean} options.fin Specifies whether the fragment is the last one\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback which is executed when data is written out\n * @public\n */\n send (data, options, cb) {\n if (typeof options === 'function') {\n cb = options;\n options = {};\n }\n\n if (this.readyState !== WebSocket.OPEN) {\n const err = new Error(\n `WebSocket is not open: readyState ${this.readyState} ` +\n `(${readyStates[this.readyState]})`\n );\n\n if (cb) return cb(err);\n throw err;\n }\n\n if (typeof data === 'number') data = data.toString();\n\n const opts = Object.assign({\n binary: typeof data !== 'string',\n mask: !this._isServer,\n compress: true,\n fin: true\n }, options);\n\n if (!this._extensions[PerMessageDeflate.extensionName]) {\n opts.compress = false;\n }\n\n this._sender.send(data || constants.EMPTY_BUFFER, opts, cb);\n }\n\n /**\n * Forcibly close the connection.\n *\n * @public\n */\n terminate () {\n if (this.readyState === WebSocket.CLOSED) return;\n if (this.readyState === WebSocket.CONNECTING) {\n const msg = 'WebSocket was closed before the connection was established';\n return abortHandshake(this, this._req, msg);\n }\n\n if (this._socket) {\n this.readyState = WebSocket.CLOSING;\n this._socket.destroy();\n }\n }\n}\n\nreadyStates.forEach((readyState, i) => {\n WebSocket[readyStates[i]] = i;\n});\n\n//\n// Add the `onopen`, `onerror`, `onclose`, and `onmessage` attributes.\n// See https://html.spec.whatwg.org/multipage/comms.html#the-websocket-interface\n//\n['open', 'error', 'close', 'message'].forEach((method) => {\n Object.defineProperty(WebSocket.prototype, `on${method}`, {\n /**\n * Return the listener of the event.\n *\n * @return {(Function|undefined)} The event listener or `undefined`\n * @public\n */\n get () {\n const listeners = this.listeners(method);\n for (var i = 0; i < listeners.length; i++) {\n if (listeners[i]._listener) return listeners[i]._listener;\n }\n },\n /**\n * Add a listener for the event.\n *\n * @param {Function} listener The listener to add\n * @public\n */\n set (listener) {\n const listeners = this.listeners(method);\n for (var i = 0; i < listeners.length; i++) {\n //\n // Remove only the listeners added via `addEventListener`.\n //\n if (listeners[i]._listener) this.removeListener(method, listeners[i]);\n }\n this.addEventListener(method, listener);\n }\n });\n});\n\nWebSocket.prototype.addEventListener = EventTarget.addEventListener;\nWebSocket.prototype.removeEventListener = EventTarget.removeEventListener;\n\nmodule.exports = WebSocket;\n\n/**\n * Initialize a WebSocket client.\n *\n * @param {(String|url.Url|url.URL)} address The URL to which to connect\n * @param {String} protocols The subprotocols\n * @param {Object} options Connection options\n * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate\n * @param {Number} options.handshakeTimeout Timeout in milliseconds for the handshake request\n * @param {Number} options.protocolVersion Value of the `Sec-WebSocket-Version` header\n * @param {String} options.origin Value of the `Origin` or `Sec-WebSocket-Origin` header\n * @private\n */\nfunction initAsClient (address, protocols, options) {\n options = Object.assign({\n protocolVersion: protocolVersions[1],\n perMessageDeflate: true\n }, options, {\n createConnection: undefined,\n socketPath: undefined,\n hostname: undefined,\n protocol: undefined,\n timeout: undefined,\n method: undefined,\n auth: undefined,\n host: undefined,\n path: undefined,\n port: undefined\n });\n\n if (protocolVersions.indexOf(options.protocolVersion) === -1) {\n throw new RangeError(\n `Unsupported protocol version: ${options.protocolVersion} ` +\n `(supported versions: ${protocolVersions.join(', ')})`\n );\n }\n\n this._isServer = false;\n\n var parsedUrl;\n\n if (typeof address === 'object' && address.href !== undefined) {\n parsedUrl = address;\n this.url = address.href;\n } else {\n parsedUrl = url.parse(address);\n this.url = address;\n }\n\n const isUnixSocket = parsedUrl.protocol === 'ws+unix:';\n\n if (!parsedUrl.host && (!isUnixSocket || !parsedUrl.pathname)) {\n throw new Error(`Invalid URL: ${this.url}`);\n }\n\n const isSecure = parsedUrl.protocol === 'wss:' || parsedUrl.protocol === 'https:';\n const key = crypto.randomBytes(16).toString('base64');\n const httpObj = isSecure ? https : http;\n const path = parsedUrl.search\n ? `${parsedUrl.pathname || '/'}${parsedUrl.search}`\n : parsedUrl.pathname || '/';\n var perMessageDeflate;\n\n options.createConnection = isSecure ? tlsConnect : netConnect;\n options.port = parsedUrl.port || (isSecure ? 443 : 80);\n options.host = parsedUrl.hostname;\n options.headers = Object.assign({\n 'Sec-WebSocket-Version': options.protocolVersion,\n 'Sec-WebSocket-Key': key,\n 'Connection': 'Upgrade',\n 'Upgrade': 'websocket'\n }, options.headers);\n options.path = path;\n\n if (options.perMessageDeflate) {\n perMessageDeflate = new PerMessageDeflate(\n options.perMessageDeflate !== true ? options.perMessageDeflate : {},\n false\n );\n options.headers['Sec-WebSocket-Extensions'] = extension.format({\n [PerMessageDeflate.extensionName]: perMessageDeflate.offer()\n });\n }\n if (protocols) {\n options.headers['Sec-WebSocket-Protocol'] = protocols;\n }\n if (options.origin) {\n if (options.protocolVersion < 13) {\n options.headers['Sec-WebSocket-Origin'] = options.origin;\n } else {\n options.headers.Origin = options.origin;\n }\n }\n if (parsedUrl.auth) {\n options.auth = parsedUrl.auth;\n } else if (parsedUrl.username || parsedUrl.password) {\n options.auth = `${parsedUrl.username}:${parsedUrl.password}`;\n }\n\n if (isUnixSocket) {\n const parts = path.split(':');\n\n if (options.agent == null && process.versions.modules < 57) {\n //\n // Setting `socketPath` in conjunction with `createConnection` without an\n // agent throws an error on Node.js < 8. Work around the issue by using a\n // different property.\n //\n options._socketPath = parts[0];\n } else {\n options.socketPath = parts[0];\n }\n\n options.path = parts[1];\n }\n\n var req = this._req = httpObj.get(options);\n\n if (options.handshakeTimeout) {\n req.setTimeout(\n options.handshakeTimeout,\n abortHandshake.bind(null, this, req, 'Opening handshake has timed out')\n );\n }\n\n req.on('error', (err) => {\n if (this._req.aborted) return;\n\n req = this._req = null;\n this.readyState = WebSocket.CLOSING;\n this.emit('error', err);\n this.emitClose();\n });\n\n req.on('response', (res) => {\n if (this.emit('unexpected-response', req, res)) return;\n\n abortHandshake(this, req, `Unexpected server response: ${res.statusCode}`);\n });\n\n req.on('upgrade', (res, socket, head) => {\n this.emit('upgrade', res);\n\n //\n // The user may have closed the connection from a listener of the `upgrade`\n // event.\n //\n if (this.readyState !== WebSocket.CONNECTING) return;\n\n req = this._req = null;\n\n const digest = crypto.createHash('sha1')\n .update(key + constants.GUID, 'binary')\n .digest('base64');\n\n if (res.headers['sec-websocket-accept'] !== digest) {\n abortHandshake(this, socket, 'Invalid Sec-WebSocket-Accept header');\n return;\n }\n\n const serverProt = res.headers['sec-websocket-protocol'];\n const protList = (protocols || '').split(/, */);\n var protError;\n\n if (!protocols && serverProt) {\n protError = 'Server sent a subprotocol but none was requested';\n } else if (protocols && !serverProt) {\n protError = 'Server sent no subprotocol';\n } else if (serverProt && protList.indexOf(serverProt) === -1) {\n protError = 'Server sent an invalid subprotocol';\n }\n\n if (protError) {\n abortHandshake(this, socket, protError);\n return;\n }\n\n if (serverProt) this.protocol = serverProt;\n\n if (perMessageDeflate) {\n try {\n const extensions = extension.parse(\n res.headers['sec-websocket-extensions']\n );\n\n if (extensions[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(\n extensions[PerMessageDeflate.extensionName]\n );\n this._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n abortHandshake(this, socket, 'Invalid Sec-WebSocket-Extensions header');\n return;\n }\n }\n\n this.setSocket(socket, head, 0);\n });\n}\n\n/**\n * Create a `net.Socket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {net.Socket} The newly created socket used to start the connection\n * @private\n */\nfunction netConnect (options) {\n options.path = options.socketPath || options._socketPath || undefined;\n return net.connect(options);\n}\n\n/**\n * Create a `tls.TLSSocket` and initiate a connection.\n *\n * @param {Object} options Connection options\n * @return {tls.TLSSocket} The newly created socket used to start the connection\n * @private\n */\nfunction tlsConnect (options) {\n options.path = options.socketPath || options._socketPath || undefined;\n return tls.connect(options);\n}\n\n/**\n * Abort the handshake and emit an error.\n *\n * @param {WebSocket} websocket The WebSocket instance\n * @param {(http.ClientRequest|net.Socket)} stream The request to abort or the\n * socket to destroy\n * @param {String} message The error message\n * @private\n */\nfunction abortHandshake (websocket, stream, message) {\n websocket.readyState = WebSocket.CLOSING;\n\n const err = new Error(message);\n Error.captureStackTrace(err, abortHandshake);\n\n if (stream.setHeader) {\n stream.abort();\n stream.once('abort', websocket.emitClose.bind(websocket));\n websocket.emit('error', err);\n } else {\n stream.destroy(err);\n stream.once('error', websocket.emit.bind(websocket, 'error'));\n stream.once('close', websocket.emitClose.bind(websocket));\n }\n}\n\n/**\n * The listener of the `Receiver` `'conclude'` event.\n *\n * @param {Number} code The status code\n * @param {String} reason The reason for closing\n * @private\n */\nfunction receiverOnConclude (code, reason) {\n const websocket = this[kWebSocket];\n\n websocket._socket.removeListener('data', socketOnData);\n websocket._socket.resume();\n\n websocket._closeFrameReceived = true;\n websocket._closeMessage = reason;\n websocket._closeCode = code;\n\n if (code === 1005) websocket.close();\n else websocket.close(code, reason);\n}\n\n/**\n * The listener of the `Receiver` `'drain'` event.\n *\n * @private\n */\nfunction receiverOnDrain () {\n this[kWebSocket]._socket.resume();\n}\n\n/**\n * The listener of the `Receiver` `'error'` event.\n *\n * @param {(RangeError|Error)} err The emitted error\n * @private\n */\nfunction receiverOnError (err) {\n const websocket = this[kWebSocket];\n\n websocket.readyState = WebSocket.CLOSING;\n websocket._closeCode = err[constants.kStatusCode];\n websocket.emit('error', err);\n websocket._socket.destroy();\n}\n\n/**\n * The listener of the `Receiver` `'finish'` event.\n *\n * @private\n */\nfunction receiverOnFinish () {\n this[kWebSocket].emitClose();\n}\n\n/**\n * The listener of the `Receiver` `'message'` event.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The message\n * @private\n */\nfunction receiverOnMessage (data) {\n this[kWebSocket].emit('message', data);\n}\n\n/**\n * The listener of the `Receiver` `'ping'` event.\n *\n * @param {Buffer} data The data included in the ping frame\n * @private\n */\nfunction receiverOnPing (data) {\n const websocket = this[kWebSocket];\n\n websocket.pong(data, !websocket._isServer, constants.NOOP);\n websocket.emit('ping', data);\n}\n\n/**\n * The listener of the `Receiver` `'pong'` event.\n *\n * @param {Buffer} data The data included in the pong frame\n * @private\n */\nfunction receiverOnPong (data) {\n this[kWebSocket].emit('pong', data);\n}\n\n/**\n * The listener of the `net.Socket` `'close'` event.\n *\n * @private\n */\nfunction socketOnClose () {\n const websocket = this[kWebSocket];\n\n this.removeListener('close', socketOnClose);\n this.removeListener('data', socketOnData);\n this.removeListener('end', socketOnEnd);\n this[kWebSocket] = undefined;\n\n websocket.readyState = WebSocket.CLOSING;\n\n //\n // The close frame might not have been received or the `'end'` event emitted,\n // for example, if the socket was destroyed due to an error. Ensure that the\n // `receiver` stream is closed after writing any remaining buffered data to\n // it.\n //\n websocket._socket.read();\n websocket._receiver.end();\n\n clearTimeout(websocket._closeTimer);\n\n if (\n websocket._receiver._writableState.finished ||\n websocket._receiver._writableState.errorEmitted\n ) {\n websocket.emitClose();\n } else {\n websocket._receiver.on('error', receiverOnFinish);\n websocket._receiver.on('finish', receiverOnFinish);\n }\n}\n\n/**\n * The listener of the `net.Socket` `'data'` event.\n *\n * @param {Buffer} chunk A chunk of data\n * @private\n */\nfunction socketOnData (chunk) {\n if (!this[kWebSocket]._receiver.write(chunk)) {\n this.pause();\n }\n}\n\n/**\n * The listener of the `net.Socket` `'end'` event.\n *\n * @private\n */\nfunction socketOnEnd () {\n const websocket = this[kWebSocket];\n\n websocket.readyState = WebSocket.CLOSING;\n websocket._receiver.end();\n this.end();\n}\n\n/**\n * The listener of the `net.Socket` `'error'` event.\n *\n * @private\n */\nfunction socketOnError () {\n const websocket = this[kWebSocket];\n\n this.removeListener('error', socketOnError);\n this.on('error', constants.NOOP);\n\n if (websocket) {\n websocket.readyState = WebSocket.CLOSING;\n this.destroy();\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/websocket.js\n// module id = 71\n// module chunks = 0","module.exports = require(\"events\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"events\"\n// module id = 72\n// module chunks = 0","module.exports = require(\"https\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"https\"\n// module id = 73\n// module chunks = 0","module.exports = require(\"zlib\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"zlib\"\n// module id = 74\n// module chunks = 0","'use strict';\n\n//\n// Allowed token characters:\n//\n// '!', '#', '$', '%', '&', ''', '*', '+', '-',\n// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'\n//\n// tokenChars[32] === 0 // ' '\n// tokenChars[33] === 1 // '!'\n// tokenChars[34] === 0 // '\"'\n// ...\n//\nconst tokenChars = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127\n];\n\n/**\n * Adds an offer to the map of extension offers or a parameter to the map of\n * parameters.\n *\n * @param {Object} dest The map of extension offers or parameters\n * @param {String} name The extension or parameter name\n * @param {(Object|Boolean|String)} elem The extension parameters or the\n * parameter value\n * @private\n */\nfunction push (dest, name, elem) {\n if (Object.prototype.hasOwnProperty.call(dest, name)) dest[name].push(elem);\n else dest[name] = [elem];\n}\n\n/**\n * Parses the `Sec-WebSocket-Extensions` header into an object.\n *\n * @param {String} header The field value of the header\n * @return {Object} The parsed object\n * @public\n */\nfunction parse (header) {\n const offers = {};\n\n if (header === undefined || header === '') return offers;\n\n var params = {};\n var mustUnescape = false;\n var isEscaping = false;\n var inQuotes = false;\n var extensionName;\n var paramName;\n var start = -1;\n var end = -1;\n\n for (var i = 0; i < header.length; i++) {\n const code = header.charCodeAt(i);\n\n if (extensionName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20/* ' ' */|| code === 0x09/* '\\t' */) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b/* ';' */ || code === 0x2c/* ',' */) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n const name = header.slice(start, end);\n if (code === 0x2c) {\n push(offers, name, params);\n params = {};\n } else {\n extensionName = name;\n }\n\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (paramName === undefined) {\n if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x20 || code === 0x09) {\n if (end === -1 && start !== -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n push(params, header.slice(start, end), true);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = {};\n extensionName = undefined;\n }\n\n start = end = -1;\n } else if (code === 0x3d/* '=' */&& start !== -1 && end === -1) {\n paramName = header.slice(start, i);\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else {\n //\n // The value of a quoted-string after unescaping must conform to the\n // token ABNF, so only token characters are valid.\n // Ref: https://tools.ietf.org/html/rfc6455#section-9.1\n //\n if (isEscaping) {\n if (tokenChars[code] !== 1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n if (start === -1) start = i;\n else if (!mustUnescape) mustUnescape = true;\n isEscaping = false;\n } else if (inQuotes) {\n if (tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (code === 0x22/* '\"' */ && start !== -1) {\n inQuotes = false;\n end = i;\n } else if (code === 0x5c/* '\\' */) {\n isEscaping = true;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n } else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {\n inQuotes = true;\n } else if (end === -1 && tokenChars[code] === 1) {\n if (start === -1) start = i;\n } else if (start !== -1 && (code === 0x20 || code === 0x09)) {\n if (end === -1) end = i;\n } else if (code === 0x3b || code === 0x2c) {\n if (start === -1) {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n\n if (end === -1) end = i;\n var value = header.slice(start, end);\n if (mustUnescape) {\n value = value.replace(/\\\\/g, '');\n mustUnescape = false;\n }\n push(params, paramName, value);\n if (code === 0x2c) {\n push(offers, extensionName, params);\n params = {};\n extensionName = undefined;\n }\n\n paramName = undefined;\n start = end = -1;\n } else {\n throw new SyntaxError(`Unexpected character at index ${i}`);\n }\n }\n }\n\n if (start === -1 || inQuotes) {\n throw new SyntaxError('Unexpected end of input');\n }\n\n if (end === -1) end = i;\n const token = header.slice(start, end);\n if (extensionName === undefined) {\n push(offers, token, {});\n } else {\n if (paramName === undefined) {\n push(params, token, true);\n } else if (mustUnescape) {\n push(params, paramName, token.replace(/\\\\/g, ''));\n } else {\n push(params, paramName, token);\n }\n push(offers, extensionName, params);\n }\n\n return offers;\n}\n\n/**\n * Builds the `Sec-WebSocket-Extensions` header field value.\n *\n * @param {Object} extensions The map of extensions and parameters to format\n * @return {String} A string representing the given object\n * @public\n */\nfunction format (extensions) {\n return Object.keys(extensions).map((extension) => {\n var configurations = extensions[extension];\n if (!Array.isArray(configurations)) configurations = [configurations];\n return configurations.map((params) => {\n return [extension].concat(Object.keys(params).map((k) => {\n var values = params[k];\n if (!Array.isArray(values)) values = [values];\n return values.map((v) => v === true ? k : `${k}=${v}`).join('; ');\n })).join('; ');\n }).join(', ');\n }).join(', ');\n}\n\nmodule.exports = { format, parse };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/extension.js\n// module id = 75\n// module chunks = 0","'use strict';\n\nconst stream = require('stream');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst bufferUtil = require('./buffer-util');\nconst validation = require('./validation');\nconst constants = require('./constants');\n\nconst GET_INFO = 0;\nconst GET_PAYLOAD_LENGTH_16 = 1;\nconst GET_PAYLOAD_LENGTH_64 = 2;\nconst GET_MASK = 3;\nconst GET_DATA = 4;\nconst INFLATING = 5;\n\n/**\n * HyBi Receiver implementation.\n *\n * @extends stream.Writable\n */\nclass Receiver extends stream.Writable {\n /**\n * Creates a Receiver instance.\n *\n * @param {String} binaryType The type for binary data\n * @param {Object} extensions An object containing the negotiated extensions\n * @param {Number} maxPayload The maximum allowed message length\n */\n constructor (binaryType, extensions, maxPayload) {\n super();\n\n this._binaryType = binaryType || constants.BINARY_TYPES[0];\n this[constants.kWebSocket] = undefined;\n this._extensions = extensions || {};\n this._maxPayload = maxPayload | 0;\n\n this._bufferedBytes = 0;\n this._buffers = [];\n\n this._compressed = false;\n this._payloadLength = 0;\n this._mask = undefined;\n this._fragmented = 0;\n this._masked = false;\n this._fin = false;\n this._opcode = 0;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragments = [];\n\n this._state = GET_INFO;\n this._loop = false;\n }\n\n /**\n * Implements `Writable.prototype._write()`.\n *\n * @param {Buffer} chunk The chunk of data to write\n * @param {String} encoding The character encoding of `chunk`\n * @param {Function} cb Callback\n */\n _write (chunk, encoding, cb) {\n if (this._opcode === 0x08) return cb();\n\n this._bufferedBytes += chunk.length;\n this._buffers.push(chunk);\n this.startLoop(cb);\n }\n\n /**\n * Consumes `n` bytes from the buffered data.\n *\n * @param {Number} n The number of bytes to consume\n * @return {Buffer} The consumed bytes\n * @private\n */\n consume (n) {\n this._bufferedBytes -= n;\n\n if (n === this._buffers[0].length) return this._buffers.shift();\n\n if (n < this._buffers[0].length) {\n const buf = this._buffers[0];\n this._buffers[0] = buf.slice(n);\n return buf.slice(0, n);\n }\n\n const dst = Buffer.allocUnsafe(n);\n\n do {\n const buf = this._buffers[0];\n\n if (n >= buf.length) {\n this._buffers.shift().copy(dst, dst.length - n);\n } else {\n buf.copy(dst, dst.length - n, 0, n);\n this._buffers[0] = buf.slice(n);\n }\n\n n -= buf.length;\n } while (n > 0);\n\n return dst;\n }\n\n /**\n * Starts the parsing loop.\n *\n * @param {Function} cb Callback\n * @private\n */\n startLoop (cb) {\n var err;\n this._loop = true;\n\n do {\n switch (this._state) {\n case GET_INFO:\n err = this.getInfo();\n break;\n case GET_PAYLOAD_LENGTH_16:\n err = this.getPayloadLength16();\n break;\n case GET_PAYLOAD_LENGTH_64:\n err = this.getPayloadLength64();\n break;\n case GET_MASK:\n this.getMask();\n break;\n case GET_DATA:\n err = this.getData(cb);\n break;\n default: // `INFLATING`\n this._loop = false;\n return;\n }\n } while (this._loop);\n\n cb(err);\n }\n\n /**\n * Reads the first two bytes of a frame.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getInfo () {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(2);\n\n if ((buf[0] & 0x30) !== 0x00) {\n this._loop = false;\n return error(RangeError, 'RSV2 and RSV3 must be clear', true, 1002);\n }\n\n const compressed = (buf[0] & 0x40) === 0x40;\n\n if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n this._fin = (buf[0] & 0x80) === 0x80;\n this._opcode = buf[0] & 0x0f;\n this._payloadLength = buf[1] & 0x7f;\n\n if (this._opcode === 0x00) {\n if (compressed) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n if (!this._fragmented) {\n this._loop = false;\n return error(RangeError, 'invalid opcode 0', true, 1002);\n }\n\n this._opcode = this._fragmented;\n } else if (this._opcode === 0x01 || this._opcode === 0x02) {\n if (this._fragmented) {\n this._loop = false;\n return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002);\n }\n\n this._compressed = compressed;\n } else if (this._opcode > 0x07 && this._opcode < 0x0b) {\n if (!this._fin) {\n this._loop = false;\n return error(RangeError, 'FIN must be set', true, 1002);\n }\n\n if (compressed) {\n this._loop = false;\n return error(RangeError, 'RSV1 must be clear', true, 1002);\n }\n\n if (this._payloadLength > 0x7d) {\n this._loop = false;\n return error(\n RangeError,\n `invalid payload length ${this._payloadLength}`,\n true,\n 1002\n );\n }\n } else {\n this._loop = false;\n return error(RangeError, `invalid opcode ${this._opcode}`, true, 1002);\n }\n\n if (!this._fin && !this._fragmented) this._fragmented = this._opcode;\n this._masked = (buf[1] & 0x80) === 0x80;\n\n if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;\n else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;\n else return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+16).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength16 () {\n if (this._bufferedBytes < 2) {\n this._loop = false;\n return;\n }\n\n this._payloadLength = this.consume(2).readUInt16BE(0);\n return this.haveLength();\n }\n\n /**\n * Gets extended payload length (7+64).\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n getPayloadLength64 () {\n if (this._bufferedBytes < 8) {\n this._loop = false;\n return;\n }\n\n const buf = this.consume(8);\n const num = buf.readUInt32BE(0);\n\n //\n // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned\n // if payload length is greater than this number.\n //\n if (num > Math.pow(2, 53 - 32) - 1) {\n this._loop = false;\n return error(\n RangeError,\n 'Unsupported WebSocket frame: payload length > 2^53 - 1',\n false,\n 1009\n );\n }\n\n this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);\n return this.haveLength();\n }\n\n /**\n * Payload length has been read.\n *\n * @return {(RangeError|undefined)} A possible error\n * @private\n */\n haveLength () {\n if (this._payloadLength && this._opcode < 0x08) {\n this._totalPayloadLength += this._payloadLength;\n if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {\n this._loop = false;\n return error(RangeError, 'Max payload size exceeded', false, 1009);\n }\n }\n\n if (this._masked) this._state = GET_MASK;\n else this._state = GET_DATA;\n }\n\n /**\n * Reads mask bytes.\n *\n * @private\n */\n getMask () {\n if (this._bufferedBytes < 4) {\n this._loop = false;\n return;\n }\n\n this._mask = this.consume(4);\n this._state = GET_DATA;\n }\n\n /**\n * Reads data bytes.\n *\n * @param {Function} cb Callback\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n getData (cb) {\n var data = constants.EMPTY_BUFFER;\n\n if (this._payloadLength) {\n if (this._bufferedBytes < this._payloadLength) {\n this._loop = false;\n return;\n }\n\n data = this.consume(this._payloadLength);\n if (this._masked) bufferUtil.unmask(data, this._mask);\n }\n\n if (this._opcode > 0x07) return this.controlMessage(data);\n\n if (this._compressed) {\n this._state = INFLATING;\n this.decompress(data, cb);\n return;\n }\n\n if (data.length) {\n //\n // This message is not compressed so its lenght is the sum of the payload\n // length of all fragments.\n //\n this._messageLength = this._totalPayloadLength;\n this._fragments.push(data);\n }\n\n return this.dataMessage();\n }\n\n /**\n * Decompresses data.\n *\n * @param {Buffer} data Compressed data\n * @param {Function} cb Callback\n * @private\n */\n decompress (data, cb) {\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n perMessageDeflate.decompress(data, this._fin, (err, buf) => {\n if (err) return cb(err);\n\n if (buf.length) {\n this._messageLength += buf.length;\n if (this._messageLength > this._maxPayload && this._maxPayload > 0) {\n return cb(error(RangeError, 'Max payload size exceeded', false, 1009));\n }\n\n this._fragments.push(buf);\n }\n\n const er = this.dataMessage();\n if (er) return cb(er);\n\n this.startLoop(cb);\n });\n }\n\n /**\n * Handles a data message.\n *\n * @return {(Error|undefined)} A possible error\n * @private\n */\n dataMessage () {\n if (this._fin) {\n const messageLength = this._messageLength;\n const fragments = this._fragments;\n\n this._totalPayloadLength = 0;\n this._messageLength = 0;\n this._fragmented = 0;\n this._fragments = [];\n\n if (this._opcode === 2) {\n var data;\n\n if (this._binaryType === 'nodebuffer') {\n data = toBuffer(fragments, messageLength);\n } else if (this._binaryType === 'arraybuffer') {\n data = toArrayBuffer(toBuffer(fragments, messageLength));\n } else {\n data = fragments;\n }\n\n this.emit('message', data);\n } else {\n const buf = toBuffer(fragments, messageLength);\n\n if (!validation.isValidUTF8(buf)) {\n this._loop = false;\n return error(Error, 'invalid UTF-8 sequence', true, 1007);\n }\n\n this.emit('message', buf.toString());\n }\n }\n\n this._state = GET_INFO;\n }\n\n /**\n * Handles a control message.\n *\n * @param {Buffer} data Data to handle\n * @return {(Error|RangeError|undefined)} A possible error\n * @private\n */\n controlMessage (data) {\n if (this._opcode === 0x08) {\n this._loop = false;\n\n if (data.length === 0) {\n this.emit('conclude', 1005, '');\n this.end();\n } else if (data.length === 1) {\n return error(RangeError, 'invalid payload length 1', true, 1002);\n } else {\n const code = data.readUInt16BE(0);\n\n if (!validation.isValidStatusCode(code)) {\n return error(RangeError, `invalid status code ${code}`, true, 1002);\n }\n\n const buf = data.slice(2);\n\n if (!validation.isValidUTF8(buf)) {\n return error(Error, 'invalid UTF-8 sequence', true, 1007);\n }\n\n this.emit('conclude', code, buf.toString());\n this.end();\n }\n\n return;\n }\n\n if (this._opcode === 0x09) this.emit('ping', data);\n else this.emit('pong', data);\n\n this._state = GET_INFO;\n }\n}\n\nmodule.exports = Receiver;\n\n/**\n * Builds an error object.\n *\n * @param {(Error|RangeError)} ErrorCtor The error constructor\n * @param {String} message The error message\n * @param {Boolean} prefix Specifies whether or not to add a default prefix to\n * `message`\n * @param {Number} statusCode The status code\n * @return {(Error|RangeError)} The error\n * @private\n */\nfunction error (ErrorCtor, message, prefix, statusCode) {\n const err = new ErrorCtor(\n prefix ? `Invalid WebSocket frame: ${message}` : message\n );\n\n Error.captureStackTrace(err, error);\n err[constants.kStatusCode] = statusCode;\n return err;\n}\n\n/**\n * Makes a buffer from a list of fragments.\n *\n * @param {Buffer[]} fragments The list of fragments composing the message\n * @param {Number} messageLength The length of the message\n * @return {Buffer}\n * @private\n */\nfunction toBuffer (fragments, messageLength) {\n if (fragments.length === 1) return fragments[0];\n if (fragments.length > 1) return bufferUtil.concat(fragments, messageLength);\n return constants.EMPTY_BUFFER;\n}\n\n/**\n * Converts a buffer to an `ArrayBuffer`.\n *\n * @param {Buffer} The buffer to convert\n * @return {ArrayBuffer} Converted buffer\n */\nfunction toArrayBuffer (buf) {\n if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {\n return buf.buffer;\n }\n\n return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/receiver.js\n// module id = 76\n// module chunks = 0","'use strict';\n\ntry {\n const isValidUTF8 = require('utf-8-validate');\n\n exports.isValidUTF8 = typeof isValidUTF8 === 'object'\n ? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0\n : isValidUTF8;\n} catch (e) /* istanbul ignore next */ {\n exports.isValidUTF8 = () => true;\n}\n\n/**\n * Checks if a status code is allowed in a close frame.\n *\n * @param {Number} code The status code\n * @return {Boolean} `true` if the status code is valid, else `false`\n * @public\n */\nexports.isValidStatusCode = (code) => {\n return (\n (code >= 1000 &&\n code <= 1013 &&\n code !== 1004 &&\n code !== 1005 &&\n code !== 1006) ||\n (code >= 3000 && code <= 4999)\n );\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/validation.js\n// module id = 77\n// module chunks = 0","'use strict';\n\nconst crypto = require('crypto');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst bufferUtil = require('./buffer-util');\nconst validation = require('./validation');\nconst constants = require('./constants');\n\n/**\n * HyBi Sender implementation.\n */\nclass Sender {\n /**\n * Creates a Sender instance.\n *\n * @param {net.Socket} socket The connection socket\n * @param {Object} extensions An object containing the negotiated extensions\n */\n constructor (socket, extensions) {\n this._extensions = extensions || {};\n this._socket = socket;\n\n this._firstFragment = true;\n this._compress = false;\n\n this._bufferedBytes = 0;\n this._deflating = false;\n this._queue = [];\n }\n\n /**\n * Frames a piece of data according to the HyBi WebSocket protocol.\n *\n * @param {Buffer} data The data to frame\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} options.readOnly Specifies whether `data` can be modified\n * @param {Boolean} options.fin Specifies whether or not to set the FIN bit\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit\n * @return {Buffer[]} The framed data as a list of `Buffer` instances\n * @public\n */\n static frame (data, options) {\n const merge = data.length < 1024 || (options.mask && options.readOnly);\n var offset = options.mask ? 6 : 2;\n var payloadLength = data.length;\n\n if (data.length >= 65536) {\n offset += 8;\n payloadLength = 127;\n } else if (data.length > 125) {\n offset += 2;\n payloadLength = 126;\n }\n\n const target = Buffer.allocUnsafe(merge ? data.length + offset : offset);\n\n target[0] = options.fin ? options.opcode | 0x80 : options.opcode;\n if (options.rsv1) target[0] |= 0x40;\n\n if (payloadLength === 126) {\n target.writeUInt16BE(data.length, 2);\n } else if (payloadLength === 127) {\n target.writeUInt32BE(0, 2);\n target.writeUInt32BE(data.length, 6);\n }\n\n if (!options.mask) {\n target[1] = payloadLength;\n if (merge) {\n data.copy(target, offset);\n return [target];\n }\n\n return [target, data];\n }\n\n const mask = crypto.randomBytes(4);\n\n target[1] = payloadLength | 0x80;\n target[offset - 4] = mask[0];\n target[offset - 3] = mask[1];\n target[offset - 2] = mask[2];\n target[offset - 1] = mask[3];\n\n if (merge) {\n bufferUtil.mask(data, mask, target, offset, data.length);\n return [target];\n }\n\n bufferUtil.mask(data, mask, data, 0, data.length);\n return [target, data];\n }\n\n /**\n * Sends a close message to the other peer.\n *\n * @param {(Number|undefined)} code The status code component of the body\n * @param {String} data The message component of the body\n * @param {Boolean} mask Specifies whether or not to mask the message\n * @param {Function} cb Callback\n * @public\n */\n close (code, data, mask, cb) {\n var buf;\n\n if (code === undefined) {\n buf = constants.EMPTY_BUFFER;\n } else if (typeof code !== 'number' || !validation.isValidStatusCode(code)) {\n throw new TypeError('First argument must be a valid error code number');\n } else if (data === undefined || data === '') {\n buf = Buffer.allocUnsafe(2);\n buf.writeUInt16BE(code, 0);\n } else {\n buf = Buffer.allocUnsafe(2 + Buffer.byteLength(data));\n buf.writeUInt16BE(code, 0);\n buf.write(data, 2);\n }\n\n if (this._deflating) {\n this.enqueue([this.doClose, buf, mask, cb]);\n } else {\n this.doClose(buf, mask, cb);\n }\n }\n\n /**\n * Frames and sends a close message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @private\n */\n doClose (data, mask, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x08,\n mask,\n readOnly: false\n }), cb);\n }\n\n /**\n * Sends a ping message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n ping (data, mask, cb) {\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n if (this._deflating) {\n this.enqueue([this.doPing, data, mask, readOnly, cb]);\n } else {\n this.doPing(data, mask, readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a ping message.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Boolean} readOnly Specifies whether `data` can be modified\n * @param {Function} cb Callback\n * @private\n */\n doPing (data, mask, readOnly, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x09,\n mask,\n readOnly\n }), cb);\n }\n\n /**\n * Sends a pong message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n pong (data, mask, cb) {\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n if (this._deflating) {\n this.enqueue([this.doPong, data, mask, readOnly, cb]);\n } else {\n this.doPong(data, mask, readOnly, cb);\n }\n }\n\n /**\n * Frames and sends a pong message.\n *\n * @param {*} data The message to send\n * @param {Boolean} mask Specifies whether or not to mask `data`\n * @param {Boolean} readOnly Specifies whether `data` can be modified\n * @param {Function} cb Callback\n * @private\n */\n doPong (data, mask, readOnly, cb) {\n this.sendFrame(Sender.frame(data, {\n fin: true,\n rsv1: false,\n opcode: 0x0a,\n mask,\n readOnly\n }), cb);\n }\n\n /**\n * Sends a data message to the other peer.\n *\n * @param {*} data The message to send\n * @param {Object} options Options object\n * @param {Boolean} options.compress Specifies whether or not to compress `data`\n * @param {Boolean} options.binary Specifies whether `data` is binary or text\n * @param {Boolean} options.fin Specifies whether the fragment is the last one\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Function} cb Callback\n * @public\n */\n send (data, options, cb) {\n var opcode = options.binary ? 2 : 1;\n var rsv1 = options.compress;\n var readOnly = true;\n\n if (!Buffer.isBuffer(data)) {\n if (data instanceof ArrayBuffer) {\n data = Buffer.from(data);\n } else if (ArrayBuffer.isView(data)) {\n data = viewToBuffer(data);\n } else {\n data = Buffer.from(data);\n readOnly = false;\n }\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n if (this._firstFragment) {\n this._firstFragment = false;\n if (rsv1 && perMessageDeflate) {\n rsv1 = data.length >= perMessageDeflate._threshold;\n }\n this._compress = rsv1;\n } else {\n rsv1 = false;\n opcode = 0;\n }\n\n if (options.fin) this._firstFragment = true;\n\n if (perMessageDeflate) {\n const opts = {\n fin: options.fin,\n rsv1,\n opcode,\n mask: options.mask,\n readOnly\n };\n\n if (this._deflating) {\n this.enqueue([this.dispatch, data, this._compress, opts, cb]);\n } else {\n this.dispatch(data, this._compress, opts, cb);\n }\n } else {\n this.sendFrame(Sender.frame(data, {\n fin: options.fin,\n rsv1: false,\n opcode,\n mask: options.mask,\n readOnly\n }), cb);\n }\n }\n\n /**\n * Dispatches a data message.\n *\n * @param {Buffer} data The message to send\n * @param {Boolean} compress Specifies whether or not to compress `data`\n * @param {Object} options Options object\n * @param {Number} options.opcode The opcode\n * @param {Boolean} options.readOnly Specifies whether `data` can be modified\n * @param {Boolean} options.fin Specifies whether or not to set the FIN bit\n * @param {Boolean} options.mask Specifies whether or not to mask `data`\n * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit\n * @param {Function} cb Callback\n * @private\n */\n dispatch (data, compress, options, cb) {\n if (!compress) {\n this.sendFrame(Sender.frame(data, options), cb);\n return;\n }\n\n const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];\n\n this._deflating = true;\n perMessageDeflate.compress(data, options.fin, (_, buf) => {\n options.readOnly = false;\n this.sendFrame(Sender.frame(buf, options), cb);\n this._deflating = false;\n this.dequeue();\n });\n }\n\n /**\n * Executes queued send operations.\n *\n * @private\n */\n dequeue () {\n while (!this._deflating && this._queue.length) {\n const params = this._queue.shift();\n\n this._bufferedBytes -= params[1].length;\n params[0].apply(this, params.slice(1));\n }\n }\n\n /**\n * Enqueues a send operation.\n *\n * @param {Array} params Send operation parameters.\n * @private\n */\n enqueue (params) {\n this._bufferedBytes += params[1].length;\n this._queue.push(params);\n }\n\n /**\n * Sends a frame.\n *\n * @param {Buffer[]} list The frame to send\n * @param {Function} cb Callback\n * @private\n */\n sendFrame (list, cb) {\n if (list.length === 2) {\n this._socket.write(list[0]);\n this._socket.write(list[1], cb);\n } else {\n this._socket.write(list[0], cb);\n }\n }\n}\n\nmodule.exports = Sender;\n\n/**\n * Converts an `ArrayBuffer` view into a buffer.\n *\n * @param {(DataView|TypedArray)} view The view to convert\n * @return {Buffer} Converted view\n * @private\n */\nfunction viewToBuffer (view) {\n const buf = Buffer.from(view.buffer);\n\n if (view.byteLength !== view.buffer.byteLength) {\n return buf.slice(view.byteOffset, view.byteOffset + view.byteLength);\n }\n\n return buf;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/sender.js\n// module id = 78\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 79\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 80\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 81\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 82\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 83\n// module chunks = 0","import fetch from 'node-fetch'\nimport debug from 'debug'\n\nconst log = debug('StreamrClient:utils')\n\nexport async function authFetch(url, apiKey, opts = {}) {\n log('fetching: ', url, opts)\n\n let req = Object.assign({}, opts, {\n headers: apiKey ? {\n Authorization: 'token '+ apiKey\n } : undefined\n })\n\n let res = await fetch(url, req)\n\n let text = await res.text()\n\n if (res.ok && text.length) {\n try {\n return JSON.parse(text)\n } catch (err) {\n throw 'Failed to parse JSON response: '+text\n }\n } else if (res.ok) {\n return {}\n } else {\n throw 'Request to '+url+' returned with error code '+res.status+': '+text\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/utils.js","import StreamrClient from './StreamrClient'\nimport AllEndpoints from './rest/AllEndpoints'\n\n// Mixin the rest endpoints to the StreamrClient\nObject.assign(StreamrClient.prototype, AllEndpoints)\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 86\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 87\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 88\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 89\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 90\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n restUrl: 'https://www.streamr.com/api/v1',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n apiKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n\n // Backwards compatibility for option 'authKey' => 'apiKey'\n if (this.options.authKey && !this.options.apiKey) {\n this.options.apiKey = this.options.authKey\n }\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.apiKey || this.options.apiKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.apiKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.apiKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 92\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 93\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 94\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 95\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 96\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 97\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 98\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 99\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 100\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 101\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 102\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 103\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 104\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 105\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 106\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 107\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 108\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 109\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 110\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 111\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 112\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 113\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 114\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 115\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 116\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 117\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 118\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 119\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 120\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 121\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 122\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 123\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 124\n// module chunks = 0","/**\n * Module dependencies.\n */\n\nvar tty = require('tty');\nvar util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\n\n/**\n * Colors.\n */\n\nexports.colors = [ 6, 2, 3, 4, 5, 1 ];\n\ntry {\n var supportsColor = require('supports-color');\n if (supportsColor && supportsColor.level >= 2) {\n exports.colors = [\n 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68,\n 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134,\n 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,\n 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204,\n 205, 206, 207, 208, 209, 214, 215, 220, 221\n ];\n }\n} catch (err) {\n // swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(function (key) {\n return /^debug_/i.test(key);\n}).reduce(function (obj, key) {\n // camel-case\n var prop = key\n .substring(6)\n .toLowerCase()\n .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });\n\n // coerce string value into JS value\n var val = process.env[key];\n if (/^(yes|on|true|enabled)$/i.test(val)) val = true;\n else if (/^(no|off|false|disabled)$/i.test(val)) val = false;\n else if (val === 'null') val = null;\n else val = Number(val);\n\n obj[prop] = val;\n return obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n return 'colors' in exports.inspectOpts\n ? Boolean(exports.inspectOpts.colors)\n : tty.isatty(process.stderr.fd);\n}\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nexports.formatters.o = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts)\n .split('\\n').map(function(str) {\n return str.trim()\n }).join(' ');\n};\n\n/**\n * Map %o to `util.inspect()`, allowing multiple lines if needed.\n */\n\nexports.formatters.O = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts);\n};\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var name = this.namespace;\n var useColors = this.useColors;\n\n if (useColors) {\n var c = this.color;\n var colorCode = '\\u001b[3' + (c < 8 ? c : '8;5;' + c);\n var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\\u001b[0m';\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\\u001b[0m');\n } else {\n args[0] = getDate() + name + ' ' + args[0];\n }\n}\n\nfunction getDate() {\n if (exports.inspectOpts.hideDate) {\n return '';\n } else {\n return new Date().toISOString() + ' ';\n }\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log() {\n return process.stderr.write(util.format.apply(util, arguments) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n if (null == namespaces) {\n // If you set a process.env field to null or undefined, it gets cast to the\n // string 'null' or 'undefined'. Just delete instead.\n delete process.env.DEBUG;\n } else {\n process.env.DEBUG = namespaces;\n }\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n return process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init (debug) {\n debug.inspectOpts = {};\n\n var keys = Object.keys(exports.inspectOpts);\n for (var i = 0; i < keys.length; i++) {\n debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n }\n}\n\n/**\n * Enable namespaces listed in `process.env.DEBUG` initially.\n */\n\nexports.enable(load());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/node.js\n// module id = 125\n// module chunks = 0","module.exports = require(\"tty\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tty\"\n// module id = 126\n// module chunks = 0","module.exports = require(\"util\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"util\"\n// module id = 127\n// module chunks = 0","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nconst support = level => {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n};\n\nlet supportLevel = (() => {\n\tif (hasFlag('no-color') ||\n\t\thasFlag('no-colors') ||\n\t\thasFlag('color=false')) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (hasFlag('color') ||\n\t\thasFlag('colors') ||\n\t\thasFlag('color=true') ||\n\t\thasFlag('color=always')) {\n\t\treturn 1;\n\t}\n\n\tif (process.stdout && !process.stdout.isTTY) {\n\t\treturn 0;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Hyper':\n\t\t\t\treturn 3;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn 0;\n\t}\n\n\treturn 0;\n})();\n\nif ('FORCE_COLOR' in env) {\n\tsupportLevel = parseInt(env.FORCE_COLOR, 10) === 0 ? 0 : (supportLevel || 1);\n}\n\nmodule.exports = process && support(supportLevel);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/supports-color/index.js\n// module id = 128\n// module chunks = 0","module.exports = require(\"os\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"os\"\n// module id = 129\n// module chunks = 0","'use strict';\nmodule.exports = function (flag, argv) {\n\targv = argv || process.argv;\n\n\tvar terminatorPos = argv.indexOf('--');\n\tvar prefix = /^-{1,2}/.test(flag) ? '' : '--';\n\tvar pos = argv.indexOf(prefix + flag);\n\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/has-flag/index.js\n// module id = 130\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, apiKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.apiKey = apiKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 132\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js","'use strict';\n\nconst WebSocket = require('./lib/websocket');\n\nWebSocket.Server = require('./lib/websocket-server');\nWebSocket.Receiver = require('./lib/receiver');\nWebSocket.Sender = require('./lib/sender');\n\nmodule.exports = WebSocket;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/index.js\n// module id = 134\n// module chunks = 0","module.exports = require(\"net\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"net\"\n// module id = 135\n// module chunks = 0","module.exports = require(\"tls\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"tls\"\n// module id = 136\n// module chunks = 0","'use strict';\n\nfunction Queue(options) {\n if (!(this instanceof Queue)) {\n return new Queue(options);\n }\n\n options = options || {};\n this.concurrency = options.concurrency || Infinity;\n this.pending = 0;\n this.jobs = [];\n this.cbs = [];\n this._done = done.bind(this);\n}\n\nvar arrayAddMethods = [\n 'push',\n 'unshift',\n 'splice'\n];\n\narrayAddMethods.forEach(function(method) {\n Queue.prototype[method] = function() {\n var methodResult = Array.prototype[method].apply(this.jobs, arguments);\n this._run();\n return methodResult;\n };\n});\n\nObject.defineProperty(Queue.prototype, 'length', {\n get: function() {\n return this.pending + this.jobs.length;\n }\n});\n\nQueue.prototype._run = function() {\n if (this.pending === this.concurrency) {\n return;\n }\n if (this.jobs.length) {\n var job = this.jobs.shift();\n this.pending++;\n job(this._done);\n this._run();\n }\n\n if (this.pending === 0) {\n while (this.cbs.length !== 0) {\n var cb = this.cbs.pop();\n process.nextTick(cb);\n }\n }\n};\n\nQueue.prototype.onDone = function(cb) {\n if (typeof cb === 'function') {\n this.cbs.push(cb);\n this._run();\n }\n};\n\nfunction done() {\n this.pending--;\n this._run();\n}\n\nmodule.exports = Queue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/async-limiter/index.js\n// module id = 137\n// module chunks = 0","'use strict';\n\n/**\n * Class representing an event.\n *\n * @private\n */\nclass Event {\n /**\n * Create a new `Event`.\n *\n * @param {String} type The name of the event\n * @param {Object} target A reference to the target to which the event was dispatched\n */\n constructor (type, target) {\n this.target = target;\n this.type = type;\n }\n}\n\n/**\n * Class representing a message event.\n *\n * @extends Event\n * @private\n */\nclass MessageEvent extends Event {\n /**\n * Create a new `MessageEvent`.\n *\n * @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (data, target) {\n super('message', target);\n\n this.data = data;\n }\n}\n\n/**\n * Class representing a close event.\n *\n * @extends Event\n * @private\n */\nclass CloseEvent extends Event {\n /**\n * Create a new `CloseEvent`.\n *\n * @param {Number} code The status code explaining why the connection is being closed\n * @param {String} reason A human-readable string explaining why the connection is closing\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (code, reason, target) {\n super('close', target);\n\n this.wasClean = target._closeFrameReceived && target._closeFrameSent;\n this.reason = reason;\n this.code = code;\n }\n}\n\n/**\n * Class representing an open event.\n *\n * @extends Event\n * @private\n */\nclass OpenEvent extends Event {\n /**\n * Create a new `OpenEvent`.\n *\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (target) {\n super('open', target);\n }\n}\n\n/**\n * Class representing an error event.\n *\n * @extends Event\n * @private\n */\nclass ErrorEvent extends Event {\n /**\n * Create a new `ErrorEvent`.\n *\n * @param {Object} error The error that generated this event\n * @param {WebSocket} target A reference to the target to which the event was dispatched\n */\n constructor (error, target) {\n super('error', target);\n\n this.message = error.message;\n this.error = error;\n }\n}\n\n/**\n * This provides methods for emulating the `EventTarget` interface. It's not\n * meant to be used directly.\n *\n * @mixin\n */\nconst EventTarget = {\n /**\n * Register an event listener.\n *\n * @param {String} method A string representing the event type to listen for\n * @param {Function} listener The listener to add\n * @public\n */\n addEventListener (method, listener) {\n if (typeof listener !== 'function') return;\n\n function onMessage (data) {\n listener.call(this, new MessageEvent(data, this));\n }\n\n function onClose (code, message) {\n listener.call(this, new CloseEvent(code, message, this));\n }\n\n function onError (error) {\n listener.call(this, new ErrorEvent(error, this));\n }\n\n function onOpen () {\n listener.call(this, new OpenEvent(this));\n }\n\n if (method === 'message') {\n onMessage._listener = listener;\n this.on(method, onMessage);\n } else if (method === 'close') {\n onClose._listener = listener;\n this.on(method, onClose);\n } else if (method === 'error') {\n onError._listener = listener;\n this.on(method, onError);\n } else if (method === 'open') {\n onOpen._listener = listener;\n this.on(method, onOpen);\n } else {\n this.on(method, listener);\n }\n },\n\n /**\n * Remove an event listener.\n *\n * @param {String} method A string representing the event type to remove\n * @param {Function} listener The listener to remove\n * @public\n */\n removeEventListener (method, listener) {\n const listeners = this.listeners(method);\n\n for (var i = 0; i < listeners.length; i++) {\n if (listeners[i] === listener || listeners[i]._listener === listener) {\n this.removeListener(method, listeners[i]);\n }\n }\n }\n};\n\nmodule.exports = EventTarget;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/event-target.js\n// module id = 138\n// module chunks = 0","'use strict';\n\nconst EventEmitter = require('events');\nconst crypto = require('crypto');\nconst http = require('http');\nconst url = require('url');\n\nconst PerMessageDeflate = require('./permessage-deflate');\nconst extension = require('./extension');\nconst constants = require('./constants');\nconst WebSocket = require('./websocket');\n\n/**\n * Class representing a WebSocket server.\n *\n * @extends EventEmitter\n */\nclass WebSocketServer extends EventEmitter {\n /**\n * Create a `WebSocketServer` instance.\n *\n * @param {Object} options Configuration options\n * @param {String} options.host The hostname where to bind the server\n * @param {Number} options.port The port where to bind the server\n * @param {http.Server} options.server A pre-created HTTP/S server to use\n * @param {Function} options.verifyClient An hook to reject connections\n * @param {Function} options.handleProtocols An hook to handle protocols\n * @param {String} options.path Accept only connections matching this path\n * @param {Boolean} options.noServer Enable no server mode\n * @param {Boolean} options.clientTracking Specifies whether or not to track clients\n * @param {(Boolean|Object)} options.perMessageDeflate Enable/disable permessage-deflate\n * @param {Number} options.maxPayload The maximum allowed message size\n * @param {Function} callback A listener for the `listening` event\n */\n constructor (options, callback) {\n super();\n\n options = Object.assign({\n maxPayload: 100 * 1024 * 1024,\n perMessageDeflate: false,\n handleProtocols: null,\n clientTracking: true,\n verifyClient: null,\n noServer: false,\n backlog: null, // use default (511 as implemented in net.js)\n server: null,\n host: null,\n path: null,\n port: null\n }, options);\n\n if (options.port == null && !options.server && !options.noServer) {\n throw new TypeError(\n 'One of the \"port\", \"server\", or \"noServer\" options must be specified'\n );\n }\n\n if (options.port != null) {\n this._server = http.createServer((req, res) => {\n const body = http.STATUS_CODES[426];\n\n res.writeHead(426, {\n 'Content-Length': body.length,\n 'Content-Type': 'text/plain'\n });\n res.end(body);\n });\n this._server.listen(options.port, options.host, options.backlog, callback);\n } else if (options.server) {\n this._server = options.server;\n }\n\n if (this._server) {\n this._removeListeners = addListeners(this._server, {\n listening: this.emit.bind(this, 'listening'),\n error: this.emit.bind(this, 'error'),\n upgrade: (req, socket, head) => {\n this.handleUpgrade(req, socket, head, (ws) => {\n this.emit('connection', ws, req);\n });\n }\n });\n }\n\n if (options.perMessageDeflate === true) options.perMessageDeflate = {};\n if (options.clientTracking) this.clients = new Set();\n this.options = options;\n }\n\n /**\n * Returns the bound address, the address family name, and port of the server\n * as reported by the operating system if listening on an IP socket.\n * If the server is listening on a pipe or UNIX domain socket, the name is\n * returned as a string.\n *\n * @return {(Object|String|null)} The address of the server\n * @public\n */\n address () {\n if (this.options.noServer) {\n throw new Error('The server is operating in \"noServer\" mode');\n }\n\n if (!this._server) return null;\n return this._server.address();\n }\n\n /**\n * Close the server.\n *\n * @param {Function} cb Callback\n * @public\n */\n close (cb) {\n //\n // Terminate all associated clients.\n //\n if (this.clients) {\n for (const client of this.clients) client.terminate();\n }\n\n const server = this._server;\n\n if (server) {\n this._removeListeners();\n this._removeListeners = this._server = null;\n\n //\n // Close the http server if it was internally created.\n //\n if (this.options.port != null) return server.close(cb);\n }\n\n if (cb) cb();\n }\n\n /**\n * See if a given request should be handled by this server instance.\n *\n * @param {http.IncomingMessage} req Request object to inspect\n * @return {Boolean} `true` if the request is valid, else `false`\n * @public\n */\n shouldHandle (req) {\n if (this.options.path && url.parse(req.url).pathname !== this.options.path) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Handle a HTTP Upgrade request.\n *\n * @param {http.IncomingMessage} req The request object\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @public\n */\n handleUpgrade (req, socket, head, cb) {\n socket.on('error', socketOnError);\n\n const version = +req.headers['sec-websocket-version'];\n const extensions = {};\n\n if (\n req.method !== 'GET' || req.headers.upgrade.toLowerCase() !== 'websocket' ||\n !req.headers['sec-websocket-key'] || (version !== 8 && version !== 13) ||\n !this.shouldHandle(req)\n ) {\n return abortHandshake(socket, 400);\n }\n\n if (this.options.perMessageDeflate) {\n const perMessageDeflate = new PerMessageDeflate(\n this.options.perMessageDeflate,\n true,\n this.options.maxPayload\n );\n\n try {\n const offers = extension.parse(\n req.headers['sec-websocket-extensions']\n );\n\n if (offers[PerMessageDeflate.extensionName]) {\n perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);\n extensions[PerMessageDeflate.extensionName] = perMessageDeflate;\n }\n } catch (err) {\n return abortHandshake(socket, 400);\n }\n }\n\n //\n // Optionally call external client verification handler.\n //\n if (this.options.verifyClient) {\n const info = {\n origin: req.headers[`${version === 8 ? 'sec-websocket-origin' : 'origin'}`],\n secure: !!(req.connection.authorized || req.connection.encrypted),\n req\n };\n\n if (this.options.verifyClient.length === 2) {\n this.options.verifyClient(info, (verified, code, message) => {\n if (!verified) return abortHandshake(socket, code || 401, message);\n\n this.completeUpgrade(extensions, req, socket, head, cb);\n });\n return;\n }\n\n if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);\n }\n\n this.completeUpgrade(extensions, req, socket, head, cb);\n }\n\n /**\n * Upgrade the connection to WebSocket.\n *\n * @param {Object} extensions The accepted extensions\n * @param {http.IncomingMessage} req The request object\n * @param {net.Socket} socket The network socket between the server and client\n * @param {Buffer} head The first packet of the upgraded stream\n * @param {Function} cb Callback\n * @private\n */\n completeUpgrade (extensions, req, socket, head, cb) {\n //\n // Destroy the socket if the client has already sent a FIN packet.\n //\n if (!socket.readable || !socket.writable) return socket.destroy();\n\n const key = crypto.createHash('sha1')\n .update(req.headers['sec-websocket-key'] + constants.GUID, 'binary')\n .digest('base64');\n\n const headers = [\n 'HTTP/1.1 101 Switching Protocols',\n 'Upgrade: websocket',\n 'Connection: Upgrade',\n `Sec-WebSocket-Accept: ${key}`\n ];\n\n const ws = new WebSocket(null);\n var protocol = req.headers['sec-websocket-protocol'];\n\n if (protocol) {\n protocol = protocol.trim().split(/ *, */);\n\n //\n // Optionally call external protocol selection handler.\n //\n if (this.options.handleProtocols) {\n protocol = this.options.handleProtocols(protocol, req);\n } else {\n protocol = protocol[0];\n }\n\n if (protocol) {\n headers.push(`Sec-WebSocket-Protocol: ${protocol}`);\n ws.protocol = protocol;\n }\n }\n\n if (extensions[PerMessageDeflate.extensionName]) {\n const params = extensions[PerMessageDeflate.extensionName].params;\n const value = extension.format({\n [PerMessageDeflate.extensionName]: [params]\n });\n headers.push(`Sec-WebSocket-Extensions: ${value}`);\n ws._extensions = extensions;\n }\n\n //\n // Allow external modification/inspection of handshake headers.\n //\n this.emit('headers', headers, req);\n\n socket.write(headers.concat('\\r\\n').join('\\r\\n'));\n socket.removeListener('error', socketOnError);\n\n ws.setSocket(socket, head, this.options.maxPayload);\n\n if (this.clients) {\n this.clients.add(ws);\n ws.on('close', () => this.clients.delete(ws));\n }\n\n cb(ws);\n }\n}\n\nmodule.exports = WebSocketServer;\n\n/**\n * Add event listeners on an `EventEmitter` using a map of \n * pairs.\n *\n * @param {EventEmitter} server The event emitter\n * @param {Object.} map The listeners to add\n * @return {Function} A function that will remove the added listeners when called\n * @private\n */\nfunction addListeners (server, map) {\n for (const event of Object.keys(map)) server.on(event, map[event]);\n\n return function removeListeners () {\n for (const event of Object.keys(map)) {\n server.removeListener(event, map[event]);\n }\n };\n}\n\n/**\n * Handle premature socket errors.\n *\n * @private\n */\nfunction socketOnError () {\n this.destroy();\n}\n\n/**\n * Close the connection when preconditions are not fulfilled.\n *\n * @param {net.Socket} socket The socket of the upgrade request\n * @param {Number} code The HTTP response status code\n * @param {String} [message] The HTTP response body\n * @private\n */\nfunction abortHandshake (socket, code, message) {\n if (socket.writable) {\n message = message || http.STATUS_CODES[code];\n socket.write(\n `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\\r\\n` +\n 'Connection: close\\r\\n' +\n 'Content-type: text/html\\r\\n' +\n `Content-Length: ${Buffer.byteLength(message)}\\r\\n` +\n '\\r\\n' +\n message\n );\n }\n\n socket.removeListener('error', socketOnError);\n socket.destroy();\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ws/lib/websocket-server.js\n// module id = 139\n// module chunks = 0","import * as StreamEndpoints from './StreamEndpoints'\n\nlet endpoints = Object.assign({}, StreamEndpoints)\n\nexport default endpoints\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/AllEndpoints.js","import {stringify} from 'querystring'\nimport debug from 'debug'\n\nimport Stream from './domain/Stream'\nimport {authFetch} from './utils'\n\n// These function are mixed in to StreamrClient.prototype.\n// In the below functions, 'this' is intended to be the StreamrClient\n\nexport async function getStream(streamId, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams/' + streamId\n let json = await authFetch(url, apiKey)\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function listStreams(query = {}, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams?' + stringify(query)\n let json = await authFetch(url, apiKey)\n return json ? json.map((stream) => new Stream(this, stream)) : []\n}\n\nexport async function getStreamByName(name, apiKey = this.options.apiKey) {\n let json = await this.listStreams({\n name: name,\n public: false\n }, apiKey)\n return json[0] ? new Stream(this, json[0]) : undefined\n}\n\nexport async function createStream(props, apiKey = this.options.apiKey) {\n if (!props || !props.name) {\n throw 'Stream properties must contain a \"name\" field!'\n }\n\n let json = await authFetch(this.options.restUrl + '/streams',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify(props)\n })\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getOrCreateStream(props, apiKey = this.options.apiKey) {\n let json\n\n // Try looking up the stream by id or name, whichever is defined\n if (props.id) {\n json = await this.getStream(props.id, apiKey)\n } else if (props.name) {\n json = await this.getStreamByName(props.name, apiKey)\n }\n\n // If not found, try creating the stream\n if (!json) {\n json = await this.createStream(props, apiKey)\n debug('Created stream: %s (%s)', props.name, json.id)\n }\n\n // If still nothing, throw\n if (!json) {\n throw 'Unable to find or create stream: ' + props.name\n } else {\n return new Stream(this, json)\n }\n}\n\nexport function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) {\n if (streamId instanceof Stream) {\n streamId = streamId.id\n }\n\n // Send data to the stream\n return authFetch(this.options.restUrl + '/streams/' + streamId + '/data',\n apiKey,\n Object.assign({}, requestOptions, {\n method: 'POST',\n body: JSON.stringify(data)\n })\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/StreamEndpoints.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime-module.js\n// module id = 142\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 143\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 144\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 145\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 146\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 147\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 148\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 149\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 150\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 151\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 152\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 153\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 154\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 155\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 156\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 157\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 158\n// module chunks = 0","module.exports = require(\"querystring\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"querystring\"\n// module id = 159\n// module chunks = 0","import {authFetch} from '../utils'\n\nexport default class Stream {\n\n constructor(client, props) {\n this._client = client\n Object.assign(this, props)\n }\n\n async update(apiKey = this._client.options.apiKey) {\n let json = await authFetch(this._client.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'PUT',\n body: JSON.stringify(this)\n })\n return json ? new Stream(this._client, json) : undefined\n }\n\n delete(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'DELETE',\n })\n }\n\n getPermissions(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey)\n }\n\n async isPublic(apiKey = this._client.options.apiKey) {\n let permissions = await this.getPermissions(apiKey)\n return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined\n }\n\n makePublic(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n anonymous: true,\n operation: 'read'\n }),\n })\n }\n\n detectFields(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey)\n }\n\n produce(data, apiKey = this._client.options.apiKey, requestOptions = {}) {\n return this._client.produceToStream(this.id, data, apiKey, requestOptions)\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/domain/Stream.js","// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js\n// (MIT licensed)\n\nconst BUFFER = Symbol('buffer');\nconst TYPE = Symbol('type');\n\nclass Blob {\n\tconstructor() {\n\t\tthis[TYPE] = '';\n\n\t\tconst blobParts = arguments[0];\n\t\tconst options = arguments[1];\n\n\t\tconst buffers = [];\n\n\t\tif (blobParts) {\n\t\t\tconst a = blobParts;\n\t\t\tconst length = Number(a.length);\n\t\t\tfor (let i = 0; i < length; i++) {\n\t\t\t\tconst element = a[i];\n\t\t\t\tlet buffer;\n\t\t\t\tif (element instanceof Buffer) {\n\t\t\t\t\tbuffer = element;\n\t\t\t\t} else if (ArrayBuffer.isView(element)) {\n\t\t\t\t\tbuffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);\n\t\t\t\t} else if (element instanceof ArrayBuffer) {\n\t\t\t\t\tbuffer = Buffer.from(element);\n\t\t\t\t} else if (element instanceof Blob) {\n\t\t\t\t\tbuffer = element[BUFFER];\n\t\t\t\t} else {\n\t\t\t\t\tbuffer = Buffer.from(typeof element === 'string' ? element : String(element));\n\t\t\t\t}\n\t\t\t\tbuffers.push(buffer);\n\t\t\t}\n\t\t}\n\n\t\tthis[BUFFER] = Buffer.concat(buffers);\n\n\t\tlet type = options && options.type !== undefined && String(options.type).toLowerCase();\n\t\tif (type && !/[^\\u0020-\\u007E]/.test(type)) {\n\t\t\tthis[TYPE] = type;\n\t\t}\n\t}\n\tget size() {\n\t\treturn this[BUFFER].length;\n\t}\n\tget type() {\n\t\treturn this[TYPE];\n\t}\n\tslice() {\n\t\tconst size = this.size;\n\n\t\tconst start = arguments[0];\n\t\tconst end = arguments[1];\n\t\tlet relativeStart, relativeEnd;\n\t\tif (start === undefined) {\n\t\t\trelativeStart = 0;\n\t\t} else if (start < 0) {\n\t\t\trelativeStart = Math.max(size + start, 0);\n\t\t} else {\n\t\t\trelativeStart = Math.min(start, size);\n\t\t}\n\t\tif (end === undefined) {\n\t\t\trelativeEnd = size;\n\t\t} else if (end < 0) {\n\t\t\trelativeEnd = Math.max(size + end, 0);\n\t\t} else {\n\t\t\trelativeEnd = Math.min(end, size);\n\t\t}\n\t\tconst span = Math.max(relativeEnd - relativeStart, 0);\n\n\t\tconst buffer = this[BUFFER];\n\t\tconst slicedBuffer = buffer.slice(relativeStart, relativeStart + span);\n\t\tconst blob = new Blob([], { type: arguments[2] });\n\t\tblob[BUFFER] = slicedBuffer;\n\t\treturn blob;\n\t}\n}\n\nObject.defineProperties(Blob.prototype, {\n\tsize: { enumerable: true },\n\ttype: { enumerable: true },\n\tslice: { enumerable: true }\n});\n\nObject.defineProperty(Blob.prototype, Symbol.toStringTag, {\n\tvalue: 'Blob',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * fetch-error.js\n *\n * FetchError interface for operational errors\n */\n\n/**\n * Create FetchError instance\n *\n * @param String message Error message for human\n * @param String type Error type for machine\n * @param String systemError For Node.js system error\n * @return FetchError\n */\nfunction FetchError(message, type, systemError) {\n Error.call(this, message);\n\n this.message = message;\n this.type = type;\n\n // when err.type is `system`, err.code contains system error code\n if (systemError) {\n this.code = this.errno = systemError.code;\n }\n\n // hide custom error implementation details from end-users\n Error.captureStackTrace(this, this.constructor);\n}\n\nFetchError.prototype = Object.create(Error.prototype);\nFetchError.prototype.constructor = FetchError;\nFetchError.prototype.name = 'FetchError';\n\n/**\n * body.js\n *\n * Body interface provides common methods for Request and Response\n */\n\nconst Stream = require('stream');\n\nvar _require = require('stream');\n\nconst PassThrough = _require.PassThrough;\n\n\nlet convert;\ntry {\n\tconvert = require('encoding').convert;\n} catch (e) {}\n\nconst INTERNALS = Symbol('Body internals');\n\n/**\n * Body mixin\n *\n * Ref: https://fetch.spec.whatwg.org/#body\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nfunction Body(body) {\n\tvar _this = this;\n\n\tvar _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n\t _ref$size = _ref.size;\n\n\tlet size = _ref$size === undefined ? 0 : _ref$size;\n\tvar _ref$timeout = _ref.timeout;\n\tlet timeout = _ref$timeout === undefined ? 0 : _ref$timeout;\n\n\tif (body == null) {\n\t\t// body is undefined or null\n\t\tbody = null;\n\t} else if (typeof body === 'string') {\n\t\t// body is string\n\t} else if (isURLSearchParams(body)) {\n\t\t// body is a URLSearchParams\n\t} else if (body instanceof Blob) {\n\t\t// body is blob\n\t} else if (Buffer.isBuffer(body)) {\n\t\t// body is buffer\n\t} else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') {\n\t\t// body is array buffer\n\t} else if (body instanceof Stream) {\n\t\t// body is stream\n\t} else {\n\t\t// none of the above\n\t\t// coerce to string\n\t\tbody = String(body);\n\t}\n\tthis[INTERNALS] = {\n\t\tbody,\n\t\tdisturbed: false,\n\t\terror: null\n\t};\n\tthis.size = size;\n\tthis.timeout = timeout;\n\n\tif (body instanceof Stream) {\n\t\tbody.on('error', function (err) {\n\t\t\t_this[INTERNALS].error = new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err);\n\t\t});\n\t}\n}\n\nBody.prototype = {\n\tget body() {\n\t\treturn this[INTERNALS].body;\n\t},\n\n\tget bodyUsed() {\n\t\treturn this[INTERNALS].disturbed;\n\t},\n\n\t/**\n * Decode response as ArrayBuffer\n *\n * @return Promise\n */\n\tarrayBuffer() {\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);\n\t\t});\n\t},\n\n\t/**\n * Return raw response as Blob\n *\n * @return Promise\n */\n\tblob() {\n\t\tlet ct = this.headers && this.headers.get('content-type') || '';\n\t\treturn consumeBody.call(this).then(function (buf) {\n\t\t\treturn Object.assign(\n\t\t\t// Prevent copying\n\t\t\tnew Blob([], {\n\t\t\t\ttype: ct.toLowerCase()\n\t\t\t}), {\n\t\t\t\t[BUFFER]: buf\n\t\t\t});\n\t\t});\n\t},\n\n\t/**\n * Decode response as json\n *\n * @return Promise\n */\n\tjson() {\n\t\tvar _this2 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(buffer.toString());\n\t\t\t} catch (err) {\n\t\t\t\treturn Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json'));\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n * Decode response as text\n *\n * @return Promise\n */\n\ttext() {\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn buffer.toString();\n\t\t});\n\t},\n\n\t/**\n * Decode response as buffer (non-spec api)\n *\n * @return Promise\n */\n\tbuffer() {\n\t\treturn consumeBody.call(this);\n\t},\n\n\t/**\n * Decode response as text, while automatically detecting the encoding and\n * trying to decode to UTF-8 (non-spec api)\n *\n * @return Promise\n */\n\ttextConverted() {\n\t\tvar _this3 = this;\n\n\t\treturn consumeBody.call(this).then(function (buffer) {\n\t\t\treturn convertBody(buffer, _this3.headers);\n\t\t});\n\t}\n\n};\n\n// In browsers, all properties are enumerable.\nObject.defineProperties(Body.prototype, {\n\tbody: { enumerable: true },\n\tbodyUsed: { enumerable: true },\n\tarrayBuffer: { enumerable: true },\n\tblob: { enumerable: true },\n\tjson: { enumerable: true },\n\ttext: { enumerable: true }\n});\n\nBody.mixIn = function (proto) {\n\tfor (const name of Object.getOwnPropertyNames(Body.prototype)) {\n\t\t// istanbul ignore else: future proof\n\t\tif (!(name in proto)) {\n\t\t\tconst desc = Object.getOwnPropertyDescriptor(Body.prototype, name);\n\t\t\tObject.defineProperty(proto, name, desc);\n\t\t}\n\t}\n};\n\n/**\n * Consume and convert an entire Body to a Buffer.\n *\n * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body\n *\n * @return Promise\n */\nfunction consumeBody() {\n\tvar _this4 = this;\n\n\tif (this[INTERNALS].disturbed) {\n\t\treturn Body.Promise.reject(new TypeError(`body used already for: ${this.url}`));\n\t}\n\n\tthis[INTERNALS].disturbed = true;\n\n\tif (this[INTERNALS].error) {\n\t\treturn Body.Promise.reject(this[INTERNALS].error);\n\t}\n\n\t// body is null\n\tif (this.body === null) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is string\n\tif (typeof this.body === 'string') {\n\t\treturn Body.Promise.resolve(Buffer.from(this.body));\n\t}\n\n\t// body is blob\n\tif (this.body instanceof Blob) {\n\t\treturn Body.Promise.resolve(this.body[BUFFER]);\n\t}\n\n\t// body is buffer\n\tif (Buffer.isBuffer(this.body)) {\n\t\treturn Body.Promise.resolve(this.body);\n\t}\n\n\t// body is buffer\n\tif (Object.prototype.toString.call(this.body) === '[object ArrayBuffer]') {\n\t\treturn Body.Promise.resolve(Buffer.from(this.body));\n\t}\n\n\t// istanbul ignore if: should never happen\n\tif (!(this.body instanceof Stream)) {\n\t\treturn Body.Promise.resolve(Buffer.alloc(0));\n\t}\n\n\t// body is stream\n\t// get ready to actually consume the body\n\tlet accum = [];\n\tlet accumBytes = 0;\n\tlet abort = false;\n\n\treturn new Body.Promise(function (resolve, reject) {\n\t\tlet resTimeout;\n\n\t\t// allow timeout on slow response body\n\t\tif (_this4.timeout) {\n\t\t\tresTimeout = setTimeout(function () {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout'));\n\t\t\t}, _this4.timeout);\n\t\t}\n\n\t\t// handle stream error, such as incorrect content-encoding\n\t\t_this4.body.on('error', function (err) {\n\t\t\treject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err));\n\t\t});\n\n\t\t_this4.body.on('data', function (chunk) {\n\t\t\tif (abort || chunk === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (_this4.size && accumBytes + chunk.length > _this4.size) {\n\t\t\t\tabort = true;\n\t\t\t\treject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size'));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taccumBytes += chunk.length;\n\t\t\taccum.push(chunk);\n\t\t});\n\n\t\t_this4.body.on('end', function () {\n\t\t\tif (abort) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tclearTimeout(resTimeout);\n\n\t\t\ttry {\n\t\t\t\tresolve(Buffer.concat(accum));\n\t\t\t} catch (err) {\n\t\t\t\t// handle streams that have accumulated too much data (issue #414)\n\t\t\t\treject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err));\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Detect buffer encoding and convert to target encoding\n * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding\n *\n * @param Buffer buffer Incoming buffer\n * @param String encoding Target encoding\n * @return String\n */\nfunction convertBody(buffer, headers) {\n\tif (typeof convert !== 'function') {\n\t\tthrow new Error('The package `encoding` must be installed to use the textConverted() function');\n\t}\n\n\tconst ct = headers.get('content-type');\n\tlet charset = 'utf-8';\n\tlet res, str;\n\n\t// header\n\tif (ct) {\n\t\tres = /charset=([^;]*)/i.exec(ct);\n\t}\n\n\t// no charset in content type, peek at response body for at most 1024 bytes\n\tstr = buffer.slice(0, 1024).toString();\n\n\t// html5\n\tif (!res && str) {\n\t\tres = / 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n\t\tthis[MAP] = Object.create(null);\n\n\t\tif (init instanceof Headers) {\n\t\t\tconst rawHeaders = init.raw();\n\t\t\tconst headerNames = Object.keys(rawHeaders);\n\n\t\t\tfor (const headerName of headerNames) {\n\t\t\t\tfor (const value of rawHeaders[headerName]) {\n\t\t\t\t\tthis.append(headerName, value);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// We don't worry about converting prop to ByteString here as append()\n\t\t// will handle it.\n\t\tif (init == null) {\n\t\t\t// no op\n\t\t} else if (typeof init === 'object') {\n\t\t\tconst method = init[Symbol.iterator];\n\t\t\tif (method != null) {\n\t\t\t\tif (typeof method !== 'function') {\n\t\t\t\t\tthrow new TypeError('Header pairs must be iterable');\n\t\t\t\t}\n\n\t\t\t\t// sequence>\n\t\t\t\t// Note: per spec we have to first exhaust the lists then process them\n\t\t\t\tconst pairs = [];\n\t\t\t\tfor (const pair of init) {\n\t\t\t\t\tif (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be iterable');\n\t\t\t\t\t}\n\t\t\t\t\tpairs.push(Array.from(pair));\n\t\t\t\t}\n\n\t\t\t\tfor (const pair of pairs) {\n\t\t\t\t\tif (pair.length !== 2) {\n\t\t\t\t\t\tthrow new TypeError('Each header pair must be a name/value tuple');\n\t\t\t\t\t}\n\t\t\t\t\tthis.append(pair[0], pair[1]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// record\n\t\t\t\tfor (const key of Object.keys(init)) {\n\t\t\t\t\tconst value = init[key];\n\t\t\t\t\tthis.append(key, value);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new TypeError('Provided initializer must be an object');\n\t\t}\n\t}\n\n\t/**\n * Return combined header value given name\n *\n * @param String name Header name\n * @return Mixed\n */\n\tget(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this[MAP][key].join(', ');\n\t}\n\n\t/**\n * Iterate over all headers\n *\n * @param Function callback Executed for each item with parameters (value, name, thisArg)\n * @param Boolean thisArg `this` context for callback function\n * @return Void\n */\n\tforEach(callback) {\n\t\tlet thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n\t\tlet pairs = getHeaders(this);\n\t\tlet i = 0;\n\t\twhile (i < pairs.length) {\n\t\t\tvar _pairs$i = pairs[i];\n\t\t\tconst name = _pairs$i[0],\n\t\t\t value = _pairs$i[1];\n\n\t\t\tcallback.call(thisArg, value, name, this);\n\t\t\tpairs = getHeaders(this);\n\t\t\ti++;\n\t\t}\n\t}\n\n\t/**\n * Overwrite header values given name\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tset(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tthis[MAP][key !== undefined ? key : name] = [value];\n\t}\n\n\t/**\n * Append a value onto existing header\n *\n * @param String name Header name\n * @param String value Header value\n * @return Void\n */\n\tappend(name, value) {\n\t\tname = `${name}`;\n\t\tvalue = `${value}`;\n\t\tvalidateName(name);\n\t\tvalidateValue(value);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tthis[MAP][key].push(value);\n\t\t} else {\n\t\t\tthis[MAP][name] = [value];\n\t\t}\n\t}\n\n\t/**\n * Check for header name existence\n *\n * @param String name Header name\n * @return Boolean\n */\n\thas(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\treturn find(this[MAP], name) !== undefined;\n\t}\n\n\t/**\n * Delete all header values given name\n *\n * @param String name Header name\n * @return Void\n */\n\tdelete(name) {\n\t\tname = `${name}`;\n\t\tvalidateName(name);\n\t\tconst key = find(this[MAP], name);\n\t\tif (key !== undefined) {\n\t\t\tdelete this[MAP][key];\n\t\t}\n\t}\n\n\t/**\n * Return raw headers (non-spec api)\n *\n * @return Object\n */\n\traw() {\n\t\treturn this[MAP];\n\t}\n\n\t/**\n * Get an iterator on keys.\n *\n * @return Iterator\n */\n\tkeys() {\n\t\treturn createHeadersIterator(this, 'key');\n\t}\n\n\t/**\n * Get an iterator on values.\n *\n * @return Iterator\n */\n\tvalues() {\n\t\treturn createHeadersIterator(this, 'value');\n\t}\n\n\t/**\n * Get an iterator on entries.\n *\n * This is the default iterator of the Headers object.\n *\n * @return Iterator\n */\n\t[Symbol.iterator]() {\n\t\treturn createHeadersIterator(this, 'key+value');\n\t}\n}\nHeaders.prototype.entries = Headers.prototype[Symbol.iterator];\n\nObject.defineProperty(Headers.prototype, Symbol.toStringTag, {\n\tvalue: 'Headers',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Headers.prototype, {\n\tget: { enumerable: true },\n\tforEach: { enumerable: true },\n\tset: { enumerable: true },\n\tappend: { enumerable: true },\n\thas: { enumerable: true },\n\tdelete: { enumerable: true },\n\tkeys: { enumerable: true },\n\tvalues: { enumerable: true },\n\tentries: { enumerable: true }\n});\n\nfunction getHeaders(headers) {\n\tlet kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value';\n\n\tconst keys = Object.keys(headers[MAP]).sort();\n\treturn keys.map(kind === 'key' ? function (k) {\n\t\treturn k.toLowerCase();\n\t} : kind === 'value' ? function (k) {\n\t\treturn headers[MAP][k].join(', ');\n\t} : function (k) {\n\t\treturn [k.toLowerCase(), headers[MAP][k].join(', ')];\n\t});\n}\n\nconst INTERNAL = Symbol('internal');\n\nfunction createHeadersIterator(target, kind) {\n\tconst iterator = Object.create(HeadersIteratorPrototype);\n\titerator[INTERNAL] = {\n\t\ttarget,\n\t\tkind,\n\t\tindex: 0\n\t};\n\treturn iterator;\n}\n\nconst HeadersIteratorPrototype = Object.setPrototypeOf({\n\tnext() {\n\t\t// istanbul ignore if\n\t\tif (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) {\n\t\t\tthrow new TypeError('Value of `this` is not a HeadersIterator');\n\t\t}\n\n\t\tvar _INTERNAL = this[INTERNAL];\n\t\tconst target = _INTERNAL.target,\n\t\t kind = _INTERNAL.kind,\n\t\t index = _INTERNAL.index;\n\n\t\tconst values = getHeaders(target, kind);\n\t\tconst len = values.length;\n\t\tif (index >= len) {\n\t\t\treturn {\n\t\t\t\tvalue: undefined,\n\t\t\t\tdone: true\n\t\t\t};\n\t\t}\n\n\t\tthis[INTERNAL].index = index + 1;\n\n\t\treturn {\n\t\t\tvalue: values[index],\n\t\t\tdone: false\n\t\t};\n\t}\n}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));\n\nObject.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, {\n\tvalue: 'HeadersIterator',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * Export the Headers object in a form that Node.js can consume.\n *\n * @param Headers headers\n * @return Object\n */\nfunction exportNodeCompatibleHeaders(headers) {\n\tconst obj = Object.assign({ __proto__: null }, headers[MAP]);\n\n\t// http.request() only supports string as Host header. This hack makes\n\t// specifying custom Host header possible.\n\tconst hostHeaderKey = find(headers[MAP], 'Host');\n\tif (hostHeaderKey !== undefined) {\n\t\tobj[hostHeaderKey] = obj[hostHeaderKey][0];\n\t}\n\n\treturn obj;\n}\n\n/**\n * Create a Headers object from an object of headers, ignoring those that do\n * not conform to HTTP grammar productions.\n *\n * @param Object obj Object of headers\n * @return Headers\n */\nfunction createHeadersLenient(obj) {\n\tconst headers = new Headers();\n\tfor (const name of Object.keys(obj)) {\n\t\tif (invalidTokenRegex.test(name)) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(obj[name])) {\n\t\t\tfor (const val of obj[name]) {\n\t\t\t\tif (invalidHeaderCharRegex.test(val)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (headers[MAP][name] === undefined) {\n\t\t\t\t\theaders[MAP][name] = [val];\n\t\t\t\t} else {\n\t\t\t\t\theaders[MAP][name].push(val);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (!invalidHeaderCharRegex.test(obj[name])) {\n\t\t\theaders[MAP][name] = [obj[name]];\n\t\t}\n\t}\n\treturn headers;\n}\n\n/**\n * response.js\n *\n * Response class provides content decoding\n */\n\nvar _require$1 = require('http');\n\nconst STATUS_CODES = _require$1.STATUS_CODES;\n\n\nconst INTERNALS$1 = Symbol('Response internals');\n\n/**\n * Response class\n *\n * @param Stream body Readable stream\n * @param Object opts Response options\n * @return Void\n */\nclass Response {\n\tconstructor() {\n\t\tlet body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\tlet opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tBody.call(this, body, opts);\n\n\t\tconst status = opts.status || 200;\n\n\t\tthis[INTERNALS$1] = {\n\t\t\turl: opts.url,\n\t\t\tstatus,\n\t\t\tstatusText: opts.statusText || STATUS_CODES[status],\n\t\t\theaders: new Headers(opts.headers)\n\t\t};\n\t}\n\n\tget url() {\n\t\treturn this[INTERNALS$1].url;\n\t}\n\n\tget status() {\n\t\treturn this[INTERNALS$1].status;\n\t}\n\n\t/**\n * Convenience property representing if the request ended normally\n */\n\tget ok() {\n\t\treturn this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;\n\t}\n\n\tget statusText() {\n\t\treturn this[INTERNALS$1].statusText;\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$1].headers;\n\t}\n\n\t/**\n * Clone this response\n *\n * @return Response\n */\n\tclone() {\n\t\treturn new Response(clone(this), {\n\t\t\turl: this.url,\n\t\t\tstatus: this.status,\n\t\t\tstatusText: this.statusText,\n\t\t\theaders: this.headers,\n\t\t\tok: this.ok\n\t\t});\n\t}\n}\n\nBody.mixIn(Response.prototype);\n\nObject.defineProperties(Response.prototype, {\n\turl: { enumerable: true },\n\tstatus: { enumerable: true },\n\tok: { enumerable: true },\n\tstatusText: { enumerable: true },\n\theaders: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\nObject.defineProperty(Response.prototype, Symbol.toStringTag, {\n\tvalue: 'Response',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\n/**\n * request.js\n *\n * Request class contains server only options\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nvar _require$2 = require('url');\n\nconst format_url = _require$2.format;\nconst parse_url = _require$2.parse;\n\n\nconst INTERNALS$2 = Symbol('Request internals');\n\n/**\n * Check if a value is an instance of Request.\n *\n * @param Mixed input\n * @return Boolean\n */\nfunction isRequest(input) {\n\treturn typeof input === 'object' && typeof input[INTERNALS$2] === 'object';\n}\n\n/**\n * Request class\n *\n * @param Mixed input Url or Request instance\n * @param Object init Custom options\n * @return Void\n */\nclass Request {\n\tconstructor(input) {\n\t\tlet init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\t\tlet parsedURL;\n\n\t\t// normalize input\n\t\tif (!isRequest(input)) {\n\t\t\tif (input && input.href) {\n\t\t\t\t// in order to support Node.js' Url objects; though WHATWG's URL objects\n\t\t\t\t// will fall into this branch also (since their `toString()` will return\n\t\t\t\t// `href` property anyway)\n\t\t\t\tparsedURL = parse_url(input.href);\n\t\t\t} else {\n\t\t\t\t// coerce input to a string before attempting to parse\n\t\t\t\tparsedURL = parse_url(`${input}`);\n\t\t\t}\n\t\t\tinput = {};\n\t\t} else {\n\t\t\tparsedURL = parse_url(input.url);\n\t\t}\n\n\t\tlet method = init.method || input.method || 'GET';\n\t\tmethod = method.toUpperCase();\n\n\t\tif ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) {\n\t\t\tthrow new TypeError('Request with GET/HEAD method cannot have body');\n\t\t}\n\n\t\tlet inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;\n\n\t\tBody.call(this, inputBody, {\n\t\t\ttimeout: init.timeout || input.timeout || 0,\n\t\t\tsize: init.size || input.size || 0\n\t\t});\n\n\t\tconst headers = new Headers(init.headers || input.headers || {});\n\n\t\tif (init.body != null) {\n\t\t\tconst contentType = extractContentType(this);\n\t\t\tif (contentType !== null && !headers.has('Content-Type')) {\n\t\t\t\theaders.append('Content-Type', contentType);\n\t\t\t}\n\t\t}\n\n\t\tthis[INTERNALS$2] = {\n\t\t\tmethod,\n\t\t\tredirect: init.redirect || input.redirect || 'follow',\n\t\t\theaders,\n\t\t\tparsedURL\n\t\t};\n\n\t\t// node-fetch-only options\n\t\tthis.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20;\n\t\tthis.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true;\n\t\tthis.counter = init.counter || input.counter || 0;\n\t\tthis.agent = init.agent || input.agent;\n\t}\n\n\tget method() {\n\t\treturn this[INTERNALS$2].method;\n\t}\n\n\tget url() {\n\t\treturn format_url(this[INTERNALS$2].parsedURL);\n\t}\n\n\tget headers() {\n\t\treturn this[INTERNALS$2].headers;\n\t}\n\n\tget redirect() {\n\t\treturn this[INTERNALS$2].redirect;\n\t}\n\n\t/**\n * Clone this request\n *\n * @return Request\n */\n\tclone() {\n\t\treturn new Request(this);\n\t}\n}\n\nBody.mixIn(Request.prototype);\n\nObject.defineProperty(Request.prototype, Symbol.toStringTag, {\n\tvalue: 'Request',\n\twritable: false,\n\tenumerable: false,\n\tconfigurable: true\n});\n\nObject.defineProperties(Request.prototype, {\n\tmethod: { enumerable: true },\n\turl: { enumerable: true },\n\theaders: { enumerable: true },\n\tredirect: { enumerable: true },\n\tclone: { enumerable: true }\n});\n\n/**\n * Convert a Request to Node.js http request options.\n *\n * @param Request A Request instance\n * @return Object The options object to be passed to http.request\n */\nfunction getNodeRequestOptions(request) {\n\tconst parsedURL = request[INTERNALS$2].parsedURL;\n\tconst headers = new Headers(request[INTERNALS$2].headers);\n\n\t// fetch step 1.3\n\tif (!headers.has('Accept')) {\n\t\theaders.set('Accept', '*/*');\n\t}\n\n\t// Basic fetch\n\tif (!parsedURL.protocol || !parsedURL.hostname) {\n\t\tthrow new TypeError('Only absolute URLs are supported');\n\t}\n\n\tif (!/^https?:$/.test(parsedURL.protocol)) {\n\t\tthrow new TypeError('Only HTTP(S) protocols are supported');\n\t}\n\n\t// HTTP-network-or-cache fetch steps 2.4-2.7\n\tlet contentLengthValue = null;\n\tif (request.body == null && /^(POST|PUT)$/i.test(request.method)) {\n\t\tcontentLengthValue = '0';\n\t}\n\tif (request.body != null) {\n\t\tconst totalBytes = getTotalBytes(request);\n\t\tif (typeof totalBytes === 'number') {\n\t\t\tcontentLengthValue = String(totalBytes);\n\t\t}\n\t}\n\tif (contentLengthValue) {\n\t\theaders.set('Content-Length', contentLengthValue);\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.11\n\tif (!headers.has('User-Agent')) {\n\t\theaders.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)');\n\t}\n\n\t// HTTP-network-or-cache fetch step 2.15\n\tif (request.compress) {\n\t\theaders.set('Accept-Encoding', 'gzip,deflate');\n\t}\n\tif (!headers.has('Connection') && !request.agent) {\n\t\theaders.set('Connection', 'close');\n\t}\n\n\t// HTTP-network fetch step 4.2\n\t// chunked encoding is handled by Node.js\n\n\treturn Object.assign({}, parsedURL, {\n\t\tmethod: request.method,\n\t\theaders: exportNodeCompatibleHeaders(headers),\n\t\tagent: request.agent\n\t});\n}\n\n/**\n * index.js\n *\n * a request API compatible with window.fetch\n *\n * All spec algorithm step numbers are based on https://fetch.spec.whatwg.org/commit-snapshots/ae716822cb3a61843226cd090eefc6589446c1d2/.\n */\n\nconst http = require('http');\nconst https = require('https');\n\nvar _require$3 = require('stream');\n\nconst PassThrough$1 = _require$3.PassThrough;\n\nvar _require2 = require('url');\n\nconst resolve_url = _require2.resolve;\n\nconst zlib = require('zlib');\n\n/**\n * Fetch function\n *\n * @param Mixed url Absolute url or Request instance\n * @param Object opts Fetch options\n * @return Promise\n */\nfunction fetch(url, opts) {\n\n\t// allow custom promise\n\tif (!fetch.Promise) {\n\t\tthrow new Error('native promise missing, set fetch.Promise to your favorite alternative');\n\t}\n\n\tBody.Promise = fetch.Promise;\n\n\t// wrap http.request into fetch\n\treturn new fetch.Promise(function (resolve, reject) {\n\t\t// build request object\n\t\tconst request = new Request(url, opts);\n\t\tconst options = getNodeRequestOptions(request);\n\n\t\tconst send = (options.protocol === 'https:' ? https : http).request;\n\n\t\t// send request\n\t\tconst req = send(options);\n\t\tlet reqTimeout;\n\n\t\tfunction finalize() {\n\t\t\treq.abort();\n\t\t\tclearTimeout(reqTimeout);\n\t\t}\n\n\t\tif (request.timeout) {\n\t\t\treq.once('socket', function (socket) {\n\t\t\t\treqTimeout = setTimeout(function () {\n\t\t\t\t\treject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout'));\n\t\t\t\t\tfinalize();\n\t\t\t\t}, request.timeout);\n\t\t\t});\n\t\t}\n\n\t\treq.on('error', function (err) {\n\t\t\treject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err));\n\t\t\tfinalize();\n\t\t});\n\n\t\treq.on('response', function (res) {\n\t\t\tclearTimeout(reqTimeout);\n\n\t\t\tconst headers = createHeadersLenient(res.headers);\n\n\t\t\t// HTTP fetch step 5\n\t\t\tif (fetch.isRedirect(res.statusCode)) {\n\t\t\t\t// HTTP fetch step 5.2\n\t\t\t\tconst location = headers.get('Location');\n\n\t\t\t\t// HTTP fetch step 5.3\n\t\t\t\tconst locationURL = location === null ? null : resolve_url(request.url, location);\n\n\t\t\t\t// HTTP fetch step 5.5\n\t\t\t\tswitch (request.redirect) {\n\t\t\t\t\tcase 'error':\n\t\t\t\t\t\treject(new FetchError(`redirect mode is set to error: ${request.url}`, 'no-redirect'));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t\tcase 'manual':\n\t\t\t\t\t\t// node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL.\n\t\t\t\t\t\tif (locationURL !== null) {\n\t\t\t\t\t\t\theaders.set('Location', locationURL);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'follow':\n\t\t\t\t\t\t// HTTP-redirect fetch step 2\n\t\t\t\t\t\tif (locationURL === null) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 5\n\t\t\t\t\t\tif (request.counter >= request.follow) {\n\t\t\t\t\t\t\treject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 6 (counter increment)\n\t\t\t\t\t\t// Create a new Request object.\n\t\t\t\t\t\tconst requestOpts = {\n\t\t\t\t\t\t\theaders: new Headers(request.headers),\n\t\t\t\t\t\t\tfollow: request.follow,\n\t\t\t\t\t\t\tcounter: request.counter + 1,\n\t\t\t\t\t\t\tagent: request.agent,\n\t\t\t\t\t\t\tcompress: request.compress,\n\t\t\t\t\t\t\tmethod: request.method,\n\t\t\t\t\t\t\tbody: request.body\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 9\n\t\t\t\t\t\tif (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {\n\t\t\t\t\t\t\treject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));\n\t\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 11\n\t\t\t\t\t\tif (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') {\n\t\t\t\t\t\t\trequestOpts.method = 'GET';\n\t\t\t\t\t\t\trequestOpts.body = undefined;\n\t\t\t\t\t\t\trequestOpts.headers.delete('content-length');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// HTTP-redirect fetch step 15\n\t\t\t\t\t\tresolve(fetch(new Request(locationURL, requestOpts)));\n\t\t\t\t\t\tfinalize();\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// prepare response\n\t\t\tlet body = res.pipe(new PassThrough$1());\n\t\t\tconst response_options = {\n\t\t\t\turl: request.url,\n\t\t\t\tstatus: res.statusCode,\n\t\t\t\tstatusText: res.statusMessage,\n\t\t\t\theaders: headers,\n\t\t\t\tsize: request.size,\n\t\t\t\ttimeout: request.timeout\n\t\t\t};\n\n\t\t\t// HTTP-network fetch step 12.1.1.3\n\t\t\tconst codings = headers.get('Content-Encoding');\n\n\t\t\t// HTTP-network fetch step 12.1.1.4: handle content codings\n\n\t\t\t// in following scenarios we ignore compression support\n\t\t\t// 1. compression support is disabled\n\t\t\t// 2. HEAD request\n\t\t\t// 3. no Content-Encoding header\n\t\t\t// 4. no content response (204)\n\t\t\t// 5. content not modified response (304)\n\t\t\tif (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) {\n\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// For Node v6+\n\t\t\t// Be less strict when decoding compressed responses, since sometimes\n\t\t\t// servers send slightly invalid responses that are still accepted\n\t\t\t// by common browsers.\n\t\t\t// Always using Z_SYNC_FLUSH is what cURL does.\n\t\t\tconst zlibOptions = {\n\t\t\t\tflush: zlib.Z_SYNC_FLUSH,\n\t\t\t\tfinishFlush: zlib.Z_SYNC_FLUSH\n\t\t\t};\n\n\t\t\t// for gzip\n\t\t\tif (codings == 'gzip' || codings == 'x-gzip') {\n\t\t\t\tbody = body.pipe(zlib.createGunzip(zlibOptions));\n\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// for deflate\n\t\t\tif (codings == 'deflate' || codings == 'x-deflate') {\n\t\t\t\t// handle the infamous raw deflate response from old servers\n\t\t\t\t// a hack for old IIS and Apache servers\n\t\t\t\tconst raw = res.pipe(new PassThrough$1());\n\t\t\t\traw.once('data', function (chunk) {\n\t\t\t\t\t// see http://stackoverflow.com/questions/37519828\n\t\t\t\t\tif ((chunk[0] & 0x0F) === 0x08) {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflate());\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbody = body.pipe(zlib.createInflateRaw());\n\t\t\t\t\t}\n\t\t\t\t\tresolve(new Response(body, response_options));\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// otherwise, use response as-is\n\t\t\tresolve(new Response(body, response_options));\n\t\t});\n\n\t\twriteToStream(req, request);\n\t});\n}\n\n/**\n * Redirect code matching\n *\n * @param Number code Status code\n * @return Boolean\n */\nfetch.isRedirect = function (code) {\n\treturn code === 301 || code === 302 || code === 303 || code === 307 || code === 308;\n};\n\n// Needed for TypeScript.\nfetch.default = fetch;\n\n// expose Promise\nfetch.Promise = global.Promise;\n\nexport default fetch;\nexport { Headers, Request, Response, FetchError };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/node-fetch/lib/index.es.js\n// module id = 161\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/streamr-client.web.js b/dist/streamr-client.web.js index 5e091f6b0..a895b8828 100644 --- a/dist/streamr-client.web.js +++ b/dist/streamr-client.web.js @@ -97,7 +97,7 @@ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef /* 2 */ /***/ (function(module, exports, __webpack_require__) { -var store = __webpack_require__(34)('wks'); +var store = __webpack_require__(33)('wks'); var uid = __webpack_require__(20); var Symbol = __webpack_require__(1).Symbol; var USE_SYMBOL = typeof Symbol == 'function'; @@ -195,7 +195,7 @@ module.exports = function (it) { var anObject = __webpack_require__(4); var IE8_DOM_DEFINE = __webpack_require__(47); -var toPrimitive = __webpack_require__(30); +var toPrimitive = __webpack_require__(29); var dP = Object.defineProperty; exports.f = __webpack_require__(7) ? Object.defineProperty : function defineProperty(O, P, Attributes) { @@ -279,7 +279,7 @@ module.exports = function (exec) { // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = __webpack_require__(49); -var defined = __webpack_require__(31); +var defined = __webpack_require__(30); module.exports = function (it) { return IObject(defined(it)); }; @@ -317,7 +317,7 @@ module.exports = function (fn, that, length) { // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = __webpack_require__(48); -var enumBugKeys = __webpack_require__(35); +var enumBugKeys = __webpack_require__(34); module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); @@ -591,7 +591,7 @@ exports.f = {}.propertyIsEnumerable; /***/ (function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) -var defined = __webpack_require__(31); +var defined = __webpack_require__(30); module.exports = function (it) { return Object(defined(it)); }; @@ -599,40 +599,13 @@ module.exports = function (it) { /***/ }), /* 23 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _iterator = __webpack_require__(78); - -var _iterator2 = _interopRequireDefault(_iterator); - -var _symbol = __webpack_require__(86); - -var _symbol2 = _interopRequireDefault(_symbol); - -var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof(obj); -} : function (obj) { - return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); -}; - -/***/ }), -/* 24 */ /***/ (function(module, exports) { module.exports = true; /***/ }), -/* 25 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { var def = __webpack_require__(5).f; @@ -645,7 +618,7 @@ module.exports = function (it, tag, stat) { /***/ }), -/* 26 */ +/* 25 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -660,7 +633,7 @@ exports.default = function (instance, Constructor) { }; /***/ }), -/* 27 */ +/* 26 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -693,13 +666,13 @@ exports.default = function () { }(); /***/ }), -/* 28 */ +/* 27 */ /***/ (function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(111), __esModule: true }; /***/ }), -/* 29 */ +/* 28 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(6); @@ -712,7 +685,7 @@ module.exports = function (it) { /***/ }), -/* 30 */ +/* 29 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) @@ -730,7 +703,7 @@ module.exports = function (it, S) { /***/ }), -/* 31 */ +/* 30 */ /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) @@ -741,7 +714,7 @@ module.exports = function (it) { /***/ }), -/* 32 */ +/* 31 */ /***/ (function(module, exports) { // 7.1.4 ToInteger @@ -753,10 +726,10 @@ module.exports = function (it) { /***/ }), -/* 33 */ +/* 32 */ /***/ (function(module, exports, __webpack_require__) { -var shared = __webpack_require__(34)('keys'); +var shared = __webpack_require__(33)('keys'); var uid = __webpack_require__(20); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); @@ -764,7 +737,7 @@ module.exports = function (key) { /***/ }), -/* 34 */ +/* 33 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(1); @@ -776,7 +749,7 @@ module.exports = function (key) { /***/ }), -/* 35 */ +/* 34 */ /***/ (function(module, exports) { // IE 8- don't enum bug keys @@ -786,12 +759,39 @@ module.exports = ( /***/ }), -/* 36 */ +/* 35 */ /***/ (function(module, exports) { exports.f = Object.getOwnPropertySymbols; +/***/ }), +/* 36 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _iterator = __webpack_require__(78); + +var _iterator2 = _interopRequireDefault(_iterator); + +var _symbol = __webpack_require__(86); + +var _symbol2 = _interopRequireDefault(_symbol); + +var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { + return typeof obj === "undefined" ? "undefined" : _typeof(obj); +} : function (obj) { + return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); +}; + /***/ }), /* 37 */ /***/ (function(module, exports, __webpack_require__) { @@ -799,15 +799,15 @@ exports.f = Object.getOwnPropertySymbols; // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = __webpack_require__(4); var dPs = __webpack_require__(82); -var enumBugKeys = __webpack_require__(35); -var IE_PROTO = __webpack_require__(33)('IE_PROTO'); +var enumBugKeys = __webpack_require__(34); +var IE_PROTO = __webpack_require__(32)('IE_PROTO'); var Empty = function () { /* empty */ }; var PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function () { // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(29)('iframe'); + var iframe = __webpack_require__(28)('iframe'); var i = enumBugKeys.length; var lt = '<'; var gt = '>'; @@ -852,7 +852,7 @@ exports.f = __webpack_require__(2); var global = __webpack_require__(1); var core = __webpack_require__(0); -var LIBRARY = __webpack_require__(24); +var LIBRARY = __webpack_require__(23); var wksExt = __webpack_require__(38); var defineProperty = __webpack_require__(5).f; module.exports = function (name) { @@ -876,7 +876,7 @@ module.exports = { "default": __webpack_require__(95), __esModule: true }; exports.__esModule = true; -var _typeof2 = __webpack_require__(23); +var _typeof2 = __webpack_require__(36); var _typeof3 = _interopRequireDefault(_typeof2); @@ -907,7 +907,7 @@ var _create = __webpack_require__(104); var _create2 = _interopRequireDefault(_create); -var _typeof2 = __webpack_require__(23); +var _typeof2 = __webpack_require__(36); var _typeof3 = _interopRequireDefault(_typeof2); @@ -1353,7 +1353,7 @@ module.exports.f = function (C) { /***/ (function(module, exports, __webpack_require__) { module.exports = !__webpack_require__(7) && !__webpack_require__(11)(function () { - return Object.defineProperty(__webpack_require__(29)('div'), 'a', { get: function () { return 7; } }).a != 7; + return Object.defineProperty(__webpack_require__(28)('div'), 'a', { get: function () { return 7; } }).a != 7; }); @@ -1364,7 +1364,7 @@ module.exports = !__webpack_require__(7) && !__webpack_require__(11)(function () var has = __webpack_require__(9); var toIObject = __webpack_require__(12); var arrayIndexOf = __webpack_require__(73)(false); -var IE_PROTO = __webpack_require__(33)('IE_PROTO'); +var IE_PROTO = __webpack_require__(32)('IE_PROTO'); module.exports = function (object, names) { var O = toIObject(object); @@ -1397,7 +1397,7 @@ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { /***/ (function(module, exports, __webpack_require__) { // 7.1.15 ToLength -var toInteger = __webpack_require__(32); +var toInteger = __webpack_require__(31); var min = Math.min; module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 @@ -1456,13 +1456,13 @@ __webpack_require__(54)(String, 'String', function (iterated) { "use strict"; -var LIBRARY = __webpack_require__(24); +var LIBRARY = __webpack_require__(23); var $export = __webpack_require__(3); var redefine = __webpack_require__(55); var hide = __webpack_require__(8); var Iterators = __webpack_require__(16); var $iterCreate = __webpack_require__(81); -var setToStringTag = __webpack_require__(25); +var setToStringTag = __webpack_require__(24); var getPrototypeOf = __webpack_require__(57); var ITERATOR = __webpack_require__(2)('iterator'); var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` @@ -1548,7 +1548,7 @@ module.exports = document && document.documentElement; // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = __webpack_require__(9); var toObject = __webpack_require__(22); -var IE_PROTO = __webpack_require__(33)('IE_PROTO'); +var IE_PROTO = __webpack_require__(32)('IE_PROTO'); var ObjectProto = Object.prototype; module.exports = Object.getPrototypeOf || function (O) { @@ -1591,7 +1591,7 @@ for (var i = 0; i < DOMIterables.length; i++) { // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var $keys = __webpack_require__(48); -var hiddenKeys = __webpack_require__(35).concat('length', 'prototype'); +var hiddenKeys = __webpack_require__(34).concat('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); @@ -1605,7 +1605,7 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { var pIE = __webpack_require__(21); var createDesc = __webpack_require__(19); var toIObject = __webpack_require__(12); -var toPrimitive = __webpack_require__(30); +var toPrimitive = __webpack_require__(29); var has = __webpack_require__(9); var IE8_DOM_DEFINE = __webpack_require__(47); var gOPD = Object.getOwnPropertyDescriptor; @@ -1761,7 +1761,7 @@ module.exports = function (O, D) { var ctx = __webpack_require__(13); var invoke = __webpack_require__(126); var html = __webpack_require__(56); -var cel = __webpack_require__(29); +var cel = __webpack_require__(28); var global = __webpack_require__(1); var process = global.process; var setTask = global.setImmediate; @@ -2035,7 +2035,7 @@ $export($export.S + $export.F, 'Object', { assign: __webpack_require__(72) }); // 19.1.2.1 Object.assign(target, source, ...) var getKeys = __webpack_require__(14); -var gOPS = __webpack_require__(36); +var gOPS = __webpack_require__(35); var pIE = __webpack_require__(21); var toObject = __webpack_require__(22); var IObject = __webpack_require__(49); @@ -2101,7 +2101,7 @@ module.exports = function (IS_INCLUDES) { /* 74 */ /***/ (function(module, exports, __webpack_require__) { -var toInteger = __webpack_require__(32); +var toInteger = __webpack_require__(31); var max = Math.max; var min = Math.min; module.exports = function (index, length) { @@ -2125,7 +2125,7 @@ var _keys = __webpack_require__(51); var _keys2 = _interopRequireDefault(_keys); -var _typeof2 = __webpack_require__(23); +var _typeof2 = __webpack_require__(36); var _typeof3 = _interopRequireDefault(_typeof2); @@ -2137,11 +2137,11 @@ var _getPrototypeOf = __webpack_require__(40); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); -var _classCallCheck2 = __webpack_require__(26); +var _classCallCheck2 = __webpack_require__(25); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _createClass2 = __webpack_require__(27); +var _createClass2 = __webpack_require__(26); var _createClass3 = _interopRequireDefault(_createClass2); @@ -2628,8 +2628,8 @@ module.exports = __webpack_require__(38).f('iterator'); /* 80 */ /***/ (function(module, exports, __webpack_require__) { -var toInteger = __webpack_require__(32); -var defined = __webpack_require__(31); +var toInteger = __webpack_require__(31); +var defined = __webpack_require__(30); // true -> String#at // false -> String#codePointAt module.exports = function (TO_STRING) { @@ -2655,7 +2655,7 @@ module.exports = function (TO_STRING) { var create = __webpack_require__(37); var descriptor = __webpack_require__(19); -var setToStringTag = __webpack_require__(25); +var setToStringTag = __webpack_require__(24); var IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() @@ -2774,8 +2774,8 @@ var $export = __webpack_require__(3); var redefine = __webpack_require__(55); var META = __webpack_require__(89).KEY; var $fails = __webpack_require__(11); -var shared = __webpack_require__(34); -var setToStringTag = __webpack_require__(25); +var shared = __webpack_require__(33); +var setToStringTag = __webpack_require__(24); var uid = __webpack_require__(20); var wks = __webpack_require__(2); var wksExt = __webpack_require__(38); @@ -2785,7 +2785,7 @@ var isArray = __webpack_require__(91); var anObject = __webpack_require__(4); var isObject = __webpack_require__(6); var toIObject = __webpack_require__(12); -var toPrimitive = __webpack_require__(30); +var toPrimitive = __webpack_require__(29); var createDesc = __webpack_require__(19); var _create = __webpack_require__(37); var gOPNExt = __webpack_require__(92); @@ -2916,9 +2916,9 @@ if (!USE_NATIVE) { $DP.f = $defineProperty; __webpack_require__(59).f = gOPNExt.f = $getOwnPropertyNames; __webpack_require__(21).f = $propertyIsEnumerable; - __webpack_require__(36).f = $getOwnPropertySymbols; + __webpack_require__(35).f = $getOwnPropertySymbols; - if (DESCRIPTORS && !__webpack_require__(24)) { + if (DESCRIPTORS && !__webpack_require__(23)) { redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); } @@ -3066,7 +3066,7 @@ var meta = module.exports = { // all enumerable object keys, includes symbols var getKeys = __webpack_require__(14); -var gOPS = __webpack_require__(36); +var gOPS = __webpack_require__(35); var pIE = __webpack_require__(21); module.exports = function (it) { var result = getKeys(it); @@ -3850,7 +3850,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _stringify = __webpack_require__(28); +var _stringify = __webpack_require__(27); var _stringify2 = _interopRequireDefault(_stringify); @@ -3858,11 +3858,11 @@ var _getPrototypeOf = __webpack_require__(40); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); -var _classCallCheck2 = __webpack_require__(26); +var _classCallCheck2 = __webpack_require__(25); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _createClass2 = __webpack_require__(27); +var _createClass2 = __webpack_require__(26); var _createClass3 = _interopRequireDefault(_createClass2); @@ -4120,7 +4120,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _stringify = __webpack_require__(28); +var _stringify = __webpack_require__(27); var _stringify2 = _interopRequireDefault(_stringify); @@ -4128,11 +4128,11 @@ var _getPrototypeOf = __webpack_require__(40); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); -var _classCallCheck2 = __webpack_require__(26); +var _classCallCheck2 = __webpack_require__(25); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _createClass2 = __webpack_require__(27); +var _createClass2 = __webpack_require__(26); var _createClass3 = _interopRequireDefault(_createClass2); @@ -4305,11 +4305,7 @@ var _assign = __webpack_require__(10); var _assign2 = _interopRequireDefault(_assign); -var _typeof2 = __webpack_require__(23); - -var _typeof3 = _interopRequireDefault(_typeof2); - -var _stringify = __webpack_require__(28); +var _stringify = __webpack_require__(27); var _stringify2 = _interopRequireDefault(_stringify); @@ -4552,7 +4548,7 @@ function produceToStream(streamId, data) { var apiKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.options.apiKey; var requestOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - if ((typeof streamId === 'undefined' ? 'undefined' : (0, _typeof3.default)(streamId)) === _Stream2.default) { + if (streamId instanceof _Stream2.default) { streamId = streamId.id; } @@ -5362,7 +5358,7 @@ module.exports = __webpack_require__(0).Promise; "use strict"; -var LIBRARY = __webpack_require__(24); +var LIBRARY = __webpack_require__(23); var global = __webpack_require__(1); var ctx = __webpack_require__(13); var classof = __webpack_require__(63); @@ -5574,7 +5570,7 @@ if (!USE_NATIVE) { } $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); -__webpack_require__(25)($Promise, PROMISE); +__webpack_require__(24)($Promise, PROMISE); __webpack_require__(129)(PROMISE); Wrapper = __webpack_require__(0)[PROMISE]; @@ -6141,7 +6137,7 @@ var _regenerator = __webpack_require__(44); var _regenerator2 = _interopRequireDefault(_regenerator); -var _stringify = __webpack_require__(28); +var _stringify = __webpack_require__(27); var _stringify2 = _interopRequireDefault(_stringify); @@ -6153,11 +6149,11 @@ var _assign = __webpack_require__(10); var _assign2 = _interopRequireDefault(_assign); -var _classCallCheck2 = __webpack_require__(26); +var _classCallCheck2 = __webpack_require__(25); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); -var _createClass2 = __webpack_require__(27); +var _createClass2 = __webpack_require__(26); var _createClass3 = _interopRequireDefault(_createClass2); @@ -6184,7 +6180,7 @@ var Stream = function () { switch (_context.prev = _context.next) { case 0: _context.next = 2; - return (0, _utils.authFetch)(this.options.restUrl + '/streams/' + this.id, apiKey, { + return (0, _utils.authFetch)(this._client.options.restUrl + '/streams/' + this.id, apiKey, { method: 'PUT', body: (0, _stringify2.default)(this) }); @@ -6212,7 +6208,7 @@ var Stream = function () { value: function _delete() { var apiKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._client.options.apiKey; - return (0, _utils.authFetch)(this.options.restUrl + '/streams/' + this.id, apiKey, { + return (0, _utils.authFetch)(this._client.options.restUrl + '/streams/' + this.id, apiKey, { method: 'DELETE' }); } diff --git a/dist/streamr-client.web.js.map b/dist/streamr-client.web.js.map index 9676448bc..212b5827c 100644 --- a/dist/streamr-client.web.js.map +++ b/dist/streamr-client.web.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 99593017684742f113c1","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./src/Protocol.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/rest/utils.js","webpack:///./src/index.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./src/Subscription.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./src/Connection.js","webpack:///./src/shim/ws.js","webpack:///./src/rest/AllEndpoints.js","webpack:///./src/rest/StreamEndpoints.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./src/rest/domain/Stream.js","webpack:///./src/shim/node-fetch.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","forEach","key","url","apiKey","opts","log","headers","Authorization","res","text","ok","status","authFetch","prototype","StreamrClient","options","restUrl","autoConnect","autoDisconnect","subsByStream","subById","connection","connected","authKey","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close","ws","WebSocket","window","module","exports","StreamEndpoints","endpoints","json","getStream","query","map","listStreams","name","public","getStreamByName","props","method","body","createStream","getOrCreateStream","produceToStream","requestOptions","Stream","client","_client","getPermissions","permissions","find","permission","anonymous","operation","fetch"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AClMA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;;ACJA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;AC1BD,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA,kBAAkB,wD;;;;;;;ACAlB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AChCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL;AACA,E;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACpEA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;QCRgBA,oB,GAAAA,oB;QAcAC,a,GAAAA,a;QA2BAC,sB,GAAAA,sB;QAUAC,Y,GAAAA,Y;;;;AA1DhB,IAAMC,oBAAoB,EAA1B;AACA,IAAMC,6BAA8B;AAChC,UAAM,CAAC,SAAD,EAAY,UAAZ,EAAwB,iBAAxB,EAA2C,WAA3C,EAAwD,KAAxD,EAA+D,QAA/D,EAAyE,gBAAzE,EAA2F,aAA3F,EAA0G,SAA1G;AAD0B,CAApC;AAGA,IAAMC,gBAAgB,CAAC,GAAD,EAAM,GAAN,EAAW,YAAX,EAAyB,cAAzB,EAAyC,WAAzC,EAAsD,QAAtD,EAAgE,WAAhE,CAAtB;AACA,IAAMC,UAAU,MAAhB;;AAEO,SAASP,oBAAT,CAA8BQ,MAA9B,EAAsC;AACzC,QAAIC,UAAUC,KAAKC,KAAL,CAAWH,MAAX,CAAd;AACA,QAAII,UAAUH,QAAQ,CAAR,CAAd;AACA,QAAIG,YAAY,CAAhB,EAAmB;AACf,cAAM,8BAA4BA,OAAlC;AACH;;AAED,WAAO;AACHC,cAAMP,cAAcG,QAAQ,CAAR,CAAd,CADH;AAEHK,eAAOL,QAAQ,CAAR,CAFJ;AAGHM,aAAKN,QAAQ,CAAR;AAHF,KAAP;AAKH;;AAEM,SAASR,aAAT,CAAuBY,IAAvB,EAA6BG,OAA7B,EAAsC;AACzC,QAAIH,SAAS,GAAT,IAAgBA,SAAS,GAA7B,EAAkC;AAC9B,YAAIR,2BAA2BW,QAAQ,CAAR,CAA3B,MAA2CC,SAA/C,EAA0D;AACtD,kBAAM,0BAA0BD,QAAQ,CAAR,CAAhC;AACH;AACD,YAAIE,SAAS,EAAb;AACA,YAAIC,SAASd,2BAA2BW,QAAQ,CAAR,CAA3B,CAAb;;AAEA,aAAK,IAAII,IAAI,CAAb,EAAgBA,IAAIJ,QAAQK,MAA5B,EAAoCD,GAApC,EAAyC;;AAErC;AACA,gBAAID,OAAOC,CAAP,MAAc,SAAlB,EAA6B;AACzB,oBAAIF,OAAOI,WAAP,KAAuBlB,iBAA3B,EAA8C;AAC1CY,4BAAQI,CAAR,IAAaV,KAAKC,KAAL,CAAWK,QAAQI,CAAR,CAAX,CAAb;AACH,iBAFD,MAEO;AACH,0BAAM,2BAA2BF,OAAOI,WAAxC;AACH;AACJ;;AAEDJ,mBAAOC,OAAOC,CAAP,CAAP,IAAoBJ,QAAQI,CAAR,CAApB;AACH;AACD,eAAOF,MAAP;AACH,KArBD,MAqBO;AACH,eAAOF,OAAP;AACH;AACJ;;AAEM,SAASd,sBAAT,CAAgCqB,MAAhC,EAAwCC,aAAxC,EAAuD;AAC1D,QAAIC,MAAM;AACNF,gBAAQA;AADF,KAAV;AAGA,wBAAYC,aAAZ,EAA2BE,OAA3B,CAAmC,UAASC,GAAT,EAAc;AAC7CF,YAAIE,GAAJ,IAAWH,cAAcG,GAAd,CAAX;AACH,KAFD;AAGA,WAAOF,GAAP;AACH;;AAEM,SAAStB,YAAT,CAAsBa,OAAtB,EAA+B;AAClC,WAAO,CAAC,CAACA,QAAQT,OAAR,CAAT;AACH,C;;;;;;AC5DD;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;A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ACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;;AAEA;AACA,2FAAkF,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;ACjCA,8BAA8B;;;;;;;ACA9B;AACA,UAAU;AACV;;;;;;;ACFA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;;;;;;;ACAA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,oEAAuE,2CAA4C;;;;;;;ACFnH,kBAAkB,yD;;;;;;ACAlB;AACA;;;;;;;ACDA;AACA;AACA,8BAA8B,+CAA8C;;;;;;;ACF5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,8BAA8B,kCAAsC;;;;;;;ACFpE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACtLtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,4BAA4B;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,aAAa,8BAA8B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AChOA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJA;;;;AACA;;;;AAEA;;;;AAEA,IAAI1B,QAAQ,CAAZ;AACA,SAASqF,sBAAT,GAAkC;AAC9B,QAAIhD,KAAKrC,OAAT;AACA,WAAOqC,GAAGiD,QAAH,EAAP;AACH;;IAEoBC,Y;;;AAEj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;;;;;QAwBNC,e,GAAAA,e;;AAnEhB;;AACA;;;;AAEA;;;;AACA;;;;AA+DO,SAASA,eAAT,CAAyB/F,QAAzB,EAAmCyE,IAAnC,EAA4F;AAAA,QAAnDhG,MAAmD,uEAA1C,KAAKY,OAAL,CAAaZ,MAA6B;AAAA,QAArBuH,cAAqB,uEAAJ,EAAI;;AAC/F,QAAI,QAAOhG,QAAP,uDAAOA,QAAP,uBAAJ,EAAgC;AAC5BA,mBAAWA,SAASD,EAApB;AACH;;AAED;AACA,WAAO,sBAAU,KAAKV,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqCU,QAArC,GAAgD,OAA1D,EACHvB,MADG,EAEH,sBAAc,EAAd,EAAkBuH,cAAlB,EAAkC;AAC9BL,gBAAQ,MADsB;AAE9BC,cAAM,yBAAenB,IAAf;AAFwB,KAAlC,CAFG,CAAP;AAOH,C;;;;;;AChFD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B;;;;;;;ACttBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACpRD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACbA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;;ACXH;;AAEA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFA;;;;IAEqBwB,M;AAEjB,oBAAYC,MAAZ,EAAoBR,KAApB,EAA2B;AAAA;;AACvB,aAAKS,OAAL,GAAeD,MAAf;AACA,8BAAc,IAAd,EAAoBR,KAApB;AACH;;;;;;oBAEYjH,M,uEAAS,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,M;;;;;;;uCACtB,sBAAU,KAAKY,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqC,KAAKS,EAApD,EACbtB,MADa,EAEb;AACIkH,4CAAQ,KADZ;AAEIC,0CAAM,yBAAe,IAAf;AAFV,iCAFa,C;;;AAAbV,oC;iEAMGA,OAAO,IAAIe,MAAJ,CAAW,KAAKE,OAAhB,EAAyBjB,IAAzB,CAAP,GAAwCrH,S;;;;;;;;;;;;;;;;;;kCAGN;AAAA,gBAAtCY,MAAsC,uEAA7B,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAAQ;;AACzC,mBAAO,sBAAU,KAAKY,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqC,KAAKS,EAApD,EACHtB,MADG,EAEH;AACIkH,wBAAQ;AADZ,aAFG,CAAP;AAKH;;;yCAEoD;AAAA,gBAAtClH,MAAsC,uEAA7B,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAAQ;;AACjD,mBAAO,sBAAU,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EAAiFtB,MAAjF,CAAP;AACH;;;;;oBAEcA,M,uEAAS,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,M;;;;;;;uCACjB,KAAK2H,cAAL,CAAoB3H,MAApB,C;;;AAApB4H,2C;kEACGA,YAAYC,IAAZ,CAAiB,UAACC,UAAD;AAAA,2CAAiBA,WAAWC,SAAX,IAAwBD,WAAWE,SAAX,KAAyB,MAAlE;AAAA,iCAAjB,MAAgG5I,S;;;;;;;;;;;;;;;;;;qCAG1D;AAAA,gBAAtCY,MAAsC,uEAA7B,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAAQ;;AAC7C,mBAAO,sBAAU,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EACHtB,MADG,EAEH;AACIkH,wBAAQ,MADZ;AAEIC,sBAAM,yBAAe;AACjBY,+BAAW,IADM;AAEjBC,+BAAW;AAFM,iBAAf;AAFV,aAFG,CAAP;AASH;;;uCAEkD;AAAA,gBAAtChI,MAAsC,uEAA7B,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAAQ;;AAC/C,mBAAO,sBAAU,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,eAAjE,EAAkFtB,MAAlF,CAAP;AACH;;;gCAEOgG,I,EAAiE;AAAA,gBAA3DhG,MAA2D,uEAAlD,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAA6B;AAAA,gBAArBuH,cAAqB,uEAAJ,EAAI;;AACrE,mBAAO,KAAKG,OAAL,CAAaJ,eAAb,CAA6B,KAAKhG,EAAlC,EAAsC0E,IAAtC,EAA4ChG,MAA5C,EAAoDuH,cAApD,CAAP;AACH;;;;;kBApDgBC,M;;;;;;;;;;ACFrB;;AAEA,IAAI,OAAOS,KAAP,KAAiB,WAArB,EAAkC;AAC9B5B,WAAOC,OAAP,GAAiB2B,KAAjB;AACH,CAFD,MAEO;AACH5B,WAAOC,OAAP,GAAiBF,OAAO6B,KAAxB;AACH,C","file":"streamr-client.web.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 69);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 99593017684742f113c1","var core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 4\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 5\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 8\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 9\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 10\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 11\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 14\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 15\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 16\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 17\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 18\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 19\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 20\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 21\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 22\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 23\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 24\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 26\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = 27\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 28\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 29\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 30\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 31\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 32\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 33\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 34\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 35\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 36\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 37\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 38\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 39\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 40\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 41\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 42\n// module chunks = 0","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 43\n// module chunks = 0","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 44\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 45\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 46\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 47\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 48\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 49\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 50\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 51\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 52\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 53\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 54\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 55\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 56\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 57\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 58\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 59\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 60\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 63\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 64\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 65\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 66\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 67\n// module chunks = 0","import fetch from 'node-fetch'\nimport debug from 'debug'\n\nconst log = debug('StreamrClient:utils')\n\nexport async function authFetch(url, apiKey, opts = {}) {\n log('fetching: ', url, opts)\n\n let req = Object.assign({}, opts, {\n headers: apiKey ? {\n Authorization: 'token '+ apiKey\n } : undefined\n })\n\n let res = await fetch(url, req)\n\n let text = await res.text()\n\n if (res.ok && text.length) {\n try {\n return JSON.parse(text)\n } catch (err) {\n throw 'Failed to parse JSON response: '+text\n }\n } else if (res.ok) {\n return {}\n } else {\n throw 'Request to '+url+' returned with error code '+res.status+': '+text\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/utils.js","import StreamrClient from './StreamrClient'\nimport AllEndpoints from './rest/AllEndpoints'\n\n// Mixin the rest endpoints to the StreamrClient\nObject.assign(StreamrClient.prototype, AllEndpoints)\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 70\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 71\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 72\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 73\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 74\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n restUrl: 'https://www.streamr.com/api/v1',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n apiKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n\n // Backwards compatibility for option 'authKey' => 'apiKey'\n if (this.options.authKey && !this.options.apiKey) {\n this.options.apiKey = this.options.authKey\n }\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.apiKey || this.options.apiKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.apiKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.apiKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 76\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 77\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 78\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 79\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 80\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 81\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 82\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 83\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 84\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 85\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 86\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 87\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 88\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 89\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 90\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 91\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 92\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 93\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 94\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 95\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 96\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 97\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 98\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 99\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 100\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 101\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 102\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 103\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 104\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 105\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 106\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // 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\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // 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.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 107\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 108\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 109\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, apiKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.apiKey = apiKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 111\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js","// In browsers, the ws package is replaced with this to use native websockets\n\nlet ws\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else {\n ws = window.WebSocket\n}\n\nmodule.exports = ws\n\n\n\n// WEBPACK FOOTER //\n// ./src/shim/ws.js","import * as StreamEndpoints from './StreamEndpoints'\n\nlet endpoints = Object.assign({}, StreamEndpoints)\n\nexport default endpoints\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/AllEndpoints.js","import {stringify} from 'querystring'\nimport debug from 'debug'\n\nimport Stream from './domain/Stream'\nimport {authFetch} from './utils'\n\n// These function are mixed in to StreamrClient.prototype.\n// In the below functions, 'this' is intended to be the StreamrClient\n\nexport async function getStream(streamId, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams/' + streamId\n let json = await authFetch(url, apiKey)\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function listStreams(query = {}, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams?' + stringify(query)\n let json = await authFetch(url, apiKey)\n return json ? json.map((stream) => new Stream(this, stream)) : []\n}\n\nexport async function getStreamByName(name, apiKey = this.options.apiKey) {\n let json = await this.listStreams({\n name: name,\n public: false\n }, apiKey)\n return json[0] ? new Stream(this, json[0]) : undefined\n}\n\nexport async function createStream(props, apiKey = this.options.apiKey) {\n if (!props || !props.name) {\n throw 'Stream properties must contain a \"name\" field!'\n }\n\n let json = await authFetch(this.options.restUrl + '/streams',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify(props)\n })\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getOrCreateStream(props, apiKey = this.options.apiKey) {\n let json\n\n // Try looking up the stream by id or name, whichever is defined\n if (props.id) {\n json = await this.getStream(props.id, apiKey)\n } else if (props.name) {\n json = await this.getStreamByName(props.name, apiKey)\n }\n\n // If not found, try creating the stream\n if (!json) {\n json = await this.createStream(props, apiKey)\n debug('Created stream: %s (%s)', props.name, json.id)\n }\n\n // If still nothing, throw\n if (!json) {\n throw 'Unable to find or create stream: ' + props.name\n } else {\n return new Stream(this, json)\n }\n}\n\nexport function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) {\n if (typeof streamId === Stream) {\n streamId = streamId.id\n }\n\n // Send data to the stream\n return authFetch(this.options.restUrl + '/streams/' + streamId + '/data',\n apiKey,\n Object.assign({}, requestOptions, {\n method: 'POST',\n body: JSON.stringify(data)\n })\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/StreamEndpoints.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime-module.js\n// module id = 116\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 117\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 118\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 119\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 120\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 121\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 122\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 123\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 124\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 125\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 126\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 127\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 128\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 129\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 130\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 131\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 132\n// module chunks = 0","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/index.js\n// module id = 133\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/decode.js\n// module id = 134\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/encode.js\n// module id = 135\n// module chunks = 0","import {authFetch} from '../utils'\n\nexport default class Stream {\n\n constructor(client, props) {\n this._client = client\n Object.assign(this, props)\n }\n\n async update(apiKey = this._client.options.apiKey) {\n let json = await authFetch(this.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'PUT',\n body: JSON.stringify(this)\n })\n return json ? new Stream(this._client, json) : undefined\n }\n\n delete(apiKey = this._client.options.apiKey) {\n return authFetch(this.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'DELETE',\n })\n }\n\n getPermissions(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey)\n }\n\n async isPublic(apiKey = this._client.options.apiKey) {\n let permissions = await this.getPermissions(apiKey)\n return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined\n }\n\n makePublic(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n anonymous: true,\n operation: 'read'\n }),\n })\n }\n\n detectFields(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey)\n }\n\n produce(data, apiKey = this._client.options.apiKey, requestOptions = {}) {\n return this._client.produceToStream(this.id, data, apiKey, requestOptions)\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/domain/Stream.js","// In browsers, the node-fetch package is replaced with this to use native fetch\n\nif (typeof fetch !== 'undefined') {\n module.exports = fetch\n} else {\n module.exports = window.fetch\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/shim/node-fetch.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 19d302e41d7621d7502d","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/debug/src/browser.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/babel-runtime/helpers/classCallCheck.js","webpack:///./node_modules/babel-runtime/helpers/createClass.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/babel-runtime/helpers/inherits.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./src/Protocol.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/rest/utils.js","webpack:///./src/index.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./src/StreamrClient.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/debug/src/debug.js","webpack:///./node_modules/ms/index.js","webpack:///./src/Subscription.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./src/Connection.js","webpack:///./src/shim/ws.js","webpack:///./src/rest/AllEndpoints.js","webpack:///./src/rest/StreamEndpoints.js","webpack:///./node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./src/rest/domain/Stream.js","webpack:///./src/shim/node-fetch.js"],"names":["decodeBrowserWrapper","decodeMessage","createSubscribeRequest","isByeMessage","CONTENT_TYPE_JSON","FIELDS_BY_PROTOCOL_VERSION","MESSAGE_TYPES","BYE_KEY","rawMsg","jsonMsg","JSON","parse","version","type","subId","msg","message","undefined","result","fields","i","length","contentType","stream","resendOptions","req","forEach","key","url","apiKey","opts","log","headers","Authorization","res","text","ok","status","authFetch","prototype","StreamrClient","options","restUrl","autoConnect","autoDisconnect","subsByStream","subById","connection","connected","authKey","sub","id","streamId","push","filter","it","callback","legacyOptions","partition","on","from","to","_requestResend","resend_from","resend_to","unsubscribe","_addSubscription","_resendAndSubscribe","connect","disconnecting","isSubscribed","unsubscribing","_requestUnsubscribe","_removeSubscription","emit","_checkAutoDisconnect","l","slice","connecting","subs","handleMessage","response","error","handleError","_subscribing","resending","disconnect","unsubscribeAll","subscribing","_requestSubscribe","once","hasResendOptions","subscribedSubs","send","setTimeout","getEffectiveResendOptions","match","request","streamPartition","generateSubscriptionId","toString","Subscription","queue","subscribed","lastReceivedOffset","resendOptionCount","resend_all","resend_last","resend_from_time","getTime","checkQueue","isResend","content","offset","previousOffset","originalQueue","hasReceivedMessages","Connection","socket","binaryType","onopen","onclose","onmessage","messageEvent","decoded","data","close","ws","WebSocket","window","module","exports","StreamEndpoints","endpoints","json","getStream","query","map","listStreams","name","public","getStreamByName","props","method","body","createStream","getOrCreateStream","produceToStream","requestOptions","Stream","client","_client","getPermissions","permissions","find","permission","anonymous","operation","fetch"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;AC7DA,6BAA6B;AAC7B,uCAAuC;;;;;;;ACDvC;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;ACLzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC7DA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AClMA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,G;;;;;;AC1BD,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA;AACA;AACA;AACA;;;;;;;ACHA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,iHAAiH,mBAAmB,EAAE,mBAAmB,4JAA4J;;AAErT,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,CAAC;AACD;AACA,E;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA,kBAAkB,wD;;;;;;;ACAlB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AChBA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,E;;;;;;;AChCA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yDAAyD,OAAO;AAChE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,SAAS;AAClD;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA,2DAA2D;AAC3D,+DAA+D;AAC/D,mEAAmE;AACnE,uEAAuE;AACvE;AACA,0DAA0D,SAAS;AACnE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,2DAA2D,YAAY;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,aAAa,aAAa;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/UA;;;;;;;;ACAA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL;AACA,E;;;;;;;ACrCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACpEA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;;;;;;;;;;;;;QCRgBA,oB,GAAAA,oB;QAcAC,a,GAAAA,a;QA2BAC,sB,GAAAA,sB;QAUAC,Y,GAAAA,Y;;;;AA1DhB,IAAMC,oBAAoB,EAA1B;AACA,IAAMC,6BAA8B;AAChC,UAAM,CAAC,SAAD,EAAY,UAAZ,EAAwB,iBAAxB,EAA2C,WAA3C,EAAwD,KAAxD,EAA+D,QAA/D,EAAyE,gBAAzE,EAA2F,aAA3F,EAA0G,SAA1G;AAD0B,CAApC;AAGA,IAAMC,gBAAgB,CAAC,GAAD,EAAM,GAAN,EAAW,YAAX,EAAyB,cAAzB,EAAyC,WAAzC,EAAsD,QAAtD,EAAgE,WAAhE,CAAtB;AACA,IAAMC,UAAU,MAAhB;;AAEO,SAASP,oBAAT,CAA8BQ,MAA9B,EAAsC;AACzC,QAAIC,UAAUC,KAAKC,KAAL,CAAWH,MAAX,CAAd;AACA,QAAII,UAAUH,QAAQ,CAAR,CAAd;AACA,QAAIG,YAAY,CAAhB,EAAmB;AACf,cAAM,8BAA4BA,OAAlC;AACH;;AAED,WAAO;AACHC,cAAMP,cAAcG,QAAQ,CAAR,CAAd,CADH;AAEHK,eAAOL,QAAQ,CAAR,CAFJ;AAGHM,aAAKN,QAAQ,CAAR;AAHF,KAAP;AAKH;;AAEM,SAASR,aAAT,CAAuBY,IAAvB,EAA6BG,OAA7B,EAAsC;AACzC,QAAIH,SAAS,GAAT,IAAgBA,SAAS,GAA7B,EAAkC;AAC9B,YAAIR,2BAA2BW,QAAQ,CAAR,CAA3B,MAA2CC,SAA/C,EAA0D;AACtD,kBAAM,0BAA0BD,QAAQ,CAAR,CAAhC;AACH;AACD,YAAIE,SAAS,EAAb;AACA,YAAIC,SAASd,2BAA2BW,QAAQ,CAAR,CAA3B,CAAb;;AAEA,aAAK,IAAII,IAAI,CAAb,EAAgBA,IAAIJ,QAAQK,MAA5B,EAAoCD,GAApC,EAAyC;;AAErC;AACA,gBAAID,OAAOC,CAAP,MAAc,SAAlB,EAA6B;AACzB,oBAAIF,OAAOI,WAAP,KAAuBlB,iBAA3B,EAA8C;AAC1CY,4BAAQI,CAAR,IAAaV,KAAKC,KAAL,CAAWK,QAAQI,CAAR,CAAX,CAAb;AACH,iBAFD,MAEO;AACH,0BAAM,2BAA2BF,OAAOI,WAAxC;AACH;AACJ;;AAEDJ,mBAAOC,OAAOC,CAAP,CAAP,IAAoBJ,QAAQI,CAAR,CAApB;AACH;AACD,eAAOF,MAAP;AACH,KArBD,MAqBO;AACH,eAAOF,OAAP;AACH;AACJ;;AAEM,SAASd,sBAAT,CAAgCqB,MAAhC,EAAwCC,aAAxC,EAAuD;AAC1D,QAAIC,MAAM;AACNF,gBAAQA;AADF,KAAV;AAGA,wBAAYC,aAAZ,EAA2BE,OAA3B,CAAmC,UAASC,GAAT,EAAc;AAC7CF,YAAIE,GAAJ,IAAWH,cAAcG,GAAd,CAAX;AACH,KAFD;AAGA,WAAOF,GAAP;AACH;;AAEM,SAAStB,YAAT,CAAsBa,OAAtB,EAA+B;AAClC,WAAO,CAAC,CAACA,QAAQT,OAAR,CAAT;AACH,C;;;;;;AC5DD;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;A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ACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;;AAEA;AACA,2FAAkF,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;ACjCA,8BAA8B;;;;;;;ACA9B;AACA,UAAU;AACV;;;;;;;ACFA,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;;;;;;;ACAA;;;;;;;ACAA;AACA;;;;;;;ACDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACRD,kBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,oEAAuE,2CAA4C;;;;;;;ACFnH,kBAAkB,yD;;;;;;ACAlB;AACA;;;;;;;ACDA;AACA;AACA,8BAA8B,+CAA8C;;;;;;;ACF5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,8BAA8B,kCAAsC;;;;;;;ACFpE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACtLtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,4BAA4B;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,aAAa,8BAA8B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AChOA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJA;;;;AACA;;;;AAEA;;;;AAEA,IAAI1B,QAAQ,CAAZ;AACA,SAASqF,sBAAT,GAAkC;AAC9B,QAAIhD,KAAKrC,OAAT;AACA,WAAOqC,GAAGiD,QAAH,EAAP;AACH;;IAEoBC,Y;;;AAEj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;QAwBNC,e,GAAAA,e;;AAnEhB;;AACA;;;;AAEA;;;;AACA;;;;AA+DO,SAASA,eAAT,CAAyB/F,QAAzB,EAAmCyE,IAAnC,EAA4F;AAAA,QAAnDhG,MAAmD,uEAA1C,KAAKY,OAAL,CAAaZ,MAA6B;AAAA,QAArBuH,cAAqB,uEAAJ,EAAI;;AAC/F,QAAIhG,oCAAJ,EAAgC;AAC5BA,mBAAWA,SAASD,EAApB;AACH;;AAED;AACA,WAAO,sBAAU,KAAKV,OAAL,CAAaC,OAAb,GAAuB,WAAvB,GAAqCU,QAArC,GAAgD,OAA1D,EACHvB,MADG,EAEH,sBAAc,EAAd,EAAkBuH,cAAlB,EAAkC;AAC9BL,gBAAQ,MADsB;AAE9BC,cAAM,yBAAenB,IAAf;AAFwB,KAAlC,CAFG,CAAP;AAOH,C;;;;;;AChFD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,cAAc;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,eAAe,cAAc;AAC7B;;;;;;;ACttBA,kBAAkB,yD;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;ACpRD;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACbA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,8DAA8D,UAAU,EAAE;AAC1E,KAAK;AACL;AACA,8DAA8D,SAAS,EAAE;AACzE,KAAK;AACL;AACA,CAAC,EAAE;;;;;;;;ACnBH;AACA;AACA;AACA;AACA;;AAEA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;;ACXH;;AAEA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFA;;;;IAEqBwB,M;AAEjB,oBAAYC,MAAZ,EAAoBR,KAApB,EAA2B;AAAA;;AACvB,aAAKS,OAAL,GAAeD,MAAf;AACA,8BAAc,IAAd,EAAoBR,KAApB;AACH;;;;;;oBAEYjH,M,uEAAS,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,M;;;;;;;uCACtB,sBAAU,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAA5D,EACbtB,MADa,EAEb;AACIkH,4CAAQ,KADZ;AAEIC,0CAAM,yBAAe,IAAf;AAFV,iCAFa,C;;;AAAbV,oC;iEAMGA,OAAO,IAAIe,MAAJ,CAAW,KAAKE,OAAhB,EAAyBjB,IAAzB,CAAP,GAAwCrH,S;;;;;;;;;;;;;;;;;;kCAGN;AAAA,gBAAtCY,MAAsC,uEAA7B,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAAQ;;AACzC,mBAAO,sBAAU,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAA5D,EACHtB,MADG,EAEH;AACIkH,wBAAQ;AADZ,aAFG,CAAP;AAKH;;;yCAEoD;AAAA,gBAAtClH,MAAsC,uEAA7B,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAAQ;;AACjD,mBAAO,sBAAU,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EAAiFtB,MAAjF,CAAP;AACH;;;;;oBAEcA,M,uEAAS,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,M;;;;;;;uCACjB,KAAK2H,cAAL,CAAoB3H,MAApB,C;;;AAApB4H,2C;kEACGA,YAAYC,IAAZ,CAAiB,UAACC,UAAD;AAAA,2CAAiBA,WAAWC,SAAX,IAAwBD,WAAWE,SAAX,KAAyB,MAAlE;AAAA,iCAAjB,MAAgG5I,S;;;;;;;;;;;;;;;;;;qCAG1D;AAAA,gBAAtCY,MAAsC,uEAA7B,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAAQ;;AAC7C,mBAAO,sBAAU,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,cAAjE,EACHtB,MADG,EAEH;AACIkH,wBAAQ,MADZ;AAEIC,sBAAM,yBAAe;AACjBY,+BAAW,IADM;AAEjBC,+BAAW;AAFM,iBAAf;AAFV,aAFG,CAAP;AASH;;;uCAEkD;AAAA,gBAAtChI,MAAsC,uEAA7B,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAAQ;;AAC/C,mBAAO,sBAAU,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBC,OAArB,GAA+B,WAA/B,GAA6C,KAAKS,EAAlD,GAAuD,eAAjE,EAAkFtB,MAAlF,CAAP;AACH;;;gCAEOgG,I,EAAiE;AAAA,gBAA3DhG,MAA2D,uEAAlD,KAAK0H,OAAL,CAAa9G,OAAb,CAAqBZ,MAA6B;AAAA,gBAArBuH,cAAqB,uEAAJ,EAAI;;AACrE,mBAAO,KAAKG,OAAL,CAAaJ,eAAb,CAA6B,KAAKhG,EAAlC,EAAsC0E,IAAtC,EAA4ChG,MAA5C,EAAoDuH,cAApD,CAAP;AACH;;;;;kBApDgBC,M;;;;;;;;;;ACFrB;;AAEA,IAAI,OAAOS,KAAP,KAAiB,WAArB,EAAkC;AAC9B5B,WAAOC,OAAP,GAAiB2B,KAAjB;AACH,CAFD,MAEO;AACH5B,WAAOC,OAAP,GAAiBF,OAAO6B,KAAxB;AACH,C","file":"streamr-client.web.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"streamr-client\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"streamr-client\"] = factory();\n\telse\n\t\troot[\"StreamrClient\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 69);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 19d302e41d7621d7502d","var core = module.exports = { version: '2.5.4' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 0\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 1\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 2\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 3\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 4\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 5\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 6\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 7\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 8\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 9\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 10\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 11\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 12\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 13\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 14\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 15\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 16\n// module chunks = 0","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/browser.js\n// module id = 17\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 18\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 19\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 20\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 21\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 22\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 23\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 24\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/classCallCheck.js\n// module id = 25\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/createClass.js\n// module id = 26\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 27\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 28\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 29\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 30\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 31\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 32\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 33\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 34\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 35\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 36\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 37\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 38\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 39\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 40\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/possibleConstructorReturn.js\n// module id = 41\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/inherits.js\n// module id = 42\n// module chunks = 0","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/eventemitter3/index.js\n// module id = 43\n// module chunks = 0","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 44\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 45\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 46\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 47\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 48\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 49\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 50\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 51\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 52\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 53\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 54\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 55\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 56\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 57\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 58\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 59\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 60\n// module chunks = 0","const CONTENT_TYPE_JSON = 27\nconst FIELDS_BY_PROTOCOL_VERSION = {\n '28': ['version', 'streamId', 'streamPartition', 'timestamp', 'ttl', 'offset', 'previousOffset', 'contentType', 'content']\n}\nconst MESSAGE_TYPES = ['b', 'u', 'subscribed', 'unsubscribed', 'resending', 'resent', 'no_resend']\nconst BYE_KEY = '_bye'\n\nexport function decodeBrowserWrapper(rawMsg) {\n let jsonMsg = JSON.parse(rawMsg)\n let version = jsonMsg[0]\n if (version !== 0) {\n throw 'Unknown message version: '+version\n }\n\n return {\n type: MESSAGE_TYPES[jsonMsg[1]],\n subId: jsonMsg[2],\n msg: jsonMsg[3]\n }\n}\n\nexport function decodeMessage(type, message) {\n if (type === 'b' || type === 'u') {\n if (FIELDS_BY_PROTOCOL_VERSION[message[0]] === undefined) {\n throw 'Unsupported version: ' + message[0]\n }\n let result = {}\n let fields = FIELDS_BY_PROTOCOL_VERSION[message[0]]\n\n for (let i = 0; i < message.length; i++) {\n\n // Parse content if necessary\n if (fields[i] === 'content') {\n if (result.contentType === CONTENT_TYPE_JSON) {\n message[i] = JSON.parse(message[i])\n } else {\n throw 'Unknown content type: ' + result.contentType\n }\n }\n\n result[fields[i]] = message[i]\n }\n return result\n } else {\n return message\n }\n}\n\nexport function createSubscribeRequest(stream, resendOptions) {\n let req = {\n stream: stream\n }\n Object.keys(resendOptions).forEach(function(key) {\n req[key] = resendOptions[key]\n })\n return req\n}\n\nexport function isByeMessage(message) {\n return !!message[BYE_KEY]\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Protocol.js","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 63\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 64\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 65\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 66\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 67\n// module chunks = 0","import fetch from 'node-fetch'\nimport debug from 'debug'\n\nconst log = debug('StreamrClient:utils')\n\nexport async function authFetch(url, apiKey, opts = {}) {\n log('fetching: ', url, opts)\n\n let req = Object.assign({}, opts, {\n headers: apiKey ? {\n Authorization: 'token '+ apiKey\n } : undefined\n })\n\n let res = await fetch(url, req)\n\n let text = await res.text()\n\n if (res.ok && text.length) {\n try {\n return JSON.parse(text)\n } catch (err) {\n throw 'Failed to parse JSON response: '+text\n }\n } else if (res.ok) {\n return {}\n } else {\n throw 'Request to '+url+' returned with error code '+res.status+': '+text\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/utils.js","import StreamrClient from './StreamrClient'\nimport AllEndpoints from './rest/AllEndpoints'\n\n// Mixin the rest endpoints to the StreamrClient\nObject.assign(StreamrClient.prototype, AllEndpoints)\n\nexport default StreamrClient\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 70\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 71\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 72\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 73\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 74\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport Subscription from './Subscription'\nimport Connection from './Connection'\n\nexport default class StreamrClient extends EventEmitter {\n\n constructor(options) {\n super()\n\n // Default options\n this.options = {\n // The server to connect to\n url: 'wss://www.streamr.com/api/v1/ws',\n restUrl: 'https://www.streamr.com/api/v1',\n // Automatically connect on first subscribe\n autoConnect: true,\n // Automatically disconnect on last unsubscribe\n autoDisconnect: true,\n apiKey: null\n }\n this.subsByStream = {}\n this.subById = {}\n\n this.connection = null\n this.connected = false\n\n Object.assign(this.options, options || {})\n\n // Backwards compatibility for option 'authKey' => 'apiKey'\n if (this.options.authKey && !this.options.apiKey) {\n this.options.apiKey = this.options.authKey\n }\n }\n\n _addSubscription(sub) {\n this.subById[sub.id] = sub\n\n if (!this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = [sub]\n } else {\n this.subsByStream[sub.streamId].push(sub)\n }\n }\n\n _removeSubscription(sub) {\n delete this.subById[sub.id]\n\n if (this.subsByStream[sub.streamId]) {\n this.subsByStream[sub.streamId] = this.subsByStream[sub.streamId].filter((it) => {\n return it !== sub\n })\n\n if (this.subsByStream[sub.streamId].length === 0) {\n delete this.subsByStream[sub.streamId]\n }\n }\n }\n\n getSubscriptions(streamId) {\n return this.subsByStream[streamId] || []\n }\n\n subscribe(options, callback, legacyOptions) {\n if (!options) {\n throw 'subscribe: Invalid arguments: subscription options is required!'\n } else if (!callback) {\n throw 'subscribe: Invalid arguments: callback is required!'\n }\n\n // Backwards compatibility for giving a streamId as first argument\n if (typeof options === 'string') {\n options = {\n stream: options\n }\n } else if (typeof options !== 'object') {\n throw 'subscribe: options must be an object'\n }\n\n // Backwards compatibility for giving an options object as third argument\n Object.assign(options, legacyOptions)\n\n if (!options.stream) {\n throw 'subscribe: Invalid arguments: options.stream is not given'\n }\n\n // Create the Subscription object and bind handlers\n let sub = new Subscription(options.stream, options.partition || 0, options.apiKey || this.options.apiKey, callback, options)\n sub.on('gap', (from, to) => {\n this._requestResend(sub, {\n resend_from: from, resend_to: to\n })\n })\n sub.on('done', () => {\n debug('done event for sub %d', sub.id)\n this.unsubscribe(sub)\n })\n\n // Add to lookups\n this._addSubscription(sub)\n\n // If connected, emit a subscribe request\n if (this.connected) {\n this._resendAndSubscribe(sub)\n } else if (this.options.autoConnect) {\n this.connect()\n }\n\n return sub\n }\n\n unsubscribe(sub) {\n if (!sub || !sub.streamId) {\n throw 'unsubscribe: please give a Subscription object as an argument!'\n }\n\n // If this is the last subscription for this stream, unsubscribe the client too\n if (this.subsByStream[sub.streamId] !== undefined && this.subsByStream[sub.streamId].length === 1 && this.connected && !this.disconnecting && sub.isSubscribed() && !sub.unsubscribing) {\n sub.unsubscribing = true\n this._requestUnsubscribe(sub.streamId)\n } else if (!sub.unsubscribing) {\n // Else the sub can be cleaned off immediately\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n this._checkAutoDisconnect()\n }\n }\n\n unsubscribeAll(streamId) {\n if (!streamId) {\n throw 'unsubscribeAll: a stream id is required!'\n } else if (typeof streamId !== 'string') {\n throw 'unsubscribe: stream id must be a string!'\n }\n\n if (this.subsByStream[streamId]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[streamId].slice()\n l.forEach((sub) => {\n this.unsubscribe(sub)\n })\n }\n }\n\n isConnected() {\n return this.connected\n }\n\n reconnect() {\n return this.connect(true)\n }\n\n connect() {\n if (this.connected) {\n debug('connect() called while already connected, doing nothing...')\n return\n } else if (this.connecting) {\n debug('connect() called while connecting, doing nothing...')\n return\n }\n\n debug('Connecting to %s', this.options.url)\n this.connecting = true\n this.disconnecting = false\n\n this.connection = new Connection(this.options)\n\n // Broadcast messages to all subs listening on stream\n this.connection.on('b', (msg) => {\n // Notify the Subscriptions for this stream. If this is not the message each individual Subscription\n // is expecting, they will either ignore it or request resend via gap event.\n let streamId = msg.streamId\n let subs = this.subsByStream[streamId]\n if (subs) {\n for (let i = 0; i < subs.length; i++) {\n subs[i].handleMessage(msg, false)\n }\n } else {\n debug('WARN: message received for stream with no subscriptions: %s', streamId)\n }\n })\n\n // Unicast messages to a specific subscription only\n this.connection.on('u', (msg, sub) => {\n if (sub !== undefined && this.subById[sub] !== undefined) {\n this.subById[sub].handleMessage(msg, true)\n } else {\n debug('WARN: subscription not found for stream: %s, sub: %s', msg.streamId, sub)\n }\n })\n\n this.connection.on('subscribed', (response) => {\n if (response.error) {\n this.handleError('Error subscribing to ' + response.stream + ': ' + response.error)\n } else {\n let subs = this.subsByStream[response.stream]\n delete subs._subscribing\n\n debug('Client subscribed: %o', response)\n\n // Report subscribed to all non-resending Subscriptions for this stream\n subs.filter((sub) => {\n return !sub.resending\n })\n .forEach((sub) => {\n sub.emit('subscribed')\n })\n }\n })\n\n this.connection.on('unsubscribed', (response) => {\n debug('Client unsubscribed: %o', response)\n\n if (this.subsByStream[response.stream]) {\n // Copy the list to avoid concurrent modifications\n let l = this.subsByStream[response.stream].slice()\n l.forEach((sub) => {\n this._removeSubscription(sub)\n sub.emit('unsubscribed')\n })\n }\n\n this._checkAutoDisconnect()\n })\n\n // Route resending state messages to corresponding Subscriptions\n this.connection.on('resending', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resending', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('no_resend', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('no_resend', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n this.connection.on('resent', (response) => {\n if (this.subById[response.sub]) {\n this.subById[response.sub].emit('resent', response)\n } else {\n debug('resent: Subscription %d is gone already', response.sub)\n }\n })\n\n // On connect/reconnect, send pending subscription requests\n this.connection.on('connected', () => {\n debug('Connected!')\n this.connected = true\n this.connecting = false\n this.disconnecting = false\n this.emit('connected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n subs.forEach((sub) => {\n if (!sub.isSubscribed()) {\n this._resendAndSubscribe(sub)\n }\n })\n })\n })\n\n this.connection.on('disconnected', () => {\n debug('Disconnected.')\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n this.emit('disconnected')\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n let subs = this.subsByStream[streamId]\n delete subs._subscribing\n subs.forEach((sub) => {\n sub.emit('disconnected')\n })\n })\n })\n\n this.connection.connect() // TODO: i did not find this anywhere else?\n return this.subsByStream\n }\n\n pause() {\n this.connection.disconnect()\n }\n\n disconnect() {\n this.connecting = false\n this.disconnecting = true\n\n Object.keys(this.subsByStream)\n .forEach((streamId) => {\n this.unsubscribeAll(streamId)\n })\n\n this.connection.disconnect()\n }\n\n _checkAutoDisconnect() {\n // Disconnect if no longer subscribed to any streams\n if (this.options.autoDisconnect && Object.keys(this.subsByStream).length === 0) {\n debug('Disconnecting due to no longer being subscribed to any streams')\n this.disconnect()\n }\n }\n\n _resendAndSubscribe(sub) {\n if (!sub.subscribing && !sub.resending) {\n sub.subscribing = true\n this._requestSubscribe(sub)\n\n // Once subscribed, ask for a resend\n sub.once('subscribed', () => {\n if (sub.hasResendOptions()) {\n this._requestResend(sub)\n }\n })\n }\n }\n\n _requestSubscribe(sub) {\n let subs = this.subsByStream[sub.streamId]\n\n let subscribedSubs = subs.filter((it) => {\n return it.isSubscribed()\n })\n\n // If this is the first subscription for this stream, send a subscription request to the server\n if (!subs._subscribing && subscribedSubs.length === 0) {\n let req = Object.assign({}, sub.options, {\n type: 'subscribe', stream: sub.streamId, authKey: sub.apiKey\n })\n debug('_requestSubscribe: subscribing client: %o', req)\n subs._subscribing = true\n this.connection.send(req)\n } else if (subscribedSubs.length > 0) {\n // If there already is a subscribed subscription for this stream, this new one will just join it immediately\n debug('_requestSubscribe: another subscription for same stream: %s, insta-subscribing', sub.streamId)\n\n setTimeout(() => {\n sub.emit('subscribed')\n }, 0)\n }\n }\n\n _requestUnsubscribe(streamId) {\n debug('Client unsubscribing stream %o', streamId)\n this.connection.send({\n type: 'unsubscribe',\n stream: streamId\n })\n }\n\n _requestResend(sub, resendOptions) {\n // If overriding resendOptions are given, need to remove resend options in sub.options\n let options = Object.assign({}, sub.getEffectiveResendOptions())\n if (resendOptions) {\n Object.keys(options)\n .forEach((key) => {\n if (key.match(/resend_.*/)) {\n delete options[key]\n }\n })\n }\n\n sub.resending = true\n\n let request = Object.assign({}, options, resendOptions, {\n type: 'resend', stream: sub.streamId, partition: sub.streamPartition, authKey: sub.apiKey, sub: sub.id\n })\n debug('_requestResend: %o', request)\n this.connection.send(request)\n }\n\n handleError(msg) {\n debug(msg)\n this.emit('error', msg)\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/StreamrClient.js","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 76\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 77\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 78\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 79\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 80\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 81\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 82\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 83\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 84\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 85\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 86\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 87\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 88\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 89\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 90\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 91\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 92\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 93\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 94\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 95\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 96\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 97\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 98\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 99\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 100\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 101\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 102\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 103\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 104\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 105\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 106\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // 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\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // 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.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 107\n// module chunks = 0","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/debug/src/debug.js\n// module id = 108\n// module chunks = 0","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ms/index.js\n// module id = 109\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\n\nimport {isByeMessage} from './Protocol'\n\nlet subId = 0\nfunction generateSubscriptionId() {\n let id = subId++\n return id.toString()\n}\n\nexport default class Subscription extends EventEmitter {\n\n constructor(streamId, streamPartition, apiKey, callback, options) {\n super()\n\n if (!streamId) {\n throw 'No stream id given!'\n }\n if (!callback) {\n throw 'No callback given!'\n }\n\n this.id = generateSubscriptionId()\n this.streamId = streamId\n this.streamPartition = streamPartition\n this.apiKey = apiKey\n this.callback = callback\n this.options = options || {}\n this.queue = []\n this.subscribing = false\n this.subscribed = false\n this.lastReceivedOffset = null\n\n // Check that multiple resend options are not given\n let resendOptionCount = 0\n if (this.options.resend_all) {\n resendOptionCount++\n }\n if (this.options.resend_from != null) {\n resendOptionCount++\n }\n if (this.options.resend_last != null) {\n resendOptionCount++\n }\n if (this.options.resend_from_time != null) {\n resendOptionCount++\n }\n if (resendOptionCount > 1) {\n throw 'Multiple resend options active! Please use only one: ' + JSON.stringify(options)\n }\n\n // Automatically convert Date objects to numbers for resend_from_time\n if (this.options.resend_from_time != null\n && typeof this.options.resend_from_time !== 'number') {\n\n if (typeof this.options.resend_from_time.getTime === 'function') {\n this.options.resend_from_time = this.options.resend_from_time.getTime()\n } else {\n throw 'resend_from_time option must be a Date object or a number representing time!'\n }\n }\n\n /*** Message handlers ***/\n\n this.on('subscribed', () => {\n debug('Sub %s subscribed to stream: %s', this.id, this.streamId)\n this.subscribed = true\n this.subscribing = false\n })\n\n this.on('unsubscribed', () => {\n debug('Sub %s unsubscribed: %s', this.id, this.streamId)\n this.subscribed = false\n this.subscribing = false\n this.unsubscribing = false\n this.resending = false\n })\n\n this.on('resending', (response) => {\n debug('Sub %s resending: %o', this.id, response)\n // this.resending = true was set elsewhere before making the request\n })\n\n this.on('no_resend', (response) => {\n debug('Sub %s no_resend: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('resent', (response) => {\n debug('Sub %s resent: %o', this.id, response)\n this.resending = false\n this.checkQueue()\n })\n\n this.on('connected', () => {\n\n })\n\n this.on('disconnected', () => {\n this.subscribed = false\n this.subscribing = false\n this.resending = false\n })\n }\n\n handleMessage(msg, isResend) {\n let content = msg.content\n let offset = msg.offset\n let previousOffset = msg.previousOffset\n\n if (previousOffset == null) {\n debug('handleMessage: prevOffset is null, gap detection is impossible! message: %o', msg)\n }\n\n // TODO: check this.options.resend_last ?\n // If resending, queue broadcasted messages\n if (this.resending && !isResend) {\n this.queue.push(msg)\n } else {\n // Gap check\n if (previousOffset != null && \t\t\t\t\t// previousOffset is required to check for gaps\n this.lastReceivedOffset != null && \t\t// and we need to know what msg was the previous one\n previousOffset > this.lastReceivedOffset &&\t// previous message had larger offset than our previous msg => gap!\n !this.resending) {\n\n // Queue the message to be processed after resend\n this.queue.push(msg)\n\n let from = this.lastReceivedOffset + 1\n let to = previousOffset\n debug('Gap detected, requesting resend for stream %s from %d to %d', this.streamId, from, to)\n this.emit('gap', from, to)\n } else if (this.lastReceivedOffset != null && offset <= this.lastReceivedOffset) {\n // Prevent double-processing of messages for any reason\n debug('Sub %s already received message: %d, lastReceivedOffset: %d. Ignoring message.', this.id, offset, this.lastReceivedOffset)\n } else {\n // Normal case where prevOffset == null || lastReceivedOffset == null || prevOffset === lastReceivedOffset\n this.lastReceivedOffset = offset\n this.callback(content, msg)\n if (isByeMessage(content)) {\n this.emit('done')\n }\n }\n }\n }\n\n checkQueue() {\n if (this.queue.length) {\n debug('Attempting to process %d queued messages for stream %s', this.queue.length, this.streamId)\n\n let i\n let length = this.queue.length\n\n let originalQueue = this.queue\n this.queue = []\n\n for (i = 0; i < length; i++) {\n let msg = originalQueue[i]\n this.handleMessage(msg, false)\n }\n }\n }\n\n hasResendOptions() {\n return this.options.resend_all === true || this.options.resend_from >= 0 || this.options.resend_from_time >= 0 || this.options.resend_last > 0\n }\n\n /**\n * Resend needs can change if messages have already been received.\n * This function always returns the effective resend options:\n *\n * If messages have been received:\n * - resend_all becomes resend_from\n * - resend_from becomes resend_from the latest received message\n * - resend_from_time becomes resend_from the latest received message\n * - resend_last stays the same\n */\n getEffectiveResendOptions() {\n if (this.hasReceivedMessages() && this.hasResendOptions()) {\n if (this.options.resend_all || this.options.resend_from || this.options.resend_from_time) {\n return {\n resend_from: this.lastReceivedOffset + 1\n }\n } else if (this.options.resend_last) {\n return this.options\n }\n } else {\n return this.options\n }\n }\n\n hasReceivedMessages() {\n return this.lastReceivedOffset != null\n }\n\n isSubscribed() {\n return this.subscribed\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Subscription.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 111\n// module chunks = 0","import EventEmitter from 'eventemitter3'\nimport debug from 'debug'\nimport WebSocket from 'ws'\n\nimport {decodeBrowserWrapper, decodeMessage} from './Protocol'\n\nexport default class Connection extends EventEmitter {\n constructor(options) {\n super()\n if (!options.url) {\n throw 'URL is not defined!'\n }\n this.options = options\n this.connected = false\n this.connecting = false\n this.disconnecting = false\n\n if (options.autoConnect) {\n this.connect()\n }\n }\n\n connect() {\n if (!(this.connected || this.connecting)) {\n this.connecting = true\n\n this.socket = new WebSocket(this.options.url)\n this.socket.binaryType = 'arraybuffer'\n this.emit('connecting')\n\n this.socket.onopen = () => {\n debug('Connected to ', this.options.url)\n this.connected = true\n this.connecting = false\n this.emit('connected')\n }\n\n this.socket.onclose = () => {\n if (!this.disconnecting) {\n debug('Connection lost. Attempting to reconnect')\n setTimeout(() => {\n this.connect()\n }, 2000)\n } else {\n this.disconnecting = false\n }\n\n this.connected = false\n this.connecting = false\n this.emit('disconnected')\n }\n\n this.socket.onmessage = (messageEvent) => {\n let decoded = decodeBrowserWrapper(messageEvent.data)\n this.emit(decoded.type, decodeMessage(decoded.type, decoded.msg), decoded.subId)\n }\n }\n }\n\n disconnect() {\n if (this.socket !== undefined && (this.connected || this.connecting)) {\n this.disconnecting = true\n this.socket.close()\n }\n }\n\n send(req) {\n this.socket.send(JSON.stringify(req))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Connection.js","// In browsers, the ws package is replaced with this to use native websockets\n\nlet ws\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else {\n ws = window.WebSocket\n}\n\nmodule.exports = ws\n\n\n\n// WEBPACK FOOTER //\n// ./src/shim/ws.js","import * as StreamEndpoints from './StreamEndpoints'\n\nlet endpoints = Object.assign({}, StreamEndpoints)\n\nexport default endpoints\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/AllEndpoints.js","import {stringify} from 'querystring'\nimport debug from 'debug'\n\nimport Stream from './domain/Stream'\nimport {authFetch} from './utils'\n\n// These function are mixed in to StreamrClient.prototype.\n// In the below functions, 'this' is intended to be the StreamrClient\n\nexport async function getStream(streamId, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams/' + streamId\n let json = await authFetch(url, apiKey)\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function listStreams(query = {}, apiKey = this.options.apiKey) {\n let url = this.options.restUrl + '/streams?' + stringify(query)\n let json = await authFetch(url, apiKey)\n return json ? json.map((stream) => new Stream(this, stream)) : []\n}\n\nexport async function getStreamByName(name, apiKey = this.options.apiKey) {\n let json = await this.listStreams({\n name: name,\n public: false\n }, apiKey)\n return json[0] ? new Stream(this, json[0]) : undefined\n}\n\nexport async function createStream(props, apiKey = this.options.apiKey) {\n if (!props || !props.name) {\n throw 'Stream properties must contain a \"name\" field!'\n }\n\n let json = await authFetch(this.options.restUrl + '/streams',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify(props)\n })\n return json ? new Stream(this, json) : undefined\n}\n\nexport async function getOrCreateStream(props, apiKey = this.options.apiKey) {\n let json\n\n // Try looking up the stream by id or name, whichever is defined\n if (props.id) {\n json = await this.getStream(props.id, apiKey)\n } else if (props.name) {\n json = await this.getStreamByName(props.name, apiKey)\n }\n\n // If not found, try creating the stream\n if (!json) {\n json = await this.createStream(props, apiKey)\n debug('Created stream: %s (%s)', props.name, json.id)\n }\n\n // If still nothing, throw\n if (!json) {\n throw 'Unable to find or create stream: ' + props.name\n } else {\n return new Stream(this, json)\n }\n}\n\nexport function produceToStream(streamId, data, apiKey = this.options.apiKey, requestOptions = {}) {\n if (streamId instanceof Stream) {\n streamId = streamId.id\n }\n\n // Send data to the stream\n return authFetch(this.options.restUrl + '/streams/' + streamId + '/data',\n apiKey,\n Object.assign({}, requestOptions, {\n method: 'POST',\n body: JSON.stringify(data)\n })\n )\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/StreamEndpoints.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime-module.js\n// module id = 116\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 117\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 118\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 119\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 120\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 121\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 122\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 123\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 124\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 125\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 126\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 127\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 128\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 129\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 130\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 131\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 132\n// module chunks = 0","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/index.js\n// module id = 133\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/decode.js\n// module id = 134\n// module chunks = 0","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/querystring-es3/encode.js\n// module id = 135\n// module chunks = 0","import {authFetch} from '../utils'\n\nexport default class Stream {\n\n constructor(client, props) {\n this._client = client\n Object.assign(this, props)\n }\n\n async update(apiKey = this._client.options.apiKey) {\n let json = await authFetch(this._client.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'PUT',\n body: JSON.stringify(this)\n })\n return json ? new Stream(this._client, json) : undefined\n }\n\n delete(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id,\n apiKey,\n {\n method: 'DELETE',\n })\n }\n\n getPermissions(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions', apiKey)\n }\n\n async isPublic(apiKey = this._client.options.apiKey) {\n let permissions = await this.getPermissions(apiKey)\n return permissions.find((permission) => (permission.anonymous && permission.operation === 'read')) !== undefined\n }\n\n makePublic(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/permissions',\n apiKey,\n {\n method: 'POST',\n body: JSON.stringify({\n anonymous: true,\n operation: 'read'\n }),\n })\n }\n\n detectFields(apiKey = this._client.options.apiKey) {\n return authFetch(this._client.options.restUrl + '/streams/' + this.id + '/detectFields', apiKey)\n }\n\n produce(data, apiKey = this._client.options.apiKey, requestOptions = {}) {\n return this._client.produceToStream(this.id, data, apiKey, requestOptions)\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/rest/domain/Stream.js","// In browsers, the node-fetch package is replaced with this to use native fetch\n\nif (typeof fetch !== 'undefined') {\n module.exports = fetch\n} else {\n module.exports = window.fetch\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/shim/node-fetch.js"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/streamr-client.web.min.js b/dist/streamr-client.web.min.js index c3ab28696..0dedd28c2 100644 --- a/dist/streamr-client.web.min.js +++ b/dist/streamr-client.web.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("streamr-client",[],e):"object"==typeof exports?exports["streamr-client"]=e():t.StreamrClient=e()}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=69)}([function(t,e){var n=t.exports={version:"2.5.4"};"number"==typeof __e&&(__e=n)},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(34)("wks"),o=n(20),i=n(1).Symbol,s="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=s&&i[t]||(s?i:o)("Symbol."+t))}).store=r},function(t,e,n){var r=n(1),o=n(0),i=n(13),s=n(8),u=n(9),c=function(t,e,n){var a,f,l,d=t&c.F,p=t&c.G,h=t&c.S,v=t&c.P,y=t&c.B,m=t&c.W,b=p?o:o[e]||(o[e]={}),g=b.prototype,_=p?r:h?r[e]:(r[e]||{}).prototype;for(a in p&&(n=e),n)(f=!d&&_&&void 0!==_[a])&&u(b,a)||(l=f?_[a]:n[a],b[a]=p&&"function"!=typeof _[a]?n[a]:y&&f?i(l,r):m&&_[a]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):v&&"function"==typeof l?i(Function.call,l):l,v&&((b.virtual||(b.virtual={}))[a]=l,t&c.R&&g&&!g[a]&&s(g,a,l)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,n){var r=n(6);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(4),o=n(47),i=n(30),s=Object.defineProperty;e.f=n(7)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e,n){t.exports=!n(11)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(5),o=n(19);t.exports=n(7)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports={default:n(70),__esModule:!0}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(49),o=n(31);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(18);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(48),o=n(35);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports={}},function(t,e,n){(function(r){function o(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==r&&"env"in r&&(t=r.env.DEBUG),t}(e=t.exports=n(108)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var n=this.useColors;if(t[0]=(n?"%c":"")+this.namespace+(n?" %c":" ")+t[0]+(n?"%c ":" ")+"+"+e.humanize(this.diff),!n)return;var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var o=0,i=0;t[0].replace(/%[a-zA-Z%]/g,function(t){"%%"!==t&&"%c"===t&&(i=++o)}),t.splice(i,0,r)},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=o,e.useColors=function(){if("undefined"!=typeof window&&window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(o())}).call(e,n(107))},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(31);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";e.__esModule=!0;var r=s(n(78)),o=s(n(86)),i="function"==typeof o.default&&"symbol"==typeof r.default?function(t){return typeof t}:function(t){return t&&"function"==typeof o.default&&t.constructor===o.default&&t!==o.default.prototype?"symbol":typeof t};function s(t){return t&&t.__esModule?t:{default:t}}e.default="function"==typeof o.default&&"symbol"===i(r.default)?function(t){return void 0===t?"undefined":i(t)}:function(t){return t&&"function"==typeof o.default&&t.constructor===o.default&&t!==o.default.prototype?"symbol":void 0===t?"undefined":i(t)}},function(t,e){t.exports=!0},function(t,e,n){var r=n(5).f,o=n(9),i=n(2)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){"use strict";e.__esModule=!0;var r,o=n(97),i=(r=o)&&r.__esModule?r:{default:r};e.default=function(){function t(t,e){for(var n=0;n0?r:n)(t)}},function(t,e,n){var r=n(34)("keys"),o=n(20);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(1),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(4),o=n(82),i=n(35),s=n(33)("IE_PROTO"),u=function(){},c=function(){var t,e=n(29)("iframe"),r=i.length;for(e.style.display="none",n(56).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write(" + +