@voicenter-team/events-sdk 0.0.68 → 0.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/voicenter-events-sdk.cjs.js +1 -1
- package/dist/voicenter-events-sdk.cjs.js.map +1 -1
- package/dist/voicenter-events-sdk.d.ts +846 -324
- package/dist/voicenter-events-sdk.es.js +7 -1
- package/dist/voicenter-events-sdk.es.js.map +1 -1
- package/dist/voicenter-events-sdk.iife.js +1 -1
- package/dist/voicenter-events-sdk.iife.js.map +1 -1
- package/dist/voicenter-events-sdk.umd.js +1 -1
- package/dist/voicenter-events-sdk.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voicenter-events-sdk.iife.js","sources":["../node_modules/crypt/crypt.js","../node_modules/charenc/charenc.js","../node_modules/is-buffer/index.js","../node_modules/md5/md5.js","../src/classes/events-sdk/events-sdk.types.ts","../src/enum/auth.enum.ts","../src/classes/storage/storage.class.ts","../node_modules/@voicenter-team/socketio-storage-logger/dist/storage-logger.es.js","../src/classes/auth/auth.class.ts","../src/classes/events-sdk/events-sdk-default-options.ts","../src/classes/socket-io/versions/v1_3_7.js","../src/classes/socket-io/versions/index.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/CallStatusEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/CallTypeEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/ConnectionStatusEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/DialerTypeEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/DirectionEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/DoNotCallMeStatusCodeEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/EventsEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/ExtensionEventReasonEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/ExtensionHangupCauseEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/QueueEventReasonEnum.ts","../src/classes/socket-io/events-handler.ts","../src/enum/socket.enum.ts","../src/classes/socket-io/socket-io.class.ts","../src/classes/logger/logger.class.ts","../src/classes/event-emitter/event-emitter.class.ts","../src/classes/events-sdk/events-sdk.class.ts"],"sourcesContent":["(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","import { Socket } from 'socket.io-client'\r\nimport { LoginType } from '@/enum/auth.enum'\r\nimport StorageLogger, { LoggerOptions } from '@voicenter-team/socketio-storage-logger'\r\n\r\nexport interface EventsSdkOptionsBase {\r\n loginType: LoginType,\r\n isNewStack?: boolean,\r\n forceNew?: boolean,\r\n servers?: Server[],\r\n reconnectionDelay?: number,\r\n timeout?: number,\r\n keepAliveTimeout?: number,\r\n protocol?: string,\r\n useLogger?: boolean,\r\n loggerSocketConnection?: Socket,\r\n loggerServer?: string,\r\n loggerConfig?: LoggerOptions,\r\n loggerConnectOptions?: LoggerConnectOptions,\r\n storageLoggerInstance?: StorageLogger\r\n // transports?: string[],\r\n // upgrade?: boolean,\r\n // serverFetchStrategy?: string,\r\n // serverType?: number,\r\n // idleInterval?: number,\r\n // reconnectionDelayMax?: number,\r\n // maxReconnectAttempts: number,\r\n}\r\n\r\ntype EventsSdkOptionsUserLogin = EventsSdkOptionsBase & {\r\n loginType: LoginType.USER,\r\n email: string,\r\n password: string,\r\n}\r\n\r\ntype EventsSdkOptionsTokenLogin = EventsSdkOptionsBase & {\r\n loginType: LoginType.TOKEN,\r\n token: string,\r\n}\r\n\r\ntype EventsSdkOptionsOldStack = EventsSdkOptionsBase & {\r\n isNewStack?: false,\r\n loginUrl?: string,\r\n refreshTokenUrl?: string,\r\n}\r\n\r\ntype EventsSdkOptionsNewStack = EventsSdkOptionsBase & {\r\n isNewStack: true,\r\n loginUrl?: string,\r\n refreshTokenUrl?: string,\r\n getSettingsUrl: string,\r\n}\r\n\r\nexport type EventsSdkOptionsClient = EventsSdkOptionsUserLogin | EventsSdkOptionsTokenLogin | EventsSdkOptionsOldStack | EventsSdkOptionsNewStack\r\n\r\nexport type EventsSdkOptionsMain = Required<Pick<\r\n EventsSdkOptionsOldStack | EventsSdkOptionsNewStack,\r\n 'isNewStack' |\r\n 'loginUrl' |\r\n 'refreshTokenUrl' |\r\n 'forceNew' |\r\n 'protocol' |\r\n 'timeout' |\r\n 'loggerConfig' |\r\n 'keepAliveTimeout' |\r\n 'reconnectionDelay' |\r\n 'loggerServer' |\r\n 'useLogger'\r\n >> & {\r\n getSettingsUrl?: string,\r\n token?: string,\r\n email?: string,\r\n password?: string,\r\n storageLoggerInstance?: StorageLogger,\r\n loggerConnectOptions?: LoggerConnectOptions,\r\n loggerSocketConnection?: Socket,\r\n}\r\n\r\nexport interface Server {\r\n Priority: number,\r\n Domain: string,\r\n URLID: number,\r\n Version: string,\r\n}\r\n\r\nexport interface LoggerConfig {\r\n logToConsole?: boolean,\r\n overloadGlobalConsole?: boolean,\r\n system: string,\r\n socketEmitInterval?: number\r\n}\r\n\r\nexport interface LoggerConnectOptions {\r\n reconnection?: boolean,\r\n reconnectionDelay?: number,\r\n reconnectionAttempts?: number,\r\n perMessageDeflate?: {\r\n threshold: number\r\n },\r\n upgrade?: boolean,\r\n transports?: string[],\r\n debug?: boolean\r\n}\r\n\r\nexport enum ServerParameter {\r\n MAIN = 'main',\r\n NEXT = 'next'\r\n}\r\n","export enum LoginType {\r\n USER = 'User',\r\n TOKEN = 'Token'\r\n}","export class StorageClass {\r\n public static getSessionStorageDataByKey <T extends object> (key: string, doParse?: true): Promise<T | undefined>\r\n public static getSessionStorageDataByKey (key: string, doParse?: false): Promise<string | undefined>\r\n public static async getSessionStorageDataByKey (key: string, doParse = true) {\r\n if (typeof chrome !== 'undefined' && typeof chrome.storage !== 'undefined') {\r\n const loginSessionKey = await chrome.storage.session.get(key)\r\n\r\n if (loginSessionKey[key]) {\r\n if (doParse) {\r\n return JSON.parse(loginSessionKey[key])\r\n } else {\r\n return loginSessionKey[key]\r\n }\r\n }\r\n }\r\n\r\n if (typeof window !== 'undefined' && typeof window.sessionStorage !== 'undefined' && typeof window.sessionStorage.getItem === 'function') {\r\n const loginSessionKey = window.sessionStorage.getItem(key)\r\n\r\n if (loginSessionKey) {\r\n if (doParse) {\r\n return JSON.parse(loginSessionKey)\r\n } else {\r\n return loginSessionKey\r\n }\r\n }\r\n }\r\n }\r\n\r\n public static async updateSessionStorageKey <T> (key: string, storageData: Partial<T>) {\r\n if (typeof chrome !== 'undefined' && typeof chrome.storage !== 'undefined') {\r\n await chrome.storage.session.set({\r\n [key]: JSON.stringify(storageData)\r\n })\r\n }\r\n\r\n if (typeof window !== 'undefined' && typeof window.sessionStorage !== 'undefined' && typeof window.sessionStorage.setItem === 'function') {\r\n window.sessionStorage.setItem(key, JSON.stringify(storageData))\r\n }\r\n }\r\n\r\n public static clearSessionStorage () {\r\n if (typeof chrome !== 'undefined' && typeof chrome.storage !== 'undefined') {\r\n chrome.storage.session.clear()\r\n }\r\n\r\n if (typeof window !== 'undefined' && typeof window.sessionStorage !== 'undefined' && typeof window.sessionStorage.clear === 'function') {\r\n window.sessionStorage.clear()\r\n }\r\n }\r\n}\r\n","var Dt = Object.defineProperty;\nvar qt = (e, t, r) => t in e ? Dt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar O = (e, t, r) => (qt(e, typeof t != \"symbol\" ? t + \"\" : t, r), r);\nfunction Pt(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nfunction _t(e) {\n if (e.__esModule)\n return e;\n var t = e.default;\n if (typeof t == \"function\") {\n var r = function n() {\n return this instanceof n ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);\n };\n r.prototype = t.prototype;\n } else\n r = {};\n return Object.defineProperty(r, \"__esModule\", { value: !0 }), Object.keys(e).forEach(function(n) {\n var i = Object.getOwnPropertyDescriptor(e, n);\n Object.defineProperty(r, n, i.get ? i : {\n enumerable: !0,\n get: function() {\n return e[n];\n }\n });\n }), r;\n}\nvar Oe = { exports: {} }, Ut = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/, Lt = [\n \"source\",\n \"protocol\",\n \"authority\",\n \"userInfo\",\n \"user\",\n \"password\",\n \"host\",\n \"port\",\n \"relative\",\n \"path\",\n \"directory\",\n \"file\",\n \"query\",\n \"anchor\"\n], lt = function(t) {\n var r = t, n = t.indexOf(\"[\"), i = t.indexOf(\"]\");\n n != -1 && i != -1 && (t = t.substring(0, n) + t.substring(n, i).replace(/:/g, \";\") + t.substring(i, t.length));\n for (var o = Ut.exec(t || \"\"), s = {}, f = 14; f--; )\n s[Lt[f]] = o[f] || \"\";\n return n != -1 && i != -1 && (s.source = r, s.host = s.host.substring(1, s.host.length - 1).replace(/;/g, \":\"), s.authority = s.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\"), s.ipv6uri = !0), s.pathNames = Mt(s, s.path), s.queryKey = $t(s, s.query), s;\n};\nfunction Mt(e, t) {\n var r = /\\/{2,9}/g, n = t.replace(r, \"/\").split(\"/\");\n return (t.substr(0, 1) == \"/\" || t.length === 0) && n.splice(0, 1), t.substr(t.length - 1, 1) == \"/\" && n.splice(n.length - 1, 1), n;\n}\nfunction $t(e, t) {\n var r = {};\n return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function(n, i, o) {\n i && (r[i] = o);\n }), r;\n}\nvar Ie = { exports: {} }, Re = { exports: {} }, ie = 1e3, oe = ie * 60, se = oe * 60, ae = se * 24, Ht = ae * 365.25, Xt = function(e, t) {\n t = t || {};\n var r = typeof e;\n if (r === \"string\" && e.length > 0)\n return Wt(e);\n if (r === \"number\" && isNaN(e) === !1)\n return t.long ? jt(e) : zt(e);\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e)\n );\n};\nfunction Wt(e) {\n if (e = String(e), !(e.length > 100)) {\n var t = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n e\n );\n if (t) {\n var r = parseFloat(t[1]), n = (t[2] || \"ms\").toLowerCase();\n switch (n) {\n case \"years\":\n case \"year\":\n case \"yrs\":\n case \"yr\":\n case \"y\":\n return r * Ht;\n case \"days\":\n case \"day\":\n case \"d\":\n return r * ae;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return r * se;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return r * oe;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return r * ie;\n case \"milliseconds\":\n case \"millisecond\":\n case \"msecs\":\n case \"msec\":\n case \"ms\":\n return r;\n default:\n return;\n }\n }\n }\n}\nfunction zt(e) {\n return e >= ae ? Math.round(e / ae) + \"d\" : e >= se ? Math.round(e / se) + \"h\" : e >= oe ? Math.round(e / oe) + \"m\" : e >= ie ? Math.round(e / ie) + \"s\" : e + \"ms\";\n}\nfunction jt(e) {\n return ce(e, ae, \"day\") || ce(e, se, \"hour\") || ce(e, oe, \"minute\") || ce(e, ie, \"second\") || e + \" ms\";\n}\nfunction ce(e, t, r) {\n if (!(e < t))\n return e < t * 1.5 ? Math.floor(e / t) + \" \" + r : Math.ceil(e / t) + \" \" + r + \"s\";\n}\n(function(e, t) {\n t = e.exports = n.debug = n.default = n, t.coerce = h, t.disable = s, t.enable = o, t.enabled = f, t.humanize = Xt, t.instances = [], t.names = [], t.skips = [], t.formatters = {};\n function r(u) {\n var p = 0, d;\n for (d in u)\n p = (p << 5) - p + u.charCodeAt(d), p |= 0;\n return t.colors[Math.abs(p) % t.colors.length];\n }\n function n(u) {\n var p;\n function d() {\n if (d.enabled) {\n var y = d, a = +/* @__PURE__ */ new Date(), N = a - (p || a);\n y.diff = N, y.prev = p, y.curr = a, p = a;\n for (var k = new Array(arguments.length), l = 0; l < k.length; l++)\n k[l] = arguments[l];\n k[0] = t.coerce(k[0]), typeof k[0] != \"string\" && k.unshift(\"%O\");\n var b = 0;\n k[0] = k[0].replace(/%([a-zA-Z%])/g, function(_, c) {\n if (_ === \"%%\")\n return _;\n b++;\n var g = t.formatters[c];\n if (typeof g == \"function\") {\n var v = k[b];\n _ = g.call(y, v), k.splice(b, 1), b--;\n }\n return _;\n }), t.formatArgs.call(y, k);\n var I = d.log || t.log || console.log.bind(console);\n I.apply(y, k);\n }\n }\n return d.namespace = u, d.enabled = t.enabled(u), d.useColors = t.useColors(), d.color = r(u), d.destroy = i, typeof t.init == \"function\" && t.init(d), t.instances.push(d), d;\n }\n function i() {\n var u = t.instances.indexOf(this);\n return u !== -1 ? (t.instances.splice(u, 1), !0) : !1;\n }\n function o(u) {\n t.save(u), t.names = [], t.skips = [];\n var p, d = (typeof u == \"string\" ? u : \"\").split(/[\\s,]+/), y = d.length;\n for (p = 0; p < y; p++)\n d[p] && (u = d[p].replace(/\\*/g, \".*?\"), u[0] === \"-\" ? t.skips.push(new RegExp(\"^\" + u.substr(1) + \"$\")) : t.names.push(new RegExp(\"^\" + u + \"$\")));\n for (p = 0; p < t.instances.length; p++) {\n var a = t.instances[p];\n a.enabled = t.enabled(a.namespace);\n }\n }\n function s() {\n t.enable(\"\");\n }\n function f(u) {\n if (u[u.length - 1] === \"*\")\n return !0;\n var p, d;\n for (p = 0, d = t.skips.length; p < d; p++)\n if (t.skips[p].test(u))\n return !1;\n for (p = 0, d = t.names.length; p < d; p++)\n if (t.names[p].test(u))\n return !0;\n return !1;\n }\n function h(u) {\n return u instanceof Error ? u.stack || u.message : u;\n }\n})(Re, Re.exports);\nvar Jt = Re.exports;\n(function(e, t) {\n t = e.exports = Jt, t.log = i, t.formatArgs = n, t.save = o, t.load = s, t.useColors = r, t.storage = typeof chrome < \"u\" && typeof chrome.storage < \"u\" ? chrome.storage.local : f(), t.colors = [\n \"#0000CC\",\n \"#0000FF\",\n \"#0033CC\",\n \"#0033FF\",\n \"#0066CC\",\n \"#0066FF\",\n \"#0099CC\",\n \"#0099FF\",\n \"#00CC00\",\n \"#00CC33\",\n \"#00CC66\",\n \"#00CC99\",\n \"#00CCCC\",\n \"#00CCFF\",\n \"#3300CC\",\n \"#3300FF\",\n \"#3333CC\",\n \"#3333FF\",\n \"#3366CC\",\n \"#3366FF\",\n \"#3399CC\",\n \"#3399FF\",\n \"#33CC00\",\n \"#33CC33\",\n \"#33CC66\",\n \"#33CC99\",\n \"#33CCCC\",\n \"#33CCFF\",\n \"#6600CC\",\n \"#6600FF\",\n \"#6633CC\",\n \"#6633FF\",\n \"#66CC00\",\n \"#66CC33\",\n \"#9900CC\",\n \"#9900FF\",\n \"#9933CC\",\n \"#9933FF\",\n \"#99CC00\",\n \"#99CC33\",\n \"#CC0000\",\n \"#CC0033\",\n \"#CC0066\",\n \"#CC0099\",\n \"#CC00CC\",\n \"#CC00FF\",\n \"#CC3300\",\n \"#CC3333\",\n \"#CC3366\",\n \"#CC3399\",\n \"#CC33CC\",\n \"#CC33FF\",\n \"#CC6600\",\n \"#CC6633\",\n \"#CC9900\",\n \"#CC9933\",\n \"#CCCC00\",\n \"#CCCC33\",\n \"#FF0000\",\n \"#FF0033\",\n \"#FF0066\",\n \"#FF0099\",\n \"#FF00CC\",\n \"#FF00FF\",\n \"#FF3300\",\n \"#FF3333\",\n \"#FF3366\",\n \"#FF3399\",\n \"#FF33CC\",\n \"#FF33FF\",\n \"#FF6600\",\n \"#FF6633\",\n \"#FF9900\",\n \"#FF9933\",\n \"#FFCC00\",\n \"#FFCC33\"\n ];\n function r() {\n return typeof window < \"u\" && window.process && window.process.type === \"renderer\" ? !0 : typeof navigator < \"u\" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/) ? !1 : typeof document < \"u\" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // is firebug? http://stackoverflow.com/a/398120/376773\n typeof window < \"u\" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator < \"u\" && 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\n typeof navigator < \"u\" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n }\n t.formatters.j = function(h) {\n try {\n return JSON.stringify(h);\n } catch (u) {\n return \"[UnexpectedJSONParseError]: \" + u.message;\n }\n };\n function n(h) {\n var u = this.useColors;\n if (h[0] = (u ? \"%c\" : \"\") + this.namespace + (u ? \" %c\" : \" \") + h[0] + (u ? \"%c \" : \" \") + \"+\" + t.humanize(this.diff), !!u) {\n var p = \"color: \" + this.color;\n h.splice(1, 0, p, \"color: inherit\");\n var d = 0, y = 0;\n h[0].replace(/%[a-zA-Z%]/g, function(a) {\n a !== \"%%\" && (d++, a === \"%c\" && (y = d));\n }), h.splice(y, 0, p);\n }\n }\n function i() {\n return typeof console == \"object\" && console.log && Function.prototype.apply.call(console.log, console, arguments);\n }\n function o(h) {\n try {\n h == null ? t.storage.removeItem(\"debug\") : t.storage.debug = h;\n } catch {\n }\n }\n function s() {\n var h;\n try {\n h = t.storage.debug;\n } catch {\n }\n return !h && typeof process < \"u\" && \"env\" in process && (h = process.env.DEBUG), h;\n }\n t.enable(s());\n function f() {\n try {\n return window.localStorage;\n } catch {\n }\n }\n})(Ie, Ie.exports);\nvar X = Ie.exports, Vt = lt, Ve = X(\"socket.io-client:url\"), Gt = Kt;\nfunction Kt(e, t) {\n var r = e;\n t = t || typeof location < \"u\" && location, e == null && (e = t.protocol + \"//\" + t.host), typeof e == \"string\" && (e.charAt(0) === \"/\" && (e.charAt(1) === \"/\" ? e = t.protocol + e : e = t.host + e), /^(https?|wss?):\\/\\//.test(e) || (Ve(\"protocol-less url %s\", e), typeof t < \"u\" ? e = t.protocol + \"//\" + e : e = \"https://\" + e), Ve(\"parse %s\", e), r = Vt(e)), r.port || (/^(http|ws)$/.test(r.protocol) ? r.port = \"80\" : /^(http|ws)s$/.test(r.protocol) && (r.port = \"443\")), r.path = r.path || \"/\";\n var n = r.host.indexOf(\":\") !== -1, i = n ? \"[\" + r.host + \"]\" : r.host;\n return r.id = r.protocol + \"://\" + i + \":\" + r.port, r.href = r.protocol + \"://\" + i + (t && t.port === r.port ? \"\" : \":\" + r.port), r;\n}\nvar ve = {}, pt = { exports: {} };\n(function(e) {\n e.exports = t;\n function t(n) {\n if (n)\n return r(n);\n }\n function r(n) {\n for (var i in t.prototype)\n n[i] = t.prototype[i];\n return n;\n }\n t.prototype.on = t.prototype.addEventListener = function(n, i) {\n return this._callbacks = this._callbacks || {}, (this._callbacks[\"$\" + n] = this._callbacks[\"$\" + n] || []).push(i), this;\n }, t.prototype.once = function(n, i) {\n function o() {\n this.off(n, o), i.apply(this, arguments);\n }\n return o.fn = i, this.on(n, o), this;\n }, t.prototype.off = t.prototype.removeListener = t.prototype.removeAllListeners = t.prototype.removeEventListener = function(n, i) {\n if (this._callbacks = this._callbacks || {}, arguments.length == 0)\n return this._callbacks = {}, this;\n var o = this._callbacks[\"$\" + n];\n if (!o)\n return this;\n if (arguments.length == 1)\n return delete this._callbacks[\"$\" + n], this;\n for (var s, f = 0; f < o.length; f++)\n if (s = o[f], s === i || s.fn === i) {\n o.splice(f, 1);\n break;\n }\n return o.length === 0 && delete this._callbacks[\"$\" + n], this;\n }, t.prototype.emit = function(n) {\n this._callbacks = this._callbacks || {};\n for (var i = new Array(arguments.length - 1), o = this._callbacks[\"$\" + n], s = 1; s < arguments.length; s++)\n i[s - 1] = arguments[s];\n if (o) {\n o = o.slice(0);\n for (var s = 0, f = o.length; s < f; ++s)\n o[s].apply(this, i);\n }\n return this;\n }, t.prototype.listeners = function(n) {\n return this._callbacks = this._callbacks || {}, this._callbacks[\"$\" + n] || [];\n }, t.prototype.hasListeners = function(n) {\n return !!this.listeners(n).length;\n };\n})(pt);\nvar ee = pt.exports, me = {}, Yt = {}.toString, _e = Array.isArray || function(e) {\n return Yt.call(e) == \"[object Array]\";\n}, dt = tr, Qt = typeof Buffer == \"function\" && typeof Buffer.isBuffer == \"function\", Zt = typeof ArrayBuffer == \"function\", er = function(e) {\n return typeof ArrayBuffer.isView == \"function\" ? ArrayBuffer.isView(e) : e.buffer instanceof ArrayBuffer;\n};\nfunction tr(e) {\n return Qt && Buffer.isBuffer(e) || Zt && (e instanceof ArrayBuffer || er(e));\n}\nvar Ue = _e, yt = dt, gt = Object.prototype.toString, rr = typeof Blob == \"function\" || typeof Blob < \"u\" && gt.call(Blob) === \"[object BlobConstructor]\", nr = typeof File == \"function\" || typeof File < \"u\" && gt.call(File) === \"[object FileConstructor]\";\nme.deconstructPacket = function(e) {\n var t = [], r = e.data, n = e;\n return n.data = xe(r, t), n.attachments = t.length, { packet: n, buffers: t };\n};\nfunction xe(e, t) {\n if (!e)\n return e;\n if (yt(e)) {\n var r = { _placeholder: !0, num: t.length };\n return t.push(e), r;\n } else if (Ue(e)) {\n for (var n = new Array(e.length), i = 0; i < e.length; i++)\n n[i] = xe(e[i], t);\n return n;\n } else if (typeof e == \"object\" && !(e instanceof Date)) {\n var n = {};\n for (var o in e)\n n[o] = xe(e[o], t);\n return n;\n }\n return e;\n}\nme.reconstructPacket = function(e, t) {\n return e.data = Te(e.data, t), e.attachments = void 0, e;\n};\nfunction Te(e, t) {\n if (!e)\n return e;\n if (e && e._placeholder === !0) {\n var r = typeof e.num == \"number\" && e.num >= 0 && e.num < t.length;\n if (r)\n return t[e.num];\n throw new Error(\"illegal attachments\");\n } else if (Ue(e))\n for (var n = 0; n < e.length; n++)\n e[n] = Te(e[n], t);\n else if (typeof e == \"object\")\n for (var i in e)\n e[i] = Te(e[i], t);\n return e;\n}\nme.removeBlobs = function(e, t) {\n function r(o, s, f) {\n if (!o)\n return o;\n if (rr && o instanceof Blob || nr && o instanceof File) {\n n++;\n var h = new FileReader();\n h.onload = function() {\n f ? f[s] = this.result : i = this.result, --n || t(i);\n }, h.readAsArrayBuffer(o);\n } else if (Ue(o))\n for (var u = 0; u < o.length; u++)\n r(o[u], u, o);\n else if (typeof o == \"object\" && !yt(o))\n for (var p in o)\n r(o[p], p, o);\n }\n var n = 0, i = e;\n r(i), n || t(i);\n};\n(function(e) {\n var t = X(\"socket.io-parser\"), r = ee, n = me, i = _e, o = dt;\n e.protocol = 4, e.types = [\n \"CONNECT\",\n \"DISCONNECT\",\n \"EVENT\",\n \"ACK\",\n \"ERROR\",\n \"BINARY_EVENT\",\n \"BINARY_ACK\"\n ], e.CONNECT = 0, e.DISCONNECT = 1, e.EVENT = 2, e.ACK = 3, e.ERROR = 4, e.BINARY_EVENT = 5, e.BINARY_ACK = 6, e.Encoder = s, e.Decoder = d;\n function s() {\n }\n var f = e.ERROR + '\"encode error\"';\n s.prototype.encode = function(l, b) {\n if (t(\"encoding packet %j\", l), e.BINARY_EVENT === l.type || e.BINARY_ACK === l.type)\n p(l, b);\n else {\n var I = h(l);\n b([I]);\n }\n };\n function h(l) {\n var b = \"\" + l.type;\n if ((e.BINARY_EVENT === l.type || e.BINARY_ACK === l.type) && (b += l.attachments + \"-\"), l.nsp && l.nsp !== \"/\" && (b += l.nsp + \",\"), l.id != null && (b += l.id), l.data != null) {\n var I = u(l.data);\n if (I !== !1)\n b += I;\n else\n return f;\n }\n return t(\"encoded %j as %s\", l, b), b;\n }\n function u(l) {\n try {\n return JSON.stringify(l);\n } catch {\n return !1;\n }\n }\n function p(l, b) {\n function I(_) {\n var c = n.deconstructPacket(_), g = h(c.packet), v = c.buffers;\n v.unshift(g), b(v);\n }\n n.removeBlobs(l, I);\n }\n function d() {\n this.reconstructor = null;\n }\n r(d.prototype), d.prototype.add = function(l) {\n var b;\n if (typeof l == \"string\") {\n if (this.reconstructor)\n throw new Error(\"got plaintext data when reconstructing a packet\");\n b = y(l), e.BINARY_EVENT === b.type || e.BINARY_ACK === b.type ? (this.reconstructor = new N(b), this.reconstructor.reconPack.attachments === 0 && this.emit(\"decoded\", b)) : this.emit(\"decoded\", b);\n } else if (o(l) || l.base64)\n if (this.reconstructor)\n b = this.reconstructor.takeBinaryData(l), b && (this.reconstructor = null, this.emit(\"decoded\", b));\n else\n throw new Error(\"got binary data when not reconstructing a packet\");\n else\n throw new Error(\"Unknown type: \" + l);\n };\n function y(l) {\n var b = 0, I = {\n type: Number(l.charAt(0))\n };\n if (e.types[I.type] == null)\n return k(\"unknown packet type \" + I.type);\n if (e.BINARY_EVENT === I.type || e.BINARY_ACK === I.type) {\n for (var _ = b + 1; l.charAt(++b) !== \"-\" && b != l.length; )\n ;\n var c = l.substring(_, b);\n if (c != Number(c) || l.charAt(b) !== \"-\")\n throw new Error(\"Illegal attachments\");\n I.attachments = Number(c);\n }\n if (l.charAt(b + 1) === \"/\") {\n for (var _ = b + 1; ++b; ) {\n var g = l.charAt(b);\n if (g === \",\" || b === l.length)\n break;\n }\n I.nsp = l.substring(_, b);\n } else\n I.nsp = \"/\";\n var v = l.charAt(b + 1);\n if (v !== \"\" && Number(v) == v) {\n for (var _ = b + 1; ++b; ) {\n var g = l.charAt(b);\n if (g == null || Number(g) != g) {\n --b;\n break;\n }\n if (b === l.length)\n break;\n }\n I.id = Number(l.substring(_, b + 1));\n }\n if (l.charAt(++b)) {\n var m = a(l.substr(b)), w = m !== !1 && (I.type === e.ERROR || i(m));\n if (w)\n I.data = m;\n else\n return k(\"invalid payload\");\n }\n return t(\"decoded %s as %j\", l, I), I;\n }\n function a(l) {\n try {\n return JSON.parse(l);\n } catch {\n return !1;\n }\n }\n d.prototype.destroy = function() {\n this.reconstructor && this.reconstructor.finishedReconstruction();\n };\n function N(l) {\n this.reconPack = l, this.buffers = [];\n }\n N.prototype.takeBinaryData = function(l) {\n if (this.buffers.push(l), this.buffers.length === this.reconPack.attachments) {\n var b = n.reconstructPacket(this.reconPack, this.buffers);\n return this.finishedReconstruction(), b;\n }\n return null;\n }, N.prototype.finishedReconstruction = function() {\n this.reconPack = null, this.buffers = [];\n };\n function k(l) {\n return {\n type: e.ERROR,\n data: \"parser error: \" + l\n };\n }\n})(ve);\nvar Le = { exports: {} }, be = {}, De = { exports: {} };\ntry {\n De.exports = typeof XMLHttpRequest < \"u\" && \"withCredentials\" in new XMLHttpRequest();\n} catch {\n De.exports = !1;\n}\nvar ir = De.exports, Me = function() {\n return typeof self < \"u\" ? self : typeof window < \"u\" ? window : Function(\"return this\")();\n}(), or = ir, sr = Me, $e = function(e) {\n var t = e.xdomain, r = e.xscheme, n = e.enablesXDR;\n try {\n if (typeof XMLHttpRequest < \"u\" && (!t || or))\n return new XMLHttpRequest();\n } catch {\n }\n try {\n if (typeof XDomainRequest < \"u\" && !r && n)\n return new XDomainRequest();\n } catch {\n }\n if (!t)\n try {\n return new sr[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n } catch {\n }\n}, He = { exports: {} }, K = {}, ar = Object.keys || function(t) {\n var r = [], n = Object.prototype.hasOwnProperty;\n for (var i in t)\n n.call(t, i) && r.push(i);\n return r;\n}, Ae, Ge;\nfunction vt() {\n if (Ge)\n return Ae;\n Ge = 1;\n var e = _e, t = Object.prototype.toString, r = typeof Blob == \"function\" || typeof Blob < \"u\" && t.call(Blob) === \"[object BlobConstructor]\", n = typeof File == \"function\" || typeof File < \"u\" && t.call(File) === \"[object FileConstructor]\";\n Ae = i;\n function i(o) {\n if (!o || typeof o != \"object\")\n return !1;\n if (e(o)) {\n for (var s = 0, f = o.length; s < f; s++)\n if (i(o[s]))\n return !0;\n return !1;\n }\n if (typeof Buffer == \"function\" && Buffer.isBuffer && Buffer.isBuffer(o) || typeof ArrayBuffer == \"function\" && o instanceof ArrayBuffer || r && o instanceof Blob || n && o instanceof File)\n return !0;\n if (o.toJSON && typeof o.toJSON == \"function\" && arguments.length === 1)\n return i(o.toJSON(), !0);\n for (var h in o)\n if (Object.prototype.hasOwnProperty.call(o, h) && i(o[h]))\n return !0;\n return !1;\n }\n return Ae;\n}\nvar cr = function(e, t, r) {\n var n = e.byteLength;\n if (t = t || 0, r = r || n, e.slice)\n return e.slice(t, r);\n if (t < 0 && (t += n), r < 0 && (r += n), r > n && (r = n), t >= n || t >= r || n === 0)\n return new ArrayBuffer(0);\n for (var i = new Uint8Array(e), o = new Uint8Array(r - t), s = t, f = 0; s < r; s++, f++)\n o[f] = i[s];\n return o.buffer;\n}, ur = fr;\nfunction fr(e, t, r) {\n var n = !1;\n return r = r || hr, i.count = e, e === 0 ? t() : i;\n function i(o, s) {\n if (i.count <= 0)\n throw new Error(\"after called too many times\");\n --i.count, o ? (n = !0, t(o), t = r) : i.count === 0 && !n && t(null, s);\n }\n}\nfunction hr() {\n}\n/*! https://mths.be/utf8js v2.1.2 by @mathias */\nvar z = String.fromCharCode;\nfunction mt(e) {\n for (var t = [], r = 0, n = e.length, i, o; r < n; )\n i = e.charCodeAt(r++), i >= 55296 && i <= 56319 && r < n ? (o = e.charCodeAt(r++), (o & 64512) == 56320 ? t.push(((i & 1023) << 10) + (o & 1023) + 65536) : (t.push(i), r--)) : t.push(i);\n return t;\n}\nfunction lr(e) {\n for (var t = e.length, r = -1, n, i = \"\"; ++r < t; )\n n = e[r], n > 65535 && (n -= 65536, i += z(n >>> 10 & 1023 | 55296), n = 56320 | n & 1023), i += z(n);\n return i;\n}\nfunction bt(e, t) {\n if (e >= 55296 && e <= 57343) {\n if (t)\n throw Error(\n \"Lone surrogate U+\" + e.toString(16).toUpperCase() + \" is not a scalar value\"\n );\n return !1;\n }\n return !0;\n}\nfunction Ee(e, t) {\n return z(e >> t & 63 | 128);\n}\nfunction pr(e, t) {\n if (!(e & 4294967168))\n return z(e);\n var r = \"\";\n return e & 4294965248 ? e & 4294901760 ? e & 4292870144 || (r = z(e >> 18 & 7 | 240), r += Ee(e, 12), r += Ee(e, 6)) : (bt(e, t) || (e = 65533), r = z(e >> 12 & 15 | 224), r += Ee(e, 6)) : r = z(e >> 6 & 31 | 192), r += z(e & 63 | 128), r;\n}\nfunction dr(e, t) {\n t = t || {};\n for (var r = t.strict !== !1, n = mt(e), i = n.length, o = -1, s, f = \"\"; ++o < i; )\n s = n[o], f += pr(s, r);\n return f;\n}\nfunction Y() {\n if (j >= de)\n throw Error(\"Invalid byte index\");\n var e = pe[j] & 255;\n if (j++, (e & 192) == 128)\n return e & 63;\n throw Error(\"Invalid continuation byte\");\n}\nfunction yr(e) {\n var t, r, n, i, o;\n if (j > de)\n throw Error(\"Invalid byte index\");\n if (j == de)\n return !1;\n if (t = pe[j] & 255, j++, !(t & 128))\n return t;\n if ((t & 224) == 192) {\n if (r = Y(), o = (t & 31) << 6 | r, o >= 128)\n return o;\n throw Error(\"Invalid continuation byte\");\n }\n if ((t & 240) == 224) {\n if (r = Y(), n = Y(), o = (t & 15) << 12 | r << 6 | n, o >= 2048)\n return bt(o, e) ? o : 65533;\n throw Error(\"Invalid continuation byte\");\n }\n if ((t & 248) == 240 && (r = Y(), n = Y(), i = Y(), o = (t & 7) << 18 | r << 12 | n << 6 | i, o >= 65536 && o <= 1114111))\n return o;\n throw Error(\"Invalid UTF-8 detected\");\n}\nvar pe, de, j;\nfunction gr(e, t) {\n t = t || {};\n var r = t.strict !== !1;\n pe = mt(e), de = pe.length, j = 0;\n for (var n = [], i; (i = yr(r)) !== !1; )\n n.push(i);\n return lr(n);\n}\nvar vr = {\n version: \"2.1.2\",\n encode: dr,\n decode: gr\n}, ue = {}, Ke;\nfunction mr() {\n return Ke || (Ke = 1, function(e) {\n ue.encode = function(t) {\n var r = new Uint8Array(t), n, i = r.length, o = \"\";\n for (n = 0; n < i; n += 3)\n o += e[r[n] >> 2], o += e[(r[n] & 3) << 4 | r[n + 1] >> 4], o += e[(r[n + 1] & 15) << 2 | r[n + 2] >> 6], o += e[r[n + 2] & 63];\n return i % 3 === 2 ? o = o.substring(0, o.length - 1) + \"=\" : i % 3 === 1 && (o = o.substring(0, o.length - 2) + \"==\"), o;\n }, ue.decode = function(t) {\n var r = t.length * 0.75, n = t.length, i, o = 0, s, f, h, u;\n t[t.length - 1] === \"=\" && (r--, t[t.length - 2] === \"=\" && r--);\n var p = new ArrayBuffer(r), d = new Uint8Array(p);\n for (i = 0; i < n; i += 4)\n s = e.indexOf(t[i]), f = e.indexOf(t[i + 1]), h = e.indexOf(t[i + 2]), u = e.indexOf(t[i + 3]), d[o++] = s << 2 | f >> 4, d[o++] = (f & 15) << 4 | h >> 2, d[o++] = (h & 3) << 6 | u & 63;\n return p;\n };\n }(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\")), ue;\n}\nvar Be, Ye;\nfunction br() {\n if (Ye)\n return Be;\n Ye = 1;\n var e = typeof e < \"u\" ? e : typeof WebKitBlobBuilder < \"u\" ? WebKitBlobBuilder : typeof MSBlobBuilder < \"u\" ? MSBlobBuilder : typeof MozBlobBuilder < \"u\" ? MozBlobBuilder : !1, t = function() {\n try {\n var f = new Blob([\"hi\"]);\n return f.size === 2;\n } catch {\n return !1;\n }\n }(), r = t && function() {\n try {\n var f = new Blob([new Uint8Array([1, 2])]);\n return f.size === 2;\n } catch {\n return !1;\n }\n }(), n = e && e.prototype.append && e.prototype.getBlob;\n function i(f) {\n return f.map(function(h) {\n if (h.buffer instanceof ArrayBuffer) {\n var u = h.buffer;\n if (h.byteLength !== u.byteLength) {\n var p = new Uint8Array(h.byteLength);\n p.set(new Uint8Array(u, h.byteOffset, h.byteLength)), u = p.buffer;\n }\n return u;\n }\n return h;\n });\n }\n function o(f, h) {\n h = h || {};\n var u = new e();\n return i(f).forEach(function(p) {\n u.append(p);\n }), h.type ? u.getBlob(h.type) : u.getBlob();\n }\n function s(f, h) {\n return new Blob(i(f), h || {});\n }\n return typeof Blob < \"u\" && (o.prototype = Blob.prototype, s.prototype = Blob.prototype), Be = /* @__PURE__ */ function() {\n return t ? r ? Blob : s : n ? o : void 0;\n }(), Be;\n}\n(function(e) {\n var t = ar, r = vt(), n = cr, i = ur, o = vr, s;\n typeof ArrayBuffer < \"u\" && (s = mr());\n var f = typeof navigator < \"u\" && /Android/i.test(navigator.userAgent), h = typeof navigator < \"u\" && /PhantomJS/i.test(navigator.userAgent), u = f || h;\n e.protocol = 3;\n var p = e.packets = {\n open: 0,\n close: 1,\n ping: 2,\n pong: 3,\n message: 4,\n upgrade: 5,\n noop: 6\n }, d = t(p), y = { type: \"error\", data: \"parser error\" }, a = br();\n e.encodePacket = function(c, g, v, m) {\n typeof g == \"function\" && (m = g, g = !1), typeof v == \"function\" && (m = v, v = null);\n var w = c.data === void 0 ? void 0 : c.data.buffer || c.data;\n if (typeof ArrayBuffer < \"u\" && w instanceof ArrayBuffer)\n return k(c, g, m);\n if (typeof a < \"u\" && w instanceof a)\n return b(c, g, m);\n if (w && w.base64)\n return N(c, m);\n var C = p[c.type];\n return c.data !== void 0 && (C += v ? o.encode(String(c.data), { strict: !1 }) : String(c.data)), m(\"\" + C);\n };\n function N(c, g) {\n var v = \"b\" + e.packets[c.type] + c.data.data;\n return g(v);\n }\n function k(c, g, v) {\n if (!g)\n return e.encodeBase64Packet(c, v);\n var m = c.data, w = new Uint8Array(m), C = new Uint8Array(1 + m.byteLength);\n C[0] = p[c.type];\n for (var A = 0; A < w.length; A++)\n C[A + 1] = w[A];\n return v(C.buffer);\n }\n function l(c, g, v) {\n if (!g)\n return e.encodeBase64Packet(c, v);\n var m = new FileReader();\n return m.onload = function() {\n e.encodePacket({ type: c.type, data: m.result }, g, !0, v);\n }, m.readAsArrayBuffer(c.data);\n }\n function b(c, g, v) {\n if (!g)\n return e.encodeBase64Packet(c, v);\n if (u)\n return l(c, g, v);\n var m = new Uint8Array(1);\n m[0] = p[c.type];\n var w = new a([m.buffer, c.data]);\n return v(w);\n }\n e.encodeBase64Packet = function(c, g) {\n var v = \"b\" + e.packets[c.type];\n if (typeof a < \"u\" && c.data instanceof a) {\n var m = new FileReader();\n return m.onload = function() {\n var E = m.result.split(\",\")[1];\n g(v + E);\n }, m.readAsDataURL(c.data);\n }\n var w;\n try {\n w = String.fromCharCode.apply(null, new Uint8Array(c.data));\n } catch {\n for (var C = new Uint8Array(c.data), A = new Array(C.length), S = 0; S < C.length; S++)\n A[S] = C[S];\n w = String.fromCharCode.apply(null, A);\n }\n return v += btoa(w), g(v);\n }, e.decodePacket = function(c, g, v) {\n if (c === void 0)\n return y;\n if (typeof c == \"string\") {\n if (c.charAt(0) === \"b\")\n return e.decodeBase64Packet(c.substr(1), g);\n if (v && (c = I(c), c === !1))\n return y;\n var w = c.charAt(0);\n return Number(w) != w || !d[w] ? y : c.length > 1 ? { type: d[w], data: c.substring(1) } : { type: d[w] };\n }\n var m = new Uint8Array(c), w = m[0], C = n(c, 1);\n return a && g === \"blob\" && (C = new a([C])), { type: d[w], data: C };\n };\n function I(c) {\n try {\n c = o.decode(c, { strict: !1 });\n } catch {\n return !1;\n }\n return c;\n }\n e.decodeBase64Packet = function(c, g) {\n var v = d[c.charAt(0)];\n if (!s)\n return { type: v, data: { base64: !0, data: c.substr(1) } };\n var m = s.decode(c.substr(1));\n return g === \"blob\" && a && (m = new a([m])), { type: v, data: m };\n }, e.encodePayload = function(c, g, v) {\n typeof g == \"function\" && (v = g, g = null);\n var m = r(c);\n if (g && m)\n return a && !u ? e.encodePayloadAsBlob(c, v) : e.encodePayloadAsArrayBuffer(c, v);\n if (!c.length)\n return v(\"0:\");\n function w(A) {\n return A.length + \":\" + A;\n }\n function C(A, S) {\n e.encodePacket(A, m ? g : !1, !1, function(E) {\n S(null, w(E));\n });\n }\n _(c, C, function(A, S) {\n return v(S.join(\"\"));\n });\n };\n function _(c, g, v) {\n for (var m = new Array(c.length), w = i(c.length, v), C = function(S, E, R) {\n g(E, function(x, T) {\n m[S] = T, R(x, m);\n });\n }, A = 0; A < c.length; A++)\n C(A, c[A], w);\n }\n e.decodePayload = function(c, g, v) {\n if (typeof c != \"string\")\n return e.decodePayloadAsBinary(c, g, v);\n typeof g == \"function\" && (v = g, g = null);\n var m;\n if (c === \"\")\n return v(y, 0, 1);\n for (var w = \"\", C, A, S = 0, E = c.length; S < E; S++) {\n var R = c.charAt(S);\n if (R !== \":\") {\n w += R;\n continue;\n }\n if (w === \"\" || w != (C = Number(w)) || (A = c.substr(S + 1, C), w != A.length))\n return v(y, 0, 1);\n if (A.length) {\n if (m = e.decodePacket(A, g, !1), y.type === m.type && y.data === m.data)\n return v(y, 0, 1);\n var x = v(m, S + C, E);\n if (x === !1)\n return;\n }\n S += C, w = \"\";\n }\n if (w !== \"\")\n return v(y, 0, 1);\n }, e.encodePayloadAsArrayBuffer = function(c, g) {\n if (!c.length)\n return g(new ArrayBuffer(0));\n function v(m, w) {\n e.encodePacket(m, !0, !0, function(C) {\n return w(null, C);\n });\n }\n _(c, v, function(m, w) {\n var C = w.reduce(function(E, R) {\n var x;\n return typeof R == \"string\" ? x = R.length : x = R.byteLength, E + x.toString().length + x + 2;\n }, 0), A = new Uint8Array(C), S = 0;\n return w.forEach(function(E) {\n var R = typeof E == \"string\", x = E;\n if (R) {\n for (var G = new Uint8Array(E.length), T = 0; T < E.length; T++)\n G[T] = E.charCodeAt(T);\n x = G.buffer;\n }\n R ? A[S++] = 0 : A[S++] = 1;\n for (var V = x.byteLength.toString(), T = 0; T < V.length; T++)\n A[S++] = parseInt(V[T]);\n A[S++] = 255;\n for (var G = new Uint8Array(x), T = 0; T < G.length; T++)\n A[S++] = G[T];\n }), g(A.buffer);\n });\n }, e.encodePayloadAsBlob = function(c, g) {\n function v(m, w) {\n e.encodePacket(m, !0, !0, function(C) {\n var A = new Uint8Array(1);\n if (A[0] = 1, typeof C == \"string\") {\n for (var S = new Uint8Array(C.length), E = 0; E < C.length; E++)\n S[E] = C.charCodeAt(E);\n C = S.buffer, A[0] = 0;\n }\n for (var R = C instanceof ArrayBuffer ? C.byteLength : C.size, x = R.toString(), T = new Uint8Array(x.length + 1), E = 0; E < x.length; E++)\n T[E] = parseInt(x[E]);\n if (T[x.length] = 255, a) {\n var V = new a([A.buffer, T.buffer, C]);\n w(null, V);\n }\n });\n }\n _(c, v, function(m, w) {\n return g(new a(w));\n });\n }, e.decodePayloadAsBinary = function(c, g, v) {\n typeof g == \"function\" && (v = g, g = null);\n for (var m = c, w = []; m.byteLength > 0; ) {\n for (var C = new Uint8Array(m), A = C[0] === 0, S = \"\", E = 1; C[E] !== 255; E++) {\n if (S.length > 310)\n return v(y, 0, 1);\n S += C[E];\n }\n m = n(m, 2 + S.length), S = parseInt(S);\n var R = n(m, 0, S);\n if (A)\n try {\n R = String.fromCharCode.apply(null, new Uint8Array(R));\n } catch {\n var x = new Uint8Array(R);\n R = \"\";\n for (var E = 0; E < x.length; E++)\n R += String.fromCharCode(x[E]);\n }\n w.push(R), m = n(m, S);\n }\n var T = w.length;\n w.forEach(function(V, G) {\n v(e.decodePacket(V, g, !0), G, T);\n });\n };\n})(K);\nvar ke, Qe;\nfunction Xe() {\n if (Qe)\n return ke;\n Qe = 1;\n var e = K, t = ee;\n ke = r;\n function r(n) {\n this.path = n.path, this.hostname = n.hostname, this.port = n.port, this.secure = n.secure, this.query = n.query, this.timestampParam = n.timestampParam, this.timestampRequests = n.timestampRequests, this.readyState = \"\", this.agent = n.agent || !1, this.socket = n.socket, this.enablesXDR = n.enablesXDR, this.withCredentials = n.withCredentials, this.pfx = n.pfx, this.key = n.key, this.passphrase = n.passphrase, this.cert = n.cert, this.ca = n.ca, this.ciphers = n.ciphers, this.rejectUnauthorized = n.rejectUnauthorized, this.forceNode = n.forceNode, this.isReactNative = n.isReactNative, this.extraHeaders = n.extraHeaders, this.localAddress = n.localAddress;\n }\n return t(r.prototype), r.prototype.onError = function(n, i) {\n var o = new Error(n);\n return o.type = \"TransportError\", o.description = i, this.emit(\"error\", o), this;\n }, r.prototype.open = function() {\n return (this.readyState === \"closed\" || this.readyState === \"\") && (this.readyState = \"opening\", this.doOpen()), this;\n }, r.prototype.close = function() {\n return (this.readyState === \"opening\" || this.readyState === \"open\") && (this.doClose(), this.onClose()), this;\n }, r.prototype.send = function(n) {\n if (this.readyState === \"open\")\n this.write(n);\n else\n throw new Error(\"Transport not open\");\n }, r.prototype.onOpen = function() {\n this.readyState = \"open\", this.writable = !0, this.emit(\"open\");\n }, r.prototype.onData = function(n) {\n var i = e.decodePacket(n, this.socket.binaryType);\n this.onPacket(i);\n }, r.prototype.onPacket = function(n) {\n this.emit(\"packet\", n);\n }, r.prototype.onClose = function() {\n this.readyState = \"closed\", this.emit(\"close\");\n }, ke;\n}\nvar fe = {}, Ze;\nfunction we() {\n return Ze || (Ze = 1, fe.encode = function(e) {\n var t = \"\";\n for (var r in e)\n e.hasOwnProperty(r) && (t.length && (t += \"&\"), t += encodeURIComponent(r) + \"=\" + encodeURIComponent(e[r]));\n return t;\n }, fe.decode = function(e) {\n for (var t = {}, r = e.split(\"&\"), n = 0, i = r.length; n < i; n++) {\n var o = r[n].split(\"=\");\n t[decodeURIComponent(o[0])] = decodeURIComponent(o[1]);\n }\n return t;\n }), fe;\n}\nvar Ce = function(e, t) {\n var r = function() {\n };\n r.prototype = t.prototype, e.prototype = new r(), e.prototype.constructor = e;\n}, wt = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\".split(\"\"), ye = 64, Ct = {}, et = 0, J = 0, tt;\nfunction qe(e) {\n var t = \"\";\n do\n t = wt[e % ye] + t, e = Math.floor(e / ye);\n while (e > 0);\n return t;\n}\nfunction wr(e) {\n var t = 0;\n for (J = 0; J < e.length; J++)\n t = t * ye + Ct[e.charAt(J)];\n return t;\n}\nfunction We() {\n var e = qe(+/* @__PURE__ */ new Date());\n return e !== tt ? (et = 0, tt = e) : e + \".\" + qe(et++);\n}\nfor (; J < ye; J++)\n Ct[wt[J]] = J;\nWe.encode = qe;\nWe.decode = wr;\nvar At = We, Et = Xe(), Cr = we(), Bt = K, Ar = Ce, Er = At, $ = X(\"engine.io-client:polling\"), kt = H, Br = function() {\n var e = $e, t = new e({ xdomain: !1 });\n return t.responseType != null;\n}();\nfunction H(e) {\n var t = e && e.forceBase64;\n (!Br || t) && (this.supportsBinary = !1), Et.call(this, e);\n}\nAr(H, Et);\nH.prototype.name = \"polling\";\nH.prototype.doOpen = function() {\n this.poll();\n};\nH.prototype.pause = function(e) {\n var t = this;\n this.readyState = \"pausing\";\n function r() {\n $(\"paused\"), t.readyState = \"paused\", e();\n }\n if (this.polling || !this.writable) {\n var n = 0;\n this.polling && ($(\"we are currently polling - waiting to pause\"), n++, this.once(\"pollComplete\", function() {\n $(\"pre-pause polling complete\"), --n || r();\n })), this.writable || ($(\"we are currently writing - waiting to pause\"), n++, this.once(\"drain\", function() {\n $(\"pre-pause writing complete\"), --n || r();\n }));\n } else\n r();\n};\nH.prototype.poll = function() {\n $(\"polling\"), this.polling = !0, this.doPoll(), this.emit(\"poll\");\n};\nH.prototype.onData = function(e) {\n var t = this;\n $(\"polling got data %s\", e);\n var r = function(n, i, o) {\n if (t.readyState === \"opening\" && n.type === \"open\" && t.onOpen(), n.type === \"close\")\n return t.onClose(), !1;\n t.onPacket(n);\n };\n Bt.decodePayload(e, this.socket.binaryType, r), this.readyState !== \"closed\" && (this.polling = !1, this.emit(\"pollComplete\"), this.readyState === \"open\" ? this.poll() : $('ignoring poll - transport state \"%s\"', this.readyState));\n};\nH.prototype.doClose = function() {\n var e = this;\n function t() {\n $(\"writing close packet\"), e.write([{ type: \"close\" }]);\n }\n this.readyState === \"open\" ? ($(\"transport open - closing\"), t()) : ($(\"transport not open - deferring close\"), this.once(\"open\", t));\n};\nH.prototype.write = function(e) {\n var t = this;\n this.writable = !1;\n var r = function() {\n t.writable = !0, t.emit(\"drain\");\n };\n Bt.encodePayload(e, this.supportsBinary, function(n) {\n t.doWrite(n, r);\n });\n};\nH.prototype.uri = function() {\n var e = this.query || {}, t = this.secure ? \"https\" : \"http\", r = \"\";\n this.timestampRequests !== !1 && (e[this.timestampParam] = Er()), !this.supportsBinary && !e.sid && (e.b64 = 1), e = Cr.encode(e), this.port && (t === \"https\" && Number(this.port) !== 443 || t === \"http\" && Number(this.port) !== 80) && (r = \":\" + this.port), e.length && (e = \"?\" + e);\n var n = this.hostname.indexOf(\":\") !== -1;\n return t + \"://\" + (n ? \"[\" + this.hostname + \"]\" : this.hostname) + r + this.path + e;\n};\nvar kr = $e, St = kt, Sr = ee, Fr = Ce, Pe = X(\"engine.io-client:polling-xhr\"), Nr = Me;\nHe.exports = te;\nHe.exports.Request = q;\nfunction rt() {\n}\nfunction te(e) {\n if (St.call(this, e), this.requestTimeout = e.requestTimeout, this.extraHeaders = e.extraHeaders, typeof location < \"u\") {\n var t = location.protocol === \"https:\", r = location.port;\n r || (r = t ? 443 : 80), this.xd = typeof location < \"u\" && e.hostname !== location.hostname || r !== e.port, this.xs = e.secure !== t;\n }\n}\nFr(te, St);\nte.prototype.supportsBinary = !0;\nte.prototype.request = function(e) {\n return e = e || {}, e.uri = this.uri(), e.xd = this.xd, e.xs = this.xs, e.agent = this.agent || !1, e.supportsBinary = this.supportsBinary, e.enablesXDR = this.enablesXDR, e.withCredentials = this.withCredentials, e.pfx = this.pfx, e.key = this.key, e.passphrase = this.passphrase, e.cert = this.cert, e.ca = this.ca, e.ciphers = this.ciphers, e.rejectUnauthorized = this.rejectUnauthorized, e.requestTimeout = this.requestTimeout, e.extraHeaders = this.extraHeaders, new q(e);\n};\nte.prototype.doWrite = function(e, t) {\n var r = typeof e != \"string\" && e !== void 0, n = this.request({ method: \"POST\", data: e, isBinary: r }), i = this;\n n.on(\"success\", t), n.on(\"error\", function(o) {\n i.onError(\"xhr post error\", o);\n }), this.sendXhr = n;\n};\nte.prototype.doPoll = function() {\n Pe(\"xhr poll\");\n var e = this.request(), t = this;\n e.on(\"data\", function(r) {\n t.onData(r);\n }), e.on(\"error\", function(r) {\n t.onError(\"xhr poll error\", r);\n }), this.pollXhr = e;\n};\nfunction q(e) {\n this.method = e.method || \"GET\", this.uri = e.uri, this.xd = !!e.xd, this.xs = !!e.xs, this.async = e.async !== !1, this.data = e.data !== void 0 ? e.data : null, this.agent = e.agent, this.isBinary = e.isBinary, this.supportsBinary = e.supportsBinary, this.enablesXDR = e.enablesXDR, this.withCredentials = e.withCredentials, this.requestTimeout = e.requestTimeout, this.pfx = e.pfx, this.key = e.key, this.passphrase = e.passphrase, this.cert = e.cert, this.ca = e.ca, this.ciphers = e.ciphers, this.rejectUnauthorized = e.rejectUnauthorized, this.extraHeaders = e.extraHeaders, this.create();\n}\nSr(q.prototype);\nq.prototype.create = function() {\n var e = { agent: this.agent, xdomain: this.xd, xscheme: this.xs, enablesXDR: this.enablesXDR };\n e.pfx = this.pfx, e.key = this.key, e.passphrase = this.passphrase, e.cert = this.cert, e.ca = this.ca, e.ciphers = this.ciphers, e.rejectUnauthorized = this.rejectUnauthorized;\n var t = this.xhr = new kr(e), r = this;\n try {\n Pe(\"xhr open %s: %s\", this.method, this.uri), t.open(this.method, this.uri, this.async);\n try {\n if (this.extraHeaders) {\n t.setDisableHeaderCheck && t.setDisableHeaderCheck(!0);\n for (var n in this.extraHeaders)\n this.extraHeaders.hasOwnProperty(n) && t.setRequestHeader(n, this.extraHeaders[n]);\n }\n } catch {\n }\n if (this.method === \"POST\")\n try {\n this.isBinary ? t.setRequestHeader(\"Content-type\", \"application/octet-stream\") : t.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n } catch {\n }\n try {\n t.setRequestHeader(\"Accept\", \"*/*\");\n } catch {\n }\n \"withCredentials\" in t && (t.withCredentials = this.withCredentials), this.requestTimeout && (t.timeout = this.requestTimeout), this.hasXDR() ? (t.onload = function() {\n r.onLoad();\n }, t.onerror = function() {\n r.onError(t.responseText);\n }) : t.onreadystatechange = function() {\n if (t.readyState === 2)\n try {\n var i = t.getResponseHeader(\"Content-Type\");\n (r.supportsBinary && i === \"application/octet-stream\" || i === \"application/octet-stream; charset=UTF-8\") && (t.responseType = \"arraybuffer\");\n } catch {\n }\n t.readyState === 4 && (t.status === 200 || t.status === 1223 ? r.onLoad() : setTimeout(function() {\n r.onError(typeof t.status == \"number\" ? t.status : 0);\n }, 0));\n }, Pe(\"xhr data %s\", this.data), t.send(this.data);\n } catch (i) {\n setTimeout(function() {\n r.onError(i);\n }, 0);\n return;\n }\n typeof document < \"u\" && (this.index = q.requestsCount++, q.requests[this.index] = this);\n};\nq.prototype.onSuccess = function() {\n this.emit(\"success\"), this.cleanup();\n};\nq.prototype.onData = function(e) {\n this.emit(\"data\", e), this.onSuccess();\n};\nq.prototype.onError = function(e) {\n this.emit(\"error\", e), this.cleanup(!0);\n};\nq.prototype.cleanup = function(e) {\n if (!(typeof this.xhr > \"u\" || this.xhr === null)) {\n if (this.hasXDR() ? this.xhr.onload = this.xhr.onerror = rt : this.xhr.onreadystatechange = rt, e)\n try {\n this.xhr.abort();\n } catch {\n }\n typeof document < \"u\" && delete q.requests[this.index], this.xhr = null;\n }\n};\nq.prototype.onLoad = function() {\n var e;\n try {\n var t;\n try {\n t = this.xhr.getResponseHeader(\"Content-Type\");\n } catch {\n }\n t === \"application/octet-stream\" || t === \"application/octet-stream; charset=UTF-8\" ? e = this.xhr.response || this.xhr.responseText : e = this.xhr.responseText;\n } catch (r) {\n this.onError(r);\n }\n e != null && this.onData(e);\n};\nq.prototype.hasXDR = function() {\n return typeof XDomainRequest < \"u\" && !this.xs && this.enablesXDR;\n};\nq.prototype.abort = function() {\n this.cleanup();\n};\nq.requestsCount = 0;\nq.requests = {};\nif (typeof document < \"u\") {\n if (typeof attachEvent == \"function\")\n attachEvent(\"onunload\", nt);\n else if (typeof addEventListener == \"function\") {\n var Or = \"onpagehide\" in Nr ? \"pagehide\" : \"unload\";\n addEventListener(Or, nt, !1);\n }\n}\nfunction nt() {\n for (var e in q.requests)\n q.requests.hasOwnProperty(e) && q.requests[e].abort();\n}\nvar Ir = He.exports, ze = kt, Rr = Ce, it = Me, xr = re, Tr = /\\n/g, Dr = /\\\\n/g, he;\nfunction qr() {\n}\nfunction re(e) {\n ze.call(this, e), this.query = this.query || {}, he || (he = it.___eio = it.___eio || []), this.index = he.length;\n var t = this;\n he.push(function(r) {\n t.onData(r);\n }), this.query.j = this.index, typeof addEventListener == \"function\" && addEventListener(\"beforeunload\", function() {\n t.script && (t.script.onerror = qr);\n }, !1);\n}\nRr(re, ze);\nre.prototype.supportsBinary = !1;\nre.prototype.doClose = function() {\n this.script && (this.script.parentNode.removeChild(this.script), this.script = null), this.form && (this.form.parentNode.removeChild(this.form), this.form = null, this.iframe = null), ze.prototype.doClose.call(this);\n};\nre.prototype.doPoll = function() {\n var e = this, t = document.createElement(\"script\");\n this.script && (this.script.parentNode.removeChild(this.script), this.script = null), t.async = !0, t.src = this.uri(), t.onerror = function(i) {\n e.onError(\"jsonp poll error\", i);\n };\n var r = document.getElementsByTagName(\"script\")[0];\n r ? r.parentNode.insertBefore(t, r) : (document.head || document.body).appendChild(t), this.script = t;\n var n = typeof navigator < \"u\" && /gecko/i.test(navigator.userAgent);\n n && setTimeout(function() {\n var i = document.createElement(\"iframe\");\n document.body.appendChild(i), document.body.removeChild(i);\n }, 100);\n};\nre.prototype.doWrite = function(e, t) {\n var r = this;\n if (!this.form) {\n var n = document.createElement(\"form\"), i = document.createElement(\"textarea\"), o = this.iframeId = \"eio_iframe_\" + this.index, s;\n n.className = \"socketio\", n.style.position = \"absolute\", n.style.top = \"-1000px\", n.style.left = \"-1000px\", n.target = o, n.method = \"POST\", n.setAttribute(\"accept-charset\", \"utf-8\"), i.name = \"d\", n.appendChild(i), document.body.appendChild(n), this.form = n, this.area = i;\n }\n this.form.action = this.uri();\n function f() {\n h(), t();\n }\n function h() {\n if (r.iframe)\n try {\n r.form.removeChild(r.iframe);\n } catch (p) {\n r.onError(\"jsonp polling iframe removal error\", p);\n }\n try {\n var u = '<iframe src=\"javascript:0\" name=\"' + r.iframeId + '\">';\n s = document.createElement(u);\n } catch {\n s = document.createElement(\"iframe\"), s.name = r.iframeId, s.src = \"javascript:0\";\n }\n s.id = r.iframeId, r.form.appendChild(s), r.iframe = s;\n }\n h(), e = e.replace(Dr, `\\\\\n`), this.area.value = e.replace(Tr, \"\\\\n\");\n try {\n this.form.submit();\n } catch {\n }\n this.iframe.attachEvent ? this.iframe.onreadystatechange = function() {\n r.iframe.readyState === \"complete\" && f();\n } : this.iframe.onload = f;\n};\nconst Pr = {}, _r = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: Pr\n}, Symbol.toStringTag, { value: \"Module\" })), Ur = /* @__PURE__ */ _t(_r);\nvar je = Xe(), Lr = K, Mr = we(), $r = Ce, Hr = At, Xr = X(\"engine.io-client:websocket\"), ge, Je;\ntypeof WebSocket < \"u\" ? ge = WebSocket : typeof self < \"u\" && (ge = self.WebSocket || self.MozWebSocket);\nif (typeof window > \"u\")\n try {\n Je = Ur;\n } catch {\n }\nvar Z = ge || Je, Wr = M;\nfunction M(e) {\n var t = e && e.forceBase64;\n t && (this.supportsBinary = !1), this.perMessageDeflate = e.perMessageDeflate, this.usingBrowserWebSocket = ge && !e.forceNode, this.protocols = e.protocols, this.usingBrowserWebSocket || (Z = Je), je.call(this, e);\n}\n$r(M, je);\nM.prototype.name = \"websocket\";\nM.prototype.supportsBinary = !0;\nM.prototype.doOpen = function() {\n if (this.check()) {\n var e = this.uri(), t = this.protocols, r = {};\n this.isReactNative || (r.agent = this.agent, r.perMessageDeflate = this.perMessageDeflate, r.pfx = this.pfx, r.key = this.key, r.passphrase = this.passphrase, r.cert = this.cert, r.ca = this.ca, r.ciphers = this.ciphers, r.rejectUnauthorized = this.rejectUnauthorized), this.extraHeaders && (r.headers = this.extraHeaders), this.localAddress && (r.localAddress = this.localAddress);\n try {\n this.ws = this.usingBrowserWebSocket && !this.isReactNative ? t ? new Z(e, t) : new Z(e) : new Z(e, t, r);\n } catch (n) {\n return this.emit(\"error\", n);\n }\n this.ws.binaryType === void 0 && (this.supportsBinary = !1), this.ws.supports && this.ws.supports.binary ? (this.supportsBinary = !0, this.ws.binaryType = \"nodebuffer\") : this.ws.binaryType = \"arraybuffer\", this.addEventListeners();\n }\n};\nM.prototype.addEventListeners = function() {\n var e = this;\n this.ws.onopen = function() {\n e.onOpen();\n }, this.ws.onclose = function() {\n e.onClose();\n }, this.ws.onmessage = function(t) {\n e.onData(t.data);\n }, this.ws.onerror = function(t) {\n e.onError(\"websocket error\", t);\n };\n};\nM.prototype.write = function(e) {\n var t = this;\n this.writable = !1;\n for (var r = e.length, n = 0, i = r; n < i; n++)\n (function(s) {\n Lr.encodePacket(s, t.supportsBinary, function(f) {\n if (!t.usingBrowserWebSocket) {\n var h = {};\n if (s.options && (h.compress = s.options.compress), t.perMessageDeflate) {\n var u = typeof f == \"string\" ? Buffer.byteLength(f) : f.length;\n u < t.perMessageDeflate.threshold && (h.compress = !1);\n }\n }\n try {\n t.usingBrowserWebSocket ? t.ws.send(f) : t.ws.send(f, h);\n } catch {\n Xr(\"websocket closed before onclose event\");\n }\n --r || o();\n });\n })(e[n]);\n function o() {\n t.emit(\"flush\"), setTimeout(function() {\n t.writable = !0, t.emit(\"drain\");\n }, 0);\n }\n};\nM.prototype.onClose = function() {\n je.prototype.onClose.call(this);\n};\nM.prototype.doClose = function() {\n typeof this.ws < \"u\" && this.ws.close();\n};\nM.prototype.uri = function() {\n var e = this.query || {}, t = this.secure ? \"wss\" : \"ws\", r = \"\";\n this.port && (t === \"wss\" && Number(this.port) !== 443 || t === \"ws\" && Number(this.port) !== 80) && (r = \":\" + this.port), this.timestampRequests && (e[this.timestampParam] = Hr()), this.supportsBinary || (e.b64 = 1), e = Mr.encode(e), e.length && (e = \"?\" + e);\n var n = this.hostname.indexOf(\":\") !== -1;\n return t + \"://\" + (n ? \"[\" + this.hostname + \"]\" : this.hostname) + r + this.path + e;\n};\nM.prototype.check = function() {\n return !!Z && !(\"__initialize\" in Z && this.name === M.prototype.name);\n};\nvar zr = $e, jr = Ir, Jr = xr, Vr = Wr;\nbe.polling = Gr;\nbe.websocket = Vr;\nfunction Gr(e) {\n var t, r = !1, n = !1, i = e.jsonp !== !1;\n if (typeof location < \"u\") {\n var o = location.protocol === \"https:\", s = location.port;\n s || (s = o ? 443 : 80), r = e.hostname !== location.hostname || s !== e.port, n = e.secure !== o;\n }\n if (e.xdomain = r, e.xscheme = n, t = new zr(e), \"open\" in t && !e.forceJSONP)\n return new jr(e);\n if (!i)\n throw new Error(\"JSONP disabled\");\n return new Jr(e);\n}\nvar Kr = [].indexOf, Ft = function(e, t) {\n if (Kr)\n return e.indexOf(t);\n for (var r = 0; r < e.length; ++r)\n if (e[r] === t)\n return r;\n return -1;\n}, Yr = be, Qr = ee, D = X(\"engine.io-client:socket\"), Zr = Ft, Nt = K, ot = lt, en = we(), tn = B;\nfunction B(e, t) {\n if (!(this instanceof B))\n return new B(e, t);\n t = t || {}, e && typeof e == \"object\" && (t = e, e = null), e ? (e = ot(e), t.hostname = e.host, t.secure = e.protocol === \"https\" || e.protocol === \"wss\", t.port = e.port, e.query && (t.query = e.query)) : t.host && (t.hostname = ot(t.host).host), this.secure = t.secure != null ? t.secure : typeof location < \"u\" && location.protocol === \"https:\", t.hostname && !t.port && (t.port = this.secure ? \"443\" : \"80\"), this.agent = t.agent || !1, this.hostname = t.hostname || (typeof location < \"u\" ? location.hostname : \"localhost\"), this.port = t.port || (typeof location < \"u\" && location.port ? location.port : this.secure ? 443 : 80), this.query = t.query || {}, typeof this.query == \"string\" && (this.query = en.decode(this.query)), this.upgrade = t.upgrade !== !1, this.path = (t.path || \"/engine.io\").replace(/\\/$/, \"\") + \"/\", this.forceJSONP = !!t.forceJSONP, this.jsonp = t.jsonp !== !1, this.forceBase64 = !!t.forceBase64, this.enablesXDR = !!t.enablesXDR, this.withCredentials = t.withCredentials !== !1, this.timestampParam = t.timestampParam || \"t\", this.timestampRequests = t.timestampRequests, this.transports = t.transports || [\"polling\", \"websocket\"], this.transportOptions = t.transportOptions || {}, this.readyState = \"\", this.writeBuffer = [], this.prevBufferLen = 0, this.policyPort = t.policyPort || 843, this.rememberUpgrade = t.rememberUpgrade || !1, this.binaryType = null, this.onlyBinaryUpgrades = t.onlyBinaryUpgrades, this.perMessageDeflate = t.perMessageDeflate !== !1 ? t.perMessageDeflate || {} : !1, this.perMessageDeflate === !0 && (this.perMessageDeflate = {}), this.perMessageDeflate && this.perMessageDeflate.threshold == null && (this.perMessageDeflate.threshold = 1024), this.pfx = t.pfx || void 0, this.key = t.key || void 0, this.passphrase = t.passphrase || void 0, this.cert = t.cert || void 0, this.ca = t.ca || void 0, this.ciphers = t.ciphers || void 0, this.rejectUnauthorized = t.rejectUnauthorized === void 0 ? !0 : t.rejectUnauthorized, this.forceNode = !!t.forceNode, this.isReactNative = typeof navigator < \"u\" && typeof navigator.product == \"string\" && navigator.product.toLowerCase() === \"reactnative\", (typeof self > \"u\" || this.isReactNative) && (t.extraHeaders && Object.keys(t.extraHeaders).length > 0 && (this.extraHeaders = t.extraHeaders), t.localAddress && (this.localAddress = t.localAddress)), this.id = null, this.upgrades = null, this.pingInterval = null, this.pingTimeout = null, this.pingIntervalTimer = null, this.pingTimeoutTimer = null, this.open();\n}\nB.priorWebsocketSuccess = !1;\nQr(B.prototype);\nB.protocol = Nt.protocol;\nB.Socket = B;\nB.Transport = Xe();\nB.transports = be;\nB.parser = K;\nB.prototype.createTransport = function(e) {\n D('creating transport \"%s\"', e);\n var t = rn(this.query);\n t.EIO = Nt.protocol, t.transport = e;\n var r = this.transportOptions[e] || {};\n this.id && (t.sid = this.id);\n var n = new Yr[e]({\n query: t,\n socket: this,\n agent: r.agent || this.agent,\n hostname: r.hostname || this.hostname,\n port: r.port || this.port,\n secure: r.secure || this.secure,\n path: r.path || this.path,\n forceJSONP: r.forceJSONP || this.forceJSONP,\n jsonp: r.jsonp || this.jsonp,\n forceBase64: r.forceBase64 || this.forceBase64,\n enablesXDR: r.enablesXDR || this.enablesXDR,\n withCredentials: r.withCredentials || this.withCredentials,\n timestampRequests: r.timestampRequests || this.timestampRequests,\n timestampParam: r.timestampParam || this.timestampParam,\n policyPort: r.policyPort || this.policyPort,\n pfx: r.pfx || this.pfx,\n key: r.key || this.key,\n passphrase: r.passphrase || this.passphrase,\n cert: r.cert || this.cert,\n ca: r.ca || this.ca,\n ciphers: r.ciphers || this.ciphers,\n rejectUnauthorized: r.rejectUnauthorized || this.rejectUnauthorized,\n perMessageDeflate: r.perMessageDeflate || this.perMessageDeflate,\n extraHeaders: r.extraHeaders || this.extraHeaders,\n forceNode: r.forceNode || this.forceNode,\n localAddress: r.localAddress || this.localAddress,\n requestTimeout: r.requestTimeout || this.requestTimeout,\n protocols: r.protocols || void 0,\n isReactNative: this.isReactNative\n });\n return n;\n};\nfunction rn(e) {\n var t = {};\n for (var r in e)\n e.hasOwnProperty(r) && (t[r] = e[r]);\n return t;\n}\nB.prototype.open = function() {\n var e;\n if (this.rememberUpgrade && B.priorWebsocketSuccess && this.transports.indexOf(\"websocket\") !== -1)\n e = \"websocket\";\n else if (this.transports.length === 0) {\n var t = this;\n setTimeout(function() {\n t.emit(\"error\", \"No transports available\");\n }, 0);\n return;\n } else\n e = this.transports[0];\n this.readyState = \"opening\";\n try {\n e = this.createTransport(e);\n } catch {\n this.transports.shift(), this.open();\n return;\n }\n e.open(), this.setTransport(e);\n};\nB.prototype.setTransport = function(e) {\n D(\"setting transport %s\", e.name);\n var t = this;\n this.transport && (D(\"clearing existing transport %s\", this.transport.name), this.transport.removeAllListeners()), this.transport = e, e.on(\"drain\", function() {\n t.onDrain();\n }).on(\"packet\", function(r) {\n t.onPacket(r);\n }).on(\"error\", function(r) {\n t.onError(r);\n }).on(\"close\", function() {\n t.onClose(\"transport close\");\n });\n};\nB.prototype.probe = function(e) {\n D('probing transport \"%s\"', e);\n var t = this.createTransport(e, { probe: 1 }), r = !1, n = this;\n B.priorWebsocketSuccess = !1;\n function i() {\n if (n.onlyBinaryUpgrades) {\n var d = !this.supportsBinary && n.transport.supportsBinary;\n r = r || d;\n }\n r || (D('probe transport \"%s\" opened', e), t.send([{ type: \"ping\", data: \"probe\" }]), t.once(\"packet\", function(y) {\n if (!r)\n if (y.type === \"pong\" && y.data === \"probe\") {\n if (D('probe transport \"%s\" pong', e), n.upgrading = !0, n.emit(\"upgrading\", t), !t)\n return;\n B.priorWebsocketSuccess = t.name === \"websocket\", D('pausing current transport \"%s\"', n.transport.name), n.transport.pause(function() {\n r || n.readyState !== \"closed\" && (D(\"changing transport and sending upgrade packet\"), p(), n.setTransport(t), t.send([{ type: \"upgrade\" }]), n.emit(\"upgrade\", t), t = null, n.upgrading = !1, n.flush());\n });\n } else {\n D('probe transport \"%s\" failed', e);\n var a = new Error(\"probe error\");\n a.transport = t.name, n.emit(\"upgradeError\", a);\n }\n }));\n }\n function o() {\n r || (r = !0, p(), t.close(), t = null);\n }\n function s(d) {\n var y = new Error(\"probe error: \" + d);\n y.transport = t.name, o(), D('probe transport \"%s\" failed because of error: %s', e, d), n.emit(\"upgradeError\", y);\n }\n function f() {\n s(\"transport closed\");\n }\n function h() {\n s(\"socket closed\");\n }\n function u(d) {\n t && d.name !== t.name && (D('\"%s\" works - aborting \"%s\"', d.name, t.name), o());\n }\n function p() {\n t.removeListener(\"open\", i), t.removeListener(\"error\", s), t.removeListener(\"close\", f), n.removeListener(\"close\", h), n.removeListener(\"upgrading\", u);\n }\n t.once(\"open\", i), t.once(\"error\", s), t.once(\"close\", f), this.once(\"close\", h), this.once(\"upgrading\", u), t.open();\n};\nB.prototype.onOpen = function() {\n if (D(\"socket open\"), this.readyState = \"open\", B.priorWebsocketSuccess = this.transport.name === \"websocket\", this.emit(\"open\"), this.flush(), this.readyState === \"open\" && this.upgrade && this.transport.pause) {\n D(\"starting upgrade probes\");\n for (var e = 0, t = this.upgrades.length; e < t; e++)\n this.probe(this.upgrades[e]);\n }\n};\nB.prototype.onPacket = function(e) {\n if (this.readyState === \"opening\" || this.readyState === \"open\" || this.readyState === \"closing\")\n switch (D('socket receive: type \"%s\", data \"%s\"', e.type, e.data), this.emit(\"packet\", e), this.emit(\"heartbeat\"), e.type) {\n case \"open\":\n this.onHandshake(JSON.parse(e.data));\n break;\n case \"pong\":\n this.setPing(), this.emit(\"pong\");\n break;\n case \"error\":\n var t = new Error(\"server error\");\n t.code = e.data, this.onError(t);\n break;\n case \"message\":\n this.emit(\"data\", e.data), this.emit(\"message\", e.data);\n break;\n }\n else\n D('packet received with socket readyState \"%s\"', this.readyState);\n};\nB.prototype.onHandshake = function(e) {\n this.emit(\"handshake\", e), this.id = e.sid, this.transport.query.sid = e.sid, this.upgrades = this.filterUpgrades(e.upgrades), this.pingInterval = e.pingInterval, this.pingTimeout = e.pingTimeout, this.onOpen(), this.readyState !== \"closed\" && (this.setPing(), this.removeListener(\"heartbeat\", this.onHeartbeat), this.on(\"heartbeat\", this.onHeartbeat));\n};\nB.prototype.onHeartbeat = function(e) {\n clearTimeout(this.pingTimeoutTimer);\n var t = this;\n t.pingTimeoutTimer = setTimeout(function() {\n t.readyState !== \"closed\" && t.onClose(\"ping timeout\");\n }, e || t.pingInterval + t.pingTimeout);\n};\nB.prototype.setPing = function() {\n var e = this;\n clearTimeout(e.pingIntervalTimer), e.pingIntervalTimer = setTimeout(function() {\n D(\"writing ping packet - expecting pong within %sms\", e.pingTimeout), e.ping(), e.onHeartbeat(e.pingTimeout);\n }, e.pingInterval);\n};\nB.prototype.ping = function() {\n var e = this;\n this.sendPacket(\"ping\", function() {\n e.emit(\"ping\");\n });\n};\nB.prototype.onDrain = function() {\n this.writeBuffer.splice(0, this.prevBufferLen), this.prevBufferLen = 0, this.writeBuffer.length === 0 ? this.emit(\"drain\") : this.flush();\n};\nB.prototype.flush = function() {\n this.readyState !== \"closed\" && this.transport.writable && !this.upgrading && this.writeBuffer.length && (D(\"flushing %d packets in socket\", this.writeBuffer.length), this.transport.send(this.writeBuffer), this.prevBufferLen = this.writeBuffer.length, this.emit(\"flush\"));\n};\nB.prototype.write = B.prototype.send = function(e, t, r) {\n return this.sendPacket(\"message\", e, t, r), this;\n};\nB.prototype.sendPacket = function(e, t, r, n) {\n if (typeof t == \"function\" && (n = t, t = void 0), typeof r == \"function\" && (n = r, r = null), !(this.readyState === \"closing\" || this.readyState === \"closed\")) {\n r = r || {}, r.compress = r.compress !== !1;\n var i = {\n type: e,\n data: t,\n options: r\n };\n this.emit(\"packetCreate\", i), this.writeBuffer.push(i), n && this.once(\"flush\", n), this.flush();\n }\n};\nB.prototype.close = function() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.readyState = \"closing\";\n var e = this;\n this.writeBuffer.length ? this.once(\"drain\", function() {\n this.upgrading ? n() : t();\n }) : this.upgrading ? n() : t();\n }\n function t() {\n e.onClose(\"forced close\"), D(\"socket closing - telling transport to close\"), e.transport.close();\n }\n function r() {\n e.removeListener(\"upgrade\", r), e.removeListener(\"upgradeError\", r), t();\n }\n function n() {\n e.once(\"upgrade\", r), e.once(\"upgradeError\", r);\n }\n return this;\n};\nB.prototype.onError = function(e) {\n D(\"socket error %j\", e), B.priorWebsocketSuccess = !1, this.emit(\"error\", e), this.onClose(\"transport error\", e);\n};\nB.prototype.onClose = function(e, t) {\n if (this.readyState === \"opening\" || this.readyState === \"open\" || this.readyState === \"closing\") {\n D('socket close with reason: \"%s\"', e);\n var r = this;\n clearTimeout(this.pingIntervalTimer), clearTimeout(this.pingTimeoutTimer), this.transport.removeAllListeners(\"close\"), this.transport.close(), this.transport.removeAllListeners(), this.readyState = \"closed\", this.id = null, this.emit(\"close\", e, t), r.writeBuffer = [], r.prevBufferLen = 0;\n }\n};\nB.prototype.filterUpgrades = function(e) {\n for (var t = [], r = 0, n = e.length; r < n; r++)\n ~Zr(this.transports, e[r]) && t.push(e[r]);\n return t;\n};\nLe.exports = tn;\nLe.exports.parser = K;\nvar nn = Le.exports, Se = { exports: {} }, Fe, st;\nfunction on() {\n if (st)\n return Fe;\n st = 1, Fe = e;\n function e(t, r) {\n var n = [];\n r = r || 0;\n for (var i = r || 0; i < t.length; i++)\n n[i - r] = t[i];\n return n;\n }\n return Fe;\n}\nvar Ot = sn;\nfunction sn(e, t, r) {\n return e.on(t, r), {\n destroy: function() {\n e.removeListener(t, r);\n }\n };\n}\nvar at = [].slice, It = function(e, t) {\n if (typeof t == \"string\" && (t = e[t]), typeof t != \"function\")\n throw new Error(\"bind() requires a function\");\n var r = at.call(arguments, 2);\n return function() {\n return t.apply(e, r.concat(at.call(arguments)));\n };\n}, ct;\nfunction Rt() {\n return ct || (ct = 1, function(e, t) {\n var r = ve, n = ee, i = on(), o = Ot, s = It, f = X(\"socket.io-client:socket\"), h = we(), u = vt();\n e.exports = y;\n var p = {\n connect: 1,\n connect_error: 1,\n connect_timeout: 1,\n connecting: 1,\n disconnect: 1,\n error: 1,\n reconnect: 1,\n reconnect_attempt: 1,\n reconnect_failed: 1,\n reconnect_error: 1,\n reconnecting: 1,\n ping: 1,\n pong: 1\n }, d = n.prototype.emit;\n function y(a, N, k) {\n this.io = a, this.nsp = N, this.json = this, this.ids = 0, this.acks = {}, this.receiveBuffer = [], this.sendBuffer = [], this.connected = !1, this.disconnected = !0, this.flags = {}, k && k.query && (this.query = k.query), this.io.autoConnect && this.open();\n }\n n(y.prototype), y.prototype.subEvents = function() {\n if (!this.subs) {\n var a = this.io;\n this.subs = [\n o(a, \"open\", s(this, \"onopen\")),\n o(a, \"packet\", s(this, \"onpacket\")),\n o(a, \"close\", s(this, \"onclose\"))\n ];\n }\n }, y.prototype.open = y.prototype.connect = function() {\n return this.connected ? this : (this.subEvents(), this.io.reconnecting || this.io.open(), this.io.readyState === \"open\" && this.onopen(), this.emit(\"connecting\"), this);\n }, y.prototype.send = function() {\n var a = i(arguments);\n return a.unshift(\"message\"), this.emit.apply(this, a), this;\n }, y.prototype.emit = function(a) {\n if (p.hasOwnProperty(a))\n return d.apply(this, arguments), this;\n var N = i(arguments), k = {\n type: (this.flags.binary !== void 0 ? this.flags.binary : u(N)) ? r.BINARY_EVENT : r.EVENT,\n data: N\n };\n return k.options = {}, k.options.compress = !this.flags || this.flags.compress !== !1, typeof N[N.length - 1] == \"function\" && (f(\"emitting packet with ack id %d\", this.ids), this.acks[this.ids] = N.pop(), k.id = this.ids++), this.connected ? this.packet(k) : this.sendBuffer.push(k), this.flags = {}, this;\n }, y.prototype.packet = function(a) {\n a.nsp = this.nsp, this.io.packet(a);\n }, y.prototype.onopen = function() {\n if (f(\"transport is open - connecting\"), this.nsp !== \"/\")\n if (this.query) {\n var a = typeof this.query == \"object\" ? h.encode(this.query) : this.query;\n f(\"sending connect packet with query %s\", a), this.packet({ type: r.CONNECT, query: a });\n } else\n this.packet({ type: r.CONNECT });\n }, y.prototype.onclose = function(a) {\n f(\"close (%s)\", a), this.connected = !1, this.disconnected = !0, delete this.id, this.emit(\"disconnect\", a);\n }, y.prototype.onpacket = function(a) {\n var N = a.nsp === this.nsp, k = a.type === r.ERROR && a.nsp === \"/\";\n if (!(!N && !k))\n switch (a.type) {\n case r.CONNECT:\n this.onconnect();\n break;\n case r.EVENT:\n this.onevent(a);\n break;\n case r.BINARY_EVENT:\n this.onevent(a);\n break;\n case r.ACK:\n this.onack(a);\n break;\n case r.BINARY_ACK:\n this.onack(a);\n break;\n case r.DISCONNECT:\n this.ondisconnect();\n break;\n case r.ERROR:\n this.emit(\"error\", a.data);\n break;\n }\n }, y.prototype.onevent = function(a) {\n var N = a.data || [];\n f(\"emitting event %j\", N), a.id != null && (f(\"attaching ack callback to event\"), N.push(this.ack(a.id))), this.connected ? d.apply(this, N) : this.receiveBuffer.push(N);\n }, y.prototype.ack = function(a) {\n var N = this, k = !1;\n return function() {\n if (!k) {\n k = !0;\n var l = i(arguments);\n f(\"sending ack %j\", l), N.packet({\n type: u(l) ? r.BINARY_ACK : r.ACK,\n id: a,\n data: l\n });\n }\n };\n }, y.prototype.onack = function(a) {\n var N = this.acks[a.id];\n typeof N == \"function\" ? (f(\"calling ack %s with %j\", a.id, a.data), N.apply(this, a.data), delete this.acks[a.id]) : f(\"bad ack %s\", a.id);\n }, y.prototype.onconnect = function() {\n this.connected = !0, this.disconnected = !1, this.emitBuffered(), this.emit(\"connect\");\n }, y.prototype.emitBuffered = function() {\n var a;\n for (a = 0; a < this.receiveBuffer.length; a++)\n d.apply(this, this.receiveBuffer[a]);\n for (this.receiveBuffer = [], a = 0; a < this.sendBuffer.length; a++)\n this.packet(this.sendBuffer[a]);\n this.sendBuffer = [];\n }, y.prototype.ondisconnect = function() {\n f(\"server disconnect (%s)\", this.nsp), this.destroy(), this.onclose(\"io server disconnect\");\n }, y.prototype.destroy = function() {\n if (this.subs) {\n for (var a = 0; a < this.subs.length; a++)\n this.subs[a].destroy();\n this.subs = null;\n }\n this.io.destroy(this);\n }, y.prototype.close = y.prototype.disconnect = function() {\n return this.connected && (f(\"performing disconnect (%s)\", this.nsp), this.packet({ type: r.DISCONNECT })), this.destroy(), this.connected && this.onclose(\"io client disconnect\"), this;\n }, y.prototype.compress = function(a) {\n return this.flags.compress = a, this;\n }, y.prototype.binary = function(a) {\n return this.flags.binary = a, this;\n };\n }(Se)), Se.exports;\n}\nvar an = ne;\nfunction ne(e) {\n e = e || {}, this.ms = e.min || 100, this.max = e.max || 1e4, this.factor = e.factor || 2, this.jitter = e.jitter > 0 && e.jitter <= 1 ? e.jitter : 0, this.attempts = 0;\n}\nne.prototype.duration = function() {\n var e = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var t = Math.random(), r = Math.floor(t * this.jitter * e);\n e = Math.floor(t * 10) & 1 ? e + r : e - r;\n }\n return Math.min(e, this.max) | 0;\n};\nne.prototype.reset = function() {\n this.attempts = 0;\n};\nne.prototype.setMin = function(e) {\n this.ms = e;\n};\nne.prototype.setMax = function(e) {\n this.max = e;\n};\nne.prototype.setJitter = function(e) {\n this.jitter = e;\n};\nvar cn = nn, un = Rt(), fn = ee, hn = ve, W = Ot, Q = It, U = X(\"socket.io-client:manager\"), xt = Ft, ln = an, Tt = Object.prototype.hasOwnProperty, ut = F;\nfunction F(e, t) {\n if (!(this instanceof F))\n return new F(e, t);\n e && typeof e == \"object\" && (t = e, e = void 0), t = t || {}, t.path = t.path || \"/socket.io\", this.nsps = {}, this.subs = [], this.opts = t, this.reconnection(t.reconnection !== !1), this.reconnectionAttempts(t.reconnectionAttempts || 1 / 0), this.reconnectionDelay(t.reconnectionDelay || 1e3), this.reconnectionDelayMax(t.reconnectionDelayMax || 5e3), this.randomizationFactor(t.randomizationFactor || 0.5), this.backoff = new ln({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor()\n }), this.timeout(t.timeout == null ? 2e4 : t.timeout), this.readyState = \"closed\", this.uri = e, this.connecting = [], this.lastPing = null, this.encoding = !1, this.packetBuffer = [];\n var r = t.parser || hn;\n this.encoder = new r.Encoder(), this.decoder = new r.Decoder(), this.autoConnect = t.autoConnect !== !1, this.autoConnect && this.open();\n}\nF.prototype.emitAll = function() {\n this.emit.apply(this, arguments);\n for (var e in this.nsps)\n Tt.call(this.nsps, e) && this.nsps[e].emit.apply(this.nsps[e], arguments);\n};\nF.prototype.updateSocketIds = function() {\n for (var e in this.nsps)\n Tt.call(this.nsps, e) && (this.nsps[e].id = this.generateId(e));\n};\nF.prototype.generateId = function(e) {\n return (e === \"/\" ? \"\" : e + \"#\") + this.engine.id;\n};\nfn(F.prototype);\nF.prototype.reconnection = function(e) {\n return arguments.length ? (this._reconnection = !!e, this) : this._reconnection;\n};\nF.prototype.reconnectionAttempts = function(e) {\n return arguments.length ? (this._reconnectionAttempts = e, this) : this._reconnectionAttempts;\n};\nF.prototype.reconnectionDelay = function(e) {\n return arguments.length ? (this._reconnectionDelay = e, this.backoff && this.backoff.setMin(e), this) : this._reconnectionDelay;\n};\nF.prototype.randomizationFactor = function(e) {\n return arguments.length ? (this._randomizationFactor = e, this.backoff && this.backoff.setJitter(e), this) : this._randomizationFactor;\n};\nF.prototype.reconnectionDelayMax = function(e) {\n return arguments.length ? (this._reconnectionDelayMax = e, this.backoff && this.backoff.setMax(e), this) : this._reconnectionDelayMax;\n};\nF.prototype.timeout = function(e) {\n return arguments.length ? (this._timeout = e, this) : this._timeout;\n};\nF.prototype.maybeReconnectOnOpen = function() {\n !this.reconnecting && this._reconnection && this.backoff.attempts === 0 && this.reconnect();\n};\nF.prototype.open = F.prototype.connect = function(e, t) {\n if (U(\"readyState %s\", this.readyState), ~this.readyState.indexOf(\"open\"))\n return this;\n U(\"opening %s\", this.uri), this.engine = cn(this.uri, this.opts);\n var r = this.engine, n = this;\n this.readyState = \"opening\", this.skipReconnect = !1;\n var i = W(r, \"open\", function() {\n n.onopen(), e && e();\n }), o = W(r, \"error\", function(h) {\n if (U(\"connect_error\"), n.cleanup(), n.readyState = \"closed\", n.emitAll(\"connect_error\", h), e) {\n var u = new Error(\"Connection error\");\n u.data = h, e(u);\n } else\n n.maybeReconnectOnOpen();\n });\n if (this._timeout !== !1) {\n var s = this._timeout;\n U(\"connect attempt will timeout after %d\", s), s === 0 && i.destroy();\n var f = setTimeout(function() {\n U(\"connect attempt timed out after %d\", s), i.destroy(), r.close(), r.emit(\"error\", \"timeout\"), n.emitAll(\"connect_timeout\", s);\n }, s);\n this.subs.push({\n destroy: function() {\n clearTimeout(f);\n }\n });\n }\n return this.subs.push(i), this.subs.push(o), this;\n};\nF.prototype.onopen = function() {\n U(\"open\"), this.cleanup(), this.readyState = \"open\", this.emit(\"open\");\n var e = this.engine;\n this.subs.push(W(e, \"data\", Q(this, \"ondata\"))), this.subs.push(W(e, \"ping\", Q(this, \"onping\"))), this.subs.push(W(e, \"pong\", Q(this, \"onpong\"))), this.subs.push(W(e, \"error\", Q(this, \"onerror\"))), this.subs.push(W(e, \"close\", Q(this, \"onclose\"))), this.subs.push(W(this.decoder, \"decoded\", Q(this, \"ondecoded\")));\n};\nF.prototype.onping = function() {\n this.lastPing = /* @__PURE__ */ new Date(), this.emitAll(\"ping\");\n};\nF.prototype.onpong = function() {\n this.emitAll(\"pong\", /* @__PURE__ */ new Date() - this.lastPing);\n};\nF.prototype.ondata = function(e) {\n this.decoder.add(e);\n};\nF.prototype.ondecoded = function(e) {\n this.emit(\"packet\", e);\n};\nF.prototype.onerror = function(e) {\n U(\"error\", e), this.emitAll(\"error\", e);\n};\nF.prototype.socket = function(e, t) {\n var r = this.nsps[e];\n if (!r) {\n r = new un(this, e, t), this.nsps[e] = r;\n var n = this;\n r.on(\"connecting\", i), r.on(\"connect\", function() {\n r.id = n.generateId(e);\n }), this.autoConnect && i();\n }\n function i() {\n ~xt(n.connecting, r) || n.connecting.push(r);\n }\n return r;\n};\nF.prototype.destroy = function(e) {\n var t = xt(this.connecting, e);\n ~t && this.connecting.splice(t, 1), !this.connecting.length && this.close();\n};\nF.prototype.packet = function(e) {\n U(\"writing packet %j\", e);\n var t = this;\n e.query && e.type === 0 && (e.nsp += \"?\" + e.query), t.encoding ? t.packetBuffer.push(e) : (t.encoding = !0, this.encoder.encode(e, function(r) {\n for (var n = 0; n < r.length; n++)\n t.engine.write(r[n], e.options);\n t.encoding = !1, t.processPacketQueue();\n }));\n};\nF.prototype.processPacketQueue = function() {\n if (this.packetBuffer.length > 0 && !this.encoding) {\n var e = this.packetBuffer.shift();\n this.packet(e);\n }\n};\nF.prototype.cleanup = function() {\n U(\"cleanup\");\n for (var e = this.subs.length, t = 0; t < e; t++) {\n var r = this.subs.shift();\n r.destroy();\n }\n this.packetBuffer = [], this.encoding = !1, this.lastPing = null, this.decoder.destroy();\n};\nF.prototype.close = F.prototype.disconnect = function() {\n U(\"disconnect\"), this.skipReconnect = !0, this.reconnecting = !1, this.readyState === \"opening\" && this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.engine && this.engine.close();\n};\nF.prototype.onclose = function(e) {\n U(\"onclose\"), this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.emit(\"close\", e), this._reconnection && !this.skipReconnect && this.reconnect();\n};\nF.prototype.reconnect = function() {\n if (this.reconnecting || this.skipReconnect)\n return this;\n var e = this;\n if (this.backoff.attempts >= this._reconnectionAttempts)\n U(\"reconnect failed\"), this.backoff.reset(), this.emitAll(\"reconnect_failed\"), this.reconnecting = !1;\n else {\n var t = this.backoff.duration();\n U(\"will wait %dms before reconnect attempt\", t), this.reconnecting = !0;\n var r = setTimeout(function() {\n e.skipReconnect || (U(\"attempting reconnect\"), e.emitAll(\"reconnect_attempt\", e.backoff.attempts), e.emitAll(\"reconnecting\", e.backoff.attempts), !e.skipReconnect && e.open(function(n) {\n n ? (U(\"reconnect attempt error\"), e.reconnecting = !1, e.reconnect(), e.emitAll(\"reconnect_error\", n.data)) : (U(\"reconnect success\"), e.onreconnect());\n }));\n }, t);\n this.subs.push({\n destroy: function() {\n clearTimeout(r);\n }\n });\n }\n};\nF.prototype.onreconnect = function() {\n var e = this.backoff.attempts;\n this.reconnecting = !1, this.backoff.reset(), this.updateSocketIds(), this.emitAll(\"reconnect\", e);\n};\n(function(e, t) {\n var r = Gt, n = ve, i = ut, o = X(\"socket.io-client\");\n e.exports = t = f;\n var s = t.managers = {};\n function f(h, u) {\n typeof h == \"object\" && (u = h, h = void 0), u = u || {};\n var p = r(h), d = p.source, y = p.id, a = p.path, N = s[y] && a in s[y].nsps, k = u.forceNew || u[\"force new connection\"] || u.multiplex === !1 || N, l;\n return k ? (o(\"ignoring socket cache for %s\", d), l = i(d, u)) : (s[y] || (o(\"new io instance for %s\", d), s[y] = i(d, u)), l = s[y]), p.query && !u.query && (u.query = p.query), l.socket(p.path, u);\n }\n t.protocol = n.protocol, t.connect = f, t.Manager = ut, t.Socket = Rt();\n})(Oe, Oe.exports);\nvar pn = Oe.exports;\nconst dn = /* @__PURE__ */ Pt(pn);\nlet le;\nconst yn = new Uint8Array(16);\nfunction gn() {\n if (!le && (le = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !le))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return le(yn);\n}\nconst P = [];\nfor (let e = 0; e < 256; ++e)\n P.push((e + 256).toString(16).slice(1));\nfunction vn(e, t = 0) {\n return P[e[t + 0]] + P[e[t + 1]] + P[e[t + 2]] + P[e[t + 3]] + \"-\" + P[e[t + 4]] + P[e[t + 5]] + \"-\" + P[e[t + 6]] + P[e[t + 7]] + \"-\" + P[e[t + 8]] + P[e[t + 9]] + \"-\" + P[e[t + 10]] + P[e[t + 11]] + P[e[t + 12]] + P[e[t + 13]] + P[e[t + 14]] + P[e[t + 15]];\n}\nconst mn = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto), ft = {\n randomUUID: mn\n};\nfunction bn(e, t, r) {\n if (ft.randomUUID && !t && !e)\n return ft.randomUUID();\n e = e || {};\n const n = e.random || (e.rng || gn)();\n if (n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, t) {\n r = r || 0;\n for (let i = 0; i < 16; ++i)\n t[r + i] = n[i];\n return t;\n }\n return vn(n);\n}\nfunction wn(e, t) {\n const r = t.map((i) => JSON.stringify(i)).join(\" \"), n = (/* @__PURE__ */ new Date()).toISOString();\n return JSON.stringify({\n level: e,\n time: n,\n message: r\n });\n}\nfunction Cn(e, t) {\n const r = JSON.parse(e);\n return t.forEach((n) => delete r[n]), r;\n}\nfunction An(e) {\n if (typeof e == \"object\" && e !== null)\n return e;\n try {\n return JSON.parse(e);\n } catch {\n return { extraData: e };\n }\n}\nfunction En(e) {\n const t = /\\(([^)]+)\\)/, r = e.match(t);\n if (r && r[1]) {\n const n = r[1].split(\";\");\n for (let i of n)\n if (i = i.trim(), i.startsWith(\"Windows\") || i.startsWith(\"Macintosh\") || i.startsWith(\"Linux\"))\n return i;\n }\n return \"Unknown\";\n}\nfunction ht(e) {\n return (...t) => new Promise((r, n) => {\n try {\n const i = e(...t);\n r(i);\n } catch (i) {\n n(i);\n }\n });\n}\nconst Bn = {\n reconnection: !0,\n reconnectionDelay: 5e3,\n reconnectionAttempts: 10,\n //perMessageDeflate: false,\n upgrade: !1,\n transports: [\"websocket\"],\n debug: !1\n}, Ne = {\n logToConsole: !0,\n overloadGlobalConsole: !1,\n socketEmitInterval: 6e4\n}, Fn = {\n CREATE: \"Create\",\n READ: \"Read\",\n UPDATE: \"Update\",\n DELETE: \"Delete\",\n CONVERT: \"Convert\",\n DOWNLOAD: \"Download\",\n UPLOAD: \"Upload\",\n ENCRYPT: \"Encrypt\",\n DECRYPT: \"Decrypt\",\n FILTER: \"Filter\",\n INPUT: \"Input\",\n OUTPUT: \"Output\",\n PLUGIN: \"Plugin\",\n LOGIN: \"Login\",\n LOGOUT: \"Logout\",\n REFRESH: \"Refresh\",\n CHECK: \"Check\",\n WEBHOOK: \"Webhook\",\n WSCONNECT: \"WSConnect\"\n}, kn = {\n Create: 1,\n Read: 2,\n Update: 3,\n Delete: 4,\n Convert: 5,\n Download: 6,\n Upload: 7,\n Encrypt: 8,\n Decrypt: 9,\n Filter: 10,\n Input: 11,\n Output: 12,\n Plugin: 13,\n Login: 14,\n Logout: 15,\n Refresh: 16,\n Check: 17,\n Webhook: 18,\n WSConnect: 19\n}, Nn = {\n INFO: \"info\",\n WARNING: \"warning\",\n MODIFY: \"modify\",\n ERROR: \"error\",\n VIEW: \"view\"\n}, On = {\n INFO: \"info\",\n WARNING: \"warning\",\n ERROR: \"error\",\n DEBUG: \"debug\"\n}, In = {\n USER: \"User\",\n ACCOUNT: \"Account\"\n}, Rn = {\n USER: \"UserName\",\n ACCOUNT: \"AccountName\",\n EXTENSION: \"ExtensionName\"\n}, xn = {\n USER: \"UserID\",\n ACCOUNT: \"AccountID\",\n EXTENSION: \"ExtensionID\"\n}, Tn = {\n USER: \"User ID\",\n ACCOUNT: \"Account ID\",\n EXTENSION: \"Extension ID\",\n CAMPAIGN: \"Campaign ID\",\n QUEUE: \"Queue ID\"\n}, Dn = {\n USER: \"User\",\n ACCOUNT: \"Account\",\n EXTENSION: \"Extension\",\n CAMPAIGN: \"Campaign\",\n QUEUE: \"Queue\"\n};\nlet L = console;\nclass qn {\n /**\n * Initialize storage logger\n * @param options The configuration of the logger.\n */\n constructor(t) {\n O(this, \"logToConsole\");\n O(this, \"overloadGlobalConsole\");\n O(this, \"system\");\n O(this, \"socketEmitInterval\");\n O(this, \"storageId\");\n O(this, \"emitInProgress\");\n O(this, \"queue\");\n O(this, \"processing\");\n O(this, \"storageInitialized\");\n O(this, \"interval\");\n O(this, \"logIndex\");\n O(this, \"socket\");\n O(this, \"staticObject\", {});\n O(this, \"localObject\", {});\n O(this, \"isGetItemAsync\");\n O(this, \"isSetItemAsync\");\n O(this, \"getItem\");\n O(this, \"setItem\");\n O(this, \"parseLog\");\n O(this, \"_logMethod\");\n O(this, \"_warnMethod\");\n O(this, \"_errorMethod\");\n O(this, \"_debugMethod\");\n const { loggerOptions: r } = t;\n if (!r.system)\n throw new Error(\"Config property 'system' should be provided!\");\n this.isGetItemAsync = r.isGetItemAsync || !1, this.isSetItemAsync = r.isSetItemAsync || !1, this.setupStorageFunctions(r.getItem, r.setItem, r.parseLog), this.system = r.system, this.socketEmitInterval = r.socketEmitInterval || Ne.socketEmitInterval, this.logToConsole = r.logToConsole !== void 0 ? r.logToConsole : Ne.logToConsole, this.overloadGlobalConsole = r.overloadGlobalConsole !== void 0 ? r.overloadGlobalConsole : Ne.overloadGlobalConsole, this.storageId = this.getStorageName(), this.queue = [], this.processing = !1, this.storageInitialized = !1, this.emitInProgress = !1, this.logIndex = 0, this.init(t);\n }\n /**\n * Used to setup storage functions and logs parser function.\n * @param getItemFunction Function for getting item from storage.\n * @param setItemFunction Function for setting item to storage.\n * @param parseLogFunction Function for parsing logs.\n * @return void\n */\n setupStorageFunctions(t, r, n) {\n this.getItem = t && typeof t == \"function\" ? this.isGetItemAsync ? t : ht(t) : this.defaultGetItemFunction, this.setItem = r && typeof r == \"function\" ? this.isSetItemAsync ? r : ht(r) : this.defaultSetItemFunction, this.parseLog = n && typeof n == \"function\" ? n : wn;\n }\n /**\n * Used to initialize logger. Initializes storage, establishes socket connection and overloads console if needed\n * @param options The logger config.\n * @return void\n */\n init(t) {\n const { socket: r, url: n, socketOptions: i = {} } = t;\n this._logMethod = L.log.bind(L), this._warnMethod = L.warn.bind(L), this._errorMethod = L.error.bind(L), this._debugMethod = L.debug.bind(L), this.initStorage().then(() => {\n if (r)\n this.socket = r;\n else if (n)\n this.socket = this.createConnection(n, i);\n else\n throw new Error(\"Must provide either a 'socket' or a 'url' for socket connection\");\n this.interval = setInterval(async () => {\n await this.emitLogs();\n }, this.socketEmitInterval), this.overloadGlobalConsole && this._overloadConsole();\n });\n }\n /**\n * Used to initialize new socket connection\n * @param url The url used for the socket connection.\n * @param options The options used for the socket connection.\n * @return void\n */\n createConnection(t, r = {}) {\n const n = {\n ...Bn,\n ...r\n };\n return dn(t, n);\n }\n /**\n * Emits stored logs to the server and clears the log storage in case the emit operation was successful\n * @return {Promise<void>}\n */\n async emitLogs() {\n if (!this.emitInProgress)\n try {\n const t = await this.getItem(this.storageId), r = JSON.parse(t || \"{}\"), n = {\n ...this.localObject,\n ...r\n };\n if (!Object.keys(n).length)\n return;\n const i = [];\n this.emitInProgress = !0;\n const o = Object.keys(n);\n if (!o.length)\n return;\n if (!this.socket || !this.socket.connected)\n throw new Error(\"Socket is disconnected\");\n for (const h of o) {\n const u = An(n[h]), p = {\n ...this.staticObject,\n ...u\n }, d = this.populateSendingLog(p);\n await this.socket.emit(\"Log\", JSON.stringify(d)), i.push(h);\n }\n const s = await this.getItem(this.storageId);\n if (!s)\n return;\n const f = Cn(s, i);\n this.localObject = {}, await this.setItem(this.storageId, JSON.stringify(f));\n } catch (t) {\n this._errorMethod(t);\n } finally {\n this.emitInProgress = !1;\n }\n }\n /**\n * Used to set additional properties for every sending log\n * @return LoggerDataInner\n */\n populateSendingLog(t) {\n const r = {\n ...t\n }, n = r.ActionName;\n return n && (r.ActionID = kn[n]), r;\n }\n /**\n * Used to set a static object which will be send in every message\n * @return void\n */\n setupStaticFields(t) {\n this.staticObject = { ...t };\n }\n /**\n * Used to populate sending message object with static client parameters\n * @return object\n */\n populateMetaData() {\n const t = /* @__PURE__ */ new Date();\n let r;\n typeof window < \"u\" && typeof window.document < \"u\" ? r = window == null ? void 0 : window.navigator.userAgent : typeof self < \"u\" && self.navigator && (r = self.navigator.userAgent);\n let n;\n return r && (n = En(r)), {\n System: this.system,\n DateTime: t,\n UserAgent: r,\n OSVersion: n\n };\n }\n /**\n * Used to stop logger and interrupt socket connection\n * @return void\n */\n async stop() {\n !this.socket || !this.socket.connected || (clearInterval(this.interval), await this.emitLogs(), this.socket.disconnect());\n }\n /**\n * Used to start logger and reconnect socket connection\n * @return void\n */\n async start() {\n this.socket && this.socket.connected || (this.socket.connect(), this.interval = setInterval(async () => {\n await this.emitLogs();\n }, this.socketEmitInterval));\n }\n /**\n * Used to overload the global console object by logger methods.\n * @return void\n */\n _overloadConsole() {\n L = Object.assign(\n L,\n {\n log: (t) => {\n this.log(t);\n },\n warn: (t) => {\n this.warn(t);\n },\n error: (t) => {\n this.error(t);\n },\n debug: (t) => {\n this.debug(t);\n }\n }\n );\n }\n /**\n * Used to initialize the storage if it wasn't created before.\n * @return void\n */\n async initStorage() {\n const t = await this.getItem(this.storageId);\n (!t || typeof t != \"string\") && (await this.setItem(this.storageId, JSON.stringify({})), this.storageInitialized = !0);\n }\n /**\n * Reset log storage\n * @return void\n */\n async resetStorage() {\n await this.setItem(this.storageId, JSON.stringify({}));\n }\n /**\n * Get storage name which is used to access the logs storage\n * @return string\n */\n getStorageName() {\n const t = bn();\n return this.system.toString().toUpperCase() + t + Date.now();\n }\n /**\n * Does common logic for logging data.\n * @param args The arguments of the log where the first argument contains the log level and other\n * arguments are logs to be stored\n * @return void\n */\n async processLog(...t) {\n try {\n if (t.length < 2)\n return;\n const r = t[0], n = t[1], i = this.formItemKey(r);\n if (!this.storageInitialized) {\n this.localObject = {\n ...this.localObject,\n [i]: n\n };\n return;\n }\n const o = await this.getItem(this.storageId);\n if (!o)\n return;\n const s = JSON.parse(o);\n s[i] = JSON.stringify(n), await this.setItem(this.storageId, JSON.stringify(s));\n } catch (r) {\n this._errorMethod(r);\n }\n }\n /**\n * Used to process logs queue.\n * @return Promise<void>\n */\n async processQueue() {\n if (this.processing || this.queue.length === 0)\n return;\n const t = this.queue.shift();\n t && (this.processing = !0, await this.processLog(...t).finally(() => {\n this.processing = !1, this.processQueue();\n }));\n }\n /**\n * Logs info data into the storage\n * @param args The arguments to be logged.\n * @return void\n */\n log(t) {\n const n = {\n ...this.populateMetaData(),\n ...t\n }, i = [\"INFO\", n];\n this.queue.push(i), this.logToConsole && this._logMethod.apply(L, [n]), this.processQueue();\n }\n /**\n * Logs warn data into the storage\n * @param args The arguments to be logged.\n * @return void\n */\n warn(t) {\n const r = [\"WARN\", t];\n this.queue.push(r), this.logToConsole && this._warnMethod.apply(L, [t]), this.processQueue();\n }\n /**\n * Logs error data into the storage\n * @param args The arguments to be logged.\n * @return void\n */\n error(t) {\n const r = [\"ERROR\", t];\n this.queue.push(r), this.logToConsole && this._errorMethod.apply(L, [t]), this.processQueue();\n }\n /**\n * Logs debug data into the storage\n * @param args The arguments to be logged.\n * @return void\n */\n debug(t) {\n const r = [\"DEBUG\", t];\n this.queue.push(r), this.logToConsole && this._debugMethod.apply(L, [t]), this.processQueue();\n }\n /**\n * The default method for getting logs from storage\n * @param storageId The identifier of storage where logs are stored.\n * @return string || null\n */\n async defaultGetItemFunction(t) {\n return localStorage.getItem(t);\n }\n /**\n * The default method for setting logs into the storage\n * @param storageId The identifier of storage where to store the logs.\n * @param logs The logs to be stored.\n * @return void\n */\n async defaultSetItemFunction(t, r) {\n try {\n localStorage.setItem(t, r);\n } catch (n) {\n this._errorMethod(n);\n }\n }\n /**\n * Used to form a key which will be used to store a log in the storage\n * @param level The log level. For example: Info, Warn, Error etc..\n * @return string\n */\n formItemKey(t) {\n const r = (/* @__PURE__ */ new Date()).toISOString();\n return this.logIndex++, `${t}-${this.system}-${r}-${this.logIndex}`;\n }\n}\nexport {\n kn as ActionIDEnum,\n Fn as ActionNameEnum,\n Tn as EntityIDEnum,\n Dn as EntityTypeEnum,\n xn as IdentityIDEnum,\n Rn as IdentityNameEnum,\n In as IdentityTypeEnum,\n On as LevelEnum,\n Nn as LogTypeEnum,\n qn as default,\n Bn as defaultConnectOptions,\n Ne as defaultLoggerOptions\n};\n//# sourceMappingURL=storage-logger.es.js.map\n","import md5 from 'md5'\r\n\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport { ServerParameter } from '@/classes/events-sdk/events-sdk.types'\r\nimport {\r\n ExternalLoginNewStackResponseData,\r\n ExternalLoginOldStackResponseData,\r\n ExternalLoginResponse,\r\n LoginSessionData,\r\n LoginSessionPayload,\r\n Settings\r\n} from '@/types/auth'\r\nimport { LoginType } from '@/enum/auth.enum'\r\nimport { StorageClass } from '@/classes/storage/storage.class'\r\nimport { ActionNameEnum, LevelEnum, LogTypeEnum } from '@voicenter-team/socketio-storage-logger'\r\n\r\nclass AuthClass {\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n\r\n this.storageKey = ''\r\n }\r\n\r\n private delay = 1000\r\n public lastLoginTimestamp: number | undefined\r\n public token: string | undefined\r\n private refreshToken: string | undefined\r\n private tokenExpiry: Date | undefined\r\n\r\n private storageKey: string\r\n\r\n public async login () {\r\n const payload: LoginSessionPayload = {\r\n token: this.eventsSdkClass.options.token && this.eventsSdkClass.options.token,\r\n email: this.eventsSdkClass.options.email && this.eventsSdkClass.options.email,\r\n password: this.eventsSdkClass.options.password && this.eventsSdkClass.options.password\r\n }\r\n\r\n this.storageKey = md5(JSON.stringify({\r\n ...this.eventsSdkClass.options,\r\n loggerSocketConnection: null\r\n }, this.eventsSdkClass.getCircularReplacer()))\r\n\r\n if (this.lastLoginTimestamp && this.lastLoginTimestamp + this.delay > new Date().getTime()) {\r\n return\r\n }\r\n\r\n this.updateLastLoginTimestamp()\r\n\r\n const loginSessionData = await this.checkLoginStatus(this.storageKey)\r\n\r\n if (!loginSessionData) {\r\n StorageClass.clearSessionStorage()\r\n\r\n return await this.userLoginFunction(payload, this.storageKey, this.eventsSdkClass.options.loginType)\r\n }\r\n\r\n return loginSessionData\r\n }\r\n\r\n public updateLastLoginTimestamp () {\r\n this.lastLoginTimestamp = new Date().getTime()\r\n }\r\n\r\n private async checkLoginStatus (key: string): Promise<LoginSessionData | undefined> {\r\n const loginSessionData = await StorageClass.getSessionStorageDataByKey<LoginSessionData>(key)\r\n\r\n if (!loginSessionData) {\r\n return\r\n }\r\n\r\n return loginSessionData\r\n }\r\n\r\n private async userLoginFunction (\r\n payload: LoginSessionPayload,\r\n key: string,\r\n loginType: LoginType,\r\n ) {\r\n let externalLoginResponse\r\n\r\n let settings\r\n\r\n let loginSessionData: Partial<LoginSessionData>\r\n\r\n if (this.eventsSdkClass.options.isNewStack) {\r\n externalLoginResponse = await this.externalLogin<ExternalLoginNewStackResponseData>(\r\n this.eventsSdkClass.options.loginUrl,\r\n payload,\r\n loginType,\r\n )\r\n\r\n settings = await this.getSettings(externalLoginResponse.Data.AccessToken)\r\n\r\n loginSessionData = {\r\n ...externalLoginResponse.Data,\r\n ...settings\r\n }\r\n } else {\r\n externalLoginResponse = await this.externalLogin<ExternalLoginOldStackResponseData>(\r\n this.eventsSdkClass.options.loginUrl,\r\n payload,\r\n loginType,\r\n )\r\n\r\n loginSessionData = {\r\n ...externalLoginResponse.Data.Socket,\r\n }\r\n }\r\n\r\n await StorageClass.updateSessionStorageKey(key, loginSessionData)\r\n\r\n return loginSessionData\r\n }\r\n\r\n public onLoginResponse (loginSessionData: Partial<LoginSessionData>) {\r\n if (!this.eventsSdkClass.options.isNewStack && this.eventsSdkClass.options.servers) {\r\n this.eventsSdkClass.servers = [ ...this.eventsSdkClass.options.servers ]\r\n this.eventsSdkClass.server = this.eventsSdkClass.servers.reduce((prev, current) =>\r\n (prev.Priority > current.Priority) ? prev : current\r\n )\r\n }\r\n if (this.eventsSdkClass.options.isNewStack && this.eventsSdkClass.options.servers) {\r\n this.eventsSdkClass.servers = [ ...this.eventsSdkClass.options.servers ]\r\n this.eventsSdkClass.server = this.eventsSdkClass.servers.reduce((prev, current) =>\r\n (prev.Priority > current.Priority) ? prev : current\r\n )\r\n }\r\n if (loginSessionData.MonitorList && loginSessionData.MonitorList.length) {\r\n this.eventsSdkClass.servers = [ ...loginSessionData.MonitorList ]\r\n this.eventsSdkClass.server = this.eventsSdkClass.servers.reduce((prev, current) =>\r\n (prev.Priority > current.Priority) ? prev : current\r\n )\r\n }\r\n if (!this.eventsSdkClass.options.isNewStack && !this.eventsSdkClass.servers.length && loginSessionData.URLList) {\r\n this.eventsSdkClass.URLList = loginSessionData.URLList\r\n }\r\n if (!this.eventsSdkClass.options.isNewStack && !this.eventsSdkClass.URLList.length && !this.eventsSdkClass.servers.length) {\r\n throw new Error('Socket servers not defined')\r\n }\r\n if (this.eventsSdkClass.options.isNewStack && !this.eventsSdkClass.servers.length) {\r\n throw new Error('Socket servers not defined')\r\n }\r\n if (this.eventsSdkClass.server) {\r\n this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${this.eventsSdkClass.server.Version}`)\r\n }\r\n if (!this.eventsSdkClass.server && this.eventsSdkClass.URLList.length) {\r\n this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${loginSessionData.Version}`)\r\n }\r\n if (loginSessionData.IdentityCode) {\r\n this.token = loginSessionData.IdentityCode\r\n this.eventsSdkClass.connect(ServerParameter.MAIN)\r\n }\r\n if (loginSessionData.Token) {\r\n this.token = loginSessionData.Token\r\n this.eventsSdkClass.connect(ServerParameter.MAIN)\r\n }\r\n if (loginSessionData.RefreshToken && loginSessionData.IdentityCodeExpiry && this.eventsSdkClass.options.loginType === LoginType.USER) {\r\n this.refreshToken = loginSessionData.RefreshToken\r\n this.tokenExpiry = loginSessionData.IdentityCodeExpiry\r\n this.handleTokenExpiry()\r\n }\r\n if (loginSessionData.RefreshToken && loginSessionData.TokenExpiry && this.normalizeLoginType(this.eventsSdkClass.options.loginType) === LoginType.USER) {\r\n this.refreshToken = loginSessionData.RefreshToken\r\n this.tokenExpiry = loginSessionData.TokenExpiry\r\n this.handleTokenExpiry()\r\n }\r\n }\r\n\r\n public handleTokenExpiry () {\r\n if (!this.eventsSdkClass.options.refreshTokenUrl) {\r\n throw new Error('refreshTokenUrl not provided')\r\n }\r\n\r\n let date: Date\r\n\r\n if (this.tokenExpiry) {\r\n date = new Date(this.tokenExpiry)\r\n } else {\r\n return\r\n }\r\n\r\n const timeout = date.getTime() - new Date().getTime() - 5000 // 5 seconds before expire\r\n\r\n const maxAllowedTimeout = Math.min(timeout, 0x7FFFFFFF)\r\n\r\n setTimeout(\r\n async () => {\r\n if (this.refreshToken) {\r\n this.eventsSdkClass.socketIoClass.closeAllConnections()\r\n\r\n let settings\r\n\r\n let loginSessionData: Partial<LoginSessionData>\r\n\r\n if (this.eventsSdkClass.options.isNewStack) {\r\n const refreshTokenResponse = await this.externalRefreshToken<ExternalLoginNewStackResponseData>(\r\n this.eventsSdkClass.options.refreshTokenUrl,\r\n this.refreshToken\r\n )\r\n\r\n settings = await this.getSettings(refreshTokenResponse.Data.AccessToken)\r\n\r\n loginSessionData = {\r\n ...refreshTokenResponse.Data,\r\n ...settings\r\n }\r\n } else {\r\n const refreshTokenResponse = await this.externalRefreshToken<ExternalLoginOldStackResponseData>(\r\n this.eventsSdkClass.options.refreshTokenUrl,\r\n this.refreshToken\r\n )\r\n\r\n loginSessionData = {\r\n ...refreshTokenResponse.Data.Socket,\r\n }\r\n }\r\n\r\n this.onLoginResponse(loginSessionData)\r\n\r\n await StorageClass.updateSessionStorageKey(this.storageKey, loginSessionData)\r\n }\r\n },\r\n maxAllowedTimeout)\r\n }\r\n\r\n private async externalLogin<T> (\r\n url: string,\r\n { password, token, email }: LoginSessionPayload,\r\n loginType: LoginType,\r\n ): Promise<ExternalLoginResponse<T>> {\r\n if (!url) {\r\n throw new Error('loginUrl not provided')\r\n }\r\n\r\n let body: string\r\n\r\n if (this.eventsSdkClass.options.isNewStack) {\r\n if (loginType === LoginType.TOKEN) {\r\n body = JSON.stringify({\r\n identityType: LoginType.TOKEN,\r\n token\r\n })\r\n } else {\r\n body = JSON.stringify({\r\n identityType: LoginType.USER,\r\n username: email,\r\n password,\r\n })\r\n }\r\n } else {\r\n if (this.eventsSdkClass.options.loginType === LoginType.TOKEN) {\r\n body = JSON.stringify({ token })\r\n\r\n url = `${url}/${LoginType.TOKEN}`\r\n } else {\r\n body = JSON.stringify({\r\n email,\r\n pin: password\r\n })\r\n\r\n url = `${url}/${LoginType.USER}`\r\n }\r\n }\r\n\r\n try {\r\n const res = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body,\r\n })\r\n\r\n if (!res.ok && res.status === 400) {\r\n throw new Error('Bad body request. Login type or isNewStack values not correct or not provided')\r\n }\r\n\r\n if (!res.ok && res.status === 401) {\r\n throw new Error('Unauthorized. Invalid token provided')\r\n }\r\n\r\n if (!res.ok && res.status === 403) {\r\n throw new Error('Forbidden. Identity token not provided or not valid')\r\n }\r\n\r\n const data = await res.json()\r\n\r\n if (data.error) {\r\n throw new Error(data.error)\r\n }\r\n return data\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `External login request error with the login type ${LoginType} ${loginType === LoginType.TOKEN ? { token } : {\r\n email,\r\n pin: password \r\n }}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'External login error',\r\n StatusCode: 400,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n\r\n throw error\r\n }\r\n }\r\n\r\n private async getSettings (token: string): Promise<Settings> {\r\n try {\r\n if (!this.eventsSdkClass.options.getSettingsUrl) {\r\n throw new Error('getSettingsUrl not provided')\r\n }\r\n\r\n const res = await fetch(this.eventsSdkClass.options.getSettingsUrl, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n\r\n if (!res.ok && res.status === 401) {\r\n throw new Error('Unauthorized. Access token not provided or not valid')\r\n }\r\n\r\n return res.json()\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Get settings error with token ${token}, error: ${error}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Get settings error',\r\n StatusCode: 400,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n\r\n throw error\r\n }\r\n }\r\n\r\n private async externalRefreshToken<T> (refreshTokenUrl: string, oldRefreshToken: string): Promise<ExternalLoginResponse<T>> {\r\n try {\r\n const res = await fetch(refreshTokenUrl, {\r\n method: 'GET',\r\n\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${oldRefreshToken}`\r\n }\r\n })\r\n return res.json()\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Refresh token error with old refresh token ${oldRefreshToken}, url: ${refreshTokenUrl}, error: ${error}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Get settings error',\r\n StatusCode: 400,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n\r\n throw error\r\n }\r\n }\r\n\r\n private normalizeLoginType (loginType: string): string {\r\n return loginType.charAt(0).toUpperCase() + loginType.slice(1).toLowerCase()\r\n }\r\n}\r\n\r\nexport default AuthClass\r\n","import type { EventsSdkOptionsMain } from '@/classes/events-sdk/events-sdk.types'\r\n\r\nexport const eventsSdkDefaultOptions: EventsSdkOptionsMain = {\r\n isNewStack: false,\r\n loginUrl: 'https://loginapi.voicenter.co.il/monitorAPI/Login',\r\n refreshTokenUrl: 'https://loginapi.voicenter.co.il/monitorAPI/RefreshIdentityToken',\r\n forceNew: true,\r\n reconnectionDelay: 10000,\r\n // reconnectionDelayMax: 10000,\r\n // maxReconnectAttempts: 5,\r\n timeout: 10000,\r\n keepAliveTimeout: 60000,\r\n // idleInterval: 60000 * 5,\r\n protocol: 'https',\r\n // transports: [ 'websocket' ],\r\n // upgrade: false,\r\n // serverFetchStrategy: 'static',\r\n // serverType: 0,\r\n useLogger: true,\r\n loggerServer: 'https://socketlog.voicenter.co',\r\n loggerConfig: {\r\n logToConsole: true,\r\n overloadGlobalConsole: false,\r\n system: 'events-sdk',\r\n socketEmitInterval: 10000,\r\n },\r\n loggerConnectOptions: {\r\n reconnection: true,\r\n reconnectionDelay: 5000,\r\n reconnectionAttempts: 10,\r\n perMessageDeflate: undefined,\r\n upgrade: false,\r\n transports: [ 'websocket' ],\r\n debug: false\r\n },\r\n}\r\n","/* eslint-disable */\r\nexport default function () {\r\n // Fix for react-native\r\n if (typeof window !== 'undefined') {\r\n if (typeof window.navigator === 'undefined' || typeof window.navigator.userAgent === 'undefined') {\r\n window.navigator.userAgent = 'react-native'\r\n }\r\n }\r\n\r\n var t;\r\n return function e(t, n, r) {\r\n function o(s, a) {\r\n if (!n[s]) {\r\n if (!t[s]) {\r\n var c = \"function\" == typeof require && require;\r\n if (!a && c) return c(s, !0);\r\n if (i) return i(s, !0);\r\n throw new Error(\"Cannot find module '\" + s + \"'\")\r\n }\r\n var p = n[s] = {exports: {}};\r\n t[s][0].call(p.exports, function (e) {\r\n var n = t[s][1][e];\r\n return o(n ? n : e)\r\n }, p, p.exports, e, t, n, r)\r\n }\r\n return n[s].exports\r\n }\r\n\r\n for (var i = \"function\" == typeof require && require, s = 0; s < r.length; s++) o(r[s]);\r\n return o\r\n }({\r\n 1: [function (t, e) {\r\n e.exports = t(\"./lib/\")\r\n }, {\"./lib/\": 2}],\r\n 2: [function (t, e, n) {\r\n function r(t, e) {\r\n \"object\" == typeof t && (e = t, t = void 0), e = e || {};\r\n var n, r = o(t), i = r.source, p = r.id;\r\n return e.forceNew || e[\"force new connection\"] || !1 === e.multiplex ? (a(\"ignoring socket cache for %s\", i), n = s(i, e)) : (c[p] || (a(\"new io instance for %s\", i), c[p] = s(i, e)), n = c[p]), n.socket(r.path)\r\n }\r\n\r\n var o = t(\"./url\"), i = t(\"socket.io-parser\"), s = t(\"./manager\"), a = t(\"debug\")(\"socket.io-client\");\r\n e.exports = n = r;\r\n var c = n.managers = {};\r\n n.protocol = i.protocol, n.connect = r, n.Manager = t(\"./manager\"), n.Socket = t(\"./socket\")\r\n }, {\"./manager\": 3, \"./socket\": 5, \"./url\": 6, debug: 10, \"socket.io-parser\": 44}],\r\n 3: [function (t, e) {\r\n function n(t, e) {\r\n return this instanceof n ? (t && \"object\" == typeof t && (e = t, t = void 0), e = e || {}, e.path = e.path || \"/socket.io\", this.nsps = {}, this.subs = [], this.opts = e, this.reconnection(e.reconnection !== !1), this.reconnectionAttempts(e.reconnectionAttempts || 1 / 0), this.reconnectionDelay(e.reconnectionDelay || 1e3), this.reconnectionDelayMax(e.reconnectionDelayMax || 5e3), this.randomizationFactor(e.randomizationFactor || .5), this.backoff = new f({\r\n min: this.reconnectionDelay(),\r\n max: this.reconnectionDelayMax(),\r\n jitter: this.randomizationFactor()\r\n }), this.timeout(null == e.timeout ? 2e4 : e.timeout), this.readyState = \"closed\", this.uri = t, this.connected = [], this.encoding = !1, this.packetBuffer = [], this.encoder = new s.Encoder, this.decoder = new s.Decoder, this.autoConnect = e.autoConnect !== !1, void (this.autoConnect && this.open())) : new n(t, e)\r\n }\r\n\r\n var r = (t(\"./url\"), t(\"engine.io-client\")), o = t(\"./socket\"), i = t(\"component-emitter\"),\r\n s = t(\"socket.io-parser\"), a = t(\"./on\"), c = t(\"component-bind\"),\r\n p = (t(\"object-component\"), t(\"debug\")(\"socket.io-client:manager\")), u = t(\"indexof\"), f = t(\"backo2\");\r\n e.exports = n, n.prototype.emitAll = function () {\r\n this.emit.apply(this, arguments);\r\n for (var t in this.nsps) this.nsps[t].emit.apply(this.nsps[t], arguments)\r\n }, n.prototype.updateSocketIds = function () {\r\n for (var t in this.nsps) this.nsps[t].id = this.engine.id\r\n }, i(n.prototype), n.prototype.reconnection = function (t) {\r\n return arguments.length ? (this._reconnection = !!t, this) : this._reconnection\r\n }, n.prototype.reconnectionAttempts = function (t) {\r\n return arguments.length ? (this._reconnectionAttempts = t, this) : this._reconnectionAttempts\r\n }, n.prototype.reconnectionDelay = function (t) {\r\n return arguments.length ? (this._reconnectionDelay = t, this.backoff && this.backoff.setMin(t), this) : this._reconnectionDelay\r\n }, n.prototype.randomizationFactor = function (t) {\r\n return arguments.length ? (this._randomizationFactor = t, this.backoff && this.backoff.setJitter(t), this) : this._randomizationFactor\r\n }, n.prototype.reconnectionDelayMax = function (t) {\r\n return arguments.length ? (this._reconnectionDelayMax = t, this.backoff && this.backoff.setMax(t), this) : this._reconnectionDelayMax\r\n }, n.prototype.timeout = function (t) {\r\n return arguments.length ? (this._timeout = t, this) : this._timeout\r\n }, n.prototype.maybeReconnectOnOpen = function () {\r\n !this.reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect()\r\n }, n.prototype.open = n.prototype.connect = function (t) {\r\n if (p(\"readyState %s\", this.readyState), ~this.readyState.indexOf(\"open\")) return this;\r\n p(\"opening %s\", this.uri), this.engine = r(this.uri, this.opts);\r\n var e = this.engine, n = this;\r\n this.readyState = \"opening\", this.skipReconnect = !1;\r\n var o = a(e, \"open\", function () {\r\n n.onopen(), t && t()\r\n }), i = a(e, \"error\", function (e) {\r\n if (p(\"connect_error\"), n.cleanup(), n.readyState = \"closed\", n.emitAll(\"connect_error\", e), t) {\r\n var r = new Error(\"Connection error\");\r\n r.data = e, t(r)\r\n } else n.maybeReconnectOnOpen()\r\n });\r\n if (!1 !== this._timeout) {\r\n var s = this._timeout;\r\n p(\"connect attempt will timeout after %d\", s);\r\n var c = setTimeout(function () {\r\n p(\"connect attempt timed out after %d\", s), o.destroy(), e.close(), e.emit(\"error\", \"timeout\"), n.emitAll(\"connect_timeout\", s)\r\n }, s);\r\n this.subs.push({\r\n destroy: function () {\r\n clearTimeout(c)\r\n }\r\n })\r\n }\r\n return this.subs.push(o), this.subs.push(i), this\r\n }, n.prototype.onopen = function () {\r\n p(\"open\"), this.cleanup(), this.readyState = \"open\", this.emit(\"open\");\r\n var t = this.engine;\r\n this.subs.push(a(t, \"data\", c(this, \"ondata\"))), this.subs.push(a(this.decoder, \"decoded\", c(this, \"ondecoded\"))), this.subs.push(a(t, \"error\", c(this, \"onerror\"))), this.subs.push(a(t, \"close\", c(this, \"onclose\")))\r\n }, n.prototype.ondata = function (t) {\r\n this.decoder.add(t)\r\n }, n.prototype.ondecoded = function (t) {\r\n this.emit(\"packet\", t)\r\n }, n.prototype.onerror = function (t) {\r\n p(\"error\", t), this.emitAll(\"error\", t)\r\n }, n.prototype.socket = function (t) {\r\n var e = this.nsps[t];\r\n if (!e) {\r\n e = new o(this, t), this.nsps[t] = e;\r\n var n = this;\r\n e.on(\"connect\", function () {\r\n e.id = n.engine.id, ~u(n.connected, e) || n.connected.push(e)\r\n })\r\n }\r\n return e\r\n }, n.prototype.destroy = function (t) {\r\n var e = u(this.connected, t);\r\n ~e && this.connected.splice(e, 1), this.connected.length || this.close()\r\n }, n.prototype.packet = function (t) {\r\n p(\"writing packet %j\", t);\r\n var e = this;\r\n e.encoding ? e.packetBuffer.push(t) : (e.encoding = !0, this.encoder.encode(t, function (t) {\r\n for (var n = 0; n < t.length; n++) e.engine.write(t[n]);\r\n e.encoding = !1, e.processPacketQueue()\r\n }))\r\n }, n.prototype.processPacketQueue = function () {\r\n if (this.packetBuffer.length > 0 && !this.encoding) {\r\n var t = this.packetBuffer.shift();\r\n this.packet(t)\r\n }\r\n }, n.prototype.cleanup = function () {\r\n for (var t; t = this.subs.shift();) t.destroy();\r\n this.packetBuffer = [], this.encoding = !1, this.decoder.destroy()\r\n }, n.prototype.close = n.prototype.disconnect = function () {\r\n this.skipReconnect = !0, this.backoff.reset(), this.readyState = \"closed\", this.engine && this.engine.close()\r\n }, n.prototype.onclose = function (t) {\r\n p(\"close\"), this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.emit(\"close\", t), this._reconnection && !this.skipReconnect && this.reconnect()\r\n }, n.prototype.reconnect = function () {\r\n if (this.reconnecting || this.skipReconnect) return this;\r\n var t = this;\r\n if (this.backoff.attempts >= this._reconnectionAttempts) p(\"reconnect failed\"), this.backoff.reset(), this.emitAll(\"reconnect_failed\"), this.reconnecting = !1; else {\r\n var e = this.backoff.duration();\r\n p(\"will wait %dms before reconnect attempt\", e), this.reconnecting = !0;\r\n var n = setTimeout(function () {\r\n t.skipReconnect || (p(\"attempting reconnect\"), t.emitAll(\"reconnect_attempt\", t.backoff.attempts), t.emitAll(\"reconnecting\", t.backoff.attempts), t.skipReconnect || t.open(function (e) {\r\n e ? (p(\"reconnect attempt error\"), t.reconnecting = !1, t.reconnect(), t.emitAll(\"reconnect_error\", e.data)) : (p(\"reconnect success\"), t.onreconnect())\r\n }))\r\n }, e);\r\n this.subs.push({\r\n destroy: function () {\r\n clearTimeout(n)\r\n }\r\n })\r\n }\r\n }, n.prototype.onreconnect = function () {\r\n var t = this.backoff.attempts;\r\n this.reconnecting = !1, this.backoff.reset(), this.updateSocketIds(), this.emitAll(\"reconnect\", t)\r\n }\r\n }, {\r\n \"./on\": 4,\r\n \"./socket\": 5,\r\n \"./url\": 6,\r\n backo2: 7,\r\n \"component-bind\": 8,\r\n \"component-emitter\": 9,\r\n debug: 10,\r\n \"engine.io-client\": 11,\r\n indexof: 40,\r\n \"object-component\": 41,\r\n \"socket.io-parser\": 44\r\n }],\r\n 4: [function (t, e) {\r\n function n(t, e, n) {\r\n return t.on(e, n), {\r\n destroy: function () {\r\n t.removeListener(e, n)\r\n }\r\n }\r\n }\r\n\r\n e.exports = n\r\n }, {}],\r\n 5: [function (t, e, n) {\r\n function r(t, e) {\r\n this.io = t, this.nsp = e, this.json = this, this.ids = 0, this.acks = {}, this.io.autoConnect && this.open(), this.receiveBuffer = [], this.sendBuffer = [], this.connected = !1, this.disconnected = !0\r\n }\r\n\r\n var o = t(\"socket.io-parser\"), i = t(\"component-emitter\"), s = t(\"to-array\"), a = t(\"./on\"),\r\n c = t(\"component-bind\"), p = t(\"debug\")(\"socket.io-client:socket\"), u = t(\"has-binary\");\r\n e.exports = n = r;\r\n var f = {\r\n connect: 1,\r\n connect_error: 1,\r\n connect_timeout: 1,\r\n disconnect: 1,\r\n error: 1,\r\n reconnect: 1,\r\n reconnect_attempt: 1,\r\n reconnect_failed: 1,\r\n reconnect_error: 1,\r\n reconnecting: 1\r\n }, h = i.prototype.emit;\r\n i(r.prototype), r.prototype.subEvents = function () {\r\n if (!this.subs) {\r\n var t = this.io;\r\n this.subs = [a(t, \"open\", c(this, \"onopen\")), a(t, \"packet\", c(this, \"onpacket\")), a(t, \"close\", c(this, \"onclose\"))]\r\n }\r\n }, r.prototype.open = r.prototype.connect = function () {\r\n return this.connected ? this : (this.subEvents(), this.io.open(), \"open\" == this.io.readyState && this.onopen(), this)\r\n }, r.prototype.send = function () {\r\n var t = s(arguments);\r\n return t.unshift(\"message\"), this.emit.apply(this, t), this\r\n }, r.prototype.emit = function (t) {\r\n if (f.hasOwnProperty(t)) return h.apply(this, arguments), this;\r\n var e = s(arguments), n = o.EVENT;\r\n u(e) && (n = o.BINARY_EVENT);\r\n var r = {type: n, data: e};\r\n return \"function\" == typeof e[e.length - 1] && (p(\"emitting packet with ack id %d\", this.ids), this.acks[this.ids] = e.pop(), r.id = this.ids++), this.connected ? this.packet(r) : this.sendBuffer.push(r), this\r\n }, r.prototype.packet = function (t) {\r\n t.nsp = this.nsp, this.io.packet(t)\r\n }, r.prototype.onopen = function () {\r\n p(\"transport is open - connecting\"), \"/\" != this.nsp && this.packet({type: o.CONNECT})\r\n }, r.prototype.onclose = function (t) {\r\n p(\"close (%s)\", t), this.connected = !1, this.disconnected = !0, delete this.id, this.emit(\"disconnect\", t)\r\n }, r.prototype.onpacket = function (t) {\r\n if (t.nsp == this.nsp) switch (t.type) {\r\n case o.CONNECT:\r\n this.onconnect();\r\n break;\r\n case o.EVENT:\r\n this.onevent(t);\r\n break;\r\n case o.BINARY_EVENT:\r\n this.onevent(t);\r\n break;\r\n case o.ACK:\r\n this.onack(t);\r\n break;\r\n case o.BINARY_ACK:\r\n this.onack(t);\r\n break;\r\n case o.DISCONNECT:\r\n this.ondisconnect();\r\n break;\r\n case o.ERROR:\r\n this.emit(\"error\", t.data)\r\n }\r\n }, r.prototype.onevent = function (t) {\r\n var e = t.data || [];\r\n p(\"emitting event %j\", e), null != t.id && (p(\"attaching ack callback to event\"), e.push(this.ack(t.id))), this.connected ? h.apply(this, e) : this.receiveBuffer.push(e)\r\n }, r.prototype.ack = function (t) {\r\n var e = this, n = !1;\r\n return function () {\r\n if (!n) {\r\n n = !0;\r\n var r = s(arguments);\r\n p(\"sending ack %j\", r);\r\n var i = u(r) ? o.BINARY_ACK : o.ACK;\r\n e.packet({type: i, id: t, data: r})\r\n }\r\n }\r\n }, r.prototype.onack = function (t) {\r\n p(\"calling ack %s with %j\", t.id, t.data);\r\n var e = this.acks[t.id];\r\n e.apply(this, t.data), delete this.acks[t.id]\r\n }, r.prototype.onconnect = function () {\r\n this.connected = !0, this.disconnected = !1, this.emit(\"connect\"), this.emitBuffered()\r\n }, r.prototype.emitBuffered = function () {\r\n var t;\r\n for (t = 0; t < this.receiveBuffer.length; t++) h.apply(this, this.receiveBuffer[t]);\r\n for (this.receiveBuffer = [], t = 0; t < this.sendBuffer.length; t++) this.packet(this.sendBuffer[t]);\r\n this.sendBuffer = []\r\n }, r.prototype.ondisconnect = function () {\r\n p(\"server disconnect (%s)\", this.nsp), this.destroy(), this.onclose(\"io server disconnect\")\r\n }, r.prototype.destroy = function () {\r\n if (this.subs) {\r\n for (var t = 0; t < this.subs.length; t++) this.subs[t].destroy();\r\n this.subs = null\r\n }\r\n this.io.destroy(this)\r\n }, r.prototype.close = r.prototype.disconnect = function () {\r\n return this.connected && (p(\"performing disconnect (%s)\", this.nsp), this.packet({type: o.DISCONNECT})), this.destroy(), this.connected && this.onclose(\"io client disconnect\"), this\r\n }\r\n }, {\r\n \"./on\": 4,\r\n \"component-bind\": 8,\r\n \"component-emitter\": 9,\r\n debug: 10,\r\n \"has-binary\": 36,\r\n \"socket.io-parser\": 44,\r\n \"to-array\": 48\r\n }],\r\n 6: [function (t, e) {\r\n (function (n) {\r\n function r(t, e) {\r\n var r = t, e = e || n.location;\r\n return null == t && (t = e.protocol + \"//\" + e.host), \"string\" == typeof t && (\"/\" == t.charAt(0) && (t = \"/\" == t.charAt(1) ? e.protocol + t : e.hostname + t), /^(https?|wss?):\\/\\//.test(t) || (i(\"protocol-less url %s\", t), t = \"undefined\" != typeof e ? e.protocol + \"//\" + t : \"https://\" + t), i(\"parse %s\", t), r = o(t)), r.port || (/^(http|ws)$/.test(r.protocol) ? r.port = \"80\" : /^(http|ws)s$/.test(r.protocol) && (r.port = \"443\")), r.path = r.path || \"/\", r.id = r.protocol + \"://\" + r.host + \":\" + r.port, r.href = r.protocol + \"://\" + r.host + (e && e.port == r.port ? \"\" : \":\" + r.port), r\r\n }\r\n\r\n var o = t(\"parseuri\"), i = t(\"debug\")(\"socket.io-client:url\");\r\n e.exports = r\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {debug: 10, parseuri: 42}],\r\n 7: [function (t, e) {\r\n function n(t) {\r\n t = t || {}, this.ms = t.min || 100, this.max = t.max || 1e4, this.factor = t.factor || 2, this.jitter = t.jitter > 0 && t.jitter <= 1 ? t.jitter : 0, this.attempts = 0\r\n }\r\n\r\n e.exports = n, n.prototype.duration = function () {\r\n var t = this.ms * Math.pow(this.factor, this.attempts++);\r\n if (this.jitter) {\r\n var e = Math.random(), n = Math.floor(e * this.jitter * t);\r\n t = 0 == (1 & Math.floor(10 * e)) ? t - n : t + n\r\n }\r\n return 0 | Math.min(t, this.max)\r\n }, n.prototype.reset = function () {\r\n this.attempts = 0\r\n }, n.prototype.setMin = function (t) {\r\n this.ms = t\r\n }, n.prototype.setMax = function (t) {\r\n this.max = t\r\n }, n.prototype.setJitter = function (t) {\r\n this.jitter = t\r\n }\r\n }, {}],\r\n 8: [function (t, e) {\r\n var n = [].slice;\r\n e.exports = function (t, e) {\r\n if (\"string\" == typeof e && (e = t[e]), \"function\" != typeof e) throw new Error(\"bind() requires a function\");\r\n var r = n.call(arguments, 2);\r\n return function () {\r\n return e.apply(t, r.concat(n.call(arguments)))\r\n }\r\n }\r\n }, {}],\r\n 9: [function (t, e) {\r\n function n(t) {\r\n return t ? r(t) : void 0\r\n }\r\n\r\n function r(t) {\r\n for (var e in n.prototype) t[e] = n.prototype[e];\r\n return t\r\n }\r\n\r\n e.exports = n, n.prototype.on = n.prototype.addEventListener = function (t, e) {\r\n return this._callbacks = this._callbacks || {}, (this._callbacks[t] = this._callbacks[t] || []).push(e), this\r\n }, n.prototype.once = function (t, e) {\r\n function n() {\r\n r.off(t, n), e.apply(this, arguments)\r\n }\r\n\r\n var r = this;\r\n return this._callbacks = this._callbacks || {}, n.fn = e, this.on(t, n), this\r\n }, n.prototype.off = n.prototype.removeListener = n.prototype.removeAllListeners = n.prototype.removeEventListener = function (t, e) {\r\n if (this._callbacks = this._callbacks || {}, 0 == arguments.length) return this._callbacks = {}, this;\r\n var n = this._callbacks[t];\r\n if (!n) return this;\r\n if (1 == arguments.length) return delete this._callbacks[t], this;\r\n for (var r, o = 0; o < n.length; o++) if (r = n[o], r === e || r.fn === e) {\r\n n.splice(o, 1);\r\n break\r\n }\r\n return this\r\n }, n.prototype.emit = function (t) {\r\n this._callbacks = this._callbacks || {};\r\n var e = [].slice.call(arguments, 1), n = this._callbacks[t];\r\n if (n) {\r\n n = n.slice(0);\r\n for (var r = 0, o = n.length; o > r; ++r) n[r].apply(this, e)\r\n }\r\n return this\r\n }, n.prototype.listeners = function (t) {\r\n return this._callbacks = this._callbacks || {}, this._callbacks[t] || []\r\n }, n.prototype.hasListeners = function (t) {\r\n return !!this.listeners(t).length\r\n }\r\n }, {}],\r\n 10: [function (t, e) {\r\n function n(t) {\r\n return n.enabled(t) ? function (e) {\r\n e = r(e);\r\n var o = new Date, i = o - (n[t] || o);\r\n n[t] = o, e = t + \" \" + e + \" +\" + n.humanize(i), window.console && console.log && Function.prototype.apply.call(console.log, console, arguments)\r\n } : function () {\r\n }\r\n }\r\n\r\n function r(t) {\r\n return t instanceof Error ? t.stack || t.message : t\r\n }\r\n\r\n e.exports = n, n.names = [], n.skips = [], n.enable = function (t) {\r\n try {\r\n localStorage.debug = t\r\n } catch (e) {\r\n }\r\n for (var r = (t || \"\").split(/[\\s,]+/), o = r.length, i = 0; o > i; i++) t = r[i].replace(\"*\", \".*?\"), \"-\" === t[0] ? n.skips.push(new RegExp(\"^\" + t.substr(1) + \"$\")) : n.names.push(new RegExp(\"^\" + t + \"$\"))\r\n }, n.disable = function () {\r\n n.enable(\"\")\r\n }, n.humanize = function (t) {\r\n var e = 1e3, n = 6e4, r = 60 * n;\r\n return t >= r ? (t / r).toFixed(1) + \"h\" : t >= n ? (t / n).toFixed(1) + \"m\" : t >= e ? (t / e | 0) + \"s\" : t + \"ms\"\r\n }, n.enabled = function (t) {\r\n for (var e = 0, r = n.skips.length; r > e; e++) if (n.skips[e].test(t)) return !1;\r\n for (var e = 0, r = n.names.length; r > e; e++) if (n.names[e].test(t)) return !0;\r\n return !1\r\n };\r\n try {\r\n window.localStorage && n.enable(localStorage.debug)\r\n } catch (o) {\r\n }\r\n }, {}],\r\n 11: [function (t, e) {\r\n e.exports = t(\"./lib/\")\r\n }, {\"./lib/\": 12}],\r\n 12: [function (t, e) {\r\n e.exports = t(\"./socket\"), e.exports.parser = t(\"engine.io-parser\")\r\n }, {\"./socket\": 13, \"engine.io-parser\": 25}],\r\n 13: [function (t, e) {\r\n (function (n) {\r\n function r(t, e) {\r\n if (!(this instanceof r)) return new r(t, e);\r\n if (e = e || {}, t && \"object\" == typeof t && (e = t, t = null), t && (t = u(t), e.host = t.host, e.secure = \"https\" == t.protocol || \"wss\" == t.protocol, e.port = t.port, t.query && (e.query = t.query)), this.secure = null != e.secure ? e.secure : n.location && \"https:\" == location.protocol, e.host) {\r\n var o = e.host.split(\":\");\r\n e.hostname = o.shift(), o.length ? e.port = o.pop() : e.port || (e.port = this.secure ? \"443\" : \"80\")\r\n }\r\n this.agent = e.agent || !1, this.hostname = e.hostname || (n.location ? location.hostname : \"localhost\"), this.port = e.port || (n.location && location.port ? location.port : this.secure ? 443 : 80), this.query = e.query || {}, \"string\" == typeof this.query && (this.query = h.decode(this.query)), this.upgrade = !1 !== e.upgrade, this.path = (e.path || \"/engine.io\").replace(/\\/$/, \"\") + \"/\", this.forceJSONP = !!e.forceJSONP, this.jsonp = !1 !== e.jsonp, this.forceBase64 = !!e.forceBase64, this.enablesXDR = !!e.enablesXDR, this.timestampParam = e.timestampParam || \"t\", this.timestampRequests = e.timestampRequests, this.transports = e.transports || [\"polling\", \"websocket\"], this.readyState = \"\", this.writeBuffer = [], this.callbackBuffer = [], this.policyPort = e.policyPort || 843, this.rememberUpgrade = e.rememberUpgrade || !1, this.binaryType = null, this.onlyBinaryUpgrades = e.onlyBinaryUpgrades, this.pfx = e.pfx || null, this.key = e.key || null, this.passphrase = e.passphrase || null, this.cert = e.cert || null, this.ca = e.ca || null, this.ciphers = e.ciphers || null, this.rejectUnauthorized = e.rejectUnauthorized || null, this.open()\r\n }\r\n\r\n function o(t) {\r\n var e = {};\r\n for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);\r\n return e\r\n }\r\n\r\n var i = t(\"./transports\"), s = t(\"component-emitter\"), a = t(\"debug\")(\"engine.io-client:socket\"),\r\n c = t(\"indexof\"), p = t(\"engine.io-parser\"), u = t(\"parseuri\"), f = t(\"parsejson\"),\r\n h = t(\"parseqs\");\r\n e.exports = r, r.priorWebsocketSuccess = !1, s(r.prototype), r.protocol = p.protocol, r.Socket = r, r.Transport = t(\"./transport\"), r.transports = t(\"./transports\"), r.parser = t(\"engine.io-parser\"), r.prototype.createTransport = function (t) {\r\n a('creating transport \"%s\"', t);\r\n var e = o(this.query);\r\n e.EIO = p.protocol, e.transport = t, this.id && (e.sid = this.id);\r\n var n = new i[t]({\r\n agent: this.agent,\r\n hostname: this.hostname,\r\n port: this.port,\r\n secure: this.secure,\r\n path: this.path,\r\n query: e,\r\n forceJSONP: this.forceJSONP,\r\n jsonp: this.jsonp,\r\n forceBase64: this.forceBase64,\r\n enablesXDR: this.enablesXDR,\r\n timestampRequests: this.timestampRequests,\r\n timestampParam: this.timestampParam,\r\n policyPort: this.policyPort,\r\n socket: this,\r\n pfx: this.pfx,\r\n key: this.key,\r\n passphrase: this.passphrase,\r\n cert: this.cert,\r\n ca: this.ca,\r\n ciphers: this.ciphers,\r\n rejectUnauthorized: this.rejectUnauthorized\r\n });\r\n return n\r\n }, r.prototype.open = function () {\r\n var t;\r\n if (this.rememberUpgrade && r.priorWebsocketSuccess && -1 != this.transports.indexOf(\"websocket\")) t = \"websocket\"; else {\r\n if (0 == this.transports.length) {\r\n var e = this;\r\n return void setTimeout(function () {\r\n e.emit(\"error\", \"No transports available\")\r\n }, 0)\r\n }\r\n t = this.transports[0]\r\n }\r\n this.readyState = \"opening\";\r\n var t;\r\n try {\r\n t = this.createTransport(t)\r\n } catch (n) {\r\n return this.transports.shift(), void this.open()\r\n }\r\n t.open(), this.setTransport(t)\r\n }, r.prototype.setTransport = function (t) {\r\n a(\"setting transport %s\", t.name);\r\n var e = this;\r\n this.transport && (a(\"clearing existing transport %s\", this.transport.name), this.transport.removeAllListeners()), this.transport = t, t.on(\"drain\", function () {\r\n e.onDrain()\r\n }).on(\"packet\", function (t) {\r\n e.onPacket(t)\r\n }).on(\"error\", function (t) {\r\n e.onError(t)\r\n }).on(\"close\", function () {\r\n e.onClose(\"transport close\")\r\n })\r\n }, r.prototype.probe = function (t) {\r\n function e() {\r\n if (h.onlyBinaryUpgrades) {\r\n var e = !this.supportsBinary && h.transport.supportsBinary;\r\n f = f || e\r\n }\r\n f || (a('probe transport \"%s\" opened', t), u.send([{\r\n type: \"ping\",\r\n data: \"probe\"\r\n }]), u.once(\"packet\", function (e) {\r\n if (!f) if (\"pong\" == e.type && \"probe\" == e.data) {\r\n if (a('probe transport \"%s\" pong', t), h.upgrading = !0, h.emit(\"upgrading\", u), !u) return;\r\n r.priorWebsocketSuccess = \"websocket\" == u.name, a('pausing current transport \"%s\"', h.transport.name), h.transport.pause(function () {\r\n f || \"closed\" != h.readyState && (a(\"changing transport and sending upgrade packet\"), p(), h.setTransport(u), u.send([{type: \"upgrade\"}]), h.emit(\"upgrade\", u), u = null, h.upgrading = !1, h.flush())\r\n })\r\n } else {\r\n a('probe transport \"%s\" failed', t);\r\n var n = new Error(\"probe error\");\r\n n.transport = u.name, h.emit(\"upgradeError\", n)\r\n }\r\n }))\r\n }\r\n\r\n function n() {\r\n f || (f = !0, p(), u.close(), u = null)\r\n }\r\n\r\n function o(e) {\r\n var r = new Error(\"probe error: \" + e);\r\n r.transport = u.name, n(), a('probe transport \"%s\" failed because of error: %s', t, e), h.emit(\"upgradeError\", r)\r\n }\r\n\r\n function i() {\r\n o(\"transport closed\")\r\n }\r\n\r\n function s() {\r\n o(\"socket closed\")\r\n }\r\n\r\n function c(t) {\r\n u && t.name != u.name && (a('\"%s\" works - aborting \"%s\"', t.name, u.name), n())\r\n }\r\n\r\n function p() {\r\n u.removeListener(\"open\", e), u.removeListener(\"error\", o), u.removeListener(\"close\", i), h.removeListener(\"close\", s), h.removeListener(\"upgrading\", c)\r\n }\r\n\r\n a('probing transport \"%s\"', t);\r\n var u = this.createTransport(t, {probe: 1}), f = !1, h = this;\r\n r.priorWebsocketSuccess = !1, u.once(\"open\", e), u.once(\"error\", o), u.once(\"close\", i), this.once(\"close\", s), this.once(\"upgrading\", c), u.open()\r\n }, r.prototype.onOpen = function () {\r\n if (a(\"socket open\"), this.readyState = \"open\", r.priorWebsocketSuccess = \"websocket\" == this.transport.name, this.emit(\"open\"), this.flush(), \"open\" == this.readyState && this.upgrade && this.transport.pause) {\r\n a(\"starting upgrade probes\");\r\n for (var t = 0, e = this.upgrades.length; e > t; t++) this.probe(this.upgrades[t])\r\n }\r\n }, r.prototype.onPacket = function (t) {\r\n if (\"opening\" == this.readyState || \"open\" == this.readyState) switch (a('socket receive: type \"%s\", data \"%s\"', t.type, t.data), this.emit(\"packet\", t), this.emit(\"heartbeat\"), t.type) {\r\n case\"open\":\r\n this.onHandshake(f(t.data));\r\n break;\r\n case\"pong\":\r\n this.setPing();\r\n break;\r\n case\"error\":\r\n var e = new Error(\"server error\");\r\n e.code = t.data, this.emit(\"error\", e);\r\n break;\r\n case\"message\":\r\n this.emit(\"data\", t.data), this.emit(\"message\", t.data)\r\n } else a('packet received with socket readyState \"%s\"', this.readyState)\r\n }, r.prototype.onHandshake = function (t) {\r\n this.emit(\"handshake\", t), this.id = t.sid, this.transport.query.sid = t.sid, this.upgrades = this.filterUpgrades(t.upgrades), this.pingInterval = t.pingInterval, this.pingTimeout = t.pingTimeout, this.onOpen(), \"closed\" != this.readyState && (this.setPing(), this.removeListener(\"heartbeat\", this.onHeartbeat), this.on(\"heartbeat\", this.onHeartbeat))\r\n }, r.prototype.onHeartbeat = function (t) {\r\n clearTimeout(this.pingTimeoutTimer);\r\n var e = this;\r\n e.pingTimeoutTimer = setTimeout(function () {\r\n \"closed\" != e.readyState && e.onClose(\"ping timeout\")\r\n }, t || e.pingInterval + e.pingTimeout)\r\n }, r.prototype.setPing = function () {\r\n var t = this;\r\n clearTimeout(t.pingIntervalTimer), t.pingIntervalTimer = setTimeout(function () {\r\n a(\"writing ping packet - expecting pong within %sms\", t.pingTimeout), t.ping(), t.onHeartbeat(t.pingTimeout)\r\n }, t.pingInterval)\r\n }, r.prototype.ping = function () {\r\n this.sendPacket(\"ping\")\r\n }, r.prototype.onDrain = function () {\r\n for (var t = 0; t < this.prevBufferLen; t++) this.callbackBuffer[t] && this.callbackBuffer[t]();\r\n this.writeBuffer.splice(0, this.prevBufferLen), this.callbackBuffer.splice(0, this.prevBufferLen), this.prevBufferLen = 0, 0 == this.writeBuffer.length ? this.emit(\"drain\") : this.flush()\r\n }, r.prototype.flush = function () {\r\n \"closed\" != this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length && (a(\"flushing %d packets in socket\", this.writeBuffer.length), this.transport.send(this.writeBuffer), this.prevBufferLen = this.writeBuffer.length, this.emit(\"flush\"))\r\n }, r.prototype.write = r.prototype.send = function (t, e) {\r\n return this.sendPacket(\"message\", t, e), this\r\n }, r.prototype.sendPacket = function (t, e, n) {\r\n if (\"closing\" != this.readyState && \"closed\" != this.readyState) {\r\n var r = {type: t, data: e};\r\n this.emit(\"packetCreate\", r), this.writeBuffer.push(r), this.callbackBuffer.push(n), this.flush()\r\n }\r\n }, r.prototype.close = function () {\r\n function t() {\r\n r.onClose(\"forced close\"), a(\"socket closing - telling transport to close\"), r.transport.close()\r\n }\r\n\r\n function e() {\r\n r.removeListener(\"upgrade\", e), r.removeListener(\"upgradeError\", e), t()\r\n }\r\n\r\n function n() {\r\n r.once(\"upgrade\", e), r.once(\"upgradeError\", e)\r\n }\r\n\r\n if (\"opening\" == this.readyState || \"open\" == this.readyState) {\r\n this.readyState = \"closing\";\r\n var r = this;\r\n this.writeBuffer.length ? this.once(\"drain\", function () {\r\n this.upgrading ? n() : t()\r\n }) : this.upgrading ? n() : t()\r\n }\r\n return this\r\n }, r.prototype.onError = function (t) {\r\n a(\"socket error %j\", t), r.priorWebsocketSuccess = !1, this.emit(\"error\", t), this.onClose(\"transport error\", t)\r\n }, r.prototype.onClose = function (t, e) {\r\n if (\"opening\" == this.readyState || \"open\" == this.readyState || \"closing\" == this.readyState) {\r\n a('socket close with reason: \"%s\"', t);\r\n var n = this;\r\n clearTimeout(this.pingIntervalTimer), clearTimeout(this.pingTimeoutTimer), setTimeout(function () {\r\n n.writeBuffer = [], n.callbackBuffer = [], n.prevBufferLen = 0\r\n }, 0), this.transport.removeAllListeners(\"close\"), this.transport.close(), this.transport.removeAllListeners(), this.readyState = \"closed\", this.id = null, this.emit(\"close\", t, e)\r\n }\r\n }, r.prototype.filterUpgrades = function (t) {\r\n for (var e = [], n = 0, r = t.length; r > n; n++) ~c(this.transports, t[n]) && e.push(t[n]);\r\n return e\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\r\n \"./transport\": 14,\r\n \"./transports\": 15,\r\n \"component-emitter\": 9,\r\n debug: 22,\r\n \"engine.io-parser\": 25,\r\n indexof: 40,\r\n parsejson: 32,\r\n parseqs: 33,\r\n parseuri: 34\r\n }],\r\n 14: [function (t, e) {\r\n function n(t) {\r\n this.path = t.path, this.hostname = t.hostname, this.port = t.port, this.secure = t.secure, this.query = t.query, this.timestampParam = t.timestampParam, this.timestampRequests = t.timestampRequests, this.readyState = \"\", this.agent = t.agent || !1, this.socket = t.socket, this.enablesXDR = t.enablesXDR, this.pfx = t.pfx, this.key = t.key, this.passphrase = t.passphrase, this.cert = t.cert, this.ca = t.ca, this.ciphers = t.ciphers, this.rejectUnauthorized = t.rejectUnauthorized\r\n }\r\n\r\n var r = t(\"engine.io-parser\"), o = t(\"component-emitter\");\r\n e.exports = n, o(n.prototype), n.timestamps = 0, n.prototype.onError = function (t, e) {\r\n var n = new Error(t);\r\n return n.type = \"TransportError\", n.description = e, this.emit(\"error\", n), this\r\n }, n.prototype.open = function () {\r\n return (\"closed\" == this.readyState || \"\" == this.readyState) && (this.readyState = \"opening\", this.doOpen()), this\r\n }, n.prototype.close = function () {\r\n return (\"opening\" == this.readyState || \"open\" == this.readyState) && (this.doClose(), this.onClose()), this\r\n }, n.prototype.send = function (t) {\r\n if (\"open\" != this.readyState) throw new Error(\"Transport not open\");\r\n this.write(t)\r\n }, n.prototype.onOpen = function () {\r\n this.readyState = \"open\", this.writable = !0, this.emit(\"open\")\r\n }, n.prototype.onData = function (t) {\r\n var e = r.decodePacket(t, this.socket.binaryType);\r\n this.onPacket(e)\r\n }, n.prototype.onPacket = function (t) {\r\n this.emit(\"packet\", t)\r\n }, n.prototype.onClose = function () {\r\n this.readyState = \"closed\", this.emit(\"close\")\r\n }\r\n }, {\"component-emitter\": 9, \"engine.io-parser\": 25}],\r\n 15: [function (t, e, n) {\r\n (function (e) {\r\n function r(t) {\r\n var n, r = !1, a = !1, c = !1 !== t.jsonp;\r\n if (e.location) {\r\n var p = \"https:\" == location.protocol, u = location.port;\r\n u || (u = p ? 443 : 80), r = t.hostname != location.hostname || u != t.port, a = t.secure != p\r\n }\r\n if (t.xdomain = r, t.xscheme = a, n = new o(t), \"open\" in n && !t.forceJSONP) return new i(t);\r\n if (!c) throw new Error(\"JSONP disabled\");\r\n return new s(t)\r\n }\r\n\r\n var o = t(\"xmlhttprequest\"), i = t(\"./polling-xhr\"), s = t(\"./polling-jsonp\"), a = t(\"./websocket\");\r\n n.polling = r, n.websocket = a\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\"./polling-jsonp\": 16, \"./polling-xhr\": 17, \"./websocket\": 19, xmlhttprequest: 20}],\r\n 16: [function (t, e) {\r\n (function (n) {\r\n function r() {\r\n }\r\n\r\n function o(t) {\r\n i.call(this, t), this.query = this.query || {}, a || (n.___eio || (n.___eio = []), a = n.___eio), this.index = a.length;\r\n var e = this;\r\n a.push(function (t) {\r\n e.onData(t)\r\n }), this.query.j = this.index, n.document && n.addEventListener && n.addEventListener(\"beforeunload\", function () {\r\n e.script && (e.script.onerror = r)\r\n }, !1)\r\n }\r\n\r\n var i = t(\"./polling\"), s = t(\"component-inherit\");\r\n e.exports = o;\r\n var a, c = /\\n/g, p = /\\\\n/g;\r\n s(o, i), o.prototype.supportsBinary = !1, o.prototype.doClose = function () {\r\n this.script && (this.script.parentNode.removeChild(this.script), this.script = null), this.form && (this.form.parentNode.removeChild(this.form), this.form = null, this.iframe = null), i.prototype.doClose.call(this)\r\n }, o.prototype.doPoll = function () {\r\n var t = this, e = document.createElement(\"script\");\r\n this.script && (this.script.parentNode.removeChild(this.script), this.script = null), e.async = !0, e.src = this.uri(), e.onerror = function (e) {\r\n t.onError(\"jsonp poll error\", e)\r\n };\r\n var n = document.getElementsByTagName(\"script\")[0];\r\n n.parentNode.insertBefore(e, n), this.script = e;\r\n var r = \"undefined\" != typeof navigator && /gecko/i.test(navigator.userAgent);\r\n r && setTimeout(function () {\r\n var t = document.createElement(\"iframe\");\r\n document.body.appendChild(t), document.body.removeChild(t)\r\n }, 100)\r\n }, o.prototype.doWrite = function (t, e) {\r\n function n() {\r\n r(), e()\r\n }\r\n\r\n function r() {\r\n if (o.iframe) try {\r\n o.form.removeChild(o.iframe)\r\n } catch (t) {\r\n o.onError(\"jsonp polling iframe removal error\", t)\r\n }\r\n try {\r\n var e = '<iframe src=\"javascript:0\" name=\"' + o.iframeId + '\">';\r\n i = document.createElement(e)\r\n } catch (t) {\r\n i = document.createElement(\"iframe\"), i.name = o.iframeId, i.src = \"javascript:0\"\r\n }\r\n i.id = o.iframeId, o.form.appendChild(i), o.iframe = i\r\n }\r\n\r\n var o = this;\r\n if (!this.form) {\r\n var i, s = document.createElement(\"form\"), a = document.createElement(\"textarea\"),\r\n u = this.iframeId = \"eio_iframe_\" + this.index;\r\n s.className = \"socketio\", s.style.position = \"absolute\", s.style.top = \"-1000px\", s.style.left = \"-1000px\", s.target = u, s.method = \"POST\", s.setAttribute(\"accept-charset\", \"utf-8\"), a.name = \"d\", s.appendChild(a), document.body.appendChild(s), this.form = s, this.area = a\r\n }\r\n this.form.action = this.uri(), r(), t = t.replace(p, \"\\\\\\n\"), this.area.value = t.replace(c, \"\\\\n\");\r\n try {\r\n this.form.submit()\r\n } catch (f) {\r\n }\r\n this.iframe.attachEvent ? this.iframe.onreadystatechange = function () {\r\n \"complete\" == o.iframe.readyState && n()\r\n } : this.iframe.onload = n\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\"./polling\": 18, \"component-inherit\": 21}],\r\n 17: [function (t, e) {\r\n (function (n) {\r\n function r() {\r\n }\r\n\r\n function o(t) {\r\n if (c.call(this, t), n.location) {\r\n var e = \"https:\" == location.protocol, r = location.port;\r\n r || (r = e ? 443 : 80), this.xd = t.hostname != n.location.hostname || r != t.port, this.xs = t.secure != e\r\n }\r\n }\r\n\r\n function i(t) {\r\n this.method = t.method || \"GET\", this.uri = t.uri, this.xd = !!t.xd, this.xs = !!t.xs, this.async = !1 !== t.async, this.data = void 0 != t.data ? t.data : null, this.agent = t.agent, this.isBinary = t.isBinary, this.supportsBinary = t.supportsBinary, this.enablesXDR = t.enablesXDR, this.pfx = t.pfx, this.key = t.key, this.passphrase = t.passphrase, this.cert = t.cert, this.ca = t.ca, this.ciphers = t.ciphers, this.rejectUnauthorized = t.rejectUnauthorized, this.create()\r\n }\r\n\r\n function s() {\r\n for (var t in i.requests) i.requests.hasOwnProperty(t) && i.requests[t].abort()\r\n }\r\n\r\n var a = t(\"xmlhttprequest\"), c = t(\"./polling\"), p = t(\"component-emitter\"), u = t(\"component-inherit\"),\r\n f = t(\"debug\")(\"engine.io-client:polling-xhr\");\r\n e.exports = o, e.exports.Request = i, u(o, c), o.prototype.supportsBinary = !0, o.prototype.request = function (t) {\r\n return t = t || {}, t.uri = this.uri(), t.xd = this.xd, t.xs = this.xs, t.agent = this.agent || !1, t.supportsBinary = this.supportsBinary, t.enablesXDR = this.enablesXDR, t.pfx = this.pfx, t.key = this.key, t.passphrase = this.passphrase, t.cert = this.cert, t.ca = this.ca, t.ciphers = this.ciphers, t.rejectUnauthorized = this.rejectUnauthorized, new i(t)\r\n }, o.prototype.doWrite = function (t, e) {\r\n var n = \"string\" != typeof t && void 0 !== t,\r\n r = this.request({method: \"POST\", data: t, isBinary: n}), o = this;\r\n r.on(\"success\", e), r.on(\"error\", function (t) {\r\n o.onError(\"xhr post error\", t)\r\n }), this.sendXhr = r\r\n }, o.prototype.doPoll = function () {\r\n f(\"xhr poll\");\r\n var t = this.request(), e = this;\r\n t.on(\"data\", function (t) {\r\n e.onData(t)\r\n }), t.on(\"error\", function (t) {\r\n e.onError(\"xhr poll error\", t)\r\n }), this.pollXhr = t\r\n }, p(i.prototype), i.prototype.create = function () {\r\n var t = {agent: this.agent, xdomain: this.xd, xscheme: this.xs, enablesXDR: this.enablesXDR};\r\n t.pfx = this.pfx, t.key = this.key, t.passphrase = this.passphrase, t.cert = this.cert, t.ca = this.ca, t.ciphers = this.ciphers, t.rejectUnauthorized = this.rejectUnauthorized;\r\n var e = this.xhr = new a(t), r = this;\r\n try {\r\n if (f(\"xhr open %s: %s\", this.method, this.uri), e.open(this.method, this.uri, this.async), this.supportsBinary && (e.responseType = \"arraybuffer\"), \"POST\" == this.method) try {\r\n this.isBinary ? e.setRequestHeader(\"Content-type\", \"application/octet-stream\") : e.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\")\r\n } catch (o) {\r\n }\r\n \"withCredentials\" in e && (e.withCredentials = !0), this.hasXDR() ? (e.onload = function () {\r\n r.onLoad()\r\n }, e.onerror = function () {\r\n r.onError(e.responseText)\r\n }) : e.onreadystatechange = function () {\r\n 4 == e.readyState && (200 == e.status || 1223 == e.status ? r.onLoad() : setTimeout(function () {\r\n r.onError(e.status)\r\n }, 0))\r\n }, f(\"xhr data %s\", this.data), e.send(this.data)\r\n } catch (o) {\r\n return void setTimeout(function () {\r\n r.onError(o)\r\n }, 0)\r\n }\r\n n.document && (this.index = i.requestsCount++, i.requests[this.index] = this)\r\n }, i.prototype.onSuccess = function () {\r\n this.emit(\"success\"), this.cleanup()\r\n }, i.prototype.onData = function (t) {\r\n this.emit(\"data\", t), this.onSuccess()\r\n }, i.prototype.onError = function (t) {\r\n this.emit(\"error\", t), this.cleanup(!0)\r\n }, i.prototype.cleanup = function (t) {\r\n if (\"undefined\" != typeof this.xhr && null !== this.xhr) {\r\n if (this.hasXDR() ? this.xhr.onload = this.xhr.onerror = r : this.xhr.onreadystatechange = r, t) try {\r\n this.xhr.abort()\r\n } catch (e) {\r\n }\r\n n.document && delete i.requests[this.index], this.xhr = null\r\n }\r\n }, i.prototype.onLoad = function () {\r\n var t;\r\n try {\r\n var e;\r\n try {\r\n e = this.xhr.getResponseHeader(\"Content-Type\").split(\";\")[0]\r\n } catch (n) {\r\n }\r\n t = \"application/octet-stream\" === e ? this.xhr.response : this.supportsBinary ? \"ok\" : this.xhr.responseText\r\n } catch (n) {\r\n this.onError(n)\r\n }\r\n null != t && this.onData(t)\r\n }, i.prototype.hasXDR = function () {\r\n return \"undefined\" != typeof n.XDomainRequest && !this.xs && this.enablesXDR\r\n }, i.prototype.abort = function () {\r\n this.cleanup()\r\n }, n.document && (i.requestsCount = 0, i.requests = {}, n.attachEvent ? n.attachEvent(\"onunload\", s) : n.addEventListener && n.addEventListener(\"beforeunload\", s, !1))\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\"./polling\": 18, \"component-emitter\": 9, \"component-inherit\": 21, debug: 22, xmlhttprequest: 20}],\r\n 18: [function (t, e) {\r\n function n(t) {\r\n var e = t && t.forceBase64;\r\n (!c || e) && (this.supportsBinary = !1), r.call(this, t)\r\n }\r\n\r\n var r = t(\"../transport\"), o = t(\"parseqs\"), i = t(\"engine.io-parser\"), s = t(\"component-inherit\"),\r\n a = t(\"debug\")(\"engine.io-client:polling\");\r\n e.exports = n;\r\n var c = function () {\r\n var e = t(\"xmlhttprequest\"), n = new e({xdomain: !1});\r\n return null != n.responseType\r\n }();\r\n s(n, r), n.prototype.name = \"polling\", n.prototype.doOpen = function () {\r\n this.poll()\r\n }, n.prototype.pause = function (t) {\r\n function e() {\r\n a(\"paused\"), n.readyState = \"paused\", t()\r\n }\r\n\r\n var n = this;\r\n if (this.readyState = \"pausing\", this.polling || !this.writable) {\r\n var r = 0;\r\n this.polling && (a(\"we are currently polling - waiting to pause\"), r++, this.once(\"pollComplete\", function () {\r\n a(\"pre-pause polling complete\"), --r || e()\r\n })), this.writable || (a(\"we are currently writing - waiting to pause\"), r++, this.once(\"drain\", function () {\r\n a(\"pre-pause writing complete\"), --r || e()\r\n }))\r\n } else e()\r\n }, n.prototype.poll = function () {\r\n a(\"polling\"), this.polling = !0, this.doPoll(), this.emit(\"poll\")\r\n }, n.prototype.onData = function (t) {\r\n var e = this;\r\n a(\"polling got data %s\", t);\r\n var n = function (t) {\r\n return \"opening\" == e.readyState && e.onOpen(), \"close\" == t.type ? (e.onClose(), !1) : void e.onPacket(t)\r\n };\r\n i.decodePayload(t, this.socket.binaryType, n), \"closed\" != this.readyState && (this.polling = !1, this.emit(\"pollComplete\"), \"open\" == this.readyState ? this.poll() : a('ignoring poll - transport state \"%s\"', this.readyState))\r\n }, n.prototype.doClose = function () {\r\n function t() {\r\n a(\"writing close packet\"), e.write([{type: \"close\"}])\r\n }\r\n\r\n var e = this;\r\n \"open\" == this.readyState ? (a(\"transport open - closing\"), t()) : (a(\"transport not open - deferring close\"), this.once(\"open\", t))\r\n }, n.prototype.write = function (t) {\r\n var e = this;\r\n this.writable = !1;\r\n var n = function () {\r\n e.writable = !0, e.emit(\"drain\")\r\n }, e = this;\r\n i.encodePayload(t, this.supportsBinary, function (t) {\r\n e.doWrite(t, n)\r\n })\r\n }, n.prototype.uri = function () {\r\n var t = this.query || {}, e = this.secure ? \"https\" : \"http\", n = \"\";\r\n return !1 !== this.timestampRequests && (t[this.timestampParam] = +new Date + \"-\" + r.timestamps++), this.supportsBinary || t.sid || (t.b64 = 1), t = o.encode(t), this.port && (\"https\" == e && 443 != this.port || \"http\" == e && 80 != this.port) && (n = \":\" + this.port), t.length && (t = \"?\" + t), e + \"://\" + this.hostname + n + this.path + t\r\n }\r\n }, {\r\n \"../transport\": 14,\r\n \"component-inherit\": 21,\r\n debug: 22,\r\n \"engine.io-parser\": 25,\r\n parseqs: 33,\r\n xmlhttprequest: 20\r\n }],\r\n 19: [function (t, e) {\r\n function n(t) {\r\n var e = t && t.forceBase64;\r\n e && (this.supportsBinary = !1), r.call(this, t)\r\n }\r\n\r\n var r = t(\"../transport\"), o = t(\"engine.io-parser\"), i = t(\"parseqs\"), s = t(\"component-inherit\"),\r\n a = t(\"debug\")(\"engine.io-client:websocket\"), c = t(\"ws\");\r\n e.exports = n, s(n, r), n.prototype.name = \"websocket\", n.prototype.supportsBinary = !0, n.prototype.doOpen = function () {\r\n if (this.check()) {\r\n var t = this.uri(), e = void 0, n = {agent: this.agent};\r\n n.pfx = this.pfx, n.key = this.key, n.passphrase = this.passphrase, n.cert = this.cert, n.ca = this.ca, n.ciphers = this.ciphers, n.rejectUnauthorized = this.rejectUnauthorized, this.ws = new c(t, e, n), void 0 === this.ws.binaryType && (this.supportsBinary = !1), this.ws.binaryType = \"arraybuffer\", this.addEventListeners()\r\n }\r\n }, n.prototype.addEventListeners = function () {\r\n var t = this;\r\n this.ws.onopen = function () {\r\n t.onOpen()\r\n }, this.ws.onclose = function () {\r\n t.onClose()\r\n }, this.ws.onmessage = function (e) {\r\n t.onData(e.data)\r\n }, this.ws.onerror = function (e) {\r\n t.onError(\"websocket error\", e)\r\n }\r\n }, \"undefined\" != typeof navigator && /iPad|iPhone|iPod/i.test(navigator.userAgent) && (n.prototype.onData = function (t) {\r\n var e = this;\r\n setTimeout(function () {\r\n r.prototype.onData.call(e, t)\r\n }, 0)\r\n }), n.prototype.write = function (t) {\r\n function e() {\r\n n.writable = !0, n.emit(\"drain\")\r\n }\r\n\r\n var n = this;\r\n this.writable = !1;\r\n for (var r = 0, i = t.length; i > r; r++) o.encodePacket(t[r], this.supportsBinary, function (t) {\r\n try {\r\n n.ws.send(t)\r\n } catch (e) {\r\n a(\"websocket closed before onclose event\")\r\n }\r\n });\r\n setTimeout(e, 0)\r\n }, n.prototype.onClose = function () {\r\n r.prototype.onClose.call(this)\r\n }, n.prototype.doClose = function () {\r\n \"undefined\" != typeof this.ws && this.ws.close()\r\n }, n.prototype.uri = function () {\r\n var t = this.query || {}, e = this.secure ? \"wss\" : \"ws\", n = \"\";\r\n return this.port && (\"wss\" == e && 443 != this.port || \"ws\" == e && 80 != this.port) && (n = \":\" + this.port), this.timestampRequests && (t[this.timestampParam] = +new Date), this.supportsBinary || (t.b64 = 1), t = i.encode(t), t.length && (t = \"?\" + t), e + \"://\" + this.hostname + n + this.path + t\r\n }, n.prototype.check = function () {\r\n return !(!c || \"__initialize\" in c && this.name === n.prototype.name)\r\n }\r\n }, {\"../transport\": 14, \"component-inherit\": 21, debug: 22, \"engine.io-parser\": 25, parseqs: 33, ws: 35}],\r\n 20: [function (t, e) {\r\n var n = t(\"has-cors\");\r\n e.exports = function (t) {\r\n var e = t.xdomain, r = t.xscheme, o = t.enablesXDR;\r\n try {\r\n if (\"undefined\" != typeof XMLHttpRequest && (!e || n)) return new XMLHttpRequest\r\n } catch (i) {\r\n }\r\n try {\r\n if (\"undefined\" != typeof XDomainRequest && !r && o) return new XDomainRequest\r\n } catch (i) {\r\n }\r\n if (!e) try {\r\n return new ActiveXObject(\"Microsoft.XMLHTTP\")\r\n } catch (i) {\r\n }\r\n }\r\n }, {\"has-cors\": 38}],\r\n 21: [function (t, e) {\r\n e.exports = function (t, e) {\r\n var n = function () {\r\n };\r\n n.prototype = e.prototype, t.prototype = new n, t.prototype.constructor = t\r\n }\r\n }, {}],\r\n 22: [function (t, e, n) {\r\n function r() {\r\n return \"WebkitAppearance\" in document.documentElement.style || window.console && (console.firebug || console.exception && console.table) || navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31\r\n }\r\n\r\n function o() {\r\n var t = arguments, e = this.useColors;\r\n if (t[0] = (e ? \"%c\" : \"\") + this.namespace + (e ? \" %c\" : \" \") + t[0] + (e ? \"%c \" : \" \") + \"+\" + n.humanize(this.diff), !e) return t;\r\n var r = \"color: \" + this.color;\r\n t = [t[0], r, \"color: inherit\"].concat(Array.prototype.slice.call(t, 1));\r\n var o = 0, i = 0;\r\n return t[0].replace(/%[a-z%]/g, function (t) {\r\n \"%%\" !== t && (o++, \"%c\" === t && (i = o))\r\n }), t.splice(i, 0, r), t\r\n }\r\n\r\n function i() {\r\n return \"object\" == typeof console && \"function\" == typeof console.log && Function.prototype.apply.call(console.log, console, arguments)\r\n }\r\n\r\n function s(t) {\r\n try {\r\n null == t ? localStorage.removeItem(\"debug\") : localStorage.debug = t\r\n } catch (e) {\r\n }\r\n }\r\n\r\n function a() {\r\n var t;\r\n try {\r\n t = localStorage.debug\r\n } catch (e) {\r\n }\r\n return t\r\n }\r\n\r\n n = e.exports = t(\"./debug\"), n.log = i, n.formatArgs = o, n.save = s, n.load = a, n.useColors = r, n.colors = [\"lightseagreen\", \"forestgreen\", \"goldenrod\", \"dodgerblue\", \"darkorchid\", \"crimson\"], n.formatters.j = function (t) {\r\n return JSON.stringify(t)\r\n }, n.enable(a())\r\n }, {\"./debug\": 23}],\r\n 23: [function (t, e, n) {\r\n function r() {\r\n return n.colors[u++ % n.colors.length]\r\n }\r\n\r\n function o(t) {\r\n function e() {\r\n }\r\n\r\n function o() {\r\n var t = o, e = +new Date, i = e - (p || e);\r\n t.diff = i, t.prev = p, t.curr = e, p = e, null == t.useColors && (t.useColors = n.useColors()), null == t.color && t.useColors && (t.color = r());\r\n var s = Array.prototype.slice.call(arguments);\r\n s[0] = n.coerce(s[0]), \"string\" != typeof s[0] && (s = [\"%o\"].concat(s));\r\n var a = 0;\r\n s[0] = s[0].replace(/%([a-z%])/g, function (e, r) {\r\n if (\"%%\" === e) return e;\r\n a++;\r\n var o = n.formatters[r];\r\n if (\"function\" == typeof o) {\r\n var i = s[a];\r\n e = o.call(t, i), s.splice(a, 1), a--\r\n }\r\n return e\r\n }), \"function\" == typeof n.formatArgs && (s = n.formatArgs.apply(t, s));\r\n var c = o.log || n.log || console.log.bind(console);\r\n c.apply(t, s)\r\n }\r\n\r\n e.enabled = !1, o.enabled = !0;\r\n var i = n.enabled(t) ? o : e;\r\n return i.namespace = t, i\r\n }\r\n\r\n function i(t) {\r\n n.save(t);\r\n for (var e = (t || \"\").split(/[\\s,]+/), r = e.length, o = 0; r > o; o++) e[o] && (t = e[o].replace(/\\*/g, \".*?\"), \"-\" === t[0] ? n.skips.push(new RegExp(\"^\" + t.substr(1) + \"$\")) : n.names.push(new RegExp(\"^\" + t + \"$\")))\r\n }\r\n\r\n function s() {\r\n n.enable(\"\")\r\n }\r\n\r\n function a(t) {\r\n var e, r;\r\n for (e = 0, r = n.skips.length; r > e; e++) if (n.skips[e].test(t)) return !1;\r\n for (e = 0, r = n.names.length; r > e; e++) if (n.names[e].test(t)) return !0;\r\n return !1\r\n }\r\n\r\n function c(t) {\r\n return t instanceof Error ? t.stack || t.message : t\r\n }\r\n\r\n n = e.exports = o, n.coerce = c, n.disable = s, n.enable = i, n.enabled = a, n.humanize = t(\"ms\"), n.names = [], n.skips = [], n.formatters = {};\r\n var p, u = 0\r\n }, {ms: 24}],\r\n 24: [function (t, e) {\r\n function n(t) {\r\n var e = /^((?:\\d+)?\\.?\\d+) *(ms|seconds?|s|minutes?|m|hours?|h|days?|d|years?|y)?$/i.exec(t);\r\n if (e) {\r\n var n = parseFloat(e[1]), r = (e[2] || \"ms\").toLowerCase();\r\n switch (r) {\r\n case\"years\":\r\n case\"year\":\r\n case\"y\":\r\n return n * u;\r\n case\"days\":\r\n case\"day\":\r\n case\"d\":\r\n return n * p;\r\n case\"hours\":\r\n case\"hour\":\r\n case\"h\":\r\n return n * c;\r\n case\"minutes\":\r\n case\"minute\":\r\n case\"m\":\r\n return n * a;\r\n case\"seconds\":\r\n case\"second\":\r\n case\"s\":\r\n return n * s;\r\n case\"ms\":\r\n return n\r\n }\r\n }\r\n }\r\n\r\n function r(t) {\r\n return t >= p ? Math.round(t / p) + \"d\" : t >= c ? Math.round(t / c) + \"h\" : t >= a ? Math.round(t / a) + \"m\" : t >= s ? Math.round(t / s) + \"s\" : t + \"ms\"\r\n }\r\n\r\n function o(t) {\r\n return i(t, p, \"day\") || i(t, c, \"hour\") || i(t, a, \"minute\") || i(t, s, \"second\") || t + \" ms\"\r\n }\r\n\r\n function i(t, e, n) {\r\n return e > t ? void 0 : 1.5 * e > t ? Math.floor(t / e) + \" \" + n : Math.ceil(t / e) + \" \" + n + \"s\"\r\n }\r\n\r\n var s = 1e3, a = 60 * s, c = 60 * a, p = 24 * c, u = 365.25 * p;\r\n e.exports = function (t, e) {\r\n return e = e || {}, \"string\" == typeof t ? n(t) : e.long ? o(t) : r(t)\r\n }\r\n }, {}],\r\n 25: [function (t, e, n) {\r\n (function (e) {\r\n function r(t, e) {\r\n var r = \"b\" + n.packets[t.type] + t.data.data;\r\n return e(r)\r\n }\r\n\r\n function o(t, e, r) {\r\n if (!e) return n.encodeBase64Packet(t, r);\r\n var o = t.data, i = new Uint8Array(o), s = new Uint8Array(1 + o.byteLength);\r\n s[0] = m[t.type];\r\n for (var a = 0; a < i.length; a++) s[a + 1] = i[a];\r\n return r(s.buffer)\r\n }\r\n\r\n function i(t, e, r) {\r\n if (!e) return n.encodeBase64Packet(t, r);\r\n var o = new FileReader;\r\n return o.onload = function () {\r\n t.data = o.result, n.encodePacket(t, e, !0, r)\r\n }, o.readAsArrayBuffer(t.data)\r\n }\r\n\r\n function s(t, e, r) {\r\n if (!e) return n.encodeBase64Packet(t, r);\r\n if (g) return i(t, e, r);\r\n var o = new Uint8Array(1);\r\n o[0] = m[t.type];\r\n var s = new w([o.buffer, t.data]);\r\n return r(s)\r\n }\r\n\r\n function a(t, e, n) {\r\n for (var r = new Array(t.length), o = h(t.length, n), i = function (t, n, o) {\r\n e(n, function (e, n) {\r\n r[t] = n, o(e, r)\r\n })\r\n }, s = 0; s < t.length; s++) i(s, t[s], o)\r\n }\r\n\r\n var c = t(\"./keys\"), p = t(\"has-binary\"), u = t(\"arraybuffer.slice\"), f = t(\"base64-arraybuffer\"),\r\n h = t(\"after\"), l = t(\"utf8\"), d = navigator.userAgent.match(/Android/i),\r\n y = /PhantomJS/i.test(navigator.userAgent), g = d || y;\r\n n.protocol = 3;\r\n var m = n.packets = {open: 0, close: 1, ping: 2, pong: 3, message: 4, upgrade: 5, noop: 6}, v = c(m),\r\n b = {type: \"error\", data: \"parser error\"}, w = t(\"blob\");\r\n n.encodePacket = function (t, n, i, a) {\r\n \"function\" == typeof n && (a = n, n = !1), \"function\" == typeof i && (a = i, i = null);\r\n var c = void 0 === t.data ? void 0 : t.data.buffer || t.data;\r\n if (e.ArrayBuffer && c instanceof ArrayBuffer) return o(t, n, a);\r\n if (w && c instanceof e.Blob) return s(t, n, a);\r\n if (c && c.base64) return r(t, a);\r\n var p = m[t.type];\r\n return void 0 !== t.data && (p += i ? l.encode(String(t.data)) : String(t.data)), a(\"\" + p)\r\n }, n.encodeBase64Packet = function (t, r) {\r\n var o = \"b\" + n.packets[t.type];\r\n if (w && t.data instanceof w) {\r\n var i = new FileReader;\r\n return i.onload = function () {\r\n var t = i.result.split(\",\")[1];\r\n r(o + t)\r\n }, i.readAsDataURL(t.data)\r\n }\r\n var s;\r\n try {\r\n s = String.fromCharCode.apply(null, new Uint8Array(t.data))\r\n } catch (a) {\r\n for (var c = new Uint8Array(t.data), p = new Array(c.length), u = 0; u < c.length; u++) p[u] = c[u];\r\n s = String.fromCharCode.apply(null, p)\r\n }\r\n return o += e.btoa(s), r(o)\r\n }, n.decodePacket = function (t, e, r) {\r\n if (\"string\" == typeof t || void 0 === t) {\r\n if (\"b\" == t.charAt(0)) return n.decodeBase64Packet(t.substr(1), e);\r\n if (r) try {\r\n t = l.decode(t)\r\n } catch (o) {\r\n return b\r\n }\r\n var i = t.charAt(0);\r\n return Number(i) == i && v[i] ? t.length > 1 ? {\r\n type: v[i],\r\n data: t.substring(1)\r\n } : {type: v[i]} : b\r\n }\r\n var s = new Uint8Array(t), i = s[0], a = u(t, 1);\r\n return w && \"blob\" === e && (a = new w([a])), {type: v[i], data: a}\r\n }, n.decodeBase64Packet = function (t, n) {\r\n var r = v[t.charAt(0)];\r\n if (!e.ArrayBuffer) return {type: r, data: {base64: !0, data: t.substr(1)}};\r\n var o = f.decode(t.substr(1));\r\n return \"blob\" === n && w && (o = new w([o])), {type: r, data: o}\r\n }, n.encodePayload = function (t, e, r) {\r\n function o(t) {\r\n return t.length + \":\" + t\r\n }\r\n\r\n function i(t, r) {\r\n n.encodePacket(t, s ? e : !1, !0, function (t) {\r\n r(null, o(t))\r\n })\r\n }\r\n\r\n \"function\" == typeof e && (r = e, e = null);\r\n var s = p(t);\r\n return e && s ? w && !g ? n.encodePayloadAsBlob(t, r) : n.encodePayloadAsArrayBuffer(t, r) : t.length ? void a(t, i, function (t, e) {\r\n return r(e.join(\"\"))\r\n }) : r(\"0:\")\r\n }, n.decodePayload = function (t, e, r) {\r\n if (\"string\" != typeof t) return n.decodePayloadAsBinary(t, e, r);\r\n \"function\" == typeof e && (r = e, e = null);\r\n var o;\r\n if (\"\" == t) return r(b, 0, 1);\r\n for (var i, s, a = \"\", c = 0, p = t.length; p > c; c++) {\r\n var u = t.charAt(c);\r\n if (\":\" != u) a += u; else {\r\n if (\"\" == a || a != (i = Number(a))) return r(b, 0, 1);\r\n if (s = t.substr(c + 1, i), a != s.length) return r(b, 0, 1);\r\n if (s.length) {\r\n if (o = n.decodePacket(s, e, !0), b.type == o.type && b.data == o.data) return r(b, 0, 1);\r\n var f = r(o, c + i, p);\r\n if (!1 === f) return\r\n }\r\n c += i, a = \"\"\r\n }\r\n }\r\n return \"\" != a ? r(b, 0, 1) : void 0\r\n }, n.encodePayloadAsArrayBuffer = function (t, e) {\r\n function r(t, e) {\r\n n.encodePacket(t, !0, !0, function (t) {\r\n return e(null, t)\r\n })\r\n }\r\n\r\n return t.length ? void a(t, r, function (t, n) {\r\n var r = n.reduce(function (t, e) {\r\n var n;\r\n return n = \"string\" == typeof e ? e.length : e.byteLength, t + n.toString().length + n + 2\r\n }, 0), o = new Uint8Array(r), i = 0;\r\n return n.forEach(function (t) {\r\n var e = \"string\" == typeof t, n = t;\r\n if (e) {\r\n for (var r = new Uint8Array(t.length), s = 0; s < t.length; s++) r[s] = t.charCodeAt(s);\r\n n = r.buffer\r\n }\r\n o[i++] = e ? 0 : 1;\r\n for (var a = n.byteLength.toString(), s = 0; s < a.length; s++) o[i++] = parseInt(a[s]);\r\n o[i++] = 255;\r\n for (var r = new Uint8Array(n), s = 0; s < r.length; s++) o[i++] = r[s]\r\n }), e(o.buffer)\r\n }) : e(new ArrayBuffer(0))\r\n }, n.encodePayloadAsBlob = function (t, e) {\r\n function r(t, e) {\r\n n.encodePacket(t, !0, !0, function (t) {\r\n var n = new Uint8Array(1);\r\n if (n[0] = 1, \"string\" == typeof t) {\r\n for (var r = new Uint8Array(t.length), o = 0; o < t.length; o++) r[o] = t.charCodeAt(o);\r\n t = r.buffer, n[0] = 0\r\n }\r\n for (var i = t instanceof ArrayBuffer ? t.byteLength : t.size, s = i.toString(), a = new Uint8Array(s.length + 1), o = 0; o < s.length; o++) a[o] = parseInt(s[o]);\r\n if (a[s.length] = 255, w) {\r\n var c = new w([n.buffer, a.buffer, t]);\r\n e(null, c)\r\n }\r\n })\r\n }\r\n\r\n a(t, r, function (t, n) {\r\n return e(new w(n))\r\n })\r\n }, n.decodePayloadAsBinary = function (t, e, r) {\r\n \"function\" == typeof e && (r = e, e = null);\r\n for (var o = t, i = [], s = !1; o.byteLength > 0;) {\r\n for (var a = new Uint8Array(o), c = 0 === a[0], p = \"\", f = 1; 255 != a[f]; f++) {\r\n if (p.length > 310) {\r\n s = !0;\r\n break\r\n }\r\n p += a[f]\r\n }\r\n if (s) return r(b, 0, 1);\r\n o = u(o, 2 + p.length), p = parseInt(p);\r\n var h = u(o, 0, p);\r\n if (c) try {\r\n h = String.fromCharCode.apply(null, new Uint8Array(h))\r\n } catch (l) {\r\n var d = new Uint8Array(h);\r\n h = \"\";\r\n for (var f = 0; f < d.length; f++) h += String.fromCharCode(d[f])\r\n }\r\n i.push(h), o = u(o, p)\r\n }\r\n var y = i.length;\r\n i.forEach(function (t, o) {\r\n r(n.decodePacket(t, e, !0), o, y)\r\n })\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\r\n \"./keys\": 26,\r\n after: 27,\r\n \"arraybuffer.slice\": 28,\r\n \"base64-arraybuffer\": 29,\r\n blob: 30,\r\n \"has-binary\": 36,\r\n utf8: 31\r\n }],\r\n 26: [function (t, e) {\r\n e.exports = Object.keys || function (t) {\r\n var e = [], n = Object.prototype.hasOwnProperty;\r\n for (var r in t) n.call(t, r) && e.push(r);\r\n return e\r\n }\r\n }, {}],\r\n 27: [function (t, e) {\r\n function n(t, e, n) {\r\n function o(t, r) {\r\n if (o.count <= 0) throw new Error(\"after called too many times\");\r\n --o.count, t ? (i = !0, e(t), e = n) : 0 !== o.count || i || e(null, r)\r\n }\r\n\r\n var i = !1;\r\n return n = n || r, o.count = t, 0 === t ? e() : o\r\n }\r\n\r\n function r() {\r\n }\r\n\r\n e.exports = n\r\n }, {}],\r\n 28: [function (t, e) {\r\n e.exports = function (t, e, n) {\r\n var r = t.byteLength;\r\n if (e = e || 0, n = n || r, t.slice) return t.slice(e, n);\r\n if (0 > e && (e += r), 0 > n && (n += r), n > r && (n = r), e >= r || e >= n || 0 === r) return new ArrayBuffer(0);\r\n for (var o = new Uint8Array(t), i = new Uint8Array(n - e), s = e, a = 0; n > s; s++, a++) i[a] = o[s];\r\n return i.buffer\r\n }\r\n }, {}],\r\n 29: [function (t, e, n) {\r\n !function (t) {\r\n \"use strict\";\r\n n.encode = function (e) {\r\n var n, r = new Uint8Array(e), o = r.length, i = \"\";\r\n for (n = 0; o > n; n += 3) i += t[r[n] >> 2], i += t[(3 & r[n]) << 4 | r[n + 1] >> 4], i += t[(15 & r[n + 1]) << 2 | r[n + 2] >> 6], i += t[63 & r[n + 2]];\r\n return o % 3 === 2 ? i = i.substring(0, i.length - 1) + \"=\" : o % 3 === 1 && (i = i.substring(0, i.length - 2) + \"==\"), i\r\n }, n.decode = function (e) {\r\n var n, r, o, i, s, a = .75 * e.length, c = e.length, p = 0;\r\n \"=\" === e[e.length - 1] && (a--, \"=\" === e[e.length - 2] && a--);\r\n var u = new ArrayBuffer(a), f = new Uint8Array(u);\r\n for (n = 0; c > n; n += 4) r = t.indexOf(e[n]), o = t.indexOf(e[n + 1]), i = t.indexOf(e[n + 2]), s = t.indexOf(e[n + 3]), f[p++] = r << 2 | o >> 4, f[p++] = (15 & o) << 4 | i >> 2, f[p++] = (3 & i) << 6 | 63 & s;\r\n return u\r\n }\r\n }(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\")\r\n }, {}],\r\n 30: [function (t, e) {\r\n (function (t) {\r\n function n(t) {\r\n for (var e = 0; e < t.length; e++) {\r\n var n = t[e];\r\n if (n.buffer instanceof ArrayBuffer) {\r\n var r = n.buffer;\r\n if (n.byteLength !== r.byteLength) {\r\n var o = new Uint8Array(n.byteLength);\r\n o.set(new Uint8Array(r, n.byteOffset, n.byteLength)), r = o.buffer\r\n }\r\n t[e] = r\r\n }\r\n }\r\n }\r\n\r\n function r(t, e) {\r\n e = e || {};\r\n var r = new i;\r\n n(t);\r\n for (var o = 0; o < t.length; o++) r.append(t[o]);\r\n return e.type ? r.getBlob(e.type) : r.getBlob()\r\n }\r\n\r\n function o(t, e) {\r\n return n(t), new Blob(t, e || {})\r\n }\r\n\r\n var i = t.BlobBuilder || t.WebKitBlobBuilder || t.MSBlobBuilder || t.MozBlobBuilder, s = function () {\r\n try {\r\n var t = new Blob([\"hi\"]);\r\n return 2 === t.size\r\n } catch (e) {\r\n return !1\r\n }\r\n }(), a = s && function () {\r\n try {\r\n var t = new Blob([new Uint8Array([1, 2])]);\r\n return 2 === t.size\r\n } catch (e) {\r\n return !1\r\n }\r\n }(), c = i && i.prototype.append && i.prototype.getBlob;\r\n e.exports = function () {\r\n return s ? a ? t.Blob : o : c ? r : void 0\r\n }()\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {}],\r\n 31: [function (e, n, r) {\r\n (function (e) {\r\n !function (o) {\r\n function i(t) {\r\n for (var e, n, r = [], o = 0, i = t.length; i > o;) e = t.charCodeAt(o++), e >= 55296 && 56319 >= e && i > o ? (n = t.charCodeAt(o++), 56320 == (64512 & n) ? r.push(((1023 & e) << 10) + (1023 & n) + 65536) : (r.push(e), o--)) : r.push(e);\r\n return r\r\n }\r\n\r\n function s(t) {\r\n for (var e, n = t.length, r = -1, o = \"\"; ++r < n;) e = t[r], e > 65535 && (e -= 65536, o += w(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e), o += w(e);\r\n return o\r\n }\r\n\r\n function a(t) {\r\n if (t >= 55296 && 57343 >= t) throw Error(\"Lone surrogate U+\" + t.toString(16).toUpperCase() + \" is not a scalar value\")\r\n }\r\n\r\n function c(t, e) {\r\n return w(t >> e & 63 | 128)\r\n }\r\n\r\n function p(t) {\r\n if (0 == (4294967168 & t)) return w(t);\r\n var e = \"\";\r\n return 0 == (4294965248 & t) ? e = w(t >> 6 & 31 | 192) : 0 == (4294901760 & t) ? (a(t), e = w(t >> 12 & 15 | 224), e += c(t, 6)) : 0 == (4292870144 & t) && (e = w(t >> 18 & 7 | 240), e += c(t, 12), e += c(t, 6)), e += w(63 & t | 128)\r\n }\r\n\r\n function u(t) {\r\n for (var e, n = i(t), r = n.length, o = -1, s = \"\"; ++o < r;) e = n[o], s += p(e);\r\n return s\r\n }\r\n\r\n function f() {\r\n if (b >= v) throw Error(\"Invalid byte index\");\r\n var t = 255 & m[b];\r\n if (b++, 128 == (192 & t)) return 63 & t;\r\n throw Error(\"Invalid continuation byte\")\r\n }\r\n\r\n function h() {\r\n var t, e, n, r, o;\r\n if (b > v) throw Error(\"Invalid byte index\");\r\n if (b == v) return !1;\r\n if (t = 255 & m[b], b++, 0 == (128 & t)) return t;\r\n if (192 == (224 & t)) {\r\n var e = f();\r\n if (o = (31 & t) << 6 | e, o >= 128) return o;\r\n throw Error(\"Invalid continuation byte\")\r\n }\r\n if (224 == (240 & t)) {\r\n if (e = f(), n = f(), o = (15 & t) << 12 | e << 6 | n, o >= 2048) return a(o), o;\r\n throw Error(\"Invalid continuation byte\")\r\n }\r\n if (240 == (248 & t) && (e = f(), n = f(), r = f(), o = (15 & t) << 18 | e << 12 | n << 6 | r, o >= 65536 && 1114111 >= o)) return o;\r\n throw Error(\"Invalid UTF-8 detected\")\r\n }\r\n\r\n function l(t) {\r\n m = i(t), v = m.length, b = 0;\r\n for (var e, n = []; (e = h()) !== !1;) n.push(e);\r\n return s(n)\r\n }\r\n\r\n var d = \"object\" == typeof r && r, y = \"object\" == typeof n && n && n.exports == d && n,\r\n g = \"object\" == typeof e && e;\r\n (g.global === g || g.window === g) && (o = g);\r\n var m, v, b, w = String.fromCharCode, k = {version: \"2.0.0\", encode: u, decode: l};\r\n if (\"function\" == typeof t && \"object\" == typeof t.amd && t.amd) t(function () {\r\n return k\r\n }); else if (d && !d.nodeType) if (y) y.exports = k; else {\r\n var x = {}, A = x.hasOwnProperty;\r\n for (var B in k) A.call(k, B) && (d[B] = k[B])\r\n } else o.utf8 = k\r\n }(this)\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {}],\r\n 32: [function (t, e) {\r\n (function (t) {\r\n var n = /^[\\],:{}\\s]*$/, r = /\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\r\n o = /\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, i = /(?:^|:|,)(?:\\s*\\[)+/g,\r\n s = /^\\s+/, a = /\\s+$/;\r\n e.exports = function (e) {\r\n return \"string\" == typeof e && e ? (e = e.replace(s, \"\").replace(a, \"\"), t.JSON && JSON.parse ? JSON.parse(e) : n.test(e.replace(r, \"@\").replace(o, \"]\").replace(i, \"\")) ? new Function(\"return \" + e)() : void 0) : null\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {}],\r\n 33: [function (t, e, n) {\r\n n.encode = function (t) {\r\n var e = \"\";\r\n for (var n in t) t.hasOwnProperty(n) && (e.length && (e += \"&\"), e += encodeURIComponent(n) + \"=\" + encodeURIComponent(t[n]));\r\n return e\r\n }, n.decode = function (t) {\r\n for (var e = {}, n = t.split(\"&\"), r = 0, o = n.length; o > r; r++) {\r\n var i = n[r].split(\"=\");\r\n e[decodeURIComponent(i[0])] = decodeURIComponent(i[1])\r\n }\r\n return e\r\n }\r\n }, {}],\r\n 34: [function (t, e) {\r\n var n = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,\r\n r = [\"source\", \"protocol\", \"authority\", \"userInfo\", \"user\", \"password\", \"host\", \"port\", \"relative\", \"path\", \"directory\", \"file\", \"query\", \"anchor\"];\r\n e.exports = function (t) {\r\n var e = t, o = t.indexOf(\"[\"), i = t.indexOf(\"]\");\r\n -1 != o && -1 != i && (t = t.substring(0, o) + t.substring(o, i).replace(/:/g, \";\") + t.substring(i, t.length));\r\n for (var s = n.exec(t || \"\"), a = {}, c = 14; c--;) a[r[c]] = s[c] || \"\";\r\n return -1 != o && -1 != i && (a.source = e, a.host = a.host.substring(1, a.host.length - 1).replace(/;/g, \":\"), a.authority = a.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\"), a.ipv6uri = !0), a\r\n }\r\n }, {}],\r\n 35: [function (t, e) {\r\n function n(t, e) {\r\n var n;\r\n return n = e ? new o(t, e) : new o(t)\r\n }\r\n\r\n var r = function () {\r\n return self\r\n }(), o = r.WebSocket || r.MozWebSocket;\r\n e.exports = o ? n : null, o && (n.prototype = o.prototype)\r\n }, {}],\r\n 36: [function (t, e) {\r\n (function (n) {\r\n function r(t) {\r\n function e(t) {\r\n if (!t) return !1;\r\n if (n.Buffer && n.Buffer.isBuffer(t) || n.ArrayBuffer && t instanceof ArrayBuffer || n.Blob && t instanceof Blob || n.File && t instanceof File) return !0;\r\n if (o(t)) {\r\n for (var r = 0; r < t.length; r++) if (e(t[r])) return !0\r\n } else if (t && \"object\" == typeof t) {\r\n t.toJSON && (t = t.toJSON());\r\n for (var i in t) if (Object.prototype.hasOwnProperty.call(t, i) && e(t[i])) return !0\r\n }\r\n return !1\r\n }\r\n\r\n return e(t)\r\n }\r\n\r\n var o = t(\"isarray\");\r\n e.exports = r\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {isarray: 37}],\r\n 37: [function (t, e) {\r\n e.exports = Array.isArray || function (t) {\r\n return \"[object Array]\" == Object.prototype.toString.call(t)\r\n }\r\n }, {}],\r\n 38: [function (t, e) {\r\n var n = t(\"global\");\r\n try {\r\n e.exports = \"XMLHttpRequest\" in n && \"withCredentials\" in new n.XMLHttpRequest\r\n } catch (r) {\r\n e.exports = !1\r\n }\r\n }, {global: 39}],\r\n 39: [function (t, e) {\r\n e.exports = function () {\r\n return this\r\n }()\r\n }, {}],\r\n 40: [function (t, e) {\r\n var n = [].indexOf;\r\n e.exports = function (t, e) {\r\n if (n) return t.indexOf(e);\r\n for (var r = 0; r < t.length; ++r) if (t[r] === e) return r;\r\n return -1\r\n }\r\n }, {}],\r\n 41: [function (t, e, n) {\r\n var r = Object.prototype.hasOwnProperty;\r\n n.keys = Object.keys || function (t) {\r\n var e = [];\r\n for (var n in t) r.call(t, n) && e.push(n);\r\n return e\r\n }, n.values = function (t) {\r\n var e = [];\r\n for (var n in t) r.call(t, n) && e.push(t[n]);\r\n return e\r\n }, n.merge = function (t, e) {\r\n for (var n in e) r.call(e, n) && (t[n] = e[n]);\r\n return t\r\n }, n.length = function (t) {\r\n return n.keys(t).length\r\n }, n.isEmpty = function (t) {\r\n return 0 == n.length(t)\r\n }\r\n }, {}],\r\n 42: [function (t, e) {\r\n var n = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,\r\n r = [\"source\", \"protocol\", \"authority\", \"userInfo\", \"user\", \"password\", \"host\", \"port\", \"relative\", \"path\", \"directory\", \"file\", \"query\", \"anchor\"];\r\n e.exports = function (t) {\r\n for (var e = n.exec(t || \"\"), o = {}, i = 14; i--;) o[r[i]] = e[i] || \"\";\r\n return o\r\n }\r\n }, {}],\r\n 43: [function (t, e, n) {\r\n (function (e) {\r\n var r = t(\"isarray\"), o = t(\"./is-buffer\");\r\n n.deconstructPacket = function (t) {\r\n function e(t) {\r\n if (!t) return t;\r\n if (o(t)) {\r\n var i = {_placeholder: !0, num: n.length};\r\n return n.push(t), i\r\n }\r\n if (r(t)) {\r\n for (var s = new Array(t.length), a = 0; a < t.length; a++) s[a] = e(t[a]);\r\n return s\r\n }\r\n if (\"object\" == typeof t && !(t instanceof Date)) {\r\n var s = {};\r\n for (var c in t) s[c] = e(t[c]);\r\n return s\r\n }\r\n return t\r\n }\r\n\r\n var n = [], i = t.data, s = t;\r\n return s.data = e(i), s.attachments = n.length, {packet: s, buffers: n}\r\n }, n.reconstructPacket = function (t, e) {\r\n function n(t) {\r\n if (t && t._placeholder) {\r\n var o = e[t.num];\r\n return o\r\n }\r\n if (r(t)) {\r\n for (var i = 0; i < t.length; i++) t[i] = n(t[i]);\r\n return t\r\n }\r\n if (t && \"object\" == typeof t) {\r\n for (var s in t) t[s] = n(t[s]);\r\n return t\r\n }\r\n return t\r\n }\r\n\r\n return t.data = n(t.data), t.attachments = void 0, t\r\n }, n.removeBlobs = function (t, n) {\r\n function i(t, c, p) {\r\n if (!t) return t;\r\n if (e.Blob && t instanceof Blob || e.File && t instanceof File) {\r\n s++;\r\n var u = new FileReader;\r\n u.onload = function () {\r\n p ? p[c] = this.result : a = this.result, --s || n(a)\r\n }, u.readAsArrayBuffer(t)\r\n } else if (r(t)) for (var f = 0; f < t.length; f++) i(t[f], f, t); else if (t && \"object\" == typeof t && !o(t)) for (var h in t) i(t[h], h, t)\r\n }\r\n\r\n var s = 0, a = t;\r\n i(a), s || n(a)\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\"./is-buffer\": 45, isarray: 46}],\r\n 44: [function (t, e, n) {\r\n function r() {\r\n }\r\n\r\n function o(t) {\r\n var e = \"\", r = !1;\r\n return e += t.type, (n.BINARY_EVENT == t.type || n.BINARY_ACK == t.type) && (e += t.attachments, e += \"-\"), t.nsp && \"/\" != t.nsp && (r = !0, e += t.nsp), null != t.id && (r && (e += \",\", r = !1), e += t.id), null != t.data && (r && (e += \",\"), e += f.stringify(t.data)), u(\"encoded %j as %s\", t, e), e\r\n }\r\n\r\n function i(t, e) {\r\n function n(t) {\r\n var n = l.deconstructPacket(t), r = o(n.packet), i = n.buffers;\r\n i.unshift(r), e(i)\r\n }\r\n\r\n l.removeBlobs(t, n)\r\n }\r\n\r\n function s() {\r\n this.reconstructor = null\r\n }\r\n\r\n function a(t) {\r\n var e = {}, r = 0;\r\n if (e.type = Number(t.charAt(0)), null == n.types[e.type]) return p();\r\n if (n.BINARY_EVENT == e.type || n.BINARY_ACK == e.type) {\r\n for (var o = \"\"; \"-\" != t.charAt(++r) && (o += t.charAt(r), r != t.length);) ;\r\n if (o != Number(o) || \"-\" != t.charAt(r)) throw new Error(\"Illegal attachments\");\r\n e.attachments = Number(o)\r\n }\r\n if (\"/\" == t.charAt(r + 1)) for (e.nsp = \"\"; ++r;) {\r\n var i = t.charAt(r);\r\n if (\",\" == i) break;\r\n if (e.nsp += i, r == t.length) break\r\n } else e.nsp = \"/\";\r\n var s = t.charAt(r + 1);\r\n if (\"\" !== s && Number(s) == s) {\r\n for (e.id = \"\"; ++r;) {\r\n var i = t.charAt(r);\r\n if (null == i || Number(i) != i) {\r\n --r;\r\n break\r\n }\r\n if (e.id += t.charAt(r), r == t.length) break\r\n }\r\n e.id = Number(e.id)\r\n }\r\n if (t.charAt(++r)) try {\r\n e.data = f.parse(t.substr(r))\r\n } catch (a) {\r\n return p()\r\n }\r\n return u(\"decoded %s as %j\", t, e), e\r\n }\r\n\r\n function c(t) {\r\n this.reconPack = t, this.buffers = []\r\n }\r\n\r\n function p() {\r\n return {type: n.ERROR, data: \"parser error\"}\r\n }\r\n\r\n var u = t(\"debug\")(\"socket.io-parser\"), f = t(\"json3\"), h = (t(\"isarray\"), t(\"component-emitter\")),\r\n l = t(\"./binary\"), d = t(\"./is-buffer\");\r\n n.protocol = 4, n.types = [\"CONNECT\", \"DISCONNECT\", \"EVENT\", \"BINARY_EVENT\", \"ACK\", \"BINARY_ACK\", \"ERROR\"], n.CONNECT = 0, n.DISCONNECT = 1, n.EVENT = 2, n.ACK = 3, n.ERROR = 4, n.BINARY_EVENT = 5, n.BINARY_ACK = 6, n.Encoder = r, n.Decoder = s, r.prototype.encode = function (t, e) {\r\n if (u(\"encoding packet %j\", t), n.BINARY_EVENT == t.type || n.BINARY_ACK == t.type) i(t, e); else {\r\n var r = o(t);\r\n e([r])\r\n }\r\n }, h(s.prototype), s.prototype.add = function (t) {\r\n var e;\r\n if (\"string\" == typeof t) e = a(t), n.BINARY_EVENT == e.type || n.BINARY_ACK == e.type ? (this.reconstructor = new c(e), 0 === this.reconstructor.reconPack.attachments && this.emit(\"decoded\", e)) : this.emit(\"decoded\", e); else {\r\n if (!d(t) && !t.base64) throw new Error(\"Unknown type: \" + t);\r\n if (!this.reconstructor) throw new Error(\"got binary data when not reconstructing a packet\");\r\n e = this.reconstructor.takeBinaryData(t), e && (this.reconstructor = null, this.emit(\"decoded\", e))\r\n }\r\n }, s.prototype.destroy = function () {\r\n this.reconstructor && this.reconstructor.finishedReconstruction()\r\n }, c.prototype.takeBinaryData = function (t) {\r\n if (this.buffers.push(t), this.buffers.length == this.reconPack.attachments) {\r\n var e = l.reconstructPacket(this.reconPack, this.buffers);\r\n return this.finishedReconstruction(), e\r\n }\r\n return null\r\n }, c.prototype.finishedReconstruction = function () {\r\n this.reconPack = null, this.buffers = []\r\n }\r\n }, {\"./binary\": 43, \"./is-buffer\": 45, \"component-emitter\": 9, debug: 10, isarray: 46, json3: 47}],\r\n 45: [function (t, e) {\r\n (function (t) {\r\n function n(e) {\r\n return t.Buffer && t.Buffer.isBuffer(e) || t.ArrayBuffer && e instanceof ArrayBuffer\r\n }\r\n\r\n e.exports = n\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {}],\r\n 46: [function (t, e) {\r\n e.exports = t(37)\r\n }, {}],\r\n 47: [function (e, n, r) {\r\n !function (e) {\r\n function n(t) {\r\n if (n[t] !== s) return n[t];\r\n var e;\r\n if (\"bug-string-char-index\" == t) e = \"a\" != \"a\"[0]; else if (\"json\" == t) e = n(\"json-stringify\") && n(\"json-parse\"); else {\r\n var r, o = '{\"a\":[1,true,false,null,\"\\\\u0000\\\\b\\\\n\\\\f\\\\r\\\\t\"]}';\r\n if (\"json-stringify\" == t) {\r\n var i = u.stringify, c = \"function\" == typeof i && f;\r\n if (c) {\r\n (r = function () {\r\n return 1\r\n }).toJSON = r;\r\n try {\r\n c = \"0\" === i(0) && \"0\" === i(new Number) && '\"\"' == i(new String) && i(a) === s && i(s) === s && i() === s && \"1\" === i(r) && \"[1]\" == i([r]) && \"[null]\" == i([s]) && \"null\" == i(null) && \"[null,null,null]\" == i([s, a, null]) && i({a: [r, !0, !1, null, \"\\x00\\b\\n\\f\\r\t\"]}) == o && \"1\" === i(null, r) && \"[\\n 1,\\n 2\\n]\" == i([1, 2], null, 1) && '\"-271821-04-20T00:00:00.000Z\"' == i(new Date(-864e13)) && '\"+275760-09-13T00:00:00.000Z\"' == i(new Date(864e13)) && '\"-000001-01-01T00:00:00.000Z\"' == i(new Date(-621987552e5)) && '\"1969-12-31T23:59:59.999Z\"' == i(new Date(-1))\r\n } catch (p) {\r\n c = !1\r\n }\r\n }\r\n e = c\r\n }\r\n if (\"json-parse\" == t) {\r\n var h = u.parse;\r\n if (\"function\" == typeof h) try {\r\n if (0 === h(\"0\") && !h(!1)) {\r\n r = h(o);\r\n var l = 5 == r.a.length && 1 === r.a[0];\r\n if (l) {\r\n try {\r\n l = !h('\"\t\"')\r\n } catch (p) {\r\n }\r\n if (l) try {\r\n l = 1 !== h(\"01\")\r\n } catch (p) {\r\n }\r\n if (l) try {\r\n l = 1 !== h(\"1.\")\r\n } catch (p) {\r\n }\r\n }\r\n }\r\n } catch (p) {\r\n l = !1\r\n }\r\n e = l\r\n }\r\n }\r\n return n[t] = !!e\r\n }\r\n\r\n var o, i, s, a = {}.toString, c = \"function\" == typeof t && t.amd, p = \"object\" == typeof JSON && JSON,\r\n u = \"object\" == typeof r && r && !r.nodeType && r;\r\n u && p ? (u.stringify = p.stringify, u.parse = p.parse) : u = e.JSON = p || {};\r\n var f = new Date(-0xc782b5b800cec);\r\n try {\r\n f = -109252 == f.getUTCFullYear() && 0 === f.getUTCMonth() && 1 === f.getUTCDate() && 10 == f.getUTCHours() && 37 == f.getUTCMinutes() && 6 == f.getUTCSeconds() && 708 == f.getUTCMilliseconds()\r\n } catch (h) {\r\n }\r\n if (!n(\"json\")) {\r\n var l = \"[object Function]\", d = \"[object Date]\", y = \"[object Number]\", g = \"[object String]\",\r\n m = \"[object Array]\", v = \"[object Boolean]\", b = n(\"bug-string-char-index\");\r\n if (!f) var w = Math.floor, k = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\r\n x = function (t, e) {\r\n return k[e] + 365 * (t - 1970) + w((t - 1969 + (e = +(e > 1))) / 4) - w((t - 1901 + e) / 100) + w((t - 1601 + e) / 400)\r\n };\r\n (o = {}.hasOwnProperty) || (o = function (t) {\r\n var e, n = {};\r\n return (n.__proto__ = null, n.__proto__ = {toString: 1}, n).toString != a ? o = function (t) {\r\n var e = this.__proto__, n = t in (this.__proto__ = null, this);\r\n return this.__proto__ = e, n\r\n } : (e = n.constructor, o = function (t) {\r\n var n = (this.constructor || e).prototype;\r\n return t in this && !(t in n && this[t] === n[t])\r\n }), n = null, o.call(this, t)\r\n });\r\n var A = {\"boolean\": 1, number: 1, string: 1, undefined: 1}, B = function (t, e) {\r\n var n = typeof t[e];\r\n return \"object\" == n ? !!t[e] : !A[n]\r\n };\r\n if (i = function (t, e) {\r\n var n, r, s, c = 0;\r\n (n = function () {\r\n this.valueOf = 0\r\n }).prototype.valueOf = 0, r = new n;\r\n for (s in r) o.call(r, s) && c++;\r\n return n = r = null, c ? i = 2 == c ? function (t, e) {\r\n var n, r = {}, i = a.call(t) == l;\r\n for (n in t) i && \"prototype\" == n || o.call(r, n) || !(r[n] = 1) || !o.call(t, n) || e(n)\r\n } : function (t, e) {\r\n var n, r, i = a.call(t) == l;\r\n for (n in t) i && \"prototype\" == n || !o.call(t, n) || (r = \"constructor\" === n) || e(n);\r\n (r || o.call(t, n = \"constructor\")) && e(n)\r\n } : (r = [\"valueOf\", \"toString\", \"toLocaleString\", \"propertyIsEnumerable\", \"isPrototypeOf\", \"hasOwnProperty\", \"constructor\"], i = function (t, e) {\r\n var n, i, s = a.call(t) == l,\r\n c = !s && \"function\" != typeof t.constructor && B(t, \"hasOwnProperty\") ? t.hasOwnProperty : o;\r\n for (n in t) s && \"prototype\" == n || !c.call(t, n) || e(n);\r\n for (i = r.length; n = r[--i]; c.call(t, n) && e(n)) ;\r\n }), i(t, e)\r\n }, !n(\"json-stringify\")) {\r\n var C = {92: \"\\\\\\\\\", 34: '\\\\\"', 8: \"\\\\b\", 12: \"\\\\f\", 10: \"\\\\n\", 13: \"\\\\r\", 9: \"\\\\t\"},\r\n S = \"000000\", E = function (t, e) {\r\n return (S + (e || 0)).slice(-t)\r\n }, T = \"\\\\u00\", j = function (t) {\r\n var e, n = '\"', r = 0, o = t.length, i = o > 10 && b;\r\n for (i && (e = t.split(\"\")); o > r; r++) {\r\n var s = t.charCodeAt(r);\r\n switch (s) {\r\n case 8:\r\n case 9:\r\n case 10:\r\n case 12:\r\n case 13:\r\n case 34:\r\n case 92:\r\n n += C[s];\r\n break;\r\n default:\r\n if (32 > s) {\r\n n += T + E(2, s.toString(16));\r\n break\r\n }\r\n n += i ? e[r] : b ? t.charAt(r) : t[r]\r\n }\r\n }\r\n return n + '\"'\r\n }, _ = function (t, e, n, r, c, p, u) {\r\n var f, h, l, b, k, A, B, C, S, T, P, R, N, O, U, q;\r\n try {\r\n f = e[t]\r\n } catch (D) {\r\n }\r\n if (\"object\" == typeof f && f) if (h = a.call(f), h != d || o.call(f, \"toJSON\")) \"function\" == typeof f.toJSON && (h != y && h != g && h != m || o.call(f, \"toJSON\")) && (f = f.toJSON(t)); else if (f > -1 / 0 && 1 / 0 > f) {\r\n if (x) {\r\n for (k = w(f / 864e5), l = w(k / 365.2425) + 1970 - 1; x(l + 1, 0) <= k; l++) ;\r\n for (b = w((k - x(l, 0)) / 30.42); x(l, b + 1) <= k; b++) ;\r\n k = 1 + k - x(l, b), A = (f % 864e5 + 864e5) % 864e5, B = w(A / 36e5) % 24, C = w(A / 6e4) % 60, S = w(A / 1e3) % 60, T = A % 1e3\r\n } else l = f.getUTCFullYear(), b = f.getUTCMonth(), k = f.getUTCDate(), B = f.getUTCHours(), C = f.getUTCMinutes(), S = f.getUTCSeconds(), T = f.getUTCMilliseconds();\r\n f = (0 >= l || l >= 1e4 ? (0 > l ? \"-\" : \"+\") + E(6, 0 > l ? -l : l) : E(4, l)) + \"-\" + E(2, b + 1) + \"-\" + E(2, k) + \"T\" + E(2, B) + \":\" + E(2, C) + \":\" + E(2, S) + \".\" + E(3, T) + \"Z\"\r\n } else f = null;\r\n if (n && (f = n.call(e, t, f)), null === f) return \"null\";\r\n if (h = a.call(f), h == v) return \"\" + f;\r\n if (h == y) return f > -1 / 0 && 1 / 0 > f ? \"\" + f : \"null\";\r\n if (h == g) return j(\"\" + f);\r\n if (\"object\" == typeof f) {\r\n for (O = u.length; O--;) if (u[O] === f) throw TypeError();\r\n if (u.push(f), P = [], U = p, p += c, h == m) {\r\n for (N = 0, O = f.length; O > N; N++) R = _(N, f, n, r, c, p, u), P.push(R === s ? \"null\" : R);\r\n q = P.length ? c ? \"[\\n\" + p + P.join(\",\\n\" + p) + \"\\n\" + U + \"]\" : \"[\" + P.join(\",\") + \"]\" : \"[]\"\r\n } else i(r || f, function (t) {\r\n var e = _(t, f, n, r, c, p, u);\r\n e !== s && P.push(j(t) + \":\" + (c ? \" \" : \"\") + e)\r\n }), q = P.length ? c ? \"{\\n\" + p + P.join(\",\\n\" + p) + \"\\n\" + U + \"}\" : \"{\" + P.join(\",\") + \"}\" : \"{}\";\r\n return u.pop(), q\r\n }\r\n };\r\n u.stringify = function (t, e, n) {\r\n var r, o, i, s;\r\n if (\"function\" == typeof e || \"object\" == typeof e && e) if ((s = a.call(e)) == l) o = e; else if (s == m) {\r\n i = {};\r\n for (var c, p = 0, u = e.length; u > p; c = e[p++], s = a.call(c), (s == g || s == y) && (i[c] = 1)) ;\r\n }\r\n if (n) if ((s = a.call(n)) == y) {\r\n if ((n -= n % 1) > 0) for (r = \"\", n > 10 && (n = 10); r.length < n; r += \" \") ;\r\n } else s == g && (r = n.length <= 10 ? n : n.slice(0, 10));\r\n return _(\"\", (c = {}, c[\"\"] = t, c), o, i, r, \"\", [])\r\n }\r\n }\r\n if (!n(\"json-parse\")) {\r\n var P, R, N = String.fromCharCode,\r\n O = {92: \"\\\\\", 34: '\"', 47: \"/\", 98: \"\\b\", 116: \"\t\", 110: \"\\n\", 102: \"\\f\", 114: \"\\r\"},\r\n U = function () {\r\n throw P = R = null, SyntaxError()\r\n }, q = function () {\r\n for (var t, e, n, r, o, i = R, s = i.length; s > P;) switch (o = i.charCodeAt(P)) {\r\n case 9:\r\n case 10:\r\n case 13:\r\n case 32:\r\n P++;\r\n break;\r\n case 123:\r\n case 125:\r\n case 91:\r\n case 93:\r\n case 58:\r\n case 44:\r\n return t = b ? i.charAt(P) : i[P], P++, t;\r\n case 34:\r\n for (t = \"@\", P++; s > P;) if (o = i.charCodeAt(P), 32 > o) U(); else if (92 == o) switch (o = i.charCodeAt(++P)) {\r\n case 92:\r\n case 34:\r\n case 47:\r\n case 98:\r\n case 116:\r\n case 110:\r\n case 102:\r\n case 114:\r\n t += O[o], P++;\r\n break;\r\n case 117:\r\n for (e = ++P, n = P + 4; n > P; P++) o = i.charCodeAt(P), o >= 48 && 57 >= o || o >= 97 && 102 >= o || o >= 65 && 70 >= o || U();\r\n t += N(\"0x\" + i.slice(e, P));\r\n break;\r\n default:\r\n U()\r\n } else {\r\n if (34 == o) break;\r\n for (o = i.charCodeAt(P), e = P; o >= 32 && 92 != o && 34 != o;) o = i.charCodeAt(++P);\r\n t += i.slice(e, P)\r\n }\r\n if (34 == i.charCodeAt(P)) return P++, t;\r\n U();\r\n default:\r\n if (e = P, 45 == o && (r = !0, o = i.charCodeAt(++P)), o >= 48 && 57 >= o) {\r\n for (48 == o && (o = i.charCodeAt(P + 1), o >= 48 && 57 >= o) && U(), r = !1; s > P && (o = i.charCodeAt(P), o >= 48 && 57 >= o); P++) ;\r\n if (46 == i.charCodeAt(P)) {\r\n for (n = ++P; s > n && (o = i.charCodeAt(n), o >= 48 && 57 >= o); n++) ;\r\n n == P && U(), P = n\r\n }\r\n if (o = i.charCodeAt(P), 101 == o || 69 == o) {\r\n for (o = i.charCodeAt(++P), (43 == o || 45 == o) && P++, n = P; s > n && (o = i.charCodeAt(n), o >= 48 && 57 >= o); n++) ;\r\n n == P && U(), P = n\r\n }\r\n return +i.slice(e, P)\r\n }\r\n if (r && U(), \"true\" == i.slice(P, P + 4)) return P += 4, !0;\r\n if (\"false\" == i.slice(P, P + 5)) return P += 5, !1;\r\n if (\"null\" == i.slice(P, P + 4)) return P += 4, null;\r\n U()\r\n }\r\n return \"$\"\r\n }, D = function (t) {\r\n var e, n;\r\n if (\"$\" == t && U(), \"string\" == typeof t) {\r\n if (\"@\" == (b ? t.charAt(0) : t[0])) return t.slice(1);\r\n if (\"[\" == t) {\r\n for (e = []; t = q(), \"]\" != t; n || (n = !0)) n && (\",\" == t ? (t = q(), \"]\" == t && U()) : U()), \",\" == t && U(), e.push(D(t));\r\n return e\r\n }\r\n if (\"{\" == t) {\r\n for (e = {}; t = q(), \"}\" != t; n || (n = !0)) n && (\",\" == t ? (t = q(), \"}\" == t && U()) : U()), (\",\" == t || \"string\" != typeof t || \"@\" != (b ? t.charAt(0) : t[0]) || \":\" != q()) && U(), e[t.slice(1)] = D(q());\r\n return e\r\n }\r\n U()\r\n }\r\n return t\r\n }, I = function (t, e, n) {\r\n var r = L(t, e, n);\r\n r === s ? delete t[e] : t[e] = r\r\n }, L = function (t, e, n) {\r\n var r, o = t[e];\r\n if (\"object\" == typeof o && o) if (a.call(o) == m) for (r = o.length; r--;) I(o, r, n); else i(o, function (t) {\r\n I(o, t, n)\r\n });\r\n return n.call(t, e, o)\r\n };\r\n u.parse = function (t, e) {\r\n var n, r;\r\n return P = 0, R = \"\" + t, n = D(q()), \"$\" != q() && U(), P = R = null, e && a.call(e) == l ? L((r = {}, r[\"\"] = n, r), \"\", e) : n\r\n }\r\n }\r\n }\r\n c && t(function () {\r\n return u\r\n })\r\n }(this)\r\n }, {}],\r\n 48: [function (t, e) {\r\n function n(t, e) {\r\n var n = [];\r\n e = e || 0;\r\n for (var r = e || 0; r < t.length; r++) n[r - e] = t[r];\r\n return n\r\n }\r\n\r\n e.exports = n\r\n }, {}]\r\n }, {}, [1])(1)\r\n}\r\n","import { io } from 'socket.io-client'\r\nimport type { SocketTyped } from '@/types/socket'\r\n\r\nconst importModules: Record<string, { default?: unknown }> = import.meta.glob(\r\n './v*.js',\r\n { eager: true }\r\n)\r\n\r\nconst SOCKET_NAME_REGEX = /v\\d+_\\d+_\\d+/\r\n\r\nexport type TypedSocketIo = (...args: Parameters<typeof io>) => SocketTyped\r\n\r\nexport type SocketIoFn = () => TypedSocketIo\r\n\r\nfunction isSocketIoFn (socket: unknown): socket is SocketIoFn {\r\n return typeof socket === 'function'\r\n}\r\n\r\nconst sockets = Object.entries(importModules)\r\n .reduce<Record<string, TypedSocketIo>>(\r\n (acc, currentValue) => {\r\n const module = currentValue[1].default\r\n const moduleName = currentValue[0].match(SOCKET_NAME_REGEX)?.[0]\r\n\r\n if (isSocketIoFn(module) && moduleName) {\r\n acc[moduleName] = module()\r\n }\r\n\r\n return acc\r\n },\r\n {}\r\n )\r\n\r\nconst getSocketVersion = (version: string) => {\r\n if (version in sockets) {\r\n return sockets[version]\r\n } else {\r\n throw new Error(`Socket version ${version} not found`)\r\n }\r\n}\r\n\r\nconst makeSocketVersion = (version: string, ...args: Parameters<typeof io>) => {\r\n const socket = getSocketVersion(version)\r\n\r\n return socket(...args)\r\n}\r\n\r\nexport default {\r\n ...sockets,\r\n getSocketVersion,\r\n makeSocketVersion\r\n}\r\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum CallStatusEnum {\n RINGING = 'Ringing',\n TALKING = 'Talking',\n DIALING = 'Dialing',\n HOLD = 'Hold',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum CallTypeEnum {\n INCOMING = 'Incoming',\n OUTGOING = 'Outgoing',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum ConnectionStatusEnum {\n CONNECTED = 'connected',\n DISCONNECTED = 'disconnected',\n TRYING_TO_CONNECT = 'tryingToConnect',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum DialerTypeEnum {\n AUTOMATIC = 'Automatic',\n IVR = 'IVR',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum DirectionEnum {\n INCOMINC = 'Incoming',\n OUTGOING = 'Outgoing',\n SPY = 'Spy',\n CLICK2CALL = 'Click2Call',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum DoNotCallMeStatusCodeEnum {\n RESPONSE_FROM_API_VALID = 'RESPONSE_FROM_API_VALID',\n RESPONSE_FROM_API_INVALID = 'RESPONSE_FROM_API_INVALID',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum EventsEnum {\n ALL_DIALER_STATUS = 'AllDialersStatus',\n ALL_EXTENSION_STATUS = 'AllExtensionsStatus',\n ALL_USERS_STATUS = 'AllUsersStatus',\n CONNECT = 'connect',\n DISCONNECT = 'disconnect',\n CONNECT_ERROR_EVENT = 'connect_error',\n EXTENSION_EVENT = 'ExtensionEvent',\n KEEP_ALIVE = 'keepalive',\n KEEP_ALIVE_RESPONSE = 'keepaliveResponse',\n LOGIN_STATUS = 'loginStatus',\n LOGIN_SUCCESS = 'loginSuccess',\n QUEUE_EVENT = 'QueueEvent',\n ONLINE_STATUS_EVENT = 'onlineStatusEvent',\n DIALER_EVENT = 'DialerEvent',\n EXTENSIONS_UPDATED = 'ExtensionsUpdated',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum ExtensionEventReasonEnum {\n NEWCALL = 'NEWCALL',\n ANSWER = 'ANSWER',\n HOLD = 'HOLD',\n UNHOLD = 'UNHOLD',\n HANGUP = 'HANGUP',\n USER_STATUS_UPDATE = 'userStatusUpdate',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum ExtensionHangupCauseEnum {\n NORMAL_HANGUP = 'Normal hangup',\n USER_BUSY = 'User busy',\n CALL_REJECTED = 'Call Rejected',\n UNALLOCATED_NUMBER = 'Unallocated (unassigned) number',\n UNKNOWN = 'Unknown',\n NO_USER_RESPONDING = 'No user responding',\n USER_ALERTING = 'User alerting, no answer',\n ANSWERED_ELSEWHERE = 'Answered elsewhere',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum QueueEventReasonEnum {\n ANSWER = 'ANSWER',\n ABANDONED = 'ABANDONED',\n EXIT = 'EXIT',\n JOIN = 'JOIN',\n}","import { EventsEnum, Extension, ExtensionEventReasonEnum } from '@voicenter-team/real-time-events-types'\r\nimport { EventDataMap, EventDataMapExtended } from '@/types/events'\r\nimport { CurrentCallUTCExtended, ExtensionCallSDK, ExtensionEventExtended, ExtensionUTCExtended } from '@/types/sdk-extension-extended'\r\nimport type { ExtensionCall } from '@voicenter-team/real-time-events-types/dist/models/ExtensionCall'\r\n\r\ntype NumericKeys<T> = {\r\n [P in keyof T]: T[P] extends number\r\n ? P extends string\r\n ? P\r\n : never\r\n : never\r\n}[keyof T]\r\n\r\ntype PropertyWithUTC<T extends string> = `${T}_UTC` | `${T}_UTC_CLIENT`\r\n\r\ntype WithUTCProperties<T extends object, K extends NumericKeys<T>> = T & {\r\n [P in K as PropertyWithUTC<P & string>]: number\r\n}\r\n\r\nexport default class EventsHandler {\r\n public static mapExtensionEvent (data: EventDataMap[EventsEnum.EXTENSION_EVENT]): EventDataMapExtended[EventsEnum.EXTENSION_EVENT] {\r\n const reason = data.reason\r\n let dataExtended: undefined | ExtensionEventExtended\r\n let currentCallExtended: undefined | CurrentCallUTCExtended\r\n\r\n if (data.data.currentCall) {\r\n currentCallExtended = this.mapExtensionCall(data, data.data.currentCall)\r\n }\r\n\r\n const extensionExtended = this.mapExtensionData(data, data.data)\r\n\r\n if (reason === ExtensionEventReasonEnum.HANGUP) {\r\n dataExtended = {\r\n ...data,\r\n reason,\r\n data: {\r\n ...extensionExtended,\r\n currentCall: currentCallExtended ?\r\n {\r\n ...currentCallExtended,\r\n duration: currentCallExtended.callAnswered_UTC_CLIENT ? Date.now() - currentCallExtended.callAnswered_UTC_CLIENT : 0\r\n }\r\n : undefined,\r\n calls: data.data.calls?.map((call) => {\r\n const callExtended = this.mapExtensionCall(data, call)\r\n\r\n return {\r\n ...callExtended,\r\n duration: callExtended.callAnswered_UTC_CLIENT ? Date.now() - callExtended.callAnswered_UTC_CLIENT : 0\r\n }\r\n })\r\n }\r\n }\r\n } else {\r\n dataExtended = {\r\n ...data,\r\n data: {\r\n ...extensionExtended,\r\n currentCall: currentCallExtended,\r\n calls: data.data.calls?.map((call) => this.mapExtensionCall(data, call))\r\n },\r\n reason\r\n }\r\n }\r\n\r\n return dataExtended\r\n }\r\n\r\n public static mapAllExtensionStatus (data: EventDataMap[EventsEnum.ALL_EXTENSION_STATUS]): EventDataMapExtended[EventsEnum.ALL_EXTENSION_STATUS] {\r\n return {\r\n ...data,\r\n extensions: data.extensions.map((extension) => {\r\n return {\r\n ...this.mapExtensionData(data, extension),\r\n currentCall: extension.currentCall\r\n ? this.mapExtensionCall(data, extension.currentCall)\r\n : undefined,\r\n calls: extension.calls?.map((call) => this.mapExtensionCall(data, call))\r\n }\r\n })\r\n }\r\n }\r\n\r\n public static mapExtensionData (data: EventDataMap[EventsEnum.ALL_EXTENSION_STATUS] | EventDataMap[EventsEnum.EXTENSION_EVENT], extension: Extension): ExtensionUTCExtended {\r\n return this.configureUTCForObject(\r\n extension,\r\n [\r\n {\r\n key: 'lastAnsweredCallEventEpoch',\r\n format: 'sec'\r\n },\r\n {\r\n key: 'lastCallEventEpoch',\r\n format: 'sec'\r\n },\r\n {\r\n key: 'lastHangupCallEpoch',\r\n format: 'sec'\r\n },\r\n {\r\n key: 'representativeUpdated',\r\n format: 'ms'\r\n }\r\n ],\r\n data.servertime,\r\n data.servertimeoffset\r\n )\r\n }\r\n\r\n public static mapExtensionCall (data: EventDataMap[EventsEnum.ALL_EXTENSION_STATUS] | EventDataMap[EventsEnum.EXTENSION_EVENT], call: ExtensionCall): ExtensionCallSDK {\r\n return this.configureUTCForObject(\r\n call,\r\n [\r\n {\r\n key: 'callAnswered',\r\n format: 'sec'\r\n },\r\n {\r\n key: 'callStarted',\r\n format: 'sec'\r\n }\r\n ],\r\n data.servertime,\r\n data.servertimeoffset\r\n )\r\n }\r\n\r\n public static mapQueueEvent (data: EventDataMap[EventsEnum.QUEUE_EVENT]): EventDataMapExtended[EventsEnum.QUEUE_EVENT] {\r\n return {\r\n ...data,\r\n data: {\r\n ...data.data,\r\n Calls: data.data.Calls?.map(call => {\r\n return this.configureUTCForObject(\r\n call,\r\n [\r\n {\r\n key: 'JoinTimeStamp',\r\n format: 'sec'\r\n }\r\n ],\r\n data.servertime,\r\n data.servertimeoffset\r\n )\r\n })\r\n }\r\n }\r\n }\r\n\r\n private static assignProperty <T extends object, K extends string> (obj: T, key: K, value: number) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (obj as any)[key] = value\r\n }\r\n\r\n /**\r\n * Configures UTC for the object\r\n *\r\n * @param data - object to configure UTC for\r\n * @param properties - properties of the object to configure UTC for\r\n * @param servertime - server time in seconds\r\n * @param servertimeoffset - server time offset in minutes\r\n * @private\r\n */\r\n private static configureUTCForObject<T extends object, K extends NumericKeys<T>> (\r\n data: T,\r\n properties: Array<{ key: K, format: 'sec' | 'ms' }>,\r\n servertime: number,\r\n servertimeoffset: number\r\n ): WithUTCProperties<T, K> {\r\n const serverTimeUTC: number = (servertime - servertimeoffset * 60) * 1000\r\n const diffServerAndClient: number = Date.now() - serverTimeUTC\r\n\r\n type UTCProps = {\r\n [P in K]: number\r\n } & {\r\n [P in K as `${P}_UTC`]: number\r\n } & {\r\n [P in K as `${P}_UTC_CLIENT`]: number\r\n }\r\n\r\n const extendedProperties: Partial<UTCProps> = {}\r\n\r\n properties.forEach((property) => {\r\n const value = data[property.key]\r\n const key = property.key\r\n\r\n if (value !== 0 && typeof value === 'number' && !isNaN(value)) {\r\n let valueFormatted: number = value\r\n\r\n if (property.format === 'ms') {\r\n valueFormatted = Math.floor(valueFormatted / 1000)\r\n }\r\n\r\n const baseTime: number = (valueFormatted - servertimeoffset * 60) * 1000\r\n\r\n this.assignProperty(extendedProperties, `${key}_UTC`, baseTime)\r\n this.assignProperty(extendedProperties, `${key}_UTC_CLIENT`, baseTime + diffServerAndClient)\r\n } else {\r\n this.assignProperty(extendedProperties, `${key}_UTC`, 0)\r\n this.assignProperty(extendedProperties, `${key}_UTC_CLIENT`, 0)\r\n }\r\n })\r\n\r\n return {\r\n ...data,\r\n ...extendedProperties,\r\n } as WithUTCProperties<T, K>\r\n }\r\n}\r\n","export enum ServerListenerEventsEnum {\r\n UPDATE_MONITORED_EXTENSIONS = 'updateMonitoredExtensions',\r\n KEEP_ALIVE = 'keepAlive'\r\n}\r\n","import { ManagerOptions, Socket, SocketOptions } from 'socket.io-client'\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport sockets, { TypedSocketIo } from '@/classes/socket-io/versions'\r\nimport { SocketTyped } from '@/types/socket'\r\nimport { ServerParameter } from '@/classes/events-sdk/events-sdk.types'\r\nimport {\r\n ConnectionStatusEnum,\r\n EventsEnum\r\n} from '@voicenter-team/real-time-events-types'\r\nimport type {\r\n AllDialersStatusEvent,\r\n AllExtensionStatusEvent,\r\n DialerEvent,\r\n ExtensionEvent,\r\n ExtensionsUpdated,\r\n KeepAliveResponseEvent,\r\n LoginStatusEvent,\r\n LoginSuccessEvent,\r\n QueueEvent\r\n} from '@voicenter-team/real-time-events-types'\r\nimport { StorageClass } from '@/classes/storage/storage.class'\r\nimport EventsHandler from '@/classes/socket-io/events-handler'\r\nimport { ServerListenerEventsEnum } from '@/enum/socket.enum'\r\nimport { ActionNameEnum, LevelEnum, LogTypeEnum } from '@voicenter-team/socketio-storage-logger'\r\n\r\n// import { LoggerTypeEnum } from '@/enum/logger.enum'\r\n\r\nexport class SocketIoClass {\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n }\r\n\r\n public io: SocketTyped | undefined\r\n public ioFunction: TypedSocketIo | undefined\r\n public lastEventTimestamp = new Date().getTime()\r\n public doReconnect = true\r\n private keepAliveInterval: ReturnType<typeof setInterval> | undefined\r\n private keepReconnectInterval: ReturnType<typeof setInterval> | undefined\r\n private connected = false\r\n\r\n public getSocketIoFunction (Client: string) {\r\n const parsedArray = Client.split('v=')\r\n\r\n const version = 'v'\r\n .concat(parsedArray[parsedArray.length - 1])\r\n .replaceAll('.', '_')\r\n\r\n this.ioFunction = sockets.getSocketVersion(version)\r\n }\r\n\r\n public initSocketConnection () {\r\n const token = this.eventsSdkClass.authClass.token\r\n\r\n const protocol = this.eventsSdkClass.options.protocol\r\n\r\n const server = this.eventsSdkClass.server\r\n\r\n try {\r\n const domain = server ? server.Domain : this.eventsSdkClass.URL\r\n\r\n const url = server ? `${protocol}://${domain}` : this.eventsSdkClass.URL\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(\r\n EventsEnum.ONLINE_STATUS_EVENT,\r\n {\r\n attemptToConnect: url,\r\n connectionStatus: ConnectionStatusEnum.TRYING_TO_CONNECT\r\n }\r\n )\r\n\r\n const options: Partial<ManagerOptions & SocketOptions> = {\r\n reconnection: false,\r\n upgrade: false,\r\n transports: [ 'websocket' ],\r\n forceNew: true,\r\n query: {\r\n token\r\n },\r\n timeout: this.eventsSdkClass.options.timeout\r\n }\r\n\r\n if (token) {\r\n options.query = {\r\n token\r\n }\r\n }\r\n\r\n if (this.ioFunction && url) {\r\n this.io = this.ioFunction(url, options)\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `${this.eventsSdkClass.options.loggerConfig.system} tries to connect to WS server ${domain}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Switching Protocols',\r\n StatusCode: 101,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n } else {\r\n throw new Error('Socket server url no defined')\r\n }\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `${error}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Connection error',\r\n StatusCode: 500,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n }\r\n }\r\n\r\n public clearKeepAliveInterval () {\r\n if (this.keepAliveInterval) {\r\n clearInterval(this.keepAliveInterval)\r\n }\r\n }\r\n\r\n public initKeepAlive () {\r\n this.clearKeepAliveInterval()\r\n\r\n this.keepAliveInterval = setInterval(async () => {\r\n const now = new Date().getTime()\r\n\r\n // if (now > this.lastEventTimestamp + delta) {\r\n // this.eventsSdkClass.connect(ServerParameter.DEFAULT, true)\r\n //\r\n // return\r\n // }\r\n //\r\n // if (!this.io) {\r\n // this.initSocketConnection()\r\n //\r\n // return\r\n // }\r\n\r\n if (now > this.lastEventTimestamp + this.eventsSdkClass.options.keepAliveTimeout && this.io && this.eventsSdkClass.authClass.token) {\r\n this.eventsSdkClass.emit(ServerListenerEventsEnum.KEEP_ALIVE, this.eventsSdkClass.authClass.token)\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Keep alive event emitted with this token: ${this.eventsSdkClass.authClass.token}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n\r\n return\r\n }\r\n\r\n }, this.eventsSdkClass.options.keepAliveTimeout)\r\n }\r\n\r\n public closeAllConnections () {\r\n if (this.io) {\r\n this.io.close()\r\n\r\n this.io?.disconnect()\r\n\r\n this.io = undefined\r\n }\r\n\r\n StorageClass.clearSessionStorage()\r\n }\r\n\r\n public initSocketEvents () {\r\n if (!this.io) {\r\n return\r\n }\r\n\r\n this.io\r\n .on(EventsEnum.LOGIN_SUCCESS, (data) => this.onLoginSuccessEvent(data))\r\n .on(EventsEnum.QUEUE_EVENT, (data) => this.onQueueEvent(data))\r\n .on(EventsEnum.EXTENSION_EVENT, (data) => this.onExtensionEvent(data))\r\n .on(EventsEnum.DIALER_EVENT, (data) => this.onDialerEvent(data))\r\n .on(EventsEnum.LOGIN_STATUS, (data) => this.onLoginStatusEvent(data))\r\n .on(EventsEnum.ALL_EXTENSION_STATUS, (data) => this.onAllExtensionStatus(data))\r\n .on(EventsEnum.ALL_DIALER_STATUS, (data) => this.onAllDialerStatus(data))\r\n .on(EventsEnum.KEEP_ALIVE_RESPONSE, (data) => this.onKeepAliveResponse(data))\r\n .on(EventsEnum.EXTENSIONS_UPDATED, (data) => this.onExtensionsUpdatedEvent(data))\r\n .on(EventsEnum.CONNECT, () => this.onConnect())\r\n .on(EventsEnum.DISCONNECT, (data) => this.onDisconnect(data))\r\n .on(EventsEnum.CONNECT_ERROR_EVENT, (data) => this.onConnectError(data))\r\n }\r\n\r\n private onLoginSuccessEvent (data: LoginSuccessEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.LOGIN_SUCCESS, data)\r\n }\r\n\r\n private onQueueEvent (data: QueueEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.QUEUE_EVENT, EventsHandler.mapQueueEvent(data))\r\n }\r\n\r\n private onExtensionEvent (data: ExtensionEvent) {\r\n const dataExtended = EventsHandler.mapExtensionEvent(data)\r\n\r\n if (dataExtended) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.EXTENSION_EVENT, dataExtended)\r\n }\r\n }\r\n\r\n private onDialerEvent (data: DialerEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.DIALER_EVENT, data)\r\n }\r\n\r\n private onLoginStatusEvent (data: LoginStatusEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.LOGIN_STATUS, data)\r\n }\r\n\r\n private onAllExtensionStatus (data: AllExtensionStatusEvent) {\r\n const dataExtended = EventsHandler.mapAllExtensionStatus(data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ALL_EXTENSION_STATUS, dataExtended)\r\n }\r\n\r\n private onAllDialerStatus (data: AllDialersStatusEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ALL_DIALER_STATUS, data)\r\n }\r\n\r\n private onKeepAliveResponse (data: KeepAliveResponseEvent) {\r\n if (data.errorCode) {\r\n this.initSocketConnection()\r\n\r\n return\r\n }\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Keep alive response: ${data}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Successful',\r\n StatusCode: 200,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n\r\n if (this.connected) {\r\n this.lastEventTimestamp = new Date().getTime()\r\n } else {\r\n this.initSocketConnection()\r\n }\r\n }\r\n\r\n private onExtensionsUpdatedEvent (data: ExtensionsUpdated) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.EXTENSIONS_UPDATED, data)\r\n }\r\n\r\n private onConnect () {\r\n if (this.keepReconnectInterval) {\r\n clearInterval(this.keepReconnectInterval)\r\n }\r\n\r\n this.connected = true\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ONLINE_STATUS_EVENT, {\r\n connectionStatus: ConnectionStatusEnum.CONNECTED\r\n })\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Sdk connected to the socket server ${this.eventsSdkClass.server && this.eventsSdkClass.server.Domain ? this.eventsSdkClass.server.Domain : this.eventsSdkClass.URL}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Connection established',\r\n StatusCode: 200,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n }\r\n\r\n private onDisconnect (reason: Socket.DisconnectReason) {\r\n this.connected = false\r\n\r\n this.closeAllConnections()\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ONLINE_STATUS_EVENT, {\r\n connectionStatus: this.doReconnect ? ConnectionStatusEnum.TRYING_TO_CONNECT : ConnectionStatusEnum.DISCONNECTED\r\n })\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Sdk disconnected from the socket server ${this.eventsSdkClass.server && this.eventsSdkClass.server.Domain ? this.eventsSdkClass.server.Domain : this.eventsSdkClass.URL} (${reason})`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Connection closed',\r\n StatusCode: 200,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n\r\n if (!this.doReconnect) {\r\n return\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n }\r\n\r\n private onConnectError (data: Error) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ONLINE_STATUS_EVENT, {\r\n connectionStatus: this.doReconnect ? ConnectionStatusEnum.TRYING_TO_CONNECT : ConnectionStatusEnum.DISCONNECTED\r\n })\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Sdk tries to connect to the socket server ${this.eventsSdkClass.URL} but error (${data})`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Connection attempt error',\r\n StatusCode: 500,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n\r\n setTimeout(\r\n () => {\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n },\r\n this.eventsSdkClass.options.reconnectionDelay\r\n )\r\n }\r\n}\r\n","import { Socket } from 'socket.io-client'\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport StorageLogger, {\r\n ActionNameEnum,\r\n LevelEnum,\r\n LogTypeEnum\r\n} from '@voicenter-team/socketio-storage-logger'\r\nimport type {\r\n LoggerDataPartial\r\n} from '@voicenter-team/socketio-storage-logger'\r\n\r\nexport class LoggerClass{\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n }\r\n\r\n private storageLogger: StorageLogger | undefined\r\n\r\n public init () {\r\n if (!this.eventsSdkClass.options.useLogger) {\r\n return\r\n }\r\n\r\n if (this.eventsSdkClass.options.storageLoggerInstance) {\r\n this.storageLogger = this.eventsSdkClass.options.storageLoggerInstance\r\n\r\n return\r\n }\r\n\r\n let socket: Socket | undefined\r\n\r\n if (this.eventsSdkClass.options.loggerSocketConnection) {\r\n socket = this.eventsSdkClass.options.loggerSocketConnection\r\n }\r\n\r\n if (this.eventsSdkClass.socketIoClass.ioFunction && !socket) {\r\n socket = this.eventsSdkClass.socketIoClass.ioFunction(\r\n this.eventsSdkClass.options.loggerServer,\r\n this.eventsSdkClass.options.loggerConnectOptions\r\n )\r\n }\r\n\r\n if (socket) {\r\n this.storageLogger = new StorageLogger<LoggerDataPartial>({\r\n socket,\r\n loggerOptions: this.eventsSdkClass.options.loggerConfig\r\n })\r\n }\r\n }\r\n\r\n stop () {\r\n if (!this.storageLogger) {\r\n return\r\n }\r\n\r\n this.storageLogger.stop()\r\n }\r\n\r\n public log (data: LoggerDataPartial) {\r\n if (this.storageLogger) {\r\n if (data.Level === LevelEnum.INFO) {\r\n this.storageLogger.log(data)\r\n } else if (data.Level === LevelEnum.ERROR) {\r\n this.storageLogger.error(data)\r\n }\r\n } else {\r\n if (data.Level === LevelEnum.INFO) {\r\n console.log(data)\r\n } else if (data.Level === LevelEnum.ERROR) {\r\n console.error(data)\r\n }\r\n }\r\n }\r\n\r\n public sdkInitializedLog () {\r\n const replacedOptions = {\r\n ...this.eventsSdkClass.options,\r\n token: 'CENSORED',\r\n password: 'CENSORED'\r\n }\r\n\r\n this.log({\r\n Message: 'Sdk initialized with provided options',\r\n Body: JSON.stringify(replacedOptions, this.eventsSdkClass.getCircularReplacer()),\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Sdk initialized',\r\n StatusCode: 200,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n }\r\n}\r\n","import type {\r\n EventCallbackListenersMap,\r\n EventData,\r\n EventSpecificCallback,\r\n EventTypeData,\r\n EventTypeNames,\r\n GenericEventWrapper,\r\n} from '@/types/events'\r\nimport { EventsEnum } from '@voicenter-team/real-time-events-types'\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\n\r\nexport class EventEmitterClass {\r\n private listeners: EventCallbackListenersMap = {\r\n [EventsEnum.ALL_EXTENSION_STATUS]: [],\r\n [EventsEnum.ALL_DIALER_STATUS]: [],\r\n [EventsEnum.ALL_USERS_STATUS]: [],\r\n [EventsEnum.QUEUE_EVENT]: [],\r\n [EventsEnum.EXTENSION_EVENT]: [],\r\n [EventsEnum.DIALER_EVENT]: [],\r\n [EventsEnum.LOGIN_SUCCESS]: [],\r\n [EventsEnum.LOGIN_STATUS]: [],\r\n [EventsEnum.KEEP_ALIVE_RESPONSE]: [],\r\n [EventsEnum.ONLINE_STATUS_EVENT]: [],\r\n [EventsEnum.EXTENSIONS_UPDATED]: []\r\n }\r\n private allListeners: Array<(data: GenericEventWrapper) => void> = []\r\n\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n }\r\n\r\n public on (event: unknown, callback: unknown) {\r\n if (event === '*') {\r\n this.allListeners.push(callback as (data: GenericEventWrapper) => void)\r\n } else {\r\n // Handle specific event type with strong typing\r\n this.listeners[event as EventTypeNames].push(callback as EventSpecificCallback<EventTypeNames>)\r\n }\r\n }\r\n\r\n public off<T extends EventTypeNames> (event: T, callback: EventSpecificCallback<T>): void\r\n public off (event: '*', callback: (data: GenericEventWrapper) => void): void\r\n public off (event: unknown, callback: unknown) {\r\n if (event === '*') {\r\n this.allListeners = this.allListeners.filter(item => item !== callback)\r\n } else {\r\n const data = this.listeners[event as EventTypeNames] as Array<EventSpecificCallback<EventTypeNames>>\r\n const filtered = data.filter(item => item !== callback)\r\n\r\n this.listeners = {\r\n ...this.listeners,\r\n [event as EventTypeNames]: filtered\r\n }\r\n }\r\n }\r\n\r\n public emit <T extends EventTypeNames> (event: T, data: EventTypeData<T>) {\r\n this.eventsSdkClass.socketIoClass.lastEventTimestamp = new Date().getTime()\r\n\r\n this.listeners[event].forEach(callback => callback({\r\n name: event,\r\n data\r\n }))\r\n\r\n const allEventData: GenericEventWrapper = {\r\n name: event,\r\n data: data as EventData\r\n }\r\n\r\n this.allListeners.forEach((callback) => callback(allEventData))\r\n }\r\n}\r\n","import AuthClass from '@/classes/auth/auth.class'\r\nimport { eventsSdkDefaultOptions } from '@/classes/events-sdk/events-sdk-default-options'\r\nimport { SocketIoClass } from '@/classes/socket-io/socket-io.class'\r\nimport {\r\n EventsSdkOptionsBase,\r\n Server,\r\n ServerParameter\r\n} from '@/classes/events-sdk/events-sdk.types'\r\nimport type {\r\n EventsSdkOptionsClient,\r\n EventsSdkOptionsMain\r\n} from '@/classes/events-sdk/events-sdk.types'\r\nimport type {\r\n ServerEmitEventCallbackRegistry,\r\n ServerEmitEventTypeNames,\r\n SocketTyped\r\n} from '@/types/socket'\r\nimport type {\r\n EventSpecificCallback,\r\n EventTypeNames,\r\n GenericEventWrapper,\r\n} from '@/types/events'\r\nimport { LoggerClass } from '@/classes/logger/logger.class'\r\nimport { EventEmitterClass } from '@/classes/event-emitter/event-emitter.class'\r\n\r\nclass EventsSdkClass{\r\n public readonly options: EventsSdkOptionsMain & EventsSdkOptionsBase\r\n public servers: Server[] = []\r\n public URLList: string[] = []\r\n public server: Server | undefined\r\n public URL: string | undefined\r\n public socket: SocketTyped | undefined\r\n private mainServer: Server | undefined\r\n\r\n private alreadyAttemptedOtherServers: Array<number | string> = []\r\n\r\n public authClass = new AuthClass(this)\r\n public socketIoClass = new SocketIoClass(this)\r\n public loggerClass = new LoggerClass(this)\r\n public eventEmitterClass = new EventEmitterClass(this)\r\n\r\n constructor (options: EventsSdkOptionsClient) {\r\n this.options = {\r\n ...eventsSdkDefaultOptions,\r\n ...options\r\n }\r\n }\r\n\r\n public on<T extends EventTypeNames> (event: T, callback: EventSpecificCallback<T>): void\r\n public on (event: '*', callback: (data: GenericEventWrapper) => void): void\r\n public on (event: unknown, callback: unknown): void {\r\n this.eventEmitterClass.on(event, callback)\r\n }\r\n\r\n public emit <T extends ServerEmitEventTypeNames> (event: T, ...args: Parameters<ServerEmitEventCallbackRegistry[T]>) {\r\n if (this.socketIoClass.io) {\r\n this.socketIoClass.io.emit(event, ...args)\r\n }\r\n }\r\n\r\n public connect (serverParameter: ServerParameter) {\r\n if (serverParameter === ServerParameter.MAIN) {\r\n this.findMainServer()\r\n }\r\n\r\n if (serverParameter === ServerParameter.NEXT) {\r\n this.findNextServer()\r\n }\r\n\r\n this.socketIoClass.doReconnect = true\r\n\r\n this.loggerClass.init()\r\n\r\n this.socketIoClass.initSocketConnection()\r\n\r\n this.socketIoClass.initSocketEvents()\r\n\r\n this.socketIoClass.initKeepAlive()\r\n }\r\n\r\n public disconnect () {\r\n this.socketIoClass.doReconnect = false\r\n\r\n this.socketIoClass.closeAllConnections()\r\n this.loggerClass.stop()\r\n }\r\n\r\n public clearKeepAliveInterval () {\r\n this.socketIoClass.clearKeepAliveInterval()\r\n }\r\n\r\n private findMainServer () {\r\n if (this.servers.length) {\r\n this.mainServer = this.servers.reduce((prev, cur) => {\r\n return cur.Priority > prev.Priority ? cur : prev\r\n })\r\n\r\n this.server = this.mainServer\r\n } else {\r\n if (this.URLList.length) {\r\n this.URL = this.URLList[0]\r\n }\r\n }\r\n }\r\n\r\n private findNextServer () {\r\n if (this.servers.length && this.server) {\r\n if (this.server.Priority === this.mainServer!.Priority) {\r\n let filteredServers = this.servers.filter(\r\n server =>\r\n server.Priority !== this.mainServer!.Priority &&\r\n this.alreadyAttemptedOtherServers.indexOf(server.Priority) + 1 === 0\r\n )\r\n\r\n if (!filteredServers.length) {\r\n this.alreadyAttemptedOtherServers = []\r\n\r\n filteredServers = this.servers.filter(\r\n server =>\r\n server.Priority !== this.mainServer!.Priority &&\r\n this.alreadyAttemptedOtherServers.indexOf(server.Priority) + 1 === 0\r\n )\r\n }\r\n\r\n if (filteredServers.length) {\r\n this.server = filteredServers.reduce((prev, cur) => {\r\n return cur.Priority > prev.Priority ? cur : prev\r\n })\r\n\r\n this.alreadyAttemptedOtherServers.push(this.server.Priority)\r\n }\r\n } else {\r\n this.server = this.mainServer!\r\n }\r\n } else {\r\n if (this.URLList.length) {\r\n if (this.URL === this.URLList[0]) {\r\n let filteredServers = this.URLList.filter(\r\n url =>\r\n url !== this.URLList[0] &&\r\n this.alreadyAttemptedOtherServers.indexOf(url) + 1 === 0\r\n )\r\n\r\n if (!filteredServers.length) {\r\n this.alreadyAttemptedOtherServers = []\r\n\r\n filteredServers = this.URLList.filter(\r\n url =>\r\n url !== this.URLList[0] &&\r\n this.alreadyAttemptedOtherServers.indexOf(url) + 1 === 0\r\n )\r\n }\r\n\r\n if (filteredServers.length) {\r\n this.URL = filteredServers[0]\r\n\r\n this.alreadyAttemptedOtherServers.push(this.URL)\r\n }\r\n } else {\r\n this.URL = this.URLList[0]\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async init () {\r\n const loginSessionData = await this.authClass.login()\r\n\r\n if (loginSessionData) {\r\n this.authClass.onLoginResponse(loginSessionData)\r\n }\r\n\r\n this.loggerClass.sdkInitializedLog()\r\n\r\n return true\r\n }\r\n\r\n public getCircularReplacer = () => {\r\n const seen = new WeakSet()\r\n return (key: string, value: object) => {\r\n // Custom handling for specific circular references\r\n if (key === 'socket' || key === 'io' || key === 'nsps') {\r\n return undefined\r\n }\r\n\r\n if (typeof value === 'object' && value !== null) {\r\n if (seen.has(value)) {\r\n return\r\n }\r\n seen.add(value)\r\n }\r\n return value\r\n }\r\n }\r\n\r\n public getCurrentMonitorServer (): Server | undefined {\r\n return this.server\r\n }\r\n}\r\n\r\nexport default EventsSdkClass\r\n"],"names":["base64map","crypt","n","b","i","bytes","words","hex","c","base64","triplet","j","imod4","cryptModule","charenc","str","charenc_1","isBuffer_1","obj","isBuffer","isSlowBuffer","require$$0","utf8","require$$1","require$$2","bin","md5","message","options","m","l","a","d","FF","GG","HH","II","aa","bb","cc","dd","x","s","t","md5Module","digestbytes","ServerParameter","LoginType","StorageClass","key","doParse","loginSessionKey","storageData","Dt","qt","e","O","Pt","_t","Oe","Ut","Lt","lt","r","f","Mt","$t","o","Ie","Re","ie","oe","se","ae","Ht","Xt","Wt","jt","zt","ce","h","u","p","y","N","k","_","g","v","I","Jt","X","Vt","Ve","Gt","Kt","ve","pt","ee","me","Yt","_e","dt","tr","Qt","Zt","er","Ue","yt","gt","rr","nr","xe","Te","w","Le","be","De","ir","Me","or","sr","$e","He","K","ar","Ae","Ge","vt","cr","ur","fr","hr","z","mt","lr","bt","Ee","pr","dr","Y","de","pe","yr","gr","vr","ue","Ke","mr","Be","br","C","A","E","S","R","T","G","V","ke","Xe","fe","we","Ce","wt","ye","Ct","et","J","tt","qe","wr","We","At","Et","Cr","Bt","Ar","Er","$","kt","H","Br","kr","St","Sr","Fr","Pe","Nr","te","q","rt","nt","Or","Ir","ze","Rr","it","xr","re","Tr","Dr","he","qr","Pr","_r","Ur","je","Lr","Mr","$r","Hr","Xr","ge","Je","Z","Wr","M","zr","jr","Jr","Vr","Gr","Kr","Ft","Yr","Qr","D","Zr","Nt","ot","en","tn","B","rn","nn","Se","Fe","st","on","Ot","sn","at","It","ct","Rt","an","ne","cn","un","fn","hn","W","Q","U","xt","ln","Tt","ut","F","pn","dn","le","yn","gn","P","vn","mn","ft","bn","wn","Cn","An","En","ht","Bn","Ne","Fn","kn","Nn","On","L","qn","AuthClass","eventsSdkClass","__publicField","payload","loginSessionData","loginType","externalLoginResponse","settings","prev","current","date","timeout","maxAllowedTimeout","refreshTokenResponse","url","password","token","email","body","res","data","error","ActionNameEnum","LevelEnum","LogTypeEnum","refreshTokenUrl","oldRefreshToken","eventsSdkDefaultOptions","v1_3_7","importModules","SOCKET_NAME_REGEX","isSocketIoFn","socket","sockets","acc","currentValue","module","moduleName","_a","getSocketVersion","version","sockets$1","args","CallStatusEnum","CallTypeEnum","ConnectionStatusEnum","DialerTypeEnum","DirectionEnum","DoNotCallMeStatusCodeEnum","EventsEnum","ExtensionEventReasonEnum","ExtensionHangupCauseEnum","QueueEventReasonEnum","EventsHandler","reason","dataExtended","currentCallExtended","extensionExtended","call","callExtended","_b","extension","value","properties","servertime","servertimeoffset","serverTimeUTC","diffServerAndClient","extendedProperties","property","valueFormatted","baseTime","ServerListenerEventsEnum","SocketIoClass","Client","parsedArray","protocol","server","domain","LoggerClass","StorageLogger","replacedOptions","EventEmitterClass","event","callback","item","filtered","allEventData","EventsSdkClass","seen","serverParameter","cur","filteredServers"],"mappings":"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","x_google_ignoreList":[0,1,2,3,7,12,13,14,15,16,17,18,19,20,21]}
|
|
1
|
+
{"version":3,"file":"voicenter-events-sdk.iife.js","sources":["../node_modules/crypt/crypt.js","../node_modules/charenc/charenc.js","../node_modules/is-buffer/index.js","../node_modules/md5/md5.js","../src/classes/events-sdk/events-sdk.types.ts","../src/enum/auth.enum.ts","../src/classes/storage/storage.class.ts","../node_modules/@voicenter-team/socketio-storage-logger/dist/storage-logger.es.js","../src/classes/auth/auth.class.ts","../src/classes/events-sdk/events-sdk-default-options.ts","../src/classes/socket-io/versions/v1_3_7.js","../src/classes/socket-io/versions/index.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/CallStatusEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/CallTypeEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/ConnectionStatusEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/DialerTypeEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/DirectionEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/DoNotCallMeStatusCodeEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/EventsEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/ExtensionEventReasonEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/ExtensionHangupCauseEnum.ts","../node_modules/@voicenter-team/real-time-events-types/dist/models/QueueEventReasonEnum.ts","../src/classes/socket-io/events-handler.ts","../src/enum/socket.enum.ts","../src/classes/socket-io/socket-io.class.ts","../src/classes/logger/logger.class.ts","../src/classes/event-emitter/event-emitter.class.ts","../src/classes/events-sdk/events-sdk.class.ts"],"sourcesContent":["(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","import { Socket } from 'socket.io-client'\r\nimport { LoginType } from '@/enum/auth.enum'\r\nimport StorageLogger, { LoggerOptions } from '@voicenter-team/socketio-storage-logger'\r\n\r\nexport interface EventsSdkOptionsBase {\r\n loginType: LoginType,\r\n isNewStack?: boolean,\r\n forceNew?: boolean,\r\n servers?: Server[],\r\n reconnectionDelay?: number,\r\n timeout?: number,\r\n keepAliveTimeout?: number,\r\n protocol?: string,\r\n useLogger?: boolean,\r\n loggerSocketConnection?: Socket,\r\n loggerServer?: string,\r\n loggerConfig?: LoggerOptions,\r\n loggerConnectOptions?: LoggerConnectOptions,\r\n storageLoggerInstance?: StorageLogger\r\n // transports?: string[],\r\n // upgrade?: boolean,\r\n // serverFetchStrategy?: string,\r\n // serverType?: number,\r\n // idleInterval?: number,\r\n // reconnectionDelayMax?: number,\r\n // maxReconnectAttempts: number,\r\n}\r\n\r\ntype EventsSdkOptionsUserLogin = EventsSdkOptionsBase & {\r\n loginType: LoginType.USER,\r\n email: string,\r\n password: string,\r\n}\r\n\r\ntype EventsSdkOptionsTokenLogin = EventsSdkOptionsBase & {\r\n loginType: LoginType.TOKEN,\r\n token: string,\r\n}\r\n\r\ntype EventsSdkOptionsOldStack = EventsSdkOptionsBase & {\r\n isNewStack?: false,\r\n loginUrl?: string,\r\n refreshTokenUrl?: string,\r\n}\r\n\r\ntype EventsSdkOptionsNewStack = EventsSdkOptionsBase & {\r\n isNewStack: true,\r\n loginUrl?: string,\r\n refreshTokenUrl?: string,\r\n getSettingsUrl: string,\r\n}\r\n\r\nexport type EventsSdkOptionsClient = EventsSdkOptionsUserLogin | EventsSdkOptionsTokenLogin | EventsSdkOptionsOldStack | EventsSdkOptionsNewStack\r\n\r\nexport type EventsSdkOptionsMain = Required<Pick<\r\n EventsSdkOptionsOldStack | EventsSdkOptionsNewStack,\r\n 'isNewStack' |\r\n 'loginUrl' |\r\n 'refreshTokenUrl' |\r\n 'forceNew' |\r\n 'protocol' |\r\n 'timeout' |\r\n 'loggerConfig' |\r\n 'keepAliveTimeout' |\r\n 'reconnectionDelay' |\r\n 'loggerServer' |\r\n 'useLogger'\r\n >> & {\r\n getSettingsUrl?: string,\r\n token?: string,\r\n email?: string,\r\n password?: string,\r\n storageLoggerInstance?: StorageLogger,\r\n loggerConnectOptions?: LoggerConnectOptions,\r\n loggerSocketConnection?: Socket,\r\n}\r\n\r\nexport interface Server {\r\n Priority: number,\r\n Domain: string,\r\n URLID: number,\r\n Version: string,\r\n}\r\n\r\nexport interface LoggerConfig {\r\n logToConsole?: boolean,\r\n overloadGlobalConsole?: boolean,\r\n system: string,\r\n socketEmitInterval?: number\r\n}\r\n\r\nexport interface LoggerConnectOptions {\r\n reconnection?: boolean,\r\n reconnectionDelay?: number,\r\n reconnectionAttempts?: number,\r\n perMessageDeflate?: {\r\n threshold: number\r\n },\r\n upgrade?: boolean,\r\n transports?: string[],\r\n debug?: boolean\r\n}\r\n\r\nexport enum ServerParameter {\r\n MAIN = 'main',\r\n NEXT = 'next'\r\n}\r\n","export enum LoginType {\r\n USER = 'User',\r\n TOKEN = 'Token'\r\n}","export class StorageClass {\r\n public static getSessionStorageDataByKey <T extends object> (key: string, doParse?: true): Promise<T | undefined>\r\n public static getSessionStorageDataByKey (key: string, doParse?: false): Promise<string | undefined>\r\n public static async getSessionStorageDataByKey (key: string, doParse = true) {\r\n if (typeof chrome !== 'undefined' && typeof chrome.storage !== 'undefined') {\r\n const loginSessionKey = await chrome.storage.session.get(key)\r\n\r\n if (loginSessionKey[key]) {\r\n if (doParse) {\r\n return JSON.parse(loginSessionKey[key])\r\n } else {\r\n return loginSessionKey[key]\r\n }\r\n }\r\n }\r\n\r\n if (typeof window !== 'undefined' && typeof window.sessionStorage !== 'undefined' && typeof window.sessionStorage.getItem === 'function') {\r\n const loginSessionKey = window.sessionStorage.getItem(key)\r\n\r\n if (loginSessionKey) {\r\n if (doParse) {\r\n return JSON.parse(loginSessionKey)\r\n } else {\r\n return loginSessionKey\r\n }\r\n }\r\n }\r\n }\r\n\r\n public static async updateSessionStorageKey <T> (key: string, storageData: Partial<T>) {\r\n if (typeof chrome !== 'undefined' && typeof chrome.storage !== 'undefined') {\r\n await chrome.storage.session.set({\r\n [key]: JSON.stringify(storageData)\r\n })\r\n }\r\n\r\n if (typeof window !== 'undefined' && typeof window.sessionStorage !== 'undefined' && typeof window.sessionStorage.setItem === 'function') {\r\n window.sessionStorage.setItem(key, JSON.stringify(storageData))\r\n }\r\n }\r\n\r\n public static clearSessionStorage () {\r\n if (typeof chrome !== 'undefined' && typeof chrome.storage !== 'undefined') {\r\n chrome.storage.session.clear()\r\n }\r\n\r\n if (typeof window !== 'undefined' && typeof window.sessionStorage !== 'undefined' && typeof window.sessionStorage.clear === 'function') {\r\n window.sessionStorage.clear()\r\n }\r\n }\r\n}\r\n","var Dt = Object.defineProperty;\nvar qt = (e, t, r) => t in e ? Dt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar O = (e, t, r) => (qt(e, typeof t != \"symbol\" ? t + \"\" : t, r), r);\nfunction Pt(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nfunction _t(e) {\n if (e.__esModule)\n return e;\n var t = e.default;\n if (typeof t == \"function\") {\n var r = function n() {\n return this instanceof n ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);\n };\n r.prototype = t.prototype;\n } else\n r = {};\n return Object.defineProperty(r, \"__esModule\", { value: !0 }), Object.keys(e).forEach(function(n) {\n var i = Object.getOwnPropertyDescriptor(e, n);\n Object.defineProperty(r, n, i.get ? i : {\n enumerable: !0,\n get: function() {\n return e[n];\n }\n });\n }), r;\n}\nvar Oe = { exports: {} }, Ut = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/, Lt = [\n \"source\",\n \"protocol\",\n \"authority\",\n \"userInfo\",\n \"user\",\n \"password\",\n \"host\",\n \"port\",\n \"relative\",\n \"path\",\n \"directory\",\n \"file\",\n \"query\",\n \"anchor\"\n], lt = function(t) {\n var r = t, n = t.indexOf(\"[\"), i = t.indexOf(\"]\");\n n != -1 && i != -1 && (t = t.substring(0, n) + t.substring(n, i).replace(/:/g, \";\") + t.substring(i, t.length));\n for (var o = Ut.exec(t || \"\"), s = {}, f = 14; f--; )\n s[Lt[f]] = o[f] || \"\";\n return n != -1 && i != -1 && (s.source = r, s.host = s.host.substring(1, s.host.length - 1).replace(/;/g, \":\"), s.authority = s.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\"), s.ipv6uri = !0), s.pathNames = Mt(s, s.path), s.queryKey = $t(s, s.query), s;\n};\nfunction Mt(e, t) {\n var r = /\\/{2,9}/g, n = t.replace(r, \"/\").split(\"/\");\n return (t.substr(0, 1) == \"/\" || t.length === 0) && n.splice(0, 1), t.substr(t.length - 1, 1) == \"/\" && n.splice(n.length - 1, 1), n;\n}\nfunction $t(e, t) {\n var r = {};\n return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function(n, i, o) {\n i && (r[i] = o);\n }), r;\n}\nvar Ie = { exports: {} }, Re = { exports: {} }, ie = 1e3, oe = ie * 60, se = oe * 60, ae = se * 24, Ht = ae * 365.25, Xt = function(e, t) {\n t = t || {};\n var r = typeof e;\n if (r === \"string\" && e.length > 0)\n return Wt(e);\n if (r === \"number\" && isNaN(e) === !1)\n return t.long ? jt(e) : zt(e);\n throw new Error(\n \"val is not a non-empty string or a valid number. val=\" + JSON.stringify(e)\n );\n};\nfunction Wt(e) {\n if (e = String(e), !(e.length > 100)) {\n var t = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n e\n );\n if (t) {\n var r = parseFloat(t[1]), n = (t[2] || \"ms\").toLowerCase();\n switch (n) {\n case \"years\":\n case \"year\":\n case \"yrs\":\n case \"yr\":\n case \"y\":\n return r * Ht;\n case \"days\":\n case \"day\":\n case \"d\":\n return r * ae;\n case \"hours\":\n case \"hour\":\n case \"hrs\":\n case \"hr\":\n case \"h\":\n return r * se;\n case \"minutes\":\n case \"minute\":\n case \"mins\":\n case \"min\":\n case \"m\":\n return r * oe;\n case \"seconds\":\n case \"second\":\n case \"secs\":\n case \"sec\":\n case \"s\":\n return r * ie;\n case \"milliseconds\":\n case \"millisecond\":\n case \"msecs\":\n case \"msec\":\n case \"ms\":\n return r;\n default:\n return;\n }\n }\n }\n}\nfunction zt(e) {\n return e >= ae ? Math.round(e / ae) + \"d\" : e >= se ? Math.round(e / se) + \"h\" : e >= oe ? Math.round(e / oe) + \"m\" : e >= ie ? Math.round(e / ie) + \"s\" : e + \"ms\";\n}\nfunction jt(e) {\n return ce(e, ae, \"day\") || ce(e, se, \"hour\") || ce(e, oe, \"minute\") || ce(e, ie, \"second\") || e + \" ms\";\n}\nfunction ce(e, t, r) {\n if (!(e < t))\n return e < t * 1.5 ? Math.floor(e / t) + \" \" + r : Math.ceil(e / t) + \" \" + r + \"s\";\n}\n(function(e, t) {\n t = e.exports = n.debug = n.default = n, t.coerce = h, t.disable = s, t.enable = o, t.enabled = f, t.humanize = Xt, t.instances = [], t.names = [], t.skips = [], t.formatters = {};\n function r(u) {\n var p = 0, d;\n for (d in u)\n p = (p << 5) - p + u.charCodeAt(d), p |= 0;\n return t.colors[Math.abs(p) % t.colors.length];\n }\n function n(u) {\n var p;\n function d() {\n if (d.enabled) {\n var y = d, a = +/* @__PURE__ */ new Date(), N = a - (p || a);\n y.diff = N, y.prev = p, y.curr = a, p = a;\n for (var k = new Array(arguments.length), l = 0; l < k.length; l++)\n k[l] = arguments[l];\n k[0] = t.coerce(k[0]), typeof k[0] != \"string\" && k.unshift(\"%O\");\n var b = 0;\n k[0] = k[0].replace(/%([a-zA-Z%])/g, function(_, c) {\n if (_ === \"%%\")\n return _;\n b++;\n var g = t.formatters[c];\n if (typeof g == \"function\") {\n var v = k[b];\n _ = g.call(y, v), k.splice(b, 1), b--;\n }\n return _;\n }), t.formatArgs.call(y, k);\n var I = d.log || t.log || console.log.bind(console);\n I.apply(y, k);\n }\n }\n return d.namespace = u, d.enabled = t.enabled(u), d.useColors = t.useColors(), d.color = r(u), d.destroy = i, typeof t.init == \"function\" && t.init(d), t.instances.push(d), d;\n }\n function i() {\n var u = t.instances.indexOf(this);\n return u !== -1 ? (t.instances.splice(u, 1), !0) : !1;\n }\n function o(u) {\n t.save(u), t.names = [], t.skips = [];\n var p, d = (typeof u == \"string\" ? u : \"\").split(/[\\s,]+/), y = d.length;\n for (p = 0; p < y; p++)\n d[p] && (u = d[p].replace(/\\*/g, \".*?\"), u[0] === \"-\" ? t.skips.push(new RegExp(\"^\" + u.substr(1) + \"$\")) : t.names.push(new RegExp(\"^\" + u + \"$\")));\n for (p = 0; p < t.instances.length; p++) {\n var a = t.instances[p];\n a.enabled = t.enabled(a.namespace);\n }\n }\n function s() {\n t.enable(\"\");\n }\n function f(u) {\n if (u[u.length - 1] === \"*\")\n return !0;\n var p, d;\n for (p = 0, d = t.skips.length; p < d; p++)\n if (t.skips[p].test(u))\n return !1;\n for (p = 0, d = t.names.length; p < d; p++)\n if (t.names[p].test(u))\n return !0;\n return !1;\n }\n function h(u) {\n return u instanceof Error ? u.stack || u.message : u;\n }\n})(Re, Re.exports);\nvar Jt = Re.exports;\n(function(e, t) {\n t = e.exports = Jt, t.log = i, t.formatArgs = n, t.save = o, t.load = s, t.useColors = r, t.storage = typeof chrome < \"u\" && typeof chrome.storage < \"u\" ? chrome.storage.local : f(), t.colors = [\n \"#0000CC\",\n \"#0000FF\",\n \"#0033CC\",\n \"#0033FF\",\n \"#0066CC\",\n \"#0066FF\",\n \"#0099CC\",\n \"#0099FF\",\n \"#00CC00\",\n \"#00CC33\",\n \"#00CC66\",\n \"#00CC99\",\n \"#00CCCC\",\n \"#00CCFF\",\n \"#3300CC\",\n \"#3300FF\",\n \"#3333CC\",\n \"#3333FF\",\n \"#3366CC\",\n \"#3366FF\",\n \"#3399CC\",\n \"#3399FF\",\n \"#33CC00\",\n \"#33CC33\",\n \"#33CC66\",\n \"#33CC99\",\n \"#33CCCC\",\n \"#33CCFF\",\n \"#6600CC\",\n \"#6600FF\",\n \"#6633CC\",\n \"#6633FF\",\n \"#66CC00\",\n \"#66CC33\",\n \"#9900CC\",\n \"#9900FF\",\n \"#9933CC\",\n \"#9933FF\",\n \"#99CC00\",\n \"#99CC33\",\n \"#CC0000\",\n \"#CC0033\",\n \"#CC0066\",\n \"#CC0099\",\n \"#CC00CC\",\n \"#CC00FF\",\n \"#CC3300\",\n \"#CC3333\",\n \"#CC3366\",\n \"#CC3399\",\n \"#CC33CC\",\n \"#CC33FF\",\n \"#CC6600\",\n \"#CC6633\",\n \"#CC9900\",\n \"#CC9933\",\n \"#CCCC00\",\n \"#CCCC33\",\n \"#FF0000\",\n \"#FF0033\",\n \"#FF0066\",\n \"#FF0099\",\n \"#FF00CC\",\n \"#FF00FF\",\n \"#FF3300\",\n \"#FF3333\",\n \"#FF3366\",\n \"#FF3399\",\n \"#FF33CC\",\n \"#FF33FF\",\n \"#FF6600\",\n \"#FF6633\",\n \"#FF9900\",\n \"#FF9933\",\n \"#FFCC00\",\n \"#FFCC33\"\n ];\n function r() {\n return typeof window < \"u\" && window.process && window.process.type === \"renderer\" ? !0 : typeof navigator < \"u\" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/) ? !1 : typeof document < \"u\" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // is firebug? http://stackoverflow.com/a/398120/376773\n typeof window < \"u\" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n typeof navigator < \"u\" && 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\n typeof navigator < \"u\" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/);\n }\n t.formatters.j = function(h) {\n try {\n return JSON.stringify(h);\n } catch (u) {\n return \"[UnexpectedJSONParseError]: \" + u.message;\n }\n };\n function n(h) {\n var u = this.useColors;\n if (h[0] = (u ? \"%c\" : \"\") + this.namespace + (u ? \" %c\" : \" \") + h[0] + (u ? \"%c \" : \" \") + \"+\" + t.humanize(this.diff), !!u) {\n var p = \"color: \" + this.color;\n h.splice(1, 0, p, \"color: inherit\");\n var d = 0, y = 0;\n h[0].replace(/%[a-zA-Z%]/g, function(a) {\n a !== \"%%\" && (d++, a === \"%c\" && (y = d));\n }), h.splice(y, 0, p);\n }\n }\n function i() {\n return typeof console == \"object\" && console.log && Function.prototype.apply.call(console.log, console, arguments);\n }\n function o(h) {\n try {\n h == null ? t.storage.removeItem(\"debug\") : t.storage.debug = h;\n } catch {\n }\n }\n function s() {\n var h;\n try {\n h = t.storage.debug;\n } catch {\n }\n return !h && typeof process < \"u\" && \"env\" in process && (h = process.env.DEBUG), h;\n }\n t.enable(s());\n function f() {\n try {\n return window.localStorage;\n } catch {\n }\n }\n})(Ie, Ie.exports);\nvar X = Ie.exports, Vt = lt, Ve = X(\"socket.io-client:url\"), Gt = Kt;\nfunction Kt(e, t) {\n var r = e;\n t = t || typeof location < \"u\" && location, e == null && (e = t.protocol + \"//\" + t.host), typeof e == \"string\" && (e.charAt(0) === \"/\" && (e.charAt(1) === \"/\" ? e = t.protocol + e : e = t.host + e), /^(https?|wss?):\\/\\//.test(e) || (Ve(\"protocol-less url %s\", e), typeof t < \"u\" ? e = t.protocol + \"//\" + e : e = \"https://\" + e), Ve(\"parse %s\", e), r = Vt(e)), r.port || (/^(http|ws)$/.test(r.protocol) ? r.port = \"80\" : /^(http|ws)s$/.test(r.protocol) && (r.port = \"443\")), r.path = r.path || \"/\";\n var n = r.host.indexOf(\":\") !== -1, i = n ? \"[\" + r.host + \"]\" : r.host;\n return r.id = r.protocol + \"://\" + i + \":\" + r.port, r.href = r.protocol + \"://\" + i + (t && t.port === r.port ? \"\" : \":\" + r.port), r;\n}\nvar ve = {}, pt = { exports: {} };\n(function(e) {\n e.exports = t;\n function t(n) {\n if (n)\n return r(n);\n }\n function r(n) {\n for (var i in t.prototype)\n n[i] = t.prototype[i];\n return n;\n }\n t.prototype.on = t.prototype.addEventListener = function(n, i) {\n return this._callbacks = this._callbacks || {}, (this._callbacks[\"$\" + n] = this._callbacks[\"$\" + n] || []).push(i), this;\n }, t.prototype.once = function(n, i) {\n function o() {\n this.off(n, o), i.apply(this, arguments);\n }\n return o.fn = i, this.on(n, o), this;\n }, t.prototype.off = t.prototype.removeListener = t.prototype.removeAllListeners = t.prototype.removeEventListener = function(n, i) {\n if (this._callbacks = this._callbacks || {}, arguments.length == 0)\n return this._callbacks = {}, this;\n var o = this._callbacks[\"$\" + n];\n if (!o)\n return this;\n if (arguments.length == 1)\n return delete this._callbacks[\"$\" + n], this;\n for (var s, f = 0; f < o.length; f++)\n if (s = o[f], s === i || s.fn === i) {\n o.splice(f, 1);\n break;\n }\n return o.length === 0 && delete this._callbacks[\"$\" + n], this;\n }, t.prototype.emit = function(n) {\n this._callbacks = this._callbacks || {};\n for (var i = new Array(arguments.length - 1), o = this._callbacks[\"$\" + n], s = 1; s < arguments.length; s++)\n i[s - 1] = arguments[s];\n if (o) {\n o = o.slice(0);\n for (var s = 0, f = o.length; s < f; ++s)\n o[s].apply(this, i);\n }\n return this;\n }, t.prototype.listeners = function(n) {\n return this._callbacks = this._callbacks || {}, this._callbacks[\"$\" + n] || [];\n }, t.prototype.hasListeners = function(n) {\n return !!this.listeners(n).length;\n };\n})(pt);\nvar ee = pt.exports, me = {}, Yt = {}.toString, _e = Array.isArray || function(e) {\n return Yt.call(e) == \"[object Array]\";\n}, dt = tr, Qt = typeof Buffer == \"function\" && typeof Buffer.isBuffer == \"function\", Zt = typeof ArrayBuffer == \"function\", er = function(e) {\n return typeof ArrayBuffer.isView == \"function\" ? ArrayBuffer.isView(e) : e.buffer instanceof ArrayBuffer;\n};\nfunction tr(e) {\n return Qt && Buffer.isBuffer(e) || Zt && (e instanceof ArrayBuffer || er(e));\n}\nvar Ue = _e, yt = dt, gt = Object.prototype.toString, rr = typeof Blob == \"function\" || typeof Blob < \"u\" && gt.call(Blob) === \"[object BlobConstructor]\", nr = typeof File == \"function\" || typeof File < \"u\" && gt.call(File) === \"[object FileConstructor]\";\nme.deconstructPacket = function(e) {\n var t = [], r = e.data, n = e;\n return n.data = xe(r, t), n.attachments = t.length, { packet: n, buffers: t };\n};\nfunction xe(e, t) {\n if (!e)\n return e;\n if (yt(e)) {\n var r = { _placeholder: !0, num: t.length };\n return t.push(e), r;\n } else if (Ue(e)) {\n for (var n = new Array(e.length), i = 0; i < e.length; i++)\n n[i] = xe(e[i], t);\n return n;\n } else if (typeof e == \"object\" && !(e instanceof Date)) {\n var n = {};\n for (var o in e)\n n[o] = xe(e[o], t);\n return n;\n }\n return e;\n}\nme.reconstructPacket = function(e, t) {\n return e.data = Te(e.data, t), e.attachments = void 0, e;\n};\nfunction Te(e, t) {\n if (!e)\n return e;\n if (e && e._placeholder === !0) {\n var r = typeof e.num == \"number\" && e.num >= 0 && e.num < t.length;\n if (r)\n return t[e.num];\n throw new Error(\"illegal attachments\");\n } else if (Ue(e))\n for (var n = 0; n < e.length; n++)\n e[n] = Te(e[n], t);\n else if (typeof e == \"object\")\n for (var i in e)\n e[i] = Te(e[i], t);\n return e;\n}\nme.removeBlobs = function(e, t) {\n function r(o, s, f) {\n if (!o)\n return o;\n if (rr && o instanceof Blob || nr && o instanceof File) {\n n++;\n var h = new FileReader();\n h.onload = function() {\n f ? f[s] = this.result : i = this.result, --n || t(i);\n }, h.readAsArrayBuffer(o);\n } else if (Ue(o))\n for (var u = 0; u < o.length; u++)\n r(o[u], u, o);\n else if (typeof o == \"object\" && !yt(o))\n for (var p in o)\n r(o[p], p, o);\n }\n var n = 0, i = e;\n r(i), n || t(i);\n};\n(function(e) {\n var t = X(\"socket.io-parser\"), r = ee, n = me, i = _e, o = dt;\n e.protocol = 4, e.types = [\n \"CONNECT\",\n \"DISCONNECT\",\n \"EVENT\",\n \"ACK\",\n \"ERROR\",\n \"BINARY_EVENT\",\n \"BINARY_ACK\"\n ], e.CONNECT = 0, e.DISCONNECT = 1, e.EVENT = 2, e.ACK = 3, e.ERROR = 4, e.BINARY_EVENT = 5, e.BINARY_ACK = 6, e.Encoder = s, e.Decoder = d;\n function s() {\n }\n var f = e.ERROR + '\"encode error\"';\n s.prototype.encode = function(l, b) {\n if (t(\"encoding packet %j\", l), e.BINARY_EVENT === l.type || e.BINARY_ACK === l.type)\n p(l, b);\n else {\n var I = h(l);\n b([I]);\n }\n };\n function h(l) {\n var b = \"\" + l.type;\n if ((e.BINARY_EVENT === l.type || e.BINARY_ACK === l.type) && (b += l.attachments + \"-\"), l.nsp && l.nsp !== \"/\" && (b += l.nsp + \",\"), l.id != null && (b += l.id), l.data != null) {\n var I = u(l.data);\n if (I !== !1)\n b += I;\n else\n return f;\n }\n return t(\"encoded %j as %s\", l, b), b;\n }\n function u(l) {\n try {\n return JSON.stringify(l);\n } catch {\n return !1;\n }\n }\n function p(l, b) {\n function I(_) {\n var c = n.deconstructPacket(_), g = h(c.packet), v = c.buffers;\n v.unshift(g), b(v);\n }\n n.removeBlobs(l, I);\n }\n function d() {\n this.reconstructor = null;\n }\n r(d.prototype), d.prototype.add = function(l) {\n var b;\n if (typeof l == \"string\") {\n if (this.reconstructor)\n throw new Error(\"got plaintext data when reconstructing a packet\");\n b = y(l), e.BINARY_EVENT === b.type || e.BINARY_ACK === b.type ? (this.reconstructor = new N(b), this.reconstructor.reconPack.attachments === 0 && this.emit(\"decoded\", b)) : this.emit(\"decoded\", b);\n } else if (o(l) || l.base64)\n if (this.reconstructor)\n b = this.reconstructor.takeBinaryData(l), b && (this.reconstructor = null, this.emit(\"decoded\", b));\n else\n throw new Error(\"got binary data when not reconstructing a packet\");\n else\n throw new Error(\"Unknown type: \" + l);\n };\n function y(l) {\n var b = 0, I = {\n type: Number(l.charAt(0))\n };\n if (e.types[I.type] == null)\n return k(\"unknown packet type \" + I.type);\n if (e.BINARY_EVENT === I.type || e.BINARY_ACK === I.type) {\n for (var _ = b + 1; l.charAt(++b) !== \"-\" && b != l.length; )\n ;\n var c = l.substring(_, b);\n if (c != Number(c) || l.charAt(b) !== \"-\")\n throw new Error(\"Illegal attachments\");\n I.attachments = Number(c);\n }\n if (l.charAt(b + 1) === \"/\") {\n for (var _ = b + 1; ++b; ) {\n var g = l.charAt(b);\n if (g === \",\" || b === l.length)\n break;\n }\n I.nsp = l.substring(_, b);\n } else\n I.nsp = \"/\";\n var v = l.charAt(b + 1);\n if (v !== \"\" && Number(v) == v) {\n for (var _ = b + 1; ++b; ) {\n var g = l.charAt(b);\n if (g == null || Number(g) != g) {\n --b;\n break;\n }\n if (b === l.length)\n break;\n }\n I.id = Number(l.substring(_, b + 1));\n }\n if (l.charAt(++b)) {\n var m = a(l.substr(b)), w = m !== !1 && (I.type === e.ERROR || i(m));\n if (w)\n I.data = m;\n else\n return k(\"invalid payload\");\n }\n return t(\"decoded %s as %j\", l, I), I;\n }\n function a(l) {\n try {\n return JSON.parse(l);\n } catch {\n return !1;\n }\n }\n d.prototype.destroy = function() {\n this.reconstructor && this.reconstructor.finishedReconstruction();\n };\n function N(l) {\n this.reconPack = l, this.buffers = [];\n }\n N.prototype.takeBinaryData = function(l) {\n if (this.buffers.push(l), this.buffers.length === this.reconPack.attachments) {\n var b = n.reconstructPacket(this.reconPack, this.buffers);\n return this.finishedReconstruction(), b;\n }\n return null;\n }, N.prototype.finishedReconstruction = function() {\n this.reconPack = null, this.buffers = [];\n };\n function k(l) {\n return {\n type: e.ERROR,\n data: \"parser error: \" + l\n };\n }\n})(ve);\nvar Le = { exports: {} }, be = {}, De = { exports: {} };\ntry {\n De.exports = typeof XMLHttpRequest < \"u\" && \"withCredentials\" in new XMLHttpRequest();\n} catch {\n De.exports = !1;\n}\nvar ir = De.exports, Me = function() {\n return typeof self < \"u\" ? self : typeof window < \"u\" ? window : Function(\"return this\")();\n}(), or = ir, sr = Me, $e = function(e) {\n var t = e.xdomain, r = e.xscheme, n = e.enablesXDR;\n try {\n if (typeof XMLHttpRequest < \"u\" && (!t || or))\n return new XMLHttpRequest();\n } catch {\n }\n try {\n if (typeof XDomainRequest < \"u\" && !r && n)\n return new XDomainRequest();\n } catch {\n }\n if (!t)\n try {\n return new sr[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n } catch {\n }\n}, He = { exports: {} }, K = {}, ar = Object.keys || function(t) {\n var r = [], n = Object.prototype.hasOwnProperty;\n for (var i in t)\n n.call(t, i) && r.push(i);\n return r;\n}, Ae, Ge;\nfunction vt() {\n if (Ge)\n return Ae;\n Ge = 1;\n var e = _e, t = Object.prototype.toString, r = typeof Blob == \"function\" || typeof Blob < \"u\" && t.call(Blob) === \"[object BlobConstructor]\", n = typeof File == \"function\" || typeof File < \"u\" && t.call(File) === \"[object FileConstructor]\";\n Ae = i;\n function i(o) {\n if (!o || typeof o != \"object\")\n return !1;\n if (e(o)) {\n for (var s = 0, f = o.length; s < f; s++)\n if (i(o[s]))\n return !0;\n return !1;\n }\n if (typeof Buffer == \"function\" && Buffer.isBuffer && Buffer.isBuffer(o) || typeof ArrayBuffer == \"function\" && o instanceof ArrayBuffer || r && o instanceof Blob || n && o instanceof File)\n return !0;\n if (o.toJSON && typeof o.toJSON == \"function\" && arguments.length === 1)\n return i(o.toJSON(), !0);\n for (var h in o)\n if (Object.prototype.hasOwnProperty.call(o, h) && i(o[h]))\n return !0;\n return !1;\n }\n return Ae;\n}\nvar cr = function(e, t, r) {\n var n = e.byteLength;\n if (t = t || 0, r = r || n, e.slice)\n return e.slice(t, r);\n if (t < 0 && (t += n), r < 0 && (r += n), r > n && (r = n), t >= n || t >= r || n === 0)\n return new ArrayBuffer(0);\n for (var i = new Uint8Array(e), o = new Uint8Array(r - t), s = t, f = 0; s < r; s++, f++)\n o[f] = i[s];\n return o.buffer;\n}, ur = fr;\nfunction fr(e, t, r) {\n var n = !1;\n return r = r || hr, i.count = e, e === 0 ? t() : i;\n function i(o, s) {\n if (i.count <= 0)\n throw new Error(\"after called too many times\");\n --i.count, o ? (n = !0, t(o), t = r) : i.count === 0 && !n && t(null, s);\n }\n}\nfunction hr() {\n}\n/*! https://mths.be/utf8js v2.1.2 by @mathias */\nvar z = String.fromCharCode;\nfunction mt(e) {\n for (var t = [], r = 0, n = e.length, i, o; r < n; )\n i = e.charCodeAt(r++), i >= 55296 && i <= 56319 && r < n ? (o = e.charCodeAt(r++), (o & 64512) == 56320 ? t.push(((i & 1023) << 10) + (o & 1023) + 65536) : (t.push(i), r--)) : t.push(i);\n return t;\n}\nfunction lr(e) {\n for (var t = e.length, r = -1, n, i = \"\"; ++r < t; )\n n = e[r], n > 65535 && (n -= 65536, i += z(n >>> 10 & 1023 | 55296), n = 56320 | n & 1023), i += z(n);\n return i;\n}\nfunction bt(e, t) {\n if (e >= 55296 && e <= 57343) {\n if (t)\n throw Error(\n \"Lone surrogate U+\" + e.toString(16).toUpperCase() + \" is not a scalar value\"\n );\n return !1;\n }\n return !0;\n}\nfunction Ee(e, t) {\n return z(e >> t & 63 | 128);\n}\nfunction pr(e, t) {\n if (!(e & 4294967168))\n return z(e);\n var r = \"\";\n return e & 4294965248 ? e & 4294901760 ? e & 4292870144 || (r = z(e >> 18 & 7 | 240), r += Ee(e, 12), r += Ee(e, 6)) : (bt(e, t) || (e = 65533), r = z(e >> 12 & 15 | 224), r += Ee(e, 6)) : r = z(e >> 6 & 31 | 192), r += z(e & 63 | 128), r;\n}\nfunction dr(e, t) {\n t = t || {};\n for (var r = t.strict !== !1, n = mt(e), i = n.length, o = -1, s, f = \"\"; ++o < i; )\n s = n[o], f += pr(s, r);\n return f;\n}\nfunction Y() {\n if (j >= de)\n throw Error(\"Invalid byte index\");\n var e = pe[j] & 255;\n if (j++, (e & 192) == 128)\n return e & 63;\n throw Error(\"Invalid continuation byte\");\n}\nfunction yr(e) {\n var t, r, n, i, o;\n if (j > de)\n throw Error(\"Invalid byte index\");\n if (j == de)\n return !1;\n if (t = pe[j] & 255, j++, !(t & 128))\n return t;\n if ((t & 224) == 192) {\n if (r = Y(), o = (t & 31) << 6 | r, o >= 128)\n return o;\n throw Error(\"Invalid continuation byte\");\n }\n if ((t & 240) == 224) {\n if (r = Y(), n = Y(), o = (t & 15) << 12 | r << 6 | n, o >= 2048)\n return bt(o, e) ? o : 65533;\n throw Error(\"Invalid continuation byte\");\n }\n if ((t & 248) == 240 && (r = Y(), n = Y(), i = Y(), o = (t & 7) << 18 | r << 12 | n << 6 | i, o >= 65536 && o <= 1114111))\n return o;\n throw Error(\"Invalid UTF-8 detected\");\n}\nvar pe, de, j;\nfunction gr(e, t) {\n t = t || {};\n var r = t.strict !== !1;\n pe = mt(e), de = pe.length, j = 0;\n for (var n = [], i; (i = yr(r)) !== !1; )\n n.push(i);\n return lr(n);\n}\nvar vr = {\n version: \"2.1.2\",\n encode: dr,\n decode: gr\n}, ue = {}, Ke;\nfunction mr() {\n return Ke || (Ke = 1, function(e) {\n ue.encode = function(t) {\n var r = new Uint8Array(t), n, i = r.length, o = \"\";\n for (n = 0; n < i; n += 3)\n o += e[r[n] >> 2], o += e[(r[n] & 3) << 4 | r[n + 1] >> 4], o += e[(r[n + 1] & 15) << 2 | r[n + 2] >> 6], o += e[r[n + 2] & 63];\n return i % 3 === 2 ? o = o.substring(0, o.length - 1) + \"=\" : i % 3 === 1 && (o = o.substring(0, o.length - 2) + \"==\"), o;\n }, ue.decode = function(t) {\n var r = t.length * 0.75, n = t.length, i, o = 0, s, f, h, u;\n t[t.length - 1] === \"=\" && (r--, t[t.length - 2] === \"=\" && r--);\n var p = new ArrayBuffer(r), d = new Uint8Array(p);\n for (i = 0; i < n; i += 4)\n s = e.indexOf(t[i]), f = e.indexOf(t[i + 1]), h = e.indexOf(t[i + 2]), u = e.indexOf(t[i + 3]), d[o++] = s << 2 | f >> 4, d[o++] = (f & 15) << 4 | h >> 2, d[o++] = (h & 3) << 6 | u & 63;\n return p;\n };\n }(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\")), ue;\n}\nvar Be, Ye;\nfunction br() {\n if (Ye)\n return Be;\n Ye = 1;\n var e = typeof e < \"u\" ? e : typeof WebKitBlobBuilder < \"u\" ? WebKitBlobBuilder : typeof MSBlobBuilder < \"u\" ? MSBlobBuilder : typeof MozBlobBuilder < \"u\" ? MozBlobBuilder : !1, t = function() {\n try {\n var f = new Blob([\"hi\"]);\n return f.size === 2;\n } catch {\n return !1;\n }\n }(), r = t && function() {\n try {\n var f = new Blob([new Uint8Array([1, 2])]);\n return f.size === 2;\n } catch {\n return !1;\n }\n }(), n = e && e.prototype.append && e.prototype.getBlob;\n function i(f) {\n return f.map(function(h) {\n if (h.buffer instanceof ArrayBuffer) {\n var u = h.buffer;\n if (h.byteLength !== u.byteLength) {\n var p = new Uint8Array(h.byteLength);\n p.set(new Uint8Array(u, h.byteOffset, h.byteLength)), u = p.buffer;\n }\n return u;\n }\n return h;\n });\n }\n function o(f, h) {\n h = h || {};\n var u = new e();\n return i(f).forEach(function(p) {\n u.append(p);\n }), h.type ? u.getBlob(h.type) : u.getBlob();\n }\n function s(f, h) {\n return new Blob(i(f), h || {});\n }\n return typeof Blob < \"u\" && (o.prototype = Blob.prototype, s.prototype = Blob.prototype), Be = /* @__PURE__ */ function() {\n return t ? r ? Blob : s : n ? o : void 0;\n }(), Be;\n}\n(function(e) {\n var t = ar, r = vt(), n = cr, i = ur, o = vr, s;\n typeof ArrayBuffer < \"u\" && (s = mr());\n var f = typeof navigator < \"u\" && /Android/i.test(navigator.userAgent), h = typeof navigator < \"u\" && /PhantomJS/i.test(navigator.userAgent), u = f || h;\n e.protocol = 3;\n var p = e.packets = {\n open: 0,\n close: 1,\n ping: 2,\n pong: 3,\n message: 4,\n upgrade: 5,\n noop: 6\n }, d = t(p), y = { type: \"error\", data: \"parser error\" }, a = br();\n e.encodePacket = function(c, g, v, m) {\n typeof g == \"function\" && (m = g, g = !1), typeof v == \"function\" && (m = v, v = null);\n var w = c.data === void 0 ? void 0 : c.data.buffer || c.data;\n if (typeof ArrayBuffer < \"u\" && w instanceof ArrayBuffer)\n return k(c, g, m);\n if (typeof a < \"u\" && w instanceof a)\n return b(c, g, m);\n if (w && w.base64)\n return N(c, m);\n var C = p[c.type];\n return c.data !== void 0 && (C += v ? o.encode(String(c.data), { strict: !1 }) : String(c.data)), m(\"\" + C);\n };\n function N(c, g) {\n var v = \"b\" + e.packets[c.type] + c.data.data;\n return g(v);\n }\n function k(c, g, v) {\n if (!g)\n return e.encodeBase64Packet(c, v);\n var m = c.data, w = new Uint8Array(m), C = new Uint8Array(1 + m.byteLength);\n C[0] = p[c.type];\n for (var A = 0; A < w.length; A++)\n C[A + 1] = w[A];\n return v(C.buffer);\n }\n function l(c, g, v) {\n if (!g)\n return e.encodeBase64Packet(c, v);\n var m = new FileReader();\n return m.onload = function() {\n e.encodePacket({ type: c.type, data: m.result }, g, !0, v);\n }, m.readAsArrayBuffer(c.data);\n }\n function b(c, g, v) {\n if (!g)\n return e.encodeBase64Packet(c, v);\n if (u)\n return l(c, g, v);\n var m = new Uint8Array(1);\n m[0] = p[c.type];\n var w = new a([m.buffer, c.data]);\n return v(w);\n }\n e.encodeBase64Packet = function(c, g) {\n var v = \"b\" + e.packets[c.type];\n if (typeof a < \"u\" && c.data instanceof a) {\n var m = new FileReader();\n return m.onload = function() {\n var E = m.result.split(\",\")[1];\n g(v + E);\n }, m.readAsDataURL(c.data);\n }\n var w;\n try {\n w = String.fromCharCode.apply(null, new Uint8Array(c.data));\n } catch {\n for (var C = new Uint8Array(c.data), A = new Array(C.length), S = 0; S < C.length; S++)\n A[S] = C[S];\n w = String.fromCharCode.apply(null, A);\n }\n return v += btoa(w), g(v);\n }, e.decodePacket = function(c, g, v) {\n if (c === void 0)\n return y;\n if (typeof c == \"string\") {\n if (c.charAt(0) === \"b\")\n return e.decodeBase64Packet(c.substr(1), g);\n if (v && (c = I(c), c === !1))\n return y;\n var w = c.charAt(0);\n return Number(w) != w || !d[w] ? y : c.length > 1 ? { type: d[w], data: c.substring(1) } : { type: d[w] };\n }\n var m = new Uint8Array(c), w = m[0], C = n(c, 1);\n return a && g === \"blob\" && (C = new a([C])), { type: d[w], data: C };\n };\n function I(c) {\n try {\n c = o.decode(c, { strict: !1 });\n } catch {\n return !1;\n }\n return c;\n }\n e.decodeBase64Packet = function(c, g) {\n var v = d[c.charAt(0)];\n if (!s)\n return { type: v, data: { base64: !0, data: c.substr(1) } };\n var m = s.decode(c.substr(1));\n return g === \"blob\" && a && (m = new a([m])), { type: v, data: m };\n }, e.encodePayload = function(c, g, v) {\n typeof g == \"function\" && (v = g, g = null);\n var m = r(c);\n if (g && m)\n return a && !u ? e.encodePayloadAsBlob(c, v) : e.encodePayloadAsArrayBuffer(c, v);\n if (!c.length)\n return v(\"0:\");\n function w(A) {\n return A.length + \":\" + A;\n }\n function C(A, S) {\n e.encodePacket(A, m ? g : !1, !1, function(E) {\n S(null, w(E));\n });\n }\n _(c, C, function(A, S) {\n return v(S.join(\"\"));\n });\n };\n function _(c, g, v) {\n for (var m = new Array(c.length), w = i(c.length, v), C = function(S, E, R) {\n g(E, function(x, T) {\n m[S] = T, R(x, m);\n });\n }, A = 0; A < c.length; A++)\n C(A, c[A], w);\n }\n e.decodePayload = function(c, g, v) {\n if (typeof c != \"string\")\n return e.decodePayloadAsBinary(c, g, v);\n typeof g == \"function\" && (v = g, g = null);\n var m;\n if (c === \"\")\n return v(y, 0, 1);\n for (var w = \"\", C, A, S = 0, E = c.length; S < E; S++) {\n var R = c.charAt(S);\n if (R !== \":\") {\n w += R;\n continue;\n }\n if (w === \"\" || w != (C = Number(w)) || (A = c.substr(S + 1, C), w != A.length))\n return v(y, 0, 1);\n if (A.length) {\n if (m = e.decodePacket(A, g, !1), y.type === m.type && y.data === m.data)\n return v(y, 0, 1);\n var x = v(m, S + C, E);\n if (x === !1)\n return;\n }\n S += C, w = \"\";\n }\n if (w !== \"\")\n return v(y, 0, 1);\n }, e.encodePayloadAsArrayBuffer = function(c, g) {\n if (!c.length)\n return g(new ArrayBuffer(0));\n function v(m, w) {\n e.encodePacket(m, !0, !0, function(C) {\n return w(null, C);\n });\n }\n _(c, v, function(m, w) {\n var C = w.reduce(function(E, R) {\n var x;\n return typeof R == \"string\" ? x = R.length : x = R.byteLength, E + x.toString().length + x + 2;\n }, 0), A = new Uint8Array(C), S = 0;\n return w.forEach(function(E) {\n var R = typeof E == \"string\", x = E;\n if (R) {\n for (var G = new Uint8Array(E.length), T = 0; T < E.length; T++)\n G[T] = E.charCodeAt(T);\n x = G.buffer;\n }\n R ? A[S++] = 0 : A[S++] = 1;\n for (var V = x.byteLength.toString(), T = 0; T < V.length; T++)\n A[S++] = parseInt(V[T]);\n A[S++] = 255;\n for (var G = new Uint8Array(x), T = 0; T < G.length; T++)\n A[S++] = G[T];\n }), g(A.buffer);\n });\n }, e.encodePayloadAsBlob = function(c, g) {\n function v(m, w) {\n e.encodePacket(m, !0, !0, function(C) {\n var A = new Uint8Array(1);\n if (A[0] = 1, typeof C == \"string\") {\n for (var S = new Uint8Array(C.length), E = 0; E < C.length; E++)\n S[E] = C.charCodeAt(E);\n C = S.buffer, A[0] = 0;\n }\n for (var R = C instanceof ArrayBuffer ? C.byteLength : C.size, x = R.toString(), T = new Uint8Array(x.length + 1), E = 0; E < x.length; E++)\n T[E] = parseInt(x[E]);\n if (T[x.length] = 255, a) {\n var V = new a([A.buffer, T.buffer, C]);\n w(null, V);\n }\n });\n }\n _(c, v, function(m, w) {\n return g(new a(w));\n });\n }, e.decodePayloadAsBinary = function(c, g, v) {\n typeof g == \"function\" && (v = g, g = null);\n for (var m = c, w = []; m.byteLength > 0; ) {\n for (var C = new Uint8Array(m), A = C[0] === 0, S = \"\", E = 1; C[E] !== 255; E++) {\n if (S.length > 310)\n return v(y, 0, 1);\n S += C[E];\n }\n m = n(m, 2 + S.length), S = parseInt(S);\n var R = n(m, 0, S);\n if (A)\n try {\n R = String.fromCharCode.apply(null, new Uint8Array(R));\n } catch {\n var x = new Uint8Array(R);\n R = \"\";\n for (var E = 0; E < x.length; E++)\n R += String.fromCharCode(x[E]);\n }\n w.push(R), m = n(m, S);\n }\n var T = w.length;\n w.forEach(function(V, G) {\n v(e.decodePacket(V, g, !0), G, T);\n });\n };\n})(K);\nvar ke, Qe;\nfunction Xe() {\n if (Qe)\n return ke;\n Qe = 1;\n var e = K, t = ee;\n ke = r;\n function r(n) {\n this.path = n.path, this.hostname = n.hostname, this.port = n.port, this.secure = n.secure, this.query = n.query, this.timestampParam = n.timestampParam, this.timestampRequests = n.timestampRequests, this.readyState = \"\", this.agent = n.agent || !1, this.socket = n.socket, this.enablesXDR = n.enablesXDR, this.withCredentials = n.withCredentials, this.pfx = n.pfx, this.key = n.key, this.passphrase = n.passphrase, this.cert = n.cert, this.ca = n.ca, this.ciphers = n.ciphers, this.rejectUnauthorized = n.rejectUnauthorized, this.forceNode = n.forceNode, this.isReactNative = n.isReactNative, this.extraHeaders = n.extraHeaders, this.localAddress = n.localAddress;\n }\n return t(r.prototype), r.prototype.onError = function(n, i) {\n var o = new Error(n);\n return o.type = \"TransportError\", o.description = i, this.emit(\"error\", o), this;\n }, r.prototype.open = function() {\n return (this.readyState === \"closed\" || this.readyState === \"\") && (this.readyState = \"opening\", this.doOpen()), this;\n }, r.prototype.close = function() {\n return (this.readyState === \"opening\" || this.readyState === \"open\") && (this.doClose(), this.onClose()), this;\n }, r.prototype.send = function(n) {\n if (this.readyState === \"open\")\n this.write(n);\n else\n throw new Error(\"Transport not open\");\n }, r.prototype.onOpen = function() {\n this.readyState = \"open\", this.writable = !0, this.emit(\"open\");\n }, r.prototype.onData = function(n) {\n var i = e.decodePacket(n, this.socket.binaryType);\n this.onPacket(i);\n }, r.prototype.onPacket = function(n) {\n this.emit(\"packet\", n);\n }, r.prototype.onClose = function() {\n this.readyState = \"closed\", this.emit(\"close\");\n }, ke;\n}\nvar fe = {}, Ze;\nfunction we() {\n return Ze || (Ze = 1, fe.encode = function(e) {\n var t = \"\";\n for (var r in e)\n e.hasOwnProperty(r) && (t.length && (t += \"&\"), t += encodeURIComponent(r) + \"=\" + encodeURIComponent(e[r]));\n return t;\n }, fe.decode = function(e) {\n for (var t = {}, r = e.split(\"&\"), n = 0, i = r.length; n < i; n++) {\n var o = r[n].split(\"=\");\n t[decodeURIComponent(o[0])] = decodeURIComponent(o[1]);\n }\n return t;\n }), fe;\n}\nvar Ce = function(e, t) {\n var r = function() {\n };\n r.prototype = t.prototype, e.prototype = new r(), e.prototype.constructor = e;\n}, wt = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\".split(\"\"), ye = 64, Ct = {}, et = 0, J = 0, tt;\nfunction qe(e) {\n var t = \"\";\n do\n t = wt[e % ye] + t, e = Math.floor(e / ye);\n while (e > 0);\n return t;\n}\nfunction wr(e) {\n var t = 0;\n for (J = 0; J < e.length; J++)\n t = t * ye + Ct[e.charAt(J)];\n return t;\n}\nfunction We() {\n var e = qe(+/* @__PURE__ */ new Date());\n return e !== tt ? (et = 0, tt = e) : e + \".\" + qe(et++);\n}\nfor (; J < ye; J++)\n Ct[wt[J]] = J;\nWe.encode = qe;\nWe.decode = wr;\nvar At = We, Et = Xe(), Cr = we(), Bt = K, Ar = Ce, Er = At, $ = X(\"engine.io-client:polling\"), kt = H, Br = function() {\n var e = $e, t = new e({ xdomain: !1 });\n return t.responseType != null;\n}();\nfunction H(e) {\n var t = e && e.forceBase64;\n (!Br || t) && (this.supportsBinary = !1), Et.call(this, e);\n}\nAr(H, Et);\nH.prototype.name = \"polling\";\nH.prototype.doOpen = function() {\n this.poll();\n};\nH.prototype.pause = function(e) {\n var t = this;\n this.readyState = \"pausing\";\n function r() {\n $(\"paused\"), t.readyState = \"paused\", e();\n }\n if (this.polling || !this.writable) {\n var n = 0;\n this.polling && ($(\"we are currently polling - waiting to pause\"), n++, this.once(\"pollComplete\", function() {\n $(\"pre-pause polling complete\"), --n || r();\n })), this.writable || ($(\"we are currently writing - waiting to pause\"), n++, this.once(\"drain\", function() {\n $(\"pre-pause writing complete\"), --n || r();\n }));\n } else\n r();\n};\nH.prototype.poll = function() {\n $(\"polling\"), this.polling = !0, this.doPoll(), this.emit(\"poll\");\n};\nH.prototype.onData = function(e) {\n var t = this;\n $(\"polling got data %s\", e);\n var r = function(n, i, o) {\n if (t.readyState === \"opening\" && n.type === \"open\" && t.onOpen(), n.type === \"close\")\n return t.onClose(), !1;\n t.onPacket(n);\n };\n Bt.decodePayload(e, this.socket.binaryType, r), this.readyState !== \"closed\" && (this.polling = !1, this.emit(\"pollComplete\"), this.readyState === \"open\" ? this.poll() : $('ignoring poll - transport state \"%s\"', this.readyState));\n};\nH.prototype.doClose = function() {\n var e = this;\n function t() {\n $(\"writing close packet\"), e.write([{ type: \"close\" }]);\n }\n this.readyState === \"open\" ? ($(\"transport open - closing\"), t()) : ($(\"transport not open - deferring close\"), this.once(\"open\", t));\n};\nH.prototype.write = function(e) {\n var t = this;\n this.writable = !1;\n var r = function() {\n t.writable = !0, t.emit(\"drain\");\n };\n Bt.encodePayload(e, this.supportsBinary, function(n) {\n t.doWrite(n, r);\n });\n};\nH.prototype.uri = function() {\n var e = this.query || {}, t = this.secure ? \"https\" : \"http\", r = \"\";\n this.timestampRequests !== !1 && (e[this.timestampParam] = Er()), !this.supportsBinary && !e.sid && (e.b64 = 1), e = Cr.encode(e), this.port && (t === \"https\" && Number(this.port) !== 443 || t === \"http\" && Number(this.port) !== 80) && (r = \":\" + this.port), e.length && (e = \"?\" + e);\n var n = this.hostname.indexOf(\":\") !== -1;\n return t + \"://\" + (n ? \"[\" + this.hostname + \"]\" : this.hostname) + r + this.path + e;\n};\nvar kr = $e, St = kt, Sr = ee, Fr = Ce, Pe = X(\"engine.io-client:polling-xhr\"), Nr = Me;\nHe.exports = te;\nHe.exports.Request = q;\nfunction rt() {\n}\nfunction te(e) {\n if (St.call(this, e), this.requestTimeout = e.requestTimeout, this.extraHeaders = e.extraHeaders, typeof location < \"u\") {\n var t = location.protocol === \"https:\", r = location.port;\n r || (r = t ? 443 : 80), this.xd = typeof location < \"u\" && e.hostname !== location.hostname || r !== e.port, this.xs = e.secure !== t;\n }\n}\nFr(te, St);\nte.prototype.supportsBinary = !0;\nte.prototype.request = function(e) {\n return e = e || {}, e.uri = this.uri(), e.xd = this.xd, e.xs = this.xs, e.agent = this.agent || !1, e.supportsBinary = this.supportsBinary, e.enablesXDR = this.enablesXDR, e.withCredentials = this.withCredentials, e.pfx = this.pfx, e.key = this.key, e.passphrase = this.passphrase, e.cert = this.cert, e.ca = this.ca, e.ciphers = this.ciphers, e.rejectUnauthorized = this.rejectUnauthorized, e.requestTimeout = this.requestTimeout, e.extraHeaders = this.extraHeaders, new q(e);\n};\nte.prototype.doWrite = function(e, t) {\n var r = typeof e != \"string\" && e !== void 0, n = this.request({ method: \"POST\", data: e, isBinary: r }), i = this;\n n.on(\"success\", t), n.on(\"error\", function(o) {\n i.onError(\"xhr post error\", o);\n }), this.sendXhr = n;\n};\nte.prototype.doPoll = function() {\n Pe(\"xhr poll\");\n var e = this.request(), t = this;\n e.on(\"data\", function(r) {\n t.onData(r);\n }), e.on(\"error\", function(r) {\n t.onError(\"xhr poll error\", r);\n }), this.pollXhr = e;\n};\nfunction q(e) {\n this.method = e.method || \"GET\", this.uri = e.uri, this.xd = !!e.xd, this.xs = !!e.xs, this.async = e.async !== !1, this.data = e.data !== void 0 ? e.data : null, this.agent = e.agent, this.isBinary = e.isBinary, this.supportsBinary = e.supportsBinary, this.enablesXDR = e.enablesXDR, this.withCredentials = e.withCredentials, this.requestTimeout = e.requestTimeout, this.pfx = e.pfx, this.key = e.key, this.passphrase = e.passphrase, this.cert = e.cert, this.ca = e.ca, this.ciphers = e.ciphers, this.rejectUnauthorized = e.rejectUnauthorized, this.extraHeaders = e.extraHeaders, this.create();\n}\nSr(q.prototype);\nq.prototype.create = function() {\n var e = { agent: this.agent, xdomain: this.xd, xscheme: this.xs, enablesXDR: this.enablesXDR };\n e.pfx = this.pfx, e.key = this.key, e.passphrase = this.passphrase, e.cert = this.cert, e.ca = this.ca, e.ciphers = this.ciphers, e.rejectUnauthorized = this.rejectUnauthorized;\n var t = this.xhr = new kr(e), r = this;\n try {\n Pe(\"xhr open %s: %s\", this.method, this.uri), t.open(this.method, this.uri, this.async);\n try {\n if (this.extraHeaders) {\n t.setDisableHeaderCheck && t.setDisableHeaderCheck(!0);\n for (var n in this.extraHeaders)\n this.extraHeaders.hasOwnProperty(n) && t.setRequestHeader(n, this.extraHeaders[n]);\n }\n } catch {\n }\n if (this.method === \"POST\")\n try {\n this.isBinary ? t.setRequestHeader(\"Content-type\", \"application/octet-stream\") : t.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n } catch {\n }\n try {\n t.setRequestHeader(\"Accept\", \"*/*\");\n } catch {\n }\n \"withCredentials\" in t && (t.withCredentials = this.withCredentials), this.requestTimeout && (t.timeout = this.requestTimeout), this.hasXDR() ? (t.onload = function() {\n r.onLoad();\n }, t.onerror = function() {\n r.onError(t.responseText);\n }) : t.onreadystatechange = function() {\n if (t.readyState === 2)\n try {\n var i = t.getResponseHeader(\"Content-Type\");\n (r.supportsBinary && i === \"application/octet-stream\" || i === \"application/octet-stream; charset=UTF-8\") && (t.responseType = \"arraybuffer\");\n } catch {\n }\n t.readyState === 4 && (t.status === 200 || t.status === 1223 ? r.onLoad() : setTimeout(function() {\n r.onError(typeof t.status == \"number\" ? t.status : 0);\n }, 0));\n }, Pe(\"xhr data %s\", this.data), t.send(this.data);\n } catch (i) {\n setTimeout(function() {\n r.onError(i);\n }, 0);\n return;\n }\n typeof document < \"u\" && (this.index = q.requestsCount++, q.requests[this.index] = this);\n};\nq.prototype.onSuccess = function() {\n this.emit(\"success\"), this.cleanup();\n};\nq.prototype.onData = function(e) {\n this.emit(\"data\", e), this.onSuccess();\n};\nq.prototype.onError = function(e) {\n this.emit(\"error\", e), this.cleanup(!0);\n};\nq.prototype.cleanup = function(e) {\n if (!(typeof this.xhr > \"u\" || this.xhr === null)) {\n if (this.hasXDR() ? this.xhr.onload = this.xhr.onerror = rt : this.xhr.onreadystatechange = rt, e)\n try {\n this.xhr.abort();\n } catch {\n }\n typeof document < \"u\" && delete q.requests[this.index], this.xhr = null;\n }\n};\nq.prototype.onLoad = function() {\n var e;\n try {\n var t;\n try {\n t = this.xhr.getResponseHeader(\"Content-Type\");\n } catch {\n }\n t === \"application/octet-stream\" || t === \"application/octet-stream; charset=UTF-8\" ? e = this.xhr.response || this.xhr.responseText : e = this.xhr.responseText;\n } catch (r) {\n this.onError(r);\n }\n e != null && this.onData(e);\n};\nq.prototype.hasXDR = function() {\n return typeof XDomainRequest < \"u\" && !this.xs && this.enablesXDR;\n};\nq.prototype.abort = function() {\n this.cleanup();\n};\nq.requestsCount = 0;\nq.requests = {};\nif (typeof document < \"u\") {\n if (typeof attachEvent == \"function\")\n attachEvent(\"onunload\", nt);\n else if (typeof addEventListener == \"function\") {\n var Or = \"onpagehide\" in Nr ? \"pagehide\" : \"unload\";\n addEventListener(Or, nt, !1);\n }\n}\nfunction nt() {\n for (var e in q.requests)\n q.requests.hasOwnProperty(e) && q.requests[e].abort();\n}\nvar Ir = He.exports, ze = kt, Rr = Ce, it = Me, xr = re, Tr = /\\n/g, Dr = /\\\\n/g, he;\nfunction qr() {\n}\nfunction re(e) {\n ze.call(this, e), this.query = this.query || {}, he || (he = it.___eio = it.___eio || []), this.index = he.length;\n var t = this;\n he.push(function(r) {\n t.onData(r);\n }), this.query.j = this.index, typeof addEventListener == \"function\" && addEventListener(\"beforeunload\", function() {\n t.script && (t.script.onerror = qr);\n }, !1);\n}\nRr(re, ze);\nre.prototype.supportsBinary = !1;\nre.prototype.doClose = function() {\n this.script && (this.script.parentNode.removeChild(this.script), this.script = null), this.form && (this.form.parentNode.removeChild(this.form), this.form = null, this.iframe = null), ze.prototype.doClose.call(this);\n};\nre.prototype.doPoll = function() {\n var e = this, t = document.createElement(\"script\");\n this.script && (this.script.parentNode.removeChild(this.script), this.script = null), t.async = !0, t.src = this.uri(), t.onerror = function(i) {\n e.onError(\"jsonp poll error\", i);\n };\n var r = document.getElementsByTagName(\"script\")[0];\n r ? r.parentNode.insertBefore(t, r) : (document.head || document.body).appendChild(t), this.script = t;\n var n = typeof navigator < \"u\" && /gecko/i.test(navigator.userAgent);\n n && setTimeout(function() {\n var i = document.createElement(\"iframe\");\n document.body.appendChild(i), document.body.removeChild(i);\n }, 100);\n};\nre.prototype.doWrite = function(e, t) {\n var r = this;\n if (!this.form) {\n var n = document.createElement(\"form\"), i = document.createElement(\"textarea\"), o = this.iframeId = \"eio_iframe_\" + this.index, s;\n n.className = \"socketio\", n.style.position = \"absolute\", n.style.top = \"-1000px\", n.style.left = \"-1000px\", n.target = o, n.method = \"POST\", n.setAttribute(\"accept-charset\", \"utf-8\"), i.name = \"d\", n.appendChild(i), document.body.appendChild(n), this.form = n, this.area = i;\n }\n this.form.action = this.uri();\n function f() {\n h(), t();\n }\n function h() {\n if (r.iframe)\n try {\n r.form.removeChild(r.iframe);\n } catch (p) {\n r.onError(\"jsonp polling iframe removal error\", p);\n }\n try {\n var u = '<iframe src=\"javascript:0\" name=\"' + r.iframeId + '\">';\n s = document.createElement(u);\n } catch {\n s = document.createElement(\"iframe\"), s.name = r.iframeId, s.src = \"javascript:0\";\n }\n s.id = r.iframeId, r.form.appendChild(s), r.iframe = s;\n }\n h(), e = e.replace(Dr, `\\\\\n`), this.area.value = e.replace(Tr, \"\\\\n\");\n try {\n this.form.submit();\n } catch {\n }\n this.iframe.attachEvent ? this.iframe.onreadystatechange = function() {\n r.iframe.readyState === \"complete\" && f();\n } : this.iframe.onload = f;\n};\nconst Pr = {}, _r = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: Pr\n}, Symbol.toStringTag, { value: \"Module\" })), Ur = /* @__PURE__ */ _t(_r);\nvar je = Xe(), Lr = K, Mr = we(), $r = Ce, Hr = At, Xr = X(\"engine.io-client:websocket\"), ge, Je;\ntypeof WebSocket < \"u\" ? ge = WebSocket : typeof self < \"u\" && (ge = self.WebSocket || self.MozWebSocket);\nif (typeof window > \"u\")\n try {\n Je = Ur;\n } catch {\n }\nvar Z = ge || Je, Wr = M;\nfunction M(e) {\n var t = e && e.forceBase64;\n t && (this.supportsBinary = !1), this.perMessageDeflate = e.perMessageDeflate, this.usingBrowserWebSocket = ge && !e.forceNode, this.protocols = e.protocols, this.usingBrowserWebSocket || (Z = Je), je.call(this, e);\n}\n$r(M, je);\nM.prototype.name = \"websocket\";\nM.prototype.supportsBinary = !0;\nM.prototype.doOpen = function() {\n if (this.check()) {\n var e = this.uri(), t = this.protocols, r = {};\n this.isReactNative || (r.agent = this.agent, r.perMessageDeflate = this.perMessageDeflate, r.pfx = this.pfx, r.key = this.key, r.passphrase = this.passphrase, r.cert = this.cert, r.ca = this.ca, r.ciphers = this.ciphers, r.rejectUnauthorized = this.rejectUnauthorized), this.extraHeaders && (r.headers = this.extraHeaders), this.localAddress && (r.localAddress = this.localAddress);\n try {\n this.ws = this.usingBrowserWebSocket && !this.isReactNative ? t ? new Z(e, t) : new Z(e) : new Z(e, t, r);\n } catch (n) {\n return this.emit(\"error\", n);\n }\n this.ws.binaryType === void 0 && (this.supportsBinary = !1), this.ws.supports && this.ws.supports.binary ? (this.supportsBinary = !0, this.ws.binaryType = \"nodebuffer\") : this.ws.binaryType = \"arraybuffer\", this.addEventListeners();\n }\n};\nM.prototype.addEventListeners = function() {\n var e = this;\n this.ws.onopen = function() {\n e.onOpen();\n }, this.ws.onclose = function() {\n e.onClose();\n }, this.ws.onmessage = function(t) {\n e.onData(t.data);\n }, this.ws.onerror = function(t) {\n e.onError(\"websocket error\", t);\n };\n};\nM.prototype.write = function(e) {\n var t = this;\n this.writable = !1;\n for (var r = e.length, n = 0, i = r; n < i; n++)\n (function(s) {\n Lr.encodePacket(s, t.supportsBinary, function(f) {\n if (!t.usingBrowserWebSocket) {\n var h = {};\n if (s.options && (h.compress = s.options.compress), t.perMessageDeflate) {\n var u = typeof f == \"string\" ? Buffer.byteLength(f) : f.length;\n u < t.perMessageDeflate.threshold && (h.compress = !1);\n }\n }\n try {\n t.usingBrowserWebSocket ? t.ws.send(f) : t.ws.send(f, h);\n } catch {\n Xr(\"websocket closed before onclose event\");\n }\n --r || o();\n });\n })(e[n]);\n function o() {\n t.emit(\"flush\"), setTimeout(function() {\n t.writable = !0, t.emit(\"drain\");\n }, 0);\n }\n};\nM.prototype.onClose = function() {\n je.prototype.onClose.call(this);\n};\nM.prototype.doClose = function() {\n typeof this.ws < \"u\" && this.ws.close();\n};\nM.prototype.uri = function() {\n var e = this.query || {}, t = this.secure ? \"wss\" : \"ws\", r = \"\";\n this.port && (t === \"wss\" && Number(this.port) !== 443 || t === \"ws\" && Number(this.port) !== 80) && (r = \":\" + this.port), this.timestampRequests && (e[this.timestampParam] = Hr()), this.supportsBinary || (e.b64 = 1), e = Mr.encode(e), e.length && (e = \"?\" + e);\n var n = this.hostname.indexOf(\":\") !== -1;\n return t + \"://\" + (n ? \"[\" + this.hostname + \"]\" : this.hostname) + r + this.path + e;\n};\nM.prototype.check = function() {\n return !!Z && !(\"__initialize\" in Z && this.name === M.prototype.name);\n};\nvar zr = $e, jr = Ir, Jr = xr, Vr = Wr;\nbe.polling = Gr;\nbe.websocket = Vr;\nfunction Gr(e) {\n var t, r = !1, n = !1, i = e.jsonp !== !1;\n if (typeof location < \"u\") {\n var o = location.protocol === \"https:\", s = location.port;\n s || (s = o ? 443 : 80), r = e.hostname !== location.hostname || s !== e.port, n = e.secure !== o;\n }\n if (e.xdomain = r, e.xscheme = n, t = new zr(e), \"open\" in t && !e.forceJSONP)\n return new jr(e);\n if (!i)\n throw new Error(\"JSONP disabled\");\n return new Jr(e);\n}\nvar Kr = [].indexOf, Ft = function(e, t) {\n if (Kr)\n return e.indexOf(t);\n for (var r = 0; r < e.length; ++r)\n if (e[r] === t)\n return r;\n return -1;\n}, Yr = be, Qr = ee, D = X(\"engine.io-client:socket\"), Zr = Ft, Nt = K, ot = lt, en = we(), tn = B;\nfunction B(e, t) {\n if (!(this instanceof B))\n return new B(e, t);\n t = t || {}, e && typeof e == \"object\" && (t = e, e = null), e ? (e = ot(e), t.hostname = e.host, t.secure = e.protocol === \"https\" || e.protocol === \"wss\", t.port = e.port, e.query && (t.query = e.query)) : t.host && (t.hostname = ot(t.host).host), this.secure = t.secure != null ? t.secure : typeof location < \"u\" && location.protocol === \"https:\", t.hostname && !t.port && (t.port = this.secure ? \"443\" : \"80\"), this.agent = t.agent || !1, this.hostname = t.hostname || (typeof location < \"u\" ? location.hostname : \"localhost\"), this.port = t.port || (typeof location < \"u\" && location.port ? location.port : this.secure ? 443 : 80), this.query = t.query || {}, typeof this.query == \"string\" && (this.query = en.decode(this.query)), this.upgrade = t.upgrade !== !1, this.path = (t.path || \"/engine.io\").replace(/\\/$/, \"\") + \"/\", this.forceJSONP = !!t.forceJSONP, this.jsonp = t.jsonp !== !1, this.forceBase64 = !!t.forceBase64, this.enablesXDR = !!t.enablesXDR, this.withCredentials = t.withCredentials !== !1, this.timestampParam = t.timestampParam || \"t\", this.timestampRequests = t.timestampRequests, this.transports = t.transports || [\"polling\", \"websocket\"], this.transportOptions = t.transportOptions || {}, this.readyState = \"\", this.writeBuffer = [], this.prevBufferLen = 0, this.policyPort = t.policyPort || 843, this.rememberUpgrade = t.rememberUpgrade || !1, this.binaryType = null, this.onlyBinaryUpgrades = t.onlyBinaryUpgrades, this.perMessageDeflate = t.perMessageDeflate !== !1 ? t.perMessageDeflate || {} : !1, this.perMessageDeflate === !0 && (this.perMessageDeflate = {}), this.perMessageDeflate && this.perMessageDeflate.threshold == null && (this.perMessageDeflate.threshold = 1024), this.pfx = t.pfx || void 0, this.key = t.key || void 0, this.passphrase = t.passphrase || void 0, this.cert = t.cert || void 0, this.ca = t.ca || void 0, this.ciphers = t.ciphers || void 0, this.rejectUnauthorized = t.rejectUnauthorized === void 0 ? !0 : t.rejectUnauthorized, this.forceNode = !!t.forceNode, this.isReactNative = typeof navigator < \"u\" && typeof navigator.product == \"string\" && navigator.product.toLowerCase() === \"reactnative\", (typeof self > \"u\" || this.isReactNative) && (t.extraHeaders && Object.keys(t.extraHeaders).length > 0 && (this.extraHeaders = t.extraHeaders), t.localAddress && (this.localAddress = t.localAddress)), this.id = null, this.upgrades = null, this.pingInterval = null, this.pingTimeout = null, this.pingIntervalTimer = null, this.pingTimeoutTimer = null, this.open();\n}\nB.priorWebsocketSuccess = !1;\nQr(B.prototype);\nB.protocol = Nt.protocol;\nB.Socket = B;\nB.Transport = Xe();\nB.transports = be;\nB.parser = K;\nB.prototype.createTransport = function(e) {\n D('creating transport \"%s\"', e);\n var t = rn(this.query);\n t.EIO = Nt.protocol, t.transport = e;\n var r = this.transportOptions[e] || {};\n this.id && (t.sid = this.id);\n var n = new Yr[e]({\n query: t,\n socket: this,\n agent: r.agent || this.agent,\n hostname: r.hostname || this.hostname,\n port: r.port || this.port,\n secure: r.secure || this.secure,\n path: r.path || this.path,\n forceJSONP: r.forceJSONP || this.forceJSONP,\n jsonp: r.jsonp || this.jsonp,\n forceBase64: r.forceBase64 || this.forceBase64,\n enablesXDR: r.enablesXDR || this.enablesXDR,\n withCredentials: r.withCredentials || this.withCredentials,\n timestampRequests: r.timestampRequests || this.timestampRequests,\n timestampParam: r.timestampParam || this.timestampParam,\n policyPort: r.policyPort || this.policyPort,\n pfx: r.pfx || this.pfx,\n key: r.key || this.key,\n passphrase: r.passphrase || this.passphrase,\n cert: r.cert || this.cert,\n ca: r.ca || this.ca,\n ciphers: r.ciphers || this.ciphers,\n rejectUnauthorized: r.rejectUnauthorized || this.rejectUnauthorized,\n perMessageDeflate: r.perMessageDeflate || this.perMessageDeflate,\n extraHeaders: r.extraHeaders || this.extraHeaders,\n forceNode: r.forceNode || this.forceNode,\n localAddress: r.localAddress || this.localAddress,\n requestTimeout: r.requestTimeout || this.requestTimeout,\n protocols: r.protocols || void 0,\n isReactNative: this.isReactNative\n });\n return n;\n};\nfunction rn(e) {\n var t = {};\n for (var r in e)\n e.hasOwnProperty(r) && (t[r] = e[r]);\n return t;\n}\nB.prototype.open = function() {\n var e;\n if (this.rememberUpgrade && B.priorWebsocketSuccess && this.transports.indexOf(\"websocket\") !== -1)\n e = \"websocket\";\n else if (this.transports.length === 0) {\n var t = this;\n setTimeout(function() {\n t.emit(\"error\", \"No transports available\");\n }, 0);\n return;\n } else\n e = this.transports[0];\n this.readyState = \"opening\";\n try {\n e = this.createTransport(e);\n } catch {\n this.transports.shift(), this.open();\n return;\n }\n e.open(), this.setTransport(e);\n};\nB.prototype.setTransport = function(e) {\n D(\"setting transport %s\", e.name);\n var t = this;\n this.transport && (D(\"clearing existing transport %s\", this.transport.name), this.transport.removeAllListeners()), this.transport = e, e.on(\"drain\", function() {\n t.onDrain();\n }).on(\"packet\", function(r) {\n t.onPacket(r);\n }).on(\"error\", function(r) {\n t.onError(r);\n }).on(\"close\", function() {\n t.onClose(\"transport close\");\n });\n};\nB.prototype.probe = function(e) {\n D('probing transport \"%s\"', e);\n var t = this.createTransport(e, { probe: 1 }), r = !1, n = this;\n B.priorWebsocketSuccess = !1;\n function i() {\n if (n.onlyBinaryUpgrades) {\n var d = !this.supportsBinary && n.transport.supportsBinary;\n r = r || d;\n }\n r || (D('probe transport \"%s\" opened', e), t.send([{ type: \"ping\", data: \"probe\" }]), t.once(\"packet\", function(y) {\n if (!r)\n if (y.type === \"pong\" && y.data === \"probe\") {\n if (D('probe transport \"%s\" pong', e), n.upgrading = !0, n.emit(\"upgrading\", t), !t)\n return;\n B.priorWebsocketSuccess = t.name === \"websocket\", D('pausing current transport \"%s\"', n.transport.name), n.transport.pause(function() {\n r || n.readyState !== \"closed\" && (D(\"changing transport and sending upgrade packet\"), p(), n.setTransport(t), t.send([{ type: \"upgrade\" }]), n.emit(\"upgrade\", t), t = null, n.upgrading = !1, n.flush());\n });\n } else {\n D('probe transport \"%s\" failed', e);\n var a = new Error(\"probe error\");\n a.transport = t.name, n.emit(\"upgradeError\", a);\n }\n }));\n }\n function o() {\n r || (r = !0, p(), t.close(), t = null);\n }\n function s(d) {\n var y = new Error(\"probe error: \" + d);\n y.transport = t.name, o(), D('probe transport \"%s\" failed because of error: %s', e, d), n.emit(\"upgradeError\", y);\n }\n function f() {\n s(\"transport closed\");\n }\n function h() {\n s(\"socket closed\");\n }\n function u(d) {\n t && d.name !== t.name && (D('\"%s\" works - aborting \"%s\"', d.name, t.name), o());\n }\n function p() {\n t.removeListener(\"open\", i), t.removeListener(\"error\", s), t.removeListener(\"close\", f), n.removeListener(\"close\", h), n.removeListener(\"upgrading\", u);\n }\n t.once(\"open\", i), t.once(\"error\", s), t.once(\"close\", f), this.once(\"close\", h), this.once(\"upgrading\", u), t.open();\n};\nB.prototype.onOpen = function() {\n if (D(\"socket open\"), this.readyState = \"open\", B.priorWebsocketSuccess = this.transport.name === \"websocket\", this.emit(\"open\"), this.flush(), this.readyState === \"open\" && this.upgrade && this.transport.pause) {\n D(\"starting upgrade probes\");\n for (var e = 0, t = this.upgrades.length; e < t; e++)\n this.probe(this.upgrades[e]);\n }\n};\nB.prototype.onPacket = function(e) {\n if (this.readyState === \"opening\" || this.readyState === \"open\" || this.readyState === \"closing\")\n switch (D('socket receive: type \"%s\", data \"%s\"', e.type, e.data), this.emit(\"packet\", e), this.emit(\"heartbeat\"), e.type) {\n case \"open\":\n this.onHandshake(JSON.parse(e.data));\n break;\n case \"pong\":\n this.setPing(), this.emit(\"pong\");\n break;\n case \"error\":\n var t = new Error(\"server error\");\n t.code = e.data, this.onError(t);\n break;\n case \"message\":\n this.emit(\"data\", e.data), this.emit(\"message\", e.data);\n break;\n }\n else\n D('packet received with socket readyState \"%s\"', this.readyState);\n};\nB.prototype.onHandshake = function(e) {\n this.emit(\"handshake\", e), this.id = e.sid, this.transport.query.sid = e.sid, this.upgrades = this.filterUpgrades(e.upgrades), this.pingInterval = e.pingInterval, this.pingTimeout = e.pingTimeout, this.onOpen(), this.readyState !== \"closed\" && (this.setPing(), this.removeListener(\"heartbeat\", this.onHeartbeat), this.on(\"heartbeat\", this.onHeartbeat));\n};\nB.prototype.onHeartbeat = function(e) {\n clearTimeout(this.pingTimeoutTimer);\n var t = this;\n t.pingTimeoutTimer = setTimeout(function() {\n t.readyState !== \"closed\" && t.onClose(\"ping timeout\");\n }, e || t.pingInterval + t.pingTimeout);\n};\nB.prototype.setPing = function() {\n var e = this;\n clearTimeout(e.pingIntervalTimer), e.pingIntervalTimer = setTimeout(function() {\n D(\"writing ping packet - expecting pong within %sms\", e.pingTimeout), e.ping(), e.onHeartbeat(e.pingTimeout);\n }, e.pingInterval);\n};\nB.prototype.ping = function() {\n var e = this;\n this.sendPacket(\"ping\", function() {\n e.emit(\"ping\");\n });\n};\nB.prototype.onDrain = function() {\n this.writeBuffer.splice(0, this.prevBufferLen), this.prevBufferLen = 0, this.writeBuffer.length === 0 ? this.emit(\"drain\") : this.flush();\n};\nB.prototype.flush = function() {\n this.readyState !== \"closed\" && this.transport.writable && !this.upgrading && this.writeBuffer.length && (D(\"flushing %d packets in socket\", this.writeBuffer.length), this.transport.send(this.writeBuffer), this.prevBufferLen = this.writeBuffer.length, this.emit(\"flush\"));\n};\nB.prototype.write = B.prototype.send = function(e, t, r) {\n return this.sendPacket(\"message\", e, t, r), this;\n};\nB.prototype.sendPacket = function(e, t, r, n) {\n if (typeof t == \"function\" && (n = t, t = void 0), typeof r == \"function\" && (n = r, r = null), !(this.readyState === \"closing\" || this.readyState === \"closed\")) {\n r = r || {}, r.compress = r.compress !== !1;\n var i = {\n type: e,\n data: t,\n options: r\n };\n this.emit(\"packetCreate\", i), this.writeBuffer.push(i), n && this.once(\"flush\", n), this.flush();\n }\n};\nB.prototype.close = function() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.readyState = \"closing\";\n var e = this;\n this.writeBuffer.length ? this.once(\"drain\", function() {\n this.upgrading ? n() : t();\n }) : this.upgrading ? n() : t();\n }\n function t() {\n e.onClose(\"forced close\"), D(\"socket closing - telling transport to close\"), e.transport.close();\n }\n function r() {\n e.removeListener(\"upgrade\", r), e.removeListener(\"upgradeError\", r), t();\n }\n function n() {\n e.once(\"upgrade\", r), e.once(\"upgradeError\", r);\n }\n return this;\n};\nB.prototype.onError = function(e) {\n D(\"socket error %j\", e), B.priorWebsocketSuccess = !1, this.emit(\"error\", e), this.onClose(\"transport error\", e);\n};\nB.prototype.onClose = function(e, t) {\n if (this.readyState === \"opening\" || this.readyState === \"open\" || this.readyState === \"closing\") {\n D('socket close with reason: \"%s\"', e);\n var r = this;\n clearTimeout(this.pingIntervalTimer), clearTimeout(this.pingTimeoutTimer), this.transport.removeAllListeners(\"close\"), this.transport.close(), this.transport.removeAllListeners(), this.readyState = \"closed\", this.id = null, this.emit(\"close\", e, t), r.writeBuffer = [], r.prevBufferLen = 0;\n }\n};\nB.prototype.filterUpgrades = function(e) {\n for (var t = [], r = 0, n = e.length; r < n; r++)\n ~Zr(this.transports, e[r]) && t.push(e[r]);\n return t;\n};\nLe.exports = tn;\nLe.exports.parser = K;\nvar nn = Le.exports, Se = { exports: {} }, Fe, st;\nfunction on() {\n if (st)\n return Fe;\n st = 1, Fe = e;\n function e(t, r) {\n var n = [];\n r = r || 0;\n for (var i = r || 0; i < t.length; i++)\n n[i - r] = t[i];\n return n;\n }\n return Fe;\n}\nvar Ot = sn;\nfunction sn(e, t, r) {\n return e.on(t, r), {\n destroy: function() {\n e.removeListener(t, r);\n }\n };\n}\nvar at = [].slice, It = function(e, t) {\n if (typeof t == \"string\" && (t = e[t]), typeof t != \"function\")\n throw new Error(\"bind() requires a function\");\n var r = at.call(arguments, 2);\n return function() {\n return t.apply(e, r.concat(at.call(arguments)));\n };\n}, ct;\nfunction Rt() {\n return ct || (ct = 1, function(e, t) {\n var r = ve, n = ee, i = on(), o = Ot, s = It, f = X(\"socket.io-client:socket\"), h = we(), u = vt();\n e.exports = y;\n var p = {\n connect: 1,\n connect_error: 1,\n connect_timeout: 1,\n connecting: 1,\n disconnect: 1,\n error: 1,\n reconnect: 1,\n reconnect_attempt: 1,\n reconnect_failed: 1,\n reconnect_error: 1,\n reconnecting: 1,\n ping: 1,\n pong: 1\n }, d = n.prototype.emit;\n function y(a, N, k) {\n this.io = a, this.nsp = N, this.json = this, this.ids = 0, this.acks = {}, this.receiveBuffer = [], this.sendBuffer = [], this.connected = !1, this.disconnected = !0, this.flags = {}, k && k.query && (this.query = k.query), this.io.autoConnect && this.open();\n }\n n(y.prototype), y.prototype.subEvents = function() {\n if (!this.subs) {\n var a = this.io;\n this.subs = [\n o(a, \"open\", s(this, \"onopen\")),\n o(a, \"packet\", s(this, \"onpacket\")),\n o(a, \"close\", s(this, \"onclose\"))\n ];\n }\n }, y.prototype.open = y.prototype.connect = function() {\n return this.connected ? this : (this.subEvents(), this.io.reconnecting || this.io.open(), this.io.readyState === \"open\" && this.onopen(), this.emit(\"connecting\"), this);\n }, y.prototype.send = function() {\n var a = i(arguments);\n return a.unshift(\"message\"), this.emit.apply(this, a), this;\n }, y.prototype.emit = function(a) {\n if (p.hasOwnProperty(a))\n return d.apply(this, arguments), this;\n var N = i(arguments), k = {\n type: (this.flags.binary !== void 0 ? this.flags.binary : u(N)) ? r.BINARY_EVENT : r.EVENT,\n data: N\n };\n return k.options = {}, k.options.compress = !this.flags || this.flags.compress !== !1, typeof N[N.length - 1] == \"function\" && (f(\"emitting packet with ack id %d\", this.ids), this.acks[this.ids] = N.pop(), k.id = this.ids++), this.connected ? this.packet(k) : this.sendBuffer.push(k), this.flags = {}, this;\n }, y.prototype.packet = function(a) {\n a.nsp = this.nsp, this.io.packet(a);\n }, y.prototype.onopen = function() {\n if (f(\"transport is open - connecting\"), this.nsp !== \"/\")\n if (this.query) {\n var a = typeof this.query == \"object\" ? h.encode(this.query) : this.query;\n f(\"sending connect packet with query %s\", a), this.packet({ type: r.CONNECT, query: a });\n } else\n this.packet({ type: r.CONNECT });\n }, y.prototype.onclose = function(a) {\n f(\"close (%s)\", a), this.connected = !1, this.disconnected = !0, delete this.id, this.emit(\"disconnect\", a);\n }, y.prototype.onpacket = function(a) {\n var N = a.nsp === this.nsp, k = a.type === r.ERROR && a.nsp === \"/\";\n if (!(!N && !k))\n switch (a.type) {\n case r.CONNECT:\n this.onconnect();\n break;\n case r.EVENT:\n this.onevent(a);\n break;\n case r.BINARY_EVENT:\n this.onevent(a);\n break;\n case r.ACK:\n this.onack(a);\n break;\n case r.BINARY_ACK:\n this.onack(a);\n break;\n case r.DISCONNECT:\n this.ondisconnect();\n break;\n case r.ERROR:\n this.emit(\"error\", a.data);\n break;\n }\n }, y.prototype.onevent = function(a) {\n var N = a.data || [];\n f(\"emitting event %j\", N), a.id != null && (f(\"attaching ack callback to event\"), N.push(this.ack(a.id))), this.connected ? d.apply(this, N) : this.receiveBuffer.push(N);\n }, y.prototype.ack = function(a) {\n var N = this, k = !1;\n return function() {\n if (!k) {\n k = !0;\n var l = i(arguments);\n f(\"sending ack %j\", l), N.packet({\n type: u(l) ? r.BINARY_ACK : r.ACK,\n id: a,\n data: l\n });\n }\n };\n }, y.prototype.onack = function(a) {\n var N = this.acks[a.id];\n typeof N == \"function\" ? (f(\"calling ack %s with %j\", a.id, a.data), N.apply(this, a.data), delete this.acks[a.id]) : f(\"bad ack %s\", a.id);\n }, y.prototype.onconnect = function() {\n this.connected = !0, this.disconnected = !1, this.emitBuffered(), this.emit(\"connect\");\n }, y.prototype.emitBuffered = function() {\n var a;\n for (a = 0; a < this.receiveBuffer.length; a++)\n d.apply(this, this.receiveBuffer[a]);\n for (this.receiveBuffer = [], a = 0; a < this.sendBuffer.length; a++)\n this.packet(this.sendBuffer[a]);\n this.sendBuffer = [];\n }, y.prototype.ondisconnect = function() {\n f(\"server disconnect (%s)\", this.nsp), this.destroy(), this.onclose(\"io server disconnect\");\n }, y.prototype.destroy = function() {\n if (this.subs) {\n for (var a = 0; a < this.subs.length; a++)\n this.subs[a].destroy();\n this.subs = null;\n }\n this.io.destroy(this);\n }, y.prototype.close = y.prototype.disconnect = function() {\n return this.connected && (f(\"performing disconnect (%s)\", this.nsp), this.packet({ type: r.DISCONNECT })), this.destroy(), this.connected && this.onclose(\"io client disconnect\"), this;\n }, y.prototype.compress = function(a) {\n return this.flags.compress = a, this;\n }, y.prototype.binary = function(a) {\n return this.flags.binary = a, this;\n };\n }(Se)), Se.exports;\n}\nvar an = ne;\nfunction ne(e) {\n e = e || {}, this.ms = e.min || 100, this.max = e.max || 1e4, this.factor = e.factor || 2, this.jitter = e.jitter > 0 && e.jitter <= 1 ? e.jitter : 0, this.attempts = 0;\n}\nne.prototype.duration = function() {\n var e = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var t = Math.random(), r = Math.floor(t * this.jitter * e);\n e = Math.floor(t * 10) & 1 ? e + r : e - r;\n }\n return Math.min(e, this.max) | 0;\n};\nne.prototype.reset = function() {\n this.attempts = 0;\n};\nne.prototype.setMin = function(e) {\n this.ms = e;\n};\nne.prototype.setMax = function(e) {\n this.max = e;\n};\nne.prototype.setJitter = function(e) {\n this.jitter = e;\n};\nvar cn = nn, un = Rt(), fn = ee, hn = ve, W = Ot, Q = It, U = X(\"socket.io-client:manager\"), xt = Ft, ln = an, Tt = Object.prototype.hasOwnProperty, ut = F;\nfunction F(e, t) {\n if (!(this instanceof F))\n return new F(e, t);\n e && typeof e == \"object\" && (t = e, e = void 0), t = t || {}, t.path = t.path || \"/socket.io\", this.nsps = {}, this.subs = [], this.opts = t, this.reconnection(t.reconnection !== !1), this.reconnectionAttempts(t.reconnectionAttempts || 1 / 0), this.reconnectionDelay(t.reconnectionDelay || 1e3), this.reconnectionDelayMax(t.reconnectionDelayMax || 5e3), this.randomizationFactor(t.randomizationFactor || 0.5), this.backoff = new ln({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor()\n }), this.timeout(t.timeout == null ? 2e4 : t.timeout), this.readyState = \"closed\", this.uri = e, this.connecting = [], this.lastPing = null, this.encoding = !1, this.packetBuffer = [];\n var r = t.parser || hn;\n this.encoder = new r.Encoder(), this.decoder = new r.Decoder(), this.autoConnect = t.autoConnect !== !1, this.autoConnect && this.open();\n}\nF.prototype.emitAll = function() {\n this.emit.apply(this, arguments);\n for (var e in this.nsps)\n Tt.call(this.nsps, e) && this.nsps[e].emit.apply(this.nsps[e], arguments);\n};\nF.prototype.updateSocketIds = function() {\n for (var e in this.nsps)\n Tt.call(this.nsps, e) && (this.nsps[e].id = this.generateId(e));\n};\nF.prototype.generateId = function(e) {\n return (e === \"/\" ? \"\" : e + \"#\") + this.engine.id;\n};\nfn(F.prototype);\nF.prototype.reconnection = function(e) {\n return arguments.length ? (this._reconnection = !!e, this) : this._reconnection;\n};\nF.prototype.reconnectionAttempts = function(e) {\n return arguments.length ? (this._reconnectionAttempts = e, this) : this._reconnectionAttempts;\n};\nF.prototype.reconnectionDelay = function(e) {\n return arguments.length ? (this._reconnectionDelay = e, this.backoff && this.backoff.setMin(e), this) : this._reconnectionDelay;\n};\nF.prototype.randomizationFactor = function(e) {\n return arguments.length ? (this._randomizationFactor = e, this.backoff && this.backoff.setJitter(e), this) : this._randomizationFactor;\n};\nF.prototype.reconnectionDelayMax = function(e) {\n return arguments.length ? (this._reconnectionDelayMax = e, this.backoff && this.backoff.setMax(e), this) : this._reconnectionDelayMax;\n};\nF.prototype.timeout = function(e) {\n return arguments.length ? (this._timeout = e, this) : this._timeout;\n};\nF.prototype.maybeReconnectOnOpen = function() {\n !this.reconnecting && this._reconnection && this.backoff.attempts === 0 && this.reconnect();\n};\nF.prototype.open = F.prototype.connect = function(e, t) {\n if (U(\"readyState %s\", this.readyState), ~this.readyState.indexOf(\"open\"))\n return this;\n U(\"opening %s\", this.uri), this.engine = cn(this.uri, this.opts);\n var r = this.engine, n = this;\n this.readyState = \"opening\", this.skipReconnect = !1;\n var i = W(r, \"open\", function() {\n n.onopen(), e && e();\n }), o = W(r, \"error\", function(h) {\n if (U(\"connect_error\"), n.cleanup(), n.readyState = \"closed\", n.emitAll(\"connect_error\", h), e) {\n var u = new Error(\"Connection error\");\n u.data = h, e(u);\n } else\n n.maybeReconnectOnOpen();\n });\n if (this._timeout !== !1) {\n var s = this._timeout;\n U(\"connect attempt will timeout after %d\", s), s === 0 && i.destroy();\n var f = setTimeout(function() {\n U(\"connect attempt timed out after %d\", s), i.destroy(), r.close(), r.emit(\"error\", \"timeout\"), n.emitAll(\"connect_timeout\", s);\n }, s);\n this.subs.push({\n destroy: function() {\n clearTimeout(f);\n }\n });\n }\n return this.subs.push(i), this.subs.push(o), this;\n};\nF.prototype.onopen = function() {\n U(\"open\"), this.cleanup(), this.readyState = \"open\", this.emit(\"open\");\n var e = this.engine;\n this.subs.push(W(e, \"data\", Q(this, \"ondata\"))), this.subs.push(W(e, \"ping\", Q(this, \"onping\"))), this.subs.push(W(e, \"pong\", Q(this, \"onpong\"))), this.subs.push(W(e, \"error\", Q(this, \"onerror\"))), this.subs.push(W(e, \"close\", Q(this, \"onclose\"))), this.subs.push(W(this.decoder, \"decoded\", Q(this, \"ondecoded\")));\n};\nF.prototype.onping = function() {\n this.lastPing = /* @__PURE__ */ new Date(), this.emitAll(\"ping\");\n};\nF.prototype.onpong = function() {\n this.emitAll(\"pong\", /* @__PURE__ */ new Date() - this.lastPing);\n};\nF.prototype.ondata = function(e) {\n this.decoder.add(e);\n};\nF.prototype.ondecoded = function(e) {\n this.emit(\"packet\", e);\n};\nF.prototype.onerror = function(e) {\n U(\"error\", e), this.emitAll(\"error\", e);\n};\nF.prototype.socket = function(e, t) {\n var r = this.nsps[e];\n if (!r) {\n r = new un(this, e, t), this.nsps[e] = r;\n var n = this;\n r.on(\"connecting\", i), r.on(\"connect\", function() {\n r.id = n.generateId(e);\n }), this.autoConnect && i();\n }\n function i() {\n ~xt(n.connecting, r) || n.connecting.push(r);\n }\n return r;\n};\nF.prototype.destroy = function(e) {\n var t = xt(this.connecting, e);\n ~t && this.connecting.splice(t, 1), !this.connecting.length && this.close();\n};\nF.prototype.packet = function(e) {\n U(\"writing packet %j\", e);\n var t = this;\n e.query && e.type === 0 && (e.nsp += \"?\" + e.query), t.encoding ? t.packetBuffer.push(e) : (t.encoding = !0, this.encoder.encode(e, function(r) {\n for (var n = 0; n < r.length; n++)\n t.engine.write(r[n], e.options);\n t.encoding = !1, t.processPacketQueue();\n }));\n};\nF.prototype.processPacketQueue = function() {\n if (this.packetBuffer.length > 0 && !this.encoding) {\n var e = this.packetBuffer.shift();\n this.packet(e);\n }\n};\nF.prototype.cleanup = function() {\n U(\"cleanup\");\n for (var e = this.subs.length, t = 0; t < e; t++) {\n var r = this.subs.shift();\n r.destroy();\n }\n this.packetBuffer = [], this.encoding = !1, this.lastPing = null, this.decoder.destroy();\n};\nF.prototype.close = F.prototype.disconnect = function() {\n U(\"disconnect\"), this.skipReconnect = !0, this.reconnecting = !1, this.readyState === \"opening\" && this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.engine && this.engine.close();\n};\nF.prototype.onclose = function(e) {\n U(\"onclose\"), this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.emit(\"close\", e), this._reconnection && !this.skipReconnect && this.reconnect();\n};\nF.prototype.reconnect = function() {\n if (this.reconnecting || this.skipReconnect)\n return this;\n var e = this;\n if (this.backoff.attempts >= this._reconnectionAttempts)\n U(\"reconnect failed\"), this.backoff.reset(), this.emitAll(\"reconnect_failed\"), this.reconnecting = !1;\n else {\n var t = this.backoff.duration();\n U(\"will wait %dms before reconnect attempt\", t), this.reconnecting = !0;\n var r = setTimeout(function() {\n e.skipReconnect || (U(\"attempting reconnect\"), e.emitAll(\"reconnect_attempt\", e.backoff.attempts), e.emitAll(\"reconnecting\", e.backoff.attempts), !e.skipReconnect && e.open(function(n) {\n n ? (U(\"reconnect attempt error\"), e.reconnecting = !1, e.reconnect(), e.emitAll(\"reconnect_error\", n.data)) : (U(\"reconnect success\"), e.onreconnect());\n }));\n }, t);\n this.subs.push({\n destroy: function() {\n clearTimeout(r);\n }\n });\n }\n};\nF.prototype.onreconnect = function() {\n var e = this.backoff.attempts;\n this.reconnecting = !1, this.backoff.reset(), this.updateSocketIds(), this.emitAll(\"reconnect\", e);\n};\n(function(e, t) {\n var r = Gt, n = ve, i = ut, o = X(\"socket.io-client\");\n e.exports = t = f;\n var s = t.managers = {};\n function f(h, u) {\n typeof h == \"object\" && (u = h, h = void 0), u = u || {};\n var p = r(h), d = p.source, y = p.id, a = p.path, N = s[y] && a in s[y].nsps, k = u.forceNew || u[\"force new connection\"] || u.multiplex === !1 || N, l;\n return k ? (o(\"ignoring socket cache for %s\", d), l = i(d, u)) : (s[y] || (o(\"new io instance for %s\", d), s[y] = i(d, u)), l = s[y]), p.query && !u.query && (u.query = p.query), l.socket(p.path, u);\n }\n t.protocol = n.protocol, t.connect = f, t.Manager = ut, t.Socket = Rt();\n})(Oe, Oe.exports);\nvar pn = Oe.exports;\nconst dn = /* @__PURE__ */ Pt(pn);\nlet le;\nconst yn = new Uint8Array(16);\nfunction gn() {\n if (!le && (le = typeof crypto < \"u\" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !le))\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n return le(yn);\n}\nconst P = [];\nfor (let e = 0; e < 256; ++e)\n P.push((e + 256).toString(16).slice(1));\nfunction vn(e, t = 0) {\n return P[e[t + 0]] + P[e[t + 1]] + P[e[t + 2]] + P[e[t + 3]] + \"-\" + P[e[t + 4]] + P[e[t + 5]] + \"-\" + P[e[t + 6]] + P[e[t + 7]] + \"-\" + P[e[t + 8]] + P[e[t + 9]] + \"-\" + P[e[t + 10]] + P[e[t + 11]] + P[e[t + 12]] + P[e[t + 13]] + P[e[t + 14]] + P[e[t + 15]];\n}\nconst mn = typeof crypto < \"u\" && crypto.randomUUID && crypto.randomUUID.bind(crypto), ft = {\n randomUUID: mn\n};\nfunction bn(e, t, r) {\n if (ft.randomUUID && !t && !e)\n return ft.randomUUID();\n e = e || {};\n const n = e.random || (e.rng || gn)();\n if (n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, t) {\n r = r || 0;\n for (let i = 0; i < 16; ++i)\n t[r + i] = n[i];\n return t;\n }\n return vn(n);\n}\nfunction wn(e, t) {\n const r = t.map((i) => JSON.stringify(i)).join(\" \"), n = (/* @__PURE__ */ new Date()).toISOString();\n return JSON.stringify({\n level: e,\n time: n,\n message: r\n });\n}\nfunction Cn(e, t) {\n const r = JSON.parse(e);\n return t.forEach((n) => delete r[n]), r;\n}\nfunction An(e) {\n if (typeof e == \"object\" && e !== null)\n return e;\n try {\n return JSON.parse(e);\n } catch {\n return { extraData: e };\n }\n}\nfunction En(e) {\n const t = /\\(([^)]+)\\)/, r = e.match(t);\n if (r && r[1]) {\n const n = r[1].split(\";\");\n for (let i of n)\n if (i = i.trim(), i.startsWith(\"Windows\") || i.startsWith(\"Macintosh\") || i.startsWith(\"Linux\"))\n return i;\n }\n return \"Unknown\";\n}\nfunction ht(e) {\n return (...t) => new Promise((r, n) => {\n try {\n const i = e(...t);\n r(i);\n } catch (i) {\n n(i);\n }\n });\n}\nconst Bn = {\n reconnection: !0,\n reconnectionDelay: 5e3,\n reconnectionAttempts: 10,\n //perMessageDeflate: false,\n upgrade: !1,\n transports: [\"websocket\"],\n debug: !1\n}, Ne = {\n logToConsole: !0,\n overloadGlobalConsole: !1,\n socketEmitInterval: 6e4\n}, Fn = {\n CREATE: \"Create\",\n READ: \"Read\",\n UPDATE: \"Update\",\n DELETE: \"Delete\",\n CONVERT: \"Convert\",\n DOWNLOAD: \"Download\",\n UPLOAD: \"Upload\",\n ENCRYPT: \"Encrypt\",\n DECRYPT: \"Decrypt\",\n FILTER: \"Filter\",\n INPUT: \"Input\",\n OUTPUT: \"Output\",\n PLUGIN: \"Plugin\",\n LOGIN: \"Login\",\n LOGOUT: \"Logout\",\n REFRESH: \"Refresh\",\n CHECK: \"Check\",\n WEBHOOK: \"Webhook\",\n WSCONNECT: \"WSConnect\"\n}, kn = {\n Create: 1,\n Read: 2,\n Update: 3,\n Delete: 4,\n Convert: 5,\n Download: 6,\n Upload: 7,\n Encrypt: 8,\n Decrypt: 9,\n Filter: 10,\n Input: 11,\n Output: 12,\n Plugin: 13,\n Login: 14,\n Logout: 15,\n Refresh: 16,\n Check: 17,\n Webhook: 18,\n WSConnect: 19\n}, Nn = {\n INFO: \"info\",\n WARNING: \"warning\",\n MODIFY: \"modify\",\n ERROR: \"error\",\n VIEW: \"view\"\n}, On = {\n INFO: \"info\",\n WARNING: \"warning\",\n ERROR: \"error\",\n DEBUG: \"debug\"\n}, In = {\n USER: \"User\",\n ACCOUNT: \"Account\"\n}, Rn = {\n USER: \"UserName\",\n ACCOUNT: \"AccountName\",\n EXTENSION: \"ExtensionName\"\n}, xn = {\n USER: \"UserID\",\n ACCOUNT: \"AccountID\",\n EXTENSION: \"ExtensionID\"\n}, Tn = {\n USER: \"User ID\",\n ACCOUNT: \"Account ID\",\n EXTENSION: \"Extension ID\",\n CAMPAIGN: \"Campaign ID\",\n QUEUE: \"Queue ID\"\n}, Dn = {\n USER: \"User\",\n ACCOUNT: \"Account\",\n EXTENSION: \"Extension\",\n CAMPAIGN: \"Campaign\",\n QUEUE: \"Queue\"\n};\nlet L = console;\nclass qn {\n /**\n * Initialize storage logger\n * @param options The configuration of the logger.\n */\n constructor(t) {\n O(this, \"logToConsole\");\n O(this, \"overloadGlobalConsole\");\n O(this, \"system\");\n O(this, \"socketEmitInterval\");\n O(this, \"storageId\");\n O(this, \"emitInProgress\");\n O(this, \"queue\");\n O(this, \"processing\");\n O(this, \"storageInitialized\");\n O(this, \"interval\");\n O(this, \"logIndex\");\n O(this, \"socket\");\n O(this, \"staticObject\", {});\n O(this, \"localObject\", {});\n O(this, \"isGetItemAsync\");\n O(this, \"isSetItemAsync\");\n O(this, \"getItem\");\n O(this, \"setItem\");\n O(this, \"parseLog\");\n O(this, \"_logMethod\");\n O(this, \"_warnMethod\");\n O(this, \"_errorMethod\");\n O(this, \"_debugMethod\");\n const { loggerOptions: r } = t;\n if (!r.system)\n throw new Error(\"Config property 'system' should be provided!\");\n this.isGetItemAsync = r.isGetItemAsync || !1, this.isSetItemAsync = r.isSetItemAsync || !1, this.setupStorageFunctions(r.getItem, r.setItem, r.parseLog), this.system = r.system, this.socketEmitInterval = r.socketEmitInterval || Ne.socketEmitInterval, this.logToConsole = r.logToConsole !== void 0 ? r.logToConsole : Ne.logToConsole, this.overloadGlobalConsole = r.overloadGlobalConsole !== void 0 ? r.overloadGlobalConsole : Ne.overloadGlobalConsole, this.storageId = this.getStorageName(), this.queue = [], this.processing = !1, this.storageInitialized = !1, this.emitInProgress = !1, this.logIndex = 0, this.init(t);\n }\n /**\n * Used to setup storage functions and logs parser function.\n * @param getItemFunction Function for getting item from storage.\n * @param setItemFunction Function for setting item to storage.\n * @param parseLogFunction Function for parsing logs.\n * @return void\n */\n setupStorageFunctions(t, r, n) {\n this.getItem = t && typeof t == \"function\" ? this.isGetItemAsync ? t : ht(t) : this.defaultGetItemFunction, this.setItem = r && typeof r == \"function\" ? this.isSetItemAsync ? r : ht(r) : this.defaultSetItemFunction, this.parseLog = n && typeof n == \"function\" ? n : wn;\n }\n /**\n * Used to initialize logger. Initializes storage, establishes socket connection and overloads console if needed\n * @param options The logger config.\n * @return void\n */\n init(t) {\n const { socket: r, url: n, socketOptions: i = {} } = t;\n this._logMethod = L.log.bind(L), this._warnMethod = L.warn.bind(L), this._errorMethod = L.error.bind(L), this._debugMethod = L.debug.bind(L), this.initStorage().then(() => {\n if (r)\n this.socket = r;\n else if (n)\n this.socket = this.createConnection(n, i);\n else\n throw new Error(\"Must provide either a 'socket' or a 'url' for socket connection\");\n this.interval = setInterval(async () => {\n await this.emitLogs();\n }, this.socketEmitInterval), this.overloadGlobalConsole && this._overloadConsole();\n });\n }\n /**\n * Used to initialize new socket connection\n * @param url The url used for the socket connection.\n * @param options The options used for the socket connection.\n * @return void\n */\n createConnection(t, r = {}) {\n const n = {\n ...Bn,\n ...r\n };\n return dn(t, n);\n }\n /**\n * Emits stored logs to the server and clears the log storage in case the emit operation was successful\n * @return {Promise<void>}\n */\n async emitLogs() {\n if (!this.emitInProgress)\n try {\n const t = await this.getItem(this.storageId), r = JSON.parse(t || \"{}\"), n = {\n ...this.localObject,\n ...r\n };\n if (!Object.keys(n).length)\n return;\n const i = [];\n this.emitInProgress = !0;\n const o = Object.keys(n);\n if (!o.length)\n return;\n if (!this.socket || !this.socket.connected)\n throw new Error(\"Socket is disconnected\");\n for (const h of o) {\n const u = An(n[h]), p = {\n ...this.staticObject,\n ...u\n }, d = this.populateSendingLog(p);\n await this.socket.emit(\"Log\", JSON.stringify(d)), i.push(h);\n }\n const s = await this.getItem(this.storageId);\n if (!s)\n return;\n const f = Cn(s, i);\n this.localObject = {}, await this.setItem(this.storageId, JSON.stringify(f));\n } catch (t) {\n this._errorMethod(t);\n } finally {\n this.emitInProgress = !1;\n }\n }\n /**\n * Used to set additional properties for every sending log\n * @return LoggerDataInner\n */\n populateSendingLog(t) {\n const r = {\n ...t\n }, n = r.ActionName;\n return n && (r.ActionID = kn[n]), r;\n }\n /**\n * Used to set a static object which will be send in every message\n * @return void\n */\n setupStaticFields(t) {\n this.staticObject = { ...t };\n }\n /**\n * Used to populate sending message object with static client parameters\n * @return object\n */\n populateMetaData() {\n const t = /* @__PURE__ */ new Date();\n let r;\n typeof window < \"u\" && typeof window.document < \"u\" ? r = window == null ? void 0 : window.navigator.userAgent : typeof self < \"u\" && self.navigator && (r = self.navigator.userAgent);\n let n;\n return r && (n = En(r)), {\n System: this.system,\n DateTime: t,\n UserAgent: r,\n OSVersion: n\n };\n }\n /**\n * Used to stop logger and interrupt socket connection\n * @return void\n */\n async stop() {\n !this.socket || !this.socket.connected || (clearInterval(this.interval), await this.emitLogs(), this.socket.disconnect());\n }\n /**\n * Used to start logger and reconnect socket connection\n * @return void\n */\n async start() {\n this.socket && this.socket.connected || (this.socket.connect(), this.interval = setInterval(async () => {\n await this.emitLogs();\n }, this.socketEmitInterval));\n }\n /**\n * Used to overload the global console object by logger methods.\n * @return void\n */\n _overloadConsole() {\n L = Object.assign(\n L,\n {\n log: (t) => {\n this.log(t);\n },\n warn: (t) => {\n this.warn(t);\n },\n error: (t) => {\n this.error(t);\n },\n debug: (t) => {\n this.debug(t);\n }\n }\n );\n }\n /**\n * Used to initialize the storage if it wasn't created before.\n * @return void\n */\n async initStorage() {\n const t = await this.getItem(this.storageId);\n (!t || typeof t != \"string\") && (await this.setItem(this.storageId, JSON.stringify({})), this.storageInitialized = !0);\n }\n /**\n * Reset log storage\n * @return void\n */\n async resetStorage() {\n await this.setItem(this.storageId, JSON.stringify({}));\n }\n /**\n * Get storage name which is used to access the logs storage\n * @return string\n */\n getStorageName() {\n const t = bn();\n return this.system.toString().toUpperCase() + t + Date.now();\n }\n /**\n * Does common logic for logging data.\n * @param args The arguments of the log where the first argument contains the log level and other\n * arguments are logs to be stored\n * @return void\n */\n async processLog(...t) {\n try {\n if (t.length < 2)\n return;\n const r = t[0], n = t[1], i = this.formItemKey(r);\n if (!this.storageInitialized) {\n this.localObject = {\n ...this.localObject,\n [i]: n\n };\n return;\n }\n const o = await this.getItem(this.storageId);\n if (!o)\n return;\n const s = JSON.parse(o);\n s[i] = JSON.stringify(n), await this.setItem(this.storageId, JSON.stringify(s));\n } catch (r) {\n this._errorMethod(r);\n }\n }\n /**\n * Used to process logs queue.\n * @return Promise<void>\n */\n async processQueue() {\n if (this.processing || this.queue.length === 0)\n return;\n const t = this.queue.shift();\n t && (this.processing = !0, await this.processLog(...t).finally(() => {\n this.processing = !1, this.processQueue();\n }));\n }\n /**\n * Logs info data into the storage\n * @param args The arguments to be logged.\n * @return void\n */\n log(t) {\n const n = {\n ...this.populateMetaData(),\n ...t\n }, i = [\"INFO\", n];\n this.queue.push(i), this.logToConsole && this._logMethod.apply(L, [n]), this.processQueue();\n }\n /**\n * Logs warn data into the storage\n * @param args The arguments to be logged.\n * @return void\n */\n warn(t) {\n const r = [\"WARN\", t];\n this.queue.push(r), this.logToConsole && this._warnMethod.apply(L, [t]), this.processQueue();\n }\n /**\n * Logs error data into the storage\n * @param args The arguments to be logged.\n * @return void\n */\n error(t) {\n const r = [\"ERROR\", t];\n this.queue.push(r), this.logToConsole && this._errorMethod.apply(L, [t]), this.processQueue();\n }\n /**\n * Logs debug data into the storage\n * @param args The arguments to be logged.\n * @return void\n */\n debug(t) {\n const r = [\"DEBUG\", t];\n this.queue.push(r), this.logToConsole && this._debugMethod.apply(L, [t]), this.processQueue();\n }\n /**\n * The default method for getting logs from storage\n * @param storageId The identifier of storage where logs are stored.\n * @return string || null\n */\n async defaultGetItemFunction(t) {\n return localStorage.getItem(t);\n }\n /**\n * The default method for setting logs into the storage\n * @param storageId The identifier of storage where to store the logs.\n * @param logs The logs to be stored.\n * @return void\n */\n async defaultSetItemFunction(t, r) {\n try {\n localStorage.setItem(t, r);\n } catch (n) {\n this._errorMethod(n);\n }\n }\n /**\n * Used to form a key which will be used to store a log in the storage\n * @param level The log level. For example: Info, Warn, Error etc..\n * @return string\n */\n formItemKey(t) {\n const r = (/* @__PURE__ */ new Date()).toISOString();\n return this.logIndex++, `${t}-${this.system}-${r}-${this.logIndex}`;\n }\n}\nexport {\n kn as ActionIDEnum,\n Fn as ActionNameEnum,\n Tn as EntityIDEnum,\n Dn as EntityTypeEnum,\n xn as IdentityIDEnum,\n Rn as IdentityNameEnum,\n In as IdentityTypeEnum,\n On as LevelEnum,\n Nn as LogTypeEnum,\n qn as default,\n Bn as defaultConnectOptions,\n Ne as defaultLoggerOptions\n};\n//# sourceMappingURL=storage-logger.es.js.map\n","import md5 from 'md5'\r\n\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport { ServerParameter } from '@/classes/events-sdk/events-sdk.types'\r\nimport {\r\n ExternalLoginNewStackResponseData,\r\n ExternalLoginOldStackResponseData,\r\n ExternalLoginResponse,\r\n LoginSessionData,\r\n LoginSessionPayload,\r\n Settings\r\n} from '@/types/auth'\r\nimport { LoginType } from '@/enum/auth.enum'\r\nimport { StorageClass } from '@/classes/storage/storage.class'\r\nimport { ActionNameEnum, LevelEnum, LogTypeEnum } from '@voicenter-team/socketio-storage-logger'\r\n\r\nclass AuthClass {\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n\r\n this.storageKey = ''\r\n }\r\n\r\n private delay = 1000\r\n public lastLoginTimestamp: number | undefined\r\n public token: string | undefined\r\n private refreshToken: string | undefined\r\n private tokenExpiry: Date | undefined\r\n\r\n private storageKey: string\r\n\r\n public async login () {\r\n const payload: LoginSessionPayload = {\r\n token: this.eventsSdkClass.options.token && this.eventsSdkClass.options.token,\r\n email: this.eventsSdkClass.options.email && this.eventsSdkClass.options.email,\r\n password: this.eventsSdkClass.options.password && this.eventsSdkClass.options.password\r\n }\r\n\r\n this.storageKey = md5(JSON.stringify({\r\n ...this.eventsSdkClass.options,\r\n loggerSocketConnection: null\r\n }, this.eventsSdkClass.getCircularReplacer()))\r\n\r\n if (this.lastLoginTimestamp && this.lastLoginTimestamp + this.delay > new Date().getTime()) {\r\n return\r\n }\r\n\r\n this.updateLastLoginTimestamp()\r\n\r\n const loginSessionData = await this.checkLoginStatus(this.storageKey)\r\n\r\n if (!loginSessionData) {\r\n StorageClass.clearSessionStorage()\r\n\r\n return await this.userLoginFunction(payload, this.storageKey, this.eventsSdkClass.options.loginType)\r\n }\r\n\r\n return loginSessionData\r\n }\r\n\r\n public updateLastLoginTimestamp () {\r\n this.lastLoginTimestamp = new Date().getTime()\r\n }\r\n\r\n private async checkLoginStatus (key: string): Promise<LoginSessionData | undefined> {\r\n const loginSessionData = await StorageClass.getSessionStorageDataByKey<LoginSessionData>(key)\r\n\r\n if (!loginSessionData) {\r\n return\r\n }\r\n\r\n return loginSessionData\r\n }\r\n\r\n private async userLoginFunction (\r\n payload: LoginSessionPayload,\r\n key: string,\r\n loginType: LoginType,\r\n ) {\r\n let externalLoginResponse\r\n\r\n let settings\r\n\r\n let loginSessionData: Partial<LoginSessionData>\r\n\r\n if (this.eventsSdkClass.options.isNewStack) {\r\n externalLoginResponse = await this.externalLogin<ExternalLoginNewStackResponseData>(\r\n this.eventsSdkClass.options.loginUrl,\r\n payload,\r\n loginType,\r\n )\r\n\r\n settings = await this.getSettings(externalLoginResponse.Data.AccessToken)\r\n\r\n loginSessionData = {\r\n ...externalLoginResponse.Data,\r\n ...settings\r\n }\r\n } else {\r\n externalLoginResponse = await this.externalLogin<ExternalLoginOldStackResponseData>(\r\n this.eventsSdkClass.options.loginUrl,\r\n payload,\r\n loginType,\r\n )\r\n\r\n loginSessionData = {\r\n ...externalLoginResponse.Data.Socket,\r\n }\r\n }\r\n\r\n await StorageClass.updateSessionStorageKey(key, loginSessionData)\r\n\r\n return loginSessionData\r\n }\r\n\r\n public onLoginResponse (loginSessionData: Partial<LoginSessionData>) {\r\n if (!this.eventsSdkClass.options.isNewStack && this.eventsSdkClass.options.servers) {\r\n this.eventsSdkClass.servers = [ ...this.eventsSdkClass.options.servers ]\r\n this.eventsSdkClass.server = this.eventsSdkClass.servers.reduce((prev, current) =>\r\n (prev.Priority > current.Priority) ? prev : current\r\n )\r\n }\r\n if (this.eventsSdkClass.options.isNewStack && this.eventsSdkClass.options.servers) {\r\n this.eventsSdkClass.servers = [ ...this.eventsSdkClass.options.servers ]\r\n this.eventsSdkClass.server = this.eventsSdkClass.servers.reduce((prev, current) =>\r\n (prev.Priority > current.Priority) ? prev : current\r\n )\r\n }\r\n if (loginSessionData.MonitorList && loginSessionData.MonitorList.length) {\r\n this.eventsSdkClass.servers = [ ...loginSessionData.MonitorList ]\r\n this.eventsSdkClass.server = this.eventsSdkClass.servers.reduce((prev, current) =>\r\n (prev.Priority > current.Priority) ? prev : current\r\n )\r\n }\r\n if (!this.eventsSdkClass.options.isNewStack && !this.eventsSdkClass.servers.length && loginSessionData.URLList) {\r\n this.eventsSdkClass.URLList = loginSessionData.URLList\r\n }\r\n if (!this.eventsSdkClass.options.isNewStack && !this.eventsSdkClass.URLList.length && !this.eventsSdkClass.servers.length) {\r\n throw new Error('Socket servers not defined')\r\n }\r\n if (this.eventsSdkClass.options.isNewStack && !this.eventsSdkClass.servers.length) {\r\n throw new Error('Socket servers not defined')\r\n }\r\n if (this.eventsSdkClass.server) {\r\n this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${this.eventsSdkClass.server.Version}`)\r\n }\r\n if (!this.eventsSdkClass.server && this.eventsSdkClass.URLList.length) {\r\n this.eventsSdkClass.socketIoClass.getSocketIoFunction(`v=${loginSessionData.Version}`)\r\n }\r\n if (loginSessionData.IdentityCode) {\r\n this.token = loginSessionData.IdentityCode\r\n this.eventsSdkClass.connect(ServerParameter.MAIN)\r\n }\r\n if (loginSessionData.Token) {\r\n this.token = loginSessionData.Token\r\n this.eventsSdkClass.connect(ServerParameter.MAIN)\r\n }\r\n if (loginSessionData.RefreshToken && loginSessionData.IdentityCodeExpiry && this.eventsSdkClass.options.loginType === LoginType.USER) {\r\n this.refreshToken = loginSessionData.RefreshToken\r\n this.tokenExpiry = loginSessionData.IdentityCodeExpiry\r\n this.handleTokenExpiry()\r\n }\r\n if (loginSessionData.RefreshToken && loginSessionData.TokenExpiry && this.normalizeLoginType(this.eventsSdkClass.options.loginType) === LoginType.USER) {\r\n this.refreshToken = loginSessionData.RefreshToken\r\n this.tokenExpiry = loginSessionData.TokenExpiry\r\n this.handleTokenExpiry()\r\n }\r\n }\r\n\r\n public handleTokenExpiry () {\r\n if (!this.eventsSdkClass.options.refreshTokenUrl) {\r\n throw new Error('refreshTokenUrl not provided')\r\n }\r\n\r\n let date: Date\r\n\r\n if (this.tokenExpiry) {\r\n date = new Date(this.tokenExpiry)\r\n } else {\r\n return\r\n }\r\n\r\n const timeout = date.getTime() - new Date().getTime() - 5000 // 5 seconds before expire\r\n\r\n const maxAllowedTimeout = Math.min(timeout, 0x7FFFFFFF)\r\n\r\n setTimeout(\r\n async () => {\r\n if (this.refreshToken) {\r\n this.eventsSdkClass.socketIoClass.closeAllConnections()\r\n\r\n let settings\r\n\r\n let loginSessionData: Partial<LoginSessionData>\r\n\r\n if (this.eventsSdkClass.options.isNewStack) {\r\n const refreshTokenResponse = await this.externalRefreshToken<ExternalLoginNewStackResponseData>(\r\n this.eventsSdkClass.options.refreshTokenUrl,\r\n this.refreshToken\r\n )\r\n\r\n settings = await this.getSettings(refreshTokenResponse.Data.AccessToken)\r\n\r\n loginSessionData = {\r\n ...refreshTokenResponse.Data,\r\n ...settings\r\n }\r\n } else {\r\n const refreshTokenResponse = await this.externalRefreshToken<ExternalLoginOldStackResponseData>(\r\n this.eventsSdkClass.options.refreshTokenUrl,\r\n this.refreshToken\r\n )\r\n\r\n loginSessionData = {\r\n ...refreshTokenResponse.Data.Socket,\r\n }\r\n }\r\n\r\n this.onLoginResponse(loginSessionData)\r\n\r\n await StorageClass.updateSessionStorageKey(this.storageKey, loginSessionData)\r\n }\r\n },\r\n maxAllowedTimeout)\r\n }\r\n\r\n private async externalLogin<T> (\r\n url: string,\r\n { password, token, email }: LoginSessionPayload,\r\n loginType: LoginType,\r\n ): Promise<ExternalLoginResponse<T>> {\r\n if (!url) {\r\n throw new Error('loginUrl not provided')\r\n }\r\n\r\n let body: string\r\n\r\n if (this.eventsSdkClass.options.isNewStack) {\r\n if (loginType === LoginType.TOKEN) {\r\n body = JSON.stringify({\r\n identityType: LoginType.TOKEN,\r\n token\r\n })\r\n } else {\r\n body = JSON.stringify({\r\n identityType: LoginType.USER,\r\n username: email,\r\n password,\r\n })\r\n }\r\n } else {\r\n if (this.eventsSdkClass.options.loginType === LoginType.TOKEN) {\r\n body = JSON.stringify({ token })\r\n\r\n url = `${url}/${LoginType.TOKEN}`\r\n } else {\r\n body = JSON.stringify({\r\n email,\r\n pin: password\r\n })\r\n\r\n url = `${url}/${LoginType.USER}`\r\n }\r\n }\r\n\r\n try {\r\n const res = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body,\r\n })\r\n\r\n if (!res.ok && res.status === 400) {\r\n throw new Error('Bad body request. Login type or isNewStack values not correct or not provided')\r\n }\r\n\r\n if (!res.ok && res.status === 401) {\r\n throw new Error('Unauthorized. Invalid token provided')\r\n }\r\n\r\n if (!res.ok && res.status === 403) {\r\n throw new Error('Forbidden. Identity token not provided or not valid')\r\n }\r\n\r\n const data = await res.json()\r\n\r\n if (data.error) {\r\n throw new Error(data.error)\r\n }\r\n return data\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `External login request error with the login type ${LoginType} ${loginType === LoginType.TOKEN ? { token } : {\r\n email,\r\n pin: password \r\n }}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'External login error',\r\n StatusCode: 400,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n\r\n throw error\r\n }\r\n }\r\n\r\n private async getSettings (token: string): Promise<Settings> {\r\n try {\r\n if (!this.eventsSdkClass.options.getSettingsUrl) {\r\n throw new Error('getSettingsUrl not provided')\r\n }\r\n\r\n const res = await fetch(this.eventsSdkClass.options.getSettingsUrl, {\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n })\r\n\r\n if (!res.ok && res.status === 401) {\r\n throw new Error('Unauthorized. Access token not provided or not valid')\r\n }\r\n\r\n return res.json()\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Get settings error with token ${token}, error: ${error}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Get settings error',\r\n StatusCode: 400,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n\r\n throw error\r\n }\r\n }\r\n\r\n private async externalRefreshToken<T> (refreshTokenUrl: string, oldRefreshToken: string): Promise<ExternalLoginResponse<T>> {\r\n try {\r\n const res = await fetch(refreshTokenUrl, {\r\n method: 'GET',\r\n\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: `Bearer ${oldRefreshToken}`\r\n }\r\n })\r\n return res.json()\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Refresh token error with old refresh token ${oldRefreshToken}, url: ${refreshTokenUrl}, error: ${error}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Get settings error',\r\n StatusCode: 400,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n\r\n throw error\r\n }\r\n }\r\n\r\n private normalizeLoginType (loginType: string): string {\r\n return loginType.charAt(0).toUpperCase() + loginType.slice(1).toLowerCase()\r\n }\r\n}\r\n\r\nexport default AuthClass\r\n","import type { EventsSdkOptionsMain } from '@/classes/events-sdk/events-sdk.types'\r\n\r\nexport const eventsSdkDefaultOptions: EventsSdkOptionsMain = {\r\n isNewStack: false,\r\n loginUrl: 'https://loginapi.voicenter.co.il/monitorAPI/Login',\r\n refreshTokenUrl: 'https://loginapi.voicenter.co.il/monitorAPI/RefreshIdentityToken',\r\n forceNew: true,\r\n reconnectionDelay: 10000,\r\n // reconnectionDelayMax: 10000,\r\n // maxReconnectAttempts: 5,\r\n timeout: 10000,\r\n keepAliveTimeout: 60000,\r\n // idleInterval: 60000 * 5,\r\n protocol: 'https',\r\n // transports: [ 'websocket' ],\r\n // upgrade: false,\r\n // serverFetchStrategy: 'static',\r\n // serverType: 0,\r\n useLogger: true,\r\n loggerServer: 'https://socketlog.voicenter.co',\r\n loggerConfig: {\r\n logToConsole: true,\r\n overloadGlobalConsole: false,\r\n system: 'events-sdk',\r\n socketEmitInterval: 10000,\r\n },\r\n loggerConnectOptions: {\r\n reconnection: true,\r\n reconnectionDelay: 5000,\r\n reconnectionAttempts: 10,\r\n perMessageDeflate: undefined,\r\n upgrade: false,\r\n transports: [ 'websocket' ],\r\n debug: false\r\n },\r\n}\r\n","/* eslint-disable */\r\nexport default function () {\r\n // Fix for react-native\r\n if (typeof window !== 'undefined') {\r\n if (typeof window.navigator === 'undefined' || typeof window.navigator.userAgent === 'undefined') {\r\n window.navigator.userAgent = 'react-native'\r\n }\r\n }\r\n\r\n var t;\r\n return function e(t, n, r) {\r\n function o(s, a) {\r\n if (!n[s]) {\r\n if (!t[s]) {\r\n var c = \"function\" == typeof require && require;\r\n if (!a && c) return c(s, !0);\r\n if (i) return i(s, !0);\r\n throw new Error(\"Cannot find module '\" + s + \"'\")\r\n }\r\n var p = n[s] = {exports: {}};\r\n t[s][0].call(p.exports, function (e) {\r\n var n = t[s][1][e];\r\n return o(n ? n : e)\r\n }, p, p.exports, e, t, n, r)\r\n }\r\n return n[s].exports\r\n }\r\n\r\n for (var i = \"function\" == typeof require && require, s = 0; s < r.length; s++) o(r[s]);\r\n return o\r\n }({\r\n 1: [function (t, e) {\r\n e.exports = t(\"./lib/\")\r\n }, {\"./lib/\": 2}],\r\n 2: [function (t, e, n) {\r\n function r(t, e) {\r\n \"object\" == typeof t && (e = t, t = void 0), e = e || {};\r\n var n, r = o(t), i = r.source, p = r.id;\r\n return e.forceNew || e[\"force new connection\"] || !1 === e.multiplex ? (a(\"ignoring socket cache for %s\", i), n = s(i, e)) : (c[p] || (a(\"new io instance for %s\", i), c[p] = s(i, e)), n = c[p]), n.socket(r.path)\r\n }\r\n\r\n var o = t(\"./url\"), i = t(\"socket.io-parser\"), s = t(\"./manager\"), a = t(\"debug\")(\"socket.io-client\");\r\n e.exports = n = r;\r\n var c = n.managers = {};\r\n n.protocol = i.protocol, n.connect = r, n.Manager = t(\"./manager\"), n.Socket = t(\"./socket\")\r\n }, {\"./manager\": 3, \"./socket\": 5, \"./url\": 6, debug: 10, \"socket.io-parser\": 44}],\r\n 3: [function (t, e) {\r\n function n(t, e) {\r\n return this instanceof n ? (t && \"object\" == typeof t && (e = t, t = void 0), e = e || {}, e.path = e.path || \"/socket.io\", this.nsps = {}, this.subs = [], this.opts = e, this.reconnection(e.reconnection !== !1), this.reconnectionAttempts(e.reconnectionAttempts || 1 / 0), this.reconnectionDelay(e.reconnectionDelay || 1e3), this.reconnectionDelayMax(e.reconnectionDelayMax || 5e3), this.randomizationFactor(e.randomizationFactor || .5), this.backoff = new f({\r\n min: this.reconnectionDelay(),\r\n max: this.reconnectionDelayMax(),\r\n jitter: this.randomizationFactor()\r\n }), this.timeout(null == e.timeout ? 2e4 : e.timeout), this.readyState = \"closed\", this.uri = t, this.connected = [], this.encoding = !1, this.packetBuffer = [], this.encoder = new s.Encoder, this.decoder = new s.Decoder, this.autoConnect = e.autoConnect !== !1, void (this.autoConnect && this.open())) : new n(t, e)\r\n }\r\n\r\n var r = (t(\"./url\"), t(\"engine.io-client\")), o = t(\"./socket\"), i = t(\"component-emitter\"),\r\n s = t(\"socket.io-parser\"), a = t(\"./on\"), c = t(\"component-bind\"),\r\n p = (t(\"object-component\"), t(\"debug\")(\"socket.io-client:manager\")), u = t(\"indexof\"), f = t(\"backo2\");\r\n e.exports = n, n.prototype.emitAll = function () {\r\n this.emit.apply(this, arguments);\r\n for (var t in this.nsps) this.nsps[t].emit.apply(this.nsps[t], arguments)\r\n }, n.prototype.updateSocketIds = function () {\r\n for (var t in this.nsps) this.nsps[t].id = this.engine.id\r\n }, i(n.prototype), n.prototype.reconnection = function (t) {\r\n return arguments.length ? (this._reconnection = !!t, this) : this._reconnection\r\n }, n.prototype.reconnectionAttempts = function (t) {\r\n return arguments.length ? (this._reconnectionAttempts = t, this) : this._reconnectionAttempts\r\n }, n.prototype.reconnectionDelay = function (t) {\r\n return arguments.length ? (this._reconnectionDelay = t, this.backoff && this.backoff.setMin(t), this) : this._reconnectionDelay\r\n }, n.prototype.randomizationFactor = function (t) {\r\n return arguments.length ? (this._randomizationFactor = t, this.backoff && this.backoff.setJitter(t), this) : this._randomizationFactor\r\n }, n.prototype.reconnectionDelayMax = function (t) {\r\n return arguments.length ? (this._reconnectionDelayMax = t, this.backoff && this.backoff.setMax(t), this) : this._reconnectionDelayMax\r\n }, n.prototype.timeout = function (t) {\r\n return arguments.length ? (this._timeout = t, this) : this._timeout\r\n }, n.prototype.maybeReconnectOnOpen = function () {\r\n !this.reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect()\r\n }, n.prototype.open = n.prototype.connect = function (t) {\r\n if (p(\"readyState %s\", this.readyState), ~this.readyState.indexOf(\"open\")) return this;\r\n p(\"opening %s\", this.uri), this.engine = r(this.uri, this.opts);\r\n var e = this.engine, n = this;\r\n this.readyState = \"opening\", this.skipReconnect = !1;\r\n var o = a(e, \"open\", function () {\r\n n.onopen(), t && t()\r\n }), i = a(e, \"error\", function (e) {\r\n if (p(\"connect_error\"), n.cleanup(), n.readyState = \"closed\", n.emitAll(\"connect_error\", e), t) {\r\n var r = new Error(\"Connection error\");\r\n r.data = e, t(r)\r\n } else n.maybeReconnectOnOpen()\r\n });\r\n if (!1 !== this._timeout) {\r\n var s = this._timeout;\r\n p(\"connect attempt will timeout after %d\", s);\r\n var c = setTimeout(function () {\r\n p(\"connect attempt timed out after %d\", s), o.destroy(), e.close(), e.emit(\"error\", \"timeout\"), n.emitAll(\"connect_timeout\", s)\r\n }, s);\r\n this.subs.push({\r\n destroy: function () {\r\n clearTimeout(c)\r\n }\r\n })\r\n }\r\n return this.subs.push(o), this.subs.push(i), this\r\n }, n.prototype.onopen = function () {\r\n p(\"open\"), this.cleanup(), this.readyState = \"open\", this.emit(\"open\");\r\n var t = this.engine;\r\n this.subs.push(a(t, \"data\", c(this, \"ondata\"))), this.subs.push(a(this.decoder, \"decoded\", c(this, \"ondecoded\"))), this.subs.push(a(t, \"error\", c(this, \"onerror\"))), this.subs.push(a(t, \"close\", c(this, \"onclose\")))\r\n }, n.prototype.ondata = function (t) {\r\n this.decoder.add(t)\r\n }, n.prototype.ondecoded = function (t) {\r\n this.emit(\"packet\", t)\r\n }, n.prototype.onerror = function (t) {\r\n p(\"error\", t), this.emitAll(\"error\", t)\r\n }, n.prototype.socket = function (t) {\r\n var e = this.nsps[t];\r\n if (!e) {\r\n e = new o(this, t), this.nsps[t] = e;\r\n var n = this;\r\n e.on(\"connect\", function () {\r\n e.id = n.engine.id, ~u(n.connected, e) || n.connected.push(e)\r\n })\r\n }\r\n return e\r\n }, n.prototype.destroy = function (t) {\r\n var e = u(this.connected, t);\r\n ~e && this.connected.splice(e, 1), this.connected.length || this.close()\r\n }, n.prototype.packet = function (t) {\r\n p(\"writing packet %j\", t);\r\n var e = this;\r\n e.encoding ? e.packetBuffer.push(t) : (e.encoding = !0, this.encoder.encode(t, function (t) {\r\n for (var n = 0; n < t.length; n++) e.engine.write(t[n]);\r\n e.encoding = !1, e.processPacketQueue()\r\n }))\r\n }, n.prototype.processPacketQueue = function () {\r\n if (this.packetBuffer.length > 0 && !this.encoding) {\r\n var t = this.packetBuffer.shift();\r\n this.packet(t)\r\n }\r\n }, n.prototype.cleanup = function () {\r\n for (var t; t = this.subs.shift();) t.destroy();\r\n this.packetBuffer = [], this.encoding = !1, this.decoder.destroy()\r\n }, n.prototype.close = n.prototype.disconnect = function () {\r\n this.skipReconnect = !0, this.backoff.reset(), this.readyState = \"closed\", this.engine && this.engine.close()\r\n }, n.prototype.onclose = function (t) {\r\n p(\"close\"), this.cleanup(), this.backoff.reset(), this.readyState = \"closed\", this.emit(\"close\", t), this._reconnection && !this.skipReconnect && this.reconnect()\r\n }, n.prototype.reconnect = function () {\r\n if (this.reconnecting || this.skipReconnect) return this;\r\n var t = this;\r\n if (this.backoff.attempts >= this._reconnectionAttempts) p(\"reconnect failed\"), this.backoff.reset(), this.emitAll(\"reconnect_failed\"), this.reconnecting = !1; else {\r\n var e = this.backoff.duration();\r\n p(\"will wait %dms before reconnect attempt\", e), this.reconnecting = !0;\r\n var n = setTimeout(function () {\r\n t.skipReconnect || (p(\"attempting reconnect\"), t.emitAll(\"reconnect_attempt\", t.backoff.attempts), t.emitAll(\"reconnecting\", t.backoff.attempts), t.skipReconnect || t.open(function (e) {\r\n e ? (p(\"reconnect attempt error\"), t.reconnecting = !1, t.reconnect(), t.emitAll(\"reconnect_error\", e.data)) : (p(\"reconnect success\"), t.onreconnect())\r\n }))\r\n }, e);\r\n this.subs.push({\r\n destroy: function () {\r\n clearTimeout(n)\r\n }\r\n })\r\n }\r\n }, n.prototype.onreconnect = function () {\r\n var t = this.backoff.attempts;\r\n this.reconnecting = !1, this.backoff.reset(), this.updateSocketIds(), this.emitAll(\"reconnect\", t)\r\n }\r\n }, {\r\n \"./on\": 4,\r\n \"./socket\": 5,\r\n \"./url\": 6,\r\n backo2: 7,\r\n \"component-bind\": 8,\r\n \"component-emitter\": 9,\r\n debug: 10,\r\n \"engine.io-client\": 11,\r\n indexof: 40,\r\n \"object-component\": 41,\r\n \"socket.io-parser\": 44\r\n }],\r\n 4: [function (t, e) {\r\n function n(t, e, n) {\r\n return t.on(e, n), {\r\n destroy: function () {\r\n t.removeListener(e, n)\r\n }\r\n }\r\n }\r\n\r\n e.exports = n\r\n }, {}],\r\n 5: [function (t, e, n) {\r\n function r(t, e) {\r\n this.io = t, this.nsp = e, this.json = this, this.ids = 0, this.acks = {}, this.io.autoConnect && this.open(), this.receiveBuffer = [], this.sendBuffer = [], this.connected = !1, this.disconnected = !0\r\n }\r\n\r\n var o = t(\"socket.io-parser\"), i = t(\"component-emitter\"), s = t(\"to-array\"), a = t(\"./on\"),\r\n c = t(\"component-bind\"), p = t(\"debug\")(\"socket.io-client:socket\"), u = t(\"has-binary\");\r\n e.exports = n = r;\r\n var f = {\r\n connect: 1,\r\n connect_error: 1,\r\n connect_timeout: 1,\r\n disconnect: 1,\r\n error: 1,\r\n reconnect: 1,\r\n reconnect_attempt: 1,\r\n reconnect_failed: 1,\r\n reconnect_error: 1,\r\n reconnecting: 1\r\n }, h = i.prototype.emit;\r\n i(r.prototype), r.prototype.subEvents = function () {\r\n if (!this.subs) {\r\n var t = this.io;\r\n this.subs = [a(t, \"open\", c(this, \"onopen\")), a(t, \"packet\", c(this, \"onpacket\")), a(t, \"close\", c(this, \"onclose\"))]\r\n }\r\n }, r.prototype.open = r.prototype.connect = function () {\r\n return this.connected ? this : (this.subEvents(), this.io.open(), \"open\" == this.io.readyState && this.onopen(), this)\r\n }, r.prototype.send = function () {\r\n var t = s(arguments);\r\n return t.unshift(\"message\"), this.emit.apply(this, t), this\r\n }, r.prototype.emit = function (t) {\r\n if (f.hasOwnProperty(t)) return h.apply(this, arguments), this;\r\n var e = s(arguments), n = o.EVENT;\r\n u(e) && (n = o.BINARY_EVENT);\r\n var r = {type: n, data: e};\r\n return \"function\" == typeof e[e.length - 1] && (p(\"emitting packet with ack id %d\", this.ids), this.acks[this.ids] = e.pop(), r.id = this.ids++), this.connected ? this.packet(r) : this.sendBuffer.push(r), this\r\n }, r.prototype.packet = function (t) {\r\n t.nsp = this.nsp, this.io.packet(t)\r\n }, r.prototype.onopen = function () {\r\n p(\"transport is open - connecting\"), \"/\" != this.nsp && this.packet({type: o.CONNECT})\r\n }, r.prototype.onclose = function (t) {\r\n p(\"close (%s)\", t), this.connected = !1, this.disconnected = !0, delete this.id, this.emit(\"disconnect\", t)\r\n }, r.prototype.onpacket = function (t) {\r\n if (t.nsp == this.nsp) switch (t.type) {\r\n case o.CONNECT:\r\n this.onconnect();\r\n break;\r\n case o.EVENT:\r\n this.onevent(t);\r\n break;\r\n case o.BINARY_EVENT:\r\n this.onevent(t);\r\n break;\r\n case o.ACK:\r\n this.onack(t);\r\n break;\r\n case o.BINARY_ACK:\r\n this.onack(t);\r\n break;\r\n case o.DISCONNECT:\r\n this.ondisconnect();\r\n break;\r\n case o.ERROR:\r\n this.emit(\"error\", t.data)\r\n }\r\n }, r.prototype.onevent = function (t) {\r\n var e = t.data || [];\r\n p(\"emitting event %j\", e), null != t.id && (p(\"attaching ack callback to event\"), e.push(this.ack(t.id))), this.connected ? h.apply(this, e) : this.receiveBuffer.push(e)\r\n }, r.prototype.ack = function (t) {\r\n var e = this, n = !1;\r\n return function () {\r\n if (!n) {\r\n n = !0;\r\n var r = s(arguments);\r\n p(\"sending ack %j\", r);\r\n var i = u(r) ? o.BINARY_ACK : o.ACK;\r\n e.packet({type: i, id: t, data: r})\r\n }\r\n }\r\n }, r.prototype.onack = function (t) {\r\n p(\"calling ack %s with %j\", t.id, t.data);\r\n var e = this.acks[t.id];\r\n e.apply(this, t.data), delete this.acks[t.id]\r\n }, r.prototype.onconnect = function () {\r\n this.connected = !0, this.disconnected = !1, this.emit(\"connect\"), this.emitBuffered()\r\n }, r.prototype.emitBuffered = function () {\r\n var t;\r\n for (t = 0; t < this.receiveBuffer.length; t++) h.apply(this, this.receiveBuffer[t]);\r\n for (this.receiveBuffer = [], t = 0; t < this.sendBuffer.length; t++) this.packet(this.sendBuffer[t]);\r\n this.sendBuffer = []\r\n }, r.prototype.ondisconnect = function () {\r\n p(\"server disconnect (%s)\", this.nsp), this.destroy(), this.onclose(\"io server disconnect\")\r\n }, r.prototype.destroy = function () {\r\n if (this.subs) {\r\n for (var t = 0; t < this.subs.length; t++) this.subs[t].destroy();\r\n this.subs = null\r\n }\r\n this.io.destroy(this)\r\n }, r.prototype.close = r.prototype.disconnect = function () {\r\n return this.connected && (p(\"performing disconnect (%s)\", this.nsp), this.packet({type: o.DISCONNECT})), this.destroy(), this.connected && this.onclose(\"io client disconnect\"), this\r\n }\r\n }, {\r\n \"./on\": 4,\r\n \"component-bind\": 8,\r\n \"component-emitter\": 9,\r\n debug: 10,\r\n \"has-binary\": 36,\r\n \"socket.io-parser\": 44,\r\n \"to-array\": 48\r\n }],\r\n 6: [function (t, e) {\r\n (function (n) {\r\n function r(t, e) {\r\n var r = t, e = e || n.location;\r\n return null == t && (t = e.protocol + \"//\" + e.host), \"string\" == typeof t && (\"/\" == t.charAt(0) && (t = \"/\" == t.charAt(1) ? e.protocol + t : e.hostname + t), /^(https?|wss?):\\/\\//.test(t) || (i(\"protocol-less url %s\", t), t = \"undefined\" != typeof e ? e.protocol + \"//\" + t : \"https://\" + t), i(\"parse %s\", t), r = o(t)), r.port || (/^(http|ws)$/.test(r.protocol) ? r.port = \"80\" : /^(http|ws)s$/.test(r.protocol) && (r.port = \"443\")), r.path = r.path || \"/\", r.id = r.protocol + \"://\" + r.host + \":\" + r.port, r.href = r.protocol + \"://\" + r.host + (e && e.port == r.port ? \"\" : \":\" + r.port), r\r\n }\r\n\r\n var o = t(\"parseuri\"), i = t(\"debug\")(\"socket.io-client:url\");\r\n e.exports = r\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {debug: 10, parseuri: 42}],\r\n 7: [function (t, e) {\r\n function n(t) {\r\n t = t || {}, this.ms = t.min || 100, this.max = t.max || 1e4, this.factor = t.factor || 2, this.jitter = t.jitter > 0 && t.jitter <= 1 ? t.jitter : 0, this.attempts = 0\r\n }\r\n\r\n e.exports = n, n.prototype.duration = function () {\r\n var t = this.ms * Math.pow(this.factor, this.attempts++);\r\n if (this.jitter) {\r\n var e = Math.random(), n = Math.floor(e * this.jitter * t);\r\n t = 0 == (1 & Math.floor(10 * e)) ? t - n : t + n\r\n }\r\n return 0 | Math.min(t, this.max)\r\n }, n.prototype.reset = function () {\r\n this.attempts = 0\r\n }, n.prototype.setMin = function (t) {\r\n this.ms = t\r\n }, n.prototype.setMax = function (t) {\r\n this.max = t\r\n }, n.prototype.setJitter = function (t) {\r\n this.jitter = t\r\n }\r\n }, {}],\r\n 8: [function (t, e) {\r\n var n = [].slice;\r\n e.exports = function (t, e) {\r\n if (\"string\" == typeof e && (e = t[e]), \"function\" != typeof e) throw new Error(\"bind() requires a function\");\r\n var r = n.call(arguments, 2);\r\n return function () {\r\n return e.apply(t, r.concat(n.call(arguments)))\r\n }\r\n }\r\n }, {}],\r\n 9: [function (t, e) {\r\n function n(t) {\r\n return t ? r(t) : void 0\r\n }\r\n\r\n function r(t) {\r\n for (var e in n.prototype) t[e] = n.prototype[e];\r\n return t\r\n }\r\n\r\n e.exports = n, n.prototype.on = n.prototype.addEventListener = function (t, e) {\r\n return this._callbacks = this._callbacks || {}, (this._callbacks[t] = this._callbacks[t] || []).push(e), this\r\n }, n.prototype.once = function (t, e) {\r\n function n() {\r\n r.off(t, n), e.apply(this, arguments)\r\n }\r\n\r\n var r = this;\r\n return this._callbacks = this._callbacks || {}, n.fn = e, this.on(t, n), this\r\n }, n.prototype.off = n.prototype.removeListener = n.prototype.removeAllListeners = n.prototype.removeEventListener = function (t, e) {\r\n if (this._callbacks = this._callbacks || {}, 0 == arguments.length) return this._callbacks = {}, this;\r\n var n = this._callbacks[t];\r\n if (!n) return this;\r\n if (1 == arguments.length) return delete this._callbacks[t], this;\r\n for (var r, o = 0; o < n.length; o++) if (r = n[o], r === e || r.fn === e) {\r\n n.splice(o, 1);\r\n break\r\n }\r\n return this\r\n }, n.prototype.emit = function (t) {\r\n this._callbacks = this._callbacks || {};\r\n var e = [].slice.call(arguments, 1), n = this._callbacks[t];\r\n if (n) {\r\n n = n.slice(0);\r\n for (var r = 0, o = n.length; o > r; ++r) n[r].apply(this, e)\r\n }\r\n return this\r\n }, n.prototype.listeners = function (t) {\r\n return this._callbacks = this._callbacks || {}, this._callbacks[t] || []\r\n }, n.prototype.hasListeners = function (t) {\r\n return !!this.listeners(t).length\r\n }\r\n }, {}],\r\n 10: [function (t, e) {\r\n function n(t) {\r\n return n.enabled(t) ? function (e) {\r\n e = r(e);\r\n var o = new Date, i = o - (n[t] || o);\r\n n[t] = o, e = t + \" \" + e + \" +\" + n.humanize(i), window.console && console.log && Function.prototype.apply.call(console.log, console, arguments)\r\n } : function () {\r\n }\r\n }\r\n\r\n function r(t) {\r\n return t instanceof Error ? t.stack || t.message : t\r\n }\r\n\r\n e.exports = n, n.names = [], n.skips = [], n.enable = function (t) {\r\n try {\r\n localStorage.debug = t\r\n } catch (e) {\r\n }\r\n for (var r = (t || \"\").split(/[\\s,]+/), o = r.length, i = 0; o > i; i++) t = r[i].replace(\"*\", \".*?\"), \"-\" === t[0] ? n.skips.push(new RegExp(\"^\" + t.substr(1) + \"$\")) : n.names.push(new RegExp(\"^\" + t + \"$\"))\r\n }, n.disable = function () {\r\n n.enable(\"\")\r\n }, n.humanize = function (t) {\r\n var e = 1e3, n = 6e4, r = 60 * n;\r\n return t >= r ? (t / r).toFixed(1) + \"h\" : t >= n ? (t / n).toFixed(1) + \"m\" : t >= e ? (t / e | 0) + \"s\" : t + \"ms\"\r\n }, n.enabled = function (t) {\r\n for (var e = 0, r = n.skips.length; r > e; e++) if (n.skips[e].test(t)) return !1;\r\n for (var e = 0, r = n.names.length; r > e; e++) if (n.names[e].test(t)) return !0;\r\n return !1\r\n };\r\n try {\r\n window.localStorage && n.enable(localStorage.debug)\r\n } catch (o) {\r\n }\r\n }, {}],\r\n 11: [function (t, e) {\r\n e.exports = t(\"./lib/\")\r\n }, {\"./lib/\": 12}],\r\n 12: [function (t, e) {\r\n e.exports = t(\"./socket\"), e.exports.parser = t(\"engine.io-parser\")\r\n }, {\"./socket\": 13, \"engine.io-parser\": 25}],\r\n 13: [function (t, e) {\r\n (function (n) {\r\n function r(t, e) {\r\n if (!(this instanceof r)) return new r(t, e);\r\n if (e = e || {}, t && \"object\" == typeof t && (e = t, t = null), t && (t = u(t), e.host = t.host, e.secure = \"https\" == t.protocol || \"wss\" == t.protocol, e.port = t.port, t.query && (e.query = t.query)), this.secure = null != e.secure ? e.secure : n.location && \"https:\" == location.protocol, e.host) {\r\n var o = e.host.split(\":\");\r\n e.hostname = o.shift(), o.length ? e.port = o.pop() : e.port || (e.port = this.secure ? \"443\" : \"80\")\r\n }\r\n this.agent = e.agent || !1, this.hostname = e.hostname || (n.location ? location.hostname : \"localhost\"), this.port = e.port || (n.location && location.port ? location.port : this.secure ? 443 : 80), this.query = e.query || {}, \"string\" == typeof this.query && (this.query = h.decode(this.query)), this.upgrade = !1 !== e.upgrade, this.path = (e.path || \"/engine.io\").replace(/\\/$/, \"\") + \"/\", this.forceJSONP = !!e.forceJSONP, this.jsonp = !1 !== e.jsonp, this.forceBase64 = !!e.forceBase64, this.enablesXDR = !!e.enablesXDR, this.timestampParam = e.timestampParam || \"t\", this.timestampRequests = e.timestampRequests, this.transports = e.transports || [\"polling\", \"websocket\"], this.readyState = \"\", this.writeBuffer = [], this.callbackBuffer = [], this.policyPort = e.policyPort || 843, this.rememberUpgrade = e.rememberUpgrade || !1, this.binaryType = null, this.onlyBinaryUpgrades = e.onlyBinaryUpgrades, this.pfx = e.pfx || null, this.key = e.key || null, this.passphrase = e.passphrase || null, this.cert = e.cert || null, this.ca = e.ca || null, this.ciphers = e.ciphers || null, this.rejectUnauthorized = e.rejectUnauthorized || null, this.open()\r\n }\r\n\r\n function o(t) {\r\n var e = {};\r\n for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);\r\n return e\r\n }\r\n\r\n var i = t(\"./transports\"), s = t(\"component-emitter\"), a = t(\"debug\")(\"engine.io-client:socket\"),\r\n c = t(\"indexof\"), p = t(\"engine.io-parser\"), u = t(\"parseuri\"), f = t(\"parsejson\"),\r\n h = t(\"parseqs\");\r\n e.exports = r, r.priorWebsocketSuccess = !1, s(r.prototype), r.protocol = p.protocol, r.Socket = r, r.Transport = t(\"./transport\"), r.transports = t(\"./transports\"), r.parser = t(\"engine.io-parser\"), r.prototype.createTransport = function (t) {\r\n a('creating transport \"%s\"', t);\r\n var e = o(this.query);\r\n e.EIO = p.protocol, e.transport = t, this.id && (e.sid = this.id);\r\n var n = new i[t]({\r\n agent: this.agent,\r\n hostname: this.hostname,\r\n port: this.port,\r\n secure: this.secure,\r\n path: this.path,\r\n query: e,\r\n forceJSONP: this.forceJSONP,\r\n jsonp: this.jsonp,\r\n forceBase64: this.forceBase64,\r\n enablesXDR: this.enablesXDR,\r\n timestampRequests: this.timestampRequests,\r\n timestampParam: this.timestampParam,\r\n policyPort: this.policyPort,\r\n socket: this,\r\n pfx: this.pfx,\r\n key: this.key,\r\n passphrase: this.passphrase,\r\n cert: this.cert,\r\n ca: this.ca,\r\n ciphers: this.ciphers,\r\n rejectUnauthorized: this.rejectUnauthorized\r\n });\r\n return n\r\n }, r.prototype.open = function () {\r\n var t;\r\n if (this.rememberUpgrade && r.priorWebsocketSuccess && -1 != this.transports.indexOf(\"websocket\")) t = \"websocket\"; else {\r\n if (0 == this.transports.length) {\r\n var e = this;\r\n return void setTimeout(function () {\r\n e.emit(\"error\", \"No transports available\")\r\n }, 0)\r\n }\r\n t = this.transports[0]\r\n }\r\n this.readyState = \"opening\";\r\n var t;\r\n try {\r\n t = this.createTransport(t)\r\n } catch (n) {\r\n return this.transports.shift(), void this.open()\r\n }\r\n t.open(), this.setTransport(t)\r\n }, r.prototype.setTransport = function (t) {\r\n a(\"setting transport %s\", t.name);\r\n var e = this;\r\n this.transport && (a(\"clearing existing transport %s\", this.transport.name), this.transport.removeAllListeners()), this.transport = t, t.on(\"drain\", function () {\r\n e.onDrain()\r\n }).on(\"packet\", function (t) {\r\n e.onPacket(t)\r\n }).on(\"error\", function (t) {\r\n e.onError(t)\r\n }).on(\"close\", function () {\r\n e.onClose(\"transport close\")\r\n })\r\n }, r.prototype.probe = function (t) {\r\n function e() {\r\n if (h.onlyBinaryUpgrades) {\r\n var e = !this.supportsBinary && h.transport.supportsBinary;\r\n f = f || e\r\n }\r\n f || (a('probe transport \"%s\" opened', t), u.send([{\r\n type: \"ping\",\r\n data: \"probe\"\r\n }]), u.once(\"packet\", function (e) {\r\n if (!f) if (\"pong\" == e.type && \"probe\" == e.data) {\r\n if (a('probe transport \"%s\" pong', t), h.upgrading = !0, h.emit(\"upgrading\", u), !u) return;\r\n r.priorWebsocketSuccess = \"websocket\" == u.name, a('pausing current transport \"%s\"', h.transport.name), h.transport.pause(function () {\r\n f || \"closed\" != h.readyState && (a(\"changing transport and sending upgrade packet\"), p(), h.setTransport(u), u.send([{type: \"upgrade\"}]), h.emit(\"upgrade\", u), u = null, h.upgrading = !1, h.flush())\r\n })\r\n } else {\r\n a('probe transport \"%s\" failed', t);\r\n var n = new Error(\"probe error\");\r\n n.transport = u.name, h.emit(\"upgradeError\", n)\r\n }\r\n }))\r\n }\r\n\r\n function n() {\r\n f || (f = !0, p(), u.close(), u = null)\r\n }\r\n\r\n function o(e) {\r\n var r = new Error(\"probe error: \" + e);\r\n r.transport = u.name, n(), a('probe transport \"%s\" failed because of error: %s', t, e), h.emit(\"upgradeError\", r)\r\n }\r\n\r\n function i() {\r\n o(\"transport closed\")\r\n }\r\n\r\n function s() {\r\n o(\"socket closed\")\r\n }\r\n\r\n function c(t) {\r\n u && t.name != u.name && (a('\"%s\" works - aborting \"%s\"', t.name, u.name), n())\r\n }\r\n\r\n function p() {\r\n u.removeListener(\"open\", e), u.removeListener(\"error\", o), u.removeListener(\"close\", i), h.removeListener(\"close\", s), h.removeListener(\"upgrading\", c)\r\n }\r\n\r\n a('probing transport \"%s\"', t);\r\n var u = this.createTransport(t, {probe: 1}), f = !1, h = this;\r\n r.priorWebsocketSuccess = !1, u.once(\"open\", e), u.once(\"error\", o), u.once(\"close\", i), this.once(\"close\", s), this.once(\"upgrading\", c), u.open()\r\n }, r.prototype.onOpen = function () {\r\n if (a(\"socket open\"), this.readyState = \"open\", r.priorWebsocketSuccess = \"websocket\" == this.transport.name, this.emit(\"open\"), this.flush(), \"open\" == this.readyState && this.upgrade && this.transport.pause) {\r\n a(\"starting upgrade probes\");\r\n for (var t = 0, e = this.upgrades.length; e > t; t++) this.probe(this.upgrades[t])\r\n }\r\n }, r.prototype.onPacket = function (t) {\r\n if (\"opening\" == this.readyState || \"open\" == this.readyState) switch (a('socket receive: type \"%s\", data \"%s\"', t.type, t.data), this.emit(\"packet\", t), this.emit(\"heartbeat\"), t.type) {\r\n case\"open\":\r\n this.onHandshake(f(t.data));\r\n break;\r\n case\"pong\":\r\n this.setPing();\r\n break;\r\n case\"error\":\r\n var e = new Error(\"server error\");\r\n e.code = t.data, this.emit(\"error\", e);\r\n break;\r\n case\"message\":\r\n this.emit(\"data\", t.data), this.emit(\"message\", t.data)\r\n } else a('packet received with socket readyState \"%s\"', this.readyState)\r\n }, r.prototype.onHandshake = function (t) {\r\n this.emit(\"handshake\", t), this.id = t.sid, this.transport.query.sid = t.sid, this.upgrades = this.filterUpgrades(t.upgrades), this.pingInterval = t.pingInterval, this.pingTimeout = t.pingTimeout, this.onOpen(), \"closed\" != this.readyState && (this.setPing(), this.removeListener(\"heartbeat\", this.onHeartbeat), this.on(\"heartbeat\", this.onHeartbeat))\r\n }, r.prototype.onHeartbeat = function (t) {\r\n clearTimeout(this.pingTimeoutTimer);\r\n var e = this;\r\n e.pingTimeoutTimer = setTimeout(function () {\r\n \"closed\" != e.readyState && e.onClose(\"ping timeout\")\r\n }, t || e.pingInterval + e.pingTimeout)\r\n }, r.prototype.setPing = function () {\r\n var t = this;\r\n clearTimeout(t.pingIntervalTimer), t.pingIntervalTimer = setTimeout(function () {\r\n a(\"writing ping packet - expecting pong within %sms\", t.pingTimeout), t.ping(), t.onHeartbeat(t.pingTimeout)\r\n }, t.pingInterval)\r\n }, r.prototype.ping = function () {\r\n this.sendPacket(\"ping\")\r\n }, r.prototype.onDrain = function () {\r\n for (var t = 0; t < this.prevBufferLen; t++) this.callbackBuffer[t] && this.callbackBuffer[t]();\r\n this.writeBuffer.splice(0, this.prevBufferLen), this.callbackBuffer.splice(0, this.prevBufferLen), this.prevBufferLen = 0, 0 == this.writeBuffer.length ? this.emit(\"drain\") : this.flush()\r\n }, r.prototype.flush = function () {\r\n \"closed\" != this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length && (a(\"flushing %d packets in socket\", this.writeBuffer.length), this.transport.send(this.writeBuffer), this.prevBufferLen = this.writeBuffer.length, this.emit(\"flush\"))\r\n }, r.prototype.write = r.prototype.send = function (t, e) {\r\n return this.sendPacket(\"message\", t, e), this\r\n }, r.prototype.sendPacket = function (t, e, n) {\r\n if (\"closing\" != this.readyState && \"closed\" != this.readyState) {\r\n var r = {type: t, data: e};\r\n this.emit(\"packetCreate\", r), this.writeBuffer.push(r), this.callbackBuffer.push(n), this.flush()\r\n }\r\n }, r.prototype.close = function () {\r\n function t() {\r\n r.onClose(\"forced close\"), a(\"socket closing - telling transport to close\"), r.transport.close()\r\n }\r\n\r\n function e() {\r\n r.removeListener(\"upgrade\", e), r.removeListener(\"upgradeError\", e), t()\r\n }\r\n\r\n function n() {\r\n r.once(\"upgrade\", e), r.once(\"upgradeError\", e)\r\n }\r\n\r\n if (\"opening\" == this.readyState || \"open\" == this.readyState) {\r\n this.readyState = \"closing\";\r\n var r = this;\r\n this.writeBuffer.length ? this.once(\"drain\", function () {\r\n this.upgrading ? n() : t()\r\n }) : this.upgrading ? n() : t()\r\n }\r\n return this\r\n }, r.prototype.onError = function (t) {\r\n a(\"socket error %j\", t), r.priorWebsocketSuccess = !1, this.emit(\"error\", t), this.onClose(\"transport error\", t)\r\n }, r.prototype.onClose = function (t, e) {\r\n if (\"opening\" == this.readyState || \"open\" == this.readyState || \"closing\" == this.readyState) {\r\n a('socket close with reason: \"%s\"', t);\r\n var n = this;\r\n clearTimeout(this.pingIntervalTimer), clearTimeout(this.pingTimeoutTimer), setTimeout(function () {\r\n n.writeBuffer = [], n.callbackBuffer = [], n.prevBufferLen = 0\r\n }, 0), this.transport.removeAllListeners(\"close\"), this.transport.close(), this.transport.removeAllListeners(), this.readyState = \"closed\", this.id = null, this.emit(\"close\", t, e)\r\n }\r\n }, r.prototype.filterUpgrades = function (t) {\r\n for (var e = [], n = 0, r = t.length; r > n; n++) ~c(this.transports, t[n]) && e.push(t[n]);\r\n return e\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\r\n \"./transport\": 14,\r\n \"./transports\": 15,\r\n \"component-emitter\": 9,\r\n debug: 22,\r\n \"engine.io-parser\": 25,\r\n indexof: 40,\r\n parsejson: 32,\r\n parseqs: 33,\r\n parseuri: 34\r\n }],\r\n 14: [function (t, e) {\r\n function n(t) {\r\n this.path = t.path, this.hostname = t.hostname, this.port = t.port, this.secure = t.secure, this.query = t.query, this.timestampParam = t.timestampParam, this.timestampRequests = t.timestampRequests, this.readyState = \"\", this.agent = t.agent || !1, this.socket = t.socket, this.enablesXDR = t.enablesXDR, this.pfx = t.pfx, this.key = t.key, this.passphrase = t.passphrase, this.cert = t.cert, this.ca = t.ca, this.ciphers = t.ciphers, this.rejectUnauthorized = t.rejectUnauthorized\r\n }\r\n\r\n var r = t(\"engine.io-parser\"), o = t(\"component-emitter\");\r\n e.exports = n, o(n.prototype), n.timestamps = 0, n.prototype.onError = function (t, e) {\r\n var n = new Error(t);\r\n return n.type = \"TransportError\", n.description = e, this.emit(\"error\", n), this\r\n }, n.prototype.open = function () {\r\n return (\"closed\" == this.readyState || \"\" == this.readyState) && (this.readyState = \"opening\", this.doOpen()), this\r\n }, n.prototype.close = function () {\r\n return (\"opening\" == this.readyState || \"open\" == this.readyState) && (this.doClose(), this.onClose()), this\r\n }, n.prototype.send = function (t) {\r\n if (\"open\" != this.readyState) throw new Error(\"Transport not open\");\r\n this.write(t)\r\n }, n.prototype.onOpen = function () {\r\n this.readyState = \"open\", this.writable = !0, this.emit(\"open\")\r\n }, n.prototype.onData = function (t) {\r\n var e = r.decodePacket(t, this.socket.binaryType);\r\n this.onPacket(e)\r\n }, n.prototype.onPacket = function (t) {\r\n this.emit(\"packet\", t)\r\n }, n.prototype.onClose = function () {\r\n this.readyState = \"closed\", this.emit(\"close\")\r\n }\r\n }, {\"component-emitter\": 9, \"engine.io-parser\": 25}],\r\n 15: [function (t, e, n) {\r\n (function (e) {\r\n function r(t) {\r\n var n, r = !1, a = !1, c = !1 !== t.jsonp;\r\n if (e.location) {\r\n var p = \"https:\" == location.protocol, u = location.port;\r\n u || (u = p ? 443 : 80), r = t.hostname != location.hostname || u != t.port, a = t.secure != p\r\n }\r\n if (t.xdomain = r, t.xscheme = a, n = new o(t), \"open\" in n && !t.forceJSONP) return new i(t);\r\n if (!c) throw new Error(\"JSONP disabled\");\r\n return new s(t)\r\n }\r\n\r\n var o = t(\"xmlhttprequest\"), i = t(\"./polling-xhr\"), s = t(\"./polling-jsonp\"), a = t(\"./websocket\");\r\n n.polling = r, n.websocket = a\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\"./polling-jsonp\": 16, \"./polling-xhr\": 17, \"./websocket\": 19, xmlhttprequest: 20}],\r\n 16: [function (t, e) {\r\n (function (n) {\r\n function r() {\r\n }\r\n\r\n function o(t) {\r\n i.call(this, t), this.query = this.query || {}, a || (n.___eio || (n.___eio = []), a = n.___eio), this.index = a.length;\r\n var e = this;\r\n a.push(function (t) {\r\n e.onData(t)\r\n }), this.query.j = this.index, n.document && n.addEventListener && n.addEventListener(\"beforeunload\", function () {\r\n e.script && (e.script.onerror = r)\r\n }, !1)\r\n }\r\n\r\n var i = t(\"./polling\"), s = t(\"component-inherit\");\r\n e.exports = o;\r\n var a, c = /\\n/g, p = /\\\\n/g;\r\n s(o, i), o.prototype.supportsBinary = !1, o.prototype.doClose = function () {\r\n this.script && (this.script.parentNode.removeChild(this.script), this.script = null), this.form && (this.form.parentNode.removeChild(this.form), this.form = null, this.iframe = null), i.prototype.doClose.call(this)\r\n }, o.prototype.doPoll = function () {\r\n var t = this, e = document.createElement(\"script\");\r\n this.script && (this.script.parentNode.removeChild(this.script), this.script = null), e.async = !0, e.src = this.uri(), e.onerror = function (e) {\r\n t.onError(\"jsonp poll error\", e)\r\n };\r\n var n = document.getElementsByTagName(\"script\")[0];\r\n n.parentNode.insertBefore(e, n), this.script = e;\r\n var r = \"undefined\" != typeof navigator && /gecko/i.test(navigator.userAgent);\r\n r && setTimeout(function () {\r\n var t = document.createElement(\"iframe\");\r\n document.body.appendChild(t), document.body.removeChild(t)\r\n }, 100)\r\n }, o.prototype.doWrite = function (t, e) {\r\n function n() {\r\n r(), e()\r\n }\r\n\r\n function r() {\r\n if (o.iframe) try {\r\n o.form.removeChild(o.iframe)\r\n } catch (t) {\r\n o.onError(\"jsonp polling iframe removal error\", t)\r\n }\r\n try {\r\n var e = '<iframe src=\"javascript:0\" name=\"' + o.iframeId + '\">';\r\n i = document.createElement(e)\r\n } catch (t) {\r\n i = document.createElement(\"iframe\"), i.name = o.iframeId, i.src = \"javascript:0\"\r\n }\r\n i.id = o.iframeId, o.form.appendChild(i), o.iframe = i\r\n }\r\n\r\n var o = this;\r\n if (!this.form) {\r\n var i, s = document.createElement(\"form\"), a = document.createElement(\"textarea\"),\r\n u = this.iframeId = \"eio_iframe_\" + this.index;\r\n s.className = \"socketio\", s.style.position = \"absolute\", s.style.top = \"-1000px\", s.style.left = \"-1000px\", s.target = u, s.method = \"POST\", s.setAttribute(\"accept-charset\", \"utf-8\"), a.name = \"d\", s.appendChild(a), document.body.appendChild(s), this.form = s, this.area = a\r\n }\r\n this.form.action = this.uri(), r(), t = t.replace(p, \"\\\\\\n\"), this.area.value = t.replace(c, \"\\\\n\");\r\n try {\r\n this.form.submit()\r\n } catch (f) {\r\n }\r\n this.iframe.attachEvent ? this.iframe.onreadystatechange = function () {\r\n \"complete\" == o.iframe.readyState && n()\r\n } : this.iframe.onload = n\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\"./polling\": 18, \"component-inherit\": 21}],\r\n 17: [function (t, e) {\r\n (function (n) {\r\n function r() {\r\n }\r\n\r\n function o(t) {\r\n if (c.call(this, t), n.location) {\r\n var e = \"https:\" == location.protocol, r = location.port;\r\n r || (r = e ? 443 : 80), this.xd = t.hostname != n.location.hostname || r != t.port, this.xs = t.secure != e\r\n }\r\n }\r\n\r\n function i(t) {\r\n this.method = t.method || \"GET\", this.uri = t.uri, this.xd = !!t.xd, this.xs = !!t.xs, this.async = !1 !== t.async, this.data = void 0 != t.data ? t.data : null, this.agent = t.agent, this.isBinary = t.isBinary, this.supportsBinary = t.supportsBinary, this.enablesXDR = t.enablesXDR, this.pfx = t.pfx, this.key = t.key, this.passphrase = t.passphrase, this.cert = t.cert, this.ca = t.ca, this.ciphers = t.ciphers, this.rejectUnauthorized = t.rejectUnauthorized, this.create()\r\n }\r\n\r\n function s() {\r\n for (var t in i.requests) i.requests.hasOwnProperty(t) && i.requests[t].abort()\r\n }\r\n\r\n var a = t(\"xmlhttprequest\"), c = t(\"./polling\"), p = t(\"component-emitter\"), u = t(\"component-inherit\"),\r\n f = t(\"debug\")(\"engine.io-client:polling-xhr\");\r\n e.exports = o, e.exports.Request = i, u(o, c), o.prototype.supportsBinary = !0, o.prototype.request = function (t) {\r\n return t = t || {}, t.uri = this.uri(), t.xd = this.xd, t.xs = this.xs, t.agent = this.agent || !1, t.supportsBinary = this.supportsBinary, t.enablesXDR = this.enablesXDR, t.pfx = this.pfx, t.key = this.key, t.passphrase = this.passphrase, t.cert = this.cert, t.ca = this.ca, t.ciphers = this.ciphers, t.rejectUnauthorized = this.rejectUnauthorized, new i(t)\r\n }, o.prototype.doWrite = function (t, e) {\r\n var n = \"string\" != typeof t && void 0 !== t,\r\n r = this.request({method: \"POST\", data: t, isBinary: n}), o = this;\r\n r.on(\"success\", e), r.on(\"error\", function (t) {\r\n o.onError(\"xhr post error\", t)\r\n }), this.sendXhr = r\r\n }, o.prototype.doPoll = function () {\r\n f(\"xhr poll\");\r\n var t = this.request(), e = this;\r\n t.on(\"data\", function (t) {\r\n e.onData(t)\r\n }), t.on(\"error\", function (t) {\r\n e.onError(\"xhr poll error\", t)\r\n }), this.pollXhr = t\r\n }, p(i.prototype), i.prototype.create = function () {\r\n var t = {agent: this.agent, xdomain: this.xd, xscheme: this.xs, enablesXDR: this.enablesXDR};\r\n t.pfx = this.pfx, t.key = this.key, t.passphrase = this.passphrase, t.cert = this.cert, t.ca = this.ca, t.ciphers = this.ciphers, t.rejectUnauthorized = this.rejectUnauthorized;\r\n var e = this.xhr = new a(t), r = this;\r\n try {\r\n if (f(\"xhr open %s: %s\", this.method, this.uri), e.open(this.method, this.uri, this.async), this.supportsBinary && (e.responseType = \"arraybuffer\"), \"POST\" == this.method) try {\r\n this.isBinary ? e.setRequestHeader(\"Content-type\", \"application/octet-stream\") : e.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\")\r\n } catch (o) {\r\n }\r\n \"withCredentials\" in e && (e.withCredentials = !0), this.hasXDR() ? (e.onload = function () {\r\n r.onLoad()\r\n }, e.onerror = function () {\r\n r.onError(e.responseText)\r\n }) : e.onreadystatechange = function () {\r\n 4 == e.readyState && (200 == e.status || 1223 == e.status ? r.onLoad() : setTimeout(function () {\r\n r.onError(e.status)\r\n }, 0))\r\n }, f(\"xhr data %s\", this.data), e.send(this.data)\r\n } catch (o) {\r\n return void setTimeout(function () {\r\n r.onError(o)\r\n }, 0)\r\n }\r\n n.document && (this.index = i.requestsCount++, i.requests[this.index] = this)\r\n }, i.prototype.onSuccess = function () {\r\n this.emit(\"success\"), this.cleanup()\r\n }, i.prototype.onData = function (t) {\r\n this.emit(\"data\", t), this.onSuccess()\r\n }, i.prototype.onError = function (t) {\r\n this.emit(\"error\", t), this.cleanup(!0)\r\n }, i.prototype.cleanup = function (t) {\r\n if (\"undefined\" != typeof this.xhr && null !== this.xhr) {\r\n if (this.hasXDR() ? this.xhr.onload = this.xhr.onerror = r : this.xhr.onreadystatechange = r, t) try {\r\n this.xhr.abort()\r\n } catch (e) {\r\n }\r\n n.document && delete i.requests[this.index], this.xhr = null\r\n }\r\n }, i.prototype.onLoad = function () {\r\n var t;\r\n try {\r\n var e;\r\n try {\r\n e = this.xhr.getResponseHeader(\"Content-Type\").split(\";\")[0]\r\n } catch (n) {\r\n }\r\n t = \"application/octet-stream\" === e ? this.xhr.response : this.supportsBinary ? \"ok\" : this.xhr.responseText\r\n } catch (n) {\r\n this.onError(n)\r\n }\r\n null != t && this.onData(t)\r\n }, i.prototype.hasXDR = function () {\r\n return \"undefined\" != typeof n.XDomainRequest && !this.xs && this.enablesXDR\r\n }, i.prototype.abort = function () {\r\n this.cleanup()\r\n }, n.document && (i.requestsCount = 0, i.requests = {}, n.attachEvent ? n.attachEvent(\"onunload\", s) : n.addEventListener && n.addEventListener(\"beforeunload\", s, !1))\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\"./polling\": 18, \"component-emitter\": 9, \"component-inherit\": 21, debug: 22, xmlhttprequest: 20}],\r\n 18: [function (t, e) {\r\n function n(t) {\r\n var e = t && t.forceBase64;\r\n (!c || e) && (this.supportsBinary = !1), r.call(this, t)\r\n }\r\n\r\n var r = t(\"../transport\"), o = t(\"parseqs\"), i = t(\"engine.io-parser\"), s = t(\"component-inherit\"),\r\n a = t(\"debug\")(\"engine.io-client:polling\");\r\n e.exports = n;\r\n var c = function () {\r\n var e = t(\"xmlhttprequest\"), n = new e({xdomain: !1});\r\n return null != n.responseType\r\n }();\r\n s(n, r), n.prototype.name = \"polling\", n.prototype.doOpen = function () {\r\n this.poll()\r\n }, n.prototype.pause = function (t) {\r\n function e() {\r\n a(\"paused\"), n.readyState = \"paused\", t()\r\n }\r\n\r\n var n = this;\r\n if (this.readyState = \"pausing\", this.polling || !this.writable) {\r\n var r = 0;\r\n this.polling && (a(\"we are currently polling - waiting to pause\"), r++, this.once(\"pollComplete\", function () {\r\n a(\"pre-pause polling complete\"), --r || e()\r\n })), this.writable || (a(\"we are currently writing - waiting to pause\"), r++, this.once(\"drain\", function () {\r\n a(\"pre-pause writing complete\"), --r || e()\r\n }))\r\n } else e()\r\n }, n.prototype.poll = function () {\r\n a(\"polling\"), this.polling = !0, this.doPoll(), this.emit(\"poll\")\r\n }, n.prototype.onData = function (t) {\r\n var e = this;\r\n a(\"polling got data %s\", t);\r\n var n = function (t) {\r\n return \"opening\" == e.readyState && e.onOpen(), \"close\" == t.type ? (e.onClose(), !1) : void e.onPacket(t)\r\n };\r\n i.decodePayload(t, this.socket.binaryType, n), \"closed\" != this.readyState && (this.polling = !1, this.emit(\"pollComplete\"), \"open\" == this.readyState ? this.poll() : a('ignoring poll - transport state \"%s\"', this.readyState))\r\n }, n.prototype.doClose = function () {\r\n function t() {\r\n a(\"writing close packet\"), e.write([{type: \"close\"}])\r\n }\r\n\r\n var e = this;\r\n \"open\" == this.readyState ? (a(\"transport open - closing\"), t()) : (a(\"transport not open - deferring close\"), this.once(\"open\", t))\r\n }, n.prototype.write = function (t) {\r\n var e = this;\r\n this.writable = !1;\r\n var n = function () {\r\n e.writable = !0, e.emit(\"drain\")\r\n }, e = this;\r\n i.encodePayload(t, this.supportsBinary, function (t) {\r\n e.doWrite(t, n)\r\n })\r\n }, n.prototype.uri = function () {\r\n var t = this.query || {}, e = this.secure ? \"https\" : \"http\", n = \"\";\r\n return !1 !== this.timestampRequests && (t[this.timestampParam] = +new Date + \"-\" + r.timestamps++), this.supportsBinary || t.sid || (t.b64 = 1), t = o.encode(t), this.port && (\"https\" == e && 443 != this.port || \"http\" == e && 80 != this.port) && (n = \":\" + this.port), t.length && (t = \"?\" + t), e + \"://\" + this.hostname + n + this.path + t\r\n }\r\n }, {\r\n \"../transport\": 14,\r\n \"component-inherit\": 21,\r\n debug: 22,\r\n \"engine.io-parser\": 25,\r\n parseqs: 33,\r\n xmlhttprequest: 20\r\n }],\r\n 19: [function (t, e) {\r\n function n(t) {\r\n var e = t && t.forceBase64;\r\n e && (this.supportsBinary = !1), r.call(this, t)\r\n }\r\n\r\n var r = t(\"../transport\"), o = t(\"engine.io-parser\"), i = t(\"parseqs\"), s = t(\"component-inherit\"),\r\n a = t(\"debug\")(\"engine.io-client:websocket\"), c = t(\"ws\");\r\n e.exports = n, s(n, r), n.prototype.name = \"websocket\", n.prototype.supportsBinary = !0, n.prototype.doOpen = function () {\r\n if (this.check()) {\r\n var t = this.uri(), e = void 0, n = {agent: this.agent};\r\n n.pfx = this.pfx, n.key = this.key, n.passphrase = this.passphrase, n.cert = this.cert, n.ca = this.ca, n.ciphers = this.ciphers, n.rejectUnauthorized = this.rejectUnauthorized, this.ws = new c(t, e, n), void 0 === this.ws.binaryType && (this.supportsBinary = !1), this.ws.binaryType = \"arraybuffer\", this.addEventListeners()\r\n }\r\n }, n.prototype.addEventListeners = function () {\r\n var t = this;\r\n this.ws.onopen = function () {\r\n t.onOpen()\r\n }, this.ws.onclose = function () {\r\n t.onClose()\r\n }, this.ws.onmessage = function (e) {\r\n t.onData(e.data)\r\n }, this.ws.onerror = function (e) {\r\n t.onError(\"websocket error\", e)\r\n }\r\n }, \"undefined\" != typeof navigator && /iPad|iPhone|iPod/i.test(navigator.userAgent) && (n.prototype.onData = function (t) {\r\n var e = this;\r\n setTimeout(function () {\r\n r.prototype.onData.call(e, t)\r\n }, 0)\r\n }), n.prototype.write = function (t) {\r\n function e() {\r\n n.writable = !0, n.emit(\"drain\")\r\n }\r\n\r\n var n = this;\r\n this.writable = !1;\r\n for (var r = 0, i = t.length; i > r; r++) o.encodePacket(t[r], this.supportsBinary, function (t) {\r\n try {\r\n n.ws.send(t)\r\n } catch (e) {\r\n a(\"websocket closed before onclose event\")\r\n }\r\n });\r\n setTimeout(e, 0)\r\n }, n.prototype.onClose = function () {\r\n r.prototype.onClose.call(this)\r\n }, n.prototype.doClose = function () {\r\n \"undefined\" != typeof this.ws && this.ws.close()\r\n }, n.prototype.uri = function () {\r\n var t = this.query || {}, e = this.secure ? \"wss\" : \"ws\", n = \"\";\r\n return this.port && (\"wss\" == e && 443 != this.port || \"ws\" == e && 80 != this.port) && (n = \":\" + this.port), this.timestampRequests && (t[this.timestampParam] = +new Date), this.supportsBinary || (t.b64 = 1), t = i.encode(t), t.length && (t = \"?\" + t), e + \"://\" + this.hostname + n + this.path + t\r\n }, n.prototype.check = function () {\r\n return !(!c || \"__initialize\" in c && this.name === n.prototype.name)\r\n }\r\n }, {\"../transport\": 14, \"component-inherit\": 21, debug: 22, \"engine.io-parser\": 25, parseqs: 33, ws: 35}],\r\n 20: [function (t, e) {\r\n var n = t(\"has-cors\");\r\n e.exports = function (t) {\r\n var e = t.xdomain, r = t.xscheme, o = t.enablesXDR;\r\n try {\r\n if (\"undefined\" != typeof XMLHttpRequest && (!e || n)) return new XMLHttpRequest\r\n } catch (i) {\r\n }\r\n try {\r\n if (\"undefined\" != typeof XDomainRequest && !r && o) return new XDomainRequest\r\n } catch (i) {\r\n }\r\n if (!e) try {\r\n return new ActiveXObject(\"Microsoft.XMLHTTP\")\r\n } catch (i) {\r\n }\r\n }\r\n }, {\"has-cors\": 38}],\r\n 21: [function (t, e) {\r\n e.exports = function (t, e) {\r\n var n = function () {\r\n };\r\n n.prototype = e.prototype, t.prototype = new n, t.prototype.constructor = t\r\n }\r\n }, {}],\r\n 22: [function (t, e, n) {\r\n function r() {\r\n return \"WebkitAppearance\" in document.documentElement.style || window.console && (console.firebug || console.exception && console.table) || navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31\r\n }\r\n\r\n function o() {\r\n var t = arguments, e = this.useColors;\r\n if (t[0] = (e ? \"%c\" : \"\") + this.namespace + (e ? \" %c\" : \" \") + t[0] + (e ? \"%c \" : \" \") + \"+\" + n.humanize(this.diff), !e) return t;\r\n var r = \"color: \" + this.color;\r\n t = [t[0], r, \"color: inherit\"].concat(Array.prototype.slice.call(t, 1));\r\n var o = 0, i = 0;\r\n return t[0].replace(/%[a-z%]/g, function (t) {\r\n \"%%\" !== t && (o++, \"%c\" === t && (i = o))\r\n }), t.splice(i, 0, r), t\r\n }\r\n\r\n function i() {\r\n return \"object\" == typeof console && \"function\" == typeof console.log && Function.prototype.apply.call(console.log, console, arguments)\r\n }\r\n\r\n function s(t) {\r\n try {\r\n null == t ? localStorage.removeItem(\"debug\") : localStorage.debug = t\r\n } catch (e) {\r\n }\r\n }\r\n\r\n function a() {\r\n var t;\r\n try {\r\n t = localStorage.debug\r\n } catch (e) {\r\n }\r\n return t\r\n }\r\n\r\n n = e.exports = t(\"./debug\"), n.log = i, n.formatArgs = o, n.save = s, n.load = a, n.useColors = r, n.colors = [\"lightseagreen\", \"forestgreen\", \"goldenrod\", \"dodgerblue\", \"darkorchid\", \"crimson\"], n.formatters.j = function (t) {\r\n return JSON.stringify(t)\r\n }, n.enable(a())\r\n }, {\"./debug\": 23}],\r\n 23: [function (t, e, n) {\r\n function r() {\r\n return n.colors[u++ % n.colors.length]\r\n }\r\n\r\n function o(t) {\r\n function e() {\r\n }\r\n\r\n function o() {\r\n var t = o, e = +new Date, i = e - (p || e);\r\n t.diff = i, t.prev = p, t.curr = e, p = e, null == t.useColors && (t.useColors = n.useColors()), null == t.color && t.useColors && (t.color = r());\r\n var s = Array.prototype.slice.call(arguments);\r\n s[0] = n.coerce(s[0]), \"string\" != typeof s[0] && (s = [\"%o\"].concat(s));\r\n var a = 0;\r\n s[0] = s[0].replace(/%([a-z%])/g, function (e, r) {\r\n if (\"%%\" === e) return e;\r\n a++;\r\n var o = n.formatters[r];\r\n if (\"function\" == typeof o) {\r\n var i = s[a];\r\n e = o.call(t, i), s.splice(a, 1), a--\r\n }\r\n return e\r\n }), \"function\" == typeof n.formatArgs && (s = n.formatArgs.apply(t, s));\r\n var c = o.log || n.log || console.log.bind(console);\r\n c.apply(t, s)\r\n }\r\n\r\n e.enabled = !1, o.enabled = !0;\r\n var i = n.enabled(t) ? o : e;\r\n return i.namespace = t, i\r\n }\r\n\r\n function i(t) {\r\n n.save(t);\r\n for (var e = (t || \"\").split(/[\\s,]+/), r = e.length, o = 0; r > o; o++) e[o] && (t = e[o].replace(/\\*/g, \".*?\"), \"-\" === t[0] ? n.skips.push(new RegExp(\"^\" + t.substr(1) + \"$\")) : n.names.push(new RegExp(\"^\" + t + \"$\")))\r\n }\r\n\r\n function s() {\r\n n.enable(\"\")\r\n }\r\n\r\n function a(t) {\r\n var e, r;\r\n for (e = 0, r = n.skips.length; r > e; e++) if (n.skips[e].test(t)) return !1;\r\n for (e = 0, r = n.names.length; r > e; e++) if (n.names[e].test(t)) return !0;\r\n return !1\r\n }\r\n\r\n function c(t) {\r\n return t instanceof Error ? t.stack || t.message : t\r\n }\r\n\r\n n = e.exports = o, n.coerce = c, n.disable = s, n.enable = i, n.enabled = a, n.humanize = t(\"ms\"), n.names = [], n.skips = [], n.formatters = {};\r\n var p, u = 0\r\n }, {ms: 24}],\r\n 24: [function (t, e) {\r\n function n(t) {\r\n var e = /^((?:\\d+)?\\.?\\d+) *(ms|seconds?|s|minutes?|m|hours?|h|days?|d|years?|y)?$/i.exec(t);\r\n if (e) {\r\n var n = parseFloat(e[1]), r = (e[2] || \"ms\").toLowerCase();\r\n switch (r) {\r\n case\"years\":\r\n case\"year\":\r\n case\"y\":\r\n return n * u;\r\n case\"days\":\r\n case\"day\":\r\n case\"d\":\r\n return n * p;\r\n case\"hours\":\r\n case\"hour\":\r\n case\"h\":\r\n return n * c;\r\n case\"minutes\":\r\n case\"minute\":\r\n case\"m\":\r\n return n * a;\r\n case\"seconds\":\r\n case\"second\":\r\n case\"s\":\r\n return n * s;\r\n case\"ms\":\r\n return n\r\n }\r\n }\r\n }\r\n\r\n function r(t) {\r\n return t >= p ? Math.round(t / p) + \"d\" : t >= c ? Math.round(t / c) + \"h\" : t >= a ? Math.round(t / a) + \"m\" : t >= s ? Math.round(t / s) + \"s\" : t + \"ms\"\r\n }\r\n\r\n function o(t) {\r\n return i(t, p, \"day\") || i(t, c, \"hour\") || i(t, a, \"minute\") || i(t, s, \"second\") || t + \" ms\"\r\n }\r\n\r\n function i(t, e, n) {\r\n return e > t ? void 0 : 1.5 * e > t ? Math.floor(t / e) + \" \" + n : Math.ceil(t / e) + \" \" + n + \"s\"\r\n }\r\n\r\n var s = 1e3, a = 60 * s, c = 60 * a, p = 24 * c, u = 365.25 * p;\r\n e.exports = function (t, e) {\r\n return e = e || {}, \"string\" == typeof t ? n(t) : e.long ? o(t) : r(t)\r\n }\r\n }, {}],\r\n 25: [function (t, e, n) {\r\n (function (e) {\r\n function r(t, e) {\r\n var r = \"b\" + n.packets[t.type] + t.data.data;\r\n return e(r)\r\n }\r\n\r\n function o(t, e, r) {\r\n if (!e) return n.encodeBase64Packet(t, r);\r\n var o = t.data, i = new Uint8Array(o), s = new Uint8Array(1 + o.byteLength);\r\n s[0] = m[t.type];\r\n for (var a = 0; a < i.length; a++) s[a + 1] = i[a];\r\n return r(s.buffer)\r\n }\r\n\r\n function i(t, e, r) {\r\n if (!e) return n.encodeBase64Packet(t, r);\r\n var o = new FileReader;\r\n return o.onload = function () {\r\n t.data = o.result, n.encodePacket(t, e, !0, r)\r\n }, o.readAsArrayBuffer(t.data)\r\n }\r\n\r\n function s(t, e, r) {\r\n if (!e) return n.encodeBase64Packet(t, r);\r\n if (g) return i(t, e, r);\r\n var o = new Uint8Array(1);\r\n o[0] = m[t.type];\r\n var s = new w([o.buffer, t.data]);\r\n return r(s)\r\n }\r\n\r\n function a(t, e, n) {\r\n for (var r = new Array(t.length), o = h(t.length, n), i = function (t, n, o) {\r\n e(n, function (e, n) {\r\n r[t] = n, o(e, r)\r\n })\r\n }, s = 0; s < t.length; s++) i(s, t[s], o)\r\n }\r\n\r\n var c = t(\"./keys\"), p = t(\"has-binary\"), u = t(\"arraybuffer.slice\"), f = t(\"base64-arraybuffer\"),\r\n h = t(\"after\"), l = t(\"utf8\"), d = navigator.userAgent.match(/Android/i),\r\n y = /PhantomJS/i.test(navigator.userAgent), g = d || y;\r\n n.protocol = 3;\r\n var m = n.packets = {open: 0, close: 1, ping: 2, pong: 3, message: 4, upgrade: 5, noop: 6}, v = c(m),\r\n b = {type: \"error\", data: \"parser error\"}, w = t(\"blob\");\r\n n.encodePacket = function (t, n, i, a) {\r\n \"function\" == typeof n && (a = n, n = !1), \"function\" == typeof i && (a = i, i = null);\r\n var c = void 0 === t.data ? void 0 : t.data.buffer || t.data;\r\n if (e.ArrayBuffer && c instanceof ArrayBuffer) return o(t, n, a);\r\n if (w && c instanceof e.Blob) return s(t, n, a);\r\n if (c && c.base64) return r(t, a);\r\n var p = m[t.type];\r\n return void 0 !== t.data && (p += i ? l.encode(String(t.data)) : String(t.data)), a(\"\" + p)\r\n }, n.encodeBase64Packet = function (t, r) {\r\n var o = \"b\" + n.packets[t.type];\r\n if (w && t.data instanceof w) {\r\n var i = new FileReader;\r\n return i.onload = function () {\r\n var t = i.result.split(\",\")[1];\r\n r(o + t)\r\n }, i.readAsDataURL(t.data)\r\n }\r\n var s;\r\n try {\r\n s = String.fromCharCode.apply(null, new Uint8Array(t.data))\r\n } catch (a) {\r\n for (var c = new Uint8Array(t.data), p = new Array(c.length), u = 0; u < c.length; u++) p[u] = c[u];\r\n s = String.fromCharCode.apply(null, p)\r\n }\r\n return o += e.btoa(s), r(o)\r\n }, n.decodePacket = function (t, e, r) {\r\n if (\"string\" == typeof t || void 0 === t) {\r\n if (\"b\" == t.charAt(0)) return n.decodeBase64Packet(t.substr(1), e);\r\n if (r) try {\r\n t = l.decode(t)\r\n } catch (o) {\r\n return b\r\n }\r\n var i = t.charAt(0);\r\n return Number(i) == i && v[i] ? t.length > 1 ? {\r\n type: v[i],\r\n data: t.substring(1)\r\n } : {type: v[i]} : b\r\n }\r\n var s = new Uint8Array(t), i = s[0], a = u(t, 1);\r\n return w && \"blob\" === e && (a = new w([a])), {type: v[i], data: a}\r\n }, n.decodeBase64Packet = function (t, n) {\r\n var r = v[t.charAt(0)];\r\n if (!e.ArrayBuffer) return {type: r, data: {base64: !0, data: t.substr(1)}};\r\n var o = f.decode(t.substr(1));\r\n return \"blob\" === n && w && (o = new w([o])), {type: r, data: o}\r\n }, n.encodePayload = function (t, e, r) {\r\n function o(t) {\r\n return t.length + \":\" + t\r\n }\r\n\r\n function i(t, r) {\r\n n.encodePacket(t, s ? e : !1, !0, function (t) {\r\n r(null, o(t))\r\n })\r\n }\r\n\r\n \"function\" == typeof e && (r = e, e = null);\r\n var s = p(t);\r\n return e && s ? w && !g ? n.encodePayloadAsBlob(t, r) : n.encodePayloadAsArrayBuffer(t, r) : t.length ? void a(t, i, function (t, e) {\r\n return r(e.join(\"\"))\r\n }) : r(\"0:\")\r\n }, n.decodePayload = function (t, e, r) {\r\n if (\"string\" != typeof t) return n.decodePayloadAsBinary(t, e, r);\r\n \"function\" == typeof e && (r = e, e = null);\r\n var o;\r\n if (\"\" == t) return r(b, 0, 1);\r\n for (var i, s, a = \"\", c = 0, p = t.length; p > c; c++) {\r\n var u = t.charAt(c);\r\n if (\":\" != u) a += u; else {\r\n if (\"\" == a || a != (i = Number(a))) return r(b, 0, 1);\r\n if (s = t.substr(c + 1, i), a != s.length) return r(b, 0, 1);\r\n if (s.length) {\r\n if (o = n.decodePacket(s, e, !0), b.type == o.type && b.data == o.data) return r(b, 0, 1);\r\n var f = r(o, c + i, p);\r\n if (!1 === f) return\r\n }\r\n c += i, a = \"\"\r\n }\r\n }\r\n return \"\" != a ? r(b, 0, 1) : void 0\r\n }, n.encodePayloadAsArrayBuffer = function (t, e) {\r\n function r(t, e) {\r\n n.encodePacket(t, !0, !0, function (t) {\r\n return e(null, t)\r\n })\r\n }\r\n\r\n return t.length ? void a(t, r, function (t, n) {\r\n var r = n.reduce(function (t, e) {\r\n var n;\r\n return n = \"string\" == typeof e ? e.length : e.byteLength, t + n.toString().length + n + 2\r\n }, 0), o = new Uint8Array(r), i = 0;\r\n return n.forEach(function (t) {\r\n var e = \"string\" == typeof t, n = t;\r\n if (e) {\r\n for (var r = new Uint8Array(t.length), s = 0; s < t.length; s++) r[s] = t.charCodeAt(s);\r\n n = r.buffer\r\n }\r\n o[i++] = e ? 0 : 1;\r\n for (var a = n.byteLength.toString(), s = 0; s < a.length; s++) o[i++] = parseInt(a[s]);\r\n o[i++] = 255;\r\n for (var r = new Uint8Array(n), s = 0; s < r.length; s++) o[i++] = r[s]\r\n }), e(o.buffer)\r\n }) : e(new ArrayBuffer(0))\r\n }, n.encodePayloadAsBlob = function (t, e) {\r\n function r(t, e) {\r\n n.encodePacket(t, !0, !0, function (t) {\r\n var n = new Uint8Array(1);\r\n if (n[0] = 1, \"string\" == typeof t) {\r\n for (var r = new Uint8Array(t.length), o = 0; o < t.length; o++) r[o] = t.charCodeAt(o);\r\n t = r.buffer, n[0] = 0\r\n }\r\n for (var i = t instanceof ArrayBuffer ? t.byteLength : t.size, s = i.toString(), a = new Uint8Array(s.length + 1), o = 0; o < s.length; o++) a[o] = parseInt(s[o]);\r\n if (a[s.length] = 255, w) {\r\n var c = new w([n.buffer, a.buffer, t]);\r\n e(null, c)\r\n }\r\n })\r\n }\r\n\r\n a(t, r, function (t, n) {\r\n return e(new w(n))\r\n })\r\n }, n.decodePayloadAsBinary = function (t, e, r) {\r\n \"function\" == typeof e && (r = e, e = null);\r\n for (var o = t, i = [], s = !1; o.byteLength > 0;) {\r\n for (var a = new Uint8Array(o), c = 0 === a[0], p = \"\", f = 1; 255 != a[f]; f++) {\r\n if (p.length > 310) {\r\n s = !0;\r\n break\r\n }\r\n p += a[f]\r\n }\r\n if (s) return r(b, 0, 1);\r\n o = u(o, 2 + p.length), p = parseInt(p);\r\n var h = u(o, 0, p);\r\n if (c) try {\r\n h = String.fromCharCode.apply(null, new Uint8Array(h))\r\n } catch (l) {\r\n var d = new Uint8Array(h);\r\n h = \"\";\r\n for (var f = 0; f < d.length; f++) h += String.fromCharCode(d[f])\r\n }\r\n i.push(h), o = u(o, p)\r\n }\r\n var y = i.length;\r\n i.forEach(function (t, o) {\r\n r(n.decodePacket(t, e, !0), o, y)\r\n })\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\r\n \"./keys\": 26,\r\n after: 27,\r\n \"arraybuffer.slice\": 28,\r\n \"base64-arraybuffer\": 29,\r\n blob: 30,\r\n \"has-binary\": 36,\r\n utf8: 31\r\n }],\r\n 26: [function (t, e) {\r\n e.exports = Object.keys || function (t) {\r\n var e = [], n = Object.prototype.hasOwnProperty;\r\n for (var r in t) n.call(t, r) && e.push(r);\r\n return e\r\n }\r\n }, {}],\r\n 27: [function (t, e) {\r\n function n(t, e, n) {\r\n function o(t, r) {\r\n if (o.count <= 0) throw new Error(\"after called too many times\");\r\n --o.count, t ? (i = !0, e(t), e = n) : 0 !== o.count || i || e(null, r)\r\n }\r\n\r\n var i = !1;\r\n return n = n || r, o.count = t, 0 === t ? e() : o\r\n }\r\n\r\n function r() {\r\n }\r\n\r\n e.exports = n\r\n }, {}],\r\n 28: [function (t, e) {\r\n e.exports = function (t, e, n) {\r\n var r = t.byteLength;\r\n if (e = e || 0, n = n || r, t.slice) return t.slice(e, n);\r\n if (0 > e && (e += r), 0 > n && (n += r), n > r && (n = r), e >= r || e >= n || 0 === r) return new ArrayBuffer(0);\r\n for (var o = new Uint8Array(t), i = new Uint8Array(n - e), s = e, a = 0; n > s; s++, a++) i[a] = o[s];\r\n return i.buffer\r\n }\r\n }, {}],\r\n 29: [function (t, e, n) {\r\n !function (t) {\r\n \"use strict\";\r\n n.encode = function (e) {\r\n var n, r = new Uint8Array(e), o = r.length, i = \"\";\r\n for (n = 0; o > n; n += 3) i += t[r[n] >> 2], i += t[(3 & r[n]) << 4 | r[n + 1] >> 4], i += t[(15 & r[n + 1]) << 2 | r[n + 2] >> 6], i += t[63 & r[n + 2]];\r\n return o % 3 === 2 ? i = i.substring(0, i.length - 1) + \"=\" : o % 3 === 1 && (i = i.substring(0, i.length - 2) + \"==\"), i\r\n }, n.decode = function (e) {\r\n var n, r, o, i, s, a = .75 * e.length, c = e.length, p = 0;\r\n \"=\" === e[e.length - 1] && (a--, \"=\" === e[e.length - 2] && a--);\r\n var u = new ArrayBuffer(a), f = new Uint8Array(u);\r\n for (n = 0; c > n; n += 4) r = t.indexOf(e[n]), o = t.indexOf(e[n + 1]), i = t.indexOf(e[n + 2]), s = t.indexOf(e[n + 3]), f[p++] = r << 2 | o >> 4, f[p++] = (15 & o) << 4 | i >> 2, f[p++] = (3 & i) << 6 | 63 & s;\r\n return u\r\n }\r\n }(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\")\r\n }, {}],\r\n 30: [function (t, e) {\r\n (function (t) {\r\n function n(t) {\r\n for (var e = 0; e < t.length; e++) {\r\n var n = t[e];\r\n if (n.buffer instanceof ArrayBuffer) {\r\n var r = n.buffer;\r\n if (n.byteLength !== r.byteLength) {\r\n var o = new Uint8Array(n.byteLength);\r\n o.set(new Uint8Array(r, n.byteOffset, n.byteLength)), r = o.buffer\r\n }\r\n t[e] = r\r\n }\r\n }\r\n }\r\n\r\n function r(t, e) {\r\n e = e || {};\r\n var r = new i;\r\n n(t);\r\n for (var o = 0; o < t.length; o++) r.append(t[o]);\r\n return e.type ? r.getBlob(e.type) : r.getBlob()\r\n }\r\n\r\n function o(t, e) {\r\n return n(t), new Blob(t, e || {})\r\n }\r\n\r\n var i = t.BlobBuilder || t.WebKitBlobBuilder || t.MSBlobBuilder || t.MozBlobBuilder, s = function () {\r\n try {\r\n var t = new Blob([\"hi\"]);\r\n return 2 === t.size\r\n } catch (e) {\r\n return !1\r\n }\r\n }(), a = s && function () {\r\n try {\r\n var t = new Blob([new Uint8Array([1, 2])]);\r\n return 2 === t.size\r\n } catch (e) {\r\n return !1\r\n }\r\n }(), c = i && i.prototype.append && i.prototype.getBlob;\r\n e.exports = function () {\r\n return s ? a ? t.Blob : o : c ? r : void 0\r\n }()\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {}],\r\n 31: [function (e, n, r) {\r\n (function (e) {\r\n !function (o) {\r\n function i(t) {\r\n for (var e, n, r = [], o = 0, i = t.length; i > o;) e = t.charCodeAt(o++), e >= 55296 && 56319 >= e && i > o ? (n = t.charCodeAt(o++), 56320 == (64512 & n) ? r.push(((1023 & e) << 10) + (1023 & n) + 65536) : (r.push(e), o--)) : r.push(e);\r\n return r\r\n }\r\n\r\n function s(t) {\r\n for (var e, n = t.length, r = -1, o = \"\"; ++r < n;) e = t[r], e > 65535 && (e -= 65536, o += w(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e), o += w(e);\r\n return o\r\n }\r\n\r\n function a(t) {\r\n if (t >= 55296 && 57343 >= t) throw Error(\"Lone surrogate U+\" + t.toString(16).toUpperCase() + \" is not a scalar value\")\r\n }\r\n\r\n function c(t, e) {\r\n return w(t >> e & 63 | 128)\r\n }\r\n\r\n function p(t) {\r\n if (0 == (4294967168 & t)) return w(t);\r\n var e = \"\";\r\n return 0 == (4294965248 & t) ? e = w(t >> 6 & 31 | 192) : 0 == (4294901760 & t) ? (a(t), e = w(t >> 12 & 15 | 224), e += c(t, 6)) : 0 == (4292870144 & t) && (e = w(t >> 18 & 7 | 240), e += c(t, 12), e += c(t, 6)), e += w(63 & t | 128)\r\n }\r\n\r\n function u(t) {\r\n for (var e, n = i(t), r = n.length, o = -1, s = \"\"; ++o < r;) e = n[o], s += p(e);\r\n return s\r\n }\r\n\r\n function f() {\r\n if (b >= v) throw Error(\"Invalid byte index\");\r\n var t = 255 & m[b];\r\n if (b++, 128 == (192 & t)) return 63 & t;\r\n throw Error(\"Invalid continuation byte\")\r\n }\r\n\r\n function h() {\r\n var t, e, n, r, o;\r\n if (b > v) throw Error(\"Invalid byte index\");\r\n if (b == v) return !1;\r\n if (t = 255 & m[b], b++, 0 == (128 & t)) return t;\r\n if (192 == (224 & t)) {\r\n var e = f();\r\n if (o = (31 & t) << 6 | e, o >= 128) return o;\r\n throw Error(\"Invalid continuation byte\")\r\n }\r\n if (224 == (240 & t)) {\r\n if (e = f(), n = f(), o = (15 & t) << 12 | e << 6 | n, o >= 2048) return a(o), o;\r\n throw Error(\"Invalid continuation byte\")\r\n }\r\n if (240 == (248 & t) && (e = f(), n = f(), r = f(), o = (15 & t) << 18 | e << 12 | n << 6 | r, o >= 65536 && 1114111 >= o)) return o;\r\n throw Error(\"Invalid UTF-8 detected\")\r\n }\r\n\r\n function l(t) {\r\n m = i(t), v = m.length, b = 0;\r\n for (var e, n = []; (e = h()) !== !1;) n.push(e);\r\n return s(n)\r\n }\r\n\r\n var d = \"object\" == typeof r && r, y = \"object\" == typeof n && n && n.exports == d && n,\r\n g = \"object\" == typeof e && e;\r\n (g.global === g || g.window === g) && (o = g);\r\n var m, v, b, w = String.fromCharCode, k = {version: \"2.0.0\", encode: u, decode: l};\r\n if (\"function\" == typeof t && \"object\" == typeof t.amd && t.amd) t(function () {\r\n return k\r\n }); else if (d && !d.nodeType) if (y) y.exports = k; else {\r\n var x = {}, A = x.hasOwnProperty;\r\n for (var B in k) A.call(k, B) && (d[B] = k[B])\r\n } else o.utf8 = k\r\n }(this)\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {}],\r\n 32: [function (t, e) {\r\n (function (t) {\r\n var n = /^[\\],:{}\\s]*$/, r = /\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\r\n o = /\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, i = /(?:^|:|,)(?:\\s*\\[)+/g,\r\n s = /^\\s+/, a = /\\s+$/;\r\n e.exports = function (e) {\r\n return \"string\" == typeof e && e ? (e = e.replace(s, \"\").replace(a, \"\"), t.JSON && JSON.parse ? JSON.parse(e) : n.test(e.replace(r, \"@\").replace(o, \"]\").replace(i, \"\")) ? new Function(\"return \" + e)() : void 0) : null\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {}],\r\n 33: [function (t, e, n) {\r\n n.encode = function (t) {\r\n var e = \"\";\r\n for (var n in t) t.hasOwnProperty(n) && (e.length && (e += \"&\"), e += encodeURIComponent(n) + \"=\" + encodeURIComponent(t[n]));\r\n return e\r\n }, n.decode = function (t) {\r\n for (var e = {}, n = t.split(\"&\"), r = 0, o = n.length; o > r; r++) {\r\n var i = n[r].split(\"=\");\r\n e[decodeURIComponent(i[0])] = decodeURIComponent(i[1])\r\n }\r\n return e\r\n }\r\n }, {}],\r\n 34: [function (t, e) {\r\n var n = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,\r\n r = [\"source\", \"protocol\", \"authority\", \"userInfo\", \"user\", \"password\", \"host\", \"port\", \"relative\", \"path\", \"directory\", \"file\", \"query\", \"anchor\"];\r\n e.exports = function (t) {\r\n var e = t, o = t.indexOf(\"[\"), i = t.indexOf(\"]\");\r\n -1 != o && -1 != i && (t = t.substring(0, o) + t.substring(o, i).replace(/:/g, \";\") + t.substring(i, t.length));\r\n for (var s = n.exec(t || \"\"), a = {}, c = 14; c--;) a[r[c]] = s[c] || \"\";\r\n return -1 != o && -1 != i && (a.source = e, a.host = a.host.substring(1, a.host.length - 1).replace(/;/g, \":\"), a.authority = a.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\"), a.ipv6uri = !0), a\r\n }\r\n }, {}],\r\n 35: [function (t, e) {\r\n function n(t, e) {\r\n var n;\r\n return n = e ? new o(t, e) : new o(t)\r\n }\r\n\r\n var r = function () {\r\n return self\r\n }(), o = r.WebSocket || r.MozWebSocket;\r\n e.exports = o ? n : null, o && (n.prototype = o.prototype)\r\n }, {}],\r\n 36: [function (t, e) {\r\n (function (n) {\r\n function r(t) {\r\n function e(t) {\r\n if (!t) return !1;\r\n if (n.Buffer && n.Buffer.isBuffer(t) || n.ArrayBuffer && t instanceof ArrayBuffer || n.Blob && t instanceof Blob || n.File && t instanceof File) return !0;\r\n if (o(t)) {\r\n for (var r = 0; r < t.length; r++) if (e(t[r])) return !0\r\n } else if (t && \"object\" == typeof t) {\r\n t.toJSON && (t = t.toJSON());\r\n for (var i in t) if (Object.prototype.hasOwnProperty.call(t, i) && e(t[i])) return !0\r\n }\r\n return !1\r\n }\r\n\r\n return e(t)\r\n }\r\n\r\n var o = t(\"isarray\");\r\n e.exports = r\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {isarray: 37}],\r\n 37: [function (t, e) {\r\n e.exports = Array.isArray || function (t) {\r\n return \"[object Array]\" == Object.prototype.toString.call(t)\r\n }\r\n }, {}],\r\n 38: [function (t, e) {\r\n var n = t(\"global\");\r\n try {\r\n e.exports = \"XMLHttpRequest\" in n && \"withCredentials\" in new n.XMLHttpRequest\r\n } catch (r) {\r\n e.exports = !1\r\n }\r\n }, {global: 39}],\r\n 39: [function (t, e) {\r\n e.exports = function () {\r\n return this\r\n }()\r\n }, {}],\r\n 40: [function (t, e) {\r\n var n = [].indexOf;\r\n e.exports = function (t, e) {\r\n if (n) return t.indexOf(e);\r\n for (var r = 0; r < t.length; ++r) if (t[r] === e) return r;\r\n return -1\r\n }\r\n }, {}],\r\n 41: [function (t, e, n) {\r\n var r = Object.prototype.hasOwnProperty;\r\n n.keys = Object.keys || function (t) {\r\n var e = [];\r\n for (var n in t) r.call(t, n) && e.push(n);\r\n return e\r\n }, n.values = function (t) {\r\n var e = [];\r\n for (var n in t) r.call(t, n) && e.push(t[n]);\r\n return e\r\n }, n.merge = function (t, e) {\r\n for (var n in e) r.call(e, n) && (t[n] = e[n]);\r\n return t\r\n }, n.length = function (t) {\r\n return n.keys(t).length\r\n }, n.isEmpty = function (t) {\r\n return 0 == n.length(t)\r\n }\r\n }, {}],\r\n 42: [function (t, e) {\r\n var n = /^(?:(?![^:@]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,\r\n r = [\"source\", \"protocol\", \"authority\", \"userInfo\", \"user\", \"password\", \"host\", \"port\", \"relative\", \"path\", \"directory\", \"file\", \"query\", \"anchor\"];\r\n e.exports = function (t) {\r\n for (var e = n.exec(t || \"\"), o = {}, i = 14; i--;) o[r[i]] = e[i] || \"\";\r\n return o\r\n }\r\n }, {}],\r\n 43: [function (t, e, n) {\r\n (function (e) {\r\n var r = t(\"isarray\"), o = t(\"./is-buffer\");\r\n n.deconstructPacket = function (t) {\r\n function e(t) {\r\n if (!t) return t;\r\n if (o(t)) {\r\n var i = {_placeholder: !0, num: n.length};\r\n return n.push(t), i\r\n }\r\n if (r(t)) {\r\n for (var s = new Array(t.length), a = 0; a < t.length; a++) s[a] = e(t[a]);\r\n return s\r\n }\r\n if (\"object\" == typeof t && !(t instanceof Date)) {\r\n var s = {};\r\n for (var c in t) s[c] = e(t[c]);\r\n return s\r\n }\r\n return t\r\n }\r\n\r\n var n = [], i = t.data, s = t;\r\n return s.data = e(i), s.attachments = n.length, {packet: s, buffers: n}\r\n }, n.reconstructPacket = function (t, e) {\r\n function n(t) {\r\n if (t && t._placeholder) {\r\n var o = e[t.num];\r\n return o\r\n }\r\n if (r(t)) {\r\n for (var i = 0; i < t.length; i++) t[i] = n(t[i]);\r\n return t\r\n }\r\n if (t && \"object\" == typeof t) {\r\n for (var s in t) t[s] = n(t[s]);\r\n return t\r\n }\r\n return t\r\n }\r\n\r\n return t.data = n(t.data), t.attachments = void 0, t\r\n }, n.removeBlobs = function (t, n) {\r\n function i(t, c, p) {\r\n if (!t) return t;\r\n if (e.Blob && t instanceof Blob || e.File && t instanceof File) {\r\n s++;\r\n var u = new FileReader;\r\n u.onload = function () {\r\n p ? p[c] = this.result : a = this.result, --s || n(a)\r\n }, u.readAsArrayBuffer(t)\r\n } else if (r(t)) for (var f = 0; f < t.length; f++) i(t[f], f, t); else if (t && \"object\" == typeof t && !o(t)) for (var h in t) i(t[h], h, t)\r\n }\r\n\r\n var s = 0, a = t;\r\n i(a), s || n(a)\r\n }\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {\"./is-buffer\": 45, isarray: 46}],\r\n 44: [function (t, e, n) {\r\n function r() {\r\n }\r\n\r\n function o(t) {\r\n var e = \"\", r = !1;\r\n return e += t.type, (n.BINARY_EVENT == t.type || n.BINARY_ACK == t.type) && (e += t.attachments, e += \"-\"), t.nsp && \"/\" != t.nsp && (r = !0, e += t.nsp), null != t.id && (r && (e += \",\", r = !1), e += t.id), null != t.data && (r && (e += \",\"), e += f.stringify(t.data)), u(\"encoded %j as %s\", t, e), e\r\n }\r\n\r\n function i(t, e) {\r\n function n(t) {\r\n var n = l.deconstructPacket(t), r = o(n.packet), i = n.buffers;\r\n i.unshift(r), e(i)\r\n }\r\n\r\n l.removeBlobs(t, n)\r\n }\r\n\r\n function s() {\r\n this.reconstructor = null\r\n }\r\n\r\n function a(t) {\r\n var e = {}, r = 0;\r\n if (e.type = Number(t.charAt(0)), null == n.types[e.type]) return p();\r\n if (n.BINARY_EVENT == e.type || n.BINARY_ACK == e.type) {\r\n for (var o = \"\"; \"-\" != t.charAt(++r) && (o += t.charAt(r), r != t.length);) ;\r\n if (o != Number(o) || \"-\" != t.charAt(r)) throw new Error(\"Illegal attachments\");\r\n e.attachments = Number(o)\r\n }\r\n if (\"/\" == t.charAt(r + 1)) for (e.nsp = \"\"; ++r;) {\r\n var i = t.charAt(r);\r\n if (\",\" == i) break;\r\n if (e.nsp += i, r == t.length) break\r\n } else e.nsp = \"/\";\r\n var s = t.charAt(r + 1);\r\n if (\"\" !== s && Number(s) == s) {\r\n for (e.id = \"\"; ++r;) {\r\n var i = t.charAt(r);\r\n if (null == i || Number(i) != i) {\r\n --r;\r\n break\r\n }\r\n if (e.id += t.charAt(r), r == t.length) break\r\n }\r\n e.id = Number(e.id)\r\n }\r\n if (t.charAt(++r)) try {\r\n e.data = f.parse(t.substr(r))\r\n } catch (a) {\r\n return p()\r\n }\r\n return u(\"decoded %s as %j\", t, e), e\r\n }\r\n\r\n function c(t) {\r\n this.reconPack = t, this.buffers = []\r\n }\r\n\r\n function p() {\r\n return {type: n.ERROR, data: \"parser error\"}\r\n }\r\n\r\n var u = t(\"debug\")(\"socket.io-parser\"), f = t(\"json3\"), h = (t(\"isarray\"), t(\"component-emitter\")),\r\n l = t(\"./binary\"), d = t(\"./is-buffer\");\r\n n.protocol = 4, n.types = [\"CONNECT\", \"DISCONNECT\", \"EVENT\", \"BINARY_EVENT\", \"ACK\", \"BINARY_ACK\", \"ERROR\"], n.CONNECT = 0, n.DISCONNECT = 1, n.EVENT = 2, n.ACK = 3, n.ERROR = 4, n.BINARY_EVENT = 5, n.BINARY_ACK = 6, n.Encoder = r, n.Decoder = s, r.prototype.encode = function (t, e) {\r\n if (u(\"encoding packet %j\", t), n.BINARY_EVENT == t.type || n.BINARY_ACK == t.type) i(t, e); else {\r\n var r = o(t);\r\n e([r])\r\n }\r\n }, h(s.prototype), s.prototype.add = function (t) {\r\n var e;\r\n if (\"string\" == typeof t) e = a(t), n.BINARY_EVENT == e.type || n.BINARY_ACK == e.type ? (this.reconstructor = new c(e), 0 === this.reconstructor.reconPack.attachments && this.emit(\"decoded\", e)) : this.emit(\"decoded\", e); else {\r\n if (!d(t) && !t.base64) throw new Error(\"Unknown type: \" + t);\r\n if (!this.reconstructor) throw new Error(\"got binary data when not reconstructing a packet\");\r\n e = this.reconstructor.takeBinaryData(t), e && (this.reconstructor = null, this.emit(\"decoded\", e))\r\n }\r\n }, s.prototype.destroy = function () {\r\n this.reconstructor && this.reconstructor.finishedReconstruction()\r\n }, c.prototype.takeBinaryData = function (t) {\r\n if (this.buffers.push(t), this.buffers.length == this.reconPack.attachments) {\r\n var e = l.reconstructPacket(this.reconPack, this.buffers);\r\n return this.finishedReconstruction(), e\r\n }\r\n return null\r\n }, c.prototype.finishedReconstruction = function () {\r\n this.reconPack = null, this.buffers = []\r\n }\r\n }, {\"./binary\": 43, \"./is-buffer\": 45, \"component-emitter\": 9, debug: 10, isarray: 46, json3: 47}],\r\n 45: [function (t, e) {\r\n (function (t) {\r\n function n(e) {\r\n return t.Buffer && t.Buffer.isBuffer(e) || t.ArrayBuffer && e instanceof ArrayBuffer\r\n }\r\n\r\n e.exports = n\r\n }).call(this, \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {})\r\n }, {}],\r\n 46: [function (t, e) {\r\n e.exports = t(37)\r\n }, {}],\r\n 47: [function (e, n, r) {\r\n !function (e) {\r\n function n(t) {\r\n if (n[t] !== s) return n[t];\r\n var e;\r\n if (\"bug-string-char-index\" == t) e = \"a\" != \"a\"[0]; else if (\"json\" == t) e = n(\"json-stringify\") && n(\"json-parse\"); else {\r\n var r, o = '{\"a\":[1,true,false,null,\"\\\\u0000\\\\b\\\\n\\\\f\\\\r\\\\t\"]}';\r\n if (\"json-stringify\" == t) {\r\n var i = u.stringify, c = \"function\" == typeof i && f;\r\n if (c) {\r\n (r = function () {\r\n return 1\r\n }).toJSON = r;\r\n try {\r\n c = \"0\" === i(0) && \"0\" === i(new Number) && '\"\"' == i(new String) && i(a) === s && i(s) === s && i() === s && \"1\" === i(r) && \"[1]\" == i([r]) && \"[null]\" == i([s]) && \"null\" == i(null) && \"[null,null,null]\" == i([s, a, null]) && i({a: [r, !0, !1, null, \"\\x00\\b\\n\\f\\r\t\"]}) == o && \"1\" === i(null, r) && \"[\\n 1,\\n 2\\n]\" == i([1, 2], null, 1) && '\"-271821-04-20T00:00:00.000Z\"' == i(new Date(-864e13)) && '\"+275760-09-13T00:00:00.000Z\"' == i(new Date(864e13)) && '\"-000001-01-01T00:00:00.000Z\"' == i(new Date(-621987552e5)) && '\"1969-12-31T23:59:59.999Z\"' == i(new Date(-1))\r\n } catch (p) {\r\n c = !1\r\n }\r\n }\r\n e = c\r\n }\r\n if (\"json-parse\" == t) {\r\n var h = u.parse;\r\n if (\"function\" == typeof h) try {\r\n if (0 === h(\"0\") && !h(!1)) {\r\n r = h(o);\r\n var l = 5 == r.a.length && 1 === r.a[0];\r\n if (l) {\r\n try {\r\n l = !h('\"\t\"')\r\n } catch (p) {\r\n }\r\n if (l) try {\r\n l = 1 !== h(\"01\")\r\n } catch (p) {\r\n }\r\n if (l) try {\r\n l = 1 !== h(\"1.\")\r\n } catch (p) {\r\n }\r\n }\r\n }\r\n } catch (p) {\r\n l = !1\r\n }\r\n e = l\r\n }\r\n }\r\n return n[t] = !!e\r\n }\r\n\r\n var o, i, s, a = {}.toString, c = \"function\" == typeof t && t.amd, p = \"object\" == typeof JSON && JSON,\r\n u = \"object\" == typeof r && r && !r.nodeType && r;\r\n u && p ? (u.stringify = p.stringify, u.parse = p.parse) : u = e.JSON = p || {};\r\n var f = new Date(-0xc782b5b800cec);\r\n try {\r\n f = -109252 == f.getUTCFullYear() && 0 === f.getUTCMonth() && 1 === f.getUTCDate() && 10 == f.getUTCHours() && 37 == f.getUTCMinutes() && 6 == f.getUTCSeconds() && 708 == f.getUTCMilliseconds()\r\n } catch (h) {\r\n }\r\n if (!n(\"json\")) {\r\n var l = \"[object Function]\", d = \"[object Date]\", y = \"[object Number]\", g = \"[object String]\",\r\n m = \"[object Array]\", v = \"[object Boolean]\", b = n(\"bug-string-char-index\");\r\n if (!f) var w = Math.floor, k = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\r\n x = function (t, e) {\r\n return k[e] + 365 * (t - 1970) + w((t - 1969 + (e = +(e > 1))) / 4) - w((t - 1901 + e) / 100) + w((t - 1601 + e) / 400)\r\n };\r\n (o = {}.hasOwnProperty) || (o = function (t) {\r\n var e, n = {};\r\n return (n.__proto__ = null, n.__proto__ = {toString: 1}, n).toString != a ? o = function (t) {\r\n var e = this.__proto__, n = t in (this.__proto__ = null, this);\r\n return this.__proto__ = e, n\r\n } : (e = n.constructor, o = function (t) {\r\n var n = (this.constructor || e).prototype;\r\n return t in this && !(t in n && this[t] === n[t])\r\n }), n = null, o.call(this, t)\r\n });\r\n var A = {\"boolean\": 1, number: 1, string: 1, undefined: 1}, B = function (t, e) {\r\n var n = typeof t[e];\r\n return \"object\" == n ? !!t[e] : !A[n]\r\n };\r\n if (i = function (t, e) {\r\n var n, r, s, c = 0;\r\n (n = function () {\r\n this.valueOf = 0\r\n }).prototype.valueOf = 0, r = new n;\r\n for (s in r) o.call(r, s) && c++;\r\n return n = r = null, c ? i = 2 == c ? function (t, e) {\r\n var n, r = {}, i = a.call(t) == l;\r\n for (n in t) i && \"prototype\" == n || o.call(r, n) || !(r[n] = 1) || !o.call(t, n) || e(n)\r\n } : function (t, e) {\r\n var n, r, i = a.call(t) == l;\r\n for (n in t) i && \"prototype\" == n || !o.call(t, n) || (r = \"constructor\" === n) || e(n);\r\n (r || o.call(t, n = \"constructor\")) && e(n)\r\n } : (r = [\"valueOf\", \"toString\", \"toLocaleString\", \"propertyIsEnumerable\", \"isPrototypeOf\", \"hasOwnProperty\", \"constructor\"], i = function (t, e) {\r\n var n, i, s = a.call(t) == l,\r\n c = !s && \"function\" != typeof t.constructor && B(t, \"hasOwnProperty\") ? t.hasOwnProperty : o;\r\n for (n in t) s && \"prototype\" == n || !c.call(t, n) || e(n);\r\n for (i = r.length; n = r[--i]; c.call(t, n) && e(n)) ;\r\n }), i(t, e)\r\n }, !n(\"json-stringify\")) {\r\n var C = {92: \"\\\\\\\\\", 34: '\\\\\"', 8: \"\\\\b\", 12: \"\\\\f\", 10: \"\\\\n\", 13: \"\\\\r\", 9: \"\\\\t\"},\r\n S = \"000000\", E = function (t, e) {\r\n return (S + (e || 0)).slice(-t)\r\n }, T = \"\\\\u00\", j = function (t) {\r\n var e, n = '\"', r = 0, o = t.length, i = o > 10 && b;\r\n for (i && (e = t.split(\"\")); o > r; r++) {\r\n var s = t.charCodeAt(r);\r\n switch (s) {\r\n case 8:\r\n case 9:\r\n case 10:\r\n case 12:\r\n case 13:\r\n case 34:\r\n case 92:\r\n n += C[s];\r\n break;\r\n default:\r\n if (32 > s) {\r\n n += T + E(2, s.toString(16));\r\n break\r\n }\r\n n += i ? e[r] : b ? t.charAt(r) : t[r]\r\n }\r\n }\r\n return n + '\"'\r\n }, _ = function (t, e, n, r, c, p, u) {\r\n var f, h, l, b, k, A, B, C, S, T, P, R, N, O, U, q;\r\n try {\r\n f = e[t]\r\n } catch (D) {\r\n }\r\n if (\"object\" == typeof f && f) if (h = a.call(f), h != d || o.call(f, \"toJSON\")) \"function\" == typeof f.toJSON && (h != y && h != g && h != m || o.call(f, \"toJSON\")) && (f = f.toJSON(t)); else if (f > -1 / 0 && 1 / 0 > f) {\r\n if (x) {\r\n for (k = w(f / 864e5), l = w(k / 365.2425) + 1970 - 1; x(l + 1, 0) <= k; l++) ;\r\n for (b = w((k - x(l, 0)) / 30.42); x(l, b + 1) <= k; b++) ;\r\n k = 1 + k - x(l, b), A = (f % 864e5 + 864e5) % 864e5, B = w(A / 36e5) % 24, C = w(A / 6e4) % 60, S = w(A / 1e3) % 60, T = A % 1e3\r\n } else l = f.getUTCFullYear(), b = f.getUTCMonth(), k = f.getUTCDate(), B = f.getUTCHours(), C = f.getUTCMinutes(), S = f.getUTCSeconds(), T = f.getUTCMilliseconds();\r\n f = (0 >= l || l >= 1e4 ? (0 > l ? \"-\" : \"+\") + E(6, 0 > l ? -l : l) : E(4, l)) + \"-\" + E(2, b + 1) + \"-\" + E(2, k) + \"T\" + E(2, B) + \":\" + E(2, C) + \":\" + E(2, S) + \".\" + E(3, T) + \"Z\"\r\n } else f = null;\r\n if (n && (f = n.call(e, t, f)), null === f) return \"null\";\r\n if (h = a.call(f), h == v) return \"\" + f;\r\n if (h == y) return f > -1 / 0 && 1 / 0 > f ? \"\" + f : \"null\";\r\n if (h == g) return j(\"\" + f);\r\n if (\"object\" == typeof f) {\r\n for (O = u.length; O--;) if (u[O] === f) throw TypeError();\r\n if (u.push(f), P = [], U = p, p += c, h == m) {\r\n for (N = 0, O = f.length; O > N; N++) R = _(N, f, n, r, c, p, u), P.push(R === s ? \"null\" : R);\r\n q = P.length ? c ? \"[\\n\" + p + P.join(\",\\n\" + p) + \"\\n\" + U + \"]\" : \"[\" + P.join(\",\") + \"]\" : \"[]\"\r\n } else i(r || f, function (t) {\r\n var e = _(t, f, n, r, c, p, u);\r\n e !== s && P.push(j(t) + \":\" + (c ? \" \" : \"\") + e)\r\n }), q = P.length ? c ? \"{\\n\" + p + P.join(\",\\n\" + p) + \"\\n\" + U + \"}\" : \"{\" + P.join(\",\") + \"}\" : \"{}\";\r\n return u.pop(), q\r\n }\r\n };\r\n u.stringify = function (t, e, n) {\r\n var r, o, i, s;\r\n if (\"function\" == typeof e || \"object\" == typeof e && e) if ((s = a.call(e)) == l) o = e; else if (s == m) {\r\n i = {};\r\n for (var c, p = 0, u = e.length; u > p; c = e[p++], s = a.call(c), (s == g || s == y) && (i[c] = 1)) ;\r\n }\r\n if (n) if ((s = a.call(n)) == y) {\r\n if ((n -= n % 1) > 0) for (r = \"\", n > 10 && (n = 10); r.length < n; r += \" \") ;\r\n } else s == g && (r = n.length <= 10 ? n : n.slice(0, 10));\r\n return _(\"\", (c = {}, c[\"\"] = t, c), o, i, r, \"\", [])\r\n }\r\n }\r\n if (!n(\"json-parse\")) {\r\n var P, R, N = String.fromCharCode,\r\n O = {92: \"\\\\\", 34: '\"', 47: \"/\", 98: \"\\b\", 116: \"\t\", 110: \"\\n\", 102: \"\\f\", 114: \"\\r\"},\r\n U = function () {\r\n throw P = R = null, SyntaxError()\r\n }, q = function () {\r\n for (var t, e, n, r, o, i = R, s = i.length; s > P;) switch (o = i.charCodeAt(P)) {\r\n case 9:\r\n case 10:\r\n case 13:\r\n case 32:\r\n P++;\r\n break;\r\n case 123:\r\n case 125:\r\n case 91:\r\n case 93:\r\n case 58:\r\n case 44:\r\n return t = b ? i.charAt(P) : i[P], P++, t;\r\n case 34:\r\n for (t = \"@\", P++; s > P;) if (o = i.charCodeAt(P), 32 > o) U(); else if (92 == o) switch (o = i.charCodeAt(++P)) {\r\n case 92:\r\n case 34:\r\n case 47:\r\n case 98:\r\n case 116:\r\n case 110:\r\n case 102:\r\n case 114:\r\n t += O[o], P++;\r\n break;\r\n case 117:\r\n for (e = ++P, n = P + 4; n > P; P++) o = i.charCodeAt(P), o >= 48 && 57 >= o || o >= 97 && 102 >= o || o >= 65 && 70 >= o || U();\r\n t += N(\"0x\" + i.slice(e, P));\r\n break;\r\n default:\r\n U()\r\n } else {\r\n if (34 == o) break;\r\n for (o = i.charCodeAt(P), e = P; o >= 32 && 92 != o && 34 != o;) o = i.charCodeAt(++P);\r\n t += i.slice(e, P)\r\n }\r\n if (34 == i.charCodeAt(P)) return P++, t;\r\n U();\r\n default:\r\n if (e = P, 45 == o && (r = !0, o = i.charCodeAt(++P)), o >= 48 && 57 >= o) {\r\n for (48 == o && (o = i.charCodeAt(P + 1), o >= 48 && 57 >= o) && U(), r = !1; s > P && (o = i.charCodeAt(P), o >= 48 && 57 >= o); P++) ;\r\n if (46 == i.charCodeAt(P)) {\r\n for (n = ++P; s > n && (o = i.charCodeAt(n), o >= 48 && 57 >= o); n++) ;\r\n n == P && U(), P = n\r\n }\r\n if (o = i.charCodeAt(P), 101 == o || 69 == o) {\r\n for (o = i.charCodeAt(++P), (43 == o || 45 == o) && P++, n = P; s > n && (o = i.charCodeAt(n), o >= 48 && 57 >= o); n++) ;\r\n n == P && U(), P = n\r\n }\r\n return +i.slice(e, P)\r\n }\r\n if (r && U(), \"true\" == i.slice(P, P + 4)) return P += 4, !0;\r\n if (\"false\" == i.slice(P, P + 5)) return P += 5, !1;\r\n if (\"null\" == i.slice(P, P + 4)) return P += 4, null;\r\n U()\r\n }\r\n return \"$\"\r\n }, D = function (t) {\r\n var e, n;\r\n if (\"$\" == t && U(), \"string\" == typeof t) {\r\n if (\"@\" == (b ? t.charAt(0) : t[0])) return t.slice(1);\r\n if (\"[\" == t) {\r\n for (e = []; t = q(), \"]\" != t; n || (n = !0)) n && (\",\" == t ? (t = q(), \"]\" == t && U()) : U()), \",\" == t && U(), e.push(D(t));\r\n return e\r\n }\r\n if (\"{\" == t) {\r\n for (e = {}; t = q(), \"}\" != t; n || (n = !0)) n && (\",\" == t ? (t = q(), \"}\" == t && U()) : U()), (\",\" == t || \"string\" != typeof t || \"@\" != (b ? t.charAt(0) : t[0]) || \":\" != q()) && U(), e[t.slice(1)] = D(q());\r\n return e\r\n }\r\n U()\r\n }\r\n return t\r\n }, I = function (t, e, n) {\r\n var r = L(t, e, n);\r\n r === s ? delete t[e] : t[e] = r\r\n }, L = function (t, e, n) {\r\n var r, o = t[e];\r\n if (\"object\" == typeof o && o) if (a.call(o) == m) for (r = o.length; r--;) I(o, r, n); else i(o, function (t) {\r\n I(o, t, n)\r\n });\r\n return n.call(t, e, o)\r\n };\r\n u.parse = function (t, e) {\r\n var n, r;\r\n return P = 0, R = \"\" + t, n = D(q()), \"$\" != q() && U(), P = R = null, e && a.call(e) == l ? L((r = {}, r[\"\"] = n, r), \"\", e) : n\r\n }\r\n }\r\n }\r\n c && t(function () {\r\n return u\r\n })\r\n }(this)\r\n }, {}],\r\n 48: [function (t, e) {\r\n function n(t, e) {\r\n var n = [];\r\n e = e || 0;\r\n for (var r = e || 0; r < t.length; r++) n[r - e] = t[r];\r\n return n\r\n }\r\n\r\n e.exports = n\r\n }, {}]\r\n }, {}, [1])(1)\r\n}\r\n","import { io } from 'socket.io-client'\r\nimport type { SocketTyped } from '@/types/socket'\r\n\r\nconst importModules: Record<string, { default?: unknown }> = import.meta.glob(\r\n './v*.js',\r\n { eager: true }\r\n)\r\n\r\nconst SOCKET_NAME_REGEX = /v\\d+_\\d+_\\d+/\r\n\r\nexport type TypedSocketIo = (...args: Parameters<typeof io>) => SocketTyped\r\n\r\nexport type SocketIoFn = () => TypedSocketIo\r\n\r\nfunction isSocketIoFn (socket: unknown): socket is SocketIoFn {\r\n return typeof socket === 'function'\r\n}\r\n\r\nconst sockets = Object.entries(importModules)\r\n .reduce<Record<string, TypedSocketIo>>(\r\n (acc, currentValue) => {\r\n const module = currentValue[1].default\r\n const moduleName = currentValue[0].match(SOCKET_NAME_REGEX)?.[0]\r\n\r\n if (isSocketIoFn(module) && moduleName) {\r\n acc[moduleName] = module()\r\n }\r\n\r\n return acc\r\n },\r\n {}\r\n )\r\n\r\nconst getSocketVersion = (version: string) => {\r\n if (version in sockets) {\r\n return sockets[version]\r\n } else {\r\n throw new Error(`Socket version ${version} not found`)\r\n }\r\n}\r\n\r\nconst makeSocketVersion = (version: string, ...args: Parameters<typeof io>) => {\r\n const socket = getSocketVersion(version)\r\n\r\n return socket(...args)\r\n}\r\n\r\nexport default {\r\n ...sockets,\r\n getSocketVersion,\r\n makeSocketVersion\r\n}\r\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum CallStatusEnum {\n RINGING = 'Ringing',\n TALKING = 'Talking',\n DIALING = 'Dialing',\n HOLD = 'Hold',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum CallTypeEnum {\n INCOMING = 'Incoming',\n OUTGOING = 'Outgoing',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum ConnectionStatusEnum {\n CONNECTED = 'connected',\n DISCONNECTED = 'disconnected',\n TRYING_TO_CONNECT = 'tryingToConnect',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum DialerTypeEnum {\n AUTOMATIC = 'Automatic',\n IVR = 'IVR',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum DirectionEnum {\n INCOMINC = 'Incoming',\n OUTGOING = 'Outgoing',\n SPY = 'Spy',\n CLICK2CALL = 'Click2Call',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum DoNotCallMeStatusCodeEnum {\n RESPONSE_FROM_API_VALID = 'RESPONSE_FROM_API_VALID',\n RESPONSE_FROM_API_INVALID = 'RESPONSE_FROM_API_INVALID',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum EventsEnum {\n ALL_DIALER_STATUS = 'AllDialersStatus',\n ALL_EXTENSION_STATUS = 'AllExtensionsStatus',\n ALL_USERS_STATUS = 'AllUsersStatus',\n CONNECT = 'connect',\n DISCONNECT = 'disconnect',\n CONNECT_ERROR_EVENT = 'connect_error',\n EXTENSION_EVENT = 'ExtensionEvent',\n KEEP_ALIVE = 'keepalive',\n KEEP_ALIVE_RESPONSE = 'keepaliveResponse',\n LOGIN_STATUS = 'loginStatus',\n LOGIN_SUCCESS = 'loginSuccess',\n QUEUE_EVENT = 'QueueEvent',\n ONLINE_STATUS_EVENT = 'onlineStatusEvent',\n DIALER_EVENT = 'DialerEvent',\n EXTENSIONS_UPDATED = 'ExtensionsUpdated',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum ExtensionEventReasonEnum {\n NEWCALL = 'NEWCALL',\n ANSWER = 'ANSWER',\n HOLD = 'HOLD',\n UNHOLD = 'UNHOLD',\n HANGUP = 'HANGUP',\n USER_STATUS_UPDATE = 'userStatusUpdate',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum ExtensionHangupCauseEnum {\n NORMAL_HANGUP = 'Normal hangup',\n USER_BUSY = 'User busy',\n CALL_REJECTED = 'Call Rejected',\n UNALLOCATED_NUMBER = 'Unallocated (unassigned) number',\n UNKNOWN = 'Unknown',\n NO_USER_RESPONDING = 'No user responding',\n USER_ALERTING = 'User alerting, no answer',\n ANSWERED_ELSEWHERE = 'Answered elsewhere',\n}","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum QueueEventReasonEnum {\n ANSWER = 'ANSWER',\n ABANDONED = 'ABANDONED',\n EXIT = 'EXIT',\n JOIN = 'JOIN',\n}","import { EventsEnum, Extension, ExtensionEventReasonEnum } from '@voicenter-team/real-time-events-types'\r\nimport { EventDataMap, EventDataMapExtended } from '@/types/events'\r\nimport { CurrentCallUTCExtended, ExtensionCallSDK, ExtensionEventExtended, ExtensionUTCExtended } from '@/types/sdk-extension-extended'\r\nimport type { ExtensionCall } from '@voicenter-team/real-time-events-types/dist/models/ExtensionCall'\r\n\r\ntype NumericKeys<T> = {\r\n [P in keyof T]: T[P] extends number\r\n ? P extends string\r\n ? P\r\n : never\r\n : never\r\n}[keyof T]\r\n\r\ntype PropertyWithUTC<T extends string> = `${T}_UTC` | `${T}_UTC_CLIENT`\r\n\r\ntype WithUTCProperties<T extends object, K extends NumericKeys<T>> = T & {\r\n [P in K as PropertyWithUTC<P & string>]: number\r\n}\r\n\r\nexport default class EventsHandler {\r\n public static mapExtensionEvent (data: EventDataMap[EventsEnum.EXTENSION_EVENT]): EventDataMapExtended[EventsEnum.EXTENSION_EVENT] {\r\n const reason = data.reason\r\n let dataExtended: undefined | ExtensionEventExtended\r\n let currentCallExtended: undefined | CurrentCallUTCExtended\r\n\r\n if (data.data.currentCall) {\r\n currentCallExtended = this.mapExtensionCall(data, data.data.currentCall)\r\n }\r\n\r\n const extensionExtended = this.mapExtensionData(data, data.data)\r\n\r\n if (reason === ExtensionEventReasonEnum.HANGUP) {\r\n dataExtended = {\r\n ...data,\r\n reason,\r\n data: {\r\n ...extensionExtended,\r\n currentCall: currentCallExtended ?\r\n {\r\n ...currentCallExtended,\r\n duration: currentCallExtended.callAnswered_UTC_CLIENT ? Date.now() - currentCallExtended.callAnswered_UTC_CLIENT : 0\r\n }\r\n : undefined,\r\n calls: data.data.calls?.map((call) => {\r\n const callExtended = this.mapExtensionCall(data, call)\r\n\r\n return {\r\n ...callExtended,\r\n duration: callExtended.callAnswered_UTC_CLIENT ? Date.now() - callExtended.callAnswered_UTC_CLIENT : 0\r\n }\r\n })\r\n }\r\n }\r\n } else {\r\n dataExtended = {\r\n ...data,\r\n data: {\r\n ...extensionExtended,\r\n currentCall: currentCallExtended,\r\n calls: data.data.calls?.map((call) => this.mapExtensionCall(data, call))\r\n },\r\n reason\r\n }\r\n }\r\n\r\n return dataExtended\r\n }\r\n\r\n public static mapAllExtensionStatus (data: EventDataMap[EventsEnum.ALL_EXTENSION_STATUS]): EventDataMapExtended[EventsEnum.ALL_EXTENSION_STATUS] {\r\n return {\r\n ...data,\r\n extensions: data.extensions.map((extension) => {\r\n return {\r\n ...this.mapExtensionData(data, extension),\r\n currentCall: extension.currentCall\r\n ? this.mapExtensionCall(data, extension.currentCall)\r\n : undefined,\r\n calls: extension.calls?.map((call) => this.mapExtensionCall(data, call))\r\n }\r\n })\r\n }\r\n }\r\n\r\n public static mapExtensionData (data: EventDataMap[EventsEnum.ALL_EXTENSION_STATUS] | EventDataMap[EventsEnum.EXTENSION_EVENT], extension: Extension): ExtensionUTCExtended {\r\n return this.configureUTCForObject(\r\n extension,\r\n [\r\n {\r\n key: 'lastAnsweredCallEventEpoch',\r\n format: 'sec'\r\n },\r\n {\r\n key: 'lastCallEventEpoch',\r\n format: 'sec'\r\n },\r\n {\r\n key: 'lastHangupCallEpoch',\r\n format: 'sec'\r\n },\r\n {\r\n key: 'representativeUpdated',\r\n format: 'ms'\r\n }\r\n ],\r\n data.servertime,\r\n data.servertimeoffset\r\n )\r\n }\r\n\r\n public static mapExtensionCall (data: EventDataMap[EventsEnum.ALL_EXTENSION_STATUS] | EventDataMap[EventsEnum.EXTENSION_EVENT], call: ExtensionCall): ExtensionCallSDK {\r\n return this.configureUTCForObject(\r\n call,\r\n [\r\n {\r\n key: 'callAnswered',\r\n format: 'sec'\r\n },\r\n {\r\n key: 'callStarted',\r\n format: 'sec'\r\n }\r\n ],\r\n data.servertime,\r\n data.servertimeoffset\r\n )\r\n }\r\n\r\n public static mapQueueEvent (data: EventDataMap[EventsEnum.QUEUE_EVENT]): EventDataMapExtended[EventsEnum.QUEUE_EVENT] {\r\n return {\r\n ...data,\r\n data: {\r\n ...data.data,\r\n Calls: data.data.Calls?.map(call => {\r\n return this.configureUTCForObject(\r\n call,\r\n [\r\n {\r\n key: 'JoinTimeStamp',\r\n format: 'sec'\r\n }\r\n ],\r\n data.servertime,\r\n data.servertimeoffset\r\n )\r\n })\r\n }\r\n }\r\n }\r\n\r\n private static assignProperty <T extends object, K extends string> (obj: T, key: K, value: number) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (obj as any)[key] = value\r\n }\r\n\r\n /**\r\n * Configures UTC for the object\r\n *\r\n * @param data - object to configure UTC for\r\n * @param properties - properties of the object to configure UTC for\r\n * @param servertime - server time in seconds\r\n * @param servertimeoffset - server time offset in minutes\r\n * @private\r\n */\r\n private static configureUTCForObject<T extends object, K extends NumericKeys<T>> (\r\n data: T,\r\n properties: Array<{ key: K, format: 'sec' | 'ms' }>,\r\n servertime: number,\r\n servertimeoffset: number\r\n ): WithUTCProperties<T, K> {\r\n const serverTimeUTC: number = (servertime - servertimeoffset * 60) * 1000\r\n const diffServerAndClient: number = Date.now() - serverTimeUTC\r\n\r\n type UTCProps = {\r\n [P in K]: number\r\n } & {\r\n [P in K as `${P}_UTC`]: number\r\n } & {\r\n [P in K as `${P}_UTC_CLIENT`]: number\r\n }\r\n\r\n const extendedProperties: Partial<UTCProps> = {}\r\n\r\n properties.forEach((property) => {\r\n const value = data[property.key]\r\n const key = property.key\r\n\r\n if (value !== 0 && typeof value === 'number' && !isNaN(value)) {\r\n let valueFormatted: number = value\r\n\r\n if (property.format === 'ms') {\r\n valueFormatted = Math.floor(valueFormatted / 1000)\r\n }\r\n\r\n const baseTime: number = (valueFormatted - servertimeoffset * 60) * 1000\r\n\r\n this.assignProperty(extendedProperties, `${key}_UTC`, baseTime)\r\n this.assignProperty(extendedProperties, `${key}_UTC_CLIENT`, baseTime + diffServerAndClient)\r\n } else {\r\n this.assignProperty(extendedProperties, `${key}_UTC`, 0)\r\n this.assignProperty(extendedProperties, `${key}_UTC_CLIENT`, 0)\r\n }\r\n })\r\n\r\n return {\r\n ...data,\r\n ...extendedProperties,\r\n } as WithUTCProperties<T, K>\r\n }\r\n}\r\n","export enum ServerListenerEventsEnum {\r\n UPDATE_MONITORED_EXTENSIONS = 'updateMonitoredExtensions',\r\n KEEP_ALIVE = 'keepAlive'\r\n}\r\n","import { ManagerOptions, Socket, SocketOptions } from 'socket.io-client'\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport sockets, { TypedSocketIo } from '@/classes/socket-io/versions'\r\nimport { SocketTyped } from '@/types/socket'\r\nimport { ServerParameter } from '@/classes/events-sdk/events-sdk.types'\r\nimport {\r\n ConnectionStatusEnum,\r\n EventsEnum\r\n} from '@voicenter-team/real-time-events-types'\r\nimport type {\r\n AllDialersStatusEvent,\r\n AllExtensionStatusEvent,\r\n DialerEvent,\r\n ExtensionEvent,\r\n ExtensionsUpdated,\r\n KeepAliveResponseEvent,\r\n LoginStatusEvent,\r\n LoginSuccessEvent,\r\n QueueEvent\r\n} from '@voicenter-team/real-time-events-types'\r\nimport { StorageClass } from '@/classes/storage/storage.class'\r\nimport EventsHandler from '@/classes/socket-io/events-handler'\r\nimport { ServerListenerEventsEnum } from '@/enum/socket.enum'\r\nimport { ActionNameEnum, LevelEnum, LogTypeEnum } from '@voicenter-team/socketio-storage-logger'\r\n\r\n// import { LoggerTypeEnum } from '@/enum/logger.enum'\r\n\r\nexport class SocketIoClass {\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n }\r\n\r\n public io: SocketTyped | undefined\r\n public ioFunction: TypedSocketIo | undefined\r\n public lastEventTimestamp = new Date().getTime()\r\n public doReconnect = true\r\n private keepAliveInterval: ReturnType<typeof setInterval> | undefined\r\n private keepReconnectInterval: ReturnType<typeof setInterval> | undefined\r\n private connected = false\r\n\r\n public getSocketIoFunction (Client: string) {\r\n const parsedArray = Client.split('v=')\r\n\r\n const version = 'v'\r\n .concat(parsedArray[parsedArray.length - 1])\r\n .replaceAll('.', '_')\r\n\r\n this.ioFunction = sockets.getSocketVersion(version)\r\n }\r\n\r\n public initSocketConnection () {\r\n const token = this.eventsSdkClass.authClass.token\r\n\r\n const protocol = this.eventsSdkClass.options.protocol\r\n\r\n const server = this.eventsSdkClass.server\r\n\r\n try {\r\n const domain = server ? server.Domain : this.eventsSdkClass.URL\r\n\r\n const url = server ? `${protocol}://${domain}` : this.eventsSdkClass.URL\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(\r\n EventsEnum.ONLINE_STATUS_EVENT,\r\n {\r\n attemptToConnect: url,\r\n connectionStatus: ConnectionStatusEnum.TRYING_TO_CONNECT\r\n }\r\n )\r\n\r\n const options: Partial<ManagerOptions & SocketOptions> = {\r\n reconnection: false,\r\n upgrade: false,\r\n transports: [ 'websocket' ],\r\n forceNew: true,\r\n query: {\r\n token\r\n },\r\n timeout: this.eventsSdkClass.options.timeout\r\n }\r\n\r\n if (token) {\r\n options.query = {\r\n token\r\n }\r\n }\r\n\r\n if (this.ioFunction && url) {\r\n this.io = this.ioFunction(url, options)\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `${this.eventsSdkClass.options.loggerConfig.system} tries to connect to WS server ${domain}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Switching Protocols',\r\n StatusCode: 101,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n } else {\r\n throw new Error('Socket server url no defined')\r\n }\r\n } catch (error) {\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `${error}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Connection error',\r\n StatusCode: 500,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n }\r\n }\r\n\r\n public clearKeepAliveInterval () {\r\n if (this.keepAliveInterval) {\r\n clearInterval(this.keepAliveInterval)\r\n }\r\n }\r\n\r\n public initKeepAlive () {\r\n this.clearKeepAliveInterval()\r\n\r\n this.keepAliveInterval = setInterval(async () => {\r\n const now = new Date().getTime()\r\n\r\n // if (now > this.lastEventTimestamp + delta) {\r\n // this.eventsSdkClass.connect(ServerParameter.DEFAULT, true)\r\n //\r\n // return\r\n // }\r\n //\r\n // if (!this.io) {\r\n // this.initSocketConnection()\r\n //\r\n // return\r\n // }\r\n\r\n if (now > this.lastEventTimestamp + this.eventsSdkClass.options.keepAliveTimeout && this.io && this.eventsSdkClass.authClass.token) {\r\n this.eventsSdkClass.emit(ServerListenerEventsEnum.KEEP_ALIVE, this.eventsSdkClass.authClass.token)\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Keep alive event emitted with this token: ${this.eventsSdkClass.authClass.token}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n\r\n return\r\n }\r\n\r\n }, this.eventsSdkClass.options.keepAliveTimeout)\r\n }\r\n\r\n public closeAllConnections () {\r\n if (this.io) {\r\n this.io.close()\r\n\r\n this.io?.disconnect()\r\n\r\n this.io = undefined\r\n }\r\n\r\n StorageClass.clearSessionStorage()\r\n }\r\n\r\n public initSocketEvents () {\r\n if (!this.io) {\r\n return\r\n }\r\n\r\n this.io\r\n .on(EventsEnum.LOGIN_SUCCESS, (data) => this.onLoginSuccessEvent(data))\r\n .on(EventsEnum.QUEUE_EVENT, (data) => this.onQueueEvent(data))\r\n .on(EventsEnum.EXTENSION_EVENT, (data) => this.onExtensionEvent(data))\r\n .on(EventsEnum.DIALER_EVENT, (data) => this.onDialerEvent(data))\r\n .on(EventsEnum.LOGIN_STATUS, (data) => this.onLoginStatusEvent(data))\r\n .on(EventsEnum.ALL_EXTENSION_STATUS, (data) => this.onAllExtensionStatus(data))\r\n .on(EventsEnum.ALL_DIALER_STATUS, (data) => this.onAllDialerStatus(data))\r\n .on(EventsEnum.KEEP_ALIVE_RESPONSE, (data) => this.onKeepAliveResponse(data))\r\n .on(EventsEnum.EXTENSIONS_UPDATED, (data) => this.onExtensionsUpdatedEvent(data))\r\n .on(EventsEnum.CONNECT, () => this.onConnect())\r\n .on(EventsEnum.DISCONNECT, (data) => this.onDisconnect(data))\r\n .on(EventsEnum.CONNECT_ERROR_EVENT, (data) => this.onConnectError(data))\r\n }\r\n\r\n private onLoginSuccessEvent (data: LoginSuccessEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.LOGIN_SUCCESS, data)\r\n }\r\n\r\n private onQueueEvent (data: QueueEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.QUEUE_EVENT, EventsHandler.mapQueueEvent(data))\r\n }\r\n\r\n private onExtensionEvent (data: ExtensionEvent) {\r\n const dataExtended = EventsHandler.mapExtensionEvent(data)\r\n\r\n if (dataExtended) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.EXTENSION_EVENT, dataExtended)\r\n }\r\n }\r\n\r\n private onDialerEvent (data: DialerEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.DIALER_EVENT, data)\r\n }\r\n\r\n private onLoginStatusEvent (data: LoginStatusEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.LOGIN_STATUS, data)\r\n }\r\n\r\n private onAllExtensionStatus (data: AllExtensionStatusEvent) {\r\n const dataExtended = EventsHandler.mapAllExtensionStatus(data)\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ALL_EXTENSION_STATUS, dataExtended)\r\n }\r\n\r\n private onAllDialerStatus (data: AllDialersStatusEvent) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ALL_DIALER_STATUS, data)\r\n }\r\n\r\n private onKeepAliveResponse (data: KeepAliveResponseEvent) {\r\n if (data.errorCode) {\r\n this.initSocketConnection()\r\n\r\n return\r\n }\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Keep alive response: ${data}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Successful',\r\n StatusCode: 200,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n\r\n if (this.connected) {\r\n this.lastEventTimestamp = new Date().getTime()\r\n } else {\r\n this.initSocketConnection()\r\n }\r\n }\r\n\r\n private onExtensionsUpdatedEvent (data: ExtensionsUpdated) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.EXTENSIONS_UPDATED, data)\r\n }\r\n\r\n private onConnect () {\r\n if (this.keepReconnectInterval) {\r\n clearInterval(this.keepReconnectInterval)\r\n }\r\n\r\n this.connected = true\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ONLINE_STATUS_EVENT, {\r\n connectionStatus: ConnectionStatusEnum.CONNECTED\r\n })\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Sdk connected to the socket server ${this.eventsSdkClass.server && this.eventsSdkClass.server.Domain ? this.eventsSdkClass.server.Domain : this.eventsSdkClass.URL}`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Connection established',\r\n StatusCode: 200,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n }\r\n\r\n private onDisconnect (reason: Socket.DisconnectReason) {\r\n this.connected = false\r\n\r\n this.closeAllConnections()\r\n\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ONLINE_STATUS_EVENT, {\r\n connectionStatus: this.doReconnect ? ConnectionStatusEnum.TRYING_TO_CONNECT : ConnectionStatusEnum.DISCONNECTED\r\n })\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Sdk disconnected from the socket server ${this.eventsSdkClass.server && this.eventsSdkClass.server.Domain ? this.eventsSdkClass.server.Domain : this.eventsSdkClass.URL} (${reason})`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Connection closed',\r\n StatusCode: 200,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n\r\n if (!this.doReconnect) {\r\n return\r\n }\r\n\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n }\r\n\r\n private onConnectError (data: Error) {\r\n this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.ONLINE_STATUS_EVENT, {\r\n connectionStatus: this.doReconnect ? ConnectionStatusEnum.TRYING_TO_CONNECT : ConnectionStatusEnum.DISCONNECTED\r\n })\r\n\r\n this.eventsSdkClass.loggerClass.log({\r\n Message: `Sdk tries to connect to the socket server ${this.eventsSdkClass.URL} but error (${data})`,\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Connection attempt error',\r\n StatusCode: 500,\r\n Level: LevelEnum.ERROR,\r\n LogType: LogTypeEnum.ERROR\r\n })\r\n\r\n setTimeout(\r\n () => {\r\n this.eventsSdkClass.connect(ServerParameter.NEXT)\r\n },\r\n this.eventsSdkClass.options.reconnectionDelay\r\n )\r\n }\r\n}\r\n","import { Socket } from 'socket.io-client'\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\nimport StorageLogger, {\r\n ActionNameEnum,\r\n LevelEnum,\r\n LogTypeEnum\r\n} from '@voicenter-team/socketio-storage-logger'\r\nimport type {\r\n LoggerDataPartial\r\n} from '@voicenter-team/socketio-storage-logger'\r\n\r\nexport class LoggerClass {\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n }\r\n\r\n private storageLogger: StorageLogger | undefined\r\n\r\n public init () {\r\n if (!this.eventsSdkClass.options.useLogger) {\r\n return\r\n }\r\n\r\n if (this.eventsSdkClass.options.storageLoggerInstance) {\r\n this.storageLogger = this.eventsSdkClass.options.storageLoggerInstance\r\n\r\n return\r\n }\r\n\r\n let socket: Socket | undefined\r\n\r\n if (this.eventsSdkClass.options.loggerSocketConnection) {\r\n socket = this.eventsSdkClass.options.loggerSocketConnection\r\n }\r\n\r\n if (this.eventsSdkClass.socketIoClass.ioFunction && !socket) {\r\n socket = this.eventsSdkClass.socketIoClass.ioFunction(\r\n this.eventsSdkClass.options.loggerServer,\r\n this.eventsSdkClass.options.loggerConnectOptions\r\n )\r\n }\r\n\r\n if (socket) {\r\n this.storageLogger = new StorageLogger<LoggerDataPartial>({\r\n socket,\r\n loggerOptions: this.eventsSdkClass.options.loggerConfig\r\n })\r\n }\r\n }\r\n\r\n stop () {\r\n if (!this.storageLogger) {\r\n return\r\n }\r\n\r\n this.storageLogger.stop()\r\n }\r\n\r\n public log (data: LoggerDataPartial) {\r\n if (this.storageLogger) {\r\n if (data.Level === LevelEnum.INFO) {\r\n this.storageLogger.log(data)\r\n } else if (data.Level === LevelEnum.ERROR) {\r\n this.storageLogger.error(data)\r\n }\r\n } else {\r\n if (data.Level === LevelEnum.INFO) {\r\n console.log(data)\r\n } else if (data.Level === LevelEnum.ERROR) {\r\n console.error(data)\r\n }\r\n }\r\n }\r\n\r\n public sdkInitializedLog () {\r\n const replacedOptions = {\r\n ...this.eventsSdkClass.options,\r\n token: 'CENSORED',\r\n password: 'CENSORED'\r\n }\r\n\r\n this.log({\r\n Message: 'Sdk initialized with provided options',\r\n Body: JSON.stringify(replacedOptions, this.eventsSdkClass.getCircularReplacer()),\r\n ActionName: ActionNameEnum.WSCONNECT,\r\n isShowClient: false,\r\n Status: 'Sdk initialized',\r\n StatusCode: 200,\r\n Level: LevelEnum.INFO,\r\n LogType: LogTypeEnum.INFO\r\n })\r\n }\r\n}\r\n","import type {\r\n EventCallbackListenersMap,\r\n EventData,\r\n EventSpecificCallback,\r\n EventTypeData,\r\n EventTypeNames,\r\n GenericEventWrapper,\r\n} from '@/types/events'\r\nimport { EventsEnum } from '@voicenter-team/real-time-events-types'\r\nimport EventsSdkClass from '@/classes/events-sdk/events-sdk.class'\r\n\r\nexport class EventEmitterClass {\r\n private listeners: EventCallbackListenersMap = {\r\n [EventsEnum.ALL_EXTENSION_STATUS]: [],\r\n [EventsEnum.ALL_DIALER_STATUS]: [],\r\n [EventsEnum.ALL_USERS_STATUS]: [],\r\n [EventsEnum.QUEUE_EVENT]: [],\r\n [EventsEnum.EXTENSION_EVENT]: [],\r\n [EventsEnum.DIALER_EVENT]: [],\r\n [EventsEnum.LOGIN_SUCCESS]: [],\r\n [EventsEnum.LOGIN_STATUS]: [],\r\n [EventsEnum.KEEP_ALIVE_RESPONSE]: [],\r\n [EventsEnum.ONLINE_STATUS_EVENT]: [],\r\n [EventsEnum.EXTENSIONS_UPDATED]: []\r\n }\r\n private allListeners: Array<(data: GenericEventWrapper) => void> = []\r\n\r\n constructor (private readonly eventsSdkClass: EventsSdkClass) {\r\n this.eventsSdkClass = eventsSdkClass\r\n }\r\n\r\n public on (event: unknown, callback: unknown) {\r\n if (event === '*') {\r\n this.allListeners.push(callback as (data: GenericEventWrapper) => void)\r\n } else {\r\n // Handle specific event type with strong typing\r\n this.listeners[event as EventTypeNames].push(callback as EventSpecificCallback<EventTypeNames>)\r\n }\r\n }\r\n\r\n public off<T extends EventTypeNames> (event: T, callback: EventSpecificCallback<T>): void\r\n public off (event: '*', callback: (data: GenericEventWrapper) => void): void\r\n public off (event: unknown, callback: unknown) {\r\n if (event === '*') {\r\n this.allListeners = this.allListeners.filter(item => item !== callback)\r\n } else {\r\n const data = this.listeners[event as EventTypeNames] as Array<EventSpecificCallback<EventTypeNames>>\r\n const filtered = data.filter(item => item !== callback)\r\n\r\n this.listeners = {\r\n ...this.listeners,\r\n [event as EventTypeNames]: filtered\r\n }\r\n }\r\n }\r\n\r\n public emit <T extends EventTypeNames> (event: T, data: EventTypeData<T>) {\r\n this.eventsSdkClass.socketIoClass.lastEventTimestamp = new Date().getTime()\r\n\r\n this.listeners[event].forEach(callback => callback({\r\n name: event,\r\n data\r\n }))\r\n\r\n const allEventData: GenericEventWrapper = {\r\n name: event,\r\n data: data as EventData\r\n }\r\n\r\n this.allListeners.forEach((callback) => callback(allEventData))\r\n }\r\n}\r\n","import AuthClass from '@/classes/auth/auth.class'\r\nimport { eventsSdkDefaultOptions } from '@/classes/events-sdk/events-sdk-default-options'\r\nimport { SocketIoClass } from '@/classes/socket-io/socket-io.class'\r\nimport {\r\n EventsSdkOptionsBase,\r\n Server,\r\n ServerParameter\r\n} from '@/classes/events-sdk/events-sdk.types'\r\nimport type {\r\n EventsSdkOptionsClient,\r\n EventsSdkOptionsMain\r\n} from '@/classes/events-sdk/events-sdk.types'\r\nimport type {\r\n ServerEmitEventCallbackRegistry,\r\n ServerEmitEventTypeNames,\r\n SocketTyped\r\n} from '@/types/socket'\r\nimport type {\r\n EventSpecificCallback,\r\n EventTypeNames,\r\n GenericEventWrapper,\r\n} from '@/types/events'\r\nimport { LoggerClass } from '@/classes/logger/logger.class'\r\nimport { EventEmitterClass } from '@/classes/event-emitter/event-emitter.class'\r\n\r\nclass EventsSdkClass {\r\n public readonly options: EventsSdkOptionsMain & EventsSdkOptionsBase\r\n public servers: Server[] = []\r\n public URLList: string[] = []\r\n public server: Server | undefined\r\n public URL: string | undefined\r\n public socket: SocketTyped | undefined\r\n private mainServer: Server | undefined\r\n\r\n private alreadyAttemptedOtherServers: Array<number | string> = []\r\n\r\n public authClass = new AuthClass(this)\r\n public socketIoClass = new SocketIoClass(this)\r\n public loggerClass = new LoggerClass(this)\r\n public eventEmitterClass = new EventEmitterClass(this)\r\n\r\n constructor (options: EventsSdkOptionsClient) {\r\n this.options = {\r\n ...eventsSdkDefaultOptions,\r\n ...options\r\n }\r\n }\r\n\r\n public on<T extends EventTypeNames> (event: T, callback: EventSpecificCallback<T>): void\r\n public on (event: '*', callback: (data: GenericEventWrapper) => void): void\r\n public on (event: unknown, callback: unknown): void {\r\n this.eventEmitterClass.on(event, callback)\r\n }\r\n\r\n public emit <T extends ServerEmitEventTypeNames> (event: T, ...args: Parameters<ServerEmitEventCallbackRegistry[T]>) {\r\n if (this.socketIoClass.io) {\r\n this.socketIoClass.io.emit(event, ...args)\r\n }\r\n }\r\n\r\n public connect (serverParameter: ServerParameter) {\r\n if (serverParameter === ServerParameter.MAIN) {\r\n this.findMainServer()\r\n }\r\n\r\n if (serverParameter === ServerParameter.NEXT) {\r\n this.findNextServer()\r\n }\r\n\r\n this.socketIoClass.doReconnect = true\r\n\r\n this.loggerClass.init()\r\n\r\n this.socketIoClass.initSocketConnection()\r\n\r\n this.socketIoClass.initSocketEvents()\r\n\r\n this.socketIoClass.initKeepAlive()\r\n }\r\n\r\n public disconnect () {\r\n this.socketIoClass.doReconnect = false\r\n\r\n this.socketIoClass.closeAllConnections()\r\n this.loggerClass.stop()\r\n }\r\n\r\n public clearKeepAliveInterval () {\r\n this.socketIoClass.clearKeepAliveInterval()\r\n }\r\n\r\n private findMainServer () {\r\n if (this.servers.length) {\r\n this.mainServer = this.servers.reduce((prev, cur) => {\r\n return cur.Priority > prev.Priority ? cur : prev\r\n })\r\n\r\n this.server = this.mainServer\r\n } else {\r\n if (this.URLList.length) {\r\n this.URL = this.URLList[0]\r\n }\r\n }\r\n }\r\n\r\n private findNextServer () {\r\n if (this.servers.length && this.server) {\r\n if (this.server.Priority === this.mainServer!.Priority) {\r\n let filteredServers = this.servers.filter(\r\n server =>\r\n server.Priority !== this.mainServer!.Priority &&\r\n this.alreadyAttemptedOtherServers.indexOf(server.Priority) + 1 === 0\r\n )\r\n\r\n if (!filteredServers.length) {\r\n this.alreadyAttemptedOtherServers = []\r\n\r\n filteredServers = this.servers.filter(\r\n server =>\r\n server.Priority !== this.mainServer!.Priority &&\r\n this.alreadyAttemptedOtherServers.indexOf(server.Priority) + 1 === 0\r\n )\r\n }\r\n\r\n if (filteredServers.length) {\r\n this.server = filteredServers.reduce((prev, cur) => {\r\n return cur.Priority > prev.Priority ? cur : prev\r\n })\r\n\r\n this.alreadyAttemptedOtherServers.push(this.server.Priority)\r\n }\r\n } else {\r\n this.server = this.mainServer!\r\n }\r\n } else {\r\n if (this.URLList.length) {\r\n if (this.URL === this.URLList[0]) {\r\n let filteredServers = this.URLList.filter(\r\n url =>\r\n url !== this.URLList[0] &&\r\n this.alreadyAttemptedOtherServers.indexOf(url) + 1 === 0\r\n )\r\n\r\n if (!filteredServers.length) {\r\n this.alreadyAttemptedOtherServers = []\r\n\r\n filteredServers = this.URLList.filter(\r\n url =>\r\n url !== this.URLList[0] &&\r\n this.alreadyAttemptedOtherServers.indexOf(url) + 1 === 0\r\n )\r\n }\r\n\r\n if (filteredServers.length) {\r\n this.URL = filteredServers[0]\r\n\r\n this.alreadyAttemptedOtherServers.push(this.URL)\r\n }\r\n } else {\r\n this.URL = this.URLList[0]\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async init () {\r\n const loginSessionData = await this.authClass.login()\r\n\r\n if (loginSessionData) {\r\n this.authClass.onLoginResponse(loginSessionData)\r\n }\r\n\r\n this.loggerClass.sdkInitializedLog()\r\n\r\n return true\r\n }\r\n\r\n public getCircularReplacer = () => {\r\n const seen = new WeakSet()\r\n return (key: string, value: object) => {\r\n // Custom handling for specific circular references\r\n if (key === 'socket' || key === 'io' || key === 'nsps') {\r\n return undefined\r\n }\r\n\r\n if (typeof value === 'object' && value !== null) {\r\n if (seen.has(value)) {\r\n return\r\n }\r\n seen.add(value)\r\n }\r\n return value\r\n }\r\n }\r\n\r\n public getCurrentMonitorServer (): Server | undefined {\r\n return this.server\r\n }\r\n}\r\n\r\nexport default EventsSdkClass\r\n"],"names":["base64map","crypt","n","b","i","bytes","words","hex","c","base64","triplet","j","imod4","cryptModule","charenc","str","charenc_1","isBuffer_1","obj","isBuffer","isSlowBuffer","require$$0","utf8","require$$1","require$$2","bin","md5","message","options","m","l","a","d","FF","GG","HH","II","aa","bb","cc","dd","x","s","t","md5Module","digestbytes","ServerParameter","LoginType","StorageClass","key","doParse","loginSessionKey","storageData","Dt","qt","e","O","Pt","_t","Oe","Ut","Lt","lt","r","f","Mt","$t","o","Ie","Re","ie","oe","se","ae","Ht","Xt","Wt","jt","zt","ce","h","u","p","y","N","k","_","g","v","I","Jt","X","Vt","Ve","Gt","Kt","ve","pt","ee","me","Yt","_e","dt","tr","Qt","Zt","er","Ue","yt","gt","rr","nr","xe","Te","w","Le","be","De","ir","Me","or","sr","$e","He","K","ar","Ae","Ge","vt","cr","ur","fr","hr","z","mt","lr","bt","Ee","pr","dr","Y","de","pe","yr","gr","vr","ue","Ke","mr","Be","br","C","A","E","S","R","T","G","V","ke","Xe","fe","we","Ce","wt","ye","Ct","et","J","tt","qe","wr","We","At","Et","Cr","Bt","Ar","Er","$","kt","H","Br","kr","St","Sr","Fr","Pe","Nr","te","q","rt","nt","Or","Ir","ze","Rr","it","xr","re","Tr","Dr","he","qr","Pr","_r","Ur","je","Lr","Mr","$r","Hr","Xr","ge","Je","Z","Wr","M","zr","jr","Jr","Vr","Gr","Kr","Ft","Yr","Qr","D","Zr","Nt","ot","en","tn","B","rn","nn","Se","Fe","st","on","Ot","sn","at","It","ct","Rt","an","ne","cn","un","fn","hn","W","Q","U","xt","ln","Tt","ut","F","pn","dn","le","yn","gn","P","vn","mn","ft","bn","wn","Cn","An","En","ht","Bn","Ne","Fn","kn","Nn","On","L","qn","AuthClass","eventsSdkClass","__publicField","payload","loginSessionData","loginType","externalLoginResponse","settings","prev","current","date","timeout","maxAllowedTimeout","refreshTokenResponse","url","password","token","email","body","res","data","error","ActionNameEnum","LevelEnum","LogTypeEnum","refreshTokenUrl","oldRefreshToken","eventsSdkDefaultOptions","v1_3_7","importModules","SOCKET_NAME_REGEX","isSocketIoFn","socket","sockets","acc","currentValue","module","moduleName","_a","getSocketVersion","version","sockets$1","args","CallStatusEnum","CallTypeEnum","ConnectionStatusEnum","DialerTypeEnum","DirectionEnum","DoNotCallMeStatusCodeEnum","EventsEnum","ExtensionEventReasonEnum","ExtensionHangupCauseEnum","QueueEventReasonEnum","EventsHandler","reason","dataExtended","currentCallExtended","extensionExtended","call","callExtended","_b","extension","value","properties","servertime","servertimeoffset","serverTimeUTC","diffServerAndClient","extendedProperties","property","valueFormatted","baseTime","ServerListenerEventsEnum","SocketIoClass","Client","parsedArray","protocol","server","domain","LoggerClass","StorageLogger","replacedOptions","EventEmitterClass","event","callback","item","filtered","allEventData","EventsSdkClass","seen","serverParameter","cur","filteredServers"],"mappings":"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","x_google_ignoreList":[0,1,2,3,7,12,13,14,15,16,17,18,19,20,21]}
|